Trailing-Edge
-
PDP-10 Archives
-
AP-4178E-RM
-
swskit-sources/parser.lis
There is 1 other file named parser.lis in the archive. Click here to see a list.
DATAB -- COMMAND PARSER DATA BA MACRO M1108 13-JAN-78 09:14
TABLE OF CONTENTS
36-1465 DATAB -- COMMAND PARSER IMPURE DATA BASE 7709.20
37-1586 .SSTTB -- SYNCHRONOUS SYSTEM TRAP VECTOR TABLE 7709.20
38-1637 DATAB -- DTE-20 OPERATION BUFFERS 7709.20
39-1656 DATAB -- INPUT / OUTPUT BUFFERS 7709.20
40-1679 DATAB -- DIRECTIVE PARAMETER BLOCKS 7709.20
42-1745 DATAB -- ASCII MESSAGES AND .RAD50 TABLES 7709.20
43-1783 .CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14
48-1984 .ABORT -- ABORT CURRENT OPERATION SUBROUTINE 7707.12
51-2079 .ABRTC -- THE "ABORT" COMMAND 7602.23
53-2137 .BURST -- MBOX CLOCK BURST SUBROUTINE 7601.02
55-2215 .CESCK -- SUBROUTINE TO CHECK FOR CLOCK ERROR STOP 7607.15
57-2300 .CKARG -- CHECK FOR ALPHANUMERIC ARGUMENT 7709.21
58-2339 .CKCOL -- CHECK FOR A COLON 7709.21
59-2374 .CKEOC -- CHECK END OF COMMAND 7602.16
60-2412 .CKEOS -- CHECK END OF SYMBOL 7709.21
61-2440 .CKOBJ -- CHECK FOR A TRAILING OBJECT 7709.21
62-2467 .CKSYM -- FIND THE FIRST CHARACTER IN A SYMBOL 7709.21
64-2526 .CKCTC -- CHECK FOR CONTROL-C TYPED 7601.28
66-2584 .CKRUN -- SUBROUTINE TO CHECK IF THE KL IS RUNNING 7601.12
68-2663 .CLDFB -- DTE-20 OPERATION BUFFER CLEAR SUBROUTINE 7508.26
70-2740 .CLRFF -- CLEAR KL RUN FLOP SUBROUTINE 7609.10
73-2823 .CMDTB -- THE MAIN COMMAND TABLE 7703.25
75-2891 .CONTC -- THE "CONTINUE" COMMAND 7611.17
78-2980 .DEPAR -- THE "DEPOSIT AR" COMMAND 7603.21
80-3057 .DFCOM -- COMMON DIAGNOSTIC FUNCTION ROUTINE 7603.30
83-3137 .DFRED -- DIAGNOSTIC FUNCTION READ 7602.15
86-3220 .DFWRT -- DIAGNOSTIC FUNCTION WRITE 7608.20
88-3288 .DFXCT -- DIAGNOSTIC FUNCTION EXECUTE 7602.15
90-3350 .DISCC -- THE "DISCONNECT" COMMAND 7702.28
92-3410 .DOCMD -- DECODE A SINGLE COMMAND 7602.03
95-3511 .DPETB -- THE DEPOSIT EXTENSION TABLE 7602.23
97-3549 .DPEWD -- THE "DEPOSIT <ELEVEN> <NUMERICAL OBJECT>" COMMAND 7602.29
99-3617 .DPKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7602.29
101-3684 .DPOBJ -- THE "DEPOSIT <OBJECT>" COMMAND DISPATCH 7602.29
103-3751 .DPOSC -- THE "DEPOSIT" COMMAND DISPATCH 7602.23
105-3816 .DPOSD -- THE "DEPOSIT <NUMERICAL OBJECT>" COMMAND DISPATCH 7602.29
107-3881 .DPOSE -- THE "DEPOSIT <ELEVEN>" COMMAND 7602.29
110-3978 .DPOST -- THE "DEPOSIT <TEN>" COMMAND 7602.15
114-4120 .DPOTB -- THE DEPOSIT COMMAND TABLE 7602.23
116-4164 .DTERW -- DTE-20 REGISTER READ / WRITE SUBROUTINES 7608.05
121-4320 .DTTRK -- SUBROUTINE TO TRACK DTE-20 OPERATIONS 7512.11
125-4435 .EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK 7512.01
128-4524 .EBPCK -- SUBROUTINE TO CHECK EBUS PARITY ERROR 7512.03
130-4583 .EDEWD -- THE EXAMINE / DEPOSIT "<ELEVEN> <NUMERICAL OBJECT>" COMMAND 7602.29
132-4628 .EDKLD -- THE EXAMINE / DEPOSIT "<TEN> <NUMERICAL OBJECT>" COMMAND 7609.10
134-4716 .EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24
140-4907 .EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE 7512.09
144-5039 .EXAD -- KL DATA PATH BOARD EXAMINES 7602.16
145-5080 .EXVAB -- KL PC BOARD AND SMALL REGISTER EXAMINES 7602.16
148-5154 .EXAMC -- THE "EXAMINE" COMMAND DISPATCH 7602.16
150-5220 .EXAMD -- THE "EXAMINE <NUMERICAL OBJECT>" COMMAND DISPATCH 7602.29
152-5285 .EXAME -- THE "EXAMINE <ELEVEN>" COMMAND 7602.29
155-5370 .EXAMF -- THE "EXAMINE FLAGS" COMMAND 7602.23
158-5459 .EXAMK -- THE "EXAMINE KL" COMMAND 7602.23
161-5537 .EXAMT -- THE "EXAMINE <TEN>" COMMAND 7602.05
164-5635 .EXCRA -- SMALL REGISTER EXAMINES 7609.10
167-5714 .EXCTC -- THE "XCT" (EXECUTE) COMMAND 7602.17
EXCTF -- FAST EXECUTE MODULE 76 MACRO M1108 13-JAN-78 09:14
TABLE OF CONTENTS
169-5790 .EXCTF -- FAST INTERNAL EXECUTE 7602.17
172-5903 .EXDTE -- THE "EXAMINE DTE-20" COMMAND 7603.20
175-6005 .EXETB -- THE EXAMINE EXTENSION TABLE 7602.16
177-6043 .EXEWD -- THE "EXAMINE <ELEVEN> <NUMERICAL OBJECT>" COMMAND 7602.29
179-6101 .EXITP -- THE COMMAND PARSER EXIT POINT 7605.17
181-6165 .EXKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7609.10
183-6221 .EXMPI -- THE "EXAMINE PI" COMMAND 7602.23
186-6324 .EXMTB -- THE EXAMINE COMMAND TABLE 7703.25
188-6389 .EXOBJ -- THE "EXAMINE <OBJECT>" COMMAND DISPATCH 7602.16
190-6455 .EXREG -- THE "EXAMINE REGISTERS" COMMAND 7602.16
192-6510 .FREAD -- DIAGNOSTIC FUNCTION READ SUBROUTINE 7609.15
195-6617 .FWRIT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE 7609.15
198-6744 .FXCT -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE 7609.15
202-6866 .GTCMD -- SUBROUTINE TO GET A COMMAND LINE 7601.22
204-6942 .GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15
209-7141 .GTLIN -- SUBROUTINE TO INPUT A LINE FROM THE CONSOLE 7601.22
213-7276 .ELNCK -- TEST FOR A LEGAL PDP-11 NUMBER 7611.01
214-7318 .GTELN -- SUBROUTINE TO GET A PDP-11 NUMBER 7602.05
215-7349 .GTKLA -- SUBROUTINE TO GET A 22 BIT KL ADDRESS 7602.05
216-7382 .GTNUM -- SUBROUTINE TO EVALUATE A NUMERIC EXPRESSION 7608.09
218-7463 .GTEXP -- EXPRESSION EVALUATOR FOR ".GTNUM" 7603.03
220-7523 .GTTRM -- TERM EVALUATOR FOR ".GTNUM" 7603.03
222-7591 .GTFCT -- FACTOR EVALUATOR FOR ".GTNUM" 7603.03
225-7712 .GTNBR -- NUMBER EVALUATOR FOR ".GTNUM" 7603.03
228-7814 .GTTIM -- SUBROUTINE TO INPUT A TIME VALUE 7702.15
232-7963 .GTR50 -- GET A .RAD50 WORD 7602.18
235-8051 .HALTC -- THE "HALT" COMMAND 7710.11
237-8107 .INICP -- INITIALIZE THE COMMAND PARSER 7601.21
241-8207 .INIT -- INITIALIZATION SUBROUTINE 7509.26
242-8249 .INKLF -- SUBROUTINE TO SET UP KL STATE WORD 7601.09
246-8379 .INITC -- THE "INITIALIZE" COMMAND 7602.16
248-8438 .KLCON -- KL CONTINUE SUBROUTINE 7710.11
251-8531 .KLHLT -- SUBROUTINE TO STOP THE KL IN THE HALT LOOP 7601.09
254-8652 .KLMTB -- THE KLINIK MODE TABLE 7702.16
256-8700 .KLRST -- SUBROUTINE TO RESTART THE KL 7512.22
259-8787 .KLST -- SUBROUTINE TO START THE KL 7512.08
262-8860 .KLSTP -- SUBROUTINE TO GET THE KL INTO THE HALT LOOP 7512.19
264-8934 .KLXCT -- KL INSTRUCTION EXECUTE SUBROUTINE 7509.10
266-9001 .LDBRG -- MBOX BURST COUNT LOAD SUBROUTINE 7601.02
269-9076 .LDCPC -- KL CLOCK AND PARITY LOAD SUBROUTINES 7509.30
272-9185 .LDCRA -- LOAD CRAM ADDRESS SUBROUTINE 7511.19
275-9274 .MONTB -- THE MONTH TABLE 7702.16
277-9321 .MRCLR -- KL MASTER RESET SUBROUTINE 7607.15
280-9422 .NSETB -- NORMAL ERROR CODE TABLE 7710.11
281-9532 .NULLC -- THE NULL COMMAND 7602.10
283-9572 .PARER -- ERROR DECODE AND PRINT ROUTINE 7609.24
285-9652 .PARER -- SPECIAL ERROR ROUTINES 7609.24
291-9825 .PTOAT -- TRAP AT 4 TRAP HANDLER 7601.15
293-9916 .PTDIE -- RECURSIVE TRAP HANDLER 7609.24
294-9953 .PTTRP -- "TRAP" INSTRUCTION TRAP HANDLER 7609.24
298-0100 .QUITC -- THE "QUIT" COMMAND 7602.16
300-0153 .RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL APR 7509.24
302-0227 .RDCPP -- SUBOUTINE TO READ THE KL CLOCK AND PARITY ENABLES 7510.09
306-0381 .RDDPB -- SUBROUTINES TO READ THE KL DATA PATH BOARDS 7509.23
309-0481 .RDFLG -- SUBROUTINE TO READ THE KL PC FLAGS 7511.24
312-0576 .RDIPE -- READ KL INTERNAL PARITY ERROR FLAGS 7511.13
314-0652 .RDPI -- SUBROUTINE TO READ THE PI BOARDS 7510.16
RDSMR -- KL SMALL REGISTER READ MACRO M1108 13-JAN-78 09:14
TABLE OF CONTENTS
317-0740 .RDSMR -- SUBROUTINE TO READ SMALL KL REGISTERS 7511.05
321-0898 .RDVXX -- KL VMA BOARD READ SUBROUTINES 7510.21
324-1021 .REPTC -- THE "REPEAT" COMMAND 7703.25
326-1091 .RESET -- KL RESET SUBROUTINES 7511.18
329-1190 .RESTB -- THE RESET COMMAND TABLE 7602.18
331-1236 .RESTC -- THE "RESET" COMMAND DISPATCH 7710.11
333-1305 .RESTD -- DTE-20 RESET SUBROUTINE 7607.20
335-1371 .RESTI -- RESET KL AND ENABLE NORMAL CLOCK AND PARITY 7607.19
338-1443 .RESTP -- RESET KL AND SAVE CURRENT CLOCK AND PARITY 7511.19
341-1518 .RGSAV -- R1 - R5 SAVE AND RESTORE SUBROUTINE 7509.16
343-1584 .RSALL -- THE "RESET ALL" COMMAND 7602.18
345-1638 .RSTPI -- THE "RESET PI" COMMAND 7607.21
347-1698 .RSPAG -- THE "RESET PAG" COMMAND 7607.21
350-1771 .RSTKL -- SUBROUTINE TO RESTART THE KL 7611.17
352-1832 .RUNCM -- THE "RUN" AND "MCR" COMMANDS 7607.14
356-1944 .SCCLK -- THE "SET / CLEAR CLOCK" COMMAND DISPATCH 7608.19
360-2100 .SCCON -- THE " SET / CLEAR CONSOLE" COMMAND 7702.16
362-2173 .SSCOT -- THE "SET CONSOLE" COMMAND TABLE 7602.12
364-2210 .SCCRF -- SET / CLEAR "CLOCK <OBJECT>" 7603.09
367-2327 .SCCTB -- THE "SET / CLEAR CLOCK" COMMAND TABLE 7603.12
369-2378 .SCDAT -- "SET DATE" COMMAND 7703.04
373-2531 .SCINC -- THE "SET / CLEAR INCREMENT" COMMAND 7606.20
375-2599 .SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20
385-2929 .SCMEM -- THE "SET / CLEAR MEMORY" COMMAND 7607.08
387-2984 .SCMTB -- THE "SET / CLEAR MEMORY" COMMAND TABLE 7603.18
389-3019 .SCNOT -- THE "SET / CLEAR NOT" COMMAND 7602.19
391-3055 .SCOFS -- THE "SET / CLEAR OFFSET" COMMAND 7602.19
393-3096 .SCPAR -- SET / CLEAR PARITY-STOP "<OBJECT>" 7603.08
395-3166 .SCPTB -- THE SET / CLEAR "PARITY-STOP" TABLE 7603.10
397-3206 .SCRLD -- THE "SET / CLEAR RELOAD" COMMAND 7602.19
399-3242 .SCRPT -- THE "SET / CLEAR REPEAT" COMMAND 7703.25
401-3292 .SCTRK -- THE "SET / CLEAR TRACK" COMMAND 7602.19
403-3345 .SETTB -- THE SET / CLEAR COMMAND TABLE 7703.25
405-3393 .SETCM -- THE "SET" AND "CLEAR" COMMAND DISPATCHES 7602.19
407-3468 .SHIFT -- 16 BIT BY 16 BIT SHIFT OPERATIONS 7603.30
409-3545 .SHUTC -- THE "SHUTDOWN" COMMAND 7707.12
410-3624 .SPETB -- SPECIAL ERROR CODE TABLE 7702.16
412-3671 .SSCAN -- ROUTINE TO SCAN A SYMBOL 7601.14
415-3759 .START -- COMMAND PARSER MAIN LOOP 7602.02
418-3849 .STCLK -- START KL CLOCK SUBROUTINE 7607.15
420-3916 .STPKL -- SUBROUTINE TO STOP THE KL 7602.25
422-3983 .STPXC -- STOP KL CLOCK SUBROUTINE 7601.09
424-4042 .STRTB -- THE START COMMAND TABLE 7602.26
426-4077 .STRTC -- THE "START" COMMAND 7602.26
428-4142 .STRTT -- THE "START <TEN>" COMMAND 7710.11
431-4239 .STRTU -- THE "START MICROCODE" COMMAND 7602.26
433-4304 .STRUN -- SET KL RUN FLOP SUBROUTINE 7601.09
435-4361 .STUCD -- START KL MICROCODE SUBROUTINE 7511.22
438-4457 .SYNXC -- SYNCH EBOX CLOCK SUBROUTINE 7509.03
440-4514 .TPDIV -- 48 BIT INTEGER DIVIDE SUBROUTINE 7601.19
444-4607 .TPCLR -- SUBROUTINE TO CLEAR A 48 BIT NUMBER 7601.19
445-4637 .TPCOM -- SUBROUTINE TO COMPLEMENT A 48 BIT NUMBER 7601.19
446-4680 .TPCMP -- SUBROUTINE TO COMPARE TWO 48 BIT NUMBERS 7610.19
447-4720 .TPTST -- TEST A 48 BIT NUMBER FOR ZERO 7601.19
448-4756 .TPADD -- SUBROUTINE TO ADD TWO 48 BIT NUMBERS 7601.15
449-4790 .TPINC -- SUBROUTINE TO INCREMENT A 48 BIT NUMBER 7601.19
450-4827 .TPSUB -- SUBROUTINE TO SUBTRACT TWO 48 BIT NUMBERS 7601.15
TPSIM -- TRIPLE PRECISION ARIT MACRO M1108 13-JAN-78 09:14
TABLE OF CONTENTS
451-4867 .TPMUL -- 48 BIT INTEGER MULTPLY SUBROUTINE 7601.19
454-4945 .TPSHI -- SHIFT A 48 BIT NUMBER BY A 16 BIT NUMBER 7601.19
455-4995 .TPSHL -- SHIFT A 48 BIT NUMBER BY A 48 BIT NUMBER 7601.19
458-5088 .TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE 7512.09
461-5199 .TSCAN -- ROUTINE TO SCAN A SYMBOL TABLE 7703.25
466-5353 .TYDAT -- SUBROUTINE TO TYPE A DATE 7702.16
470-5474 .TYAST -- SPECIAL CHARACTER OUTPUT SUBROUTINES 7601.23
472-5538 .TYELA -- SUBROUTINE TO TYPE A PDP-11 ADDRESS 7601.23
473-5582 .TYP3D -- SUBROUTINE TO TYPE A THREE DIGIT NUMBER 7601.23
474-5628 .TYKLA -- SUBROUTINE TO TYPE A KL ADDRESS 7608.02
475-5670 .TYKLN -- SUBROUTINE TO TYPE A KL NUMBER 7608.02
476-5717 .TYNCM -- COMMON ENTRY POINT FOR ".TYNUM" 7601.23
478-5787 .TYNUM -- GENERAL SUBROUTINE TO TYPE A FORMATTED NUMBER 7601.23
480-5868 .TYLIN -- SUBROUTINE TO OUTPUT AN .ASCIZ MESSAGE AND A <CRLF> 7601.23
481-5915 .TFCHR -- SUBROUTINE TO FORCE A CHARACTER TO THE CONSOLE DEVICE 7601.23
482-5944 .TYCHR -- CONSOLE DEVICE OUTPUT SUBROUTINE 7601.23
484-5999 .TYOUT -- CONSOLE OUTPUT SUBROUTINE 7601.23
488-6093 .TYR50 -- TYPE A .RAD50 SYMBOL 7602.18
490-6171 .TYTIM -- TIME OUTPUT SUBROUTINE 7702.16
493-6270 .WHATB -- THE WHAT COMMAND TABLE 7703.25
495-6317 .WHATC -- THE "WHAT" COMMAND DISPATCH 7607.14
497-6378 .WHATV -- THE "WHAT VERSION" COMMAND 7607.21
500-6433 .WHTCL -- THE "WHAT CLOCK" COMMAND 7608.17
504-6567 .WHCON -- THE "WHAT CONSOLE" COMMAND 7607.14
506-6632 .WHDAT -- THE "WHAT" DATE COMMAND 7703.03
509-6760 .WHINC -- THE "WHAT INCREMENT" COMMAND 7703.25
511-6829 .WHKLN -- THE "WHAT KLINIK" COMMAND 7702.16
516-6987 .WHMEM -- THE "WHAT MEMORY" COMMAND 7603.21
518-7038 .WHOFS -- THE "WHAT OFFSET" COMMAND 7603.20
520-7087 .WHTPS -- THE "WHAT PARITY-STOP" COMMAND 7608.19
524-7200 .WHRLD -- THE "WHAT RELOAD" COMMAND 7603.21
526-7251 .WHTRK -- THE "WHAT TRACKS" COMMAND 7603.20
528-7302 .WRTAR -- SUBROUTINE TO WRITE THE KL AR REGISTER 7511.05
530-7373 .XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS 7509.26
533-7457 .YESNO -- SUBROUTINE TO ASK "YES OR NO" 7603.22
536-7561 .ZEROC -- THE "ZERO" COMMAND 7609.15
ZEROC -- ZERO COMMAND MODULE 76 MACRO M1108 13-JAN-78 09:14 PAGE 1
1 ; COPYRIGHT (C) 1975, 1978 BY
2 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
3 ;
4 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
5 ; ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
6 ; OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER COPIES THERE-
7 ; OF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
8 ; NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
9 ;
10 ; THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
11 ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
12 ; CORPORATION.
13 ;
14 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
15 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
16 .IIF NDF FTLCMN,.NLIST
17 .TITLE DEFINE -- LOCAL DEFINITION MODULE 7709.20
18
19 .IDENT "004100"
20
21 ;
22 ;
23 ; MODULE: LOCAL DEFINITIONS
24 ;
25 ; VERSION: 04-10
26 ;
27 ; AUTHOR: R. BELANGER
28 ;
29 ; DATE: 7709.20
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 000004 PAR$$V = 4 ; VERSION 3
50 000010 PAR$$E = 10 ; EDIT 10
51 ;
52 ; THIS IS BEING RELEASED
53 ;
54 000126 PAR$$K = 'V ; KEY FOR RELEASE
55
DEFINE -- LOCAL DEFINITION MODU MACRO M1108 13-JAN-78 09:14 PAGE 2
DEFINE -- COMMAND PARSER ASSEMBLY SWITCHES 7709.20
57 .SBTTL DEFINE -- COMMAND PARSER ASSEMBLY SWITCHES 7709.20
58
59 000000 FT1145=0 ; ASSEMBLE FOR PDP-11/45 IF .NE. 0
60 000001 FT1140=1 ; ASSEMBLE FOR PDP-11/40 IF .NE. 0
61 000000 FT1135=0 ; ASSEMBLE FOR PDP-11/35 IF .NE. 0
62 000000 FT1120=0 ; ASSEMBLE FOR PDP-11/20 IF .NE. 0
63 000000 FT1115=0 ; ASSEMBLE FOR PDP-11/15 IF .NE. 0
64 000000 FT1110=0 ; ASSEMBLE FOR PDP-11/10 IF .NE. 0
65 000000 FT1105=0 ; ASSEMBLE FOR PDP-11/05 IF .NE. 0
66 000000 FTBYTE=0 ; ASSEMBLE BYTE SUPPORT IF .NE 0
67 000000 FTCRAM=0 ; ASSEMBLE CRAM FEATURES IF .NE. 0
68 000001 FTDEBUG=1 ; ASSEMBLE DEBUG FEATURES IF .NE. 0
69 000000 FTDISP=0 ; ASSEMBLE DISPATCH TABLE IF .NE 0
70 000000 FTDRAM=0 ; ASSEMBLE DRAM FEATURES IF .NE. 0
71 000000 FTHELP=0 ; ASSEMBLE HELP FEATURE IF .NE. 0
72 000000 FTKLER=0 ; ASSEMBLE "KLERR" SUPPORT IF .NE. 0
73 000000 FTLCVT=0 ; ASSEMBLE LOWER CASE SUPPORT IF .NE. 0
74 000000 FTLIST=0 ; ASSEMBLE LPT SUPPORT IF .NE. 0
75 000001 FTTRAK=1 ; ASSEMBLE TRACK FEATURE IF .NE. 0
76 000001 FTTRP4=1 ; ASSEMBLE TRAP AT 4 CODE IF .NE. 0
77 000130 FTUCVR=130 ; MICROCODE FEATURE SWITCH
78
79 .IF NE FT1145
80 FT1140=1
81 .ENDC ; FT1145
82
83 .IF NE FT1140
84 000001 FT1135=1
85 .ENDC ; FT1140
86
87 .IF NE FT1135
88 000001 FT1120=1
89 .ENDC ; FT1135
90
91 .IF NE FT1120
92 000001 FT1115=1
93 .ENDC ; FT1135
94
95 .IF NE FT1115
96 000001 FT1110=1
97 .ENDC ; FT1115
98
99 .IF NE FT1110
100 000001 FT1105=1
101 .ENDC ; FT1110
DEFINE -- LOCAL DEFINITION MODU MACRO M1108 13-JAN-78 09:14 PAGE 3
DEFINE -- COMMAND PARSER MACRO CALLS 7709.20
103 .SBTTL DEFINE -- COMMAND PARSER MACRO CALLS 7709.20
104
105 .LIST MEB, SYM
106 .ENABL AMA
107
108 .IF EQ FT1140
109 .MCALL SOB
110 .ENDC ; FT1140
DEFINE -- LOCAL DEFINITION MODU MACRO M1108 13-JAN-78 09:14 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 M1108 13-JAN-78 09:14 PAGE 5
DEFINE -- LOCAL MACRO DEFINITIONS 7709.20
153 ; DEFINE THE ERROR TRAP MACRO FOR ".PTTRP"
154
155 .MACRO ERROR$ CODE
156 ER$'CODE=.
157 MOV (PC)+,-(SP) ; "CODE" IN RAD50 TO STACK
158 .RAD50 /CODE/ ; ERROR IDENTIFIER
159 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
160 .ENDM ERROR$
161
162 ; DEFINE THE FATAL TRAP MACRO FOR ".PTTRP"
163
164 .MACRO FATAL$ CODE
165 FA$'CODE=.
166 MOV (PC)+,-(SP) ; "CODE" IN RAD50 TO STACK
167 .RAD50 /CODE/ ; ERROR IDENTIFIER
168 TRAP TC.RST ; .AND TRAP OUT OF ROUTINE
169 .ENDM FATAL$
170
171 ; DEFINE THE CONTINUE TRAP MACRO FOR ".PTTRP"
172
173 .MACRO ERCON$ CODE
174 EC$'CODE=.
175 MOV (PC)+,-(SP) ; "CODE" IN RAD50 TO STACK
176 .RAD50 /CODE/ ; ERROR IDENTIFIER
177 TRAP TC.CON ; .AND TRAP OUT OF ROUTINE
178 TST (SP)+ ; .FLUSH ERROR CODE
179 .ENDM ERCON$
180
181 ; DEFINE THE COMMAND TABLE MACRO
182
183 .MACRO COMND$ NAME,LGLBTS,DISPAT
184 .PSECT MESSAG
185 $$CMDN=.
186 .ASCIZ %NAME%
187 .PSECT
188 .WORD $$CMDN ; POINTER TO "NAME" SYMBOL
189 .WORD LGLBTS ; LEGAL BITS
190 .WORD DISPAT ; ROUTINE TO CALL
191 .ENDM COMND$
DEFINE -- LOCAL DEFINITION MODU MACRO M1108 13-JAN-78 09:14 PAGE 6
DEFINE -- LOCAL MACRO DEFINITIONS 7709.20
193 ; DEFINE THE NORMAL ERROR CODE MACRO
194
195 .MACRO NSERR$ COD,STRING
196 .PSECT MESSAG
197 COD'MSG:
198 .ASCIZ %COD - STRING%
199 .PSECT
200 .RAD50 /COD/ ; "COD" IN .RAD50
201 .WORD COD'MSG ; POINTER TO MESSAGE
202 .ENDM NSERR$
203
204 ; DEFINE THE SPECIAL ERROR CODE MACRO
205
206 .MACRO SPERR$ COD,STRING
207 .PSECT MESSAG
208 COD'MSG:
209 .ASCIZ %COD - STRING%
210 .PSECT
211 .RAD50 /COD/ ; "COD" IN .RAD50
212 .WORD .SE'COD ; DISPATCH TO HANDLER
213 .WORD COD'MSG ; POINTER TO MESSAGE
214 .ENDM SPERR$
215
216 ; DEFINE AN "EXCHANGE" MACRO
217
218 .MACRO EXCH$ ARG1,ARG2
219 MOV ARG1,-(SP)
220 MOV ARG2,ARG1
221 MOV (SP)+,ARG2
222 .ENDM EXCH$
DEFINE -- LOCAL DEFINITION MODU MACRO M1108 13-JAN-78 09:14 PAGE 7
DEFINE -- SPECIAL KL MACROS AND DEFINITIONS 7709.20
224 .SBTTL DEFINE -- SPECIAL KL MACROS AND DEFINITIONS 7709.20
225
226 ; DEFINE KL I/O OPCODES
227
228 000000 BLKI=0 ; BLOCK IN
229 000001 DATAI=1 ; DATA IN
230 000002 BLKO=2 ; BLOCK OUT
231 000003 DATAO=3 ; DATA OUT
232 000004 CONO=4 ; CONDITIONS OUT
233 000005 CONI=5 ; CONDITIONS IN
234 000006 CONSZ=6 ; " " SKIP IF ZERO
235 000007 CONSO=7 ; " " " " ONES
236
237 ; DEFINE KL INTERNAL I/O DEVICES
238
239 000000 APR=0 ; ARITHMETIC PROCESSOR (ALU)
240 000004 PI=4 ; PRIORITY INTERRUPT SYSTEM
241 000010 PAG=10 ; PAGING SYSTEM
242 000014 CCA=14 ; CACHE CONTROL
DEFINE -- LOCAL DEFINITION MODU MACRO M1108 13-JAN-78 09:14 PAGE 8
DEFINE -- SPECIAL KL MACROS AND DEFINITIONS 7709.20
244 ; DEFINE KL INSTRUCTION MACRO
245
246 .MACRO IKL$ OP,DAC,DI,DAD,DXR
247 ADH=0
248 ADL=0
249 .IF NB,DAD
250 .IRPC AD1,DAD
251 .IIF GE,<ADL-10000>,ADH=ADL/10000
252 ADL=10*<ADL&7777>+AD1
253 .ENDR
254 .ENDC ; .IF NB
255 .IIF B,DAC,AC=0
256 .IIF NB,DAC,AC=DAC
257 .IIF B,DI,I=0
258 .IIF NB,DI,I=DI
259 .IIF B,DXR,XR=0
260 .IIF NB,DXR,XR=DXR
261 $$A=<ADL&377>
262 $$B=<<ADL/400>!<ADH*200&377>>
263 $$C=<AC&1*200+<I*100+<XR*4>>+<ADH/2>>
264 $$D=<OP&37*10+<AC/2>>
265 $$E=<OP/40>
266 $$F=0
267 .BYTE $$A,$$B
268 .BYTE $$C,$$D
269 .BYTE $$E,$$F
270 .ENDM IKL$
271
272 ; DEFINE KL I/O INSTRUCTION MACRO
273
274 .MACRO IOKL$ OP,DDV,DI,DAD,DXR
275 .IIF B,DI,I=0
276 .IIF NB,DI,I=DI
277 .IIF B,DXR,XR=0
278 .IIF NB,DXR,XR=DXR
279 ADH = 0
280 ADL = 0
281 .IRPC AD1,DAD
282 .IIF GE,<ADL-10000>, ADH=ADL/10000
283 ADL=10*<ADL&7777>+AD1
284 .ENDR
285 $$A=<ADL&377>
286 $$B=<<ADL/400>!<ADH*200&377>>
287 $$C=<OP&1*200+<I*100+<XR*4>>+<ADH/2>>
288 $$D=<DDV&374+<OP/2>>
289 $$E=<DDV/400+16>
290 $$F=0
291 .BYTE $$A,$$B
292 .BYTE $$C,$$D
293 .BYTE $$E,$$F
294 .ENDM IOKL$
DEFINE -- LOCAL DEFINITION MODU MACRO M1108 13-JAN-78 09:14 PAGE 9
DEFINE -- LOCAL DEFINITIONS 7709.20
296 .SBTTL DEFINE -- LOCAL DEFINITIONS 7709.20
297
298 ; LOCAL DEFINITIONS
299
300 000001 BIT00=000001 ; DEFINE LOW BITS FOR SYMMETRY
301 000002 BIT01=000002
302 000004 BIT02=000004
303 000010 BIT03=000010
304 000020 BIT04=000020
305 000040 BIT05=000040
306 000100 BIT06=000100
307 000200 BIT07=000200
308 000400 BIT08=000400
309 001000 BIT09=001000
310 002000 BIT10=002000
311 004000 BIT11=004000
312 010000 BIT12=010000
313 020000 BIT13=020000
314 040000 BIT14=040000
315 100000 BIT15=100000
316
317 ; DEFINE EXAMINE DEPOSIT MODE BYTES
318
319 000000 ED.EPT=0*40 ; EXEC PROCESS TABLE (RELATIVE)
320 000040 ED.EXV=1*40 ; EXEC VIRTUAL SPACE
321 000100 ED.UPT=2*40 ; USER PROCESS TABLE (RELATIVE)
322 000140 ED.USV=3*40 ; USER VIRTUAL SPACE
323 000200 ED.PHY=4*40 ; PHYSICAL ADDRESSES
324
325 ; DEFINE BITS IN ".PEWRD"
326
327 000001 PE.CES=1 ; CLOCK ERROR STOP
328 000002 PE.DRM=2 ; DRAM PARITY ERROR
329 000004 PE.CRM=4 ; CRAM PARITY ERROR
330 000010 PE.FMP=10 ; FAST MEMORY PARITY ERROR
331 000020 PE.FSS=20 ; FIELD SERVICE STOP
332 000037 PE.ALL=PE.CES!PE.DRM!PE.CRM!PE.FMP!PE.FSS
333
334 ; DEFINE BITS IN ".APRWD"
335
336 000001 AP.PWF=1 ; APR POWER FAIL
337 000002 AP.SAP=2 ; APR SBUS ADDRESS PARITY ERROR
338 000004 AP.CDP=4 ; APR CACHE DIRECTORY PARITY ERROR
339 000010 AP.MPE=10 ; APR MB (MEMORY) PARITY ERROR
340 000020 AP.IPF=20 ; APR I/O PAGE FAIL ERROR
341 000040 AP.NXM=40 ; APR NON-EX-MEM ERROR
342 000100 AP.SBE=100 ; APR SBUS ERROR
343 000177 AP.ALL=AP.PWF!AP.SAP!AP.CDP!AP.MPE!AP.IPF!AP.NXM!AP.SBE
DEFINE -- LOCAL DEFINITION MODU MACRO M1108 13-JAN-78 09:14 PAGE 10
DEFINE -- LOCAL DEFINITIONS 7709.20
345 ; DEFINE OFFSETS INTO DTE-20 DIAG REGISTERS
346
347 000000 .DIAG1=0 ; DTE-20 DIAG1 WORD
348 000002 .DIAG2=2 ; DTE-20 DIAG2 WORD
349 000004 .DTSTW=4 ; DTE-20 STATUS WORD
350 000006 .DIAG3=6 ; DTE-20 DIAG3 WORD
351
352 ; DEFINE DTE-20 DIAG1 BITS
353
354 100000 D1.DS0=BIT15 ; DIAGNOSTIC SELECT CODE 00 [WRITE]
355 040000 D1.DS1=BIT14 ; " " " 01 "
356 020000 D1.DS2=BIT13 ; " " " 02 "
357 010000 D1.DS3=BIT12 ; " " " 03 "
358 004000 D1.DS4=BIT11 ; " " " 04 "
359 002000 D1.DS5=BIT10 ; " " " 05 "
360 001000 D1.DS6=BIT09 ; " " " 06 "
361 004000 D1.CES=BIT11 ; KL CLOCK ERROR STOP [READ]
362 002000 D1.RUN=BIT10 ; KL RUN FLAG [READ]
363 001000 D1.HLP=BIT09 ; KL IS IN HALT LOOP [READ]
364 000400 D1.DEX=BIT08 ; DTE-20 IS IN DEPOSIT / EXAMINE STATE [READ]
365 000200 D1.T10=BIT07 ; DTE-20 IS IN TO KL STATE [READ]
366 000200 D1.LBK=BIT07 ; PUT DTE-20 IN LOOPBACK MODE [WRITE]
367 000100 D1.T11=BIT06 ; DTE-20 IS IN TO 11 STATE [READ]
368 000040 D1.DDT=BIT05 ; SET DTE-20 DIAGNOSTIC MODE [WRITE]
369 ; DTE-20 IS IN DIAGNOSTIC MODE [READ]
370 000020 D1.V04=BIT04 ; VECTOR INTERRUPT ADDRESS BIT 04 [READ]
371 000020 D1.PLS=BIT04 ; GENERATE A CLOCK CYCLE IF D1.DDT SET [WRITE]
372 000010 D1.DFM=BIT03 ; CHANGE EX / DEP TO DIAG FUNCTIONS IF PRIVILEGED [WRITE]
373 000004 D1.XFR=BIT02 ; SEND DATA TO KL IF = 1 [READ]
374 ; RECEIVE DATA FROM KL IF = 0 [READ]
375
376 ; BIT 01 IS UNUSED [MBZ]
377
378 000001 D1.DCS=BIT00 ; DIAG COMMAND IN PROGRESS [READ]
379 ; SET DIAGNOSTIC COMMAND START IF = 1 [WRITE]
380 ; CLEAR DIAGNOSTIC COMMAND START IF = 0 [WRITE]
381 000442 D1.MBZ=D1.DEX!D1.DDT!BIT01 ; MUST BE ZERO ON WRITE
DEFINE -- LOCAL DEFINITION MODU MACRO M1108 13-JAN-78 09:14 PAGE 11
DEFINE -- LOCAL DEFINITIONS 7709.20
383 ; DEFINE DTE-20 DIAG2 BITS
384
385 100000 D2.RA0=BIT15 ; RFM ADDRESS BIT 0 [READ]
386 040000 D2.RA1=BIT14 ; RFM ADDRESS BIT 1 [READ]
387 040000 D2.EBD=BIT14 ; SET EBUS DONE IF = 1 [WRITE]
388 ; CLEAR EBUS DONE IF = 0 [WRITE]
389 020000 D2.RA2=BIT13 ; RFM ADDRESS BIT 2 [READ]
390
391 ; BITS 11 THRU 7 ARE UNUSED [MBZ]
392
393 000100 D2.RST=BIT06 ; RESET THE DTE-20 IF = 1 [WRITE]
394
395 ; BIT 5 IS UNUSED [MBZ]
396
397 000020 D2.MS8=BIT04 ; MINOR STATE COUNTER BIT 8 [WRITE]
398 000010 D2.MS4=BIT03 ; " " " " 4 "
399 000004 D2.MS2=BIT02 ; " " " " 2 "
400 000002 D2.MS1=BIT01 ; " " " " 1 "
401
402 ; BIT 0 IS UNUSED [MBZ]
403
404 177641 D2.MBZ=BIT15!BIT14!BIT13!BIT12!BIT11!BIT10!BIT09!BIT08!BIT07!BIT05!BIT00
405
406 ; DEFINE DTE-20 DIAG3 BITS
407
408 100000 D3.SSL=BIT15 ; SWAP SELECT LEFT [READ]
409 040000 D3.PAR=BIT14 ; PARITY FLOP [READ]
410
411 ; BITS 13 THRU 08 ARE UNIBUS PARITY ERROR INFO [READ]
412
413 ; BITS 07 AND 06 ARE UNUSED [MBZ]
414
415 000040 D3.SCD=BIT05 ; SHIFT DATA IN 13-08 FOR NEXT READ [WRITE]
416 000020 D3.UPE=BIT04 ; DATO UNIBUS PARITY ERROR (DUPE) [READ]
417 000020 D3.CDD=BIT04 ; CLEAR DUPE AND DURE FLAGS
418 000010 D3.WEP=BIT03 ; WRITE EVEN UNIBUS PARITY FLOP [READ]
419 ; WRITE EVEN UNIBUS PARITY IF = 1 [WRITE]
420 ; WRITE ODD (GOOD) UNIBUS PARITY IF = 0 [WRITE]
421 000004 D3.URE=BIT02 ; DATO UNIBUS RECEIVE ERROR FLAG (DURE) [READ]
422 000002 D3.NPE=BIT01 ; NPR UNIBUS PARITY ERROR FLAG (NUPE) [READ]
423 ; CLEAR NUPE [WRITE]
424 000001 D3.TXB=BIT00 ; SET TO KL BYTE TRANSFER MODE [WRITE]
425
426 177704 D3.MBZ=BIT15!BIT14!BIT13!BIT12!BIT11!BIT10!BIT09!BIT08!BIT07!BIT06!BIT02
427
428 000001 D3.RST=D3.TXB ; DIAG WORD 3 RESET BIT
DEFINE -- LOCAL DEFINITION MODU MACRO M1108 13-JAN-78 09:14 PAGE 12
DEFINE -- LOCAL DEFINITIONS 7709.20
430 ; DEFINE DTE-20 STATUS BITS
431
432 100000 ST.TXD=BIT15 ; TO KL TRANSFER DONE FLAG [READ]
433 ; SET TO KL TRANSFER DONE [WRITE]
434 040000 ST.CTD=BIT14 ; CLEAR TO KL TRANSFER DONE FLAG [WRITE]
435 020000 ST.TXE=BIT13 ; TO KL ERROR DONE FLAG [READ]
436 ; SET TO KL ERROR DONE FLAG [WRITE]
437 010000 ST.RIZ=BIT12 ; DTE-20 RAM LOCATION IS ZEROES [READ]
438 010000 ST.CTE=BIT12 ; CLEAR TO KL ERROR DONE FLAG [WRITE]
439 004000 ST.EDB=BIT11 ; 11 DOORBELL FLAG [READ]
440 ; SET THE 11 DOORBELL FLAG [WRITE]
441 002000 ST.DW1=BIT10 ; YES, THIS BIT IS HERE
442 001000 ST.MPE=BIT09 ; 11 MEMORY PARITY ERROR DURING TO KL XFER [READ]
443 ; CLEAR ST.MPE [WRITE]
444 000400 ST.XDB=BIT08 ; KL DOORBELL FLAG [READ]
445 ; RING THE KL DOORBELL [WRITE]
446 000200 ST.TED=BIT07 ; TO 11 TRANSFER DONE FLAG [READ]
447 ; SET ST.TED [WRITE]
448 000100 ST.EBS=BIT06 ; E BUFFER SELECT [READ]
449 000100 ST.CED=BIT06 ; CLEAR ST.TED [WRITE]
450 000040 ST.NST=BIT05 ; TO 11 XFER STOPPED BECAUSE STOP BIT WAS SET [READ]
451 000040 ST.IEN=BIT05 ; ENABLE DTE-20 TO GENERATE BR REQUESTS IF = 1
452 000020 ST.EPE=BIT04 ; EBUS PARITY ERROR FLAG [READ]
453 ; CLEAR EBUS PARITY ERROR FLAG IF = 1 [WRITE]
454 000010 ST.MOD=BIT03 ; DTE-20 IS PRIVILEGED IF = 0 [READ]
455 ; " " RESTRICTED " " 1 "
456 000010 ST.IDS=BIT03 ; DISABLE DTE-20 BR REQUESTS [WRITE]
457 000004 ST.DXD=BIT02 ; DEPOSIT / EXAMINE DONE FLAG [READ]
458 000004 ST.SEP=BIT02 ; SET EBUS PARITY ERROR IF = 1 [WRITE]
459 000002 ST.TER=BIT01 ; TO 11 BYTE XFER ERROR FLAG [READ]
460 000002 ST.STE=BIT01 ; SET ST.TER IF = 1 [WRITE]
461 000001 ST.ION=BIT00 ; 11 CAN GENERATE BR REQUESTS [READ]
462 000001 ST.CLE=BIT00 ; CLEAR ST.TER IF = 1 [WRITE]
463
464 011121 ST.RST=ST.CTE!ST.MPE!ST.CED!ST.EPE!ST.CLE
465
466 000000 ST.MBZ=0 ; BIT MASK FOR WRITE
DEFINE -- LOCAL DEFINITION MODU MACRO M1108 13-JAN-78 09:14 PAGE 13
DEFINE -- LOCAL DEFINITIONS 7709.20
468 ; DEFINE FLAG BITS IN ".KLFLG"
469
470 100000 KF.CLK=BIT15 ; KL CLOCK IS RUNNING IF .NE. 0
471 040000 KF.RUN=BIT14 ; KL RUN FLOP IS ON IF .NE. 0
472 020000 KF.MRS=BIT13 ; KL MASTER RESET FLOP IS ON IF .NE. 0
473 010000 KF.SIM=BIT12 ; KL IS IN SINGLE INSTRUCTION MODE IF .NE. 0
474 004000 KF.SMC=BIT11 ; KL IS IN SINGLE PULSE MBOX MODE IF .NE. 0
475 002000 KF.SPM=BIT10 ; " " " " " EBOX " " " "
476 001000 KF.BRM=BIT09 ; KL IS IN BURST MODE IF .NE. 0
477 000400 KF.KLO=BIT08 ; KL IS IN KL INSTRUCTION MODE IF .NE. 0
478 000200 KF.CON=BIT07 ; KL IS CONTINUABLE IF .NE. 0
479 000100 KF.CES=BIT06 ; KL IS IN CLOCK ERROR STOP STATE IF .NE. 0
480 000200 KF.DEF=KF.CON ; DEFAULT FLAGS (SEE ".INKLF")
481
482 ; DEFINE BITS IN ".TRKWD"
483
484 .IF NE FTTRAK
485 000001 TR.FXC=BIT00 ; TRACK FUNCTION EXECUTES IF .NE. 0
486 000002 TR.FRD=BIT01 ; TRACK FUNCTION READS IF .NE. 0
487 000004 TR.FWR=BIT02 ; TRACK FUNCTION EXECUTES IF .NE. 0
488 000010 TR.EXM=BIT03 ; TRACK MEMORY EXAMINES IF .NE. 0
489 000020 TR.DEP=BIT04 ; TRACK MEMORY DEPOSITS IF .NE. 0
490 000040 TR.DTE=BIT05 ; TRACK DTE-20 OPERATIONS IF .NE. 0
491 000077 TR.ALL=TR.FXC!TR.FRD!TR.FWR!TR.EXM!TR.DEP!TR.DTE
492 .ENDC ; FTTRAK
493
494 ; DEFINE KL PC FLAGS (FROM "C.MAC" V. 1, EDIT 24 7511.25)
495
496 010000 PC.OVF=BIT12 ; KL OVERFLOW FLAG (BIT 00)
497 004000 PC.CY0=BIT11 ; KL CARRY 0 FLAG (BIT 01)
498 002000 PC.CY1=BIT10 ; KL CARRY 1 FLAG (BIT 02)
499 001000 PC.FOV=BIT09 ; KL FLOATING OVERFLOW FLAG (BIT 03)
500 000400 PC.BIS=BIT08 ; KL BYTE INCREMENT SUPPRESSION FLAG (BIT 04)
501 000200 PC.USR=BIT07 ; KL USER MODE FLAG (BIT 05)
502 000100 PC.UIO=BIT06 ; KL USER IOT MODE FLAG (BIT 06)
503 000040 PC.LIP=BIT05 ; KL LAST INSTRUCTION PUBLIC FLAG (BIT 07)
504 000020 PC.AFI=BIT04 ; KL ADDRESS FAILURE INHIBIT FLAG (BIT 08)
505 000010 PC.AT1=BIT03 ; KL APR TRAP 1 FLAG (BIT 09)
506 000004 PC.AT0=BIT02 ; KL APR TRAP 0 FLAG (BIT 10)
507 000002 PC.FUF=BIT01 ; KL FLOATING UNDERFLOW FLAG (BIT 11)
508 000001 PC.NDV=BIT00 ; KL NO DIVIDE FLAG (BIT 12)
DEFINE -- LOCAL DEFINITION MODU MACRO M1108 13-JAN-78 09:14 PAGE 14
DEFINE -- LOCAL DEFINITIONS 7709.20
510 ; DEFINE DIAGNOSTIC FUNCTION EXECUTE CODES
511
512 000000 FX.000=0
513 000000 FX.CSP=FX.000 ; STOP THE KL CLOCK
514 000002 FX.001=1*2
515 000002 FX.CST=FX.001 ; START THE KL CLOCK
516 000004 FX.002=2*2
517 000004 FX.MBC=FX.002 ; PULSE THE MBOX CLOCK
518 000006 FX.003=3*2
519 000006 FX.EBC=FX.003 ; PULSE THE EBOX CLOCK
520 000010 FX.004=4*2
521 000010 FX.SYC=FX.004 ; SYNCH THE EBOX CLOCK LOW
522 000012 FX.005=5*2
523 000012 FX.BMC=FX.005 ; BURST THE MBOX CLOCK
524 000014 FX.006=6*2
525 000014 FX.CMR=FX.006 ; CLEAR MASTER RESET STATE
526 000016 FX.007=7*2
527 000016 FX.SMR=FX.007 ; SET MASTER RESET STATE
528
529 000020 FX.010=10*2
530 000020 FX.CRF=FX.010 ; CLEAR THE KL RUN FLOP
531 000022 FX.011=11*2
532 000022 FX.SRF=FX.011 ; SET THE KL RUN FLOP
533 000024 FX.012=12*2
534 000024 FX.CON=FX.012 ; SET THE KL CONTINUE FLOP
535 000026 FX.013=13*2
536 000030 FX.014=14*2
537 000030 FX.UIR=FX.014 ; UNLATCH THE IR
538 000032 FX.015=15*2
539 000032 FX.UDR=FX.015 ; UNLATCH THE DRAM REGISTER
540 000034 FX.016=16*2
541 000036 FX.017=17*2
542
543 000040 FX.020=20*2
544 000042 FX.021=21*2
545 000044 FX.022=22*2
546 000046 FX.023=23*2
547 000050 FX.024=24*2
548 000052 FX.025=25*2
549 000054 FX.026=26*2
550 000056 FX.027=27*2
551
552 000060 FX.030=30*2
553 000062 FX.031=31*2
554 000064 FX.032=32*2
555 000066 FX.033=33*2
556 000070 FX.034=34*2
557 000072 FX.035=35*2
558 000074 FX.036=36*2
559 000076 FX.037=37*2
DEFINE -- LOCAL DEFINITION MODU MACRO M1108 13-JAN-78 09:14 PAGE 15
DEFINE -- LOCAL DEFINITIONS 7709.20
561 ; DEFINE DIAGNOSTIC FUNCTION WRITE CODES
562
563 000100 FW.040=40*2
564 000102 FW.041=41*2
565 000104 FW.042=42*2
566 000104 FW.LBR=FW.042 ; LOAD BURST COUNTER RIGHT 4 BITS
567 000106 FW.043=43*2
568 000106 FW.LBL=FW.043 ; LOAD BURST COUNTER LEFT 4 BITS
569 000110 FW.044=44*2
570 000110 FW.CSR=FW.044 ; LOAD THE KL CLOCK SOURCE AND RATE
571
572 ; CLOCK SOURCE AND RATE CODES, EBUS 32-33 AND 34-35, RESPECTIVELY,
573 ; IN LOW BYTE OF CLOCK CONTROL WORD (".CLKWD").
574
575 000000 CS.NRM=0&14 ; KL NORMAL CLOCK SOURCE (EBUS 32-33)
576 000004 CS.CS1=4&14 ; KL CLOCK SOURCE 1
577 000010 CS.CS2=10&14 ; KL CLOCK SOURCE 2
578 000004 CS.FST=4&14 ; KL FAST CLOCK SOURCE
579 000004 CS.MGN=CS.FST ; KL MARGIN CLOCK SOURCE
580 000010 CS.EXT=10&14 ; KL EXTERNAL CLOCK SOURCE
581 000014 CS.UDF=14&14 ; UNDEFINED (DEFAULT TO FAST)
582 000014 CS.ALL=CS.CS1!CS.CS2 ; CLOCK SOURCE BIT MASK
583
584 000000 CR.NRM=0&3 ; KL NORMAL CLOCK SOURCE (EBUS 34-35)
585 000001 CR.CR1=1&3 ; KL CLOCK RATE 1
586 000002 CR.CR2=2&3 ; KL CLOCK RATE 2
587 000000 CR.FUL=0&3 ; KL CLOCK FULL SPEED
588 000001 CR.HLF=1&3 ; " " HALF "
589 000002 CR.QTR=2&3 ; " " QRTR "
590 000003 CR.SLO=3&3 ; " " SLOW "
591 000003 CR.ALL=CR.CR1!CR.CR2 ; CLOCK RATE BIT MASK
592
593 000112 FW.045=45*2
594 000112 FW.CDR=FW.045 ; LOAD THE KL CLOCK DISTRIBUTION REGISTER
595
596 ; CLOCK DISTRIBUTION DISABLE CODES, EBUS 33-35 TO THE KL, ALSO IN
597 ; THE HIGH BYTE OF THE CLOCK CONTROL WORD (".CLKWD").
598
599 002000 CD.CRC=<4&7>*400 ; DISABLE CONTROL RAM CLOCKS
600 001000 CD.DPC=<2&7>*400 ; DISABLE DATA PATHS CLOCKS
601 000400 CD.CLC=<1&7>*400 ; DISABLE CONTROL LOGIC CLOCKS
602 000000 CD.NRM=<0&7>*400 ; NORMAL CLOCK ENABLES
603 003400 CD.ALL=<7&7>*400 ; CLOCK DISABLE BIT MASK
604
605 000000 CC.NRM=0 ; NORMAL CLOCK CONTROL WORD
606 003417 CC.ALL=CS.ALL!CR.ALL!CD.ALL ; CLOCK CONTROL BIT MASK
DEFINE -- LOCAL DEFINITION MODU MACRO M1108 13-JAN-78 09:14 PAGE 16
DEFINE -- LOCAL DEFINITIONS 7709.20
608 000114 FW.046=46*2
609 000114 FW.IPE=FW.046 ; LOAD INTERNAL PARITY ENABLES
610
611 ; INTERNAL KL PARITY ENABLE CODES, EBUS 32 - 35 TO THE KL,
612 ; ALSO IN LOW BYTE OF THE PARITY STOP CONTROL WORD (".PSCWD").
613
614 000010 IP.FMP=10&17 ; FAST MEMORY PARITY STOP ENABLE
615 000004 IP.CRP=4&17 ; CRAM PARITY STOP ENABLE
616 000002 IP.DRP=2&17 ; DRAM PARITY STOP ENABLE
617 000001 IP.FSS=1&17 ; FIELD SERVICE STOP ENABLE
618 000016 IP.NRM=IP.FMP!IP.CRP!IP.DRP
619 000017 IP.ALL=IP.NRM!IP.FSS
620
621 000116 FW.047=47*2
622 000116 FW.APE=FW.047 ; LOAD AR/ARX PARITY ENABLES (ET AL.)
623
624 ; INTERNAL KL PARITY STOP CODES, EBUS 32 - 35 TO KL, "AP.EIP" MUST
625 ; BE SET TO ALLOW "IP.XXX" CONDITIONS TO STOP THE KL CLOCK
626 ; MAINTAINED IN HIGH BYTE OF THE PARITY STOP CONTROL WORD (".PSCWD").
627
628 001000 AP.ARP=<2&17>*400 ; ALLOW AR/ARX PARITY TO CAUSE A
629 ; PAGE FAIL TRAP IN THE KL
630 000400 AP.EIP=<1&17>*400 ; ENABLE INTERNAL PARITY ENABLES TO
631 ; STOP THE KL CLOCK
632 001400 AP.NRM=AP.EIP!AP.ARP ; NORMAL PARITY STOP ENABLES
633
634 001416 PS.NRM=AP.NRM!IP.NRM ; NORMAL PARITY STOP CONTROL WORD
635
636 000120 FW.050=50*2
637 000122 FW.051=51*2
638 000122 FW.CA1=FW.051 ; LOAD LOW CRAM ADDRESS
639 000124 FW.052=52*2
640 000124 FW.CA2=FW.052 ; LOAD HIGH CRAM ADDRESS
641 000126 FW.053=53*2
642 000126 FW.CRD=FW.053 ; LOAD CRAM DISPATCH
643 000130 FW.054=54*2
644 000130 FW.CR4=FW.054 ; LOAD CRAM BITS 60 THRU 78
645 000132 FW.055=55*2
646 000132 FW.CR3=FW.055 ; LOAD CRAM BITS 40 THRU 59
647 000134 FW.056=56*2
648 000134 FW.CR2=FW.056 ; LOAD CRAM BITS 20 THRU 39
649 000136 FW.057=57*2
650 000136 FW.CR1=FW.057 ; LOAD CRAM BITS 00 THRU 19
DEFINE -- LOCAL DEFINITION MODU MACRO M1108 13-JAN-78 09:14 PAGE 17
DEFINE -- LOCAL DEFINITIONS 7709.20
652 000140 FW.060=60*2
653 000140 FW.DR1=FW.060 ; LOAD DRAM A AND B EVEN
654 000142 FW.061=61*2
655 000142 FW.DR2=FW.061 ; LOAD DRAM A AND B ODD
656 000144 FW.062=62*2
657 000144 FW.DR3=FW.062 ; LOAD DRAM J COMMON
658 000146 FW.063=63*2
659 000146 FW.DJE=FW.063 ; LOAD DRAM J EVEN
660 000150 FW.064=64*2
661 000150 FW.DJO=FW.064 ; LOAD DRAM J ODD
662 000152 FW.065=65*2
663 000152 FW.IOJ=FW.065 ; DISABLE SPECIAL DECODE OF I/O AND JRST
664 000154 FW.066=66*2
665 000154 FW.IAC=FW.066 ; DISABLE IR AC OUTPUTS
666 000156 FW.067=67*2
667 000156 FW.KLO=FW.067 ; ENABLE KL OPCODES AND ACS
668
669 000160 FW.070=70*2
670 000160 FW.CHN=FW.070 ; CHANNEL CONTROL FUNCTIONS
671 000162 FW.071=71*2
672 000162 FW.MBX=FW.071 ; MBOX CONTROL FUNCTIONS
673 000164 FW.072=72*2
674 000166 FW.073=73*2
675 000170 FW.074=74*2
676 000172 FW.075=75*2
677 000174 FW.076=76*2
678 000174 FW.EBL=FW.076 ; EBUS REGISTER LOAD FUNCTION
679 000174 FW.SBR=FW.076 ; SBUS RESET FUNCTION
680 000176 FW.077=77*2
681 000176 FW.LAR=FW.077 ; LOAD AR REGISTER
DEFINE -- LOCAL DEFINITION MODU MACRO M1108 13-JAN-78 09:14 PAGE 18
DEFINE -- LOCAL DEFINITIONS 7709.20
683 ; DEFINE DIAGNOSTIC FUNCTION READ CODES
684
685 000200 FR.100=100*2
686 000200 FR.PI0=FR.100 ; PI BOARD READ 0
687 000202 FR.101=101*2
688 000202 FR.PI1=FR.101 ; PI BOARD READ 1
689 000204 FR.102=102*2
690 000206 FR.103=103*2
691 000210 FR.104=104*2
692 000212 FR.105=105*2
693 000214 FR.106=106*2
694 000216 FR.107=107*2
695
696 000220 FR.110=110*2
697 000220 FR.APR=FR.110 ; APR STATUS
698 000222 FR.111=111*2
699 000224 FR.112=112*2
700 000226 FR.113=113*2
701 000230 FR.114=114*2
702 000232 FR.115=115*2
703 000234 FR.116=116*2
704 000236 FR.117=117*2
705
706 000240 FR.120=120*2
707 000240 FR.RAR=FR.120 ; ARITHMETIC REGISTER [AR 00 - 35]
708 000242 FR.121=121*2
709 000242 FR.RBR=FR.121 ; BUFFER REGISTER [BR 00 - 35]
710 000244 FR.122=122*2
711 000244 FR.RMQ=FR.122 ; MQ REGISTER [MQ 00 - 35]
712 000246 FR.123=123*2
713 000246 FR.RFM=FR.123 ; FM REGISTER [FM 00 - 35]
714 000250 FR.124=124*2
715 000250 FR.BRX=FR.124 ; BR EXTENSION REGISTER [BRX 00 - 35]
716 000252 FR.125=125*2
717 000252 FR.ARX=FR.125 ; AR EXTENSION REGISTER [ARX 00 - 35]
718 000254 FR.126=126*2
719 000254 FR.ADX=FR.126 ; AD EXTENSION REGISTER [ADX 00 - 35]
720 000256 FR.127=127*2
721 000256 FR.RAD=FR.127 ; ADDER REGISTER [AD 00 - 35]
722
723 000260 FR.130=130*2
724 000260 FR.SC2=FR.130 ; SHIFT COUNT REGISTER 2
725 000260 FR.DA1=FR.130 ; DRAM ADDR 1
726 000262 FR.131=131*2
727 000262 FR.SC1=FR.131 ; SHIFT COUNT REGISTER 1
728 000262 FR.DA2=FR.131 ; DRAM ADDR 2
729 000264 FR.132=132*2
730 000264 FR.FE2=FR.132 ; FLOATING EXPONENT REGISTER 2
731 000266 FR.133=133*2
732 000266 FR.FE1=FR.133 ; FLOATING EXPONENT REGISTER 1
733 000270 FR.134=134*2
734 000272 FR.135=135*2
735 000274 FR.136=136*2
736 000276 FR.137=137*2
DEFINE -- LOCAL DEFINITION MODU MACRO M1108 13-JAN-78 09:14 PAGE 19
DEFINE -- LOCAL DEFINITIONS 7709.20
738 000300 FR.140=140*2
739 000302 FR.141=141*2
740 000302 FR.CRD=FR.141 ; READ CRAM DISP FIELD
741 000304 FR.142=142*2
742 000304 FR.SR2=FR.142 ; CRAM SBR RET 2
743 000306 FR.143=143*2
744 000306 FR.SR1=FR.143 ; CRAM SBR RET 1
745 000310 FR.144=144*2
746 000310 FR.CA2=FR.144 ; READ CRAM ADDRESS LOW
747 000310 FR.CR4=FR.CA2 ; CRAM DATA 60 - 78
748 000312 FR.145=145*2
749 000312 FR.CA1=FR.145 ; READ CRAM ADDRESS HIGH
750 000312 FR.CR3=FR.CA1 ; CRAM DATA 40 - 59
751 000314 FR.146=146*2
752 000314 FR.CR2=FR.146 ; CRAM DATA 20 - 39
753 000314 FR.CL2=FR.CR2 ; CRAM LOC 05 - 10
754 000316 FR.147=147*2
755 000316 FR.CR1=FR.147 ; CRAM DATA 00 - 19
756 000316 FR.CL1=FR.CR1 ; CRAM LOC 00 - 04
757
758 000320 FR.150=150*2
759 000320 FR.VM0=FR.150 ; VMA REGISTER 0
760 000322 FR.151=151*2
761 000322 FR.VM1=FR.151 ; VMA REGISTER 1
762 000324 FR.152=152*2
763 000324 FR.VM2=FR.152 ; VMA REGISTER 2
764 000326 FR.153=153*2
765 000326 FR.VM3=FR.153 ; VMA REGISTER 3
766 000330 FR.154=154*2
767 000330 FR.VM4=FR.154 ; VMA REGISTER 4
768 000332 FR.155=155*2
769 000332 FR.VM5=FR.155 ; VMA REGISTER 5
770 000334 FR.156=156*2
771 000334 FR.VM6=FR.156 ; VMA REGISTER 6
772 000336 FR.157=157*2
773 000336 FR.VM7=FR.157 ; VMA REGISTER 7
DEFINE -- LOCAL DEFINITION MODU MACRO M1108 13-JAN-78 09:14 PAGE 20
DEFINE -- LOCAL DEFINITIONS 7709.20
775 000340 FR.160=160*2
776 000342 FR.161=161*2
777 000344 FR.162=162*2
778 000346 FR.163=163*2
779 000350 FR.164=164*2
780 000352 FR.165=165*2
781 000354 FR.166=166*2
782 000356 FR.167=167*2
783 000356 FR.EBS=FR.167 ; [EBUS REG 00 THRU 35]
784
785 000360 FR.170=170*2
786 000362 FR.171=171*2
787 000364 FR.172=172*2
788 000366 FR.173=173*2
789 000370 FR.174=174*2
790 000372 FR.175=175*2
791 000374 FR.176=176*2
792 000376 FR.177=177*2
DEFINE -- LOCAL DEFINITION MODU MACRO M1108 13-JAN-78 09:14 PAGE 21
DEFINE -- LOCAL DEFINITIONS 7709.20
794 ; DEFINE EVENT FLAG CODES
795
796 000001 E.FHTO=^D1 ; KL HALT TIMEOUT EVENT FLAG
797 000002 E.FCID=^D2 ; CONSOLE DEVICE INPUT DONE EVENT FLAG
798 000003 E.FCOD=^D3 ; CONSOLE DEVICE OUTPUT DONE EVENT FLAG
799 000004 E.FKLN=^D4 ; KLINIK EVENT LOG DONE FLAG
800 .IF NE FTLIST
801 E.FLOD=^D5 ; LIST DEVICE OUTPUT DONE FLAG
802 .ENDC ; FTLIST
803
804 ; DEFINE LOCAL OFFSETS FOR "QIOW$" DPBS
805
806 000014 Q.IOPL=14 ; **TEMPORARY**
807 000014 Q.IBUF=Q.IOPL ; INPUT BUFFER ADDRESS
808 000014 Q.OBUF=Q.IOPL ; OUTPUT BUFFER ADDRESS
809 000016 Q.BYCT=Q.IOPL+2 ; BUFFER BYTE COUNT (INPUT AND OUTPUT)
810 000020 Q.OVFC=Q.IOPL+4 ; OUTPUT CARRIAGE CONTROL CHARACTER
811
812 ; DEFINE THE LOGICAL UNIT NUMBERS
813
814 000001 CIDLUN=1 ; CONSOLE INPUT DEVICE LUN
815 000002 CODLUN=2 ; CONSOLE OUTPUT DEVICE LUN
816 .IF NE FTLIST
817 LSTLUN=3 ; LIST DEVICE LUN
818 .ENDC ; FTLIST
819
820 ; DEFINE THE VERTICAL FORMAT CODES FOR "QIOW$"
821
822 000000 VF.INT=000 ; <NULL> INTERNAL FORMAT CONTROL
823 000040 VF.SSP=040 ; <SPACE> SINGLE SPACE ALL LINES
824 000060 VF.DSP=060 ; "0" DOUBLE SPACE ALL LINES
825 000061 VF.FFD=061 ; "1" FORM FEED BEFORE OUTPUT
826 000053 VF.OVR=053 ; "+" OVER PRINT THE LINE
827 000044 VF.PRM=044 ; "$" PRINT LINE AS A PROMPT
828
829 ; DEFINE SOME SPECIAL CHARACTERS
830
831 000054 .COMMA=54 ; COMMA
832 000040 .SPACE=40 ; SPACE
833 000033 .ATLMD=33 ; ALT-MODE
DEFINE -- LOCAL DEFINITION MODU MACRO M1108 13-JAN-78 09:14 PAGE 22
DEFINE -- LOCAL DEFINITIONS 7709.20
835 ; DEFINE THE BITS IN THE CHARACTER PROPERTY TABLE ".CHTAB" (Q.V.)
836
837 000000 CH.NUL=0 ; CHARACTER IS NULL
838 000001 CH.ALP=BIT00 ; CHARACTER IS ALPHABETIC
839 000002 CH.NUM=BIT01 ; CHARACTER IS NUMERIC
840 000004 CH.EOL=BIT02 ; CHARACTER MAY END A LINE
841 000010 CH.EOC=BIT03 ; CHARACTER MAY END A COMMAND
842 000020 CH.EOS=BIT04 ; CHARACTER MAY END A SYMBOL
843 000040 CH.PFX=BIT05 ; CHARACTER MAY PREFIX A SYMBOL
844 000100 CH.AOP=BIT06 ; CHARACTER IS AN ARITHMETIC OPERATOR
845 000200 CH.ILL=BIT07 ; CHARACTER IS ILLEGAL
846 000034 CH.END=CH.EOL!CH.EOC!CH.EOS ; CHARACTER IS AN END CHARACTER
847 000003 CH.ANM=CH.ALP!CH.NUM ; CHARACTER IS ALPHANUMERIC
848
849 ; DEFINE THE LEGAL BITS IN THE COMMAND TABLES (Q.V.)
850
851 000000 LG.NUL=0 ; NULL
852 000001 LG.OPR=BIT00 ; COMMAND IS LEGAL IN OPERATOR MODE
853 000002 LG.PRG=BIT01 ; COMMAND IS LEGAL IN PROGRAMMER MODE
854 000004 LG.MNT=BIT02 ; COMMAND IS LEGAL IN MAINTENANACE MODE
855 000010 LG.ARG=BIT03 ; COMMAND MAY ACCEPT ARGUMENTS
856 000020 LG.MAR=BIT04 ; COMMAND MAY ACCEPT MULTIPLE ARGUMENTS
857 000040 LG.MOD=BIT05 ; COMMAND MAY ACCEPT MODIFIERS
858 000100 LG.RNG=BIT06 ; COMMAND MAY ACCEPT RANGE ARGUMENTS
859 000200 LG.STR=BIT07 ; COMMAND MAY ACCEPT STRING ARGUMENTS
860 000400 LG.RPT=BIT08 ; COMMAND MAY BE REPEATED
861 000003 LG.PRM=LG.OPR!LG.PRG ; INSURE COMMAND IS LEGAL IN BOTH MODES
862 000007 LG.ALL=LG.PRM!LG.MNT ; INSURE COMMAND IS LEGAL IN ALL MODES
863
864 ; DEFINE THE TRAP STATUS CODES
865
866 000002 TC.CTC=2 ; CONTROL-C TRAP, ABORT, RESTART, AND RETURN
867 000001 TC.RST=1 ; ABORT PROCESS AND RESTART THE KL
868 000000 TC.ERR=0 ; ABORT PROCESS AND RETURN TO PARSER
869 000377 TC.CON=377 ; REPORT ERROR AND ATTEMPT RECOVERY
DEFINE -- LOCAL DEFINITION MODU MACRO M1108 13-JAN-78 09:14 PAGE 23
DEFINE -- LOCAL DEFINITIONS 7709.20
871 ; DEFINE KL OPCODES
872
873 000270 ADD=270 ; ADD
874 000273 ADDB=273 ; ADD TO BOTH
875 000271 ADDI=271 ; ADD IMMEDIATE
876 000272 ADDM=272 ; ADD TO MEMORY
877 ;
878 000404 AND=404 ; AND
879 000407 ANDB=407 ; AND TO BOTH
880 000410 ANDCA=410 ; AND COMPLEMENT OF AC
881 000413 ANDCAB=413 ; AND COMPLEMENT OF AC TO BOTH
882 000411 ANDCAI=411 ; AND COMPLEMENT OF AC IMMEDIATE
883 000412 ANDCAM=412 ; AND COMPLEMENT OF AC TO MEMORY
884 000440 ANDCB=440 ; AND COMPLEMENT OF BOTH
885 000443 ANDCBB=443 ; AND COMPLEMENT OF BOTH TO BOTH
886 000441 ANDCBI=441 ; AND COMPLEMENT OF BOTH IMMEDIATE
887 000442 ANDCBM=442 ; AND COMPLEMENT OF BOTH TO MEMORY
888 000420 ANDCM=420 ; AND COMPLEMENT OF MEMORY
889 000423 ANDCMB=423 ; AND COMPLEMENT OF MEMORY TO BOTH
890 000421 ANDCMI=421 ; AND COMPLEMENT OF MEMORY IMMEDIATE
891 000422 ANDCMM=422 ; AND COMPLEMENT OF MEMORY TO MEMORY
892 000405 ANDI=405 ; AND IMMEDIATE
893 000406 ANDM=406 ; AND TO MEMORY
894 ;
895 000253 AOBJN=253 ; ADD 1 TO BOTH HALVES, JUMP IF NEGATIVE
896 000252 AOBJP=252 ; ADD 1 TO BOTH HALVES, JUMP IF POSITIVE
897 ;
898 000340 AOJ=340 ; ADD 1 AND (DON'T) JUMP
899 000344 AOJA=344 ; ADD 1 AND JUMP ALWAYS
900 000342 AOJE=342 ; ADD 1 AND JUMP IF .EQ. 0
901 000347 AOJG=347 ; ADD 1 AND JUMP IF .GT. 0
902 000345 AOJGE=345 ; ADD 1 AND JUMP IF .GE. 0
903 000341 AOJL=341 ; ADD 1 AND JUMP IF .LT. 0
904 000343 AOJLE=343 ; ADD 1 AND JUMP IF .LE. 0
905 000346 AOJN=346 ; ADD 1 AND JUMP IF .NE. 0
906 ;
907 000350 AOS=350 ; ADD 1 AND (DON'T) SKIP
908 000354 AOSA=354 ; ADD 1 AND SKIP ALWAYS
909 000352 AOSE=352 ; ADD 1 AND SKIP IF .EQ. 0
910 000357 AOSG=357 ; ADD 1 AND SKIP IF .GT. 0
911 000355 AOSGE=355 ; ADD 1 AND SKIP IF .GT. 0
912 000351 AOSL=351 ; ADD 1 AND SKIP IF .LT. 0
913 000353 AOSLE=353 ; ADD 1 AND SKIP IF .LE. 0
914 000356 AOSN=356 ; ADD 1 AND SKIP IF .NE. 0
915 ;
916 000240 ASH=240 ; ARITHMETIC SHIFT
917 000244 ASHC=244 ; ARITHMETIC SHIFT COMBINED
918 ;
919 000251 BLT=251 ; BLOCK TRANSFER
DEFINE -- LOCAL DEFINITION MODU MACRO M1108 13-JAN-78 09:14 PAGE 24
DEFINE -- LOCAL DEFINITIONS 7709.20
921 000300 CAI=300 ; COMPARE AC IMMEDIATE, DON'T SKIP
922 000304 CAIA=304 ; COMPARE AC IMMEDIATE, SKIP ALWAYS
923 000302 CAIE=302 ; COMPARE AC IMMEDIATE, SKIP IF .EQ.
924 000307 CAIG=307 ; COMPARE AC IMMEDIATE, SKIP IF .GT.
925 000305 CAIGE=305 ; COMPARE AC IMMDEIATE, SKIP IF .GE.
926 000301 CAIL=301 ; COMAPRE AC IMMEDIATE, SKIP IF .LT.
927 000303 CAILE=303 ; COMPARE AC IMMEDIATE, SKIP IF .LE.
928 000306 CAIN=306 ; COMPARE AC IMMEDIATE, SKIP IF .NE.
929 ;
930 000040 CALL=040 ; "CALL" UUO
931 000047 CALLI=047 ; "CALLI" UUO
932 ;
933 000310 CAM=310 ; COMPARE AC TO MEMORY, DON'T SKIP
934 000314 CAMA=314 ; COMPARE AC TO MEMORY, ALWAYS SKIP
935 000312 CAME=312 ; COMPARE AC TO MEMORY, SKIP IF .EQ.
936 000317 CAMG=317 ; COMPARE AC TO MEMORY, SKIP IF .GT.
937 000315 CAMGE=315 ; COMPARE AC TO MEMORY, SKIP IF .GE.
938 000311 CAML=311 ; COMPARE AC TO MEMORY, SKIP IF .LT.
939 000313 CAMLE=313 ; COMPARE AC TO MEMORY, SKIP IF .LE.
940 000316 CAMN=316 ; COMPARE AC TO MEMORY, SKIP IF .NE.
941 ;
942 000400 CLEAR=400 ; CLEAR AC
943 000403 CLEARB=403 ; CLEAR BOTH
944 000401 CLEARI=401 ; CLEAR IMMEDIATE
945 000402 CLEARM=402 ; CLEAR MEMORY
946 ;
947 000070 CLOSE=070 ; "CLOSE" UUO
948 ;
949 000110 DFAD=110 ; DOUBLE FLOATING ADD
950 000113 DFDV=113 ; DOUBLE FLOATING DIVIDE
951 000112 DFMP=112 ; DOUBLE FLOATING MULTIPLY
952 000131 DFN=131 ; DOUBLE FLOATING NEGATE
953 000111 DFSB=111 ; DOUBLE FLOATING SUBTRACT
954 ;
955 000234 DIV=234 ; DIVIDE
956 000237 DIVB=237 ; DIVIDE BOTH
957 000235 DIVI=235 ; DIVIDE IMMEDIATE
958 000236 DIVM=236 ; DIVIDE MEMORY
959 ;
960 000120 DMOVE=120 ; DOUBLE MOVE
961 000124 DMOVEM=124 ; DOUBLE MOVE TO MEMORY
962 000121 DMOVN=121 ; DOUBLE MOVE NEGATED
963 000125 DMOVNM=125 ; DOUBLE MOVE NEGATED TO MEMORY
964 ;
965 000137 DPB=137 ; DEPOSIT BYTE
DEFINE -- LOCAL DEFINITION MODU MACRO M1108 13-JAN-78 09:14 PAGE 25
DEFINE -- LOCAL DEFINITIONS 7709.20
967 000077 ENTER=077 ; "ENTER" UUO
968 ;
969 000444 EQV=444 ; EQUIVALENCE TO AC
970 000447 EQVB=447 ; EQUIVALENCE TO BOTH
971 000445 EQVI=445 ; EQUIVALENCE IMMEDIATE
972 000446 EQVM=446 ; EQUIVALENCE TO MEMORY
973 ;
974 000250 EXCH=250 ; EXCHANGE
975 000123 EXTEND=123 ; EXTEND
976 ;
977 000140 FAD=140 ; FLOATING ADD
978 000143 FADB=143 ; FLOATING ADD BOTH
979 000141 FADL=141 ; FLOATING ADD LONG
980 000142 FADM=142 ; FLOATING ADD MEMORY
981 ;
982 000144 FADR=144 ; FLOATING ADD, ROUNDED
983 000147 FADRB=147 ; FLOATING ADD, ROUNDED TO BOTH
984 000145 FADRI=145 ; FLOATING ADD, ROUNDED IMMEDIATE
985 000146 FADRM=146 ; FLOATING ADD, ROUNDED TO MEMORY
986 ;
987 000170 FDV=170 ; FLOATING DIVIDE
988 000173 FDVB=173 ; FLOATING DIVIDE TO BOTH
989 000171 FDVL=171 ; FLOATING DIVIDE LONG
990 000172 FDVM=172 ; FLOATING DIVIDE TO MEMORY
991 ;
992 000174 FDVR=174 ; FLOATING DIVIDE, ROUNDED
993 000177 FDVRB=177 ; FLOATING DIVIDE, ROUNDED TO BOTH
994 000175 FDVRI=175 ; FLOATING DIVIDE, ROUNDED IMMMEDIATE
995 000176 FDVRM=176 ; FLOATING DIVIDE, ROUNDED TO MEMORY
996 ;
997 000122 FIX=122 ; FIX
998 000126 FIXR=126 ; FIX AND ROUND
999 ;
1000 000127 FLTR=127 ; FLOAT AND ROUND
1001 ;
1002 000160 FMP=160 ; FLOATING MULTIPLY
1003 000163 FMPB=163 ; FLOATING MULTIPLY TO BOTH
1004 000161 FMPL=161 ; FLOATING MULTIPLY LONG
1005 000162 FMPM=162 ; FLOATING MULTIPLY TO MEMORY
1006 ;
1007 000164 FMPR=164 ; FLOATING MUTIPLY ROUNDED
1008 000167 FMPRB=167 ; FLOATING MULTIPLY ROUNDED, TO BOTH
1009 000165 FMPRI=165 ; FLOATING MULTIPLY ROUNDED, IMMEDIATE
1010 000166 FMPRM=166 ; FLOATING MULTIPLY ROUNDED, TO MEMORY
1011 ;
1012 000150 FSB=150 ; FLOATING SUBTRACT
1013 000153 FSBB=153 ; FLOATING SUBTRACT TO BOTH
1014 000151 FSBL=151 ; FLOATING SUBTRACT LONG
1015 000152 FSBM=152 ; FLOATING SUBTRACT TO MEMORY
DEFINE -- LOCAL DEFINITION MODU MACRO M1108 13-JAN-78 09:14 PAGE 26
DEFINE -- LOCAL DEFINITIONS 7709.20
1017 000154 FSBR=154 ; FLOATING SUBTRACT ROUNDED
1018 000157 FSBRB=157 ; FLOATING SUBTRACT ROUNDED, TO BOTH
1019 000155 FSBRI=155 ; FLOATING SUBTRACT ROUNDED, IMMEDIATE
1020 000156 FSBRM=156 ; FLOATING SUBTRACT ROUNDED, TO MEMORY
1021 ;
1022 000132 FSC=132 ; FLOATING SCALE
1023 ;
1024 000062 GETSTS=062 ; "GETSTS" UUO
1025 ;
1026 000500 HLL=500 ; HALFWORD LEFT TO LEFT
1027 000530 HLLE=530 ; " " " " EXTEND
1028 000531 HLLEI=531 ; " " " " " IMMEDIATE
1029 000532 HLLEM=532 ; " " " " " TO MEMORY
1030 000533 HLLES=533 ; " " " " " TO SELF
1031 ;
1032 000501 HLLI=501 ; HALFWORD LEFT TO LEFT IMMEDIATE
1033 000502 HLLM=502 ; " " " " TO MEMORY
1034 ;
1035 000520 HLLO=520 ; " " " " ONES
1036 000521 HLLOI=521 ; " " " " " IMMEDIATE
1037 000522 HLLOM=522 ; " " " " " MEMORY
1038 000523 HLLOS=523 ; " " " " " SELF
1039 ;
1040 000503 HLLS=503 ; HALFWORD LEFT TO LEFT SELF
1041 ;
1042 000510 HLLZ=510 ; HALFWORD LEFT TO LEFT ZERO, ET AL.
1043 000511 HLLZI=511
1044 000512 HLLZM=512
1045 000513 HLLZS=513
1046 ;
1047 000544 HLR=544 ; HALFWORD LEFT TO RIGHT
1048 ;
1049 000574 HLRE=574 ; HALFWORD LEFT TO RIGHT EXTEND, ET AL.
1050 000575 HLREI=575
1051 000576 HLREM=576
1052 000577 HLRES=577
1053 ;
1054 000564 HLRO=564 ; HALFWORD LEFT TO RIGHT ONES, ET AL.
1055 000565 HLROI=565
1056 000566 HLROM=566
1057 000567 HLROS=567
1058 ;
1059 000547 HLRS=547 ; HALFWORD LEFT TO RIGHT SELF
1060 ;
1061 000554 HLRZ=554 ; HALFWORD LEFT TO RIGHT ZEROS, ET AL.
1062 000555 HLRZI=555
1063 000556 HLRZM=556
1064 000557 HLRZS=557
DEFINE -- LOCAL DEFINITION MODU MACRO M1108 13-JAN-78 09:14 PAGE 27
DEFINE -- LOCAL DEFINITIONS 7709.20
1066 000504 HRL=504 ; HALFWORD RIGHT TO LEFT
1067 ;
1068 000534 HRLE=534 ; HALFWORD RIGHT TO LEFT EXTEND, ET AL.
1069 000535 HRLEI=535
1070 000536 HRLEM=536
1071 000537 HRLES=537
1072 ;
1073 000505 HRLI=505 ; HALFWORD RIGHT TO LEFT IMMEDIATE
1074 000506 HRLM=506 ; " " " " MEMORY
1075 ;
1076 000564 HRLO=564 ; HALFWORD RIGHT TO LEFT ONES, ET AL.
1077 000565 HRLOI=565
1078 000566 HRLOM=566
1079 000567 HRLOS=567
1080 ;
1081 000507 HRLS=507 ; HALFWORD RIGHT TO LEFT SELF
1082 ;
1083 000514 HRLZ=514 ; HALFWORD RIGHT TO LEFT ZERO, ET AL.
1084 000515 HRLZI=515
1085 000516 HRLZM=516
1086 000517 HRLZS=517
1087 ;
1088 000540 HRR=540 ; HALFWORD RIGHT TO RIGHT
1089 ;
1090 000570 HRRE=570 ; HALFWORD RIGHT TO RIGHT EXTEND, ET AL.
1091 000571 HRREI=571
1092 000572 HRREM=572
1093 000573 HRRES=573
1094 ;
1095 000541 HRRI=541 ; HALFWORD RIGHT TO RIGHT IMMEDIATE
1096 000542 HRRM=542 ; " " " " MEMORY
1097 ;
1098 000560 HRRO=560 ; HALFWORD RIGHT TO RIGHT ONES, ET AL.
1099 000561 HRROI=561
1100 000562 HRROM=562
1101 000563 HRROS=563
1102 ;
1103 000543 HRRS=543
1104 ;
1105 000550 HRRZ=550 ; HALFWORD RIGHT TO RIGHT ZERO, ET AL.
1106 000551 HRRZI=551
1107 000552 HRRZM=552
1108 000553 HRRZS=553
DEFINE -- LOCAL DEFINITION MODU MACRO M1108 13-JAN-78 09:14 PAGE 28
DEFINE -- LOCAL DEFINITIONS 7709.20
1110 000133 IBP=133 ; INCREMENT BYTE POINTER
1111 ;
1112 000230 IDIV=230 ; INTEGER DIVIDE
1113 000233 IDIVB=233 ; " " BOTH
1114 000231 IDIVI=231 ; " " IMMEDIATE
1115 000232 IDIVM=232 ; " " MEMORY
1116 ;
1117 000136 IDPB=136 ; INCREMENT AND DEPOSIT BYTE
1118 ;
1119 000134 ILDB=134 ; DECREMENT AND LOAD BYTE
1120 ;
1121 000220 IMUL=220 ; INTEGER MULTIPLY
1122 000223 IMULB=223 ; " " BOTH
1123 000221 IMULI=221 ; " " IMMEDIATE
1124 000222 IMULM=222 ; " " MEMORY
1125 ;
1126 000056 IN=056 ; "IN" UUO
1127 000064 INBUF=064 ; "INBUF" UUO
1128 000041 INIT=041 ; "INIT" UUO
1129 000066 INPUT=066 ; "INPUT" UUO
1130 ;
1131 000434 IOR=434 ; INCLUSIVE OR, ET AL.
1132 000437 IORB=437
1133 000435 IORI=435
1134 000436 IORM=436
1135 ;
1136 000255 JFCL=255 ; JUMP ON FLAGS AND CLEAR
1137 ;
1138 000243 JFFO=243 ; JUMP IF FOUND FIRST 1
1139 ;
1140 000267 JRA=267 ; JUMP AND RESTORE AC
1141 ;
1142 000254 JRST=254 ; JUMP AND RESTORE (PC FLAGS)
1143 ;
1144 000266 JSA=266 ; JUMP AND SAVE AC
1145 ;
1146 000265 JSP=265 ; JUMP AND SAVE PC
1147 ;
1148 000264 JSR=264 ; JUMP TO SUBROUTINE
1149 ;
1150 000104 JSYS=104 ; JSYS CALL
1151 ;
1152 000320 JUMP=320 ; JUMP (NEVER)
1153 000324 JUMPA=324 ; JUMP ALWAYS
1154 000322 JUMPE=322 ; JUMP IF AC .EQ. 0
1155 000327 JUMPG=327 ; JUMP IF AC .GT. 0
1156 000325 JUMPGE=325 ; JUMP IF AC .GE. 0
1157 000321 JUMPL=321 ; JUMP IF AC .LT. 0
1158 000323 JUMPLE=323 ; JUMP IF AC .LE. 0
1159 000326 JUMPN=326 ; JUMP IF AC .NE. 0
1160 ;
1161 000700 KLIOT=700 ; KL I/O INSTRUCTION BASE
DEFINE -- LOCAL DEFINITION MODU MACRO M1108 13-JAN-78 09:14 PAGE 29
DEFINE -- LOCAL DEFINITIONS 7709.20
1163 000135 LDB=135 ; LOAD BYTE
1164 ;
1165 000076 LOOKUP=076 ; "LOOKUP" UUO
1166 ;
1167 000242 LSH=242 ; LOGICAL SHIFT
1168 000246 LSHC=246 ; LOGICAL SHIFT COMBINED
1169 ;
1170 000257 MAP=257 ; MAP PAGED ADDRESS
1171 ;
1172 000200 MOVE=200 ; MOVE
1173 000201 MOVEI=201 ; MOVE IMMEDIATE
1174 000202 MOVEM=202 ; MOVE TO MEMORY
1175 000203 MOVES=203 ; MOVE TO SELF
1176 ;
1177 000214 MOVM=214 ; MOVE MAGNITUDE, ET AL.
1178 000215 MOVMI=215
1179 000216 MOVMM=216
1180 000217 MOVMS=217
1181 ;
1182 000210 MOVN=210 ; MOVE NEGATED, ET AL.
1183 000211 MOVNI=211
1184 000212 MOVNM=212
1185 000213 MOVNS=213
1186 ;
1187 000204 MOVS=204 ; MOVE SWAPPED, ET AL.
1188 000205 MOVSI=205
1189 000206 MOVSM=206
1190 000207 MOVSS=207
1191 ;
1192 000224 MUL=224 ; MULTIPLY
1193 000227 MULB=227 ; MULTIPLY BOTH
1194 000225 MULI=225 ; MULTIPLY IMMEDIATE
1195 000226 MULM=226 ; MULTIPLY MEMORY
1196 ;
1197 000050 OPEN=050 ; "OPEN" UUO
1198 ;
1199 000434 OR=IOR ; (INCLUSIVE) OR, ET AL.
1200 000437 ORB=IORB
1201 ;
1202 000454 ORCA=454 ; OR WITH COMPLEMENT OF AC
1203 000457 ORCAB=457 ; " " " " " BOTH
1204 000455 ORCAI=455 ; " " " " " IMMEDIATE
1205 000456 ORCAM=456 ; " " " " " MEMORY
DEFINE -- LOCAL DEFINITION MODU MACRO M1108 13-JAN-78 09:14 PAGE 30
DEFINE -- LOCAL DEFINITIONS 7709.20
1207 000470 ORCB=470 ; OR WITH COMPLEMENT OF BOTH, ET AL.
1208 000473 ORCBB=473
1209 000471 ORCBI=471
1210 000472 ORCBM=472
1211 ;
1212 000464 ORCM=464 ; OR WITH COMPLEMENT OF MEMORY, ET AL.
1213 000467 ORCMB=467
1214 000465 ORCMI=465
1215 000466 ORCMM=466
1216 ;
1217 000435 ORI=IORI ; (INCLUSIVE) OR, ET AL.
1218 000436 ORM=IORM
1219 ;
1220 000057 OUT=057 ; "OUT" UUO
1221 000065 OUTBUF=065 ; "OUTBUF" UUO
1222 000067 OUTPUT=067 ; "OUTPUT" UUO
1223 ;
1224 000262 POP=262 ; POP
1225 000263 POPJ=263 ; POP (RETURN) AND JUMP
1226 ;
1227 000261 PUSH=261 ; PUSH
1228 000260 PUSHJ=260 ; PUSH (RETURN) AND JUMP
1229 ;
1230 000071 RELEAS=071 ; "RELEAS(E)" UUO
1231 000055 RENAME=055 ; "RENAME" UUO
1232 ;
1233 000241 ROT=241 ; ROTATE
1234 000245 ROTC=245 ; ROTATE COMBINED
1235 ;
1236 000424 SETA=424 ; SET TO AC
1237 000427 SETAB=427 ; " " " BOTH
1238 000425 SETAI=425 ; " " " IMMEDIATE
1239 000426 SETAM=426 ; " " " MEMORY
1240 ;
1241 000450 SETCA=450 ; SET TO COMPLEMENT OF AC, ET AL.
1242 000453 SETCAB=453
1243 000451 SETCAI=451
1244 000452 SETCAM=452
1245 ;
1246 000460 SETCM=460 ; SET TO COMLEMENT OF MEMORY, ET AL.
1247 000463 SETCMB=463
1248 000461 SETCMI=461
1249 000462 SETCMM=462
DEFINE -- LOCAL DEFINITION MODU MACRO M1108 13-JAN-78 09:14 PAGE 31
DEFINE -- LOCAL DEFINITIONS 7709.20
1251 000414 SETM=414 ; SET TO MEMORY, ET AL
1252 000417 SETMB=417
1253 000415 SETMI=415
1254 000416 SETMM=416
1255 ;
1256 000474 SETO=474 ; SET TO ONES, ET AL.
1257 000477 SETOB=477
1258 000475 SETOI=475
1259 000476 SETOM=476
1260 ;
1261 000060 SETSTS=060 ; "SETSTS" UUO
1262 ;
1263 000400 SETZ=400 ; SET TO ZEROS, ET AL
1264 000403 SETZB=403
1265 000401 SETZI=401
1266 000402 SETZM=402
1267 ;
1268 000330 SKIP=330 ; SKIP (NEVER)
1269 000334 SKIPA=334 ; SKIP ALWAYS
1270 000332 SKIPE=332 ; SKIP IF MEMORY .EQ. 0
1271 000337 SKIPG=337 ; SKIP IF MEMORY .GT. 0
1272 000335 SKIPGE=335 ; SKIP IF MEMORY .GE. 0
1273 000331 SKIPL=331 ; SKIP IF MEMORY .LT. 0
1274 000333 SKIPLE=333 ; SKIP OF MEMORY .LE. 0
1275 000336 SKIPN=336 ; SKIP IF MEMORY .NE. 0
1276 ;
1277 000360 SOJ=360 ; SUBTRACT 1 AND NEVER JUMP
1278 000364 SOJA=364 ; SUBTRACT 1 (FROM AC) AND ALWAYS JUMP
1279 000362 SOJE=362 ; SUBTRACT 1 AND JUMP IF AC .EQ. 0
1280 000367 SOJG=367 ; SUBTRACT 1 AND JUMP IF AC .GT. 0
1281 000365 SOJGE=365 ; SUBTRACT 1 AND JUMP IF AC .GE. 0
1282 000361 SOJL=361 ; SUBTRACT 1 AND JUMP IF AC .LT. 0
1283 000363 SOJLE=363 ; SUBTRACT 1 AND JUMP IF AC .LE. 0
1284 000366 SOJN=366 ; SUBTRACT 1 AND JUMP IF AC .NE. 0
1285 ;
1286 000370 SOS=370 ; SUBTRACT 1 (FROM MEMORY) AND NEVER SKIP
1287 000374 SOSA=374 ; SUBTRACT 1 AND ALWAYS SKIP
1288 000372 SOSE=372 ; SUBTRACT 1 AND SKIP IF .EQ. 0
1289 000377 SOSG=377 ; SUBTRACT 1 AND SKIP IF .GT. 0
1290 000375 SOSGE=375 ; SUBTRACT 1 AND SKIP IF .GE. 0
1291 000371 SOSL=371 ; SUBTRACT 1 AND SKIP IF .LT. 0
1292 000373 SOSLE=373 ; SUBTRACT 1 AND SKIP IF .LE. 0
1293 000376 SOSN=376 ; SUBTRACT 1 AND SKIP IF .NE. 0
1294 ;
1295 000061 STATO=061 ; "STATO" UUO
1296 000062 STATUS=062 ; "STATUS" UUO
1297 000063 STATZ=063 ; "STATZ" UUO
DEFINE -- LOCAL DEFINITION MODU MACRO M1108 13-JAN-78 09:14 PAGE 32
DEFINE -- LOCAL DEFINITIONS 7709.20
1299 000274 SUB=274 ; SUBTRACT
1300 000277 SUBB=277 ; SUBTRACT BOTH
1301 000275 SUBI=275 ; SUBTRACT IMMEDIATE
1302 000276 SUBM=276 ; SUBTRACT MEMORY
1303 ;
1304 000106 SXCT=106 ; SECTION EXECUTE
1305 ;
1306 000650 TDC=650 ; TEST DIRECT COMPLEMENT NEVER SKIP
1307 000654 TDCA=654 ; " " " SKIP ALWAYS
1308 000652 TDCE=652 ; " " " " ON ZERO
1309 000656 TDCN=656 ; " " " " ON NON-ZERO
1310 ;
1311 000610 TDN=610 ; TEST DIRECT NO MODIFICATION, ET AL.
1312 000614 TDNA=614
1313 000612 TDNE=612
1314 000616 TDNN=616
1315 ;
1316 000670 TDO=670 ; TEST DIRECT ONES, ET AL.
1317 000674 TDOA=674
1318 000672 TDOE=672
1319 000676 TDON=676
1320 ;
1321 000630 TDZ=630 ; TEST DIRECT ZEROS, ET AL.
1322 000634 TDZA=634
1323 000632 TDZE=632
1324 000636 TDZN=636
1325 ;
1326 000641 TLC=641 ; TEST LEFT COMPLEMENT, ET AL.
1327 000645 TLCA=645
1328 000643 TLCE=643
1329 000647 TLCN=647
1330 ;
1331 000601 TLN=601 ; TEST LEFT NO MODIFICATION, ET AL.
1332 000605 TLNA=605
1333 000603 TLNE=603
1334 000607 TLNN=607
1335 ;
1336 000661 TLO=661 ; TEST LEFT ONES, ET AL.
1337 000665 TLOA=665
1338 000663 TLOE=663
1339 000667 TLON=667
1340 ;
1341 000621 TLZ=621 ; TEST LEFT ZEROS, ET AL.
1342 000625 TLZA=625
1343 000623 TLZE=623
1344 000627 TLZN=627
1345 ;
1346 000640 TRC=640 ; TEST RIGHT COMPLEMENT, ET AL.
1347 000644 TRCA=644
1348 000642 TRCE=642
1349 000646 TRCN=646
DEFINE -- LOCAL DEFINITION MODU MACRO M1108 13-JAN-78 09:14 PAGE 33
DEFINE -- LOCAL DEFINITIONS 7709.20
1351 000600 TRN=600 ; TEST RIGHT NO MODIFICATION, ET AL.
1352 000604 TRNA=604
1353 000602 TRNE=602
1354 000606 TRNN=606
1355 ;
1356 000660 TRO=660 ; TEST RIGHT ONES, ET AL.
1357 000664 TROA=664
1358 000662 TROE=662
1359 000666 TRON=666
1360 ;
1361 000620 TRZ=620 ; TEST RIGHT ZEROS, ET AL.
1362 000624 TRZA=624
1363 000622 TRZE=622
1364 000626 TRZN=626
1365 ;
1366 000651 TSC=651 ; TEST SWAPPED COMLEMENT, ET AL.
1367 000655 TSCA=655
1368 000653 TSCE=653
1369 000657 TSCN=657
1370 ;
1371 000611 TSN=611 ; TEST SWAPPED NO MODIFICATION, ET AL.
1372 000615 TSNA=615
1373 000613 TSNE=613
1374 000617 TSNN=617
1375 ;
1376 000671 TSO=671 ; TEST SWAPPED ONES, ET AL.
1377 000675 TSOA=675
1378 000673 TSOE=673
1379 000677 TSON=677
1380 ;
1381 000631 TSZ=631 ; TEST SWAPPED ZEROS, ET AL.
1382 000635 TSZA=635
1383 000633 TSZE=633
1384 000637 TSZN=637
1385 ;
1386 000051 TTCALL=051 ; "TTCALL" UUO
1387 ;
1388 000073 UGETF=073 ; "UGETF" UUO
1389 ;
1390 000100 UJEN=100 ; "UJEN" CALL
1391 ;
1392 000074 USETI=074 ; "USETI" UUO
1393 000075 USETO=075 ; "USETO" UUO
1394 ;
1395 000256 XCT=256 ; EXECUTE
1396 ;
1397 000430 XOR=430 ; EXCLUSIVE OR, ET AL.
1398 000433 XORB=433
1399 000431 XORI=431
1400 000432 XORM=432
1401
1402 .SBTTL COPYRIGHT PAGE
1403
1404 .IIF NDF FTLCMN,.LIST
DATAB -- COMMAND PARSER DATA BA MACRO M1108 13-JAN-78 09:14 PAGE 34
COPYRIGHT PAGE
1406 .TITLE DATAB -- COMMAND PARSER DATA BASE 7709.20
1407
1408 .IDENT "003070"
1409
1410 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
1411 ;
1412 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
1413 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
1414 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
1415 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
1416 ; FOR ITS ACCURACY.
1417 ;
1418 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
1419 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
1420 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
1421 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
1422 ;
1423 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
1424 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
1425 ;
1426 ;
1427 ; MODULE: COMMAND PARSER DATA BASE
1428 ;
1429 ; VERSION: 03-07
1430 ;
1431 ; AUTHOR: R. BELANGER
1432 ;
1433 ; DATE: 7709.20
1434 ;
1435 ; THIS MODULE CONTAINS:
1436 ;
1437 ; 1) THE IMPURE DATA BASE FOR THE COMMAND PARSER
1438 ;
DATAB -- COMMAND PARSER DATA BA MACRO M1108 13-JAN-78 09:14 PAGE 35
COPYRIGHT PAGE
1440 .MACRO PARVR$ KEY,FRM,VER,EDT,NUM
1441 .IF B,NUM
1442 .IF NB,FRM
1443 PARVR$ \KEY,\FRM,\VER,\EDT,0
1444 .IFF
1445 PARVR$ \KEY,200,\VER,\EDT,0
1446 .ENDC
1447 .MEXIT
1448 .IFF
1449 .IF GE,VER-10
1450 .IF GE,EDT-10
1451 .ASCIZ <KEY><FRM>\'VER'-'EDT'\<200>
1452 .IFF
1453 .ASCIZ <KEY><FRM>\'VER'-0'EDT'\<200>
1454 .ENDC
1455 .IFF
1456 .IF GE,EDT-10
1457 .ASCIZ <KEY><FRM>\0'VER'-'EDT'\<200>
1458 .IFF
1459 .ASCIZ <KEY><FRM>\0'VER'-0'EDT'\<200>
1460 .ENDC
1461 .ENDC
1462 .ENDC
1463 .ENDM PARVR$
DATAB -- COMMAND PARSER DATA BA MACRO M1108 13-JAN-78 09:14 PAGE 36
DATAB -- COMMAND PARSER IMPURE DATA BASE 7709.20
1465 .SBTTL DATAB -- COMMAND PARSER IMPURE DATA BASE 7709.20
1466
1467 ; COMMAND PARSER VARIABLES ARE MAINTAINED IN THIS AREA
1468
1469 000000 .APRWD::
1470 000000 000000 .WORD 0 ; KL APR ERROR STATUS WORD
1471 000002 .CCMDN::
1472 000002 000021' .WORD PARNAM ; POINTER TO CURRENT COMMAND NAME
1473 000004 .CISTS::
1474 000004 000000 000000 .WORD 0,0 ; I/O STATUS BLOCK FOR CONSOLE INPUT
1475 000010 .CLKWD::
1476 000010 100000 .WORD BIT15 ; KL CLOCK CONTROL WORD
1477 000012 .COSTS::
1478 000012 000000 000000 .WORD 0,0 ; I/O STATUS BLOCK FOR CONSOLE OUTPUT
1479 .IF NE FTCRAM
1480 .CRAMA::
1481 .WORD 0 ; KL CRAM ADDRESSS
1482 .CRAMR::
1483 .WORD 0,0,0 ; BLOCK FOR KL CRAM READ
1484 .WORD 0,0,0
1485 .WORD 0,0,0
1486 .CRAMW::
1487 .WORD 0,0,0 ; BLOCK FOR CRAM WRITE
1488 .WORD 0,0,0
1489 .WORD 0,0,0
1490 .ENDC ; FTCRAM
1491 .IF NE FTDEBUG
1492 000016 .DBGSW::
1493 000016 000000 .WORD 0 ; DEBUG SWITCH
1494 .ENDC ; FTDEBUG
1495 000020 .DPBFR::
1496 000020 000000 000000 000000 .WORD 0,0,0 ; KL DEPOSIT DATA BUFFER
1497 000026 .DPBFX::
1498 000026 000000 000000 000000 .WORD 0,0,0 ; KL AUXILLIARY DEPOSIT DATA BUFFER
1499 .IF NE FTDRAM
1500 .DRAMA::
1501 .WORD 0 ; KL DRAM ADDRESS
1502 .DRAMR::
1503 .WORD 0,0,0 ; BLOCK FOR DRAM READ
1504 .DRAMW::
1505 .WORD 0,0,0 ; BLOCK FOR DRAM WRITE
1506 .ENDC ; FTDRAM
1507 000034 .EDELA::
1508 000034 000000 .WORD 0 ; LAST PDP-11 EXAMINE / DEPOSIT ADDRESS
1509 000036 .EDKLA::
1510 000036 000000 000000 000000 .WORD 0,0,0 ; KL EXAMINE / DEPOSIT ADDRESS BUFFER
1511 000044 .EDKLX::
1512 000044 000000 000000 000000 .WORD 0,0,0 ; KL AUXILLIARY EXAM / DEPOS ADDRESS BUFFER
1513 000052 .ELDDW::
1514 000052 000000 .WORD 0 ; LAST PDP-11 DEPOSIT DATA
1515 000054 .ELEDW::
1516 000054 000000 .WORD 0 ; LAST PDP-11 EXAMINE DATA
1517 000056 .EXBFR::
1518 000056 000000 000000 000000 .WORD 0,0,0 ; KL EXAMINE DATA BUFFER
1519 000064 .INCHC::
1520 000064 000000 .WORD 0 ; INPUT CHARACTER COUNT
1521 000066 .IRADX::
DATAB -- COMMAND PARSER DATA BA MACRO M1108 13-JAN-78 09:14 PAGE 36-1
DATAB -- COMMAND PARSER IMPURE DATA BASE 7709.20
1522 000066 000010 .WORD ^D8 ; INPUT RADIX
1523 000070 .KLINC::
1524 000070 000001 000000 000000 .WORD ^D1,0,0 ; KL EXAMINE DEPOSIT INCREMENT
1525 .IF NE FTLIST
1526 .LDSTS::
1527 .WORD 0,0 ; I/O STATUS BLOCK FOR LIST DEVICE
1528 .ENDC ; FTLIST
1529 000076 .LGLWD::
1530 000076 000000 .WORD 0 ; LEGAL BITS OF CURRENT COMMAND
1531 000100 .LDZFL::
1532 000100 177777 .WORD -^D1 ; PRINT LEADING ZEROES FLAG
1533 000102 .MEMFL::
1534 000102 000000 .WORD 0 ; EXAMINE DEPOSIT MEMORY OFFSET
1535 000104 .NOTSW::
1536 000104 000000 .WORD 0 ; "NOT" SWITCH
1537 000106 .ORADX::
1538 000106 000010 .WORD ^D8 ; OUTPUT RADIX
1539 000110 .PEWRD::
1540 000110 000000 .WORD 0 ; KL PARITY ERROR FLAGS
1541 000112 .PITAB::
1542 000112 000000 000000 .WORD 0,0 ; EXAMINE PI DATA BLOCK
1543 000116 .PSCWD::
1544 000116 100000 .WORD BIT15 ; KL PARITY STOP CONTROL WORD
1545 000120 .RDXSV::
1546 000120 000010 .WORD ^D8 ; SAVED RADIX
1547 000122 .RELWD::
1548 000122 000000' .WORD .APRWD ; RELOCATION VALUE
1549 000124 .RPTCT::
1550 000124 000000 000000 000000 .WORD 0,0,0 ; REPEAT COUNT
1551 000132 .RPTPT::
1552 000132 000000 .WORD 0 ; POINTER TO STACKED REPEAT COUNT
1553 000134 .STRTV::
1554 000134 026156' .WORD .START ; START VECTOR
1555 000136 .SVESP::
1556 000136 000000 .WORD 0 ; TO REINIT STACK POINTER
1557 000140 .SVKLF::
1558 000140 000000 .WORD 0 ; SAVED COPY OF ".KLFLG"
1559 .IF NE FTTRAK
1560 000142 .TRKWD::
1561 000142 000000 .WORD 0 ; "TRACK" FLAGS
1562 .ENDC ; FTTRAK
1563 000144 .TRP4V::
1564 000144 017130' .WORD .PTOAT ; TRAP AT 4 VECTOR
1565 000146 .TRPEC::
1566 000146 000000 .WORD 0 ; ERROR CODE RETURNED FROM TRAP
1567 000150 .TRPIP::
1568 000150 000002 .WORD ^D2 ; TRAP IN PROGRESS INTERLOCK
1569 000152 .TRPPC::
1570 000152 000000 .WORD 0 ; TRAP PC
1571 000154 .TRPPS::
1572 000154 000000 .WORD 0 ; TRAP PSW
1573 000156 .TRPSB::
1574 000156 000000 .WORD 0 ; TRAP STATUS BYTE
1575 000160 .TRPTV::
1576 000160 000000 .WORD 0 ; TRAP TRAP VECTOR
1577 000162 .TYOBC::
1578 000162 000204 .WORD ^D132 ; CONSOLE OUTPUT BYTE COUNT
DATAB -- COMMAND PARSER DATA BA MACRO M1108 13-JAN-78 09:14 PAGE 36-2
DATAB -- COMMAND PARSER IMPURE DATA BASE 7709.20
1579 000164 .TYOBP::
1580 000164 000454' .WORD .COBFR ; CONSOLE OUTPUT BYTE POINTER
1581 000166 .VFYFL::
1582 000166 000000 .WORD 0 ; DEPOSIT VERIFY FLAG
1583 000170 DATABX:
1584 000170 000137 014052' JMP .INICP ; EXIT TO INIT
DATAB -- COMMAND PARSER DATA BA MACRO M1108 13-JAN-78 09:14 PAGE 37
.SSTTB -- SYNCHRONOUS SYSTEM TRAP VECTOR TABLE 7709.20
1586 .SBTTL .SSTTB -- SYNCHRONOUS SYSTEM TRAP VECTOR TABLE 7709.20
1587
1588 ; +
1589 ; .SSTTB -- SYNCHRONOUS SYSTEM TRAP VECTOR TABLE.
1590 ;
1591 ; THESE ARE THE ENTRY POINTS FOR ALL SYNCHRONOUS TRAPS IN THE KL FRONT
1592 ; END COMMAND PARSER. THE PARSER USES SYNCHRONOUS TRAPS, (SST'S),
1593 ; PRIMARILY TO HANDLE INTERNAL ERRORS VIA THE "TRAP" INSTRUCTION. SST'S
1594 ; MAY ALSO BE USED TO HANDLE ODD ADDRESS TRAPS, BREAKPOINTS, AND OTHER
1595 ; ERROR CONDITIONS, AS WELL AS THE PREVIOUSLY MENTIONED ERROR TRAPS.
1596 ;
1597 ; SYNCHRONOUS TRAPS ARE ENABLED BY THE "SVTK$" DIRECTIVE (Q.V.) AS
1598 ; ALLOWED BY THE ENTRIES IN ".SSTTB", THE SST VECTOR TABLE, BELOW.
1599 ; A NON-ZERO ENTRY IN ".SSTTB" INDICATES THAT CONTROL IS TO BE PASSED
1600 ; TO THE ADDRESS IN THAT ENTRY UPON OCCURANCE OF THE ASSOCIATED
1601 ; CONDITION. A ZERO ENTRY IN THE VECTOR TABLE INDICATES THAT THE
1602 ; SYSTEM IS TO HANDLE THE ASSOCIATED CONDITION.
1603 ;
1604 ; THE FORMAT OF THE SST VECTOR TABLE IS AS FOLLOWS:
1605 ;
1606 ; !===============================================!
1607 ; 00 ! ODD ADDRESS TRAP HANDLER ADDRESS !
1608 ; !-----------------------------------------------!
1609 ; 02 ! MEMORY PROTECTION VIOLATION HANDLER ADDRESS !
1610 ; !-----------------------------------------------!
1611 ; 04 ! T-BIT TRAP HANDLER ADDRESS !
1612 ; !-----------------------------------------------!
1613 ; 06 ! IOT TRAP HANDLER ADDRESS !
1614 ; !-----------------------------------------------!
1615 ; 10 ! RESERVED INSTRUCTION TRAP HANDLER ADDRESS !
1616 ; !-----------------------------------------------!
1617 ; 12 ! ILLEGAL EMT TRAP HANDLER ADDRESS !
1618 ; !-----------------------------------------------!
1619 ; 14 ! TRAP INSTRUCTION TRAP HANDLER ADDRESS !
1620 ; !-----------------------------------------------!
1621 ; 16 ! FLOATING POINT TRAP HANDLER ADDRESS !
1622 ; !===============================================!
1623 ;-
1624
1625 000174 .SSTTB::
1626 000174 000000 .WORD 0 ; ODD ADDRESS TRAP HANDLER
1627 000176 000000 .WORD 0 ; MEMORY PROTECTION VIOLATION
1628 000200 000000 .WORD 0 ; BREAKPOINT TRAP HANDLER
1629 000202 000000 .WORD 0 ; "IOT" INSTRUCTION TRAP
1630 000204 000000 .WORD 0 ; RESERVED INSTRUCTION TRAP
1631 000206 000000 .WORD 0 ; NON-STANDARD EMT TRAP
1632 000210 017306' .WORD .PTTRP ; "TRAP" INSTRUCTION TRAP
1633 000212 000000 .WORD 0 ; FLOATING POINT TRAP
1634 000010 SSTLEN==.-.SSTTB/2 ; LENGTH OF THIS TABLE
1635 000212' SSTTBE==.-2
DATAB -- COMMAND PARSER DATA BA MACRO M1108 13-JAN-78 09:14 PAGE 38
DATAB -- DTE-20 OPERATION BUFFERS 7709.20
1637 .SBTTL DATAB -- DTE-20 OPERATION BUFFERS 7709.20
1638
1639 000214 .DFBLK::
1640 000214 .DFWB::
1641 000214 000000 000000 000000 .WORD 0,0,0 ; FUNCTION WRITE BUFFER
1642 000222 .DFRB::
1643 000222 000000 000000 000000 .WORD 0,0,0 ; FUNCTION READ BUFFER
1644
1645 000230 .DREG::
1646 000230 .DTDI1::
1647 000230 000000 .WORD 0 ; DTE-20 DIAG WORD 1 BUFFER
1648 000232 .DTDI2::
1649 000232 000000 .WORD 0 ; DTE-20 DIAG WORD 2 BUFFER
1650 000234 .DTSTS::
1651 000234 000000 .WORD 0 ; DTE-20 STATUS WORD BUFFER
1652 000236 .DTDI3::
1653 000236 000000 .WORD 0 ; DTE-20 DIAG WORD 3 BUFFER
1654 000240' DFBEND==.
DATAB -- COMMAND PARSER DATA BA MACRO M1108 13-JAN-78 09:14 PAGE 39
DATAB -- INPUT / OUTPUT BUFFERS 7709.20
1656 .SBTTL DATAB -- INPUT / OUTPUT BUFFERS 7709.20
1657
1658 ; THESE ARE THE I/O BUFFERS
1659
1660 000240 .CIBFR::
1661 .BLKW ^D70 ; CONSOLE DEVICE INPUT BUFFER
1662 000214 .CIBFL==.-.CIBFR
1663
1664 000454 .COBFR::
1665 .BLKW ^D70 ; CONSOLE DEVICE OUTPUT BUFFER
1666 000204 .COBFL==^D132
1667
1668 .IF NE FTLIST
1669
1670 .LDBFR::
1671 .BLKW ^D70 ; LIST DEVICE OUTPUT BUFFER
1672 .LDBFL==.-.LDBFR
1673 .ENDC ; FTLIST
1674
1675 000670 .COMND::
1676 .BLKW ^D140 ; COMMAND BUFFER
1677 000430 .CMNDL==.-.COMND
DATAB -- COMMAND PARSER DATA BA MACRO M1108 13-JAN-78 09:14 PAGE 40
DATAB -- DIRECTIVE PARAMETER BLOCKS 7709.20
1679 .SBTTL DATAB -- DIRECTIVE PARAMETER BLOCKS 7709.20
1680
1681 ; THESE DPBS ARE USED TO ASSIGN I/O DEVICES TO THE PARSER TASK BY
1682 ; LOGICAL UNIT NUMBER (LUN), AND ARE OF THE FORM:
1683 ;
1684 ; !===============================================!
1685 ; 00 ! DPB SIZE ! DIC !
1686 ; !-----------------------------------------------!
1687 ; 02 ! LOGICAL UNIT NUMBER !
1688 ; !-----------------------------------------------!
1689 ; 04 ! ASCII DEVICE NAME !
1690 ; !-----------------------------------------------!
1691 ; 06 ! DEVICE UNIT NUMBER !
1692 ; !===============================================!
1693
1694 ; ASSIGN LIST OUTPUT DEVICE
1695
1696 .IF NE FTLIST
1697 .ASLST::
1698 ALUN$ LSTLUN,LP,0
1699
1700 ; ATTACH THE LIST OUTPUT DEVICE TO THE PARSER TASK
1701
1702 .ATLST::
1703 QIOW$ IO.ATT,LSTLUN,E.FLOD,0,0,0
1704
1705 ; DETACH THE LIST OUTPUT DEVICE FROM THE PARSER TASK
1706
1707 .DTLST::
1708 QIOW$ IO.DET,LSTLUN,E.FLOD,0,0,0
1709 .ENDC ; FTLIST
DATAB -- COMMAND PARSER DATA BA MACRO M1108 13-JAN-78 09:14 PAGE 41
DATAB -- DIRECTIVE PARAMETER BLOCKS 7709.20
1711 ; THIS IS A PICTURE OF THE "QIOW$" DPB, NOT ALL OF THE ARGUMENTS
1712 ; IN THE DPB ARE USED BY SOME FORMS OF THE "QIOW$" DIRECTIVE.
1713 ;
1714 ; !===============================================!
1715 ; 00 ! DPB SIZE ! DIC !
1716 ; !-----------------------------------------------!
1717 ; 02 ! INPUT / OUTPUT FUNCTION CODE !
1718 ; !-----------------------------------------------!
1719 ; 04 ! LOGICAL UNIT NUMBER !
1720 ; !-----------------------------------------------!
1721 ; 06 ! PRIORITY ! EVENT FLAG NUMBER !
1722 ; !-----------------------------------------------!
1723 ; 10 ! I/O STATUS BLOCK ADDRESS !
1724 ; !-----------------------------------------------!
1725 ; 12 ! AST ROUTINE ADDRESS (NOT USED) !
1726 ; !-----------------------------------------------!
1727 ; 14 ! DATA BUFFER ADDRESS !
1728 ; !-----------------------------------------------!
1729 ; 16 ! BYTE COUNT !
1730 ; !-----------------------------------------------!
1731 ; 20 ! OUTPUT FORMAT CONTROL CHARACTER !
1732 ; !===============================================!
1733
1734 ; THIS IS THE LIST DEVICE OUTPUT DPB
1735
1736 .IF NE FTLIST
1737 .LDOUT::
1738 QIOW$ IO.WLB,LSTLUN,E.FLOD,0,.LDSTS,0,<.LDBFR,0,VF.INT>
1739
1740 .LDOBP=.LDOUT+Q.IOPL ; LIST DEVICE BYTE POINTER
1741 .LDOBC=.LDOUT+Q.BYCT ; LIST DEVICE BYTE COUNT
1742 .LDOFC=.LDOUT+Q.OVFC ; LIST DEVICE FORMAT CHARACTER
1743 .ENDC ; FTLIST
DATAB -- COMMAND PARSER DATA BA MACRO M1108 13-JAN-78 09:14 PAGE 42
DATAB -- ASCII MESSAGES AND .RAD50 TABLES 7709.20
1745 .SBTTL DATAB -- ASCII MESSAGES AND .RAD50 TABLES 7709.20
1746
1747 001320 .R50TB::
1748 001320 000022 .WORD <'0-36>-<50-50>
1749 001322 060 000 .ASCIZ %0%
1750 001324 177766 .WORD <'%-35>-<'0-36>
1751 001326 045 000 .ASCIZ /%/
1752 001330 000012 .WORD <'.-34>-<'%-35>
1753 001332 056 000 .ASCIZ %.%
1754 001334 177767 .WORD <'$-33>-<'.-34>
1755 001336 044 000 .ASCIZ %$%
1756 001340 000067 .WORD <'A-01>-<'$-33>
1757 001342 101 000 .ASCIZ %A%
1758 001344 177740 .WORD <' -00>-<'A-01>
1759 001346 000040 .WORD .SPACE
1760
1761 001350 .T50TB::
1762 001350 003100 .WORD 50*50
1763 001352 000050 .WORD 50
1764 001354 000001 .WORD 1
1765 001356 000000 .WORD 0
1766
1767 000000 .PSECT MESSAG
1768
1769 000000 CPVMSG::
1770 000000 PARVR$ PAR$$K,,PAR$$V,PAR$$E
000000 126 200 060 .ASCIZ <126><200>\04-10\<200>
000003 064 055 061
000006 060 200 000
1771 000011 PARMSG::
1772 000011 120 101 122 .ASCIZ %PAR -- %
000014 040 055 055
000017 040 000
1773 000021 PARNAM::
1774 000021 120 101 122 .ASCIZ %PARSER%
000024 123 105 122
000027 000
1775 000030 PROMPT::
1776 000030 120 101 122 .ASCIZ %PAR%
000033 000
1777 .EVEN
1778 000034 CMDNAM::
1779 000034 000000 000000 000000 .WORD 0,0,0
1780 000042 000000 000000 000000 .WORD 0,0,0
1781 001360 .PSECT
DATAB -- COMMAND PARSER DATA BA MACRO M1108 13-JAN-78 09:14 PAGE 43
.CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14
1783 .SBTTL .CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14
1784
1785 ;+
1786 ; .CHTAB -- THE CHARACTER PROPERTY TABLE
1787 ;
1788 ; THIS IS A TABLE OF ASCII CHARACTER PROPERTIES. THERE IS ONE ENTRY
1789 ; FOR EACH CHARACTER IN THE ASCII STANDARD CHARACTER SET. EACH ENTRY
1790 ; IS ONE BYTE LONG, AND CONTAINS BITS ASSOCIATED WITH THE GENERAL
1791 ; PROPETIES OF THE ASCII CHARACTER IT REPRESENTS. ".CHTAB" IS
1792 ; REFERENCED BY USING THE ASCII CHARACTER UNDER TEST AS AN OFFSET
1793 ; INTO THE TABLE. ONE ASCII CHARACTER MAY HAVE MULTIPLE CHARACTERISTICS.
1794 ; THE DEFINITIONS FOR THE CHARACTERISTIC BITS ARE IN "COMMON.MAC",
1795 ; (Q.V.), WHICH ARE:
1796 ;
1797 ; "CH.ALP" -- (BIT00) -- CHARACTER IS ALPHABETIC,
1798 ; "CH.NUM" -- (BIT01) -- CHARACTER IS NUMERIC,
1799 ; "CH.EOL" -- (BIT02) -- CHARACTER MAY END A LINE,
1800 ; "CH.EOC" -- (BIT03) -- CHARACTER MAY END A COMMAND,
1801 ; "CH.EOS" -- (BIT04) -- CHARACTER MAY SUFFIX A SYMBOL,
1802 ; "CH.PFX" -- (BIT05) -- CHARACTER MAY PREFIX A SYMBOL,
1803 ; "CH.AOP" -- (BIT06) -- CHARACTER MAY PREFIX AN ARITHMETIC OPERATOR,
1804 ; "CH.ILL" -- (BIT07) -- CHARACTER IS ILLEGAL.
1805 ;
1806 ; TABS, (ASCII 011), AND LOWER CASE ALPHABETICS ARE ILLEGAL CHARACTERS
1807 ; SINCE THE INPUT ROUTINES CONVERT THESE CHARACTERS TO SPACES AND
1808 ; UPPER CASE ALPHABETICS, RESPECTIVELY.
1809 ;-
1810
1811 001360 .CHTAB::
1812 001360 034 .BYTE CH.EOL!CH.EOC!CH.EOS ; <NULL> (000)
1813 001361 200 .BYTE CH.ILL ; ^A (001)
1814 001362 200 .BYTE CH.ILL ; ^B (002)
1815 001363 200 .BYTE CH.ILL ; ^C (003)
1816 001364 200 .BYTE CH.ILL ; ^D (004)
1817 001365 200 .BYTE CH.ILL ; ^E (005)
1818 001366 200 .BYTE CH.ILL ; ^F (006)
1819 001367 200 .BYTE CH.ILL ; ^G <BELL> (007)
1820 001370 200 .BYTE CH.ILL ; ^H (010)
1821 001371 200 .BYTE CH.ILL ; ^I <HORIZONTAL-TAB> (011)
1822 001372 200 .BYTE CH.ILL ; ^J <NEW-LINE> (012)
1823 001373 200 .BYTE CH.ILL ; ^K <VERTICAL-TAB> (013)
1824 001374 200 .BYTE CH.ILL ; ^L <FORM-FEED> (014)
1825 001375 200 .BYTE CH.ILL ; ^M <CARRIAGE-RETURN> (015)
1826 001376 200 .BYTE CH.ILL ; ^N (016)
1827 001377 200 .BYTE CH.ILL ; ^O (017)
1828 001400 200 .BYTE CH.ILL ; ^P (020)
1829 001401 200 .BYTE CH.ILL ; ^Q (021)
1830 001402 200 .BYTE CH.ILL ; ^R (022)
1831 001403 200 .BYTE CH.ILL ; ^S (023)
1832 001404 200 .BYTE CH.ILL ; ^T (024)
1833 001405 200 .BYTE CH.ILL ; ^U (025)
1834 001406 200 .BYTE CH.ILL ; ^V (026)
1835 001407 200 .BYTE CH.ILL ; ^W (027)
DATAB -- COMMAND PARSER DATA BA MACRO M1108 13-JAN-78 09:14 PAGE 44
.CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14
1837 001410 200 .BYTE CH.ILL ; ^X (030)
1838 001411 200 .BYTE CH.ILL ; ^Y (031)
1839 001412 200 .BYTE CH.ILL ; ^Z (032)
1840 001413 200 .BYTE CH.ILL ; <ALT-MODE> (033)
1841 001414 200 .BYTE CH.ILL ; ^\ (034)
1842 001415 200 .BYTE CH.ILL ; ^] (035)
1843 001416 200 .BYTE CH.ILL ; ^^ (036)
1844 001417 200 .BYTE CH.ILL ; ^_ (037)
1845 001420 020 .BYTE CH.EOS ; <SPACE> (040)
1846 001421 200 .BYTE CH.ILL ; ! (041)
1847 001422 020 .BYTE CH.EOS ; " (042)
1848 001423 200 .BYTE CH.ILL ; # (043)
1849 001424 200 .BYTE CH.ILL ; $ (044)
1850 001425 200 .BYTE CH.ILL ; % (045)
1851 001426 200 .BYTE CH.ILL ; & (046)
1852 001427 020 .BYTE CH.EOS ; ' (047)
1853 001430 140 .BYTE CH.AOP!CH.PFX ; ( (050)
1854 001431 100 .BYTE CH.AOP ; ) (051)
1855 001432 120 .BYTE CH.AOP!CH.EOS ; * (052)
1856 001433 160 .BYTE CH.AOP!CH.EOS!CH.PFX ; + (053)
1857 001434 020 .BYTE CH.EOS ; , (054)
1858 001435 160 .BYTE CH.AOP!CH.EOS!CH.PFX ; - (055)
1859 001436 200 .BYTE CH.ILL ; . (056)
1860 001437 120 .BYTE CH.AOP!CH.EOS ; / (057)
1861 ;
1862 001440 002 .BYTE CH.NUM ; 0 (060)
1863 001441 002 .BYTE CH.NUM ; 1 (061)
1864 001442 002 .BYTE CH.NUM ; 2 (062)
1865 001443 002 .BYTE CH.NUM ; 3 (063)
1866 001444 002 .BYTE CH.NUM ; 4 (064)
1867 001445 002 .BYTE CH.NUM ; 5 (065)
1868 001446 002 .BYTE CH.NUM ; 6 (066)
1869 001447 002 .BYTE CH.NUM ; 7 (067)
1870 001450 002 .BYTE CH.NUM ; 8 (070)
1871 001451 002 .BYTE CH.NUM ; 9 (071)
1872 ;
1873 001452 020 .BYTE CH.EOS ; : (072)
1874 001453 030 .BYTE CH.EOS!CH.EOC ; ; (073)
1875 001454 200 .BYTE CH.ILL ; < (074)
1876 001455 200 .BYTE CH.ILL ; = (075)
1877 001456 020 .BYTE CH.EOS ; > (076)
1878 001457 041 .BYTE CH.PFX!CH.ALP ; ? (077)
1879 001460 200 .BYTE CH.ILL ; @ (100)
DATAB -- COMMAND PARSER DATA BA MACRO M1108 13-JAN-78 09:14 PAGE 45
.CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14
1881 001461 001 .BYTE CH.ALP ; A (101)
1882 001462 101 .BYTE CH.ALP!CH.AOP ; B (102)
1883 001463 101 .BYTE CH.ALP!CH.AOP ; C (103)
1884 001464 101 .BYTE CH.ALP!CH.AOP ; D (104)
1885 001465 001 .BYTE CH.ALP ; E (105)
1886 001466 001 .BYTE CH.ALP ; F (106)
1887 001467 001 .BYTE CH.ALP ; G (107)
1888 001470 001 .BYTE CH.ALP ; H (110)
1889 001471 001 .BYTE CH.ALP ; I (111)
1890 001472 001 .BYTE CH.ALP ; J (112)
1891 001473 001 .BYTE CH.ALP ; K (113)
1892 001474 001 .BYTE CH.ALP ; L (114)
1893 001475 001 .BYTE CH.ALP ; M (115)
1894 001476 001 .BYTE CH.ALP ; N (116)
1895 001477 101 .BYTE CH.ALP!CH.AOP ; O (117)
1896 001500 001 .BYTE CH.ALP ; P (120)
1897 001501 001 .BYTE CH.ALP ; Q (121)
1898 001502 001 .BYTE CH.ALP ; R (122)
1899 001503 001 .BYTE CH.ALP ; S (123)
1900 001504 001 .BYTE CH.ALP ; T (124)
1901 001505 001 .BYTE CH.ALP ; U (125)
1902 001506 001 .BYTE CH.ALP ; V (126)
1903 001507 001 .BYTE CH.ALP ; W (127)
1904 001510 001 .BYTE CH.ALP ; X (130)
1905 001511 001 .BYTE CH.ALP ; Y (131)
1906 001512 001 .BYTE CH.ALP ; Z (132)
1907 ;
1908 001513 200 .BYTE CH.ILL ; [ (133)
1909 001514 200 .BYTE CH.ILL ; \ (134)
1910 001515 200 .BYTE CH.ILL ; ] (135)
1911 001516 140 .BYTE CH.AOP!CH.PFX ; ^ (136)
1912 001517 120 .BYTE CH.AOP!CH.EOS ; _ (137)
1913 001520 200 .BYTE CH.ILL ; @ (140)
DATAB -- COMMAND PARSER DATA BA MACRO M1108 13-JAN-78 09:14 PAGE 46
.CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14
1915 .IF NE FTLCVT
1916 .BYTE CH.ILL ; A (141)
1917 .BYTE CH.ILL ; B (142)
1918 .BYTE CH.ILL ; C (143)
1919 .BYTE CH.ILL ; D (144)
1920 .BYTE CH.ILL ; E (145)
1921 .BYTE CH.ILL ; F (146)
1922 .BYTE CH.ILL ; G (147)
1923 .BYTE CH.ILL ; H (150)
1924 .BYTE CH.ILL ; I (151)
1925 .BYTE CH.ILL ; J (152)
1926 .BYTE CH.ILL ; K (153)
1927 .BYTE CH.ILL ; L (154)
1928 .BYTE CH.ILL ; M (155)
1929 .BYTE CH.ILL ; N (156)
1930 .BYTE CH.ILL ; O (157)
1931 .BYTE CH.ILL ; P (160)
1932 .BYTE CH.ILL ; Q (161)
1933 .BYTE CH.ILL ; R (162)
1934 .BYTE CH.ILL ; S (163)
1935 .BYTE CH.ILL ; T (164)
1936 .BYTE CH.ILL ; U (165)
1937 .BYTE CH.ILL ; V (166)
1938 .BYTE CH.ILL ; W (167)
1939 .BYTE CH.ILL ; X (170)
1940 .BYTE CH.ILL ; Y (171)
1941 .BYTE CH.ILL ; Z (172)
1942 ;
1943 .BYTE CH.ILL ; [ (173)
1944 .BYTE CH.ILL ; \ (174)
1945 .BYTE CH.ILL ; ] (175)
1946 .BYTE CH.ILL ; ^ (176)
1947 .BYTE CH.ILL ; <RUBOUT> (177)
1948 .ENDC ; FTLCVT
1949 .EVEN
ABORT -- ABORT FUNCTION MODULE MACRO M1108 13-JAN-78 09:14 PAGE 47
.CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14
1951 .TITLE ABORT -- ABORT FUNCTION MODULE 7707.12
1952
1953 .IDENT "003060"
1954
1955 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
1956 ;
1957 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
1958 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
1959 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
1960 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
1961 ; FOR ITS ACCURACY.
1962 ;
1963 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
1964 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
1965 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
1966 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
1967 ;
1968 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
1969 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
1970 ;
1971 ;
1972 ; MODULE: ABORT FUNCTION
1973 ;
1974 ; VERSION: 03-06
1975 ;
1976 ; AUTHOR: R. BELANGER
1977 ;
1978 ; DATE: 7707.12
1979 ;
1980 ; THIS MODULE CONTAINS:
1981 ;
1982 ; 1) ABORT FUNCTION CODE
ABORT -- ABORT FUNCTION MODULE MACRO M1108 13-JAN-78 09:14 PAGE 48
.ABORT -- ABORT CURRENT OPERATION SUBROUTINE 7707.12
1984 .SBTTL .ABORT -- ABORT CURRENT OPERATION SUBROUTINE 7707.12
1985
1986 ;+
1987 ; .ABORT -- SUBROUTINE TO ABORT THE CURRENT KL PROCESS
1988 ;
1989 ; THIS SUBROUTINE ABORTS THE CURRENT KL PROCESS AND RETURNS WITH
1990 ; THE KL CLOCK RUNNING IN THE HALT LOOP. IF THE "HALT" FAILS, THE
1991 ; KL MICROCODE IS RESTARTED. THE CONTINUEABILITY OF THE KL IS
1992 ; INDICATED BY THE STATE OF THE "KF.CON" FLAG BIT (Q.V.) IN ".KLFLG".
1993 ;
1994 ; SEQUENCE OF OPERATION:
1995 ;
1996 ; (A) THE KL IS HALTED,
1997 ; (B) IF THE HALT WINS GO TO (E), OTHERWISE GO TO (C),
1998 ; (C) THE MICRO CODE IS RESTARTED AT CRAM ADDRESS 0000,
1999 ; (D) SECONDARY PROTOCOL IS STARTED
2000 ; (E) EXIT.
2001 ;
2002 ; INPUT ARGUMENTS:
2003 ;
2004 ; NONE.
2005 ;
2006 ; OUTPUT ARGUMENTS:
2007 ;
2008 ; NONE.
2009 ;
2010 ; ERROR CODES RETURNED:
2011 ;
2012 ; CFH -- CAN'T FIND KL HALT LOOP.
2013 ; FRF -- FUNCTION READ FAILED.
2014 ; FWF -- FUNCTION WRITE FAILED.
2015 ; FXF -- FUNCTION EXECUTE FAILED.
2016 ; UNL -- UCODE NOT LOADED.
2017 ;
2018 ; NOTE:
2019 ;
2020 ; THE CONTINUEABILITY OF THE KL IS NOT GUARANTEED BY THIS
2021 ; SUBROUTINE.
2022 ;-
ABORT -- ABORT FUNCTION MODULE MACRO M1108 13-JAN-78 09:14 PAGE 49
.ABORT -- ABORT CURRENT OPERATION SUBROUTINE 7707.12
2024 .ENABL LSB
2025
2026 001522 .ABORT::
2027 001522 PUSH R0 ; SAVE R0 ON THE STACK
001522 010046 MOV R0,-(SP)
2028 001524 PUSH #.ABRT0 ; .IN CASE ".KLSTP" TRAPS
001524 012746 001544' MOV #.ABRT0,-(SP)
2029 001530 010637 000160' MOV SP,.TRPTV ; ...STACK POINTER FOR RETURN
2030 001534 CALL .KLSTP ; ..HALT THE KL
001534 004737 015220' JSR PC,.KLSTP
2031 001540 005726 TST (SP)+ ; ..CLEAR RETURN
2032 001542 000405 BR 10$ ; .AND EXIT
2033 ;
2034 001544 .ABRT0:: ; .GET HERE IF ".KLSTP" TRAPPED
2035 001544 005000 CLR R0 ; .CLEAR R0 (STACK POPPED BY ".PTTRP")
2036 001546 CALL .STUCD ; .(RE)START THE UCODE
001546 004737 026656' JSR PC,.STUCD
2037 001552 CALL ..DTP2 ; +++006 .START SECONDARY PROTOCOL
001552 004737 000000G JSR PC,..DTP2
2038 001556 10$:
2039 001556 POP R0 ; .RESTORE R0
001556 012600 MOV (SP)+,R0
2040 001560 RETURN ; TO CALLER
001560 000207 RTS PC
2041
2042 .DSABL LSB
ABRTC -- ABORT COMMAND MODULE 7 MACRO M1108 13-JAN-78 09:14 PAGE 50
.ABORT -- ABORT CURRENT OPERATION SUBROUTINE 7707.12
2044 .TITLE ABRTC -- ABORT COMMAND MODULE 7602.23
2045
2046 .IDENT "002010"
2047
2048 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
2049 ;
2050 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
2051 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
2052 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
2053 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
2054 ; FOR ITS ACCURACY.
2055 ;
2056 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
2057 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
2058 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
2059 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
2060 ;
2061 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
2062 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
2063 ;
2064 ;
2065 ; MODULE: ABORT COMMAND
2066 ;
2067 ; VERSION: 02-01
2068 ;
2069 ; AUTHOR: R. BELANGER
2070 ;
2071 ; DATE: 7602.23
2072 ;
2073 ; THIS MODULE CONTAINS:
2074 ;
2075 ; 1) ABORT COMMAND CODE
2076 ;
2077 ; MODIFIED BY A. PECKHAM 7612.10 TO DELETE REFERENCES TO .SECFL
ABRTC -- ABORT COMMAND MODULE 7 MACRO M1108 13-JAN-78 09:14 PAGE 51
.ABRTC -- THE "ABORT" COMMAND 7602.23
2079 .SBTTL .ABRTC -- THE "ABORT" COMMAND 7602.23
2080
2081 ;+
2082 ; .ABRTC -- THE "ABORT" COMMAND
2083 ;
2084 ; THIS ROUTINE CALLS THE ABORT SUBROUTINE ".ABORT", Q.V.
2085 ;
2086 ; INPUT ARGUMENTS:
2087 ;
2088 ; NONE.
2089 ;
2090 ; OUTPUT ARGUMENTS:
2091 ;
2092 ; NONE.
2093 ;
2094 ; ERROR CODES RETURNED:
2095 ;
2096 ; NONE.
2097 ;-
2098
2099 001562 .ABRTC::
2100 001562 CALL .CKEOC ; MUST HAVE E-O-C
001562 004737 002010' JSR PC,.CKEOC
2101 001566 CALL .ABORT ; ABORT CURRENT KL OPERATION
001566 004737 001522' JSR PC,.ABORT
2102 001572 RETURN ; AND EXIT
001572 000207 RTS PC
BURST -- KL MBOX CLOCK BURST FU MACRO M1108 13-JAN-78 09:14 PAGE 52
.ABRTC -- THE "ABORT" COMMAND 7602.23
2104 .TITLE BURST -- KL MBOX CLOCK BURST FUNCTION MODULE 7603.30
2105
2106 .IDENT "001020"
2107
2108 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
2109 ;
2110 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
2111 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
2112 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
2113 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
2114 ; FOR ITS ACCURACY.
2115 ;
2116 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
2117 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
2118 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
2119 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
2120 ;
2121 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
2122 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
2123 ;
2124 ;
2125 ; MODULE: KL MBOX CLOCK BURST FUNCTION
2126 ;
2127 ; VERSION: 01-02
2128 ;
2129 ; AUTHOR: R. BELANGER
2130 ;
2131 ; DATE: 7603.30
2132 ;
2133 ; THIS MODULE CONTAINS:
2134 ;
2135 ; 1) KL MBOX CLOCK BURST CODE
BURST -- KL MBOX CLOCK BURST FU MACRO M1108 13-JAN-78 09:14 PAGE 53
.BURST -- MBOX CLOCK BURST SUBROUTINE 7601.02
2137 .SBTTL .BURST -- MBOX CLOCK BURST SUBROUTINE 7601.02
2138
2139 ;+
2140 ; .BRMBC -- SUBROUTINE TO STOP THE KL CLOCK AND BURST THE MBOX
2141 ; CLOCK AS IN ".BURST".
2142 ; .BURST -- SUBROUTINE TO BURST THE KL MBOX CLOCK
2143 ; A MAXIMUM OF 255 DECIMAL TICKS PER CALL.
2144 ;
2145 ; THIS SUBROUTINE LOADS THE KL BURST COUNT REGISTER
2146 ; AND RUNS THE MBOX CLOCK FROM THE BURST COUNT REGISTER. IT WILL
2147 ; FAIL IF A BURST COUNT .GT. 255 DECIMAL IS REQUESTED IN ONE CALL.
2148 ;
2149 ; INPUT ARGUMENTS:
2150 ;
2151 ; R0 CONTAINS THE BURST COUNT
2152 ;
2153 ; OUTPUT ARGUMENTS:
2154 ;
2155 ; NONE.
2156 ;
2157 ; ERROR CODES RETURNED:
2158 ;
2159 ; BAE -- BURST ARGUMENT ERROR.
2160 ; FWF -- FUNCTION WRITE FAILED.
2161 ; FXF -- FUNCTION EXECUTE FAILED.
2162 ;-
2163
2164 001574 .BRMBC::
2165 001574 CALL .STPXC ; STOP THE KL CLOCK
001574 004737 026354' JSR PC,.STPXC
2166 001600 .BURST::
2167 001600 022700 000377 CMP #^D255,R0 ; IS ARGUMENT .GT. 255 DECIMAL?
2168 001604 103406 BLO BCCTER ; YES -- ERROR
2169 001606 CALL .LDBRG ; NO -- LOAD THE BURST COUNTER
001606 004737 015334' JSR PC,.LDBRG
2170 001612 012700 000012 MOV #FX.BMC,R0 ; SET UP TO BURST THE MBOX CLOCK
2171 001616 CALLR .FXCT ; DO IT
001616 000137 011074' JMP .FXCT
2172 ;
2173 001622 BCCTER:
2174 001622 ERROR$ BAE ; ERROR -- ARGUMENT OUT OF RANGE
001622 012746 MOV (PC)+,-(SP) ; "BAE" IN RAD50 TO STACK
001624 006255 .RAD50 /BAE/ ; ERROR IDENTIFIER
001626 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
2175 ;
CESCK -- CLOCK ERROR STOP CHECK MACRO M1108 13-JAN-78 09:14 PAGE 54
.BURST -- MBOX CLOCK BURST SUBROUTINE 7601.02
2177 .TITLE CESCK -- CLOCK ERROR STOP CHECK MODULE 7607.15
2178
2179 .IDENT "002010"
2180
2181 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
2182 ;
2183 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
2184 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
2185 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
2186 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
2187 ; FOR ITS ACCURACY.
2188 ;
2189 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
2190 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
2191 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
2192 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
2193 ;
2194 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
2195 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
2196 ;
2197 ;
2198 ; MODULE: CLOCK ERROR STOP CHECK
2199 ;
2200 ; VERSION: 02-01
2201 ;
2202 ; AUTHOR: R. BELANGER
2203 ;
2204 ; DATE: 7607.15
2205 ;
2206 ; THIS MODULE CONTAINS:
2207 ;
2208 ; 1) CLOCK ERROR STOP CHECK CODE
2209 ;
2210 ; MODIFIED BY A. PECKHAM 7612.10 TO CHANGE REFERENCES TO .SECFL
2211 ; TO .NOERR
2212
2213 .MCALL CLEF$S
CESCK -- CLOCK ERROR STOP CHECK MACRO M1108 13-JAN-78 09:14 PAGE 55
.CESCK -- SUBROUTINE TO CHECK FOR CLOCK ERROR STOP 7607.15
2215 .SBTTL .CESCK -- SUBROUTINE TO CHECK FOR CLOCK ERROR STOP 7607.15
2216
2217 ;+
2218 ; .CESCK -- SUBROUTINE TO CHECK FOR CLOCK ERROR STOP BY READING
2219 ; DTE-20 DIAG WORD 1.
2220 ;
2221 ; THIS SUBROUTINE CHECKS FOR THE KL CLOCK ERROR STOP ("D1.CES") FLAG
2222 ; IN THE DTE-20 DIAG1 REGISTER, AND WILL RETURN NORMALLY IF THE BIT IS OFF.
2223 ;
2224 ; SEQUENCE OF OPERATION:
2225 ;
2226 ; (A) READ DTE-20 DIAG WORD 1,
2227 ; (B) TEST THE CLOCK ERROR STOP FLAG FROM (A),
2228 ; (C) IF THE FLAG IS CLEAR, EXIT, ELSE GO TO (D),
2229 ; (D) RESET THE STATE OF ".KLFLG" AND ".SVKLF" (Q.V.),
2230 ; (E) FORCE A CONTEXT SWITCH INTO SECONDARY PROTOCOL,
2231 ; (F) RETURN A .RAD50 "CES" ERROR CODE VIA ERROR TRAP.
2232 ;
2233 ; INPUT ARGUMENTS:
2234 ;
2235 ; NONE.
2236 ;
2237 ; OUTPUT ARGUMENTS:
2238 ;
2239 ; R0 CONTAINS A COPY OF DTE-20 DIAG WORD 1.
2240 ;
2241 ; ERROR CODES RETURNED:
2242 ;
2243 ; CES -- KL CLOCK ERROR STOP.
2244 ; DSF -- DTE-20 STATUS FAILURE.
2245 ;-
2246
2247 001630 .CESCK::
2248 001630 CALL .DTDW1 ; READ DIAG WORD 1
001630 004737 004742' JSR PC,.DTDW1
2249 001634 032700 004000 BIT #D1.CES,R0 ; IS CLOCK ERROR STOP LIT?
2250 001640 001001 BNE CESCES ; YES -- GIVE "CES" ERROR
2251 001642 RETURN ; NO -- JUST RETURN
001642 000207 RTS PC
2252 001644 CESCES:
2253 001644 CLEF$S #E.FPR1 ; MAKE SURE PRIMARY PROTOCOL IS OFF
001644 012746 000000G MOV #E.FPR1,-(SP)
001650 012746 MOV (PC)+,-(SP)
001652 037 002 .BYTE 31.,2
001654 104375 EMT 375
2254 001656 112737 000001 000000G MOVB #1,.NOERR ; AND DISABLE ERROR INTERRUPT
2255 001664 005037 000140' CLR .SVKLF ; DISALLOW RESTARTS
2256 001670 042737 140200 000000G BIC #KF.CON!KF.RUN!KF.CLK,.KLFLG
2257 ; CLEAR THE CLOCK AND CONTINUEABLE FLAGS
2258 001676 052737 000100 000000G BIS #KF.CES,.KLFLG ; FLAG THE CLOCK ERROR STOP
2259 001704 ERROR$ CES ; ERROR -- CLOCK ERROR STOP
001704 012746 MOV (PC)+,-(SP) ; "CES" IN RAD50 TO STACK
001706 011633 .RAD50 /CES/ ; ERROR IDENTIFIER
001710 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
2260 ;
CHECK -- GENERAL ARGUMENT CHECK MACRO M1108 13-JAN-78 09:14 PAGE 56
.CESCK -- SUBROUTINE TO CHECK FOR CLOCK ERROR STOP 7607.15
2262 .TITLE CHECK -- GENERAL ARGUMENT CHECK MODULE 7709.21
2263
2264 .IDENT "001020"
2265
2266 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
2267 ;
2268 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
2269 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
2270 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
2271 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
2272 ; FOR ITS ACCURACY.
2273 ;
2274 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
2275 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
2276 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
2277 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
2278 ;
2279 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
2280 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
2281 ;
2282 ;
2283 ; MODULE: ALPANUMERIC ARGUMENT CHECK
2284 ;
2285 ; VERSION: 01-02
2286 ;
2287 ; AUTHOR: R. BELANGER
2288 ;
2289 ; DATE: 709.21
2290 ;
2291 ; THIS MODULE CONTAINS:
2292 ;
2293 ; 1) ALPHANUMERIC ARGUMENT CHECK CODE
2294 ; 2) TRAILING COLON CHECK CODE
2295 ; 3) END OF COMMAND CHECK CODE
2296 ; 4) END OF SYMBOL CHECK CODE
2297 ; 5) TRAILING OBJECT CHECK CODE
2298 ; 6) TRAILING SYMBOL CHECK CODE
CHECK -- GENERAL ARGUMENT CHECK MACRO M1108 13-JAN-78 09:14 PAGE 57
.CKARG -- CHECK FOR ALPHANUMERIC ARGUMENT 7709.21
2300 .SBTTL .CKARG -- CHECK FOR ALPHANUMERIC ARGUMENT 7709.21
2301
2302 ;+
2303 ; .CKARG -- CHECK FOR AN ALPHANUMERIC ARGUMENT
2304 ;
2305 ; THIS ROUTINE WILL CHECK THE FIRST CHARACTER OF THE NEXT SYMBOL
2306 ; IN THE INPUT STREAM TO SEE IF IT IS ALPHABETIC OR NUMERIC.
2307 ;
2308 ; INPUT ARGUMENTS:
2309 ;
2310 ; R5 POINTS TO THE INPUT STREAM
2311 ;
2312 ; OUTPUT ARGUMENTS:
2313 ;
2314 ; R5 POINTS TO THE FIRST CHARACTER IN THE SYMBOL
2315 ; CC-N IS SET IF IT IS NUMERIC
2316 ; CC-Z IS SET IF IT IS ALPHABETIC
2317 ;
2318 ; ERROR CODES RETURNED:
2319 ;
2320 ; MRA -- MISSING REQUIRED ARGUMENT
2321 ;-
2322
2323 001712 .CKARG::
2324 001712 CALL .CKSYM ; GET OVER LEADING BLANKS
001712 004737 002112' JSR PC,.CKSYM
2325 001716 132764 000001 001360' BITB #CH.ALP,.CHTAB(R4)
2326 001724 001403 BEQ 10$ ; SEE IF IT IS NUMERIC
2327 001726 000250 CLN ; CLEAR CC-N
2328 001730 000264 SEZ ; SET CC-Z TO SAY ALPHABETIC
2329 001732 000406 BR 20$ ; AND EXIT
2330 ;
2331 001734 10$:
2332 001734 132764 000042 001360' BITB #CH.NUM!CH.PFX,.CHTAB(R4)
2333 001742 001417 BEQ CKCMRA ; NOT NUMERIC -- GIVE ERROR
2334 001744 000244 CLZ ; CLEAR CC-Z
2335 001746 000270 SEN ; SET CC-N TO SAY NUMERIC
2336 001750 20$:
2337 001750 RETURN ; TO CALLER
001750 000207 RTS PC
CHECK -- GENERAL ARGUMENT CHECK MACRO M1108 13-JAN-78 09:14 PAGE 58
.CKCOL -- CHECK FOR A COLON 7709.21
2339 .SBTTL .CKCOL -- CHECK FOR A COLON 7709.21
2340
2341 ;+
2342 ; .CKCOL -- CHECK FOR A COLON
2343 ;
2344 ; THIS ROUTINE CHECKS FOR A COLON AFTER A SYMBOL
2345 ;
2346 ; INPUT ARGUMENTS:
2347 ;
2348 ; R5 POINTS TO THE INPUT STREAM
2349 ;
2350 ; OUTPUT ARGUMENTS:
2351 ;
2352 ; R5 POINTS TO THE FIRST CHARACTER AFTER THE COLON.
2353 ;
2354 ; ERROR CODES RETURNED:
2355 ;
2356 ; ILS -- ILLEGAL SEPARATOR CHARACTER.
2357 ; MRA -- MISSING REQUIRED ARGUMENT
2358 ;-
2359
2360 001752 .CKCOL::
2361 001752 112504 MOVB (R5)+,R4 ; GET THE CHARACTER
2362 001754 132764 000010 001360' BITB #CH.EOC,.CHTAB(R4)
2363 001762 001007 BNE CKCMRA ; MISSING ARGUMENT IF E-O-C
2364 001764 122704 000072 CMPB #':,R4 ; IS IT A COLON?
2365 001770 001001 BNE CKCILS ; NO -- GIVE "ILS" ERROR
2366 001772 RETURN ; YES -- JUST RETURN
001772 000207 RTS PC
2367 001774 CKCILS:
2368 001774 ERROR$ ILS ; ERROR -- ILLEGAL SEPARATOR CHARACTER
001774 012746 MOV (PC)+,-(SP) ; "ILS" IN RAD50 TO STACK
001776 035063 .RAD50 /ILS/ ; ERROR IDENTIFIER
002000 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
2369 ;
2370 002002 CKCMRA:
2371 002002 ERROR$ MRA ; ERROR -- MISSING REQUIRED ARGUMENT
002002 012746 MOV (PC)+,-(SP) ; "MRA" IN RAD50 TO STACK
002004 052021 .RAD50 /MRA/ ; ERROR IDENTIFIER
002006 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
2372 ;
CHECK -- GENERAL ARGUMENT CHECK MACRO M1108 13-JAN-78 09:14 PAGE 59
.CKEOC -- CHECK END OF COMMAND 7602.16
2374 .SBTTL .CKEOC -- CHECK END OF COMMAND 7602.16
2375
2376 ;+
2377 ; .CKEOC -- CHECK FOR END OF COMMAND
2378 ;
2379 ; THIS ROUTINE CHECKS FOR AN END OF COMMAND CHARACTER
2380 ;
2381 ; INPUT ARGUMENTS:
2382 ;
2383 ; R5 POINTS TO THE INPUT STREAM
2384 ;
2385 ; OUTPUT ARGUMENTS:
2386 ;
2387 ; R5 IS UNCHANGED
2388 ;
2389 ; ERROR CODES RETURNED:
2390 ;
2391 ; EOC -- END OF COMMAND REQUIRED
2392 ; ILS -- ILLEGAL SEPARATOR CHARACTER
2393 ;-
2394
2395 002010 .CKEOC::
2396 002010 111504 MOVB (R5),R4 ; GET THE CHARACTER
2397 002012 132764 000010 001360' BITB #CH.EOC,.CHTAB(R4)
2398 002020 001401 BEQ 10$ ; MAY BE ERROR IF NOT E-O-C
2399 002022 RETURN ; TO CALLER
002022 000207 RTS PC
2400 002024 10$:
2401 002024 PUSH R4 ; SAVE THE CHARACTER
002024 010446 MOV R4,-(SP)
2402 002026 CALL .CKSYM ; .LOOK FOR A NON-BLANK CHARACTER
002026 004737 002112' JSR PC,.CKSYM
2403 002032 122704 000077 CMPB #'?,R4 ; .IS THIS AN INQUIRY?
2404 002036 001402 BEQ CKEEOC ; .YES -- GIVE "EOC" ERROR
2405 002040 POP R4 ; .NO -- GIVE "ILS" ERROR
002040 012604 MOV (SP)+,R4
2406 002042 000754 BR CKCILS ; ERROR -- ILLEGAL SEPARATOR CHARACTER
2407 ;
2408 002044 CKEEOC:
2409 002044 ERROR$ EOC ; ERROR -- END OF COMMAND
002044 012746 MOV (PC)+,-(SP) ; "EOC" IN RAD50 TO STACK
002046 020633 .RAD50 /EOC/ ; ERROR IDENTIFIER
002050 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
2410 ;
CHECK -- GENERAL ARGUMENT CHECK MACRO M1108 13-JAN-78 09:14 PAGE 60
.CKEOS -- CHECK END OF SYMBOL 7709.21
2412 .SBTTL .CKEOS -- CHECK END OF SYMBOL 7709.21
2413
2414 ;+
2415 ; .CKEOS -- CHECK FOR A NON-BLANK END OF SYMBOL
2416 ;
2417 ; THIS ROUTINE CHECKS FOR A NON-BLANK END-OF-SYMBOL CHARACTER
2418 ;
2419 ; INPUT ARGUMENTS:
2420 ;
2421 ; R5 POINTS TO THE END-OF-SYMBOL CHARACTER
2422 ;
2423 ; OUTPUT ARGUMENTS:
2424 ;
2425 ; R5 IS UNCHANGED
2426 ;
2427 ; ERROR CODES RETURNED:
2428 ;
2429 ; ILS -- ILLEGAL SEPARATOR CHRARACTER
2430 ;-
2431
2432 002052 .CKEOS::
2433 002052 111504 MOVB (R5),R4 ; GET THE CHARACTER INTO R4
2434 002054 132764 000020 001360' BITB #CH.EOS,.CHTAB(R4)
2435 002062 001744 BEQ CKCILS ; ILLEGAL IF NOT E-O-S
2436 002064 122704 000040 CMPB #.SPACE,R4 ; IS IS A <SPACE>?
2437 002070 001741 BEQ CKCILS ; YES -- COMPLAIN
2438 002072 RETURN ; NO -- JUST RETURN
002072 000207 RTS PC
CHECK -- GENERAL ARGUMENT CHECK MACRO M1108 13-JAN-78 09:14 PAGE 61
.CKOBJ -- CHECK FOR A TRAILING OBJECT 7709.21
2440 .SBTTL .CKOBJ -- CHECK FOR A TRAILING OBJECT 7709.21
2441
2442 ;+
2443 ; .CKOBJ -- CHECK FOR A TRAILING OBJECT.
2444 ;
2445 ; THIS SUBROUTINE CHECKS TO SEE IF AN OBJECT SYMBOL FOLLOWS THE
2446 ; CURRENT SYMBOL.
2447 ;
2448 ; INPUT ARGUMENTS:
2449 ;
2450 ; NONE.
2451 ;
2452 ; OUTPUT ARGUMENTS:
2453 ;
2454 ; NONE.
2455 ;
2456 ; ERROR CODES RETURNED:
2457 ;
2458 ; MRA -- MISSING REQUIRED ARGUMENT.
2459 ;-
2460
2461 002074 .CKOBJ::
2462 002074 CALL .CKSYM ; GET OVER LEADING BLANKS
002074 004737 002112' JSR PC,.CKSYM
2463 002100 132764 000010 001360' BITB #CH.EOC,.CHTAB(R4)
2464 002106 001335 BNE CKCMRA ; ILLEGAL IF E-O-C
2465 002110 RETURN ; NOT E-O-C -- RETURN
002110 000207 RTS PC
CHECK -- GENERAL ARGUMENT CHECK MACRO M1108 13-JAN-78 09:14 PAGE 62
.CKSYM -- FIND THE FIRST CHARACTER IN A SYMBOL 7709.21
2467 .SBTTL .CKSYM -- FIND THE FIRST CHARACTER IN A SYMBOL 7709.21
2468
2469 ;+
2470 ; .CKSYM -- SUBROUTINE TO FIND THE FIRST CHARACTER IN A SYMBOL.
2471 ;
2472 ; THIS SUBROUTINE WILL FIND THE FIRST NON-BLANK CHARACTER IN AN INPUT
2473 ; SYMBOL POINTED TO BY R5. THE SYMBOL IS THEN CHECKED TO SEE IF IT IS
2474 ; ALPAHBETIC, NUMERIC, OR A LEGAL PREFIX CHARACTER.
2475 ;
2476 ; INPUT ARGUMENTS:
2477 ;
2478 ; R5 POINTS TO THE INPUT STREAM.
2479 ;
2480 ; OUTPUT ARGUMENTS:
2481 ;
2482 ; R5 POINTS TO THE FIRST NON-BLANK CHARACTER.
2483 ;
2484 ; ERROR CODES RETURNED:
2485 ;
2486 ; NONE.
2487 ;-
2488
2489 002112 .CKSYM::
2490 002112 112504 MOVB (R5)+,R4 ; GET THE CHARACTER
2491 002114 122704 000040 CMPB #.SPACE,R4 ; IS IT A <SPACE>?
2492 002120 001774 BEQ .CKSYM ; YES -- DO NEXT CHARACTER
2493 002122 105745 TSTB -(R5) ; NO -- BACK THE POINTER UP
2494 002124 RETURN ; TO CALLER
002124 000207 RTS PC
CKCTC -- CONTROL-C CHECK MODULE MACRO M1108 13-JAN-78 09:14 PAGE 63
.CKSYM -- FIND THE FIRST CHARACTER IN A SYMBOL 7709.21
2496 .TITLE CKCTC -- CONTROL-C CHECK MODULE 7603.30
2497
2498 .IDENT "001010"
2499
2500 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
2501 ;
2502 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
2503 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
2504 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
2505 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
2506 ; FOR ITS ACCURACY.
2507 ;
2508 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
2509 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
2510 ;
2511 ;
2512 ; MODULE: CONTROL-C CHECK
2513 ;
2514 ; VERSION: 01-01
2515 ;
2516 ; AUTHOR: R. BELANGER
2517 ;
2518 ; DATE: 7603.30
2519 ;
2520 ; THIS MODULE CONTAINS:
2521 ;
2522 ; 1) CONTROL-C CHECK CODE
2523
2524 .MCALL CLEF$S
CKCTC -- CONTROL-C CHECK MODULE MACRO M1108 13-JAN-78 09:14 PAGE 64
.CKCTC -- CHECK FOR CONTROL-C TYPED 7601.28
2526 .SBTTL .CKCTC -- CHECK FOR CONTROL-C TYPED 7601.28
2527
2528 ;+
2529 ; .CKCTC -- CHECK FOR CONTROL-C TYPED
2530 ;
2531 ; THIS SUBROUTINE CHECKS THE CONTROL-C EVENT FLAG, "E.FCTC" AND WILL
2532 ; RETURN TO THE CALLING ROUTINE IF IT IS CLEAR OR TRAP IF IT IS SET.
2533 ;
2534 ; INPUT ARGUMENTS:
2535 ;
2536 ; NONE.
2537 ;
2538 ; OUTPUT ARGUMENTS:
2539 ;
2540 ; NONE
2541 ;
2542 ; ERROR CODES RETURNED:
2543 ;
2544 ; NONE.
2545 ;-
2546
2547 002126 .CKCTC::
2548 002126 CLEF$S #E.FCTC ; CLEAR THE EVENT FLAG
002126 012746 000000G MOV #E.FCTC,-(SP)
002132 012746 MOV (PC)+,-(SP)
002134 037 002 .BYTE 31.,2
002136 104375 EMT 375
2549 002140 022737 000000G 000000G CMP #IS.SET,$DSW ; WAS IT SET?
2550 002146 001401 BEQ 10$ ; YES -- TRAP OUT
2551 002150 RETURN ; NO -- JUST RETURN
002150 000207 RTS PC
2552 002152 10$: ; PC OF CALL WILL BE IN ".TRPEC"
2553 002152 104402 TRAP TC.CTC ; .TRAP AND RESTART
2554 ;
CKRUN -- KL RUN CHECK MODULE 76 MACRO M1108 13-JAN-78 09:14 PAGE 65
.CKCTC -- CHECK FOR CONTROL-C TYPED 7601.28
2556 .TITLE CKRUN -- KL RUN CHECK MODULE 7603.30
2557
2558 .IDENT "001010"
2559
2560 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
2561 ;
2562 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
2563 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
2564 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
2565 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
2566 ; FOR ITS ACCURACY.
2567 ;
2568 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
2569 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
2570 ;
2571 ;
2572 ; MODULE: KL RUN CHECK
2573 ;
2574 ; VERSION: 01-01
2575 ;
2576 ; AUTHOR: R. BELANGER
2577 ;
2578 ; DATE: 7603.30
2579 ;
2580 ; THIS MODULE CONTAINS:
2581 ;
2582 ; 1) KL RUN CHECK CODE
CKRUN -- KL RUN CHECK MODULE 76 MACRO M1108 13-JAN-78 09:14 PAGE 66
.CKRUN -- SUBROUTINE TO CHECK IF THE KL IS RUNNING 7601.12
2584 .SBTTL .CKRUN -- SUBROUTINE TO CHECK IF THE KL IS RUNNING 7601.12
2585
2586 ;+
2587 ; .CKRUN -- SUBROUTINE TO CHECK IF THE KL IS RUNNING
2588 ; .CKRNP -- SPECIAL RUN CHECK FOR PROGRAMMER MODE
2589 ;
2590 ; THIS SUBROUTINE WILL CHECK IF THE KL IS RUNNING FROM ".KLFLG"
2591 ; OR IF THE FRONT END IS IN MAINTENANCE MODE.
2592 ;
2593 ; INPUT ARGUMENTS:
2594 ;
2595 ; NONE.
2596 ;
2597 ; OUTPUT ARGUMENTS:
2598 ;
2599 ; NONE.
2600 ;
2601 ; ERROR CODES RETURNED:
2602 ;
2603 ; KLR -- KL IS RUNNING.
2604 ;-
2605
2606 .ENABL LSB
2607
2608 002154 .CKRNP::
2609 002154 PUSH R0 ; SAVE R0
002154 010046 MOV R0,-(SP)
2610 002156 012700 000002 MOV #LG.PRG,R0 ; .SET PROGRAMMER ALLOWED
2611 002162 000402 BR 10$ ; .AND CONTINUE TEST
2612 ;
2613 002164 .CKRUN::
2614 002164 PUSH R0 ; SAVE R0
002164 010046 MOV R0,-(SP)
2615 002166 005000 CLR R0 ; .CLEAR R0
2616 002170 10$:
2617 002170 052700 000004 BIS #LG.MNT,R0 ; .SET MAINTENANCE ALLOWED
2618 002174 PUSH .KLFLG ; .SAVE ".KLFLG"
002174 013746 000000G MOV .KLFLG,-(SP)
2619 002200 005116 COM (SP) ; ..INVERT ".KLFLG"
2620 002202 032716 140000 BIT #KF.RUN!KF.CLK,(SP)
2621 002206 001004 BNE 20$ ; ..BRANCH IF THE KL IS NOT RUNNING
2622 002210 032737 000004 000000G BIT #LG.MNT,.FEMOD ; ..ARE WE IN MAINTENANCE MODE?
2623 002216 001403 BEQ CKRKLR ; ..NO -- GIVE "KLR" ERROR
2624 002220 20$:
2625 002220 005726 TST (SP)+ ; ..YES -- RESET THE STACK
2626 002222 POP R0 ; .RESTORE R0
002222 012600 MOV (SP)+,R0
2627 002224 RETURN ; TO CALLER
002224 000207 RTS PC
2628
2629 .DSABL LSB
2630
2631 002226 CKRKLR:
2632 002226 ERROR$ KLR ; ..ERROR -- KL IS RUNNING
002226 012746 MOV (PC)+,-(SP) ; "KLR" IN RAD50 TO STACK
002230 043262 .RAD50 /KLR/ ; ERROR IDENTIFIER
002232 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
CKRUN -- KL RUN CHECK MODULE 76 MACRO M1108 13-JAN-78 09:14 PAGE 66-1
.CKRUN -- SUBROUTINE TO CHECK IF THE KL IS RUNNING 7601.12
2633 ;
CLDFB -- DTE-20 BUFFER CLEAR MO MACRO M1108 13-JAN-78 09:14 PAGE 67
.CKRUN -- SUBROUTINE TO CHECK IF THE KL IS RUNNING 7601.12
2635 .TITLE CLDFB -- DTE-20 BUFFER CLEAR MODULE 7603.30
2636
2637 .IDENT "001010"
2638
2639 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
2640 ;
2641 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
2642 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
2643 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
2644 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
2645 ; FOR ITS ACCURACY.
2646 ;
2647 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
2648 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
2649 ;
2650 ;
2651 ; MODULE: DTE-20 BUFFER CLEAR
2652 ;
2653 ; VERSION: 01-01
2654 ;
2655 ; AUTHOR: R. BELANGER
2656 ;
2657 ; DATE: 7603.30
2658 ;
2659 ; THIS MODULE CONTAINS:
2660 ;
2661 ; 1) DTE-20 BUFFER CLEAR CODE
CLDFB -- DTE-20 BUFFER CLEAR MO MACRO M1108 13-JAN-78 09:14 PAGE 68
.CLDFB -- DTE-20 OPERATION BUFFER CLEAR SUBROUTINE 7508.26
2663 .SBTTL .CLDFB -- DTE-20 OPERATION BUFFER CLEAR SUBROUTINE 7508.26
2664 ;+
2665 ; .CLDFB -- SUBROUTINE TO CLEAR THE DTE-20 TRANSFER BUFFERS
2666 ; .CLDFR -- SUBROUTINE TO CLEAR THE DTE-20 READ BUFFER
2667 ; .CLDFW -- SUBROUTINE TO CLEAR THE DTE-20 WRITE BUFFER
2668 ;
2669 ; THE SUBROUTINES CLEAR THE INDICATED BUFFERS
2670 ;
2671 ; INPUT ARGUMENTS:
2672 ;
2673 ; NONE.
2674 ;
2675 ; OUTPUT ARGUMENTS:
2676 ;
2677 ; NONE.
2678 ;
2679 ; ERROR CODES RETURNED:
2680 ;
2681 ; NONE.
2682 ;-
2683
2684 .ENABL LSB
2685
2686 002234 .CLDFB::
2687 002234 CALL .CLDFW ; CLEAR THE WRITE HALF OF THE BUFFER
002234 004737 002250' JSR PC,.CLDFW
2688 002240 .CLDFR::
2689 002240 PUSH R0 ; SAVE R0
002240 010046 MOV R0,-(SP)
2690 002242 012700 000222' MOV #.DFRB,R0 ; .CLEAR THE FUNCTION READ BUFFER
2691 002246 000403 BR 10$ ; .
2692 ;
2693 002250 .CLDFW::
2694 002250 PUSH R0 ; SAVE R0
002250 010046 MOV R0,-(SP)
2695 002252 012700 000214' MOV #.DFWB,R0 ; .CLEAR THE FUNCTION WRITE BUFFER
2696 002256 10$:
2697 002256 CALL .TPCLR ; .CLEAR THE BUFFER
002256 004737 027234' JSR PC,.TPCLR
2698 002262 POP R0 ; .RESTORE R0
002262 012600 MOV (SP)+,R0
2699 002264 RETURN ; TO CALLER
002264 000207 RTS PC
2700
2701 .DSABL LSB
CLRFF -- KL RUN FLOP CLEAR MODU MACRO M1108 13-JAN-78 09:14 PAGE 69
.CLDFB -- DTE-20 OPERATION BUFFER CLEAR SUBROUTINE 7508.26
2703 .TITLE CLRFF -- KL RUN FLOP CLEAR MODULE 7609.10
2704
2705 .IDENT "001010"
2706
2707 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
2708 ;
2709 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
2710 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
2711 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
2712 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
2713 ; FOR ITS ACCURACY.
2714 ;
2715 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
2716 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
2717 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
2718 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
2719 ;
2720 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
2721 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
2722 ;
2723 ; MODULE: KL RUN FLOP CLEAR
2724 ;
2725 ; VERSION: 01-01
2726 ;
2727 ; AUTHOR: R. BELANGER
2728 ;
2729 ; DATE: 7609.10
2730 ;
2731 ; THIS MODULE CONTAINS:
2732 ;
2733 ; 1) KL RUN FLOP CLEAR CODE
2734 ;
2735 ; MODIFIED BY A. PECKHAM 7612.11 TO SET .NOHLT SO THAT RSX20F
2736 ; WILL NOT PANIC
2737
2738 .MCALL DIR$, MRKT$
CLRFF -- KL RUN FLOP CLEAR MODU MACRO M1108 13-JAN-78 09:14 PAGE 70
.CLRFF -- CLEAR KL RUN FLOP SUBROUTINE 7609.10
2740 .SBTTL .CLRFF -- CLEAR KL RUN FLOP SUBROUTINE 7609.10
2741
2742 ;+
2743 ; .CLRFF -- SUBROUTINE TO CLEAR THE KL RUN FLOP.
2744 ;
2745 ; THIS SUBROUTINE CLEARS THE KL RUN FLOP AND ISSUES A
2746 ; "MARK TIME" DIRECTIVE FOR THE CLOCK SHUTDOWN IN ".KLHLT".
2747 ;
2748 ; INPUT ARGUMENTS:
2749 ;
2750 ; NONE.
2751 ;
2752 ; OUTPUT ARGUMENTS:
2753 ;
2754 ; NONE
2755 ;
2756 ; ERROR CODES RETURNED:
2757 ;
2758 ; FXF -- FUNCTION EXECUTE FAILED.
2759 ;-
2760
2761 002266 .CLRFF::
2762 002266 000241 CLC ; CLEAR CC-C
2763 002270 DIR$ #.MTDPB ; REQUEST MARK TIME (FOR ".KLHLT")
002270 012746 002322' MOV #.MTDPB,-(SP)
002274 104375 EMT 375
2764 002276 PUSH R0 ; SAVE R0
002276 010046 MOV R0,-(SP)
2765 002300 112737 000001 000000G MOVB #1,.NOHLT ; TELL RSX20F NOT TO WORRY ABOUT THIS
2766 002306 012700 000020 MOV #FX.CRF,R0 ; .SET UP TO CLEAR KL RUN FLOP
2767 002312 CALL .FXCT ; .DO IT
002312 004737 011074' JSR PC,.FXCT
2768 002316 POP R0 ; .RESTORE R0
002316 012600 MOV (SP)+,R0
2769 002320 RETURN ; TO CALLER
002320 000207 RTS PC
CLRFF -- KL RUN FLOP CLEAR MODU MACRO M1108 13-JAN-78 09:14 PAGE 71
.CLRFF -- CLEAR KL RUN FLOP SUBROUTINE 7609.10
2771 ; DPB FOR MARK TIME DIRECTIVE
2772
2773 ; !===============================================!
2774 ; 00 ! DPB SIZE ! DIC !
2775 ; !-----------------------------------------------!
2776 ; 02 ! EVENT FLAG !
2777 ; !-----------------------------------------------!
2778 ; 04 ! TIME INTERVAL IN CLOCK TICKS !
2779 ; !-----------------------------------------------!
2780 ; 06 ! RESCHEDULE INTERVAL IN CLOCK TICKS !
2781 ; !-----------------------------------------------!
2782 ; 10 ! AST HANDLER ENTRY POINT !
2783 ; !===============================================!
2784
2785 002322 .MTDPB::
2786 002322 MRKT$ E.FHTO,30.,0,0
002322 027 005 .BYTE 23.,5
002324 000001 .WORD E.FHTO
002326 000036 .WORD 30.
002330 000000 .WORD 0
002332 000000 .WORD 0
CMDTB -- MAIN COMMAND TABLE MOD MACRO M1108 13-JAN-78 09:14 PAGE 72
.CLRFF -- CLEAR KL RUN FLOP SUBROUTINE 7609.10
2788 .TITLE CMDTB -- MAIN COMMAND TABLE MODULE 7703.25
2789
2790 .IDENT "003000"
2791
2792 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
2793 ;
2794 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
2795 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
2796 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
2797 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
2798 ; FOR ITS ACCURACY.
2799 ;
2800 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
2801 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
2802 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
2803 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
2804 ;
2805 ; MODULE: MAIN COMMAND TABLE
2806 ;
2807 ; VERSION: 03-00
2808 ;
2809 ; AUTHOR: R. BELANGER
2810 ;
2811 ; DATE: 7703.25
2812 ;
2813 ; THIS MODULE CONTAINS:
2814 ;
2815 ; 1) THE MAIN COMMAND TABLE
2816 ;
2817 ; MODIFICATIONS:
2818 ;
2819 ; NO. DATE PROGRAMMER REASON
2820 ; --- ---- ---------- ------
2821 ; 001 28-FEB-77 R. BELANGER ADD DISCONNECT COMMAND
CMDTB -- MAIN COMMAND TABLE MOD MACRO M1108 13-JAN-78 09:14 PAGE 73
.CMDTB -- THE MAIN COMMAND TABLE 7703.25
2823 .SBTTL .CMDTB -- THE MAIN COMMAND TABLE 7703.25
2824
2825 002334 .CMDTB::
2826 002334 COMND$ ,<LG.OPR!LG.RPT>,.NULLC
000050 000 .ASCIZ %%
002334 000050' .WORD $$CMDN ; POINTER TO "" SYMBOL
002336 000401 .WORD LG.OPR!LG.RPT ; LEGAL BITS
002340 016466' .WORD .NULLC ; ROUTINE TO CALL
2827 002342 COMND$ ABORT,LG.OPR,.ABRTC
000051 101 102 117 .ASCIZ %ABORT%
000054 122 124 000
002342 000051' .WORD $$CMDN ; POINTER TO "ABORT" SYMBOL
002344 000001 .WORD LG.OPR ; LEGAL BITS
002346 001562' .WORD .ABRTC ; ROUTINE TO CALL
2828 002350 COMND$ CLEAR,<LG.OPR!LG.RPT>,.CLRCM
000057 103 114 105 .ASCIZ %CLEAR%
000062 101 122 000
002350 000057' .WORD $$CMDN ; POINTER TO "CLEAR" SYMBOL
002352 000401 .WORD LG.OPR!LG.RPT ; LEGAL BITS
002354 025626' .WORD .CLRCM ; ROUTINE TO CALL
2829 002356 COMND$ CONTINUE,<LG.PRG!LG.RPT>,.CONTC
000065 103 117 116 .ASCIZ %CONTINUE%
000070 124 111 116
000073 125 105 000
002356 000065' .WORD $$CMDN ; POINTER TO "CONTINUE" SYMBOL
002360 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
002362 002556' .WORD .CONTC ; ROUTINE TO CALL
2830 002364 COMND$ DEPOSIT,<LG.PRG!LG.RPT>,.DPOSC
000076 104 105 120 .ASCIZ %DEPOSIT%
000101 117 123 111
000104 124 000
002364 000076' .WORD $$CMDN ; POINTER TO "DEPOSIT" SYMBOL
002366 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
002370 003776' .WORD .DPOSC ; ROUTINE TO CALL
2831 002372 COMND$ DISCONNECT,LG.ALL,.DISCC
000106 104 111 123 .ASCIZ %DISCONNECT%
000111 103 117 116
000114 116 105 103
000117 124 000
002372 000106' .WORD $$CMDN ; POINTER TO "DISCONNECT" SYMBOL
002374 000007 .WORD LG.ALL ; LEGAL BITS
002376 003272' .WORD .DISCC ; ROUTINE TO CALL
2832 002400 COMND$ EXAMINE,<LG.OPR!LG.RPT>,.EXAMC
000121 105 130 101 .ASCIZ %EXAMINE%
000124 115 111 116
000127 105 000
002400 000121' .WORD $$CMDN ; POINTER TO "EXAMINE" SYMBOL
002402 000401 .WORD LG.OPR!LG.RPT ; LEGAL BITS
002404 006364' .WORD .EXAMC ; ROUTINE TO CALL
2833 002406 COMND$ FREAD,<LG.MNT!LG.RPT>,.DFRED
000131 106 122 105 .ASCIZ %FREAD%
000134 101 104 000
002406 000131' .WORD $$CMDN ; POINTER TO "FREAD" SYMBOL
002410 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
002412 003066' .WORD .DFRED ; ROUTINE TO CALL
2834 002414 COMND$ FWRITE,<LG.MNT!LG.RPT>,.DFWRT
000137 106 127 122 .ASCIZ %FWRITE%
CMDTB -- MAIN COMMAND TABLE MOD MACRO M1108 13-JAN-78 09:14 PAGE 73-1
.CMDTB -- THE MAIN COMMAND TABLE 7703.25
000142 111 124 105
000145 000
002414 000137' .WORD $$CMDN ; POINTER TO "FWRITE" SYMBOL
002416 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
002420 003172' .WORD .DFWRT ; ROUTINE TO CALL
2835 002422 COMND$ FXCT,<LG.MNT!LG.RPT>,.DFXCT
000146 106 130 103 .ASCIZ %FXCT%
000151 124 000
002422 000146' .WORD $$CMDN ; POINTER TO "FXCT" SYMBOL
002424 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
002426 003252' .WORD .DFXCT ; ROUTINE TO CALL
2836 002430 COMND$ HALT,<LG.PRG!LG.RPT>,.HALTC
000153 110 101 114 .ASCIZ %HALT%
000156 124 000
002430 000153' .WORD $$CMDN ; POINTER TO "HALT" SYMBOL
002432 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
002434 014042' .WORD .HALTC ; ROUTINE TO CALL
2837 .IF NE FTHELP
2838 COMND$ HELP,LG.ALL,.HELPC
2839 .ENDC ; FTHELP
2840 002436 COMND$ INITIALIZE,<LG.PRG!LG.RPT>,.INITC
000160 111 116 111 .ASCIZ %INITIALIZE%
000163 124 111 101
000166 114 111 132
000171 105 000
002436 000160' .WORD $$CMDN ; POINTER TO "INITIALIZE" SYMBOL
002440 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
002442 014534' .WORD .INITC ; ROUTINE TO CALL
2841 002444 COMND$ JUMP,LG.OPR,.JUMPC
000173 112 125 115 .ASCIZ %JUMP%
000176 120 000
002444 000173' .WORD $$CMDN ; POINTER TO "JUMP" SYMBOL
002446 000001 .WORD LG.OPR ; LEGAL BITS
002450 026456' .WORD .JUMPC ; ROUTINE TO CALL
2842 002452 COMND$ MCR,LG.OPR,.RUNCM
000200 115 103 122 .ASCIZ %MCR%
000203 000
002452 000200' .WORD $$CMDN ; POINTER TO "MCR" SYMBOL
002454 000001 .WORD LG.OPR ; LEGAL BITS
002456 022162' .WORD .RUNCM ; ROUTINE TO CALL
2843 002460 COMND$ REPEAT,<LG.OPR!LG.RPT>,.REPTC
000204 122 105 120 .ASCIZ %REPEAT%
000207 105 101 124
000212 000
002460 000204' .WORD $$CMDN ; POINTER TO "REPEAT" SYMBOL
002462 000401 .WORD LG.OPR!LG.RPT ; LEGAL BITS
002464 021034' .WORD .REPTC ; ROUTINE TO CALL
2844 002466 COMND$ RESET,<LG.PRG!LG.RPT>,.RESTC
000213 122 105 123 .ASCIZ %RESET%
000216 105 124 000
002466 000213' .WORD $$CMDN ; POINTER TO "RESET" SYMBOL
002470 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
002472 021336' .WORD .RESTC ; ROUTINE TO CALL
2845 002474 COMND$ RUN,LG.OPR,.RUNCM
000221 122 125 116 .ASCIZ %RUN%
000224 000
002474 000221' .WORD $$CMDN ; POINTER TO "RUN" SYMBOL
CMDTB -- MAIN COMMAND TABLE MOD MACRO M1108 13-JAN-78 09:14 PAGE 73-2
.CMDTB -- THE MAIN COMMAND TABLE 7703.25
002476 000001 .WORD LG.OPR ; LEGAL BITS
002500 022162' .WORD .RUNCM ; ROUTINE TO CALL
2846 002502 COMND$ SET,<LG.OPR!LG.RPT>,.SETCM
000225 123 105 124 .ASCIZ %SET%
000230 000
002502 000225' .WORD $$CMDN ; POINTER TO "SET" SYMBOL
002504 000401 .WORD LG.OPR!LG.RPT ; LEGAL BITS
002506 025646' .WORD .SETCM ; ROUTINE TO CALL
2847 002510 COMND$ SHUTDOWN,LG.OPR,.SHUTC
000231 123 110 125 .ASCIZ %SHUTDOWN%
000234 124 104 117
000237 127 116 000
002510 000231' .WORD $$CMDN ; POINTER TO "SHUTDOWN" SYMBOL
002512 000001 .WORD LG.OPR ; LEGAL BITS
002514 025732' .WORD .SHUTC ; ROUTINE TO CALL
2848 002516 COMND$ START,<LG.PRG!LG.RPT>,.STRTC
000242 123 124 101 .ASCIZ %START%
000245 122 124 000
002516 000242' .WORD $$CMDN ; POINTER TO "START" SYMBOL
002520 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
002522 026430' .WORD .STRTC ; ROUTINE TO CALL
2849 002524 COMND$ QUIT,LG.OPR,.QUITC
000250 121 125 111 .ASCIZ %QUIT%
000253 124 000
002524 000250' .WORD $$CMDN ; POINTER TO "QUIT" SYMBOL
002526 000001 .WORD LG.OPR ; LEGAL BITS
002530 017530' .WORD .QUITC ; ROUTINE TO CALL
2850 002532 COMND$ WHAT,LG.OPR,.WHATC
000255 127 110 101 .ASCIZ %WHAT%
000260 124 000
002532 000255' .WORD $$CMDN ; POINTER TO "WHAT" SYMBOL
002534 000001 .WORD LG.OPR ; LEGAL BITS
002536 032232' .WORD .WHATC ; ROUTINE TO CALL
2851 002540 COMND$ XCT,<LG.PRG!LG.RPT>,.EXCTC
000262 130 103 124 .ASCIZ %XCT%
000265 000
002540 000262' .WORD $$CMDN ; POINTER TO "XCT" SYMBOL
002542 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
002544 007250' .WORD .EXCTC ; ROUTINE TO CALL
2852 002546 COMND$ ZERO,LG.PRG,.ZEROC
000266 132 105 122 .ASCIZ %ZERO%
000271 117 000
002546 000266' .WORD $$CMDN ; POINTER TO "ZERO" SYMBOL
002550 000002 .WORD LG.PRG ; LEGAL BITS
002552 034234' .WORD .ZEROC ; ROUTINE TO CALL
2853 002554 000000 .WORD 0 ; END OF TABLE MARKER
CONTC -- CONTINUE COMMAND MODUL MACRO M1108 13-JAN-78 09:14 PAGE 74
.CMDTB -- THE MAIN COMMAND TABLE 7703.25
2855 .TITLE CONTC -- CONTINUE COMMAND MODULE 7611.17
2856
2857 .IDENT "002010"
2858
2859 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
2860 ;
2861 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
2862 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
2863 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
2864 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
2865 ; FOR ITS ACCURACY.
2866 ;
2867 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
2868 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
2869 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
2870 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
2871 ;
2872 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
2873 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
2874 ;
2875 ;
2876 ; MODULE: CONTINUE COMMAND
2877 ;
2878 ; VERSION: 02-01
2879 ;
2880 ; AUTHOR: R. BELANGER
2881 ;
2882 ; DATE: 7611.17
2883 ;
2884 ; THIS MODULE CONTAINS:
2885 ;
2886 ; 1) CONTINUE COMMAND CODE
2887 ;
2888 ; MODIFIED BY A. PECKHAM 7612.10 TO CHANGE REFERENCES TO .SECFL
2889 ; TO .NOERR
CONTC -- CONTINUE COMMAND MODUL MACRO M1108 13-JAN-78 09:14 PAGE 75
.CONTC -- THE "CONTINUE" COMMAND 7611.17
2891 .SBTTL .CONTC -- THE "CONTINUE" COMMAND 7611.17
2892
2893 ;+
2894 ; .CONTC -- THE "CONTINUE" COMMAND
2895 ;
2896 ; THIS ROUTINE EXECUTES THE "CONTINUE" CONSOLE FUNCTION
2897 ;
2898 ; INPUT ARGUMENTS:
2899 ;
2900 ; NONE.
2901 ;
2902 ; OUTPUT ARGUMENTS:
2903 ;
2904 ; NONE.
2905 ;
2906 ; ERROR CORES RETURNED:
2907 ;
2908 ; KNC -- KL IS NOT CONTINUABLE
2909 ;-
2910
2911 002556 .CONTC::
2912 002556 CALL .CKEOC ; CHECK E-O-C
002556 004737 002010' JSR PC,.CKEOC
2913 002562 PUSH .KLFLG ; SAVE ".KLFLG" ON THE STACK
002562 013746 000000G MOV .KLFLG,-(SP)
2914 002566 032716 000200 BIT #KF.CON,(SP) ; .CAN WE CONTINUE THE KL?
2915 002572 001427 BEQ CONKNC ; .NO -- GIVE "KNC" ERROR
2916 002574 032716 010000 BIT #KF.SIM,(SP) ; .YES -- ARE WE IN SINGLE INSTRUCTION MODE?
2917 002600 001412 BEQ 20$ ; .NO -- JUST CONTINUE THE KL
2918 002602 032716 100000 BIT #KF.CLK,(SP) ; .YES -- IS THE CLOCK RUNNING?
2919 002606 001002 BNE 10$ ; .YES -- DON'T START IT AGAIN
2920 002610 CALL .STCLK ; .NO -- START IT
002610 004737 026300' JSR PC,.STCLK
2921 002614 10$:
2922 002614 012700 000024 MOV #FX.CON,R0 ; .SET THE "CONTINUE" BUTTON
2923 002620 CALL .FXCT ; .VIA FUNCTION EXECUTE
002620 004737 011074' JSR PC,.FXCT
2924 002624 000407 BR 30$ ; .AND EXIT
2925 ;
2926 002626 20$:
2927 002626 CALL .KLCON ; .DO THE CONTINUE
002626 004737 014546' JSR PC,.KLCON
2928 002632 032716 040000 BIT #KF.RUN,(SP) ; .WAS THE KL RUNNING BEFORE?
2929 002636 001002 BNE 30$ ; .YES -- JUST EXIT
2930 002640 005037 000000G CLR .NOERR ; RE-ENABLE ERROR DETECTION
2931
2932 ; [CONTINUED ON THE FOLLOWING PAGE]
CONTC -- CONTINUE COMMAND MODUL MACRO M1108 13-JAN-78 09:14 PAGE 76
.CONTC -- THE "CONTINUE" COMMAND 7611.17
2934 ; [CONTINUED FROM THE PREVIOUS PAGE]
2935
2936 002644 30$:
2937 002644 005726 TST (SP)+ ; .CLEAR THE STACK
2938 002646 CALLR .EXITP
002646 000137 007754' JMP .EXITP
2939 ;
2940
2941 002652 CONKNC:
2942 002652 ERROR$ KNC ; ERROR -- KL NOT CONTINUEABLE
002652 012746 MOV (PC)+,-(SP) ; "KNC" IN RAD50 TO STACK
002654 043363 .RAD50 /KNC/ ; ERROR IDENTIFIER
002656 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
2943 ;
DEPAR -- DEPOSIT AR COMMAND MOD MACRO M1108 13-JAN-78 09:14 PAGE 77
.CONTC -- THE "CONTINUE" COMMAND 7611.17
2945 .TITLE DEPAR -- DEPOSIT AR COMMAND MODULE 7603.21
2946
2947 .IDENT "002010"
2948
2949 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
2950 ;
2951 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
2952 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
2953 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
2954 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
2955 ; FOR ITS ACCURACY.
2956 ;
2957 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
2958 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
2959 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
2960 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
2961 ;
2962 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
2963 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
2964 ;
2965 ;
2966 ; MODULE: DEPOSIT AR COMMAND
2967 ;
2968 ; VERSION: 02-01
2969 ;
2970 ; AUTHOR: R. BELANGER
2971 ;
2972 ; DATE: 7603.21
2973 ;
2974 ; THIS MODULE CONTAINS:
2975 ;
2976 ; 1) DEPOSIT AR COMMAND CODE
2977 ;
2978 ; MODIFIED BY A. PECKHAM 7612.10 TO DELETE REFERENCES TO .SECFL
DEPAR -- DEPOSIT AR COMMAND MOD MACRO M1108 13-JAN-78 09:14 PAGE 78
.DEPAR -- THE "DEPOSIT AR" COMMAND 7603.21
2980 .SBTTL .DEPAR -- THE "DEPOSIT AR" COMMAND 7603.21
2981
2982 ;+
2983 ; .DEPAR -- THE "DEPOSIT AR" COMMAND.
2984 ;
2985 ; THIS ROUTINE WILL DEPOSIT THE DATA SPECIFIED INTO THE KL AR REGISTER.
2986 ;
2987 ; INPUT ARGUMENTS:
2988 ;
2989 ; NONE.
2990 ;
2991 ; OUTPUT ARGUMENTS:
2992 ;
2993 ; NONE.
2994 ;
2995 ; ERROR CODES RETURNED:
2996 ;
2997 ; NONE.
2998 ;-
2999
3000 002660 .DEPAR::
3001 002660 CALL .CKRUN ; SEE IF THE KL IS RUNNING
002660 004737 002164' JSR PC,.CKRUN
3002 002664 CALL .CKCOL ; CHECK FOR A COLON
002664 004737 001752' JSR PC,.CKCOL
3003 002670 005046 CLR -(SP) ; CLEAR A BUFFER ON THE STACK
3004 002672 005046 CLR -(SP) ; .
3005 002674 005046 CLR -(SP) ; ..
3006 002676 010600 MOV SP,R0 ; ...POINT TO IT
3007 002700 CALL .GTNUM ; ...READ A NUMBER
002700 004737 012334' JSR PC,.GTNUM
3008 002704 CALL .CKEOC ; ...CHECK FOR E-O-C
002704 004737 002010' JSR PC,.CKEOC
3009 002710 PUSH .KLFLG ; ...SAVE ".KLFLG"
002710 013746 000000G MOV .KLFLG,-(SP)
3010 002714 032716 100000 BIT #KF.CLK,(SP) ; ....IS THE CLOCK RUNNING?
3011 002720 001402 BEQ 10$ ; ....NO -- GO ON
3012 002722 CALL .KLHLT ; ....STOP THE KL - DEAD
002722 004737 014644' JSR PC,.KLHLT
3013 002726 10$:
3014 002726 010001 MOV R0,R1 ; ....DATA POINTER TO R1
3015 002730 CALL .WRTAR ; ....WRITE THE AR
002730 004737 034014' JSR PC,.WRTAR
3016 002734 POP .SVKLF ; ....SET UP ".SVKLF"
002734 012637 000140' MOV (SP)+,.SVKLF
3017 002740 CALL .KLRST ; ...YES -- RESTART THE KL
002740 004737 015036' JSR PC,.KLRST
3018 002744 005037 000140' CLR .SVKLF ; ...RESET ".SVKLF"
3019 002750 062706 000006 ADD #^D6,SP ; ...RESET THE STACK
3020 002754 RETURN ; ...TO CALLER
002754 000207 RTS PC
DFCOM -- COMMON DIAGNOSTIC FUNC MACRO M1108 13-JAN-78 09:14 PAGE 79
.DEPAR -- THE "DEPOSIT AR" COMMAND 7603.21
3022 .TITLE DFCOM -- COMMON DIAGNOSTIC FUNCTION MODULE 7603.30
3023
3024 .IDENT "002010"
3025
3026 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
3027 ;
3028 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
3029 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
3030 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
3031 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
3032 ; FOR ITS ACCURACY.
3033 ;
3034 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
3035 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
3036 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
3037 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
3038 ;
3039 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
3040 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
3041 ;
3042 ;
3043 ; MODULE: COMMON DIAGNOSTIC FUNCTION
3044 ;
3045 ; VERSION: 02-01
3046 ;
3047 ; AUTHOR: R. BELANGER
3048 ;
3049 ; DATE: 7603.30
3050 ;
3051 ; THIS MODULE CONTAINS:
3052 ;
3053 ; 1) COMMON DIAGNOSTIC FUNCTION CODE
3054 ;
3055 ; MODIFIED BY A. PECKHAM 7612.10 TO DELETE REFERENCES TO .SECFL
DFCOM -- COMMON DIAGNOSTIC FUNC MACRO M1108 13-JAN-78 09:14 PAGE 80
.DFCOM -- COMMON DIAGNOSTIC FUNCTION ROUTINE 7603.30
3057 .SBTTL .DFCOM -- COMMON DIAGNOSTIC FUNCTION ROUTINE 7603.30
3058
3059 ;+
3060 ; .DFCOM -- COMMON DIAGNOSTIC FUNCTION ROUTINE
3061 ;
3062 ; THIS ROUTINE WILL INPUT A DIAGNOSTIC FUNCTION READ, WRITE, OR
3063 ; EXECUTE CODE AND RETURN IT IN R0, AFTER CHECKING THAT THE KL
3064 ; IS NOT RUNNING, AND SEEING THAT THE FUNCTION CODE IS IN RANGE.
3065 ;
3066 ; INPUT ARGUMENTS:
3067 ;
3068 ; NONE.
3069 ;
3070 ; OUTPUT ARGUMENTS:
3071 ;
3072 ; R0 HOLDS THE FUNCTION CODE.
3073 ;
3074 ; ERROR CODES RETURNED:
3075 ;
3076 ; IFC -- ILLEGAL FUNCTION CODE
3077 ; MRA -- MISSING REQUIRED ARGUMENT.
3078 ;-
3079
3080 002756 .DFCOM::
3081 002756 CALL .CKRUN ; SEE IF THE KL IS RUNNING
002756 004737 002164' JSR PC,.CKRUN
3082 002762 005046 CLR -(SP) ; CLEAR A BUFFER ON THE STACK
3083 002764 005046 CLR -(SP) ; .
3084 002766 005046 CLR -(SP) ; ..
3085 002770 010600 MOV SP,R0 ; ...POINT TO IT
3086 002772 CALL .GTKLN ; ...READ THE FUNCTION CODE
002772 004737 012334' JSR PC,.GTKLN
3087 002776 005760 000004 TST 4(R0) ; ...SEE IF WE HAVE A LEGAL CODE
3088 003002 001026 BNE DFCIFC ; ...NO -- COMPLAIN
3089 003004 005760 000002 TST 2(R0) ; ...
3090 003010 001023 BNE DFCIFC ; ...
3091 003012 105760 000001 TSTB 1(R0) ; ...
3092 003016 001020 BNE DFCIFC ; ...
3093 003020 132710 177740 BITB #^C37,(R0) ; ...IS THIS AN EXECUTE?
3094 003024 001411 BEQ 10$ ; ...NO -- CONTINUE
3095 003026 032737 040000 000000G BIT #KF.RUN,.KLFLG ; ...IS THE KL RUNNING?
3096 003034 001405 BEQ 10$ ; ...NO -- JUST KEEP GOING
3097 003036 013737 000000G 000140' MOV .KLFLG,.SVKLF ; ...SAVE THE CURRENT FLAGS
3098 003044 CALL .KLHLT ; ...HALT THE KL
003044 004737 014644' JSR PC,.KLHLT
3099 003050 10$:
3100 003050 POP R0 ; ...GET THE CODE INTO R0
003050 012600 MOV (SP)+,R0
3101 003052 006300 ASL R0 ; ..TIMES 2
3102 003054 022626 CMP (SP)+,(SP)+ ; ..CLEAR THE STACK
3103 003056 RETURN ; TO CALLER
003056 000207 RTS PC
DFCOM -- COMMON DIAGNOSTIC FUNC MACRO M1108 13-JAN-78 09:14 PAGE 81
.DFCOM -- COMMON DIAGNOSTIC FUNCTION ROUTINE 7603.30
3105 003060 DFCIFC:
3106 003060 ERROR$ IFC ; ERROR -- ILLEGAL FUNCTION CODE
003060 012746 MOV (PC)+,-(SP) ; "IFC" IN RAD50 TO STACK
003062 034463 .RAD50 /IFC/ ; ERROR IDENTIFIER
003064 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
3107 ;
DFRED -- DIAGNOSTIC FUNCTION RE MACRO M1108 13-JAN-78 09:14 PAGE 82
.DFCOM -- COMMON DIAGNOSTIC FUNCTION ROUTINE 7603.30
3109 .TITLE DFRED -- DIAGNOSTIC FUNCTION READ COMMAND MODULE 7603.30
3110
3111 .IDENT "001010"
3112
3113 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
3114 ;
3115 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
3116 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
3117 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
3118 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
3119 ; FOR ITS ACCURACY.
3120 ;
3121 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
3122 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
3123 ;
3124 ;
3125 ; MODULE: DIAGNOSTIC FUNCTION READ COMMAND
3126 ;
3127 ; VERSION: 01-01
3128 ;
3129 ; AUTHOR: R. BELANGER
3130 ;
3131 ; DATE: 7603.30
3132 ;
3133 ; THIS MODULE CONTAINS:
3134 ;
3135 ; 1) DIAGNOSTIC FUNCTION READ COMMAND CODE
DFRED -- DIAGNOSTIC FUNCTION RE MACRO M1108 13-JAN-78 09:14 PAGE 83
.DFRED -- DIAGNOSTIC FUNCTION READ 7602.15
3137 .SBTTL .DFRED -- DIAGNOSTIC FUNCTION READ 7602.15
3138
3139 ;+
3140 ; .DFRED -- DIAGNOSTIC FUNCTION READ
3141 ;
3142 ; THIS ROUTINE WILL EXECUTE A DIAGNOSTIC FUNCTION READ AND DISPLAY
3143 ; THE RESULT ON THE CONSOLE DEVICE.
3144 ;
3145 ; INPUT ARGUMENTS:
3146 ;
3147 ; NONE.
3148 ;
3149 ; OUTPUT ARGUMENTS:
3150 ;
3151 ; NONE.
3152 ;
3153 ; ERROR CODES RETURNED:
3154 ;
3155 ; IFC -- ILLEGAL FUNCTION CODE.
3156 ; FRF -- FUNCTION READ FAILED.
3157 ;-
DFRED -- DIAGNOSTIC FUNCTION RE MACRO M1108 13-JAN-78 09:14 PAGE 84
.DFRED -- DIAGNOSTIC FUNCTION READ 7602.15
3159 003066 .DFRED::
3160 003066 CALL .DFCOM ; DO COMMON CODE
003066 004737 002756' JSR PC,.DFCOM
3161 003072 CALL .CKEOS ; CHECK END OF SYMBOL
003072 004737 002052' JSR PC,.CKEOS
3162 003076 CALL .XFRCK ; SEE THAT WE HAVE A LEGAL READ CODE
003076 004737 034042' JSR PC,.XFRCK
3163 003102 005046 CLR -(SP) ; CLEAR A BUFFER ON THE STACK
3164 003104 005046 CLR -(SP) ; .
3165 003106 005046 CLR -(SP) ; ..
3166 003110 010601 MOV SP,R1 ; ...POINT TO THE BUFFER
3167 003112 PUSH R0 ; ...SAVE THE READ CODE
003112 010046 MOV R0,-(SP)
3168 003114 CALL .FREAD ; ....DO THE READ
003114 004737 010644' JSR PC,.FREAD
3169 003120 012700 000273' MOV #FRDMSG,R0 ; ....MESSAGE POINTER TO R0
3170 003124 CALL .TYMSG ; ....TYPE IT
003124 004737 031434' JSR PC,.TYMSG
3171 003130 POP R0 ; ....READ CODE TO R0
003130 012600 MOV (SP)+,R0
3172 003132 006200 ASR R0 ; ...DIVIDED BY 2
3173 003134 CALL .TYP3D ; ...PRINT IT
003134 004737 030742' JSR PC,.TYP3D
3174 003140 CALL .TYSLS ; ...AND A SLASH
003140 004737 030634' JSR PC,.TYSLS
3175 003144 CALL .TYSPC ; ...AND A SPACE
003144 004737 030644' JSR PC,.TYSPC
3176 003150 010100 MOV R1,R0 ; ...POINT TO THE DATA
3177 003152 CALL .TYKLN ; ...PRINT IT
003152 004737 031066' JSR PC,.TYKLN
3178 003156 CALL .TCRLF ; ...END THE LINE
003156 004737 031524' JSR PC,.TCRLF
3179 003162 062706 000006 ADD #^D6,SP ; ...CLEAR THE STACK
3180 003166 CALLR .RSTKL ; RESTART THE KL AND EXIT
003166 000137 022134' JMP .RSTKL
3181 ;
3182
3183 000273 .PSECT MESSAG
3184 000273 FRDMSG:
3185 000273 106 122 040 .ASCIZ %FR %
000276 000
3186 003172 .PSECT
DFWRT -- DIAGNOSTIC FUNCTION WR MACRO M1108 13-JAN-78 09:14 PAGE 85
.DFRED -- DIAGNOSTIC FUNCTION READ 7602.15
3188 .TITLE DFWRT -- DIAGNOSTIC FUNCTION WRITE COMMAND MODULE 7608.20
3189
3190 .IDENT "001020"
3191
3192 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
3193 ;
3194 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
3195 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
3196 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
3197 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
3198 ; FOR ITS ACCURACY.
3199 ;
3200 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
3201 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
3202 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
3203 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
3204 ;
3205 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
3206 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
3207 ;
3208 ; MODULE: DIAGNOSTIC FUNCTION WRITE COMMAND
3209 ;
3210 ; VERSION: 01-02
3211 ;
3212 ; AUTHOR: R. BELANGER
3213 ;
3214 ; DATE: 7608.20
3215 ;
3216 ; THIS MODULE CONTAINS:
3217 ;
3218 ; 1) DIAGNOSTIC FUNCTION WRITE COMMAND CODE
DFWRT -- DIAGNOSTIC FUNCTION WR MACRO M1108 13-JAN-78 09:14 PAGE 86
.DFWRT -- DIAGNOSTIC FUNCTION WRITE 7608.20
3220 .SBTTL .DFWRT -- DIAGNOSTIC FUNCTION WRITE 7608.20
3221
3222 ;+
3223 ; .DFWRT -- DIAGNOSTIC FUNCTION WRITE
3224 ;
3225 ; THIS ROUTINE WILL EXECUTE A DIAGNOSTIC FUNCTION WRITE
3226 ;
3227 ; INPUT ARGUMENTS:
3228 ;
3229 ; NONE.
3230 ;
3231 ; OUTPUT ARGUMENTS:
3232 ;
3233 ; NONE.
3234 ;
3235 ; ERROR CODES RETURNED:
3236 ;
3237 ; IFC -- ILLEGAL FUNCTION CODE.
3238 ; FWF -- FUNCTION WRITE FAILED.
3239 ;-
3240
3241 003172 .DFWRT::
3242 003172 CALL .DFCOM ; DO COMMON CODE
003172 004737 002756' JSR PC,.DFCOM
3243 003176 CALL .CKCOL ; CHECK END-OF-SYMBOL
003176 004737 001752' JSR PC,.CKCOL
3244 003202 CALL .XFWCK ; SEE IF WE HAVE A GOOD WRITE CODE
003202 004737 034060' JSR PC,.XFWCK
3245 003206 005046 CLR -(SP) ; CLEAR A BUFFER ON THE STACK
3246 003210 005046 CLR -(SP) ; .
3247 003212 005046 CLR -(SP) ; ..
3248 003214 010601 MOV SP,R1 ; ...SAVE THE BUFFER POINTER
3249 003216 PUSH R0 ; ...SAVE THE WRITE CODE
003216 010046 MOV R0,-(SP)
3250 003220 010100 MOV R1,R0 ; ....POINT TO THE BUFFER
3251 003222 CALL .GTKLN ; ....READ THE DATA
003222 004737 012334' JSR PC,.GTKLN
3252 003226 CALL .CKEOS ; ....CHECK SYMBOL END
003226 004737 002052' JSR PC,.CKEOS
3253 003232 010001 MOV R0,R1 ; ...DATA POINTER TO R1
3254 003234 POP R0 ; ....GET THE WRITE CODE
003234 012600 MOV (SP)+,R0
3255 003236 CALL .FWRIT ; ...DO THE WRITE
003236 004737 010740' JSR PC,.FWRIT
3256 003242 062706 000006 ADD #^D6,SP ; ...RESET THE STACK
3257 003246 CALLR .RSTKL ; RESET ".SECFL" AND EXIT
003246 000137 022134' JMP .RSTKL
3258 ;
DFXCT -- DIAGNOSTIC FUNCTION EX MACRO M1108 13-JAN-78 09:14 PAGE 87
.DFWRT -- DIAGNOSTIC FUNCTION WRITE 7608.20
3260 .TITLE DFXCT -- DIAGNOSTIC FUNCTION EXECUTE COMMAND MODULE 7603.30
3261
3262 .IDENT "001010"
3263
3264 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
3265 ;
3266 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
3267 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
3268 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
3269 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
3270 ; FOR ITS ACCURACY.
3271 ;
3272 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
3273 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
3274 ;
3275 ;
3276 ; MODULE: DIAGNOSTIC FUNCTION EXECUTE COMMAND
3277 ;
3278 ; VERSION: 01-01
3279 ;
3280 ; AUTHOR: R. BELANGER
3281 ;
3282 ; DATE: 7603.30
3283 ;
3284 ; THIS MODULE CONTAINS:
3285 ;
3286 ; 1) DIAGNOSTIC FUNCTION EXECUTE CODE
DFXCT -- DIAGNOSTIC FUNCTION EX MACRO M1108 13-JAN-78 09:14 PAGE 88
.DFXCT -- DIAGNOSTIC FUNCTION EXECUTE 7602.15
3288 .SBTTL .DFXCT -- DIAGNOSTIC FUNCTION EXECUTE 7602.15
3289
3290 ;+
3291 ; .DFXCT -- DIAGNOSTIC FUNCTION EXECUTE
3292 ;
3293 ; THIS SUBROUTINE WILL EXECUTE A DIAGNOSTIC FUNCTION EXECUTE.
3294 ;
3295 ; INPUT ARGUMENTS:
3296 ;
3297 ; NONE.
3298 ;
3299 ; OUTPUT ARGUMENTS:
3300 ;
3301 ; NONE.
3302 ;
3303 ; ERROR CODES RETURNED:
3304 ;
3305 ; IFC -- ILLEGAL FUNCTION CODE.
3306 ; FXF -- FUNCTION EXECUTE FAILED.
3307 ;-
3308
3309 003252 .DFXCT::
3310 003252 CALL .DFCOM ; DO COMMON CODE
003252 004737 002756' JSR PC,.DFCOM
3311 003256 CALL .CKEOS ; CHECK SYMBOL END
003256 004737 002052' JSR PC,.CKEOS
3312 003262 CALL .XFXCK ; CHECK THE FXCT CODE OUT
003262 004737 034076' JSR PC,.XFXCK
3313 003266 CALLR .FXCT ; DO THE FUNCTION EXECUTE
003266 000137 011074' JMP .FXCT
3314 ;
DISCC -- DISCONNECT COMMAND MOD MACRO M1108 13-JAN-78 09:14 PAGE 89
.DFXCT -- DIAGNOSTIC FUNCTION EXECUTE 7602.15
3316 .TITLE DISCC -- DISCONNECT COMMAND MODULE 7702.28
3317
3318 .IDENT "003000"
3319
3320 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
3321 ;
3322 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
3323 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
3324 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
3325 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
3326 ; FOR ITS ACCURACY.
3327 ;
3328 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
3329 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
3330 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
3331 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
3332 ;
3333 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
3334 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
3335 ;
3336 ; MODULE: DISCONNECT COMMAND
3337 ;
3338 ; VERSION: 03-00
3339 ;
3340 ; AUTHOR: R. BELANGER
3341 ;
3342 ; DATE: 7702.28
3343 ;
3344 ; THIS MODULE CONTAINS:
3345 ;
3346 ; 1) DISCONNECT COMMAND CODE
3347
3348 .MCALL DIR$,RQST$
DISCC -- DISCONNECT COMMAND MOD MACRO M1108 13-JAN-78 09:14 PAGE 90
.DISCC -- THE "DISCONNECT" COMMAND 7702.28
3350 .SBTTL .DISCC -- THE "DISCONNECT" COMMAND 7702.28
3351
3352 ;+
3353 ; .DISCC -- THE "DISCONNECT" COMMAND
3354 ;
3355 ; THIS SUBROUTINE CHECKS THE SYNTAX OF THE "DISCONNECT" COMMAND
3356 ; AND REQUESTS THE KLINIK DISCONNECT TASK, "KLDISC". THE KLINIK DISCONNECT
3357 ; TASK WILL THEN DISCONNECT THE KLINIK LINE, LOG THE DISCONNECT AND
3358 ; RETURN THE THE RSX20F COMMAND PARSER.
3359 ;
3360 ; INPUT ARGUMENTS:
3361 ;
3362 ; NONE.
3363 ;
3364 ; OUTPUT ARGUMENTS:
3365 ;
3366 ; NONE.
3367 ;
3368 ; ERROR CODES RETURNED:
3369 ;
3370 ; NONE.
3371 ;-
3372
3373 003272 .DISCC::
3374 003272 CALL .CKEOC ; MUST HAVE E-O-C
003272 004737 002010' JSR PC,.CKEOC
3375 003276 112737 000003 000001G MOVB #3,.KLNSW+1 ; FLAG DISCONNECT
3376 003304 DIR$ #RQSKLD ; REQUEST DISCONNECT TASK
003304 012746 003316' MOV #RQSKLD,-(SP)
003310 104375 EMT 375
3377 003312 CALLR .EXITP ; GO AWAY FOR NOW
003312 000137 007754' JMP .EXITP
3378 ;
3379 003316 RQSKLD:
3380 003316 RQST$ KLDISC,,10
003316 013 007 .BYTE 11.,7
003320 043244 035473 .RAD50 /KLDISC/
003324 000000 000000 .WORD 0,0
003330 000010 .WORD 10
003332 000 000 .BYTE ,
DOCMD -- COMMAND DECODER MODULE MACRO M1108 13-JAN-78 09:14 PAGE 91
.DISCC -- THE "DISCONNECT" COMMAND 7702.28
3382 .TITLE DOCMD -- COMMAND DECODER MODULE 7603.30
3383
3384 .IDENT "001010"
3385
3386 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
3387 ;
3388 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
3389 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
3390 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
3391 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
3392 ; FOR ITS ACCURACY.
3393 ;
3394 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
3395 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
3396 ;
3397 ;
3398 ; MODULE: COMMAND DECODER
3399 ;
3400 ; VERSION: 01-01
3401 ;
3402 ; AUTHOR: R. BELANGER
3403 ;
3404 ; DATE: 7603.30
3405 ;
3406 ; THIS MODULE CONTAINS:
3407 ;
3408 ; 1) COMMAND DECODER
DOCMD -- COMMAND DECODER MODULE MACRO M1108 13-JAN-78 09:14 PAGE 92
.DOCMD -- DECODE A SINGLE COMMAND 7602.03
3410 .SBTTL .DOCMD -- DECODE A SINGLE COMMAND 7602.03
3411
3412 ;+
3413 ; .DOCMD -- DECODE AND DISPATCH FOR A SINGLE COMMAND
3414 ;
3415 ; THIS SUBROUTINE WILL DECODE THE INPUT STREAM FROM THE MAIN COMMAND
3416 ; SYMBOL TABLE, ".CMDTB", SET UP THE LEGAL BITS FOR EACH COMMAND
3417 ; DECODED, AND PERFORM THE DISPATCH FOR THAT COMMAND.
3418 ;
3419 ; INPUT ARGUMENTS:
3420 ;
3421 ; R0 POINTS TO A REPEAT COUNT
3422 ; R5 POINTS TO THE INPUT STREAM.
3423 ;
3424 ; OUTPUT ARGUMENTS:
3425 ;
3426 ; R0 POINTS TO THE COMMAND NAME POINTER IN THE COMMAND TABLE
3427 ;
3428 ; ERROR CODES RETURNED:
3429 ;
3430 ; CNR -- COMMAND IS NOT REPEATABLE
3431 ;-
3432
3433 003334 .DOCMD::
3434 003334 022020 CMP (R0)+,(R0)+ ; POINT TO THE END OF THE REPEAT COUNT
3435 003336 PUSH <(R0),-(R0),-(R0)>
003336 011046 MOV (R0),-(SP)
003340 014046 MOV -(R0),-(SP)
003342 014046 MOV -(R0),-(SP)
3436 003344 010600 MOV SP,R0 ; ...POINT TO THE REPEAT COUNT
3437 003346 PUSH R5 ; ...SAVE COMMAND LINE POINTER
003346 010546 MOV R5,-(SP)
3438 003350 PUSH R0 ; ....SAVE THE REPEAT COUNT POINTER
003350 010046 MOV R0,-(SP)
3439 003352 010037 000132' MOV R0,.RPTPT ; .....FOR "CLEAR REPEAT"
3440 003356 10$:
3441 003356 012700 002334' MOV #.CMDTB,R0 ; .....POINT TO THE COMMAND TABLE
3442 003362 012737 000021' 000002' MOV #PARNAM,.CCMDN ; ....."PARSER" IS CURRENT COMMAND
3443 003370 CALL .TSCAN ; .....SCAN THE TABLE
003370 004737 030176' JSR PC,.TSCAN
3444 003374 011037 000076' MOV (R0),.LGLWD ; .....SET UP THE LEGAL BITS FOR COMMAND
3445 003400 012701 000034' MOV #CMDNAM,R1 ; .....SET UP THE NAME POINTER
3446 003404 010137 000002' MOV R1,.CCMDN ; .....AND DESTINATION POINTER
3447 003410 014002 MOV -(R0),R2 ; .....GET THE POINTER TO THIS NAME
3448
3449 ; [CONTINUED ON THE FOLLOWING PAGE]
DOCMD -- COMMAND DECODER MODULE MACRO M1108 13-JAN-78 09:14 PAGE 93
.DOCMD -- DECODE A SINGLE COMMAND 7602.03
3451 ; [CONTINUED FROM THE PREVIOUS PAGE]
3452
3453 003412 20$:
3454 003412 112221 MOVB (R2)+,(R1)+ ; .....LOAD THE NAME
3455 003414 001376 BNE 20$ ; .....CONTINUE IF NON-NULL
3456 003416 CALL @4(R0) ; .....DO THE COMMAND
003416 004770 000004 JSR PC,@4(R0)
3457 003422 011600 MOV (SP),R0 ; .....POINT TO THE REPEAT COUNT
3458 003424 CALL .TPTST ; .....IS THERE REALLY ONE THERE
003424 004737 027340' JSR PC,.TPTST
3459 003430 001404 BEQ 30$ ; .....NO -- JUST GO ON
3460 003432 032737 000400 000076' BIT #LG.RPT,.LGLWD ; .....YES -- IS THIS COMMAND REPEATABLE?
3461 003440 001423 BEQ DOCCNR ; .....NO -- GIVE "CNR" ERROR
3462 003442 30$:
3463 003442 105725 TSTB (R5)+ ; .....YES -- IS THIS THE END??
3464 003444 001010 BNE 40$ ; .....NO -- GO ON SCANNING THIS LINE
3465 003446 105745 TSTB -(R5) ; .....YES -- BACK THE POINTER UP
3466 003450 CALL .TPDEC ; .....DECREMENT STACKED REPEAT COUNT
003450 004737 027414' JSR PC,.TPDEC
3467 003454 CALL .TPTST ; .....SEE WHAT THE COUNT IS
003454 004737 027340' JSR PC,.TPTST
3468 003460 003405 BLE 50$ ; .....DONE IF .LE. 0
3469 003462 016605 000002 MOV 2(SP),R5 ; .....RESTORE INPUT STREAM POINTER
3470 003466 40$:
3471 003466 005037 000076' CLR .LGLWD ; .....CLEAR THE LEGAL BITS
3472 003472 000731 BR 10$ ; .....AND REITERATE OR CONTINUE
3473 ;
3474 003474 50$:
3475 003474 062706 000012 ADD #^D10,SP ; .....FLUSH THE STACK
3476 003500 CALL .CESCK ; CHECK FOR CLOCK ERROR STOP
003500 004737 001630' JSR PC,.CESCK
3477 003504 CALLR .EBPCK ; AND EBUS PARITY ERROR
003504 000137 005304' JMP .EBPCK
3478 ;
3479 003510 DOCCNR:
3480 003510 ERROR$ CNR ; ERROR -- COMMAND IS NOT REPEATABLE
003510 012746 MOV (PC)+,-(SP) ; "CNR" IN RAD50 TO STACK
003512 012402 .RAD50 /CNR/ ; ERROR IDENTIFIER
003514 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
3481 ;
DPETB -- DEPOSIT EXTENSION TABL MACRO M1108 13-JAN-78 09:14 PAGE 94
.DOCMD -- DECODE A SINGLE COMMAND 7602.03
3483 .TITLE DPETB -- DEPOSIT EXTENSION TABLE MODULE 7603.30
3484
3485 .IDENT "001010"
3486
3487 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
3488 ;
3489 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
3490 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
3491 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
3492 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
3493 ; FOR ITS ACCURACY.
3494 ;
3495 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
3496 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
3497 ;
3498 ;
3499 ; MODULE: DEPOSIT EXTENSION TABLE
3500 ;
3501 ; VERSION: 01-01
3502 ;
3503 ; AUTHOR: R. BELANGER
3504 ;
3505 ; DATE: 7603.30
3506 ;
3507 ; THIS MODULE CONTAINS:
3508 ;
3509 ; 1) THE DEPOSIT EXTENSION TABLE
DPETB -- DEPOSIT EXTENSION TABL MACRO M1108 13-JAN-78 09:14 PAGE 95
.DPETB -- THE DEPOSIT EXTENSION TABLE 7602.23
3511 .SBTTL .DPETB -- THE DEPOSIT EXTENSION TABLE 7602.23
3512
3513 003516 .DPETB::
3514 003516 COMND$ DECREMENT,<LG.RPT!LG.OPR>,.DPOSD
000277 104 105 103 .ASCIZ %DECREMENT%
000302 122 105 115
000305 105 116 124
000310 000
003516 000277' .WORD $$CMDN ; POINTER TO "DECREMENT" SYMBOL
003520 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
003522 004032' .WORD .DPOSD ; ROUTINE TO CALL
3515 003524 COMND$ INCREMENT,<LG.RPT!LG.OPR>,.DPOSI
000311 111 116 103 .ASCIZ %INCREMENT%
000314 122 105 115
000317 105 116 124
000322 000
003524 000311' .WORD $$CMDN ; POINTER TO "INCREMENT" SYMBOL
003526 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
003530 004042' .WORD .DPOSI ; ROUTINE TO CALL
3516 003532 COMND$ NEXT,<LG.RPT!LG.OPR>,.DPOSN
000323 116 105 130 .ASCIZ %NEXT%
000326 124 000
003532 000323' .WORD $$CMDN ; POINTER TO "NEXT" SYMBOL
003534 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
003536 004052' .WORD .DPOSN ; ROUTINE TO CALL
3517 003540 COMND$ PREVIOUS,<LG.RPT!LG.OPR>,.DPOSP
000330 120 122 105 .ASCIZ %PREVIOUS%
000333 126 111 117
000336 125 123 000
003540 000330' .WORD $$CMDN ; POINTER TO "PREVIOUS" SYMBOL
003542 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
003544 004062' .WORD .DPOSP ; ROUTINE TO CALL
3518 003546 COMND$ THIS,<LG.RPT!LG.OPR>,.DPOSZ
000341 124 110 111 .ASCIZ %THIS%
000344 123 000
003546 000341' .WORD $$CMDN ; POINTER TO "THIS" SYMBOL
003550 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
003552 004072' .WORD .DPOSZ ; ROUTINE TO CALL
3519 003554 000000 .WORD 0 ; END OF TABLE MARKER
DPEWD -- DEPOSIT ELEVEN EXTENSI MACRO M1108 13-JAN-78 09:14 PAGE 96
.DPETB -- THE DEPOSIT EXTENSION TABLE 7602.23
3521 .TITLE DPEWD -- DEPOSIT ELEVEN EXTENSION MODULE 7603.30
3522
3523 .IDENT "001010"
3524
3525 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
3526 ;
3527 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
3528 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
3529 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
3530 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
3531 ; FOR ITS ACCURACY.
3532 ;
3533 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
3534 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
3535 ;
3536 ;
3537 ; MODULE: DEPOSIT ELEVEN EXTENSION
3538 ;
3539 ; VERSION: 01-01
3540 ;
3541 ; AUTHOR: R. BELANGER
3542 ;
3543 ; DATE: 7603.30
3544 ;
3545 ; THIS MODULE CONTAINS:
3546 ;
3547 ; 1) DEPOSIT ELEVEN EXTENSION CODE
DPEWD -- DEPOSIT ELEVEN EXTENSI MACRO M1108 13-JAN-78 09:14 PAGE 97
.DPEWD -- THE "DEPOSIT <ELEVEN> <NUMERICAL OBJECT>" COMMAND 76
3549 .SBTTL .DPEWD -- THE "DEPOSIT <ELEVEN> <NUMERICAL OBJECT>" COMMAND 7602.29
3550
3551 .ENABL LSB
3552
3553 003556 .DPEWT:: ; DEPOSIT <ELEVEN> THIS
3554 003556 013700 000034' MOV .EDELA,R0 ; ADDRESS TO R0
3555 003562 000413 BR 10$ ; CHECK FOR ARGUMENTS
3556 ;
3557 003564 .DPEWD:: ; DEPOSIT <ELEVEN> DECREMENT
3558 003564 CALL .EDEWD ; DECREMENT THE ADDRESS
003564 004737 005326' JSR PC,.EDEWD
3559 003570 000410 BR 10$ ; EXIT THRU COMMON CODE
3560 ;
3561 003572 .DPEWI:: ; DEPOSIT <ELEVEN> INCREMENT
3562 003572 CALL .EDEWI ; INCREMENT THE ADDRESS
003572 004737 005340' JSR PC,.EDEWI
3563 003576 000405 BR 10$ ; EXIT THRU COMMON CODE
3564 ;
3565 003600 .DPEWN:: ; DEPOSIT <ELEVEN> NEXT
3566 003600 CALL .EDEWN ; GET THE NEXT ADDRESS
003600 004737 005340' JSR PC,.EDEWN
3567 003604 000402 BR 10$ ; EXIT THRU COMMON CODE
3568 ;
3569 003606 .DPEWP:: ; DEPOSIT <ELEVEN> PREVIOUS
3570 003606 CALL .EDEWP ; GET THE PREVIOUS ADDRESS
003606 004737 005326' JSR PC,.EDEWP
3571 003612 10$:
3572 003612 122715 000072 CMPB #':,(R5) ; DOES AN ARGUMENT FOLLOW?
3573 003616 001403 BEQ 20$ ; YES -- GO GET IT
3574 003620 013701 000052' MOV .ELDDW,R1 ; NO -- USE OLD DATA
3575 003624 000406 BR 30$ ; AND DO THE DEPOSIT
3576 ;
3577 003626 20$:
3578 003626 105725 TSTB (R5)+ ; GET OVER THE COLON
3579 003630 PUSH R0 ; SAVE THE ADDRESS
003630 010046 MOV R0,-(SP)
3580 003632 CALL .GTELN ; .READ THE DATA
003632 004737 012252' JSR PC,.GTELN
3581 003636 010001 MOV R0,R1 ; .DATA TO R1
3582 003640 POP R0 ; .ADDRESS TO R0
003640 012600 MOV (SP)+,R0
3583 003642 30$:
3584 003642 CALLR .DPSEE ; DO THE DEPOSIT
003642 000137 004154' JMP .DPSEE
3585 ;
3586
3587 .DSABL LSB
DPKLD -- DEPOSIT TEN EXTENSION MACRO M1108 13-JAN-78 09:14 PAGE 98
.DPEWD -- THE "DEPOSIT <ELEVEN> <NUMERICAL OBJECT>" COMMAND 76
3589 .TITLE DPKLD -- DEPOSIT TEN EXTENSION MODULE 7603.30
3590
3591 .IDENT "001010"
3592
3593 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
3594 ;
3595 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
3596 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
3597 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
3598 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
3599 ; FOR ITS ACCURACY.
3600 ;
3601 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
3602 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
3603 ;
3604 ;
3605 ; MODULE: DEPOSIT TEN EXTENSION
3606 ;
3607 ; VERSION: 01-01
3608 ;
3609 ; AUTHOR: R. BELANGER
3610 ;
3611 ; DATE: 7603.30
3612 ;
3613 ; THIS MODULE CONTAINS:
3614 ;
3615 ; 1) DEPOSIT TEN EXTENSION CODE
DPKLD -- DEPOSIT TEN EXTENSION MACRO M1108 13-JAN-78 09:14 PAGE 99
.DPKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7602.
3617 .SBTTL .DPKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7602.29
3618
3619 .ENABL LSB
3620
3621 003646 .DPKLT:: ; DEPOSIT <TEN> THIS
3622 003646 012700 000044' MOV #.EDKLX,R0 ; ADDRESS POINTER TO R0
3623 003652 000413 BR 10$ ; CHECK FOR ARGUMENTS
3624 ;
3625 003654 .DPKLD:: ; DEPOSIT <TEN> DECREMENT
3626 003654 CALL .EDKLD ; DO THE DECREMENT
003654 004737 005376' JSR PC,.EDKLD
3627 003660 000410 BR 10$ ; EXIT THRU COMMON CODE
3628 ;
3629 003662 .DPKLI:: ; DEPOSIT <TEN> INCREMENT
3630 003662 CALL .EDKLI ; DO THE INCREMENT
003662 004737 005414' JSR PC,.EDKLI
3631 003666 000405 BR 10$ ; EXIT THRU COMMON CODE
3632 ;
3633 003670 .DPKLN:: ; DEPOSIT <TEN> NEXT
3634 003670 CALL .EDKLN ; GO GET NEXT ADDRESS
003670 004737 005364' JSR PC,.EDKLN
3635 003674 000402 BR 10$ ; EXIT THRU COMMON CODE
3636 ;
3637 003676 .DPKLP:: ; DEPOSIT <TEN> PREVIOUS
3638 003676 CALL .EDKLP ; GO GET PREVIOUS ADDRESS
003676 004737 005352' JSR PC,.EDKLP
3639 003702 10$:
3640 003702 010001 MOV R0,R1 ; ADDRESS POINTER TO R1
3641 003704 122715 000072 CMPB #':,(R5) ; IS THERE AN ARGUMENT FOLLOWING?
3642 003710 001403 BEQ 20$ ; YES -- GO GET IT
3643 003712 012700 000026' MOV #.DPBFX,R0 ; NO -- USE OLD DATA
3644 003716 000405 BR 30$ ; AND DO THE DEPOSIT
3645 ;
3646 003720 20$:
3647 003720 105725 TSTB (R5)+ ; GET OVER THE COLON
3648 003722 012700 000026' MOV #.DPBFX,R0 ; POINT TO THE DATA BUFFER
3649 003726 CALL .GTKLN ; GET A NUMBER
003726 004737 012334' JSR PC,.GTKLN
3650 003732 30$:
3651 003732 CALLR .DPSTE ; DO THE DEPOSIT
003732 000137 004334' JMP .DPSTE
3652 ;
3653
3654 .DSABL LSB
DPOBJ -- DEPOSIT OBJECT COMMAND MACRO M1108 13-JAN-78 09:14 PAGE 100
.DPKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7602.
3656 .TITLE DPOBJ -- DEPOSIT OBJECT COMMAND DISPATCH MODULE 7603.30
3657
3658 .IDENT "001010"
3659
3660 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
3661 ;
3662 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
3663 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
3664 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
3665 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
3666 ; FOR ITS ACCURACY.
3667 ;
3668 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
3669 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
3670 ;
3671 ;
3672 ; MODULE: DEPOSIT OBJECT DISPATCH
3673 ;
3674 ; VERSION: 01-01
3675 ;
3676 ; AUTHOR: R. BELANGER
3677 ;
3678 ; DATE: 7603.30
3679 ;
3680 ; THIS MODULE CONTAINS:
3681 ;
3682 ; 1) DEPOSIT OBJECT DISPATCH CODE
DPOBJ -- DEPOSIT OBJECT COMMAND MACRO M1108 13-JAN-78 09:14 PAGE 101
.DPOBJ -- THE "DEPOSIT <OBJECT>" COMMAND DISPATCH 7602.29
3684 .SBTTL .DPOBJ -- THE "DEPOSIT <OBJECT>" COMMAND DISPATCH 7602.29
3685
3686 ;+
3687 ; .DPOBJ -- DEPOSIT "OBJECT" COMMAND DISPATCH
3688 ;
3689 ; THIS SUBROUTINE PERFORMS THE DISPATCH FOR THE SPECIFIED DEPOSIT OBJECT
3690 ;
3691 ; INPUT ARGUMENTS:
3692 ;
3693 ; R3 CONTAINS THE OLD MEMORY TYPE OFFSET
3694 ;
3695 ; OUTPUT ARGUMENTS:
3696 ;
3697 ; R3 CONTAINS THE CURRENT MEMORY TYPE OFFSET
3698 ;
3699 ; ERROR CODES RETURNED:
3700 ;
3701 ; NONE.
3702 ;-
3703
3704
3705 003736 .DPOBJ::
3706 003736 012700 004604' MOV #.DPOTB,R0 ; TABLE POINTER TO R0
3707 003742 CALL .TSCAN ; SCAN THE TABLE FOR OBJECT
003742 004737 030176' JSR PC,.TSCAN
3708 003746 012001 MOV (R0)+,R1 ; LEGAL BITS TO R1
3709 003750 005101 COM R1 ; INVERT THEM
3710 003752 040137 000076' BIC R1,.LGLWD ; SET UP NEW LEGAL WORD
3711 003756 CALLR @(R0)+ ; DISPATCH FOR OBJECT
003756 000130 JMP @(R0)+
3712 ;
3713 003760 .DPOKL::
3714 003760 005003 CLR R3 ; TEN MEMORY OFFSET TO R3
3715 003762 CALLR .DPOST ; GO DO IT
003762 000137 004264' JMP .DPOST
3716 ;
3717 003766 .DPOEL::
3718 003766 012703 000002 MOV #^D2,R3 ; PDP-11 WORD OFFSET TO R3
3719 003772 CALLR .DPOSE ; GO DO IT
003772 000137 004102' JMP .DPOSE
3720 ;
DPOSC -- DEPOSIT COMMAND DISPAT MACRO M1108 13-JAN-78 09:14 PAGE 102
.DPOBJ -- THE "DEPOSIT <OBJECT>" COMMAND DISPATCH 7602.29
3722 .TITLE DPOSC -- DEPOSIT COMMAND DISPATCH MODULE 7603.30
3723
3724 .IDENT "001010"
3725
3726 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
3727 ;
3728 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
3729 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
3730 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
3731 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
3732 ; FOR ITS ACCURACY.
3733 ;
3734 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
3735 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
3736 ;
3737 ;
3738 ; MODULE: DEPOSIT COMMAND DISPATCH
3739 ;
3740 ; VERSION: 01-01
3741 ;
3742 ; AUTHOR: R. BELANGER
3743 ;
3744 ; DATE: 7603.30
3745 ;
3746 ; THIS MODULE CONTAINS:
3747 ;
3748 ; 1) DEPOSIT COMMAND DISPATCH CODE
3749 ; 2) DEPOSIT COMMAND DISPATCH TABLES
DPOSC -- DEPOSIT COMMAND DISPAT MACRO M1108 13-JAN-78 09:14 PAGE 103
.DPOSC -- THE "DEPOSIT" COMMAND DISPATCH 7602.23
3751 .SBTTL .DPOSC -- THE "DEPOSIT" COMMAND DISPATCH 7602.23
3752
3753 ;+
3754 ; .DPOSC -- THE "DEPOSIT" COMMAND.
3755 ;
3756 ; THIS IS THE TOP LEVEL DEPOSIT ROUTINE WHICH DISPATCHES TO THE
3757 ; PROPER ROUTINE FOR THE OBJECT TO BE DEPOSITED.
3758 ;
3759 ; INPUT ARGUMENTS:
3760 ;
3761 ; NONE.
3762 ;
3763 ; OUTPUT ARGUMENTS:
3764 ;
3765 ; NONE.
3766 ;
3767 ; ERROR CODES RETURNED:
3768 ;
3769 ; NSK -- NO SUCH KEYWORD
3770 ;-
3771
3772 003776 .DPOSC::
3773 003776 013703 000102' MOV .MEMFL,R3 ; OFFSET FLAG TO R3
3774 004002 PUSH #.DPOBJ ; FOR NUMERIC ARGUMENT
004002 012746 003736' MOV #.DPOBJ,-(SP)
3775 004006 CALL .CKARG ; .LOOK FOR THE ARGUMENT
004006 004737 001712' JSR PC,.CKARG
3776 004012 001402 BEQ 10$ ; .BRANCH IF ALPHABETIC
3777 004014 012716 004022' MOV #.DPOSA,(SP) ; .FOR NUMERIC ARGUMENT
3778 004020 10$:
3779 004020 CALLR @(SP)+ ; DISPATCH
004020 000136 JMP @(SP)+
3780 ;
3781 004022 .DPOSA:: ; HERE TO DISPATCH FOR MEMORY
3782 004022 CALLR @DPOATB(R3) ; DISPATCH
004022 000173 004026' JMP @DPOATB(R3)
3783 ;
3784 004026 DPOATB:
3785 004026 004264' .WORD .DPOST ; DEPOSIT TEN
3786 004030 004102' .WORD .DPOSE ; DEPOSIT ELEVEN WORD
DPOSD -- DEPOSIT EXTENSION DISP MACRO M1108 13-JAN-78 09:14 PAGE 104
.DPOSC -- THE "DEPOSIT" COMMAND DISPATCH 7602.23
3788 .TITLE DPOSD -- DEPOSIT EXTENSION DISPATCH MODULE 7603.30
3789
3790 .IDENT "001010"
3791
3792 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
3793 ;
3794 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
3795 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
3796 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
3797 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
3798 ; FOR ITS ACCURACY.
3799 ;
3800 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
3801 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
3802 ;
3803 ;
3804 ; MODULE: DEPOSIT EXTENSION DISPATCH
3805 ;
3806 ; VERSION: 01-01
3807 ;
3808 ; AUTHOR: R. BELANGER
3809 ;
3810 ; DATE: 7603.30
3811 ;
3812 ; THIS MODULE CONTAINS:
3813 ;
3814 ; 1) DEPOSIT EXTENSION DISPATCH CODE
DPOSD -- DEPOSIT EXTENSION DISP MACRO M1108 13-JAN-78 09:14 PAGE 105
.DPOSD -- THE "DEPOSIT <NUMERICAL OBJECT>" COMMAND DISPATCH 76
3816 .SBTTL .DPOSD -- THE "DEPOSIT <NUMERICAL OBJECT>" COMMAND DISPATCH 7602.29
3817
3818 004032 .DPOSD:: ; DEPOSIT DECREMENT
3819 004032 000173 004036' JMP @DPODTB(R3) ; DISPATCH ON MEMORY TYPE FLAG
3820 ;
3821 004036 DPODTB:
3822 004036 003654' .WORD .DPKLD ; KL WORD
3823 004040 003564' .WORD .DPEWD ; PDP-11 WORD
3824
3825 004042 .DPOSI:: ; DEPOSIT INCREMENT
3826 004042 000173 004046' JMP @DPOITB(R3) ; DISPATCH ON MEMORY TYPE FLAG
3827 ;
3828 004046 DPOITB:
3829 004046 003662' .WORD .DPKLI ; KL WORD
3830 004050 003572' .WORD .DPEWI ; PDP-11 WORD
3831
3832 004052 .DPOSN:: ; DEPOSIT NEXT
3833 004052 000173 004056' JMP @DPONTB(R3) ; DISPATCH ON MEMORY TYPE FLAG
3834 ;
3835 004056 DPONTB:
3836 004056 003670' .WORD .DPKLN ; KL WORD
3837 004060 003600' .WORD .DPEWN ; PDP-11 WORD
3838
3839 004062 .DPOSP:: ; DEPOSIT PREVIOUS
3840 004062 000173 004066' JMP @DPOPTB(R3) ; DISPATCH ON MEMORY TYPE FLAG
3841 ;
3842 004066 DPOPTB:
3843 004066 003676' .WORD .DPKLP ; KL WORD
3844 004070 003606' .WORD .DPEWP ; PDP-11 WORD
3845
3846 004072 .DPOSZ:: ; DEPOSIT THIS
3847 004072 000173 004076' JMP @DPOZTB(R3) ; DISPATCH ON MEMORY TYPE FLAG
3848 ;
3849 004076 DPOZTB:
3850 004076 003646' .WORD .DPKLT ; KL WORD
3851 004100 003556' .WORD .DPEWT ; PDP-11 WORD
DPOSE -- DEPOSIT ELEVEN COMMAND MACRO M1108 13-JAN-78 09:14 PAGE 106
.DPOSD -- THE "DEPOSIT <NUMERICAL OBJECT>" COMMAND DISPATCH 76
3853 .TITLE DPOSE -- DEPOSIT ELEVEN COMMAND MODULE 7603.30
3854
3855 .IDENT "001010"
3856
3857 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
3858 ;
3859 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
3860 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
3861 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
3862 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
3863 ; FOR ITS ACCURACY.
3864 ;
3865 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
3866 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
3867 ;
3868 ;
3869 ; MODULE: DEPOSIT ELEVEN COMMAND
3870 ;
3871 ; VERSION: 01-01
3872 ;
3873 ; AUTHOR: R. BELANGER
3874 ;
3875 ; DATE: 7603.30
3876 ;
3877 ; THIS MODULE CONTAINS:
3878 ;
3879 ; 1) DEPOSIT ELEVEN COMMAND CODE
DPOSE -- DEPOSIT ELEVEN COMMAND MACRO M1108 13-JAN-78 09:14 PAGE 107
.DPOSE -- THE "DEPOSIT <ELEVEN>" COMMAND 7602.29
3881 .SBTTL .DPOSE -- THE "DEPOSIT <ELEVEN>" COMMAND 7602.29
3882
3883 ;+
3884 ; .DPOSE -- THE "DEPOSIT <ELEVEN>" COMMAND.
3885 ;
3886 ; THIS SUBROUTINE WILL DEPOSIT THE DATA SPECIFIED INTO THE PDP-11
3887 ; ADDRESS SPECIFIED.
3888 ;
3889 ; INPUT ARGUMENTS:
3890 ;
3891 ; NONE.
3892 ;
3893 ; OUTPUT ARGUMENTS:
3894 ;
3895 ; THE PDP-11 ADDRESS DEPOSITED IS IN ".EDELA"
3896 ; THE DATA DEPOSITED IS IN ".ELDDW".
3897 ;
3898 ; ERROR CODES RETURNED:
3899 ;
3900 ; NONE.
3901 ;-
3902
3903 004102 .DPOSE::
3904 004102 CALL .CKARG ; SEE IF WE HAVE AN ARGUMENT
004102 004737 001712' JSR PC,.CKARG
3905 004106 002406 BLT 10$ ; NUMERIC -- GO AROUND TABLE SCAN
3906 004110 012700 003516' MOV #.DPETB,R0 ; DEPOSIT EXTENSION TABLE POINTER TO R0
3907 004114 CALL .TSCAN ; SCAN IT
004114 004737 030176' JSR PC,.TSCAN
3908 004120 CALLR @2(R0) ; DISPATCH FOR IT
004120 000170 000002 JMP @2(R0)
3909 ;
3910 004124 10$:
3911 004124 CALL .GTELN ; READ THE ADDRESS
004124 004737 012252' JSR PC,.GTELN
3912 004130 032700 000001 BIT #BIT00,R0 ; IS IT ODD?
3913 004134 001050 BNE DPOOAI ; YES -- GIVE "OAI" ERROR
3914 004136 PUSH R0 ; NO -- SAVE IT
004136 010046 MOV R0,-(SP)
3915 004140 CALL .CKCOL ; .CHECK SEPARATOR
004140 004737 001752' JSR PC,.CKCOL
3916 004144 CALL .GTELN ; .READ THE DATA
004144 004737 012252' JSR PC,.GTELN
3917 004150 010001 MOV R0,R1 ; .DATA TO R1
3918 004152 POP R0 ; .ADDRESS TO R0
004152 012600 MOV (SP)+,R0
3919
3920 ; [CONTINUED ON THE FOLLOWING PAGE]
DPOSE -- DEPOSIT ELEVEN COMMAND MACRO M1108 13-JAN-78 09:14 PAGE 108
.DPOSE -- THE "DEPOSIT <ELEVEN>" COMMAND 7602.29
3922 ; [CONTINUED FROM THE PREVIOUS PAGE]
3923
3924 004154 .DPSEE:: ; EXTENDED DEPOSIT ENTRY POINT
3925 004154 CALL .CKEOC ; CHECK FOR E-O-C
004154 004737 002010' JSR PC,.CKEOC
3926 004160 032700 000001 BIT #BIT00,R0 ; IS THE ADDRESS ODD?
3927 004164 001034 BNE DPOOAI ; YES -- GIVE "OAI" ERROR
3928 004166 PUSH R0 ; NO -- SAVE THE ADDRESS
004166 010046 MOV R0,-(SP)
3929 004170 PUSH R1 ; .AND THE DEPOSIT DATA
004170 010146 MOV R1,-(SP)
3930 004172 010037 000034' MOV R0,.EDELA ; ..LEAVE TRACKS
3931 004176 010137 000052' MOV R1,.ELDDW ; ..MORE TRACKS
3932 004202 013737 000144' 000174' MOV .TRP4V,.SSTTB ; ..SET UP TRAP AT 4 TRAP
3933 004210 011001 MOV (R0),R1 ; ..READ ORIGINAL CONTENTS
3934 004212 CALL .TYELA ; ..PRINT THE ADDRESS
004212 004737 030672' JSR PC,.TYELA
3935 004216 112700 000134 MOVB #'\,R0 ; ..BACK SLASH
3936 004222 CALL .TYCHR ; ..PRINT IT
004222 004737 031472' JSR PC,.TYCHR
3937 004226 CALL .TYSPC ; ..AND A SPACE
004226 004737 030644' JSR PC,.TYSPC
3938 004232 010100 MOV R1,R0 ; ..DATA TO R0
3939 004234 CALL .TYELN ; ..PRINT THAT
004234 004737 030676' JSR PC,.TYELN
3940 004240 POP R1 ; ..RESTORE DATA
004240 012601 MOV (SP)+,R1
3941 004242 POP R0 ; .AND ADDRESS
004242 012600 MOV (SP)+,R0
3942 004244 010110 MOV R1,(R0) ; DO THE DEPOSIT
3943 004246 005037 000174' CLR .SSTTB ; RESET TRAP AT 4 TRAP
3944 004252 CALLR .TCRLF ; TO CALLER
004252 000137 031524' JMP .TCRLF
3945 ;
3946 004256 DPOOAI:
3947 004256 ERROR$ OAI ; ERROR -- ODD ADDRESS ILLEGAL
004256 012746 MOV (PC)+,-(SP) ; "OAI" IN RAD50 TO STACK
004260 056761 .RAD50 /OAI/ ; ERROR IDENTIFIER
004262 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
3948 ;
DPOST -- DEPOSIT TEN COMMAND MO MACRO M1108 13-JAN-78 09:14 PAGE 109
.DPOSE -- THE "DEPOSIT <ELEVEN>" COMMAND 7602.29
3950 .TITLE DPOST -- DEPOSIT TEN COMMAND MODULE 7603.30
3951
3952 .IDENT "001010"
3953
3954 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
3955 ;
3956 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
3957 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
3958 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
3959 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
3960 ; FOR ITS ACCURACY.
3961 ;
3962 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
3963 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
3964 ;
3965 ;
3966 ; MODULE: DEPOSIT TEN COMMAND
3967 ;
3968 ; VERSION: 01-01
3969 ;
3970 ; AUTHOR: R. BELANGER
3971 ;
3972 ; DATE: 7603.30
3973 ;
3974 ; THIS MODULE CONTAINS:
3975 ;
3976 ; 1) DEPOSIT TEN COMMAND CODE
DPOST -- DEPOSIT TEN COMMAND MO MACRO M1108 13-JAN-78 09:14 PAGE 110
.DPOST -- THE "DEPOSIT <TEN>" COMMAND 7602.15
3978 .SBTTL .DPOST -- THE "DEPOSIT <TEN>" COMMAND 7602.15
3979
3980 ;+
3981 ; .DPOST -- THE "DEPOSIT <TEN>" COMMAND.
3982 ;
3983 ; THIS SUBROUTINE WILL DEPOSIT THE DATA SPECIFIED INTO THE DESIRED
3984 ; KL MEMORY LOCATION.
3985 ;
3986 ; INPUT ARGUMENTS:
3987 ;
3988 ; NONE.
3989 ;
3990 ; OUTPUT ARGUMENTS:
3991 ;
3992 ; THE ADDRESS DEPOSITED IS IN ".EDKLA"
3993 ; THE DATA DEPOSITED IS IN ".DPBFR"
3994 ;
3995 ; ERROR CODES RETURNED:
3996 ;
3997 ; APE -- KL APR ERROR
3998 ; DMF -- DEPOSIT KL MEMORY FAILED
3999 ; ESD -- EBOX STOPPED - DEPOSIT
4000 ; KLA -- KL ADDRESS ERROR
4001 ; KCN -- KL CLOCK NOT RUNNING
4002 ; MRA -- MISSING REQUIRED ARGUMENT
4003 ; NOR -- NUMBER OUT OF RANGE.
4004 ; VFY -- VERIFY FAILED
4005 ;-
4006
4007 004264 .DPOST::
4008 004264 CALL .CKARG ; SEE IF AN ARGUMENT FOLLOWS
004264 004737 001712' JSR PC,.CKARG
4009 004270 002406 BLT 10$ ; NUMERIC -- GO AROUND TABLE SCAN
4010 004272 012700 003516' MOV #.DPETB,R0 ; EXTENSION TABLE POINTER TO R0
4011 004276 CALL .TSCAN ; SCAN IT
004276 004737 030176' JSR PC,.TSCAN
4012 004302 CALLR @2(R0) ; DO WHAT IT SAYS TO
004302 000170 000002 JMP @2(R0)
4013 ;
4014 004306 10$:
4015 004306 012700 000044' MOV #.EDKLX,R0 ; ADDRESS POINTER TO R0
4016 004312 CALL .GTKLA ; READ THE ADDRESS
004312 004737 012302' JSR PC,.GTKLA
4017 004316 CALL .CKCOL ; CHECK FOR A COLON
004316 004737 001752' JSR PC,.CKCOL
4018 004322 010001 MOV R0,R1 ; GOT IT, SAVE THE POINTER
4019 004324 012700 000026' MOV #.DPBFX,R0 ; DATA POINTER TO R0
4020 004330 CALL .GTKLN ; READ THE DATA
004330 004737 012334' JSR PC,.GTKLN
4021
4022 ; [CONTINUED ON THE FOLLOWING PAGE]
DPOST -- DEPOSIT TEN COMMAND MO MACRO M1108 13-JAN-78 09:14 PAGE 111
.DPOST -- THE "DEPOSIT <TEN>" COMMAND 7602.15
4024 ; [CONTINUED FROM THE PREVIOUS PAGE]
4025
4026 004334 .DPSTE:: ; EXTENDED DEPOSIT ENTRY POINT
4027 004334 CALL .CKEOC ; CHECK E-O-C CHARACTER
004334 004737 002010' JSR PC,.CKEOC
4028 004340 032737 100000 000000G BIT #KF.CLK,.KLFLG ; IS THE CLOCK RUNNING?
4029 004346 001510 BEQ DPOKCN ; NO -- GIVE "KCN" ERROR
4030 004350 012702 000036' MOV #.EDKLA,R2 ; ADDRESS BUFFER POINTER TO R2
4031 004354 012122 MOV (R1)+,(R2)+ ; LOAD THE NEW ADDRESS
4032 004356 012122 MOV (R1)+,(R2)+ ; INTO THE ADDRESS BUFFER
4033 004360 011112 MOV (R1),(R2) ; SO
4034 004362 024242 CMP -(R2),-(R2) ; BACK THE POINTER UP
4035 004364 010201 MOV R2,R1 ; PUT IT IN R1
4036 004366 012702 000020' MOV #.DPBFR,R2 ; DEPOSIT DATA POINTER TO R2
4037 004372 012022 MOV (R0)+,(R2)+ ; LOAD THE NEW DATA
4038 004374 012022 MOV (R0)+,(R2)+ ; INTO THE DEPOSIT DATA BUFFER
4039 004376 011012 MOV (R0),(R2) ; SO
4040 004400 024242 CMP -(R2),-(R2) ; BACK THE POINTER UP
4041 004402 PUSH R2 ; SAVE THE DATA POINTER
004402 010246 MOV R2,-(SP)
4042 004404 PUSH R1 ; .AND THE ADDRESS POINTER
004404 010146 MOV R1,-(SP)
4043 004406 010600 MOV SP,R0 ; ..SAVE THE POINTER TO THE BLOCK
4044 004410 PUSH R0 ; ..SO
004410 010046 MOV R0,-(SP)
4045 004412 PUSH #.EXBFR ; ...POINT TO EXAMINE BUFFER
004412 012746 000056' MOV #.EXBFR,-(SP)
4046 004416 PUSH R1 ; ....FOR THIS ADDRESS
004416 010146 MOV R1,-(SP)
4047 004420 010601 MOV SP,R1 ; .....POINT TO THE BLOCK
4048 004422 012700 000200 MOV #ED.PHY,R0 ; .....PHYSICAL REFERENCE
4049 004426 CALL .EXKLM ; .....EXAMINE IT FIRST
004426 004737 005500' JSR PC,.EXKLM
4050 004432 POP R0 ; .....GET THE ADDRESS POINTER
004432 012600 MOV (SP)+,R0
4051 004434 CALL .TYKLA ; ....PRINT IT
004434 004737 031016' JSR PC,.TYKLA
4052 004440 CALL .TYSLS ; ....AND A <SLASH>
004440 004737 030634' JSR PC,.TYSLS
4053 004444 CALL .TYSPC ; ....NOW A <SPACE>
004444 004737 030644' JSR PC,.TYSPC
4054 004450 POP R0 ; ....GET THE DATA POINTER
004450 012600 MOV (SP)+,R0
4055 004452 CALL .TYKLN ; ...TYPE THE DATA
004452 004737 031066' JSR PC,.TYKLN
4056 004456 CALL .TCRLF ; ...AND A <CRLF>
004456 004737 031524' JSR PC,.TCRLF
4057
4058 ; [CONTINUED ON THE FOLLOWING PAGE]
DPOST -- DEPOSIT TEN COMMAND MO MACRO M1108 13-JAN-78 09:14 PAGE 112
.DPOST -- THE "DEPOSIT <TEN>" COMMAND 7602.15
4060 ; [CONTINUED FROM THE PREVIOUS PAGE]
4061
4062 004462 POP R1 ; ...POINT TO THE DEPOSIT BLOCK
004462 012601 MOV (SP)+,R1
4063 004464 012700 000200 MOV #ED.PHY,R0 ; ..PHYSICAL REFERENCE
4064 004470 CALL .DPKLM ; ..DO THE DEPOSIT
004470 004737 005532' JSR PC,.DPKLM
4065 004474 005737 000166' TST .VFYFL ; ..VERIFY THE DEPOSIT?
4066 004500 001426 BEQ 20$ ; ..NO -- JUST EXIT
4067 004502 012766 000056' 000002 MOV #.EXBFR,2(SP) ; ..YES -- CHANGE THE BUFFER POINTER
4068 004510 012700 000200 MOV #ED.PHY,R0 ; ..PHYSICAL REFERENCE
4069 004514 CALL .EXKLM ; ..EXAMINE IT
004514 004737 005500' JSR PC,.EXKLM
4070 004520 012700 000020' MOV #.DPBFR,R0 ; ..DEPOSITED DATA
4071 004524 012701 000056' MOV #.EXBFR,R1 ; ..EXAMINED DATA
4072 004530 CALL .TPCMP ; ..SEE IF THEY COMPARE
004530 004737 027304' JSR PC,.TPCMP
4073 004534 001020 BNE DPOVFE ; ..NO -- COMPLAIN
4074 004536 CALL .STPKL ; ..STOP THE KL
004536 004737 026330' JSR PC,.STPKL
4075 004542 CALL .RDAPR ; ..SEE IF THERE ARE ANY APR ERRORS
004542 004737 017540' JSR PC,.RDAPR
4076 004546 CALL .RSTKL ; ..RESTART THE KL
004546 004737 022134' JSR PC,.RSTKL
4077 004552 005700 TST R0 ; ..ARE THERE ANY ERRORS?
4078 004554 001002 BNE DPOAPE ; ..YES -- COMPLAIN
4079 004556 20$:
4080 004556 022626 CMP (SP)+,(SP)+ ; ..CLEAR THE STACK
4081 004560 RETURN ; TO CALLER
004560 000207 RTS PC
4082 004562 DPOAPE:
4083 004562 ERROR$ APE ; ERROR -- KL APR ERROR
004562 012746 MOV (PC)+,-(SP) ; "APE" IN RAD50 TO STACK
004564 004305 .RAD50 /APE/ ; ERROR IDENTIFIER
004566 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
4084 ;
4085 004570 DPOKCN:
4086 004570 ERROR$ KCN ; ERROR -- KL CLOCK NOT RUNNING
004570 012746 MOV (PC)+,-(SP) ; "KCN" IN RAD50 TO STACK
004572 042506 .RAD50 /KCN/ ; ERROR IDENTIFIER
004574 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
4087 ;
4088 004576 DPOVFE:
4089 004576 ERROR$ VFY ; ERROR -- VERIFY FAILED
004576 012746 MOV (PC)+,-(SP) ; "VFY" IN RAD50 TO STACK
004600 105211 .RAD50 /VFY/ ; ERROR IDENTIFIER
004602 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
4090 ;
DPOTB -- DEPOSIT COMMAND TABLE MACRO M1108 13-JAN-78 09:14 PAGE 113
.DPOST -- THE "DEPOSIT <TEN>" COMMAND 7602.15
4092 .TITLE DPOTB -- DEPOSIT COMMAND TABLE MODULE 7603.30
4093
4094 .IDENT "001010"
4095
4096 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
4097 ;
4098 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
4099 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
4100 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
4101 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
4102 ; FOR ITS ACCURACY.
4103 ;
4104 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
4105 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
4106 ;
4107 ;
4108 ; MODULE: DEPOSIT COMMAND TABLE
4109 ;
4110 ; VERSION: 01-01
4111 ;
4112 ; AUTHOR: R. BELANGER
4113 ;
4114 ; DATE: 7603.30
4115 ;
4116 ; THIS MODULE CONTAINS:
4117 ;
4118 ; 1) THE DEPOSIT COMMAND TABLE
DPOTB -- DEPOSIT COMMAND TABLE MACRO M1108 13-JAN-78 09:14 PAGE 114
.DPOTB -- THE DEPOSIT COMMAND TABLE 7602.23
4120 .SBTTL .DPOTB -- THE DEPOSIT COMMAND TABLE 7602.23
4121
4122 004604 .DPOTB::
4123 004604 COMND$ AR,<LG.PRG!LG.RPT>,.DEPAR
000346 101 122 000 .ASCIZ %AR%
004604 000346' .WORD $$CMDN ; POINTER TO "AR" SYMBOL
004606 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
004610 002660' .WORD .DEPAR ; ROUTINE TO CALL
4124 004612 COMND$ ELEVEN,<LG.PRG!LG.RPT>,.DPOEL
000351 105 114 105 .ASCIZ %ELEVEN%
000354 126 105 116
000357 000
004612 000351' .WORD $$CMDN ; POINTER TO "ELEVEN" SYMBOL
004614 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
004616 003766' .WORD .DPOEL ; ROUTINE TO CALL
4125 004620 COMND$ TEN,<LG.PRG!LG.RPT>,.DPOKL
000360 124 105 116 .ASCIZ %TEN%
000363 000
004620 000360' .WORD $$CMDN ; POINTER TO "TEN" SYMBOL
004622 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
004624 003760' .WORD .DPOKL ; ROUTINE TO CALL
4126 004626 COMND$ DECREMENT,<LG.RPT!LG.OPR>,.DPOSD
000364 104 105 103 .ASCIZ %DECREMENT%
000367 122 105 115
000372 105 116 124
000375 000
004626 000364' .WORD $$CMDN ; POINTER TO "DECREMENT" SYMBOL
004630 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
004632 004032' .WORD .DPOSD ; ROUTINE TO CALL
4127 004634 COMND$ INCREMENT,<LG.RPT!LG.OPR>,.DPOSI
000376 111 116 103 .ASCIZ %INCREMENT%
000401 122 105 115
000404 105 116 124
000407 000
004634 000376' .WORD $$CMDN ; POINTER TO "INCREMENT" SYMBOL
004636 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
004640 004042' .WORD .DPOSI ; ROUTINE TO CALL
4128 004642 COMND$ NEXT,<LG.RPT!LG.OPR>,.DPOSN
000410 116 105 130 .ASCIZ %NEXT%
000413 124 000
004642 000410' .WORD $$CMDN ; POINTER TO "NEXT" SYMBOL
004644 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
004646 004052' .WORD .DPOSN ; ROUTINE TO CALL
4129 004650 COMND$ PREVIOUS,<LG.RPT!LG.OPR>,.DPOSP
000415 120 122 105 .ASCIZ %PREVIOUS%
000420 126 111 117
000423 125 123 000
004650 000415' .WORD $$CMDN ; POINTER TO "PREVIOUS" SYMBOL
004652 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
004654 004062' .WORD .DPOSP ; ROUTINE TO CALL
4130 004656 COMND$ THIS,<LG.RPT!LG.OPR>,.DPOSZ
000426 124 110 111 .ASCIZ %THIS%
000431 123 000
004656 000426' .WORD $$CMDN ; POINTER TO "THIS" SYMBOL
004660 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
004662 004072' .WORD .DPOSZ ; ROUTINE TO CALL
4131 004664 000000 .WORD 0 ; END OF TABLE MARKER
DTERW -- DTE-20 READ / WRITE OP MACRO M1108 13-JAN-78 09:14 PAGE 115
.DPOTB -- THE DEPOSIT COMMAND TABLE 7602.23
4133 .TITLE DTERW -- DTE-20 READ / WRITE OPERATIONS MODULE 7608.05
4134
4135 .IDENT "001010"
4136
4137 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
4138 ;
4139 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
4140 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
4141 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
4142 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
4143 ; FOR ITS ACCURACY.
4144 ;
4145 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
4146 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
4147 ;
4148 ;
4149 ; MODULE: DTE-20 READ / WRITE OPERATIONS
4150 ;
4151 ; VERSION: 01-01
4152 ;
4153 ; AUTHOR: R. BELANGER
4154 ;
4155 ; DATE: 7608.05
4156 ;
4157 ; THIS MODULE CONTAINS:
4158 ;
4159 ; 1) DTE-20 REGISTER READ / WRITE CODE
4160 ; 2) DIRECTIVE PARAMETER BLOCKS FOR THE SAME CODE
4161
4162 .MCALL DIR$
DTERW -- DTE-20 READ / WRITE OP MACRO M1108 13-JAN-78 09:14 PAGE 116
.DTERW -- DTE-20 REGISTER READ / WRITE SUBROUTINES 7608.05
4164 .SBTTL .DTERW -- DTE-20 REGISTER READ / WRITE SUBROUTINES 7608.05
4165
4166 ;+
4167 ; .DTDW1 -- SUBROUTINE TO READ DTE-20 DIAG WORD 1.
4168 ; .DTDW2 -- SUBROUTINE TO READ DTE-20 DIAG WORD 2.
4169 ; .DTSTA -- SUBROUTINE TO READ DTE-20 STATUS WORD.
4170 ; .DTDW3 -- SUBROUTINE TO READ DTE-20 DIAG WORD 3.
4171 ; .DWDW1 -- SUBROUTINE TO WRITE DTE-20 DIAG WORD 1.
4172 ; .DWDW2 -- SUBROUTINE TO WRITE DTE-20 DIAG WORD 2.
4173 ; .DWSTA -- SUBROUTINE TO WRITE DTE-20 STATUS WORD.
4174 ; .DWDW3 -- SUBROUTINE TO WRITE DTE-20 DIAG WORD 3.
4175 ;
4176 ; THESE SUBROUTINES READ OR WRITE THE CONTENT OF THE SPECIFIED
4177 ; DTE-20 REGISTER.
4178 ;
4179 ; THE CONTENT OF THE REGISTER TO BE WRITTEN IS PASSED IN R0.
4180 ; WHETHER A READ OR WRITE IS SPECIFIED, THE CONTENT OF THE REGISTER
4181 ; AFTER THE READ OR WRITE IS ALWAYS RETURNED IN R0 AND IN ".DREG".
4182 ;
4183 ; INPUT ARGUMENTS:
4184 ;
4185 ; (READ) NONE.
4186 ; (WRITE) R0 POINTS TO THE DATA TO BE WRITTEN.
4187 ;
4188 ; OUTPUT ARGUMENTS:
4189 ;
4190 ; R0 CONTAINS THE DATA FROM THE REGISTER WHICH WAS
4191 ; READ OR WRITTEN.
4192 ;
4193 ; ERROR CODES RETURNED:
4194 ;
4195 ; DSF -- DTE-20 STATUS FAILURE.
4196 ;-
DTERW -- DTE-20 READ / WRITE OP MACRO M1108 13-JAN-78 09:14 PAGE 117
.DTERW -- DTE-20 REGISTER READ / WRITE SUBROUTINES 7608.05
4198 .ENABL LSB
4199
4200 004666 .DWDW1:: ; DIAG WORD 1 WRITE ENTRY
4201 004666 105037 005061' CLRB .REGRW+3 ; SET DIAG1 OFFSET
4202 004672 000413 BR 10$ ; DO COMMON WRITE CODE
4203 ;
4204 004674 .DWDW2:: ; DIAG WORD 2 WRITE ENTRY
4205 004674 112737 000002 005061' MOVB #.DIAG2,.REGRW+3; DIAG2 OFFSET
4206 004702 000407 BR 10$ ; DO COMMON WRITE CODE
4207 ;
4208 004704 .DWSTA:: ; STATUS WRITE ENTRY
4209 004704 112737 000004 005061' MOVB #.DTSTW,.REGRW+3; OFFSET FOR STATUS
4210 004712 000403 BR 10$ ; DO COMMON WRITE CODE
4211 ;
4212 004714 .DWDW3:: ; DIAG WORD 3 WRITE ENTRY
4213 004714 112737 000006 005061' MOVB #.DIAG3,.REGRW+3; SET DIAG WORD 3 OFFSET
4214 004722 10$: ; COMMON WRITE CODE
4215 004722 010037 005062' MOV R0,.REGRW+4 ; SET THE DATA POINTER IN THE DPB
4216 004726 113700 005061' MOVB .REGRW+3,R0 ; GET THE REGISTER OFFSET
4217 004732 046077 005046' 000122 BIC MBZTAB(R0),@.REGRW+4
4218 ; ZERO THE MBZ BITS
4219 004740 000420 BR 30$ ; WRITE IT
4220 ;
4221 004742 .DTDW1:: ; DIAG WORD 1 READ ENTRY
4222 004742 105037 005061' CLRB .REGRW+3 ; DIAG WORD 1 OFFSET IS 0
4223 004746 000413 BR 20$ ; GO READ IT
4224 ;
4225 004750 .DTDW2:: ; DIAG WORD 2 READ ENTRY
4226 004750 112737 000002 005061' MOVB #.DIAG2,.REGRW+3; DIAG WORD 2 OFFSET IS 2
4227 004756 000407 BR 20$ ; GO READ IT
4228 ;
4229 004760 .DTSTA:: ; STATUS WORD READ ENTRY
4230 004760 112737 000004 005061' MOVB #.DTSTW,.REGRW+3; SET THE OFFSET FOR THE STATUS WORD
4231 004766 000403 BR 20$ ; GO READ THE DTE-20 STATUS REGISTER
4232 ;
4233 004770 .DTDW3:: ; DIAG WORD 3 READ ENTRY
4234 004770 112737 000006 005061' MOVB #.DIAG3,.REGRW+3; SET THE OFFSET FOR DIAG WORD 3
4235
4236 ; [CONTINUED ON THE FOLLOWING PAGE]
DTERW -- DTE-20 READ / WRITE OP MACRO M1108 13-JAN-78 09:14 PAGE 118
.DTERW -- DTE-20 REGISTER READ / WRITE SUBROUTINES 7608.05
4238 ; [CONTINUED FROM THE PREVIOUS PAGE]
4239
4240 004776 20$:
4241 004776 005037 005062' CLR .REGRW+4 ; THIS IS NOT A WRITE
4242 005002 30$: ; DATA BUFFER ALREADY LOADED FOR WRITE
4243 005002 005037 000230' CLR .DREG ; CLEAR RETURNED DATA BUFFER
4244 005006 DIR$ #.REGRW ; READ OR WRITE THE REGISTER
005006 012746 005056' MOV #.REGRW,-(SP)
005012 104375 EMT 375
4245 005014 103411 BCS DTEDSF ; ERROR IF CC-C IS SET
4246 005016 013700 000230' MOV .DREG,R0 ; PUT A COPY IN R0
4247 .IF NE FTTRAK
4248 005022 032737 000040 000142' BIT #TR.DTE,.TRKWD ; NO -- ARE WE TRACKING DTE-20 OPS?
4249 005030 001402 BEQ 40$ ; NO -- JUST RETURN
4250 005032 CALLR .DTTRK ; YES -- TRACK IT AND RETURN
005032 000137 005070' JMP .DTTRK
4251 ;
4252 005036 40$:
4253 .ENDC ; FTTRAK
4254 005036 RETURN ; GO AWAY
005036 000207 RTS PC
4255
4256 .DSABL LSB
4257
4258 005040 DTEDSF:
4259 005040 ERROR$ DSF ; ERROR -- DTE-20 REGISTER READ OR WRITE FAILED
005040 012746 MOV (PC)+,-(SP) ; "DSF" IN RAD50 TO STACK
005042 015776 .RAD50 /DSF/ ; ERROR IDENTIFIER
005044 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
4260 ;
4261
4262 ; TABLE TO CLEAR MBZ BITS ON REGISTER WRITE
4263
4264 005046 MBZTAB:
4265 005046 000442 .WORD D1.MBZ
4266 005050 177641 .WORD D2.MBZ
4267 005052 000000 .WORD ST.MBZ
4268 005054 177704 .WORD D3.MBZ
DTERW -- DTE-20 READ / WRITE OP MACRO M1108 13-JAN-78 09:14 PAGE 119
.DTERW -- DTE-20 REGISTER READ / WRITE SUBROUTINES 7608.05
4270 ; DPB TO READ OR WRITE THE DTE-20 REGISTERS
4271
4272 ; !===============================================!
4273 ; 00 ! DPB SIZE ! DIC !
4274 ; !-----------------------------------------------!
4275 ; 02 ! REGISTER OFFSET ! DIRECTIVE CODE !
4276 ; !-----------------------------------------------!
4277 ; 04 ! POINTER TO DATA TO BE WRITTEN !
4278 ; !-----------------------------------------------!
4279 ; 06 ! DESTINATION ADDRESS FOR DATA READ !
4280 ; !-----------------------------------------------!
4281 ; 10 ! DTE-20 NUMBER !
4282 ; !===============================================!
4283
4284 005056 .REGRW::
4285 005056 002411 .WORD 2411
4286 005060 017 000 .BYTE 17,0
4287 005062 000000 .WORD 0
4288 005064 000230' .WORD .DREG
4289 005066 000000 .WORD 0
4290 005066' RGDTEN==.-2
DTTRK -- DTE-20 OPERATION TRACK MACRO M1108 13-JAN-78 09:14 PAGE 120
.DTERW -- DTE-20 REGISTER READ / WRITE SUBROUTINES 7608.05
4292 .TITLE DTTRK -- DTE-20 OPERATION TRACK MODULE 7603.30
4293
4294 .IDENT "001010"
4295
4296 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
4297 ;
4298 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
4299 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
4300 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
4301 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
4302 ; FOR ITS ACCURACY.
4303 ;
4304 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
4305 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
4306 ;
4307 ;
4308 ; MODULE: DTE-20 OPERATION TRACK
4309 ;
4310 ; VERSION: 01-01
4311 ;
4312 ; AUTHOR: R. BELANGER
4313 ;
4314 ; DATE: 7603.30
4315 ;
4316 ; THIS MODULE CONTAINS:
4317 ;
4318 ; 1) DTE-20 OPERATION TRACK CODE
DTTRK -- DTE-20 OPERATION TRACK MACRO M1108 13-JAN-78 09:14 PAGE 121
.DTTRK -- SUBROUTINE TO TRACK DTE-20 OPERATIONS 7512.11
4320 .SBTTL .DTTRK -- SUBROUTINE TO TRACK DTE-20 OPERATIONS 7512.11
4321
4322 ;+
4323 ; .DTTRK -- SUBROUTINE TO TRACK DTE-20 OPERATIONS
4324 ;
4325 ; THIS SUBROUTINE WILL TRACK DTE-20 OPERATIONS AND PRINT ALL DTE-20
4326 ; REFERENCES BY THE COMMAND PARSER ON THE CONSOLE OUTPUT DEVICE.
4327 ; THIS SUBROUTINE IS CALLED INTERNALLY, DEPENDENT UPON THE STATE OF
4328 ; THE DTE-20 TRACK FLAG ("TR.DTE") IN THE TRACK CONTROL WORD, ".TRKWD."
4329 ;
4330 ; CALLING SEQUENCE IS:
4331 ;
4332 ; CALL .DTTRK ; TRACK THE DTE-20
4333 ; ; ONLY RETURN
4334 ;
4335 ; THE DTE-20 REGISTER OPERATED UPON IS IDENTIFIED BY ONE OF THE FOLLOWING:
4336 ;
4337 ; (A) DIAG 1 - DIAG WORD 1,
4338 ; (B) DIAG 2 - DIAG WORD 2,
4339 ; (C) STATUS - STATUS WORD,
4340 ; (D) DIAG 3 - DIAG WORD 3.
4341 ;
4342 ; A READ OPERATION IS IDENTIFIED BY "RD", AND A WRITE OPERATION BY "WR".
4343 ;
4344 ; NO REGISTERS ARE ALTERED BY THIS SUBROUTINE.
4345 ;
4346 ; ERROR CODES RETURNED:
4347 ;
4348 ; NONE.
4349 ;-
4350
4351 .IF NE FTTRAK
DTTRK -- DTE-20 OPERATION TRACK MACRO M1108 13-JAN-78 09:14 PAGE 122
.DTTRK -- SUBROUTINE TO TRACK DTE-20 OPERATIONS 7512.11
4353 005070 .DTTRK::
4354 005070 012737 177777 000100' MOV #-^D1,.LDZFL ; PRINT LEADING ZEROES
4355 005076 PUSH R0 ; SAVE R0
005076 010046 MOV R0,-(SP)
4356 005100 012700 000433' MOV #DTRMSG,R0 ; .MESSAGE POINTER TO R0
4357 005104 CALL .TYMSG ; .PRINT IT
005104 004737 031434' JSR PC,.TYMSG
4358 005110 113700 005061' MOVB .REGRW+3,R0 ; .GET THE REGISTER OFFSET
4359 005114 016000 005200' MOV REGTAB(R0),R0 ; .REGISTER MESSAGE POINTER TO R0
4360 005120 CALL .TYMSG ; .TYPE IT
005120 004737 031434' JSR PC,.TYMSG
4361 005124 CALL .TYSPC ; .NOW A <SPACE>
005124 004737 030644' JSR PC,.TYSPC
4362 005130 005737 005062' TST .REGRW+4 ; .IS THIS A WRITE?
4363 005134 001002 BNE 10$ ; .YES -- GO ON
4364 005136 011600 MOV (SP),R0 ; .NO -- DATA TO R0
4365 005140 000402 BR 20$ ; .GO PRINT IT
4366 ;
4367 005142 10$:
4368 005142 017700 177714 MOV @.REGRW+4,R0 ; .GET WRITTEN DATA
4369 005146 20$:
4370 005146 CALL .TYELN ; .PRINT THE DATA
005146 004737 030676' JSR PC,.TYELN
4371 005152 012700 000514' MOV #DRDMSG,R0 ; .READ MESSAGE POINTER TO R0
4372 005156 005737 005062' TST .REGRW+4 ; .WAS IT A WRITE?
4373 005162 001402 BEQ 30$ ; .YES -- GO ON
4374 005164 012700 000520' MOV #DWRMSG,R0 ; .NO -- WRITE MESSAGE POINTER TO R0
4375 005170 30$:
4376 005170 CALL .TYLIN ; .PRINT IT AND A <CRLF>
005170 004737 031420' JSR PC,.TYLIN
4377 005174 POP R0 ; .RESTORE R0
005174 012600 MOV (SP)+,R0
4378 005176 RETURN ; TO CALLER
005176 000207 RTS PC
DTTRK -- DTE-20 OPERATION TRACK MACRO M1108 13-JAN-78 09:14 PAGE 123
.DTTRK -- SUBROUTINE TO TRACK DTE-20 OPERATIONS 7512.11
4380 005200 REGTAB:
4381 005200 000454' .WORD DW1MSG ; MESSAGE POINTERS
4382 005202 000464' .WORD DW2MSG
4383 005204 000474' .WORD STAMSG
4384 005206 000504' .WORD DW3MSG
4385
4386 000433 .PSECT MESSAG
4387 000433 DTRMSG:
4388 000433 011 124 122 .ASCIZ % TRACK > DTE-20 %
000436 101 103 113
000441 040 076 040
000444 104 124 105
000447 055 062 060
000452 040 000
4389
4390 000454 DW1MSG:
4391 000454 104 111 101 .ASCIZ %DIAG 1/%
000457 107 040 061
000462 057 000
4392 000464 DW2MSG:
4393 000464 104 111 101 .ASCIZ %DIAG 2/%
000467 107 040 062
000472 057 000
4394 000474 STAMSG:
4395 000474 123 124 101 .ASCIZ %STATUS/%
000477 124 125 123
000502 057 000
4396 000504 DW3MSG:
4397 000504 104 111 101 .ASCIZ %DIAG 3/%
000507 107 040 063
000512 057 000
4398
4399 000514 DRDMSG:
4400 000514 040 122 104 .ASCIZ % RD%
000517 000
4401 000520 DWRMSG:
4402 000520 040 127 122 .ASCIZ % WR%
000523 000
4403 005210 .PSECT
4404
4405 .ENDC ; FTTRAK
EBCLK -- KL EBOX CLOCK SIMULATO MACRO M1108 13-JAN-78 09:14 PAGE 124
.DTTRK -- SUBROUTINE TO TRACK DTE-20 OPERATIONS 7512.11
4407 .TITLE EBCLK -- KL EBOX CLOCK SIMULATOR MODULE 7603.30
4408
4409 .IDENT "001010"
4410
4411 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
4412 ;
4413 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
4414 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
4415 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
4416 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
4417 ; FOR ITS ACCURACY.
4418 ;
4419 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
4420 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
4421 ;
4422 ;
4423 ; MODULE: KL EBOX CLOCK SIMULATOR
4424 ;
4425 ; VERSION: 01-01
4426 ;
4427 ; AUTHOR: R. BELANGER
4428 ;
4429 ; DATE: 7603.30
4430 ;
4431 ; THIS MODULE CONTAINS:
4432 ;
4433 ; 1) KL EBOX CLOCK SIMULATOR CODE
EBCLK -- KL EBOX CLOCK SIMULATO MACRO M1108 13-JAN-78 09:14 PAGE 125
.EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK 7512.01
4435 .SBTTL .EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK 7512.01
4436
4437 ;+
4438 ; .EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK VIA MBOX CLOCKS
4439 ;
4440 ; THIS SUBROUTINE WILL SIMULATE AN EBOX CLOCK WITH MBOX CLOCKS.
4441 ; DOING THIS PREVENTS THE EBOX AND MBOX FROM BECOMING UNSYNCHRONIZED.
4442 ; THE EBOX CLOCK IS SYNCHED LOW ON EXIT.
4443 ;
4444 ; SEQUENCE OF OPERATION:
4445 ;
4446 ; (A) AN MBOX CLOCK IS ISSUED (FX.002),
4447 ; (B) THE STATE OF [CLK EBOX SRC H] IS TESTED:
4448 ; (1) IF FALSE GO TO (A),
4449 ; (2) IF TRUE GO TO (C),
4450 ; (C) THE EBOX CLOCK IS SYNCHED LOW.
4451 ;
4452 ; INPUT ARGUMENTS:
4453 ;
4454 ; NONE.
4455 ;
4456 ; OUTPUT ARGUMENTS:
4457 ;
4458 ; NONE.
4459 ;
4460 ; ERROR CODES RETURNED:
4461 ;
4462 ; CES -- CLOCK ERROR STOP.
4463 ; DSF -- DTE-20 STATUS FAILURE.
4464 ; ECT -- EBOX CLOCK TIMEOUT.
4465 ; FRF -- FUNCTION READ FAILED.
4466 ; FXF -- FUNCTION EXECUTE FAILED.
4467 ;
4468 ; NOTE:
4469 ;
4470 ; THIS SUBROUTINE ASSUMES THAT THE KL CLOCK IS OFF.
4471 ;-
EBCLK -- KL EBOX CLOCK SIMULATO MACRO M1108 13-JAN-78 09:14 PAGE 126
.EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK 7512.01
4473 005210 .EBCLK::
4474 005210 PUSH <R2,R1,R0> ; SAVE CALLER'S REGISTERS
005210 010246 MOV R2,-(SP)
005212 010146 MOV R1,-(SP)
005214 010046 MOV R0,-(SP)
4475 005216 CALL .CESCK ; ...SEE IF CLOCK ERROR STOP IS UP
005216 004737 001630' JSR PC,.CESCK
4476 005222 012702 000310 MOV #^D200,R2 ; ...TIMEOUT COUNT TO R2
4477 005226 10$:
4478 005226 005001 CLR R1 ; ...CLEAR R1
4479 005230 012700 000004 MOV #FX.MBC,R0 ; ...DO ONE MBOX CLOCK
4480 005234 CALL .FXCT ; ...DO IT
005234 004737 011074' JSR PC,.FXCT
4481 005240 012700 000210 MOV #FR.104,R0 ; ...READ STATE OF [CLK EBX SRC H]
4482 005244 CALL .FREAD ; ...DO IT
005244 004737 010644' JSR PC,.FREAD
4483 005250 032710 000004 BIT #BIT02,(R0) ; ...IS IT THERE?
4484 005254 001001 BNE 20$ ; ...YES -- SYNCH THE CLOCK AND EXIT
4485 005256 077215 SOB R2,10$ ; ...NO -- LOOP TILL COUNT EXHAUSTED
4486 005260 20$:
4487 005260 005702 TST R2 ; ...WHAT'S IN R2?
4488 005262 003405 BLE EBCECT ; ...TIMED OUT IF .LE. 0
4489 005264 POP <R0,R1,R2> ; ...RESTORE CALLER'S REGISTERS
005264 012600 MOV (SP)+,R0
005266 012601 MOV (SP)+,R1
005270 012602 MOV (SP)+,R2
4490 005272 CALLR .SYNXC ; FORCE SYNCH THE CLOCK AND EXIT
005272 000137 026760' JMP .SYNXC
4491 ;
4492 005276 EBCECT:
4493 005276 ERROR$ ECT ; ERROR -- EBOX CLOCK TIME OUT
005276 012746 MOV (PC)+,-(SP) ; "ECT" IN RAD50 TO STACK
005300 017714 .RAD50 /ECT/ ; ERROR IDENTIFIER
005302 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
4494 ;
EBPCK -- EBUS PARITY ERROR CHEC MACRO M1108 13-JAN-78 09:14 PAGE 127
.EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK 7512.01
4496 .TITLE EBPCK -- EBUS PARITY ERROR CHECK MODULE 7603.30
4497
4498 .IDENT "001010"
4499
4500 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
4501 ;
4502 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
4503 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
4504 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
4505 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
4506 ; FOR ITS ACCURACY.
4507 ;
4508 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
4509 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
4510 ;
4511 ;
4512 ; MODULE: EBUS PARITY ERROR CHECK
4513 ;
4514 ; VERSION: 01-01
4515 ;
4516 ; AUTHOR: R. BELANGER
4517 ;
4518 ; DATE: 7603.30
4519 ;
4520 ; THIS MODULE CONTAINS:
4521 ;
4522 ; 1) EBUS PARITY ERROR CHECK CODE
EBPCK -- EBUS PARITY ERROR CHEC MACRO M1108 13-JAN-78 09:14 PAGE 128
.EBPCK -- SUBROUTINE TO CHECK EBUS PARITY ERROR 7512.03
4524 .SBTTL .EBPCK -- SUBROUTINE TO CHECK EBUS PARITY ERROR 7512.03
4525
4526 ;+
4527 ; .EBPCK -- SUBROUTINE TO CHECK FOR EBUS PARITY ERRORS
4528 ;
4529 ; THIS SUBROUTINE WILL CAUSE AN ERROR TRAP IF THE EBUS PARITY ERROR
4530 ; FLAG IS TRUE IN THE DTE-20 STATUS WORD.
4531 ;
4532 ; INPUT ARGUMENTS:
4533 ;
4534 ; NONE.
4535 ;
4536 ; OUTPUT ARGUMENTS:
4537 ;
4538 ; R0 CONTAINS A COPY OF THE DTE-20 STATUS WORD
4539 ;
4540 ; ERROR CODES RETURNED:
4541 ;
4542 ; DSF -- DTE-20 STATUS FAILURE.
4543 ; EPE -- EBUS PARITY ERROR.
4544 ;-
4545
4546 005304 .EBPCK::
4547 005304 CALL .DTSTA ; READ DTE-20 STATUS WORD
005304 004737 004760' JSR PC,.DTSTA
4548 005310 032700 000020 BIT #ST.EPE,R0 ; EBUS PARITY ERROR?
4549 005314 001001 BNE EBPEPE ; YES -- GIVE "EPE" ERROR
4550 005316 RETURN ; NO -- JUST RETURN
005316 000207 RTS PC
4551 005320 EBPEPE:
4552 005320 ERROR$ EPE ; ERROR -- EBUS PARITY ERROR
005320 012746 MOV (PC)+,-(SP) ; "EPE" IN RAD50 TO STACK
005322 020705 .RAD50 /EPE/ ; ERROR IDENTIFIER
005324 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
4553 ;
EDEWD -- EXAMINE DEPOSIT ELEVEN MACRO M1108 13-JAN-78 09:14 PAGE 129
.EBPCK -- SUBROUTINE TO CHECK EBUS PARITY ERROR 7512.03
4555 .TITLE EDEWD -- EXAMINE DEPOSIT ELEVEN EXTENSION MODULE 7603.30
4556
4557 .IDENT "001010"
4558
4559 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
4560 ;
4561 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
4562 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
4563 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
4564 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
4565 ; FOR ITS ACCURACY.
4566 ;
4567 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
4568 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
4569 ;
4570 ;
4571 ; MODULE: EXAMINE / DEPOSIT ELEVEN EXTENSION
4572 ;
4573 ; VERSION: 01-01
4574 ;
4575 ; AUTHOR: R. BELANGER
4576 ;
4577 ; DATE: 7603.30
4578 ;
4579 ; THIS MODULE CONTAINS:
4580 ;
4581 ; 1) EXAMINE / DEPOSIT ELEVEN EXTENSION CODE
EDEWD -- EXAMINE DEPOSIT ELEVEN MACRO M1108 13-JAN-78 09:14 PAGE 130
.EDEWD -- THE EXAMINE / DEPOSIT "<ELEVEN> <NUMERICAL OBJECT>"
4583 .SBTTL .EDEWD -- THE EXAMINE / DEPOSIT "<ELEVEN> <NUMERICAL OBJECT>" COMMAND 7602.29
4584
4585 005326 .EDEWD::
4586 005326 .EDEWP::
4587 005326 013700 000034' MOV .EDELA,R0 ; ADDRESS TO R0
4588 005332 162700 000002 SUB #^D2,R0 ; PREVIOUS WORD ADDRESS
4589 005336 RETURN ; TO CALLER
005336 000207 RTS PC
4590 005340 .EDEWI::
4591 005340 .EDEWN::
4592 005340 013700 000034' MOV .EDELA,R0 ; ADDRESS TO R0
4593 005344 062700 000002 ADD #^D2,R0 ; NEXT WORD ADDRESS
4594 005350 RETURN ; TO CALLER
005350 000207 RTS PC
EDKLD -- EXAMINE / DEPOSIT TEN MACRO M1108 13-JAN-78 09:14 PAGE 131
.EDEWD -- THE EXAMINE / DEPOSIT "<ELEVEN> <NUMERICAL OBJECT>"
4596 .TITLE EDKLD -- EXAMINE / DEPOSIT TEN EXTENSION MODULE 7609.10
4597
4598 .IDENT "001020"
4599
4600 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
4601 ;
4602 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
4603 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
4604 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
4605 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
4606 ; FOR ITS ACCURACY.
4607 ;
4608 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
4609 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
4610 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
4611 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
4612 ;
4613 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
4614 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
4615 ;
4616 ; MODULE: EXAMINE / DEPOSIT TEN EXTENSION
4617 ;
4618 ; VERSION: 01-02
4619 ;
4620 ; AUTHOR: R. BELANGER
4621 ;
4622 ; DATE: 7609.10
4623 ;
4624 ; THIS MODULE CONTAINS:
4625 ;
4626 ; 1) EXAMINE / DEPOSIT TEN EXTENSION CODE
EDKLD -- EXAMINE / DEPOSIT TEN MACRO M1108 13-JAN-78 09:14 PAGE 132
.EDKLD -- THE EXAMINE / DEPOSIT "<TEN> <NUMERICAL OBJECT>" COM
4628 .SBTTL .EDKLD -- THE EXAMINE / DEPOSIT "<TEN> <NUMERICAL OBJECT>" COMMAND 7609.10
4629
4630 .ENABL LSB
4631
4632 005352 .EDKLP::
4633 005352 CALL .EDKLC ; DO COMMON CODE
005352 004737 005450' JSR PC,.EDKLC
4634 005356 CALL .TPDEC ; DECREMENT ONCE
005356 004737 027414' JSR PC,.TPDEC
4635 005362 000422 BR 10$ ; EXIT THRU COMMON CODE
4636 ;
4637 005364 .EDKLN::
4638 005364 CALL .EDKLC ; DO COMMON CODE
005364 004737 005450' JSR PC,.EDKLC
4639 005370 CALL .TPINC ; INCREMENT ONCE
005370 004737 027402' JSR PC,.TPINC
4640 005374 000415 BR 10$ ; EXIT THRU COMMON CODE
4641 ;
4642 005376 .EDKLD::
4643 005376 CALL .EDKLC ; DO COMMON CODE
005376 004737 005450' JSR PC,.EDKLC
4644 005402 012701 000070' MOV #.KLINC,R1 ; POINT TO THE INCREMENT
4645 005406 CALL .TPSUB ; DO THE SUBTRACTION
005406 004737 027426' JSR PC,.TPSUB
4646 005412 000406 BR 10$ ; EXIT THRU COMMON CODE
4647 ;
4648 005414 .EDKLI::
4649 005414 CALL .EDKLC ; DO COMMON CODE
005414 004737 005450' JSR PC,.EDKLC
4650 005420 012701 000070' MOV #.KLINC,R1 ; POINT TO THE INCREMENT
4651 005424 CALL .TPADD ; DO THE ADDITION
005424 004737 027362' JSR PC,.TPADD
4652 005430 10$:
4653 005430 032760 177600 000002 BIT #^C177,2(R0) ; CHECK THE RESULT
4654 005436 001015 BNE EDNKLA ; ERROR IF TOO LARGE
4655 005440 005760 000004 TST 4(R0) ; HOW ABOUT HIGH BITS?
4656 005444 001012 BNE EDNKLA ; TOO LARGE
4657 005446 000410 BR 20$ ; ALL OK -- RETURN
4658 ;
4659 005450 .EDKLC::
4660 005450 012700 000044' MOV #.EDKLX,R0 ; AUX ADDRESS POINTER TO R0
4661 005454 012701 000036' MOV #.EDKLA,R1 ; EXAM / DEPOS ADDRESS TO R1
4662 005460 012120 MOV (R1)+,(R0)+ ; LOAD CURRENT ADDRESS
4663 005462 012120 MOV (R1)+,(R0)+ ; INTO AUXILLIARY ADDRESS BUFFER
4664 005464 011110 MOV (R1),(R0) ; SO
4665 005466 024040 CMP -(R0),-(R0) ; BACK THE POINTER UP
4666 005470 20$:
4667 005470 RETURN ; AND GO ON
005470 000207 RTS PC
4668
4669 .DSABL LSB
4670
4671 005472 EDNKLA:
4672 005472 ERROR$ KLA ; ERROR -- KL ADDRESS ERROR
005472 012746 MOV (PC)+,-(SP) ; "KLA" IN RAD50 TO STACK
005474 043241 .RAD50 /KLA/ ; ERROR IDENTIFIER
005476 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
EDKLD -- EXAMINE / DEPOSIT TEN MACRO M1108 13-JAN-78 09:14 PAGE 132-1
.EDKLD -- THE EXAMINE / DEPOSIT "<TEN> <NUMERICAL OBJECT>" COM
4673 ;
EDKLM -- EXAMINE / DEPOSIT KL M MACRO M1108 13-JAN-78 09:14 PAGE 133
.EDKLD -- THE EXAMINE / DEPOSIT "<TEN> <NUMERICAL OBJECT>" COM
4675 .TITLE EDKLM -- EXAMINE / DEPOSIT KL MEMORY MODULE 7702.24
4676
4677 .IDENT "002010"
4678
4679 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
4680 ;
4681 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
4682 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
4683 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
4684 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
4685 ; FOR ITS ACCURACY.
4686 ;
4687 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
4688 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
4689 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
4690 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
4691 ;
4692 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
4693 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
4694 ;
4695 ;
4696 ; MODULE: KL MEMORY EXAMINE / DEPOSIT
4697 ;
4698 ; VERSION: 02-01
4699 ;
4700 ; AUTHOR: R. BELANGER
4701 ;
4702 ; DATE: 7702.24
4703 ;
4704 ; THIS MODULE CONTAINS:
4705 ;
4706 ; 1) EXAMINE KL MEMORY CODE
4707 ; 2) DEPOSIT KL MEMORY CODE
4708 ; 3) EXAMINE AND DEPOSIT DIRECTIVE PARAMETER BLOCKS
4709 ;
4710 ; MODIFIED BY A. PECKHAM 7612.10 TO DELETE REFERENCES TO .SECFL
4711
4712 .MCALL $DEF, DIR$, PREX$, PRDP$
4713
4714 005500 $DEF
EDKLM -- EXAMINE / DEPOSIT KL M MACRO M1108 13-JAN-78 09:14 PAGE 134
.EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24
4716 .SBTTL .EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24
4717
4718 ;+
4719 ; .EXKLM -- SUBROUTINE TO EXAMINE KL MEMORY.
4720 ; .DPKLM -- SUBROUTINE TO DEPOSIT KL MEMORY.
4721 ;
4722 ; THIS SUBROUTINE EXAMINES OR DEPOSITS ONE LOCATION OF KL MEMORY.
4723 ;
4724 ; INPUT ARGUMENTS:
4725 ;
4726 ; R0 MUST CONTAIN ONE OF THE FOLLOWING ADDRESS SPACE CODES:
4727 ;
4728 ; (A) ED.EPT (000) EXEC PROCESS TABLE (RELATIVE),
4729 ; (B) ED.EXV (040) EXEC VIRTUAL ADDRESS SPACE,
4730 ; (C) ED.UPT (100) USER PROCESS TABLE (RELATIVE),
4731 ; (D) ED.USV (140) USER VIRTUAL ADDRESS SPACE,
4732 ; (E) ED.PHY (200) PHYSICAL ADDRESS SPACE.
4733 ;
4734 ; R1 MUST CONTAIN A POINTER TO A TWO WORD POINTER BLOCK OF THE FORM:
4735 ;
4736 ; !===================================!
4737 ; 00 ! POINTER TO KL ADDRESS !
4738 ; !-----------------------------------!
4739 ; 02 ! POINTER TO KL DATA !
4740 ; !===================================!
4741 ;
4742 ; THE KL ADDRESS POINTER MUST POINT TO A TWO WORD BLOCK OF THE FORM:
4743 ;
4744 ; !===================================!
4745 ; 00 ! KL ADDRESS 20 - 35 !
4746 ; !-----------------------------------!
4747 ; 02 ! KL ADDRESS 19 - 14 !
4748 ; !===================================!
4749 ;
4750 ; THE KL DATA POINTER POINTS TO A TRIPLET IN DEXWORD FORMAT.
4751 ;
4752 ; OUTPUT ARGUMENTS:
4753 ;
4754 ; SAME AS INPUT ARGUMENTS.
4755 ;
4756 ; ERROR CODES RETURNED:
4757 ;
4758 ; ESD -- EBOX STOPPED - DEPOSIT.
4759 ; ESE -- EBOX STOPPED - EXAMINE.
4760 ; EMF -- EXAMINE KL MEMORY FAILED.
4761 ; DMF -- DEPOSIT KL MEMORY FAILED.
4762 ;-
EDKLM -- EXAMINE / DEPOSIT KL M MACRO M1108 13-JAN-78 09:14 PAGE 135
.EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24
4764 .ENABL LSB
4765
4766 005500 .EXKLM::
4767 005500 PUSH <R2,R3> ; SAVE R2 AND R3 ON THE STACK
005500 010246 MOV R2,-(SP)
005502 010346 MOV R3,-(SP)
4768 005504 012702 005652' MOV #.ETAB,R2 ; ..POINTER TO EXAMINE TABLE
4769 005510 CALL .EXDPM ; ..GO DO EXAMINE
005510 004737 005570' JSR PC,.EXDPM
4770 .IF NE FTTRAK
4771 005514 032737 000010 000142' BIT #TR.EXM,.TRKWD ; ..ARE WE TRACKING EXAMINES?
4772 005522 001417 BEQ 10$ ; ..NO -- GO ON
4773 005524 CALL .EXTRK ; ..YES -- TRACK IT
005524 004737 005762' JSR PC,.EXTRK
4774 .IFTF
4775 005530 000414 BR 10$ ; ..AND GO AWAY
4776 ;
4777 005532 .DPKLM::
4778 005532 PUSH <R2,R3> ; SAVE R2 AND R3 ON THE STACK
005532 010246 MOV R2,-(SP)
005534 010346 MOV R3,-(SP)
4779 005536 012702 005662' MOV #.DTAB,R2 ; ..POINTER TO DEPOSIT TABLE
4780 005542 CALL .EXDPM ; ..DO THE DEPOSIT
005542 004737 005570' JSR PC,.EXDPM
4781 .IFT
4782 005546 032737 000020 000142' BIT #TR.DEP,.TRKWD ; ..ARE WE TRACKING DEPOSITS?
4783 005554 001402 BEQ 10$ ; ..NO -- GO ON
4784 005556 CALL .DPTRK ; ..YES -- TRACK THE DEPOSIT
005556 004737 005774' JSR PC,.DPTRK
4785 .ENDC ; FTTRAK
4786 005562 10$:
4787 005562 POP <R3,R2> ; ..RESTORE R2 AND R3
005562 012603 MOV (SP)+,R3
005564 012602 MOV (SP)+,R2
4788 005566 RETURN ; RETURN TO CALLER
005566 000207 RTS PC
4789
4790 .DSABL LSB
EDKLM -- EXAMINE / DEPOSIT KL M MACRO M1108 13-JAN-78 09:14 PAGE 136
.EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24
4792 ; THIS IS THE COMMON DEPOSIT / EXAMINE CODE
4793
4794 005570 .EXDPM::
4795 005570 000241 CLC ; CLEAR CC-C
4796 005572 012203 MOV (R2)+,R3 ; GET THE DPB POINTER INTO R3
4797 005574 110023 MOVB R0,(R3)+ ; PUT THE MODE INTO THE DPB
4798 005576 011123 MOV (R1),(R3)+ ; PUT THE POINTER TO THE KL ADDRESS IN THE DPB
4799 005600 016113 000002 MOV 2(R1),(R3) ; AND DESTINATION POINTER TOO
4800 005604 011303 MOV (R3),R3 ; GET ADDRESS OF CALLER'S DATA BLOCK
4801 005606 042763 177760 000004 BIC #177760,4(R3) ; CLEAR EXTRANEOUS BITS
4802 005614 DIR$ (R2)+ ; DO THE EXAMINE OR DEPOSIT
005614 012246 MOV (R2)+,-(SP)
005616 104375 EMT 375
4803 005620 103401 BCS 10$ ; ERROR IF CC-C IS SET
4804 005622 RETURN ; TO CALLER
005622 000207 RTS PC
4805 005624 10$:
4806 005624 022737 000000G 000000G CMP #IE.EBX,$DSW ; IS THE EBOX STOPPED?
4807 005632 001401 BEQ 20$ ; YES -- EBOX IS STOPPED
4808 005634 005722 TST (R2)+ ; NO -- OTHER ERROR
4809 005636 20$:
4810 005636 CALL .CESCK ; SEE IF CLOCK ERROR STOP IS UP
005636 004737 001630' JSR PC,.CESCK
4811 005642 CALL .RESTD ; RESET THE DTE-20 SINCE IT MAY BE CONFUSED
005642 004737 021420' JSR PC,.RESTD
4812 005646 000172 000000 JMP @(R2) ; GIVE THE EXAMINE ERROR TRAP
4813 ;
EDKLM -- EXAMINE / DEPOSIT KL M MACRO M1108 13-JAN-78 09:14 PAGE 137
.EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24
4815 ; TABLES FOR EXAMINE / DEPOSIT KL MEMORY
4816
4817 005652 .ETAB:
4818 005652 005753' .WORD .EXDPB+3 ; POINTER FOR EXAMINE MODE IN DPB
4819 005654 005750' .WORD .EXDPB ; EXAMINE DPB POINTER
4820 005656 005706' .WORD EXDESE ; EBOX STOPPED - EXAMINE
4821 005660 005730' .WORD EXDEMF ; EXAMINE KL FAILED
4822
4823 005662 .DTAB:
4824 005662 005741' .WORD .DPDPB+3 ; POINTER FOR DEPOSIT MODE IN DPB
4825 005664 005736' .WORD .DPDPB ; DEPOSIT DPB POINTER
4826 005666 005672' .WORD EXDESD ; EBOX STOPPED - DEPOSIT
4827 005670 005722' .WORD EXDDMF ; DEPOSIT KL FAILED
4828 005672 EXDESD:
4829 005672 042737 100000 000000G BIC #KF.CLK,.KLFLG ; FLAG THE EBOX STOP
4830 005700 ERROR$ ESD ; ERROR -- EBOX STOPPED - DEPOSIT
005700 012746 MOV (PC)+,-(SP) ; "ESD" IN RAD50 TO STACK
005702 021074 .RAD50 /ESD/ ; ERROR IDENTIFIER
005704 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
4831 ;
4832 005706 EXDESE:
4833 005706 042737 100000 000000G BIC #KF.CLK,.KLFLG ; FLAG THE EBOX STOP
4834 005714 ERROR$ ESE ; ERROR -- EBOX STOPPED - EXAMINE
005714 012746 MOV (PC)+,-(SP) ; "ESE" IN RAD50 TO STACK
005716 021075 .RAD50 /ESE/ ; ERROR IDENTIFIER
005720 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
4835 ;
4836 005722 EXDDMF:
4837 005722 ERROR$ DMF ; ERROR -- DEPOSIT MEMORY FAILED
005722 012746 MOV (PC)+,-(SP) ; "DMF" IN RAD50 TO STACK
005724 015416 .RAD50 /DMF/ ; ERROR IDENTIFIER
005726 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
4838 ;
4839 005730 EXDEMF:
4840 005730 ERROR$ EMF ; ERROR -- EXAMINE MEMORY FAILED
005730 012746 MOV (PC)+,-(SP) ; "EMF" IN RAD50 TO STACK
005732 020516 .RAD50 /EMF/ ; ERROR IDENTIFIER
005734 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
4841 ;
EDKLM -- EXAMINE / DEPOSIT KL M MACRO M1108 13-JAN-78 09:14 PAGE 138
.EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24
4843 ; DPB FOR PRIVILEGED DEPOSIT
4844
4845 ; !===============================================!
4846 ; 00 ! DPB SIZE ! DIC !
4847 ; !-----------------------------------------------!
4848 ; 02 ! DEPOSIT TYPE ! DIRECTIVE CODE !
4849 ; !-----------------------------------------------!
4850 ; 04 ! KL DEPOSIT ADDRESS POINTER !
4851 ; !-----------------------------------------------!
4852 ; 06 ! KL DEPOSIT DATA POINTER !
4853 ; !-----------------------------------------------!
4854 ; 10 ! DTE-20 NUMBER !
4855 ; !===============================================!
4856
4857 005736 .DPDPB::
4858 005736 PRDP$ 0,.EDKLA,.DPBFR,ED.PHY
005736 011 005 .BYTE DR.DTE,5
005740 016 200 .BYTE DF.PDP,ED.PHY
005742 000036' .WORD .EDKLA
005744 000020' .WORD .DPBFR
005746 000000 .WORD 0
4859 005746' DPDTEN==.-2
4860
4861 ; DPB FOR PRIVILEGED EXAMINE
4862
4863 ; !===============================================!
4864 ; 00 ! DPB SIZE ! DIC !
4865 ; !-----------------------------------------------!
4866 ; 02 ! EXAMINE TYPE ! DIRECTIVE CODE !
4867 ; !-----------------------------------------------!
4868 ; 04 ! KL ADDRESS WORD POINTER !
4869 ; !-----------------------------------------------!
4870 ; 06 ! DATA DESTINATION POINTER !
4871 ; !-----------------------------------------------!
4872 ; 10 ! DTE-20 NUMBER !
4873 ; !===============================================!
4874
4875 005750 .EXDPB::
4876 005750 PREX$ 0,.EDKLA,.EXBFR,ED.PHY
005750 011 005 .BYTE DR.DTE,5
005752 015 200 .BYTE DF.PEX,ED.PHY
005754 000036' .WORD .EDKLA
005756 000056' .WORD .EXBFR
005760 000000 .WORD 0
4877 005760' EXDTEN==.-2
EDTRK -- KL EXAMINE / DEPOSIT T MACRO M1108 13-JAN-78 09:14 PAGE 139
.EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24
4879 .TITLE EDTRK -- KL EXAMINE / DEPOSIT TRACK MODULE 7603.30
4880
4881 .IDENT "001010"
4882
4883 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
4884 ;
4885 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
4886 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
4887 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
4888 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
4889 ; FOR ITS ACCURACY.
4890 ;
4891 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
4892 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
4893 ;
4894 ;
4895 ; MODULE: KL EXAMINE / DEPOSIT TRACK
4896 ;
4897 ; VERSION: 01-01
4898 ;
4899 ; AUTHOR: R. BELANGER
4900 ;
4901 ; DATE: 7603.30
4902 ;
4903 ; THIS MODULE CONTAINS:
4904 ;
4905 ; 1) KL EXAMINE / DEPOSIT TRACK CODE
EDTRK -- KL EXAMINE / DEPOSIT T MACRO M1108 13-JAN-78 09:14 PAGE 140
.EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE 7512.09
4907 .SBTTL .EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE 7512.09
4908
4909 ;+
4910 ; .EXTRK -- SUBROUTINE TO TRACK A KL EXAMINE.
4911 ; .DPTRK -- SUBROUTINE TO TRACK A KL DEPOSIT.
4912 ;
4913 ; THESE SUBROUTINES WILL TRACK A KL EXAMINE OR DEPOSIT BY
4914 ; DISPLAYING THE ADDRESS, DATA, AND REFERENCE TYPE OF THE EXAMINE
4915 ; OR DEPOSIT ON THE CONSOLE DEVICE AS IT IS EXECUTED.
4916 ;
4917 ; THESE SUBROUTINES ARE CALLED INTERNALLY DEPENDENT ON THE STATE OF
4918 ; THE TRACK CONTROL WORD ".TRKWD".
4919 ;
4920 ; THE SWITCHES IN ".TRKWD" ARE TURNED ON OR OFF BY THE "SET" AND
4921 ; "CLEAR TRACK" COMMANDS, RESPECTIVELY.
4922 ;
4923 ; NO REGISTERS ARE ALTERED BY THESE SUBROUTINES.
4924 ;
4925 ; ERROR CODES RETURNED:
4926 ;
4927 ; NONE.
4928 ;-
4929
4930 .IF NE FTTRAK
4931
4932 .ENABL LSB
4933
4934 005762 .EXTRK::
4935 005762 CALL R5,.REGSV ; SAVE R5 - R1 ON THE STACK
005762 004537 021556' JSR R5,.REGSV
4936 005766 012705 000550' MOV #EXTMSG,R5 ; PREAMBLE TO TYPE
4937 005772 000404 BR 10$ ; DO COMMON CODE
4938 ;
4939 005774 .DPTRK::
4940 005774 CALL R5,.REGSV ; SAVE R5 - R1 ON THE STACK
005774 004537 021556' JSR R5,.REGSV
4941 006000 012705 000565' MOV #DPTMSG,R5 ; PREAMBLE TO TYPE
4942 ; AND FALL INTO COMMON CODE
4943
4944 ; [CONTINUED ON THE FOLLOWING PAGE]
EDTRK -- KL EXAMINE / DEPOSIT T MACRO M1108 13-JAN-78 09:14 PAGE 141
.EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE 7512.09
4946 ; [CONTINUED FROM THE PREVIOUS PAGE]
4947
4948 006004 10$:
4949 006004 PUSH R0 ; SAVE R0 ON THE STACK
006004 010046 MOV R0,-(SP)
4950 006006 011100 MOV (R1),R0 ; .GET ADDRESS POINTER
4951 006010 012702 006130' MOV #TRADDR,R2 ; .POINT TO OUR BLOCK
4952 006014 012022 MOV (R0)+,(R2)+ ; .AND LOAD IT
4953 006016 012022 MOV (R0)+,(R2)+ ; .
4954 006020 005012 CLR (R2) ; .ZERO THE LAST WORD
4955 006022 016100 000002 MOV 2(R1),R0 ; .GET DATA POINTER
4956 006026 012702 006136' MOV #TRDATA,R2 ; .POINT TO OUR BLOCK
4957 006032 012022 MOV (R0)+,(R2)+ ; .AND LOAD IT
4958 006034 012022 MOV (R0)+,(R2)+ ; .
4959 006036 011012 MOV (R0),(R2) ; .
4960 006040 010500 MOV R5,R0 ; .PREAMBLE POINTER TO R0
4961 006042 CALL .TYMSG ; .PRINT IT
006042 004737 031434' JSR PC,.TYMSG
4962 006046 012700 006130' MOV #TRADDR,R0 ; .POINT TO ADDRESS
4963 006052 CALL .TYKLA ; .PRINT IT
006052 004737 031016' JSR PC,.TYKLA
4964 006056 CALL .TYSLS ; .TYPE A SLASH
006056 004737 030634' JSR PC,.TYSLS
4965 006062 CALL .TYSPC ; .AND A <SPACE>
006062 004737 030644' JSR PC,.TYSPC
4966 006066 012700 006136' MOV #TRDATA,R0 ; .POINT TO DATA
4967 006072 CALL .TYKLN ; .PRINT IT
006072 004737 031066' JSR PC,.TYKLN
4968 006076 CALL .TYSPC ; .AND A <SPACE>
006076 004737 030644' JSR PC,.TYSPC
4969 006102 011600 MOV (SP),R0 ; .GET TYPE
4970 006104 006200 ASR R0 ; .DIVIDE BY 16
4971 006106 006200 ASR R0 ; .
4972 006110 006200 ASR R0 ; .
4973 006112 006200 ASR R0 ; .
4974 006114 016000 006144' MOV EDTYTB(R0),R0 ; .GET TYPE POINTER
4975 006120 CALL .TYLIN ; .PRINT IT AND A <CRLF>
006120 004737 031420' JSR PC,.TYLIN
4976 006124 POP R0 ; .AND R0
006124 012600 MOV (SP)+,R0
4977 006126 RETURN ; TO CALLER
006126 000207 RTS PC
4978
4979 .DSABL LSB
EDTRK -- KL EXAMINE / DEPOSIT T MACRO M1108 13-JAN-78 09:14 PAGE 142
.EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE 7512.09
4981 006130 TRADDR:
4982 006130 000000 000000 000000 .WORD 0,0,0 ; SPACE FOR ADDRESS
4983 006136 TRDATA:
4984 006136 000000 000000 000000 .WORD 0,0,0 ; SPACE FOR DATA
4985 006144 EDTYTB: ; POINTERS FOR TYPE MESSAGES
4986 006144 000524' .WORD EDEPT ; EPT SPACE
4987 006146 000530' .WORD EDEXV ; EXEC VIRTUAL SPACE
4988 006150 000534' .WORD EDUPT ; UPT SPACE
4989 006152 000540' .WORD EDUSV ; USER VIRTUAL
4990 006154 000544' .WORD EDPHY ; PHYSICAL SPACE
4991
4992 000524 .PSECT MESSAG
4993 000524 EDEPT:
4994 000524 105 120 124 .ASCIZ %EPT%
000527 000
4995 000530 EDEXV:
4996 000530 105 126 123 .ASCIZ %EVS%
000533 000
4997 000534 EDUPT:
4998 000534 125 120 124 .ASCIZ %UPT%
000537 000
4999 000540 EDUSV:
5000 000540 125 126 123 .ASCIZ %UVS%
000543 000
5001 000544 EDPHY:
5002 000544 120 110 131 .ASCIZ %PHY%
000547 000
5003 000550 EXTMSG:
5004 000550 011 124 122 .ASCIZ % TRACK > EX %
000553 101 103 113
000556 040 076 040
000561 105 130 040
000564 000
5005 000565 DPTMSG:
5006 000565 011 124 122 .ASCIZ % TRACK > DP %
000570 101 103 113
000573 040 076 040
000576 104 120 040
000601 000
5007 006156 .PSECT
5008
5009 .ENDC ; FTTRAK
EXAD -- EXAMINE 22 AND 36 BIT R MACRO M1108 13-JAN-78 09:14 PAGE 143
.EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE 7512.09
5011 .TITLE EXAD -- EXAMINE 22 AND 36 BIT REGISTER COMMAND MODULE 7603.30
5012
5013 .IDENT "001010"
5014
5015 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
5016 ;
5017 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
5018 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
5019 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
5020 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
5021 ; FOR ITS ACCURACY.
5022 ;
5023 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
5024 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
5025 ;
5026 ;
5027 ; MODULE: EXAMINE 22 AND 36 BIT REGISTER COMMAND
5028 ;
5029 ; VERSION: 01-01
5030 ;
5031 ; AUTHOR: R. BELANGER
5032 ;
5033 ; DATE: 7603.30
5034 ;
5035 ; THIS MODULE CONTAINS:
5036 ;
5037 ; 1) EXAMINE 22 AND 36 BIT REGISTER COMMAND CODE
EXAD -- EXAMINE 22 AND 36 BIT R MACRO M1108 13-JAN-78 09:14 PAGE 144
.EXAD -- KL DATA PATH BOARD EXAMINES 7602.16
5039 .SBTTL .EXAD -- KL DATA PATH BOARD EXAMINES 7602.16
5040
5041 .ENABL LSB
5042
5043 006156 .EXAD:: ; ADDER REGISTER
5044 006156 012700 020022' MOV #.RDADR,R0 ; DISPATCH POINTER TO R0
5045 006162 000445 BR 20$ ; DO COMMON CODE
5046 ;
5047 006164 .EXADX:: ; ADDRER EXTENSION
5048 006164 012700 020030' MOV #.RDADX,R0 ; DISPATCH POINTER TO R0
5049 006170 000442 BR 20$ ; DO COMMON CODE
5050 ;
5051 006172 .EXARR:: ; ARITHMETIC REGISTER
5052 006172 012700 020036' MOV #.RDARR,R0 ; DISPATCH POINTER TO R0
5053 006176 000437 BR 20$ ; DO COMMON CODE
5054 ;
5055 006200 .EXARX:: ; AR EXTENSION
5056 006200 012700 020044' MOV #.RDARX,R0 ; DISPATCH POINTER TO R0
5057 006204 000434 BR 20$ ; DO COMMON CODE
5058 ;
5059 006206 .EXBRR:: ; BUFFER REGISTER
5060 006206 012700 020052' MOV #.RDBRR,R0 ; DISPATCH POINTER TO R0
5061 006212 000431 BR 20$ ; DO COMMON CODE
5062 ;
5063 006214 .EXBRX:: ; BR EXTENSION
5064 006214 012700 020060' MOV #.RDBRX,R0 ; DISPATCH POINTER TO R0
5065 006220 000426 BR 20$ ; DO COMMON CODE
5066 ;
5067 006222 .EXEBS:: ; EBUS REGISTER
5068 006222 012700 020066' MOV #.RDEBS,R0 ; DISPATCH POINTER TO R0
5069 006226 000423 BR 20$ ; DO COMMON CODE
5070 ;
5071 006230 .EXFMR:: ; FAST MEMORY REGISTER
5072 006230 012700 020074' MOV #.RDFMR,R0 ; DISPATCH POINTER TO R0
5073 006234 000420 BR 20$ ; DO COMMON CODE
5074 ;
5075 006236 .EXMQR:: ; MQ REGSITER
5076 006236 012700 020102' MOV #.RDMQR,R0 ; DISPATCH POINTER TO R0
5077 006242 000415 BR 20$ ; DO COMMON CODE
5078 ;
EXAD -- EXAMINE 22 AND 36 BIT R MACRO M1108 13-JAN-78 09:14 PAGE 145
.EXVAB -- KL PC BOARD AND SMALL REGISTER EXAMINES 7602.16
5080 .SBTTL .EXVAB -- KL PC BOARD AND SMALL REGISTER EXAMINES 7602.16
5081
5082 006244 .EXVAB:: ; ADDRESS BREAK REGISTER
5083 006244 012700 020662' MOV #.RDVAB,R0 ; DISPATCH POINTER TO R0
5084 006250 000410 BR 10$ ; DO COMMON CODE
5085 ;
5086 006252 .EXVMA:: ; VMA REGISTER
5087 006252 012700 020670' MOV #.RDVMA,R0 ; DISPATCH POINTER TO R0
5088 006256 000405 BR 10$ ; DO COMMON CODE
5089 ;
5090 006260 .EXVMH:: ; VMA HELD REGISTER
5091 006260 012700 020676' MOV #.RDVMH,R0 ; DISPATCH POINTER TO R0
5092 006264 000402 BR 10$ ; DO COMMON CODE
5093 ;
5094 006266 .EXVPC:: ; PROGRAM COUNTER
5095 006266 012700 020654' MOV #.RDVPC,R0 ; DISPATCH POINTER TO R0
5096 ; BR 10$ ; DO COMMON CODE
5097 ;
EXAD -- EXAMINE 22 AND 36 BIT R MACRO M1108 13-JAN-78 09:14 PAGE 146
.EXVAB -- KL PC BOARD AND SMALL REGISTER EXAMINES 7602.16
5099 ; [CONTINUED FROM THE PREVIOUS PAGE]
5100
5101 006272 10$: ; HERE FOR VMA BOARD EXAMINES
5102 006272 005037 000100' CLR .LDZFL ; DON'T PRINT LEADING ZEROES
5103 006276 20$: ; HERE FOR DATA PATH BOARD EXAMINES
5104 006276 CALL .CKEOC ; CHECK E-O-C
006276 004737 002010' JSR PC,.CKEOC
5105 006302 005046 CLR -(SP) ; CLEAR A BUFFER ON THE STACK
5106 006304 005046 CLR -(SP) ; .
5107 006306 005046 CLR -(SP) ; ..
5108 006310 010601 MOV SP,R1 ; ...POINT TO THE BUFFER
5109 006312 PUSH R0 ; ...SAVE THE DISPATCH ADDRESS
006312 010046 MOV R0,-(SP)
5110 006314 CALL .STPKL ; ....STOP THE KL
006314 004737 026330' JSR PC,.STPKL
5111 006320 CALL @(SP)+ ; ....READ THE REGISTER
006320 004736 JSR PC,@(SP)+
5112 006322 CALL .RSTKL ; ...YES -- RESTART THE KL
006322 004737 022134' JSR PC,.RSTKL
5113 006326 010200 MOV R2,R0 ; ...MESSAGE POINTER TO R0
5114 006330 CALL .TYMSG ; ...PRINT IT
006330 004737 031434' JSR PC,.TYMSG
5115 006334 CALL .TYSLS ; ...NOW A SLASH
006334 004737 030634' JSR PC,.TYSLS
5116 006340 CALL .TYSPC ; ...AND A SPACE
006340 004737 030644' JSR PC,.TYSPC
5117 006344 010100 MOV R1,R0 ; ...POINT TO THE DATA
5118 006346 CALL .TYKLN ; ...PRINT THAT
006346 004737 031066' JSR PC,.TYKLN
5119 006352 CALL .TCRLF ; ...END THE LINE
006352 004737 031524' JSR PC,.TCRLF
5120 006356 062706 000006 ADD #^D6,SP ;...CLEAR THE STACK
5121 006362 RETURN ; TO CALLER
006362 000207 RTS PC
5122
5123 .DSABL LSB
EXAMC -- EXAMINE COMMAND DISPAT MACRO M1108 13-JAN-78 09:14 PAGE 147
.EXVAB -- KL PC BOARD AND SMALL REGISTER EXAMINES 7602.16
5125 .TITLE EXAMC -- EXAMINE COMMAND DISPATCH MODULE 7603.30
5126
5127 .IDENT "001010"
5128
5129 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
5130 ;
5131 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
5132 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
5133 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
5134 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
5135 ; FOR ITS ACCURACY.
5136 ;
5137 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
5138 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
5139 ;
5140 ;
5141 ; MODULE: EXAMINE COMMAND DISPATCH
5142 ;
5143 ; VERSION: 01-01
5144 ;
5145 ; AUTHOR: R. BELANGER
5146 ;
5147 ; DATE: 7603.30
5148 ;
5149 ; THIS MODULE CONTAINS:
5150 ;
5151 ; 1) EXAMINE COMMAND DISPATCH CODE
5152 ; 2) EXAMINE COMMAND DISPATCH TABLES
EXAMC -- EXAMINE COMMAND DISPAT MACRO M1108 13-JAN-78 09:14 PAGE 148
.EXAMC -- THE "EXAMINE" COMMAND DISPATCH 7602.16
5154 .SBTTL .EXAMC -- THE "EXAMINE" COMMAND DISPATCH 7602.16
5155
5156 ;+
5157 ; .EXAMC -- THE "EXAMINE" COMMAND DISPATCH.
5158 ;
5159 ; THIS IS THE TOP LEVEL EXAMINE ROUTINE WHICH DETERMINES WHICH
5160 ; OBJECT IS TO BE EXAMINED.
5161 ;
5162 ; INPUT ARGUMENTS:
5163 ;
5164 ; NONE.
5165 ;
5166 ; OUTPUT ARGUMENTS:
5167 ;
5168 ; NONE, THIS ROUTINE DISPATCHES TO THE PROPER ROUTINE
5169 ; FOR THE OBJECT SPECIFIED.
5170 ;
5171 ; ERROR CODES RETURNED:
5172 ;
5173 ; NONE.
5174 ;-
5175
5176 006364 .EXAMC::
5177 006364 013703 000102' MOV .MEMFL,R3 ; OFFSET FLAG TO R3
5178 006370 PUSH #.EXOBJ ; FOR ALPHABETIC ARGUMENT
006370 012746 010536' MOV #.EXOBJ,-(SP)
5179 006374 CALL .CKARG ; .CHECK THE ARGUMENT
006374 004737 001712' JSR PC,.CKARG
5180 006400 001402 BEQ 10$ ; .BRANCH IF ALPHABETIC
5181 006402 012716 006410' MOV #.EXAMA,(SP) ; .FOR NUMERIC ARGUMENT
5182 006406 10$:
5183 006406 CALLR @(SP)+ ; .EXAMINE THE OBJECT
006406 000136 JMP @(SP)+
5184 ;
5185 006410 .EXAMA:: ; HERE TO DISPATCH FOR MEMORY
5186 006410 CALLR @EXMDTB(R3) ; DISPATCH
006410 000173 006414' JMP @EXMDTB(R3)
5187 ;
5188 006414 EXMDTB:
5189 006414 006774' .WORD .EXAMT ; EXAMINE TEN
5190 006416 006470' .WORD .EXAME ; EXAMINE ELEVEN WORD
EXAMD -- EXAMINE EXTENSION DISP MACRO M1108 13-JAN-78 09:14 PAGE 149
.EXAMC -- THE "EXAMINE" COMMAND DISPATCH 7602.16
5192 .TITLE EXAMD -- EXAMINE EXTENSION DISPATCH MODULE 7603.30
5193
5194 .IDENT "001010"
5195
5196 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
5197 ;
5198 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
5199 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
5200 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
5201 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
5202 ; FOR ITS ACCURACY.
5203 ;
5204 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
5205 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
5206 ;
5207 ;
5208 ; MODULE: EXAMINE EXTENSION DISPATCH
5209 ;
5210 ; VERSION: 01-01
5211 ;
5212 ; AUTHOR: R. BELANGER
5213 ;
5214 ; DATE: 7603.30
5215 ;
5216 ; THIS MODULE CONTAINS:
5217 ;
5218 ; 1) EXAMINE EXTENSION DISPATCH CODE
EXAMD -- EXAMINE EXTENSION DISP MACRO M1108 13-JAN-78 09:14 PAGE 150
.EXAMD -- THE "EXAMINE <NUMERICAL OBJECT>" COMMAND DISPATCH 76
5220 .SBTTL .EXAMD -- THE "EXAMINE <NUMERICAL OBJECT>" COMMAND DISPATCH 7602.29
5221
5222 006420 .EXAMD:: ; EXAMINE DECREMENT
5223 006420 000173 006424' JMP @EXADTB(R3) ; DISPATCH ON MEMORY TYPE FLAG
5224 ;
5225 006424 EXADTB:
5226 006424 010036' .WORD .EXKLD ; KL WORD
5227 006426 007722' .WORD .EXEWD ; PDP-11 WORD
5228
5229 006430 .EXAMI:: ; EXAMINE INCREMENT
5230 006430 000173 006434' JMP @EXAITB(R3) ; DISPATCH ON MEMORY TYPE FLAG
5231 ;
5232 006434 EXAITB:
5233 006434 010044' .WORD .EXKLI ; KL WORD
5234 006436 007730' .WORD .EXEWI ; PDP-11 WORD
5235
5236 006440 .EXAMN:: ; EXAMINE NEXT
5237 006440 000173 006444' JMP @EXANTB(R3) ; DISPATCH ON MEMORY TYPE FLAG
5238 ;
5239 006444 EXANTB:
5240 006444 010052' .WORD .EXKLN ; KL WORD
5241 006446 007736' .WORD .EXEWN ; PDP-11 WORD
5242
5243 006450 .EXAMP:: ; EXAMINE PREVIOUS
5244 006450 000173 006454' JMP @EXAPTB(R3) ; DISPATCH ON MEMORY TYPE FLAG
5245 ;
5246 006454 EXAPTB:
5247 006454 010060' .WORD .EXKLP ; KL WORD
5248 006456 007744' .WORD .EXEWP ; PDP-11 WORD
5249
5250 006460 .EXAMZ:: ; EXAMINE THIS
5251 006460 000173 006464' JMP @EXAZTB(R3) ; DISPATCH ON MEMORY TYPE FLAG
5252 ;
5253 006464 EXAZTB:
5254 006464 010030' .WORD .EXKLT ; KL WORD
5255 006466 007714' .WORD .EXEWT ; PDP-11 WORD
EXAME - EXAMINE ELEVEN COMMAND MACRO M1108 13-JAN-78 09:14 PAGE 151
.EXAMD -- THE "EXAMINE <NUMERICAL OBJECT>" COMMAND DISPATCH 76
5257 .TITLE EXAME - EXAMINE ELEVEN COMMAND MODULE 7603.30
5258
5259 .IDENT "001010"
5260
5261 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
5262 ;
5263 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
5264 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
5265 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
5266 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
5267 ; FOR ITS ACCURACY.
5268 ;
5269 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
5270 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
5271 ;
5272 ;
5273 ; MODULE: EXAMINE ELEVEN COMMAND
5274 ;
5275 ; VERSION: 01-01
5276 ;
5277 ; AUTHOR: R. BELANGER
5278 ;
5279 ; DATE: 7603.30
5280 ;
5281 ; THIS MODULE CONTAINS:
5282 ;
5283 ; 1) EXAMINE ELEVEN COMMAND CODE
EXAME - EXAMINE ELEVEN COMMAND MACRO M1108 13-JAN-78 09:14 PAGE 152
.EXAME -- THE "EXAMINE <ELEVEN>" COMMAND 7602.29
5285 .SBTTL .EXAME -- THE "EXAMINE <ELEVEN>" COMMAND 7602.29
5286
5287 ;+
5288 ; .EXAME -- THE "EXAMINE <ELEVEN> COMMAND.
5289 ;
5290 ; THIS ROUTINE WILL EXAMINE AND DISPLAY THE CONTEN OF ONE PDP-11
5291 ; ELEVEN MEMORY LOCATION ON THE CONSOLE DEVICE.
5292 ;
5293 ; INPUT ARGUMENTS:
5294 ;
5295 ; NONE.
5296 ;
5297 ; OUTPUT ARGUMENTS:
5298 ;
5299 ; THE ADDRESS EXAMINED IS IN ".EDELA"
5300 ; THE EXAMINED DATA IS IN ".ELEDW"
5301 ;
5302 ; ERROR CODES RETURNED:
5303 ;
5304 ; NONE.
5305 ;-
5306
5307 006470 .EXAME::
5308 006470 CALL .CKARG ; SEE IF WE HAVE AN ARGUMENT
006470 004737 001712' JSR PC,.CKARG
5309 006474 002406 BLT 10$ ; NUMERIC -- GO AROUND TABLE SCAN
5310 006476 012700 007654' MOV #.EXETB,R0 ; EXTENSION TABLE POINTER TO R0
5311 006502 CALL .TSCAN ; SCAN IT
006502 004737 030176' JSR PC,.TSCAN
5312 006506 CALLR @2(R0) ; DO WHAT IS SAYS TO
006506 000170 000002 JMP @2(R0)
5313 ;
5314 006512 10$:
5315 006512 CALL .GTELN ; READ THE ADDRESS
006512 004737 012252' JSR PC,.GTELN
5316
5317 ; [CONTINUED ON THE FOLLOWING PAGE]
EXAME - EXAMINE ELEVEN COMMAND MACRO M1108 13-JAN-78 09:14 PAGE 153
.EXAME -- THE "EXAMINE <ELEVEN>" COMMAND 7602.29
5319 ; [CONTINUED FROM THE PREVIOUS PAGE]
5320
5321 006516 .EXMEE:: ; EXTENDED EXAMINE ENTRY POINT
5322 006516 CALL .CKEOC ; CHECK FOR E-O-C
006516 004737 002010' JSR PC,.CKEOC
5323 006522 032700 000001 BIT #BIT00,R0 ; IS IT ODD?
5324 006526 001027 BNE EXAOAI ; YES -- GIVE "OAI" ERROR
5325 006530 013737 000144' 000174' MOV .TRP4V,.SSTTB ; SET UP TRAP AT 4 TRAP
5326 006536 010037 000034' MOV R0,.EDELA ; .LEAVE SOME TRACKS
5327 006542 011001 MOV (R0),R1 ; DO THE EXAMINE
5328 006544 005037 000174' CLR .SSTTB ; RESET TRAP AT 4 TRAP
5329 006550 010137 000054' MOV R1,.ELEDW ; MORE TRACKS
5330 006554 CALL .TYELA ; TYPE THE ADDRESS
006554 004737 030672' JSR PC,.TYELA
5331 006560 112700 000134 MOVB #'\,R0 ; BACKSLASH
5332 006564 CALL .TYCHR ; TYPE IT
006564 004737 031472' JSR PC,.TYCHR
5333 006570 CALL .TYSPC ; AND A SPACE
006570 004737 030644' JSR PC,.TYSPC
5334 006574 010100 MOV R1,R0 ; DATA TO R0
5335 006576 CALL .TYELN ; TYPE THAT
006576 004737 030676' JSR PC,.TYELN
5336 006602 CALLR .TCRLF ; END THE LINE AND EXIT
006602 000137 031524' JMP .TCRLF
5337 ;
5338 006606 EXAOAI:
5339 006606 ERROR$ OAI ; ERROR -- ODD ADDRESS ILLEGAL
006606 012746 MOV (PC)+,-(SP) ; "OAI" IN RAD50 TO STACK
006610 056761 .RAD50 /OAI/ ; ERROR IDENTIFIER
006612 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
5340 ;
EXAMF -- EXAMINE FLAGS COMMAND MACRO M1108 13-JAN-78 09:14 PAGE 154
.EXAME -- THE "EXAMINE <ELEVEN>" COMMAND 7602.29
5342 .TITLE EXAMF -- EXAMINE FLAGS COMMAND MODULE 7603.30
5343
5344 .IDENT "001010"
5345
5346 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
5347 ;
5348 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
5349 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
5350 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
5351 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
5352 ; FOR ITS ACCURACY.
5353 ;
5354 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
5355 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
5356 ;
5357 ;
5358 ; MODULE: EXAMINE FLAGS COMMAND
5359 ;
5360 ; VERSION: 01-01
5361 ;
5362 ; AUTHOR: R. BELANGER
5363 ;
5364 ; DATE: 7603.30
5365 ;
5366 ; THIS MODULE CONTAINS:
5367 ;
5368 ; 1) EXAMINE FLAGS COMMAND CODE
EXAMF -- EXAMINE FLAGS COMMAND MACRO M1108 13-JAN-78 09:14 PAGE 155
.EXAMF -- THE "EXAMINE FLAGS" COMMAND 7602.23
5370 .SBTTL .EXAMF -- THE "EXAMINE FLAGS" COMMAND 7602.23
5371
5372 ;+
5373 ; .EXAMF -- THE "EXAMINE FLAGS" COMMAND.
5374 ;
5375 ; THIS ROUTINE WILL READ AND DISPLAY THE KL PC FLAGS ON THE
5376 ; CONSOLE DEVICE.
5377 ;
5378 ; INPUT ARGUMENTS:
5379 ;
5380 ; NONE.
5381 ;
5382 ; OUTPUT ARGUMENTS:
5383 ;
5384 ; NONE.
5385 ;
5386 ; ERROR CODES RETURNED:
5387 ;
5388 ; NONE.
5389 ;-
5390
5391 006614 .EXAMF::
5392 006614 CALL .CKEOC ; CHECK E-O-C
006614 004737 002010' JSR PC,.CKEOC
5393 006620 CALL .STPKL ; STOP THE KL
006620 004737 026330' JSR PC,.STPKL
5394 006624 CALL .RDFLG ; READ THE FLAGS
006624 004737 020112' JSR PC,.RDFLG
5395 006630 CALL .RSTKL ; RESTART THE KL
006630 004737 022134' JSR PC,.RSTKL
5396 006634 010001 MOV R0,R1 ; FLAGS TO R1
5397 006636 001422 BEQ 30$ ; NONE ON -- SAY SO
5398 006640 012700 000645' MOV #EXFMSG,R0 ; HEADER
5399 006644 CALL .TYLIN ; PRINT IT
006644 004737 031420' JSR PC,.TYLIN
5400 006650 10$:
5401 006650 012700 000631' MOV #FONMSG,R0 ; ASSUME IT IS ON
5402 006654 032701 010000 BIT #BIT12,R1 ; IS THE FLAG ON?
5403 006660 001002 BNE 20$ ; YES -- GO ON
5404 006662 012700 000637' MOV #FOFMSG,R0 ; NO -- SAY SO
5405 006666 20$:
5406 006666 CALL .TYMSG ; PRINT THE STATE OF THE BIT
006666 004737 031434' JSR PC,.TYMSG
5407 006672 042701 010000 BIC #BIT12,R1 ; CLEAR THIS BIT OUT
5408 006676 006301 ASL R1 ; MOVE NEXT BIT IN
5409 006700 001363 BNE 10$ ; LOOP TILL R1 .EQ. 0
5410 006702 000404 BR 40$ ; DONE -- EXIT
5411 006704 30$:
5412 006704 012700 000602' MOV #NOFMSG,R0 ; "NO FLAGS"
5413 006710 CALL .TYMSG ; PRINT IT
006710 004737 031434' JSR PC,.TYMSG
5414 006714 40$:
5415 006714 CALLR .TCRLF ; END LINE AND RETURN
006714 000137 031524' JMP .TCRLF
5416 ;
EXAMF -- EXAMINE FLAGS COMMAND MACRO M1108 13-JAN-78 09:14 PAGE 156
.EXAMF -- THE "EXAMINE FLAGS" COMMAND 7602.23
5418 000602 .PSECT MESSAG
5419
5420 000602 NOFMSG:
5421 000602 116 117 040 .ASCIZ %NO KL PC FLAGS ARE SET%
000605 113 114 040
000610 120 103 040
000613 106 114 101
000616 107 123 040
000621 101 122 105
000624 040 123 105
000627 124 000
5422 000631 FONMSG:
5423 000631 040 040 130 .ASCIZ % X %
000634 040 040 000
5424 000637 FOFMSG:
5425 000637 040 040 040 .ASCIZ % %
000642 040 040 000
5426 000645 EXFMSG:
5427 000645 040 117 126 .ASCIZ % OVF CY0 CY1 FOV BIS USR UIO LIP AFI AT1 AT0 FUF NDV%
000650 106 040 040
000653 103 131 060
000656 040 040 103
000661 131 061 040
000664 040 106 117
000667 126 040 040
000672 102 111 123
000675 040 040 125
000700 123 122 040
000703 040 125 111
000706 117 040 040
000711 114 111 120
000714 040 040 101
000717 106 111 040
000722 040 101 124
000725 061 040 040
000730 101 124 060
000733 040 040 106
000736 125 106 040
000741 040 116 104
000744 126 000
5428
5429 006720 .PSECT
EXAMK -- EXAMINE KL COMMAND MOD MACRO M1108 13-JAN-78 09:14 PAGE 157
.EXAMF -- THE "EXAMINE FLAGS" COMMAND 7602.23
5431 .TITLE EXAMK -- EXAMINE KL COMMAND MODULE 7603.30
5432
5433 .IDENT "001010"
5434
5435 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
5436 ;
5437 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
5438 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
5439 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
5440 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
5441 ; FOR ITS ACCURACY.
5442 ;
5443 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
5444 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
5445 ;
5446 ;
5447 ; MODULE: EXAMINE KL COMMAND
5448 ;
5449 ; VERSION: 01-01
5450 ;
5451 ; AUTHOR: R. BELANGER
5452 ;
5453 ; DATE: 7603.30
5454 ;
5455 ; THIS MODULE CONTAINS:
5456 ;
5457 ; 1) EXAMINE KL COMMAND CODE
EXAMK -- EXAMINE KL COMMAND MOD MACRO M1108 13-JAN-78 09:14 PAGE 158
.EXAMK -- THE "EXAMINE KL" COMMAND 7602.23
5459 .SBTTL .EXAMK -- THE "EXAMINE KL" COMMAND 7602.23
5460
5461 ;+
5462 ; .EXAMK -- THE "EXAMINE KL" COMMAND
5463 ;
5464 ; THIS ROUTINE WILL EXAMINE AND DISPLAY THE FOLLOWING ITEMS ON THE
5465 ; CONSOLE DEVICE:
5466 ;
5467 ; (A) KL PROGRAM COUNTER
5468 ; (B) KL VMA REGISTER
5469 ; (C) KL PI SYSTEM STATE
5470 ; (D) KL PC FLAGS
5471 ;
5472 ; INPUT ARGUMENTS:
5473 ;
5474 ; NONE.
5475 ;
5476 ; OUTPUT ARGUMENTS:
5477 ;
5478 ; NONE.
5479 ;
5480 ; ERROR CODES RETURNED:
5481 ;
5482 ; NONE.
5483 ;-
5484
5485 006720 .EXAMK::
5486 006720 CALL .CKEOC ; CHECK E-O-C
006720 004737 002010' JSR PC,.CKEOC
5487 006724 PUSH .KLFLG ; SAVE ".KLFLG"
006724 013746 000000G MOV .KLFLG,-(SP)
5488 006730 CALL .STPKL ; .STOP THE KL
006730 004737 026330' JSR PC,.STPKL
5489 006734 012702 000746' MOV #EXKMS0,R2 ; .MESSAGE POINTER TO R2
5490 006740 CALL .EXVPC ; .READ AND PRINT THE KL PC
006740 004737 006266' JSR PC,.EXVPC
5491 006744 012702 000751' MOV #EXKMS1,R2 ; .MESSAGE POINTER TO R2
5492 006750 CALL .EXVMA ; .READ AND PRINT THE KL VMA
006750 004737 006252' JSR PC,.EXVMA
5493 006754 CALL .EXMPI ; .DISPLAY THE PI SYSTEM
006754 004737 010070' JSR PC,.EXMPI
5494 006760 CALL .EXAMF ; .DISPLAY THE KL PC FLAGS
006760 004737 006614' JSR PC,.EXAMF
5495 006764 POP .SVKLF ; .SET UP ".SVKLF"
006764 012637 000140' MOV (SP)+,.SVKLF
5496 006770 CALLR .RSTKL ; RESTART THE KL
006770 000137 022134' JMP .RSTKL
5497 ;
EXAMK -- EXAMINE KL COMMAND MOD MACRO M1108 13-JAN-78 09:14 PAGE 159
.EXAMK -- THE "EXAMINE KL" COMMAND 7602.23
5499 000746 .PSECT MESSAG
5500
5501 000746 EXKMS0:
5502 000746 120 103 000 .ASCIZ %PC%
5503
5504 000751 EXKMS1:
5505 000751 126 115 101 .ASCIZ %VMA%
000754 000
5506
5507 006774 .PSECT
EXAMT -- EXAMINE TEN COMMAND MO MACRO M1108 13-JAN-78 09:14 PAGE 160
.EXAMK -- THE "EXAMINE KL" COMMAND 7602.23
5509 .TITLE EXAMT -- EXAMINE TEN COMMAND MODULE 7603.30
5510
5511 .IDENT "001010"
5512
5513 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
5514 ;
5515 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
5516 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
5517 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
5518 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
5519 ; FOR ITS ACCURACY.
5520 ;
5521 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
5522 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
5523 ;
5524 ;
5525 ; MODULE: EXAMINE TEN COMMAND
5526 ;
5527 ; VERSION: 01-01
5528 ;
5529 ; AUTHOR: R. BELANGER
5530 ;
5531 ; DATE: 7603.30
5532 ;
5533 ; THIS MODULE CONTAINS:
5534 ;
5535 ; 1) EXAMINE TEN COMMAND CODE
EXAMT -- EXAMINE TEN COMMAND MO MACRO M1108 13-JAN-78 09:14 PAGE 161
.EXAMT -- THE "EXAMINE <TEN>" COMMAND 7602.05
5537 .SBTTL .EXAMT -- THE "EXAMINE <TEN>" COMMAND 7602.05
5538
5539 ;+
5540 ; .EXAMT -- THE "EXAMINE <TEN>" COMMAND.
5541 ;
5542 ; THIS SUBROUTINE READS A KL ADDRESS, EXAMINES THAT ADDRESS,
5543 ; AND PRINTS THE CONTENT OF THAT ADDRESS.
5544 ;
5545 ; INPUT ARGUMENTS:
5546 ;
5547 ; NONE.
5548 ;
5549 ; OUTPUT ARGUMENTS:
5550 ;
5551 ; NONE.
5552 ;
5553 ; ERROR CODES RETURNED:
5554 ;
5555 ; EMF -- EXAMINE MEMORY FAILED.
5556 ; ESE -- EBOX STOPPED - EXAMINE
5557 ; KLA -- KL ADDRESS ERROR
5558 ; KCN -- KL CLOCK NOT RUNNING
5559 ; MRA -- MISSING REQUIRED ARGUMENT
5560 ;-
5561
5562 006774 .EXAMT::
5563 006774 CALL .CKARG ; SEE IF WE HAVE AN ARGUMENT
006774 004737 001712' JSR PC,.CKARG
5564 007000 002406 BLT 10$ ; NUMERIC -- GO AROUND TABLE SCAN
5565 007002 012700 007654' MOV #.EXETB,R0 ; EXTENSION TABLE POINTER TO R0
5566 007006 CALL .TSCAN ; SCAN THE TABLE
007006 004737 030176' JSR PC,.TSCAN
5567 007012 CALLR @2(R0) ; DO WHAT IT SAYS TO
007012 000170 000002 JMP @2(R0)
5568 ;
5569 007016 10$:
5570 007016 012700 000044' MOV #.EDKLX,R0 ; POINT TO ADDRESS BUFFER
5571 007022 CALL .GTKLA ; GO GET THE ADDRESS
007022 004737 012302' JSR PC,.GTKLA
5572
5573 ; [CONTINUED ON THE FOLLOWING PAGE]
EXAMT -- EXAMINE TEN COMMAND MO MACRO M1108 13-JAN-78 09:14 PAGE 162
.EXAMT -- THE "EXAMINE <TEN>" COMMAND 7602.05
5575 ; [CONTINUED FROM THE PREVIOUS PAGE]
5576
5577 007026 .EXMTE:: ; EXTENDED EXAMINE ENTRY POINT
5578 007026 CALL .CKEOC ; CHECK E-O-C CHARACTER
007026 004737 002010' JSR PC,.CKEOC
5579 007032 032737 100000 000000G BIT #KF.CLK,.KLFLG ; IS THE KL CLOCK ON?
5580 007040 001432 BEQ EXTKCN ; NO -- GIVE "KCN" ERROR
5581 007042 PUSH #.EXBFR ; YES -- SAVE THE DATA POINTER
007042 012746 000056' MOV #.EXBFR,-(SP)
5582 007046 012702 000036' MOV #.EDKLA,R2 ; .ADDRESS BUFFER POINTER TO R2
5583 007052 012022 MOV (R0)+,(R2)+ ; .LOAD THE NEW ADDRESS
5584 007054 012022 MOV (R0)+,(R2)+ ; .INTO THE ADDRESS BUFFER
5585 007056 011012 MOV (R0),(R2) ; .SO
5586 007060 024242 CMP -(R2),-(R2) ; .BACK THE POINTER UP
5587 007062 PUSH R2 ; .ADDRESS POINTER
007062 010246 MOV R2,-(SP)
5588 007064 010601 MOV SP,R1 ; ..POINT TO THE DATA BLOCK
5589 007066 012700 000200 MOV #ED.PHY,R0 ; ..PHYSICAL REFERENCE
5590 007072 CALL .EXKLM ; ..DO THE EXAMINE
007072 004737 005500' JSR PC,.EXKLM
5591 007076 POP R0 ; ..POINT TO THE ADDRESS
007076 012600 MOV (SP)+,R0
5592 007100 CALL .TYKLA ; .PRINT THE ADDRESS
007100 004737 031016' JSR PC,.TYKLA
5593 007104 CALL .TYSLS ; .TYPE A SLASH
007104 004737 030634' JSR PC,.TYSLS
5594 007110 CALL .TYSPC ; .AND A SPACE
007110 004737 030644' JSR PC,.TYSPC
5595 007114 POP R0 ; .POINT TO THE DATA
007114 012600 MOV (SP)+,R0
5596 007116 CALL .TYKLN ; PRINT THE DATA
007116 004737 031066' JSR PC,.TYKLN
5597 007122 CALLR .TCRLF ; AND END THE LINE
007122 000137 031524' JMP .TCRLF
5598 ;
5599 007126 EXTKCN:
5600 007126 ERROR$ KCN ; ERROR -- KL CLOCK NOT RUNNING
007126 012746 MOV (PC)+,-(SP) ; "KCN" IN RAD50 TO STACK
007130 042506 .RAD50 /KCN/ ; ERROR IDENTIFIER
007132 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
5601 ;
EXCRA -- EXAMINE SMALL REGISTER MACRO M1108 13-JAN-78 09:14 PAGE 163
.EXAMT -- THE "EXAMINE <TEN>" COMMAND 7602.05
5603 .TITLE EXCRA -- EXAMINE SMALL REGISTER COMMAND MODULE 7609.10
5604
5605 .IDENT "001020"
5606
5607 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
5608 ;
5609 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
5610 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
5611 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
5612 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
5613 ; FOR ITS ACCURACY.
5614 ;
5615 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
5616 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
5617 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
5618 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
5619 ;
5620 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
5621 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
5622 ;
5623 ; MODULE: EXAMINE SMALL REGISTER COMMAND
5624 ;
5625 ; VERSION: 01-02
5626 ;
5627 ; AUTHOR: R. BELANGER
5628 ;
5629 ; DATE: 7609.10
5630 ;
5631 ; THIS MODULE CONTAINS:
5632 ;
5633 ; 1) EXAMINE SMALL REGISTER COMMAND CODE
EXCRA -- EXAMINE SMALL REGISTER MACRO M1108 13-JAN-78 09:14 PAGE 164
.EXCRA -- SMALL REGISTER EXAMINES 7609.10
5635 .SBTTL .EXCRA -- SMALL REGISTER EXAMINES 7609.10
5636
5637 .ENABL LSB
5638
5639 007134 .EXCRA:: ; CRAM ADDRESS REGISTER
5640 007134 012700 020416' MOV #.RDCRA,R0 ; DISPATCH POINTER TO R0
5641 007140 000416 BR 10$ ; DO COMMON CODE
5642 ;
5643 007142 .EXCRL:: ; CRAM LOC REGISTER
5644 007142 012700 020424' MOV #.RDCRL,R0 ; DISPATCH POINTER TO R0
5645 007146 000413 BR 10$ ; DO COMMON CODE
5646 ;
5647 007150 .EXDRA:: ; DRAM ADDRESS REGISTER
5648 007150 012700 020432' MOV #.RDDRA,R0 ; DISPATCH POINTER TO R0
5649 007154 000410 BR 10$ ; DO COMMON CODE
5650 ;
5651 007156 .EXFER:: ; FLOATING EXPONENT REGISTER
5652 007156 012700 020440' MOV #.RDFER,R0 ; DISPATCH POINTER TO R0
5653 007162 000405 BR 10$ ; DO COMMON CODE
5654 ;
5655 007164 .EXSBR:: ; CRAM SBR RET REGISTER
5656 007164 012700 020446' MOV #.RDSBR,R0 ; DISPATCH POINTER TO R0
5657 007170 000402 BR 10$ ; DO COMMON CODE
5658 ;
5659 007172 .EXSCR::
5660 007172 012700 020454' MOV #.RDSCR,R0 ; DISPATCH POINTER TO R0
5661 ; BR 10$ ; DO COMMON CODE
5662 ;
5663
5664 ; [CONTINUED ON THE FOLLOWING PAGE]
EXCRA -- EXAMINE SMALL REGISTER MACRO M1108 13-JAN-78 09:14 PAGE 165
.EXCRA -- SMALL REGISTER EXAMINES 7609.10
5666 ; [CONTINUED FROM THE PREVIOUS PAGE]
5667
5668 007176 10$: ; HERE FOR SMALL REGISTER READS
5669 007176 CALL .CKEOC ; CHECK E-O-C
007176 004737 002010' JSR PC,.CKEOC
5670 007202 PUSH R0 ; SAVE DISPATCH ADDRESS
007202 010046 MOV R0,-(SP)
5671 007204 CALL .STPKL ; .STOP THE KL
007204 004737 026330' JSR PC,.STPKL
5672 007210 CALL @(SP)+ ; .READ THE REGISTER
007210 004736 JSR PC,@(SP)+
5673 007212 PUSH R0 ; SAVE THE REGISTER DATA
007212 010046 MOV R0,-(SP)
5674 007214 CALL .RSTKL ; .YES -- RESTART THE KL
007214 004737 022134' JSR PC,.RSTKL
5675 007220 010200 MOV R2,R0 ; .MESSAGE POINTER TO R0
5676 007222 CALL .TYMSG ; .PRINT IT
007222 004737 031434' JSR PC,.TYMSG
5677 007226 CALL .TYSLS ; .AND A SLASH
007226 004737 030634' JSR PC,.TYSLS
5678 007232 CALL .TYSPC ; .AND A SPACE
007232 004737 030644' JSR PC,.TYSPC
5679 007236 POP R0 ; .GET THE DATA
007236 012600 MOV (SP)+,R0
5680 007240 CALL .TYELN ; PRINT IT
007240 004737 030676' JSR PC,.TYELN
5681 007244 CALLR .TCRLF ; END THE LINE AND EXIT
007244 000137 031524' JMP .TCRLF
5682 ;
5683
5684 .DSABL LSB
EXCTC -- EXECUTE (XCT) COMMAND MACRO M1108 13-JAN-78 09:14 PAGE 166
.EXCRA -- SMALL REGISTER EXAMINES 7609.10
5686 .TITLE EXCTC -- EXECUTE (XCT) COMMAND MODULE 7603.30
5687
5688 .IDENT "001010"
5689
5690 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
5691 ;
5692 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
5693 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
5694 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
5695 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
5696 ; FOR ITS ACCURACY.
5697 ;
5698 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
5699 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
5700 ;
5701 ;
5702 ; MODULE: EXECUTE COMMAND
5703 ;
5704 ; VERSION: 01-01
5705 ;
5706 ; AUTHOR: R. BELANGER
5707 ;
5708 ; DATE: 7603.30
5709 ;
5710 ; THIS MODULE CONTAINS:
5711 ;
5712 ; 1) EXECUTE COMMAND CODE
EXCTC -- EXECUTE (XCT) COMMAND MACRO M1108 13-JAN-78 09:14 PAGE 167
.EXCTC -- THE "XCT" (EXECUTE) COMMAND 7602.17
5714 .SBTTL .EXCTC -- THE "XCT" (EXECUTE) COMMAND 7602.17
5715
5716 ;+
5717 ; .EXCTC -- THE "XCT" (EXECUTE) COMMAND
5718 ;
5719 ; THIS ROUTINE SIMULATES THE "XCT" SWITCH OF THE KL CONSOLE.
5720 ;
5721 ; INPUT ARGUMENTS:
5722 ;
5723 ; R0 POINTS TO THE KL INSTRUCTION TO BE EXECUTED.
5724 ;
5725 ; OUTPUT ARGUMENTS:
5726 ;
5727 ; NONE.
5728 ;
5729 ; ERROR CODES RETURNED:
5730 ;
5731 ; IOC -- ILLEGAL KL OPCODE.
5732 ; MRA -- MISSING REQUIRED ARGUMENT.
5733 ; XTO -- KL EXECUTE TIMED OUT.
5734 ;-
5735
5736 007250 .EXCTC:: ; HERE FROM PARSER
5737 007250 005046 CLR -(SP) ; CLEAR A BUFFER ON THE STACK
5738 007252 005046 CLR -(SP) ; .
5739 007254 005046 CLR -(SP) ; ..
5740 007256 010600 MOV SP,R0 ; ...POINT TO IT
5741 007260 CALL .GTKLN ; ...READ THE INSTRUCTION
007260 004737 012334' JSR PC,.GTKLN
5742 007264 CALL .CKEOC ; ...CHECK E-O-C CHARACTER
007264 004737 002010' JSR PC,.CKEOC
5743 007270 032760 000017 000004 BIT #17,4(R0) ; ...CHECK HIGH PART OF OPCODE
5744 007276 001005 BNE 10$ ; ...OK -- GO ON
5745 007300 032760 174000 000002 BIT #^C3777,2(R0) ; ...CHECK LOW PART OF OPCODE
5746 007306 001403 BEQ EXCIOC ; ...NONE THERE -- GIVE "IOC" ERROR
5747 007310 010600 MOV SP,R0 ; ...POINT TO THE INSTRUCTION
5748 007312 10$:
5749 007312 CALLR .EXECT ; ...ALL OK -- GO DO IT
007312 000137 007402' JMP .EXECT
5750 ;
5751 007316 EXCIOC:
5752 007316 ERROR$ IOC ; ERROR -- ILLEGAL OPCODE
007316 012746 MOV (PC)+,-(SP) ; "IOC" IN RAD50 TO STACK
007320 035233 .RAD50 /IOC/ ; ERROR IDENTIFIER
007322 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
5753 ;
EXCTF -- FAST EXECUTE MODULE 76 MACRO M1108 13-JAN-78 09:14 PAGE 168
.EXCTC -- THE "XCT" (EXECUTE) COMMAND 7602.17
5755 .TITLE EXCTF -- FAST EXECUTE MODULE 7602.17
5756
5757 .IDENT "002010"
5758
5759 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
5760 ;
5761 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
5762 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
5763 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
5764 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
5765 ; FOR ITS ACCURACY.
5766 ;
5767 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
5768 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
5769 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
5770 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
5771 ;
5772 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
5773 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
5774 ;
5775 ;
5776 ; MODULE: FAST EXECUTE
5777 ;
5778 ; VERSION: 02-01
5779 ;
5780 ; AUTHOR: R. BELANGER
5781 ;
5782 ; DATE: 7602.17
5783 ;
5784 ; THIS MODULE CONTAINS:
5785 ;
5786 ; 1) FAST EXECUTE CODE
5787 ;
5788 ; MODIFIED BY A. PECKHAM 7612.10 TO DELETE REFERENCES TO .SECFL
EXCTF -- FAST EXECUTE MODULE 76 MACRO M1108 13-JAN-78 09:14 PAGE 169
.EXCTF -- FAST INTERNAL EXECUTE 7602.17
5790 .SBTTL .EXCTF -- FAST INTERNAL EXECUTE 7602.17
5791
5792 ;+
5793 ; .EXCTF -- FST INTERNAL EXECUTE.
5794 ;
5795 ; THIS SUBROUTINE WILL EXECUTE A KL INSTRUCTION WITHOUT
5796 ; CLOCKING THE KL OUT THE HALT LOOP; THE KL IS SIMPLY
5797 ; CONTINUED
5798 ;
5799 ; INPUT ARGUMENTS:
5800 ;
5801 ; NONE.
5802 ;
5803 ; OUTPUT ARGUMENTS:
5804 ;
5805 ; NONE.
5806 ;
5807 ; ERROR CODES RETURNED:
5808 ;
5809 ; NONE
5810 ;-
5811
5812 007324 .EXCTF::
5813 007324 PUSH .KLFLG ; SAVE ".KLFLG"
007324 013746 000000G MOV .KLFLG,-(SP)
5814 007330 005116 COM (SP) ; .INVERT IT
5815 007332 032716 140000 BIT #KF.CLK!KF.RUN,(SP)
5816 007336 001013 BNE 10$ ; .NOT REALLY RUNNING -- DO OTHER XCT
5817 007340 005116 COM (SP) ; .RESET SAVED ".KLFLG"
5818 007342 PUSH R0 ; .SAVE R0
007342 010046 MOV R0,-(SP)
5819 007344 CALL .STPKL ; ..STOP THE KL
007344 004737 026330' JSR PC,.STPKL
5820 007350 POP R1 ; ..INSTRUCTION POINTER TO R1
007350 012601 MOV (SP)+,R1
5821 007352 CALL .KLXCT ; .EXECUTE THE INSTRUCTION
007352 004737 015304' JSR PC,.KLXCT
5822 007356 POP .SVKLF ; .SET UP ".SVKLF"
007356 012637 000140' MOV (SP)+,.SVKLF
5823 007362 CALLR .RSTKL ; RESTART THE KL
007362 000137 022134' JMP .RSTKL
5824 ;
5825 007366 10$:
5826 007366 005726 TST (SP)+ ; .FLUSH THE STACK
5827 007370 022020 CMP (R0)+,(R0)+ ; ADVANCE THE POINTER
5828 007372 PUSH <(R0),-(R0),-(R0)>
007372 011046 MOV (R0),-(SP)
007374 014046 MOV -(R0),-(SP)
007376 014046 MOV -(R0),-(SP)
5829 007400 010600 MOV SP,R0 ; ...POINT TO STACKED INSTRUCTION
5830
5831 ; [CONTINUED ON THE FOLLOWING PAGE]
EXCTF -- FAST EXECUTE MODULE 76 MACRO M1108 13-JAN-78 09:14 PAGE 170
.EXCTF -- FAST INTERNAL EXECUTE 7602.17
5833 ; [CONTINUED FROM THE PREVIOUS PAGE]
5834
5835 007402 .EXECT::
5836 007402 010001 MOV R0,R1 ; ...POINTER TO R1
5837 007404 PUSH .KLFLG ; ...SAVE ".KLFLG"
007404 013746 000000G MOV .KLFLG,-(SP)
5838 007410 CALL .KLXCT ; ....START THE EXECUTE
007410 004737 015304' JSR PC,.KLXCT
5839 007414 10$:
5840 007414 CALL .EBCLK ; ....GIVE ONE EBOX CLOCK
007414 004737 005210' JSR PC,.EBCLK
5841 007420 CALL .DTDW1 ; ....READ DTE-20 DIAG WORD 1
007420 004737 004742' JSR PC,.DTDW1
5842 007424 032700 001000 BIT #D1.HLP,R0 ; ....IS THE HALT LOOP UP?
5843 007430 001371 BNE 10$ ; ....YES -- WAIT TILL IT ISN'T
5844 007432 CALL .STCLK ; ....OUT OF HALT LOOP -- START THE CLOCK
007432 004737 026300' JSR PC,.STCLK
5845 007436 012701 005000 MOV #5000,R1 ; ....WAIT COUNT TO R1
5846 007442 20$:
5847 007442 CALL .DTDW1 ; ....READ DTE-20 DIAG WORD 1
007442 004737 004742' JSR PC,.DTDW1
5848 007446 032700 001000 BIT #D1.HLP,R0 ; ....LOOK FOR THE HALT LOOP AGAIN
5849 007452 001002 BNE 30$ ; ....IN THE HALT LOOP -- FINISH UP
5850 007454 077106 SOB R1,20$ ; ....NOT YET -- TRY AGAIN
5851 007456 000424 BR EXECTO ; ....EXECUTE TIMED OUT
5852 ;
5853 007460 30$:
5854 007460 005116 COM (SP) ; ....INVERT OLD ".KLFLG"
5855 007462 032716 140000 BIT #KF.CLK!KF.RUN,(SP) ; ....WAS THE KL RUNNING??
5856 007466 001003 BNE 40$ ; ....NO -- GO ON
5857 007470 CALL .KLCON ; ....YES -- CONTINUE THE KL
007470 004737 014546' JSR PC,.KLCON
5858 007474 000412 BR 60$ ; ....AND EXIT
5859 ;
5860 007476 40$:
5861 007476 032716 100000 BIT #KF.CLK,(SP) ; ....WAS THE CLOCK ON?
5862 007502 001402 BEQ 50$ ; ....YES -- GO ON
5863 007504 CALL .STPXC ; ....NO -- STOP IT
007504 004737 026354' JSR PC,.STPXC
5864 007510 50$:
5865 007510 032716 040000 BIT #KF.RUN,(SP) ; ....WAS THE RUN FLOP ON??
5866 007514 001002 BNE 60$ ; ....NO -- GO ON
5867 007516 CALL .STRUN ; ....YES -- SET IT
007516 004737 026636' JSR PC,.STRUN
5868 007522 60$:
5869 007522 062706 000010 ADD #^D8,SP ; ....RESET THE STACK
5870 007526 RETURN ; AND EXIT
007526 000207 RTS PC
5871 007530 EXECTO:
5872 007530 ERROR$ XTO ; ERROR -- EXECUTE TIMED OUT
007530 012746 MOV (PC)+,-(SP) ; "XTO" IN RAD50 TO STACK
007532 114457 .RAD50 /XTO/ ; ERROR IDENTIFIER
007534 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
5873 ;
EXDTE -- EXAMINE DTE-20 COMMAND MACRO M1108 13-JAN-78 09:14 PAGE 171
.EXCTF -- FAST INTERNAL EXECUTE 7602.17
5875 .TITLE EXDTE -- EXAMINE DTE-20 COMMAND MODULE 7603.30
5876
5877 .IDENT "001010"
5878
5879 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
5880 ;
5881 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
5882 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
5883 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
5884 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
5885 ; FOR ITS ACCURACY.
5886 ;
5887 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
5888 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
5889 ;
5890 ;
5891 ; MODULE: EXAMINE DTE-20 COMMAND
5892 ;
5893 ; VERSION: 01-01
5894 ;
5895 ; AUTHOR: R. BELANGER
5896 ;
5897 ; DATE: 7603.30
5898 ;
5899 ; THIS MODULE CONTAINS:
5900 ;
5901 ; 1) EXAMINE DTE-20 COMMAND CODE
EXDTE -- EXAMINE DTE-20 COMMAND MACRO M1108 13-JAN-78 09:14 PAGE 172
.EXDTE -- THE "EXAMINE DTE-20" COMMAND 7603.20
5903 .SBTTL .EXDTE -- THE "EXAMINE DTE-20" COMMAND 7603.20
5904
5905 ;+
5906 ; .EXDTE -- THE "EXAMINE DTE-20" COMMAND.
5907 ;
5908 ; THIS ROUTINE WILL READ AND DISPLAY THE CONTENT OF THE DTE-20
5909 ; DIAG1, DIAG2, DIAG3, AND STATUS REGISTERS ON THE CONSOLE DEVICE.
5910 ;
5911 ; INPUT ARGUMENTS:
5912 ;
5913 ; NONE.
5914 ;
5915 ; OUTPUT ARGUMENTS:
5916 ;
5917 ; NONE.
5918 ;
5919 ; ERROR CODES RETURNED:
5920 ;
5921 ; NONE.
5922 ;-
5923
5924 007536 .EXDTE::
5925 007536 CALL .CKEOC ; CHECK E-O-C
007536 004737 002010' JSR PC,.CKEOC
5926 007542 012701 007634' MOV #EXDTET,R1 ; TABLE POINTER TO R1
5927 007546 012702 000004 MOV #^D4,R2 ; ITERATION COUNT TO R2
5928 007552 10$:
5929 007552 CALL @(R1)+ ; READ THE REGISTER
007552 004731 JSR PC,@(R1)+
5930 007554 PUSH R0 ; <PUSH> SAVE IT
007554 010046 MOV R0,-(SP)
5931 007556 077203 SOB R2,10$ ; UNTIL ALL FOUR HAVE BEEN READ
5932 007560 012700 000755' MOV #EXDMS0,R0 ; MESSAGE POINTER TO R0
5933 007564 CALL .TYLIN ; PRINT IT
007564 004737 031420' JSR PC,.TYLIN
5934 007570 012702 000004 MOV #^D4,R2 ; ITERATION COUNT TO R2
5935
5936 ; [CONTINUED ON THE FOLLOWING PAGE]
EXDTE -- EXAMINE DTE-20 COMMAND MACRO M1108 13-JAN-78 09:14 PAGE 173
.EXDTE -- THE "EXAMINE DTE-20" COMMAND 7603.20
5938 ; [CONTINUED FROM THE PREVIOUS PAGE]
5939
5940 007574 20$:
5941 007574 CALL .TYSPC ; TYPE A <SPACE>
007574 004737 030644' JSR PC,.TYSPC
5942 007600 012100 MOV (R1)+,R0 ; MESSAGE POINTER TO R0
5943 007602 CALL .TYMSG ; TYPE IT
007602 004737 031434' JSR PC,.TYMSG
5944 007606 CALL .TYSLS ; AND A SLASH
007606 004737 030634' JSR PC,.TYSLS
5945 007612 CALL .TYSPC ; AND A <SPACE>
007612 004737 030644' JSR PC,.TYSPC
5946 007616 POP R0 ; <POP> GET THE REGISTER
007616 012600 MOV (SP)+,R0
5947 007620 CALL .TYELN ; PRINT IT
007620 004737 030676' JSR PC,.TYELN
5948 007624 CALL .TCRLF ; END THE LINE
007624 004737 031524' JSR PC,.TCRLF
5949 007630 077217 SOB R2,20$ ; LOOP TILL DONE
5950 007632 RETURN ; TO CALLER
007632 000207 RTS PC
5951
5952 007634 EXDTET:
5953 007634 004760' .WORD .DTSTA
5954 007636 004770' .WORD .DTDW3
5955 007640 004750' .WORD .DTDW2
5956 007642 004742' .WORD .DTDW1
5957 007644 000764' .WORD EXDMS1
5958 007646 000773' .WORD EXDMS2
5959 007650 001002' .WORD EXDMS3
5960 007652 001011' .WORD EXDMS4
5961
5962 000755 .PSECT MESSAG
5963
5964 000755 EXDMS0:
5965 000755 104 124 105 .ASCIZ %DTE-20%
000760 055 062 060
000763 000
5966 000764 EXDMS1:
5967 000764 104 111 101 .ASCIZ %DIAG 1%
000767 107 040 061
000772 000
5968 000773 EXDMS2:
5969 000773 104 111 101 .ASCIZ %DIAG 2%
000776 107 040 062
001001 000
5970 001002 EXDMS3:
5971 001002 104 111 101 .ASCIZ %DIAG 3%
001005 107 040 063
001010 000
5972 001011 EXDMS4:
5973 001011 123 124 101 .ASCIZ %STATUS%
001014 124 125 123
001017 000
5974
5975 007654 .PSECT
EXETB -- EXAMINE EXTENSION TABL MACRO M1108 13-JAN-78 09:14 PAGE 174
.EXDTE -- THE "EXAMINE DTE-20" COMMAND 7603.20
5977 .TITLE EXETB -- EXAMINE EXTENSION TABLE MODULE 7603.30
5978
5979 .IDENT "001010"
5980
5981 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
5982 ;
5983 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
5984 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
5985 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
5986 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
5987 ; FOR ITS ACCURACY.
5988 ;
5989 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
5990 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
5991 ;
5992 ;
5993 ; MODULE: EXAMINE EXTENSION TABLE
5994 ;
5995 ; VERSION: 01-01
5996 ;
5997 ; AUTHOR: R. BELANGER
5998 ;
5999 ; DATE: 7603.30
6000 ;
6001 ; THIS MODULE CONTAINS:
6002 ;
6003 ; 1) THE EXAMINE EXTENSION TABLE
EXETB -- EXAMINE EXTENSION TABL MACRO M1108 13-JAN-78 09:14 PAGE 175
.EXETB -- THE EXAMINE EXTENSION TABLE 7602.16
6005 .SBTTL .EXETB -- THE EXAMINE EXTENSION TABLE 7602.16
6006
6007 007654 .EXETB::
6008 007654 COMND$ DECREMENT,<LG.RPT!LG.OPR>,.EXAMD
001020 104 105 103 .ASCIZ %DECREMENT%
001023 122 105 115
001026 105 116 124
001031 000
007654 001020' .WORD $$CMDN ; POINTER TO "DECREMENT" SYMBOL
007656 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
007660 006420' .WORD .EXAMD ; ROUTINE TO CALL
6009 007662 COMND$ INCREMENT,<LG.RPT!LG.OPR>,.EXAMI
001032 111 116 103 .ASCIZ %INCREMENT%
001035 122 105 115
001040 105 116 124
001043 000
007662 001032' .WORD $$CMDN ; POINTER TO "INCREMENT" SYMBOL
007664 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
007666 006430' .WORD .EXAMI ; ROUTINE TO CALL
6010 007670 COMND$ NEXT,<LG.RPT!LG.OPR>,.EXAMN
001044 116 105 130 .ASCIZ %NEXT%
001047 124 000
007670 001044' .WORD $$CMDN ; POINTER TO "NEXT" SYMBOL
007672 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
007674 006440' .WORD .EXAMN ; ROUTINE TO CALL
6011 007676 COMND$ PREVIOUS,<LG.RPT!LG.OPR>,.EXAMP
001051 120 122 105 .ASCIZ %PREVIOUS%
001054 126 111 117
001057 125 123 000
007676 001051' .WORD $$CMDN ; POINTER TO "PREVIOUS" SYMBOL
007700 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
007702 006450' .WORD .EXAMP ; ROUTINE TO CALL
6012 007704 COMND$ THIS,<LG.RPT!LG.OPR>,.EXAMZ
001062 124 110 111 .ASCIZ %THIS%
001065 123 000
007704 001062' .WORD $$CMDN ; POINTER TO "THIS" SYMBOL
007706 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
007710 006460' .WORD .EXAMZ ; ROUTINE TO CALL
6013 007712 000000 .WORD 0 ; END OF TABLE MARKER
EXEWD -- EXAMINE ELEVEN EXTENSI MACRO M1108 13-JAN-78 09:14 PAGE 176
.EXETB -- THE EXAMINE EXTENSION TABLE 7602.16
6015 .TITLE EXEWD -- EXAMINE ELEVEN EXTENSION MODULE 7603.30
6016
6017 .IDENT "001010"
6018
6019 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
6020 ;
6021 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
6022 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
6023 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
6024 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
6025 ; FOR ITS ACCURACY.
6026 ;
6027 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
6028 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
6029 ;
6030 ;
6031 ; MODULE: EXAMINE ELEVEN EXTENSION
6032 ;
6033 ; VERSION: 01-01
6034 ;
6035 ; AUTHOR: R. BELANGER
6036 ;
6037 ; DATE: 7603.30
6038 ;
6039 ; THIS MODULE CONTAINS:
6040 ;
6041 ; 1) EXAMINE ELEVEN EXTENSION CODE
EXEWD -- EXAMINE ELEVEN EXTENSI MACRO M1108 13-JAN-78 09:14 PAGE 177
.EXEWD -- THE "EXAMINE <ELEVEN> <NUMERICAL OBJECT>" COMMAND 76
6043 .SBTTL .EXEWD -- THE "EXAMINE <ELEVEN> <NUMERICAL OBJECT>" COMMAND 7602.29
6044
6045 .ENABL LSB
6046
6047 007714 .EXEWT:: ; EXAMINE <ELEVEN> THIS
6048 007714 013700 000034' MOV .EDELA,R0 ; ADDRESS TO R0
6049 007720 000413 BR 10$ ; EXIT
6050 ;
6051 007722 .EXEWD:: ; EXAMINE <ELEVEN> DECREMENT
6052 007722 CALL .EDEWD ; DECREMENT IT
007722 004737 005326' JSR PC,.EDEWD
6053 007726 000410 BR 10$ ; EXIT THRU COMMON CODE
6054 ;
6055 007730 .EXEWI:: ; EXAMINE <ELEVEN> INCREMENT
6056 007730 CALL .EDEWI ; INCREMENT IT
007730 004737 005340' JSR PC,.EDEWI
6057 007734 000405 BR 10$ ; EXIT THRU COMMON CODE
6058 ;
6059 007736 .EXEWN:: ; EXAMINE <ELEVEN> NEXT
6060 007736 CALL .EDEWN ; GET THE NEXT ADDRESS
007736 004737 005340' JSR PC,.EDEWN
6061 007742 000402 BR 10$ ; EXIT THRU COMMON CODE
6062 ;
6063 007744 .EXEWP:: ; EXAMINE <ELEVEN> PREVIOUS
6064 007744 CALL .EDEWP ; GET THE PREVIOUS ADDRESS
007744 004737 005326' JSR PC,.EDEWP
6065 007750 10$:
6066 007750 CALLR .EXMEE ; DO THE EXAMINE
007750 000137 006516' JMP .EXMEE
6067 ;
6068
6069 .DSABL LSB
EXITP -- COMMAND PARSER EXIT MO MACRO M1108 13-JAN-78 09:14 PAGE 178
.EXEWD -- THE "EXAMINE <ELEVEN> <NUMERICAL OBJECT>" COMMAND 76
6071 .TITLE EXITP -- COMMAND PARSER EXIT MODULE 7605.17
6072
6073 .IDENT "001010"
6074
6075 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
6076 ;
6077 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
6078 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
6079 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
6080 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
6081 ; FOR ITS ACCURACY.
6082 ;
6083 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
6084 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
6085 ;
6086 ;
6087 ; MODULE: COMMAND PARSER EXIT
6088 ;
6089 ; VERSION: 01-01
6090 ;
6091 ; AUTHOR: R. BELANGER
6092 ;
6093 ; DATE: 7605.17
6094 ;
6095 ; THIS MODULE CONTAINS:
6096 ;
6097 ; 1) COMMAND PARSER EXIT CODE
6098
6099 .MCALL DIR$, EXIT$S, QIOW$S
EXITP -- COMMAND PARSER EXIT MO MACRO M1108 13-JAN-78 09:14 PAGE 179
.EXITP -- THE COMMAND PARSER EXIT POINT 7605.17
6101 .SBTTL .EXITP -- THE COMMAND PARSER EXIT POINT 7605.17
6102
6103 ;+
6104 ; .EXITP -- THE COMMAND PARSER EXIT POINT.
6105 ;
6106 ; THIS ROUTINE IS THE COMMAND PARSER EXIT POINT
6107 ;
6108 ; INPUT ARGUMENTS:
6109 ;
6110 ; NONE.
6111 ;
6112 ; OUTPUT ARGUMENTS:
6113 ;
6114 ; NONE.
6115 ;
6116 ; ERROR CODES RETURNED:
6117 ;
6118 ; NONE.
6119 ;-
6120
6121 007754 .EXITP::
6122 .IF NE FTDEBUG
6123 007754 005737 000016' TST .DBGSW ; LOOK AT THE DEBUG SWITCH
6124 007760 001401 BEQ 10$ ; CLEAR -- DON'T HALT
6125 007762 000000 HALT ; FOR DEBUGGING
6126 007764 10$:
6127 .ENDC ; FTDEBUG
6128 007764 QIOW$S #IO.DET,#CIDLUN,#E.FCID,#0,#0,#0
007764 005046 CLR -(SP)
007766 005046 CLR -(SP)
007770 112746 000002 MOVB #E.FCID,-(SP)
007774 112766 000000 000001 MOVB #0,1(SP)
010002 012746 000001 MOV #CIDLUN,-(SP)
010006 012746 000000G MOV #IO.DET,-(SP)
010012 012746 MOV (PC)+,-(SP)
010014 003 006 .BYTE 3,$$$T1
010016 104375 EMT 375
6129 010020 EXIT$S ; EXIT
010020 012746 MOV (PC)+,-(SP)
010022 063 001 .BYTE 51.,1
010024 104375 EMT 375
6130 010026 000004 IOT ; HELP....
6131 ;
EXKLD -- EXAMINE TEN EXTENSION MACRO M1108 13-JAN-78 09:14 PAGE 180
.EXITP -- THE COMMAND PARSER EXIT POINT 7605.17
6133 .TITLE EXKLD -- EXAMINE TEN EXTENSION MODULE 7609.10
6134
6135 .IDENT "001020"
6136
6137 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
6138 ;
6139 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
6140 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
6141 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
6142 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
6143 ; FOR ITS ACCURACY.
6144 ;
6145 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
6146 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
6147 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
6148 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
6149 ;
6150 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
6151 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
6152 ;
6153 ; MODULE: EXAMINE TEN EXTENSION
6154 ;
6155 ; VERSION: 01-02
6156 ;
6157 ; AUTHOR: R. BELANGER
6158 ;
6159 ; DATE: 7609.10
6160 ;
6161 ; THIS MODULE CONTAINS:
6162 ;
6163 ; 1) EXAMINE TEN EXTENSION CODE
EXKLD -- EXAMINE TEN EXTENSION MACRO M1108 13-JAN-78 09:14 PAGE 181
.EXKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7609.
6165 .SBTTL .EXKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7609.10
6166
6167 .ENABL LSB
6168
6169 010030 .EXKLT:: ; EXAMINE <TEN> THIS
6170 010030 012700 000036' MOV #.EDKLA,R0 ; ADDRESS POINTER TO R0
6171 010034 000413 BR 10$ ; EXIT
6172 ;
6173 010036 .EXKLD:: ; EXAMINE <TEN> DECREMENT
6174 010036 CALL .EDKLD ; DECREMENT IT
010036 004737 005376' JSR PC,.EDKLD
6175 010042 000410 BR 10$ ; EXIT THRU COMMON CODE
6176 ;
6177 010044 .EXKLI:: ; EXAMINE <TEN> INCREMENT
6178 010044 CALL .EDKLI ; INCREMENT IT
010044 004737 005414' JSR PC,.EDKLI
6179 010050 000405 BR 10$ ; EXIT THRU COMMON CODE
6180 ;
6181 010052 .EXKLN:: ; EXAMINE <TEN> NEXT
6182 010052 CALL .EDKLN ; GET NEXT ADDRESS
010052 004737 005364' JSR PC,.EDKLN
6183 010056 000402 BR 10$ ; EXIT THRU COMMON CODE
6184 ;
6185 010060 .EXKLP:: ; EXAMINE <TEN> PREVIOUS
6186 010060 CALL .EDKLP ; GET THE PREVIOUS ADDDRESS
010060 004737 005352' JSR PC,.EDKLP
6187 010064 10$:
6188 010064 CALLR .EXMTE ; DO THE EXAMINE
010064 000137 007026' JMP .EXMTE
6189 ;
6190
6191 .DSABL LSB
EXMPI -- THE "EXAMINE PI" COMMA MACRO M1108 13-JAN-78 09:14 PAGE 182
.EXKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7609.
6193 .TITLE EXMPI -- THE "EXAMINE PI" COMMAND MODULE 7603.30
6194
6195 .IDENT "001010"
6196
6197 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
6198 ;
6199 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
6200 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
6201 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
6202 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
6203 ; FOR ITS ACCURACY.
6204 ;
6205 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
6206 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
6207 ;
6208 ;
6209 ; MODULE: EXAMINE PI COMMAND
6210 ;
6211 ; VERSION: 01-01
6212 ;
6213 ; AUTHOR: R. BELANGER
6214 ;
6215 ; DATE: 7603.30
6216 ;
6217 ; THIS MODULE CONTAINS:
6218 ;
6219 ; 1)EXMAINE PI COMMAND CODE
EXMPI -- THE "EXAMINE PI" COMMA MACRO M1108 13-JAN-78 09:14 PAGE 183
.EXMPI -- THE "EXAMINE PI" COMMAND 7602.23
6221 .SBTTL .EXMPI -- THE "EXAMINE PI" COMMAND 7602.23
6222
6223 ;+
6224 ; .EXMPI -- THE "EXAMINE PI" COMMAND
6225 ;
6226 ; THIS ROUTINE READS THE STATE OF THE KL PI SYSTEM AND DISPLAYS IT
6227 ; ON THE CONSOLE DEVICE.
6228 ;
6229 ; INPUT ARGUMENTS:
6230 ;
6231 ; NONE.
6232 ;
6233 ; OUTPUT ARGUMENTS:
6234 ;
6235 ; NONE.
6236 ;
6237 ; ERROR CODES RETURNED:
6238 ;
6239 ; NONE.
6240 ;-
6241
6242 010070 .EXMPI::
6243 010070 CALL .CKEOC ; CHECK THE E-O-C CHARACTER
010070 004737 002010' JSR PC,.CKEOC
6244 010074 005002 CLR R2 ; CLEAR R2
6245 010076 CALL .STPKL ; STOP THE KL
010076 004737 026330' JSR PC,.STPKL
6246 010102 CALL .RDPI ; READ THE PI SYSTEM STATE
010102 004737 020320' JSR PC,.RDPI
6247 010106 CALL .RSTKL ; RESTART THE KL
010106 004737 022134' JSR PC,.RSTKL
6248 010112 010001 MOV R0,R1 ; DATA POINTER TO R1
6249 010114 012700 001067' MOV #EPMSG0,R0 ; MESSAGE POINTER TO R0
6250 010120 CALL .TYMSG ; PRINT IT
010120 004737 031434' JSR PC,.TYMSG
6251 010124 012700 001144' MOV #ONMSG,R0 ; "ON"
6252 010130 052102 BIS (R1)+,R2 ; PI ACTIVE + PI ON TO R2
6253 010132 032702 000200 BIT #200,R2 ; IS IT ON?
6254 010136 001002 BNE 10$ ; YES -- GO ON
6255 010140 012700 001147' MOV #OFFMSG,R0 ; NO -- SO SAY "OFF"
6256
6257 ; [CONTINUED ON THE FOLLOWING PAGE]
EXMPI -- THE "EXAMINE PI" COMMA MACRO M1108 13-JAN-78 09:14 PAGE 184
.EXMPI -- THE "EXAMINE PI" COMMAND 7602.23
6259 ; [CONTINUED FROM THE PREVIOUS PAGE]
6260
6261 010144 10$:
6262 010144 CALL .TYMSG ; PRINT IT
010144 004737 031434' JSR PC,.TYMSG
6263 010150 012700 001103' MOV #EPMSG1,R0 ; "PI ON"
6264 010154 CALL .TYMSG ; PRINT IT
010154 004737 031434' JSR PC,.TYMSG
6265 010160 010200 MOV R2,R0 ; GET ACTIVE BITS
6266 010162 042700 177600 BIC #^C177,R0 ; FLUSH JUNK
6267 010166 CALL .TYP3D ; PRINT THEM
010166 004737 030742' JSR PC,.TYP3D
6268 010172 012700 001115' MOV #EPMSG2,R0 ; "PI HOLD"
6269 010176 CALL .TYMSG ; PRINT IT
010176 004737 031434' JSR PC,.TYMSG
6270 010202 112100 MOVB (R1)+,R0 ; GET THE PI HOLD BITS
6271 010204 042700 177600 BIC #^C177,R0 ; FLUSH JUNK
6272 010210 CALL .TYP3D ; PRINT THEM
010210 004737 030742' JSR PC,.TYP3D
6273 010214 012700 001131' MOV #EPMSG3,R0 ; "PI GEN"
6274 010220 CALL .TYMSG ; PRINT IT
010220 004737 031434' JSR PC,.TYMSG
6275 010224 112100 MOVB (R1)+,R0 ; GET THE GEN BITS
6276 010226 042700 177600 BIC #^C177,R0 ; FLUSH JUNK
6277 010232 CALL .TYP3D ; PRINT THEM
010232 004737 030742' JSR PC,.TYP3D
6278 010236 CALLR .TCRLF ; END THE LINE AND RETURN
010236 000137 031524' JMP .TCRLF
6279 ;
6280 001067 .PSECT MESSAG
6281
6282 001067 EPMSG0:
6283 001067 120 111 040 .ASCIZ %PI ACTIVE: %
001072 101 103 124
001075 111 126 105
001100 072 040 000
6284 001103 EPMSG1:
6285 001103 054 040 120 .ASCIZ %, PI ON: %
001106 111 040 117
001111 116 072 040
001114 000
6286 001115 EPMSG2:
6287 001115 054 040 120 .ASCIZ %, PI HOLD: %
001120 111 040 110
001123 117 114 104
001126 072 040 000
6288 001131 EPMSG3:
6289 001131 054 040 120 .ASCIZ %, PI GEN: %
001134 111 040 107
001137 105 116 072
001142 040 000
6290 001144 ONMSG:
6291 001144 117 116 000 .ASCIZ %ON%
6292 001147 OFFMSG:
6293 001147 117 106 106 .ASCIZ %OFF%
001152 000
6294 010242 .PSECT
EXMTB -- EXAMINE COMMAND TABLE MACRO M1108 13-JAN-78 09:14 PAGE 185
.EXMPI -- THE "EXAMINE PI" COMMAND 7602.23
6296 .TITLE EXMTB -- EXAMINE COMMAND TABLE MODULE 7703.25
6297
6298 .IDENT "001020"
6299
6300 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
6301 ;
6302 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
6303 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
6304 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
6305 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
6306 ; FOR ITS ACCURACY.
6307 ;
6308 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
6309 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
6310 ;
6311 ;
6312 ; MODULE: EXAMINE COMMAND TABLE
6313 ;
6314 ; VERSION: 01-02
6315 ;
6316 ; AUTHOR: R. BELANGER
6317 ;
6318 ; DATE: 7703.25
6319 ;
6320 ; THIS MODULE CONTAINS:
6321 ;
6322 ; 1) THE EXAMINE COMMAND TABLE
EXMTB -- EXAMINE COMMAND TABLE MACRO M1108 13-JAN-78 09:14 PAGE 186
.EXMTB -- THE EXAMINE COMMAND TABLE 7703.25
6324 .SBTTL .EXMTB -- THE EXAMINE COMMAND TABLE 7703.25
6325
6326 010242 .EXMTB::
6327 010242 COMND$ AD,<LG.PRG!LG.RPT>,.EXAD
001153 101 104 000 .ASCIZ %AD%
010242 001153' .WORD $$CMDN ; POINTER TO "AD" SYMBOL
010244 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
010246 006156' .WORD .EXAD ; ROUTINE TO CALL
6328 010250 COMND$ ADX,<LG.PRG!LG.RPT>,.EXADX
001156 101 104 130 .ASCIZ %ADX%
001161 000
010250 001156' .WORD $$CMDN ; POINTER TO "ADX" SYMBOL
010252 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
010254 006164' .WORD .EXADX ; ROUTINE TO CALL
6329 010256 COMND$ AR,<LG.PRG!LG.RPT>,.EXARR
001162 101 122 000 .ASCIZ %AR%
010256 001162' .WORD $$CMDN ; POINTER TO "AR" SYMBOL
010260 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
010262 006172' .WORD .EXARR ; ROUTINE TO CALL
6330 010264 COMND$ ARX,<LG.PRG!LG.RPT>,.EXARX
001165 101 122 130 .ASCIZ %ARX%
001170 000
010264 001165' .WORD $$CMDN ; POINTER TO "ARX" SYMBOL
010266 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
010270 006200' .WORD .EXARX ; ROUTINE TO CALL
6331 010272 COMND$ BR,<LG.PRG!LG.RPT>,.EXBRR
001171 102 122 000 .ASCIZ %BR%
010272 001171' .WORD $$CMDN ; POINTER TO "BR" SYMBOL
010274 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
010276 006206' .WORD .EXBRR ; ROUTINE TO CALL
6332 010300 COMND$ BRX,<LG.PRG!LG.RPT>,.EXBRX
001174 102 122 130 .ASCIZ %BRX%
001177 000
010300 001174' .WORD $$CMDN ; POINTER TO "BRX" SYMBOL
010302 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
010304 006214' .WORD .EXBRX ; ROUTINE TO CALL
6333 010306 COMND$ EBUS,<LG.PRG!LG.RPT>,.EXEBS
001200 105 102 125 .ASCIZ %EBUS%
001203 123 000
010306 001200' .WORD $$CMDN ; POINTER TO "EBUS" SYMBOL
010310 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
010312 006222' .WORD .EXEBS ; ROUTINE TO CALL
6334 010314 COMND$ FM,<LG.PRG!LG.RPT>,.EXFMR
001205 106 115 000 .ASCIZ %FM%
010314 001205' .WORD $$CMDN ; POINTER TO "FM" SYMBOL
010316 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
010320 006230' .WORD .EXFMR ; ROUTINE TO CALL
6335 010322 COMND$ MQ,<LG.PRG!LG.RPT>,.EXMQR
001210 115 121 000 .ASCIZ %MQ%
010322 001210' .WORD $$CMDN ; POINTER TO "MQ" SYMBOL
010324 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
010326 006236' .WORD .EXMQR ; ROUTINE TO CALL
6336 010330 COMND$ PC,<LG.ALL!LG.RPT>,.EXVPC
001213 120 103 000 .ASCIZ %PC%
010330 001213' .WORD $$CMDN ; POINTER TO "PC" SYMBOL
010332 000407 .WORD LG.ALL!LG.RPT ; LEGAL BITS
010334 006266' .WORD .EXVPC ; ROUTINE TO CALL
EXMTB -- EXAMINE COMMAND TABLE MACRO M1108 13-JAN-78 09:14 PAGE 186-1
.EXMTB -- THE EXAMINE COMMAND TABLE 7703.25
6337 000012 EXRTBL==<.-.EXMTB>/6
6338 010336 COMND$ AB,<LG.PRG!LG.RPT>,.EXVAB
001216 101 102 000 .ASCIZ %AB%
010336 001216' .WORD $$CMDN ; POINTER TO "AB" SYMBOL
010340 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
010342 006244' .WORD .EXVAB ; ROUTINE TO CALL
6339 010344 COMND$ CRADDR,<LG.PRG!LG.RPT>,.EXCRA
001221 103 122 101 .ASCIZ %CRADDR%
001224 104 104 122
001227 000
010344 001221' .WORD $$CMDN ; POINTER TO "CRADDR" SYMBOL
010346 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
010350 007134' .WORD .EXCRA ; ROUTINE TO CALL
6340 010352 COMND$ CRLOC,<LG.PRG!LG.RPT>,.EXCRL
001230 103 122 114 .ASCIZ %CRLOC%
001233 117 103 000
010352 001230' .WORD $$CMDN ; POINTER TO "CRLOC" SYMBOL
010354 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
010356 007142' .WORD .EXCRL ; ROUTINE TO CALL
6341 010360 COMND$ DRADDR,<LG.PRG!LG.RPT>,.EXDRA
001236 104 122 101 .ASCIZ %DRADDR%
001241 104 104 122
001244 000
010360 001236' .WORD $$CMDN ; POINTER TO "DRADDR" SYMBOL
010362 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
010364 007150' .WORD .EXDRA ; ROUTINE TO CALL
6342 010366 COMND$ DTE-20,<LG.PRG!LG.RPT>,.EXDTE
001245 104 124 105 .ASCIZ %DTE-20%
001250 055 062 060
001253 000
010366 001245' .WORD $$CMDN ; POINTER TO "DTE-20" SYMBOL
010370 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
010372 007536' .WORD .EXDTE ; ROUTINE TO CALL
6343 010374 COMND$ ELEVEN,<LG.OPR!LG.RPT>,.EXMEL
001254 105 114 105 .ASCIZ %ELEVEN%
001257 126 105 116
001262 000
010374 001254' .WORD $$CMDN ; POINTER TO "ELEVEN" SYMBOL
010376 000401 .WORD LG.OPR!LG.RPT ; LEGAL BITS
010400 010564' .WORD .EXMEL ; ROUTINE TO CALL
6344 010402 COMND$ FE,<LG.PRG!LG.RPT>,.EXFER
001263 106 105 000 .ASCIZ %FE%
010402 001263' .WORD $$CMDN ; POINTER TO "FE" SYMBOL
010404 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
010406 007156' .WORD .EXFER ; ROUTINE TO CALL
6345 010410 COMND$ FLAGS,<LG.PRG!LG.RPT>,.EXAMF
001266 106 114 101 .ASCIZ %FLAGS%
001271 107 123 000
010410 001266' .WORD $$CMDN ; POINTER TO "FLAGS" SYMBOL
010412 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
010414 006614' .WORD .EXAMF ; ROUTINE TO CALL
6346 010416 COMND$ KL,<LG.ALL!LG.RPT>,.EXAMK
001274 113 114 000 .ASCIZ %KL%
010416 001274' .WORD $$CMDN ; POINTER TO "KL" SYMBOL
010420 000407 .WORD LG.ALL!LG.RPT ; LEGAL BITS
010422 006720' .WORD .EXAMK ; ROUTINE TO CALL
6347 010424 COMND$ PI,<LG.PRG!LG.RPT>,.EXMPI
EXMTB -- EXAMINE COMMAND TABLE MACRO M1108 13-JAN-78 09:14 PAGE 186-2
.EXMTB -- THE EXAMINE COMMAND TABLE 7703.25
001277 120 111 000 .ASCIZ %PI%
010424 001277' .WORD $$CMDN ; POINTER TO "PI" SYMBOL
010426 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
010430 010070' .WORD .EXMPI ; ROUTINE TO CALL
6348 010432 COMND$ REGSITERS,<LG.PRG!LG.RPT>,.EXREG
001302 122 105 107 .ASCIZ %REGSITERS%
001305 123 111 124
001310 105 122 123
001313 000
010432 001302' .WORD $$CMDN ; POINTER TO "REGSITERS" SYMBOL
010434 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
010436 010602' .WORD .EXREG ; ROUTINE TO CALL
6349 010440 COMND$ TEN,<LG.OPR!LG.RPT>,.EXMKL
001314 124 105 116 .ASCIZ %TEN%
001317 000
010440 001314' .WORD $$CMDN ; POINTER TO "TEN" SYMBOL
010442 000401 .WORD LG.OPR!LG.RPT ; LEGAL BITS
010444 010574' .WORD .EXMKL ; ROUTINE TO CALL
6350 010446 COMND$ VMA,<LG.PRG!LG.RPT>,.EXVMA
001320 126 115 101 .ASCIZ %VMA%
001323 000
010446 001320' .WORD $$CMDN ; POINTER TO "VMA" SYMBOL
010450 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
010452 006252' .WORD .EXVMA ; ROUTINE TO CALL
6351 010454 COMND$ VMAH,<LG.PRG!LG.RPT>,.EXVMH
001324 126 115 101 .ASCIZ %VMAH%
001327 110 000
010454 001324' .WORD $$CMDN ; POINTER TO "VMAH" SYMBOL
010456 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
010460 006260' .WORD .EXVMH ; ROUTINE TO CALL
6352 010462 COMND$ SBR,<LG.PRG!LG.RPT>,.EXSBR
001331 123 102 122 .ASCIZ %SBR%
001334 000
010462 001331' .WORD $$CMDN ; POINTER TO "SBR" SYMBOL
010464 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
010466 007164' .WORD .EXSBR ; ROUTINE TO CALL
6353 010470 COMND$ SC,<LG.PRG!LG.RPT>,.EXSCR
001335 123 103 000 .ASCIZ %SC%
010470 001335' .WORD $$CMDN ; POINTER TO "SC" SYMBOL
010472 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
010474 007172' .WORD .EXSCR ; ROUTINE TO CALL
6354 010476 COMND$ DECREMENT,<LG.RPT!LG.OPR>,.EXAMD
001340 104 105 103 .ASCIZ %DECREMENT%
001343 122 105 115
001346 105 116 124
001351 000
010476 001340' .WORD $$CMDN ; POINTER TO "DECREMENT" SYMBOL
010500 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
010502 006420' .WORD .EXAMD ; ROUTINE TO CALL
6355 010504 COMND$ INCREMENT,<LG.RPT!LG.OPR>,.EXAMI
001352 111 116 103 .ASCIZ %INCREMENT%
001355 122 105 115
001360 105 116 124
001363 000
010504 001352' .WORD $$CMDN ; POINTER TO "INCREMENT" SYMBOL
010506 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
010510 006430' .WORD .EXAMI ; ROUTINE TO CALL
EXMTB -- EXAMINE COMMAND TABLE MACRO M1108 13-JAN-78 09:14 PAGE 186-3
.EXMTB -- THE EXAMINE COMMAND TABLE 7703.25
6356 010512 COMND$ NEXT,<LG.RPT!LG.OPR>,.EXAMN
001364 116 105 130 .ASCIZ %NEXT%
001367 124 000
010512 001364' .WORD $$CMDN ; POINTER TO "NEXT" SYMBOL
010514 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
010516 006440' .WORD .EXAMN ; ROUTINE TO CALL
6357 010520 COMND$ PREVIOUS,<LG.RPT!LG.OPR>,.EXAMP
001371 120 122 105 .ASCIZ %PREVIOUS%
001374 126 111 117
001377 125 123 000
010520 001371' .WORD $$CMDN ; POINTER TO "PREVIOUS" SYMBOL
010522 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
010524 006450' .WORD .EXAMP ; ROUTINE TO CALL
6358 010526 COMND$ THIS,<LG.RPT!LG.OPR>,.EXAMZ
001402 124 110 111 .ASCIZ %THIS%
001405 123 000
010526 001402' .WORD $$CMDN ; POINTER TO "THIS" SYMBOL
010530 000401 .WORD LG.RPT!LG.OPR ; LEGAL BITS
010532 006460' .WORD .EXAMZ ; ROUTINE TO CALL
6359 010534 000000 .WORD 0 ; END OF TABLE MARKER
EXOBJ -- EXAMINE OBJECT DISPATC MACRO M1108 13-JAN-78 09:14 PAGE 187
.EXMTB -- THE EXAMINE COMMAND TABLE 7703.25
6361 .TITLE EXOBJ -- EXAMINE OBJECT DISPATCH MODULE 7603.30
6362
6363 .IDENT "001010"
6364
6365 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
6366 ;
6367 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
6368 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
6369 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
6370 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
6371 ; FOR ITS ACCURACY.
6372 ;
6373 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
6374 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
6375 ;
6376 ;
6377 ; MODULE: EXAMINE OBJECT DISPATCH
6378 ;
6379 ; VERSION: 01-01
6380 ;
6381 ; AUTHOR: R. BELANGER
6382 ;
6383 ; DATE: 7603.30
6384 ;
6385 ; THIS MODULE CONTAINS:
6386 ;
6387 ; 1) EXAMINE OBJECT DISPATCH CODE
EXOBJ -- EXAMINE OBJECT DISPATC MACRO M1108 13-JAN-78 09:14 PAGE 188
.EXOBJ -- THE "EXAMINE <OBJECT>" COMMAND DISPATCH 7602.16
6389 .SBTTL .EXOBJ -- THE "EXAMINE <OBJECT>" COMMAND DISPATCH 7602.16
6390
6391 ;+
6392 ; .EXOBJ -- THE "EXAMINE <OBJECT>" COMMAND DISPATCH.
6393 ;
6394 ; THIS ROUTINE IS THE DISPATCH FOR ALL OF THE "EXAMINE <OBJECT>" COMMANDS.
6395 ;
6396 ; INPUT ARGUMENTS:
6397 ;
6398 ; NONE.
6399 ;
6400 ; OUTPUT ARGUMENTS:
6401 ;
6402 ; NONE.
6403 ;
6404 ; ERROR CODES RETURNED:
6405 ;
6406 ; NSC -- NO SUCH COMMAND.
6407 ;-
6408
6409 010536 .EXOBJ::
6410 010536 012700 010242' MOV #.EXMTB,R0 ; EXAMINE TABLE POINTER TO R0
6411 010542 CALL .TSCAN ; SCAN THE TABLE
010542 004737 030176' JSR PC,.TSCAN
6412 010546 011001 MOV (R0),R1 ; LEGAL BITS TO R1
6413 010550 005101 COM R1 ; INVERT THEM
6414 010552 040137 000076' BIC R1,.LGLWD ; SET UP NEW LEGAL WORD
6415 010556 014002 MOV -(R0),R2 ; NAME POINTER TO R2
6416 010560 CALLR @4(R0) ; READ AND PRINT THE REGISTER
010560 000170 000004 JMP @4(R0)
6417 ;
6418 010564 .EXMEL::
6419 010564 012703 000002 MOV #^D2,R3 ; PDP-11 OFFSET TO R3
6420 010570 000137 006470' JMP .EXAME ; DO THE EXAMINE
6421 ;
6422 010574 .EXMKL::
6423 010574 005003 CLR R3 ; KL MEMORY OFFSET TO R3
6424 010576 000137 006774' JMP .EXAMT ; DO THE EXAMINE
6425 ;
EXREG -- EXAMINE REGISTERS COMM MACRO M1108 13-JAN-78 09:14 PAGE 189
.EXOBJ -- THE "EXAMINE <OBJECT>" COMMAND DISPATCH 7602.16
6427 .TITLE EXREG -- EXAMINE REGISTERS COMMAND MODULE 7603.30
6428
6429 .IDENT "001010"
6430
6431 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
6432 ;
6433 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
6434 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
6435 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
6436 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
6437 ; FOR ITS ACCURACY.
6438 ;
6439 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
6440 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
6441 ;
6442 ;
6443 ; MODULE: EXAMINE REGISTERS COMMAND
6444 ;
6445 ; VERSION: 01-01
6446 ;
6447 ; AUTHOR: R. BELANGER
6448 ;
6449 ; DATE: 7603.30
6450 ;
6451 ; THIS MODULE CONTAINS:
6452 ;
6453 ; 1) EXAMINE REGISTERS CODE
EXREG -- EXAMINE REGISTERS COMM MACRO M1108 13-JAN-78 09:14 PAGE 190
.EXREG -- THE "EXAMINE REGISTERS" COMMAND 7602.16
6455 .SBTTL .EXREG -- THE "EXAMINE REGISTERS" COMMAND 7602.16
6456
6457 010602 .EXREG::
6458 010602 CALL .CKEOC ; CHECK E-O-C
010602 004737 002010' JSR PC,.CKEOC
6459 010606 CALL .STPKL ; STOP THE KL
010606 004737 026330' JSR PC,.STPKL
6460 010612 012701 010242' MOV #.EXMTB,R1 ; TABLE POINTER TO R1
6461 010616 012703 000012 MOV #EXRTBL,R3 ; COUNT TO R3
6462 010622 10$:
6463 010622 012102 MOV (R1)+,R2 ; MESSAGE ADDRESS TO R2
6464 010624 PUSH R1 ; SAVE R1
010624 010146 MOV R1,-(SP)
6465 010626 CALL @2(R1) ; .READ AND PRINT THE REGISTER
010626 004771 000002 JSR PC,@2(R1)
6466 010632 POP R1 ; .RESTORE R1
010632 012601 MOV (SP)+,R1
6467 010634 022121 CMP (R1)+,(R1)+ ; ADVANCE THE POINTER
6468 010636 077307 SOB R3,10$ ; LOOP TILL COUNT EXHAUSTED
6469 010640 CALLR .RSTKL ; RESTART THE KL
010640 000137 022134' JMP .RSTKL
6470 ;
FREAD -- DIAGNOSTIC FUNCTION RE MACRO M1108 13-JAN-78 09:14 PAGE 191
.EXREG -- THE "EXAMINE REGISTERS" COMMAND 7602.16
6472 .TITLE FREAD -- DIAGNOSTIC FUNCTION READ MODULE 7609.15
6473
6474 .IDENT "001020"
6475
6476 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
6477 ;
6478 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
6479 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
6480 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
6481 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
6482 ; FOR ITS ACCURACY.
6483 ;
6484 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
6485 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
6486 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
6487 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
6488 ;
6489 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
6490 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
6491 ;
6492 ;
6493 ; MODULE: DIAGNOSTIC FUNCTION READ
6494 ;
6495 ; VERSION: 01-02
6496 ;
6497 ; AUTHOR: R. BELANGER
6498 ;
6499 ; DATE: 7609.15
6500 ;
6501 ; THIS MODULE CONTAINS:
6502 ;
6503 ; 1) DIAGNOSTIC FUNCTION READ CODE
6504 ; 2) DIAGNOSTIC FUNCTION READ DIRECTIVE PARAMETER BLOCK
6505
6506 .MCALL DIR$, $DEF, KLDR$
6507
6508 010644 $DEF
FREAD -- DIAGNOSTIC FUNCTION RE MACRO M1108 13-JAN-78 09:14 PAGE 192
.FREAD -- DIAGNOSTIC FUNCTION READ SUBROUTINE 7609.15
6510 .SBTTL .FREAD -- DIAGNOSTIC FUNCTION READ SUBROUTINE 7609.15
6511
6512 ;+
6513 ; .FREAD -- SUBROUTINE TO EXECUTE A DIAGNOSTIC FUNCTION READ.
6514 ;
6515 ; THESE SUBROUTINES EXECUTE A DIAGNOSTIC FUNCTION READ.
6516 ;
6517 ; SEQUENCE OF OPERATION:
6518 ;
6519 ; THE DFR IS EXECUTED AND DATA LOADED THRU R1 IF R1 .NE. 0,
6520 ; IF R1 IS .EQ. 0 THE DATA IS NOT MOVED FROM ".DFRB".
6521 ;
6522 ; INPUT ARGUMENTS:
6523 ;
6524 ; R0 HOLDS THE FUNCTION READ CODE
6525 ; R1 POINTS TO A DESTINATION BUFFER
6526 ;
6527 ; OUTPUT ARGUMENTS:
6528 ;
6529 ; R0 POINTS TO THE SUBROUTINE DATA BLOCK
6530 ; R1 POINTS TO THE CALLER'S READ BLOCK
6531 ;
6532 ; ERROR CODES RETURNED:
6533 ;
6534 ; FRF -- FUNCTION READ FAILED.
6535 ;-
FREAD -- DIAGNOSTIC FUNCTION RE MACRO M1108 13-JAN-78 09:14 PAGE 193
.FREAD -- DIAGNOSTIC FUNCTION READ SUBROUTINE 7609.15
6537 010644 .FREAD::
6538 010644 110037 010731' MOVB R0,.KLDFR+3 ; SET THE DFR# IN THE DPB
6539 010650 DIR$ #.KLDFR ; CALL THE EXEC TO DO THE READ
010650 012746 010726' MOV #.KLDFR,-(SP)
010654 104375 EMT 375
6540 010656 103420 BCS FRDFRF ; ERROR IF CC-C IS SET
6541 010660 012700 000222' MOV #.DFRB,R0 ; POINT TO TOP OF READ BLOCK
6542 010664 005701 TST R1 ; TEST R1
6543 010666 001405 BEQ 10$ ; EXIT IF R1 .EQ. 0
6544 010670 012021 MOV (R0)+,(R1)+ ; LOAD HIS BUFFER FROM OURS
6545 010672 012021 MOV (R0)+,(R1)+
6546 010674 011011 MOV (R0),(R1)
6547 010676 024040 CMP -(R0),-(R0) ; BACK THE POINTERS UP
6548 010700 024141 CMP -(R1),-(R1)
6549 010702 10$:
6550 .IF NE FTTRAK
6551 010702 032737 000002 000142' BIT #TR.FRD,.TRKWD ; ARE WE TRACKING FUNCTION READS?
6552 010710 001402 BEQ 20$ ; NO -- JUST EXIT
6553 010712 CALL .FRTRK ; YES -- DO IT
010712 004737 030036' JSR PC,.FRTRK
6554 010716 20$:
6555 .ENDC ; FTTRAK
6556 010716 RETURN ; TO CALLER
010716 000207 RTS PC
6557 010720 FRDFRF:
6558 010720 ERROR$ FRF ; ERROR -- FUNCTION READ FAILED
010720 012746 MOV (PC)+,-(SP) ; "FRF" IN RAD50 TO STACK
010722 024126 .RAD50 /FRF/ ; ERROR IDENTIFIER
010724 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
6559 ;
6560
6561 ; DPB FOR DIAGNOSTIC FUNCTION READ
6562
6563 ; !===============================================!
6564 ; 00 ! DPB SIZE ! DIC !
6565 ; !-----------------------------------------------!
6566 ; 02 ! DFR OPCODE ! DFR CODE !
6567 ; !-----------------------------------------------!
6568 ; 04 ! TRANSFER BUFFER ADDRESS !
6569 ; !-----------------------------------------------!
6570 ; 06 ! DIAGNOSTIC REGISTER BUFFER ADDRESS !
6571 ; !-----------------------------------------------!
6572 ; 10 ! DTE-20 NUMBER !
6573 ; !===============================================!
6574
6575 010726 .KLDFR::
6576 010726 KLDR$ .-.,.DFBLK,.DREG,0
010726 002411 .WORD 400*5.+DR.DTE
010730 012 000 .BYTE DF.KLR,.-./400
010732 000214' .WORD .DFBLK
010734 000230' .WORD .DREG
010736 000000 .WORD 0
6577 010736' FRDTEN==.-2
FWRIT -- DIAGNOSTIC FUNCTION WR MACRO M1108 13-JAN-78 09:14 PAGE 194
.FREAD -- DIAGNOSTIC FUNCTION READ SUBROUTINE 7609.15
6579 .TITLE FWRIT -- DIAGNOSTIC FUNCTION WRITE MODULE 7609.15
6580
6581 .IDENT "001020"
6582
6583 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
6584 ;
6585 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
6586 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
6587 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
6588 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
6589 ; FOR ITS ACCURACY.
6590 ;
6591 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
6592 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
6593 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
6594 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
6595 ;
6596 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
6597 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
6598 ;
6599 ;
6600 ; MODULE: DIAGNOSTIC FUNCTION WRITE
6601 ;
6602 ; VERSION: 01-02
6603 ;
6604 ; AUTHOR: R. BELANGER
6605 ;
6606 ; DATE: 7609.15
6607 ;
6608 ; THIS MODULE CONTAINS:
6609 ;
6610 ; 1) DIAGNOSTIC FUNCTION WRITE CODE
6611 ; 2) DIAGNOSTIC FUNCTION WRITE DIRECTIVE PARAMETER BLOCK
6612
6613 .MCALL DIR$, $DEF, KLDW$
6614
6615 010740 $DEF
FWRIT -- DIAGNOSTIC FUNCTION WR MACRO M1108 13-JAN-78 09:14 PAGE 195
.FWRIT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE 7609.15
6617 .SBTTL .FWRIT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE 7609.15
6618
6619 ;+
6620 ; .FWRIT -- SUBROUTINE TO EXECUTE A DIAGNOSTIC FUNCTION WRITE.
6621 ;
6622 ; THESE SUBROUTINES EXECUTE A DIAGNOSTIC FUNCTION WRITE.
6623 ;
6624 ; SEQUENCE OF OPERATION:
6625 ;
6626 ; .FWRIT:
6627 ;
6628 ; (A) THE DATA IS LOADED THRU R1 IF R1 .NE. 0,
6629 ; IF R1 IS .EQ. 0 THE DATA IS ASSUMED TO BE IN ".DFWB",
6630 ; (B) THE FUNCTION WRITE IS EXECUTED.
6631 ;
6632 ; INPUT ARGUMENTS:
6633 ;
6634 ; R0 HOLDS THE FUNCTION WRITE CODE
6635 ; R1 POINTS TO A SOURCE BUFFER
6636 ;
6637 ; OUTPUT ARGUMENTS:
6638 ;
6639 ; R0 POINTS TO THE SUBROUTINE DATA BLOCK
6640 ; R1 POINTS TO THE CALLER'S WRITE BLOCK
6641 ;
6642 ; ERROR CODES RETURNED:
6643 ;
6644 ; FWF -- FUNCTION WRITE FAILED.
6645 ;-
6646
6647 010740 .FWRIT::
6648 010740 110037 011065' MOVB R0,.KLDFW+3 ; SET THE DFW# IN THE DPB
6649 010744 012700 000214' MOV #.DFWB,R0 ; POINT TO TOP OF WRITE BLOCK
6650 010750 005701 TST R1 ; TEST R1
6651 010752 001405 BEQ 10$ ; ALREADY IN ".DFWB" IF R1 .EQ. 0
6652 010754 012120 MOV (R1)+,(R0)+ ; LOAD THE DATA BLOCK
6653 010756 012120 MOV (R1)+,(R0)+
6654 010760 011110 MOV (R1),(R0)
6655 010762 024040 CMP -(R0),-(R0) ; BACK THE POINTERS UP
6656 010764 024141 CMP -(R1),-(R1)
6657
6658
6659 ; [CONTINUED ON THE FOLLOWING PAGE]
FWRIT -- DIAGNOSTIC FUNCTION WR MACRO M1108 13-JAN-78 09:14 PAGE 196
.FWRIT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE 7609.15
6661 ; [CONTINUED FROM THE PREVIOUS PAGE]
6662
6663 010766 10$:
6664 010766 042760 177760 000004 BIC #177760,4(R0) ; FLUSH EXTRANEOUS BITS
6665 010774 DIR$ #.KLDFW ; CALL THE EXEC TO DO THE WRITE
010774 012746 011062' MOV #.KLDFW,-(SP)
011000 104375 EMT 375
6666 011002 103424 BCS FWRFWF ; ERROR IF CC-C IS SET
6667 011004 PUSH R0 ; SAVE THE BUFFER POINTER
011004 010046 MOV R0,-(SP)
6668 011006 113700 011065' MOVB .KLDFW+3,R0 ; .GET THE WRITE CODE
6669 011012 120027 000110 CMPB R0,#FW.044 ; .DID WE WRITE THE CLOCK BOARD?
6670 011016 002406 BLT 20$ ; .NO -- JUST EXIT
6671 011020 120027 000116 CMPB R0,#FW.047 ; .MAYBE -- DID WE REALLY?
6672 011024 003003 BGT 20$ ; .NO -- JUST EXIT
6673 011026 042737 100000 000000G BIC #KF.CLK,.KLFLG ; .YES -- TURN THE CLOCK BIT OFF
6674 011034 20$:
6675 .IF NE FTTRAK
6676 011034 032737 000004 000142' BIT #TR.FWR,.TRKWD ; .ARE WE TRACKING FUNCTION WRITES?
6677 011042 001402 BEQ 30$ ; .NO -- GO ON
6678 011044 CALL .FWTRK ; .YES -- LEAVE TRACKS ON CONSOLE
011044 004737 030056' JSR PC,.FWTRK
6679 011050 30$:
6680 .ENDC ; FTTRAK
6681 011050 POP R0 ; .RESTORE THE BUFFER POINTER
011050 012600 MOV (SP)+,R0
6682 011052 RETURN ; YES -- RETURN TO CALLER
011052 000207 RTS PC
6683
6684 011054 FWRFWF:
6685 011054 ERROR$ FWF ; ERROR -- FUNCTION WRITE FAILED
011054 012746 MOV (PC)+,-(SP) ; "FWF" IN RAD50 TO STACK
011056 024436 .RAD50 /FWF/ ; ERROR IDENTIFIER
011060 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
6686 ;
6687
6688 ; DPB FOR DIAGNOSTIC FUNCTION WRITE
6689
6690 ; !===============================================!
6691 ; 00 ! DPB SIZE ! DIC !
6692 ; !-----------------------------------------------!
6693 ; 02 ! DFW OPCODE ! DFW CODE !
6694 ; !-----------------------------------------------!
6695 ; 04 ! TRANSFER BUFFER ADDRESS !
6696 ; !-----------------------------------------------!
6697 ; 06 ! DIAGNOSTIC REGISTER BUFFER ADDRESS !
6698 ; !-----------------------------------------------!
6699 ; 10 ! DTE-20 NUMBER !
6700 ; !===============================================!
6701
6702 011062 .KLDFW::
6703 011062 KLDW$ .-.,.DFBLK,.DREG,0
011062 002411 .WORD 400*5.+DR.DTE
011064 013 000 .BYTE DF.KLW,.-./400
011066 000214' .WORD .DFBLK
011070 000230' .WORD .DREG
011072 000000 .WORD 0
FWRIT -- DIAGNOSTIC FUNCTION WR MACRO M1108 13-JAN-78 09:14 PAGE 196-1
.FWRIT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE 7609.15
6704 011072' FWDTEN==.-2
FXCT -- PARSER MODULE - DIAGNOS MACRO M1108 13-JAN-78 09:14 PAGE 197
.FWRIT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE 7609.15
6706 .TITLE FXCT -- PARSER MODULE - DIAGNOSTIC FUNCTION EXECUTE 7609.15
6707
6708 .IDENT "001020"
6709
6710 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
6711 ;
6712 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
6713 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
6714 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
6715 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
6716 ; FOR ITS ACCURACY.
6717 ;
6718 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
6719 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
6720 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
6721 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
6722 ;
6723 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
6724 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
6725 ;
6726 ;
6727 ; MODULE: DIAGNOSTIC FUNCTION EXECUTE
6728 ;
6729 ; VERSION: 01-02
6730 ;
6731 ; AUTHOR: R. BELANGER
6732 ;
6733 ; DATE: 7609.15
6734 ;
6735 ; THIS MODULE CONTAINS:
6736 ;
6737 ; 1) DIAGNOSTIC FUNCTION EXECUTE CODE
6738 ; 2) DIAGNOSTIC FUNCTION EXECUTE DIRECTIVE PARAMETER BLOCK
6739
6740 .MCALL DIR$, $DEF, KLDX$
6741
6742 011074 $DEF
FXCT -- PARSER MODULE - DIAGNOS MACRO M1108 13-JAN-78 09:14 PAGE 198
.FXCT -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE 7609.15
6744 .SBTTL .FXCT -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE 7609.15
6745 ;+
6746 ; .FXCT -- SUBROUTINE TO EXECUTE A DIAGNOSTIC FUNCTION EXECUTE.
6747 ;
6748 ; THESE SUBROUTINES EXECUTE A DIAGNOSTIC FUNCTION EXECUTE AND MAINTAIN
6749 ; THE STATE OF THE KL CLOCK ("KF.CLK") AND RUN FLOP ("KF.RUN") FLAGS
6750 ; IN THE KL STATE FLAG WORD, ".KLFLG".
6751 ;
6752 ; SEQUENCE OF OPERATION:
6753 ;
6754 ; THE DFX IS SIMPLY EXECUTED.
6755 ;
6756 ; INPUT ARGUMENTS:
6757 ;
6758 ; R0 CONTAINS THE FUNCTION EXECUTE CODE
6759 ;
6760 ; OUTPUT ARGUMENTS:
6761 ;
6762 ; NONE.
6763 ;
6764 ; ERROR CODES RETURNED:
6765 ;
6766 ; FXF -- FUNCTION EXECUTE FAILED.
6767 ;-
FXCT -- PARSER MODULE - DIAGNOS MACRO M1108 13-JAN-78 09:14 PAGE 199
.FXCT -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE 7609.15
6769 011074 .FXCT::
6770 011074 110037 011247' MOVB R0,.KLDFX+3 ; SET THE EXECUTE CODE IN THE DPB
6771 011100 DIR$ #.KLDFX ; CALL THE EXEC TO DO THE DFX
011100 012746 011244' MOV #.KLDFX,-(SP)
011104 104375 EMT 375
6772 011106 103453 BCS FXCFXF ; ERROR IF CC-C IS SET
6773 011110 113746 011247' MOVB .KLDFX+3,-(SP) ; PUT THE EXECUTE CODE ON THE STACK
6774 011114 012700 100000 MOV #KF.CLK,R0 ; .FLAG BIT TO R0
6775 011120 121627 000002 CMPB (SP),#FX.CST ; .IS DFX CODE .EQ. 1?
6776 011124 001411 BEQ 10$ ; .YES -- DO CLOCK STARTED STUFF
6777 011126 121627 000016 CMPB (SP),#FX.SMR ; .NO -- IS DFX CODE .GT. 7?
6778 011132 101014 BHI 20$ ; .YES -- LEAVE NOW
6779 011134 030037 000000G BIT R0,.KLFLG ; .NO -- IS THE FLAG OFF ALREADY?
6780 011140 001426 BEQ 40$ ; .YES -- LEAVE NOW
6781 011142 040037 000000G BIC R0,.KLFLG ; .NO -- TURN IF OFF
6782 011146 000423 BR 40$ ; .AND GO AWAY
6783 ;
6784 011150 10$:
6785 011150 030037 000000G BIT R0,.KLFLG ; .IS THE FLAG ON ALREADY?
6786 011154 001020 BNE 40$ ; .YES -- LEAVE NOW
6787 011156 050037 000000G BIS R0,.KLFLG ; .NO -- LIGHT IT UP
6788 011162 000415 BR 40$ ; .AND EXIT
6789 ;
6790 011164 20$:
6791 011164 012700 040000 MOV #KF.RUN,R0 ; .DO RUN FLAG STUFF
6792 011170 121627 000022 CMPB (SP),#FX.SRF ; .SET THE RUN FLOP?
6793 011174 001003 BNE 30$ ; .NO -- GO ON
6794 011176 050037 000000G BIS R0,.KLFLG ; .YES -- SET THE FLAG
6795 011202 000405 BR 40$ ; .AND GO AWAY
6796 ;
6797 011204 30$:
6798 011204 121627 000020 CMPB (SP),#FX.CRF ; .CLEAR RUN FLOP?
6799 011210 001002 BNE 40$ ; .NO -- JUST GO AWAY
6800 011212 040037 000000G BIC R0,.KLFLG ; .YES -- CLEAR THE FLAG
6801
6802 ; [CONTINUED ON THE FOLLOWING PAGE]
FXCT -- PARSER MODULE - DIAGNOS MACRO M1108 13-JAN-78 09:14 PAGE 200
.FXCT -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE 7609.15
6804 ; [CONTINUED FROM THE PREVIOUS PAGE]
6805
6806 011216 40$:
6807 .IF NE FTTRAK
6808 011216 032737 000001 000142' BIT #TR.FXC,.TRKWD ; .ARE WE TRACKING FUNCTION EXECUTES?
6809 011224 001402 BEQ 50$ ; .NO -- JUST EXIT
6810 011226 CALL .FXTRK ; .YES -- DO IT
011226 004737 030076' JSR PC,.FXTRK
6811 011232 50$:
6812 .ENDC ; FTTRAK
6813 011232 POP R0 ; .RESTORE R0
011232 012600 MOV (SP)+,R0
6814 011234 RETURN ; TO CALLER
011234 000207 RTS PC
6815 011236 FXCFXF:
6816 011236 ERROR$ FXF ; FUNCTION EXECUTE FAILED
011236 012746 MOV (PC)+,-(SP) ; "FXF" IN RAD50 TO STACK
011240 024506 .RAD50 /FXF/ ; ERROR IDENTIFIER
011242 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
6817 ;
6818
6819 ; DIRECTIVE PARAMETER BLOCK DIAGNOSTIC FUNCTION EXECUTE
6820
6821 ; !===============================================!
6822 ; 00 ! DPB SIZE ! DIC !
6823 ; !-----------------------------------------------!
6824 ; 02 ! DFX OPCODE ! DFX CODE !
6825 ; !-----------------------------------------------!
6826 ; 04 ! TRANSFER BUFFER ADDRESS !
6827 ; !-----------------------------------------------!
6828 ; 06 ! DIAGNOSTIC REGISTER BUFFER ADDRESS !
6829 ; !-----------------------------------------------!
6830 ; 10 ! DTE-20 NUMBER !
6831 ; !===============================================!
6832
6833
6834 011244 .KLDFX::
6835 011244 KLDX$ .-.,.DFBLK,.DREG,0
011244 002411 .WORD 400*5.+DR.DTE
011246 014 000 .BYTE DF.KLX,.-./400
011250 000214' .WORD .DFBLK
011252 000230' .WORD .DREG
011254 000000 .WORD 0
6836 011254' FXDTEN==.-2
GTCMD -- COMMAND LINE INPUT MOD MACRO M1108 13-JAN-78 09:14 PAGE 201
.FXCT -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE 7609.15
6838 .TITLE GTCMD -- COMMAND LINE INPUT MODULE 7603.30
6839
6840 .IDENT "001010"
6841
6842 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
6843 ;
6844 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
6845 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
6846 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
6847 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
6848 ; FOR ITS ACCURACY.
6849 ;
6850 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
6851 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
6852 ;
6853 ;
6854 ; MODULE: COMMAND LINE INPUT
6855 ;
6856 ; VERSION: 01-01
6857 ;
6858 ; AUTHOR: R. BELANGER
6859 ;
6860 ; DATE: 7603.30
6861 ;
6862 ; THIS MODULE CONTAINS:
6863 ;
6864 ; 1) COMMAND LINE INPUT CODE
GTCMD -- COMMAND LINE INPUT MOD MACRO M1108 13-JAN-78 09:14 PAGE 202
.GTCMD -- SUBROUTINE TO GET A COMMAND LINE 7601.22
6866 .SBTTL .GTCMD -- SUBROUTINE TO GET A COMMAND LINE 7601.22
6867
6868 ;+
6869 ; .GTCMD -- SUBROUTINE TO GET A COMMAND LINE FROM THE CONSOLE INPUT
6870 ; BUFFER.
6871 ;
6872 ; THIS SUBROUTINE WILL GET A COMMAND LINE FROM THE CONSOLE INPUT DEVICE
6873 ; BUFFER AND PLACE IT INTO THE COMMAND BUFFER.
6874 ;
6875 ; INPUT ARGUMENTS:
6876 ;
6877 ; R5 POINTS TO THE DESTINATION BUFFER.
6878 ;
6879 ; OUTPUT ARGUMENTS:
6880 ;
6881 ; R5 POINTS TO THE BEGINNING OF THE COMMAND BUFFER
6882 ; ".INCHC" HAS THE COUNT OF THE CHARACTERS IN THE COMMAND BUFFER
6883 ; THE LAST CHARACTER IN THE COMMAND BUFFER IS A "<NULL>".
6884 ;
6885 ; ERROR CODES RETURNED:
6886 ;
6887 ; IF THE CONSOLE INPUT FAILS, THE PARSER WILL EXIT.
6888 ;
6889 ; CBO -- COMMAND BUFFER OVERFLOW.
6890 ; ILC -- ILLEGAL CHARACTER.
6891 ;-
6892
6893 011256 .GTCMD::
6894 011256 010501 MOV R5,R1 ; COMMAND BUFFER POINTER TO R1
6895 011260 10$:
6896 011260 PUSH R1 ; SAVE R1 ON THE STACK
011260 010146 MOV R1,-(SP)
6897 011262 CALL .GTLIN ; .GO GET THE COMMAND LINE
011262 004737 011776' JSR PC,.GTLIN
6898 011266 022601 CMP (SP)+,R1 ; .DID THE POINTER CHANGE?
6899 011270 001407 BEQ 20$ ; NO -- JUST EXIT
6900 011272 122741 000055 CMPB #'-,-(R1) ; YES -- WAS LAST CHARACTER LINE CONTINUATION?
6901 011276 001004 BNE 20$ ; NO -- EXIT
6902 011300 111100 MOVB (R1),R0 ; YES -- PROMPT FOR CONTINUATION
6903 011302 CALL .TFCHR ; FORCE PRINT THE PROMPT
011302 004737 031456' JSR PC,.TFCHR
6904 011306 000764 BR 10$ ; AND GO GET THE REST OF THE LINE
6905 ;
6906 011310 20$:
6907 011310 RETURN ; TO CALLER
011310 000207 RTS PC
GTDAT -- DATE INPUT SUBROUTINE MACRO M1108 13-JAN-78 09:14 PAGE 203
.GTCMD -- SUBROUTINE TO GET A COMMAND LINE 7601.22
6909 .TITLE GTDAT -- DATE INPUT SUBROUTINE 7707.12
6910
6911 .IDENT "003060"
6912
6913 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
6914 ;
6915 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
6916 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
6917 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
6918 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
6919 ; FOR ITS ACCURACY.
6920 ;
6921 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
6922 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
6923 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
6924 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
6925 ;
6926 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
6927 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
6928 ;
6929 ;
6930 ; MODULE: DATE INPUT SUBROUTINE
6931 ;
6932 ; VERSION: 03-06
6933 ;
6934 ; AUTHOR: R. BELANGER
6935 ;
6936 ; DATE: 7707.12
6937 ;
6938 ; THIS MODULE CONTAINS:
6939 ;
6940 ; 1) DATE INPUT SUBROUTINE
GTDAT -- DATE INPUT SUBROUTINE MACRO M1108 13-JAN-78 09:14 PAGE 204
.GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15
6942 .SBTTL .GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15
6943
6944 ;+
6945 ; .GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE
6946 ;
6947 ; THIS SUBROUTINE WILL EVALUATE A PREVIOUSLY INPUT ASCII STRING OF THE
6948 ; FORM "DD-MMM-YYYY" AND RETURN THE VALUE OF THE YEAR, MONTH AND DAY
6949 ; IN A THREE BYTE BLOCK.
6950 ;
6951 ; INPUT ARGUMENTS:
6952 ;
6953 ; R0 POINTS TO A THREE BYTE DATA BLOCK
6954 ; R5 POINTS TO THE INPUT STREAM
6955 ;
6956 ; OUTPUT ARGUMENTS:
6957 ;
6958 ; R0 POINTS TO THE THREE BYTE DATA BLOCK
6959 ;
6960 ; ERROR CODES RETURNED:
6961 ;
6962 ; DBT -- DATE BEFORE TODAY
6963 ; DOR -- DATE OUT OF RANGE
6964 ; IDF -- ILLEGAL DATE FORMAT
6965 ; YOR -- YEAR OUT OF RANGE
6966 ;-
6967
6968 .MCALL DIR$, GTIM$S
6969
6970 011312 .GTDAT::
6971 011312 013737 000066' 000120' MOV .IRADX,.RDXSV ; SAVE THE CURRENT RADIX
6972 011320 012737 000012 000066' MOV #^D10,.IRADX ; SET THE RADIX TO DECIMAL
6973 011326 PUSH <R5,R2,R1,R0> ; SAVE CALLER'S POINTER
011326 010546 MOV R5,-(SP)
011330 010246 MOV R2,-(SP)
011332 010146 MOV R1,-(SP)
011334 010046 MOV R0,-(SP)
6974 011336 012701 011756' MOV #.DTBUF,R1 ; ....TIME BUFFER POINTER TO R1
6975 011342 GTIM$S R1 ; ....READ CURRENT DATE AND TIME
011342 010146 MOV R1,-(SP)
011344 012746 MOV (PC)+,-(SP)
011346 073 002 .BYTE 59.,2
011350 104375 EMT 375
6976 011352 112120 MOVB (R1)+,(R0)+ ; ....SET DEFAULT YEAR
6977 011354 105721 TSTB (R1)+ ; ....ADVANCE POINTER
6978 011356 112120 MOVB (R1)+,(R0)+ ; ....SET DEFAULT MONTH
6979 011360 105721 TSTB (R1)+ ; ....ADVANCE POINTER
6980 011362 111120 MOVB (R1),(R0)+ ; ....SET DEFAULT DAY
6981 011364 010002 MOV R0,R2 ; ....SAVE POINTER TO CALLER'S BUFFER
6982
6983 ; [CONTINUED ON THE FOLLOWING PAGE]
GTDAT -- DATE INPUT SUBROUTINE MACRO M1108 13-JAN-78 09:14 PAGE 205
.GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15
6985 ; [CONTINUED FROM THE PREVIOUS PAGE]
6986
6987 011366 012701 000240' MOV #.CIBFR,R1 ; ....BUFFER POINTER TO R1
6988 011372 010105 MOV R1,R5 ; ....AND R5
6989 011374 012700 001407' MOV #GTDMS0,R0 ; ....PROMPT FOR DATE
6990 011400 CALL .TYMSF ; ....FORCE IT OUT
011400 004737 031426' JSR PC,.TYMSF
6991 011404 CALL .GTLIN ; ....READ THE RESPONSE
011404 004737 011776' JSR PC,.GTLIN
6992 011410 001467 BEQ 35$ ; ....DEFAULT IF NULL
6993 011412 CALL .CKARG ; ....SEE WHAT KIND OF ARGUMENT FOLLOWS
011412 004737 001712' JSR PC,.CKARG
6994 011416 001551 BEQ GTDIDF ; ....ILLEGAL IF ALPHABETIC
6995 011420 PUSH R5 ; ....SAVE THE BUFFER POINTER
011420 010546 MOV R5,-(SP)
6996 011422 10$:
6997 011422 111504 MOVB (R5),R4 ; .....LOOK AT ONE CHARACTER
6998 011424 001407 BEQ 20$ ; .....DONE IF NULL
6999 011426 122704 000055 CMPB #'-,R4 ; .....IS IT A <HYPHEN>?
7000 011432 001002 BNE 15$ ; .....NO -- GO ON
7001 011434 112715 000040 MOVB #.SPACE,(R5) ; .....YES -- MAKE IT A <SPACE>
7002 011440 15$:
7003 011440 105725 TSTB (R5)+ ; .....ADVANCE THE POINTER
7004 011442 000767 BR 10$ ; .....AND LOOK FOR MORE
7005 ;
7006
7007 ; [CONTINUED ON THE FOLLOWING PAGE]
GTDAT -- DATE INPUT SUBROUTINE MACRO M1108 13-JAN-78 09:14 PAGE 206
.GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15
7009 ; [CONTINUED FROM THE PREVIOUS PAGE]
7010
7011 011444 20$:
7012 011444 POP R5 ; .....RESTORE THE POINTER
011444 012605 MOV (SP)+,R5
7013 011446 005046 CLR -(SP) ; ....CLEAR A BUFFER ON THE STACK
7014 011450 005046 CLR -(SP) ; .....
7015 011452 005046 CLR -(SP) ; ......
7016 011454 010600 MOV SP,R0 ; .......POINT TO THE BUFFER
7017 011456 CALL .GTNBR ; .......READ THE DAY
011456 004737 013234' JSR PC,.GTNBR
7018 011462 111042 MOVB (R0),-(R2) ; .......AND SET IT
7019 011464 PUSH R0 ; .......SAVE THE POINTER
011464 010046 MOV R0,-(SP)
7020 011466 CALL .CKARG ; .......SEE IF ALPHABETIC FOLLOWS
011466 004737 001712' JSR PC,.CKARG
7021 011472 002523 BLT GTDIDF ; .......NUMERIC -- GIVE "IDF" ERROR
7022 011474 012700 015644' MOV #.MONTB,R0 ; ........MONTH TABLE POINTER TO R0
7023 011500 CALL .TSCAN ; ........SCAN FOR THE MONTH
011500 004737 030176' JSR PC,.TSCAN
7024 011504 116042 000002 MOVB 2(R0),-(R2) ; ........STASH THE MONTH AWAY
7025 011510 POP R0 ; ........RESTORE THE BUFFER POINTER
011510 012600 MOV (SP)+,R0
7026 011512 112504 MOVB (R5)+,R4 ; .......GET THE LAST CHARACTER
7027 011514 132764 000010 001360' BITB #CH.EOC,.CHTAB(R4)
7028 011522 001020 BNE 30$ ; .......EXIT IF E-O-C
7029 011524 CALL .TPCLR ; .......RESET THE BUFFER
011524 004737 027234' JSR PC,.TPCLR
7030 011530 CALL .CKARG ; .......SEE IF NUMERIC FOLLOWS
011530 004737 001712' JSR PC,.CKARG
7031 011534 001502 BEQ GTDIDF ; .......GIVE "IDF" ERROR IF NOT
7032 011536 CALL .GTNBR ; .......READ THE YEAR
011536 004737 013234' JSR PC,.GTNBR
7033 011542 022710 003554 CMP #^D1900,(R0) ; .......DID HE SAY 19XX?
7034 011546 003003 BGT 25$ ; .......NO -- GO ON
7035 011550 162710 003554 SUB #^D1900,(R0) ; .......YES -- FIX IT UP
7036 011554 002475 BLT GTDYOR ; .......+++001 ERROR -- YOR
7037 011556 25$:
7038 011556 111042 MOVB (R0),-(R2) ; .......SET THE YEAR - 1900
7039 011560 CALL .CKEOC ; .......MUST HAVE E-O-C
011560 004737 002010' JSR PC,.CKEOC
7040 011564 30$:
7041 011564 062706 000006 ADD #^D6,SP ; .......RESET THE STACK
7042
7043 ; [CONTINUED ON THE FOLLOWING PAGE]
7044 ; [CONTINUED FROM THE PREVIOUS PAGE]
7045
7046 011570 35$:
7047 011570 011600 MOV (SP),R0 ; ....RESTORE CALLER'S POINTER
7048 011572 116002 000001 MOVB 1(R0),R2 ; ....MONTH TO R2
7049 011576 012701 172452 MOV #^C5325,R1 ; ....BIT MASK TO R1
7050 011602 122702 000002 CMPB #^D2,R2 ; ....IS THIS FEBRUARY?
7051 011606 001411 BEQ 45$ ; ....YES -- DO SPECIAL CKECKS
7052 011610 126027 000002 000037 CMPB 2(R0),#^D31 ; ....NO -- HOW MANY DAYS?
7053 011616 003046 BGT GTDDOR ; .... +++001 GIVE "DOR" ERROR IF .GT. ^D31
7054 011620 002414 BLT 50$ ; ....ALL OK IF .LT. ^D31
7055 011622 40$:
GTDAT -- DATE INPUT SUBROUTINE MACRO M1108 13-JAN-78 09:14 PAGE 206-1
.GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15
7056 011622 006201 ASR R1 ; ....SHIFT THE BIT MASK
7057 011624 077202 SOB R2,40$ ; ....BY THE MONTH
7058 011626 103011 BCC 50$ ; ....ALL OK IF CC-C IS CLEAR
7059 011630 000441 BR GTDDOR ; .... +++001 OTHERWISE GIVE "DOR" ERROR
7060 ;
7061 011632 45$:
7062 011632 126027 000002 000035 CMPB 2(R0),#^D29 ; ....HATH FEBRUARY 29 DAYS?
7063 011640 003035 BGT GTDDOR ; .... +++001 NEVER MORE -- GIVE "DOR" ERROR
7064 011642 002403 BLT 50$ ; ....ALWAYS LESS -- EXIT
7065 011644 132710 000003 BITB #3,(R0) ; ....IS THIS A LEAP YEAR?
7066 011650 001031 BNE GTDDOR ; .... +++001 NO -- GIVE "DOR" ERROR
7067 011652 50$:
7068 011652 012701 011756' MOV #.DTBUF,R1 ; ....POINT TO THE DATE BUFFER
7069 011656 122021 CMPB (R0)+,(R1)+ ; ....SEE IF YEAR IS OK
7070 011660 002422 BLT GTDDBT ; .... +++001 NO -- GIVE "DBT" ERROR
7071 011662 003007 BGT 55$ ; .... +++001 YES -- BEYOND THIS YEAR??
7072 011664 105721 TSTB (R1)+ ; ....NO -- ADVANCE THE POINTER
7073 011666 122021 CMPB (R0)+,(R1)+ ; ....IS THE MONTH OK?
7074 011670 002416 BLT GTDDBT ; .... +++001 NO -- GIVE "DBT" ERROR
7075 011672 003003 BGT 55$ ; .... +++001 YES -- BEYOND THIS YEAR??
7076 011674 105721 TSTB (R1)+ ; ....NO -- ADVANCE THE POINTER
7077 011676 121011 CMPB (R0),(R1) ; ....IS THE DAY OK?
7078 011700 002412 BLT GTDDBT ; .... +++001 NO -- GIVE "DBT" ERROR
7079 011702 55$:
7080 011702 POP <R0,R1,R2,R5> ; ....YES -- RESTORE REGISTERS
011702 012600 MOV (SP)+,R0
011704 012601 MOV (SP)+,R1
011706 012602 MOV (SP)+,R2
011710 012605 MOV (SP)+,R5
7081 011712 013737 000120' 000066' MOV .RDXSV,.IRADX ; RESET THE RADIX
7082 011720 005737 000064' TST .INCHC ; LOOK AT THE CHARACTER COUNT
7083 011724 RETURN ; EXIT
011724 000207 RTS PC
GTDAT -- DATE INPUT SUBROUTINE MACRO M1108 13-JAN-78 09:14 PAGE 207
.GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15
7085 011726 GTDDBT: ; +++001
7086 011726 ERROR$ DBT ; ERROR -- DATE BEFORE TODAY
011726 012746 MOV (PC)+,-(SP) ; "DBT" IN RAD50 TO STACK
011730 014544 .RAD50 /DBT/ ; ERROR IDENTIFIER
011732 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
7087 ;
7088 011734 GTDDOR: ; +++001
7089 011734 ERROR$ DOR ; ERROR -- DATE OUT OF RANGE
011734 012746 MOV (PC)+,-(SP) ; "DOR" IN RAD50 TO STACK
011736 015552 .RAD50 /DOR/ ; ERROR IDENTIFIER
011740 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
7090 ;
7091 011742 GTDIDF:
7092 011742 ERROR$ IDF ; ERROR -- ILLEGAL DATE FORMAT
011742 012746 MOV (PC)+,-(SP) ; "IDF" IN RAD50 TO STACK
011744 034346 .RAD50 /IDF/ ; ERROR IDENTIFIER
011746 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
7093 ;
7094 011750 GTDYOR: ; +++001
7095 011750 ERROR$ YOR ; ERROR -- YEAR OUT OF RANGE
011750 012746 MOV (PC)+,-(SP) ; "YOR" IN RAD50 TO STACK
011752 117252 .RAD50 /YOR/ ; ERROR IDENTIFIER
011754 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
7096 ;
7097 011756 .DTBUF::
7098 011756 000000 000000 000000 .WORD 0,0,0,0,0,0,0,0
011764 000000 000000 000000
011772 000000 000000
7099
7100 001407 .PSECT MESSAG
7101
7102 001407 GTDMS0:
7103 001407 104 101 124 .ASCIZ %DATE: %
001412 105 072 040
001415 000
7104
7105 011776 .PSECT
7106
GTLIN -- COMMAND LINE INPUT MOD MACRO M1108 13-JAN-78 09:14 PAGE 208
.GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15
7108 .TITLE GTLIN -- COMMAND LINE INPUT MODULE 7707.12
7109
7110 .IDENT "003060"
7111
7112 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
7113 ;
7114 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
7115 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
7116 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
7117 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
7118 ; FOR ITS ACCURACY.
7119 ;
7120 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
7121 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
7122 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
7123 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
7124 ;
7125 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
7126 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
7127 ;
7128 ;
7129 ; MODULE: COMMAND LINE INPUT
7130 ;
7131 ; VERSION: 03-06
7132 ;
7133 ; AUTHOR: R. BELANGER
7134 ;
7135 ; DATE: 7707.12
7136 ;
7137 ; THIS MODULE CONTAINS:
7138 ;
7139 ; 1) COMMAND LINE INPUT CODE
GTLIN -- COMMAND LINE INPUT MOD MACRO M1108 13-JAN-78 09:14 PAGE 209
.GTLIN -- SUBROUTINE TO INPUT A LINE FROM THE CONSOLE 7601.22
7141 .SBTTL .GTLIN -- SUBROUTINE TO INPUT A LINE FROM THE CONSOLE 7601.22
7142
7143 ;+
7144 ; .GTLIN -- SUBROUTINE TO GET AN INPUT LINE FROM THE CONSOLE
7145 ;
7146 ; THIS SUBROUTINE WILL GET A LINE OF INPUT FROM THE CONSOLE DEVICE
7147 ; AND PERFORM THE FOLLOWING CHARACTER CONVERSIONS:
7148 ;
7149 ; (A) LOWER CASE CHARACTERS ARE CONVERTED TO UPPER CASE
7150 ; (B) "<TAB>" IS CONVERTED TO "<SPACE>"
7151 ;
7152 ; INPUT ARGUMENTS:
7153 ;
7154 ; R1 POINTS TO THE BEGINNING OF THE DESTINATION BUFFER
7155 ;
7156 ; OUTPUT ARGUMENTS:
7157 ;
7158 ; R1 POINTS TO THE END OF THE DESTINATION BUFFER
7159 ;
7160 ; ERROR CODES RETURNED:
7161 ;
7162 ; IF THE CONSOLE INPUT FAILS, THE PARSER WILL EXIT.
7163 ;
7164 ; CBO -- COMMAND BUFFER OVERFLOW.
7165 ; ILC -- ILLEGAL CHARACTER.
7166 ;-
7167
7168 .MCALL DIR$, QIOW$
7169
7170 011776 .GTLIN::
7171 011776 PUSH <R0,R3,R4> ; SAVE SOME REGISTERS
011776 010046 MOV R0,-(SP)
012000 010346 MOV R3,-(SP)
012002 010446 MOV R4,-(SP)
7172 012004 012700 000240' MOV #.CIBFR,R0 ; ...INPUT BUFFER POINTER TO R0
7173 012010 005037 000064' CLR .INCHC ; ...CLEAR THE CHARACTER COUNTER
7174 012014 10$:
7175 012014 DIR$ #.CDINP ; ...READ THE LINE INTO INPUT BUFFER
012014 012746 012156' MOV #.CDINP,-(SP)
012020 104375 EMT 375
7176 012022 103445 BCS 70$ ; ...GIVE CONSOLE INPUT FAILED ERROR
7177 012024 105737 000004' TSTB .CISTS ; ...TEST THE STATUS BYTE
7178 012030 002442 BLT 70$ ; ...GIVE CONSOLE INPUT FAILED ERROR
7179 012032 CALL .TCRLF ; ...ACKNOWLEDGE THE LINE
012032 004737 031524' JSR PC,.TCRLF
7180 012036 013703 000006' MOV .CISTS+2,R3 ; ...INPUT BYTE COUNT TO R3
7181 012042 001415 BEQ 40$ ; ...NULL LINE IF .EQ. 0
7182 012044 20$:
7183 012044 112004 MOVB (R0)+,R4 ; ...GET THE CHARACTER INTO R4
7184 012046 001440 BEQ GTLILC ; ...ILLEGAL IF <NULL>
7185 012050 105764 001360' TSTB .CHTAB(R4) ; ...SEE IF IT IS A LEGAL CHARACTER
7186 012054 002417 BLT 50$ ; ...NO -- SEE IF IT IS REALLY ILLEGAL
7187
7188 ; [CONTINUED ON THE FOLLOWING PAGE]
GTLIN -- COMMAND LINE INPUT MOD MACRO M1108 13-JAN-78 09:14 PAGE 210
.GTLIN -- SUBROUTINE TO INPUT A LINE FROM THE CONSOLE 7601.22
7190 ; [CONTINUED FROM THE PREVIOUS PAGE]
7191
7192 012056 30$:
7193 012056 110421 MOVB R4,(R1)+ ; ...PUT IT INTO THE OUTPUT BUFFER
7194 012060 005237 000064' INC .INCHC ; ...INCREMENT THE CHARACTER COUNT
7195 012064 023727 000064' 000430 CMP .INCHC,#.CMNDL ; ...HAVE WE OVERFLOWED?
7196 012072 003023 BGT GTLCBO ; ...YES -- GIVE ERROR
7197 012074 077315 SOB R3,20$ ; ...NO -- LOOP TILL DONE THIS LINE
7198 012076 40$:
7199 012076 105011 CLRB (R1) ; ...MARK THE END OF LINE
7200 012100 POP <R4,R3,R0> ; ...RESTORE THE REGISTERS
012100 012604 MOV (SP)+,R4
012102 012603 MOV (SP)+,R3
012104 012600 MOV (SP)+,R0
7201 012106 005737 000064' TST .INCHC ; TEST THE INPUT BYTE COUNT
7202 012112 RETURN ; TO CALLER
012112 000207 RTS PC
7203 012114 50$: ; ...HERE TO CHECK ILLEGAL CHARACTERS
7204 012114 122704 000041 CMPB #'!,R4 ; ...WAS IT A COMMENT?
7205 012120 001766 BEQ 40$ ; ...YES -- JUST EXIT
7206 012122 122704 000011 CMPB #11,R4 ; ...NO -- WAS IT A <TAB>?
7207 .IF NE FTLCVT
7208 BNE 60$ ; ...NO -- CONTINUE PROCESSING
7209 .IFF
7210 012126 001010 BNE GTLILC ; ...NO -- GIVE "ILC" ERROR
7211 .IFTF
7212 012130 112704 000040 MOVB #.SPACE,R4 ; ...YES -- MAKE IT A <SPACE>
7213 012134 000750 BR 30$ ; ...AND PUT IT IN THE BUFFER
7214 ;
7215 .IFT
7216 60$:
7217 CMP #141,R4 ; ...IS IT LOWER CASE?
7218 BLT GTLILC ; ...NO -- GIVE ERROR
7219 CMP #173,R4 ; ...IS IT REALLY LOWER CASE?
7220 BGT GTLILC ; ...NO -- GIVE ERROR
7221 BIC #40,R4 ; ...YES -- MAKE IT UPPER CASE
7222 BR 30$ ; ...AND PUT IT IN THE BUFFER
7223 ;
7224 .ENDC ; FTLCVT
7225 012136 70$:
7226 012136 CALLR .EXITP ; EXIT GRACEFULLY
012136 000137 007754' JMP .EXITP
7227 ;
7228 012142 GTLCBO:
7229 012142 ERROR$ CBO ; ERROR -- COMMAND BUFFER OVERFLOW
012142 012746 MOV (PC)+,-(SP) ; "CBO" IN RAD50 TO STACK
012144 011437 .RAD50 /CBO/ ; ERROR IDENTIFIER
012146 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
7230 ;
7231 012150 GTLILC:
7232 012150 ERROR$ ILC ; ERROR -- ILLEGAL CHARACTER
012150 012746 MOV (PC)+,-(SP) ; "ILC" IN RAD50 TO STACK
012152 035043 .RAD50 /ILC/ ; ERROR IDENTIFIER
012154 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
7233 ;
GTLIN -- COMMAND LINE INPUT MOD MACRO M1108 13-JAN-78 09:14 PAGE 211
.GTLIN -- SUBROUTINE TO INPUT A LINE FROM THE CONSOLE 7601.22
7235 ; THIS IS THE CONSOLE INPUT DPB
7236
7237 012156 .CDINP::
7238 012156 QIOW$ IO.RLB,CIDLUN,E.FCID,0,.CISTS,0,<.CIBFR,.CIBFL>
012156 003 010 .BYTE 3,$$$ARG
012160 000000G .WORD IO.RLB
012162 000001 .WORD CIDLUN
012164 002 000 .BYTE E.FCID,0
012166 000004' .WORD .CISTS
012170 000000 .WORD 0
012172 000240' .WORD .CIBFR
012174 000214 .WORD .CIBFL
7239
7240 012172' .CDIBP=.CDINP+Q.IOPL ; CONSOLE INPUT BYTE POINTER
7241 012174' .CDIBC=.CDINP+Q.BYCT ; CONSOLE INPUT BYTE COUNT
GTNUM -- GENERAL NUMERIC INPUT MACRO M1108 13-JAN-78 09:14 PAGE 212
.GTLIN -- SUBROUTINE TO INPUT A LINE FROM THE CONSOLE 7601.22
7243 .TITLE GTNUM -- GENERAL NUMERIC INPUT MODULE 7711.01
7244
7245 .IDENT "001020"
7246
7247 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
7248 ;
7249 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
7250 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
7251 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
7252 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
7253 ; FOR ITS ACCURACY.
7254 ;
7255 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
7256 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
7257 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
7258 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
7259 ;
7260 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
7261 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
7262 ;
7263 ;
7264 ; MODULE: GENERAL NUMERIC INPUT
7265 ;
7266 ; VERSION: 01-02
7267 ;
7268 ; AUTHOR: R. BELANGER
7269 ;
7270 ; DATE: 7611.01
7271 ;
7272 ; THIS MODULE CONTAINS:
7273 ;
7274 ; 1) GENERAL NUMERIC INPUT CODE
GTNUM -- GENERAL NUMERIC INPUT MACRO M1108 13-JAN-78 09:14 PAGE 213
.ELNCK -- TEST FOR A LEGAL PDP-11 NUMBER 7611.01
7276 .SBTTL .ELNCK -- TEST FOR A LEGAL PDP-11 NUMBER 7611.01
7277
7278 ;+
7279 ; .ELNCK -- SUBROUTINE TO TEST FOR A LEGAL PDP-11 NUMBER
7280 ;
7281 ; THIS SUBROUTINE WILL TEST A NUMBER TO SEE IF IT IS A LEGAL PDP-11
7282 ; NUMBER. THIS IS REQUIRED BECAUSE THE NUMERIC INPUT ROUTINES HANDLE
7283 ; ONLY 36 BIT NUMBERS.
7284 ;
7285 ; INPUT ARGUMENTS:
7286 ;
7287 ; R0 POINTS TO THE PDP-11 NUMBER TO BE TESTED
7288 ;
7289 ; OUTPUT ARGUMENTS:
7290 ;
7291 ; R0 POINTS TO THE PDP-11 NUMBER
7292 ;
7293 ; ERROR CODES RETURNED:
7294 ;
7295 ; NOR -- INPUT NUMBER OUT OF RANGE.
7296 ;-
7297
7298 012176 .ELNCK::
7299 012176 032760 000010 000004 BIT #10,4(R0) ; IS THIS A NEGATIVE NUMBER?
7300 012204 001411 BEQ 10$ ; NO -- POSITIVE
7301 012206 022760 177777 000004 CMP #-^D1,4(R0) ; YES -- ARE ALL THE BITS ON?
7302 012214 001014 BNE ELNNOR ; NO -- GIVE "NOR" ERROR
7303 012216 022760 177777 000002 CMP #-^D1,2(R0) ; YES -- HOW ABOUT THE SECOND WORD?
7304 012224 001010 BNE ELNNOR ; NO -- GIVE "NOR" ERROR
7305 012226 000406 BR 20$ ; YES -- ALL OK, EXIT
7306 ;
7307 012230 10$:
7308 012230 005760 000004 TST 4(R0) ; SEE IF HIGH WORD IS .EQ. ZERO
7309 012234 001004 BNE ELNNOR ; NO -- GIVE "NOR" ERROR
7310 012236 005760 000002 TST 2(R0) ; IS SECOND WORD .EQ. ZERO?
7311 012242 001001 BNE ELNNOR ; NO -- GIVE "NOR" ERROR
7312 012244 20$:
7313 012244 RETURN ; TO CALLER
012244 000207 RTS PC
7314 012246 ELNNOR:
7315 012246 000137 013360' JMP GTNNOR ; GIVE "NOR" ERROR
7316 ;
GTNUM -- GENERAL NUMERIC INPUT MACRO M1108 13-JAN-78 09:14 PAGE 214
.GTELN -- SUBROUTINE TO GET A PDP-11 NUMBER 7602.05
7318 .SBTTL .GTELN -- SUBROUTINE TO GET A PDP-11 NUMBER 7602.05
7319
7320 ;+
7321 ; .GTELN -- SUBROUTINE TO GET A PDP-11 NUMBER
7322 ;
7323 ; THIS SUBROUTINE WILL RETURN A PDP-11 NUMBER IN R0.
7324 ;
7325 ; INPUT ARGUMENTS:
7326 ;
7327 ; NONE.
7328 ;
7329 ; OUTPUT ARGUMENTS:
7330 ;
7331 ; R0 HOLDS THE PDP-11 NUMBER.
7332 ;
7333 ; ERROR CODES RETURNED:
7334 ;
7335 ; NOR -- INPUT NUMBER OUT OF RANGE.
7336 ;-
7337
7338 012252 .GTELN::
7339 012252 005046 CLR -(SP) ; CLEAR A BUFFER ON THE STACK
7340 012254 005046 CLR -(SP) ; .
7341 012256 005046 CLR -(SP) ; ..
7342 012260 010600 MOV SP,R0 ; ...
7343 012262 CALL .GTNUM ; ...GET A NUMBER
012262 004737 012334' JSR PC,.GTNUM
7344 012266 CALL .ELNCK ; ...SEE IF IS REALLY A PDP-11 NUMBER
012266 004737 012176' JSR PC,.ELNCK
7345 012272 011000 MOV (R0),R0 ; ...PUT THE NUMBER IN R0
7346 012274 062706 000006 ADD #^D6,SP ; ...RESET THE STACK
7347 012300 RETURN ; TO CALLER
012300 000207 RTS PC
GTNUM -- GENERAL NUMERIC INPUT MACRO M1108 13-JAN-78 09:14 PAGE 215
.GTKLA -- SUBROUTINE TO GET A 22 BIT KL ADDRESS 7602.05
7349 .SBTTL .GTKLA -- SUBROUTINE TO GET A 22 BIT KL ADDRESS 7602.05
7350
7351 ;+
7352 ; .GTKLA -- SUBROUTINE TO GET A 22 BIT KL ADDRESS.
7353 ;
7354 ; THIS SUBROUTINE WILL READ AND RETURN A 36 BIT NUMBER AS A 22 BIT
7355 ; ADDRESS IN THE BUFFER POINTED TO BY R0 IN THE CALL.
7356 ;
7357 ; INPUT ARGUMENTS:
7358 ;
7359 ; R0 POINTS TO A THREE WORD BUFFER
7360 ;
7361 ; OUTPUT ARGUMENTS:
7362 ;
7363 ; R0 POINTS TO THE 22 BIT KL ADDRESS
7364 ;
7365 ; ERROR CODES RETURNED:
7366 ;
7367 ; KLA -- KL ADDRESS ERROR.
7368 ; NOR -- NUMBER OUT OF RANGE
7369 ;-
7370
7371 012302 .GTKLA::
7372 012302 CALL .GTNUM ; GET A NUMBER
012302 004737 012334' JSR PC,.GTNUM
7373 012306 005760 000004 TST 4(R0) ; CHECK FOR A LEGAL ADDRESS
7374 012312 001005 BNE GTKKLA ; BAD NEWS -- OUT OF RANGE
7375 012314 032760 177600 000002 BIT #^C177,2(R0) ; LOOK AT SECOND WORD
7376 012322 001001 BNE GTKKLA ; SAME HERE -- OUT OF RANGE
7377 012324 RETURN ; TO CALLER
012324 000207 RTS PC
7378 012326 GTKKLA:
7379 012326 ERROR$ KLA ; ERROR -- KL ADDRESS ERROR
012326 012746 MOV (PC)+,-(SP) ; "KLA" IN RAD50 TO STACK
012330 043241 .RAD50 /KLA/ ; ERROR IDENTIFIER
012332 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
7380 ;
GTNUM -- GENERAL NUMERIC INPUT MACRO M1108 13-JAN-78 09:14 PAGE 216
.GTNUM -- SUBROUTINE TO EVALUATE A NUMERIC EXPRESSION 7608.09
7382 .SBTTL .GTNUM -- SUBROUTINE TO EVALUATE A NUMERIC EXPRESSION 7608.09
7383
7384 ;+
7385 ; .GTNUM -- SUBROUTINE TO EVALUATE A NUMERIC EXPRESSION
7386 ; .GTKLN -- ".GTNUM" BY ANOTHER NAME
7387 ;
7388 ; THIS SUBROUTINE WILL READ AND CONVERT A NUMERIC EXPRESSION FROM
7389 ; THE INPUT STREAM AND RETURN A POINTER TO THE NUMBER IN R0
7390 ;
7391 ; INPUT ARGUMENTS:
7392 ;
7393 ; R0 POINTS TO THE DESTINATION OF THE NUMBER
7394 ; R5 POINTS TO THE INPUT STREAM
7395 ;
7396 ; OUTPUT ARGUMENTS:
7397 ;
7398 ; R0 POINTS TO THE NUMBER
7399 ; R5 POINTS TO THE FIRST CHARACTER AFTER THE NUMBER
7400 ;
7401 ; ERROR CODES RETURNED:
7402 ;
7403 ; ILC -- ILLEGAL CHARACTER.
7404 ; NOR -- NUMBER OUT OF RANGE.
7405 ;-
7406
7407 012334 .GTNUM::
7408 012334 .GTKLN::
7409 012334 PUSH R1 ; SAVE R1
012334 010146 MOV R1,-(SP)
7410 012336 CALL .CKSYM ; .GET OVER LEADING BLANKS
012336 004737 002112' JSR PC,.CKSYM
7411 012342 122715 000077 CMPB #'?,(R5) ; .IS THIS AN INQUIRY?
7412 012346 001466 BEQ GTNNER ; .YES -- SAY SO
7413 012350 CALL .TPCLR ; .NO -- CLEAR CALLER'S NUMBER
012350 004737 027234' JSR PC,.TPCLR
7414 012354 CALL .GTEXP ; .READ THIS EXPRESSION
012354 004737 012532' JSR PC,.GTEXP
7415 012360 122715 000040 CMPB #.SPACE,(R5) ; .IS THE TERMINATOR A <SPACE>?
7416 012364 001053 BNE 30$ ; .NO -- JUST EXIT
7417 012366 CALL .CKARG ; .YES -- SEE IF NUMERIC ARGUMENT FOLLOWS
012366 004737 001712' JSR PC,.CKARG
7418 012372 001454 BEQ GTNNER ; .NOT NUMERIC -- GIVE "NER" ERROR
7419 012374 CALL .TPTST ; .NUMERIC -- SEE IF PREVIOUS IS NEGATIVE
012374 004737 027340' JSR PC,.TPTST
7420 012400 002407 BLT 10$ ; .NEGATIVE -- DON'T DO RANGE CHECK
7421 012402 032760 177774 000002 BIT #^C3,2(R0) ; .IS THE NUMBER IN RANGE?
7422 012410 001043 BNE GTNORE ; .NO -- GIVE "NOR" ERROR
7423 012412 005760 000004 TST 4(R0) ; .IS IT REALLY IN RANGE?
7424 012416 001040 BNE GTNORE ; .NO -- GIVE "NOR" ERROR
7425
7426 ; [CONTINUED ON THE FOLLOWING PAGE]
GTNUM -- GENERAL NUMERIC INPUT MACRO M1108 13-JAN-78 09:14 PAGE 217
.GTNUM -- SUBROUTINE TO EVALUATE A NUMERIC EXPRESSION 7608.09
7428 ; [CONTINUED FROM THE PREVIOUS PAGE]
7429
7430 012420 10$:
7431 012420 012701 000022 MOV #^D18,R1 ; .SHIFT COUNT TO R1
7432 012424 CALL .TPSHI ; .SHIFT IT
012424 004737 027636' JSR PC,.TPSHI
7433 012430 010001 MOV R0,R1 ; .SAVE THE POINTER TO THE CURRENT NUMBER
7434 012432 005046 CLR -(SP) ; .CLEAR A NEW BUFFER
7435 012434 005046 CLR -(SP) ; ..
7436 012436 005046 CLR -(SP) ; ...
7437 012440 010600 MOV SP,R0 ; ....POINT TO THE BUFFER
7438 012442 PUSH R1 ; ....SAVE THE OLD POINTER
012442 010146 MOV R1,-(SP)
7439 012444 CALL .GTEXP ; .....READ THE NEW EXPRESSION
012444 004737 012532' JSR PC,.GTEXP
7440 012450 CALL .CKEOS ; .....MUST HAVE E-O-S AT THIS POINT
012450 004737 002052' JSR PC,.CKEOS
7441 012454 CALL .TPTST ; .....SEE IF THIS NUMBER IS NEGATIVE
012454 004737 027340' JSR PC,.TPTST
7442 012460 003005 BGT 20$ ; .....YES -- GO ON
7443 012462 005060 000004 CLR 4(R0) ; .....YES -- FIX IT UP
7444 012466 042760 177774 000002 BIC #^C3,2(R0) ; .....SO
7445 012474 20$:
7446 012474 POP R1 ; .....GET THE POINTER TO THE FIRST PART
012474 012601 MOV (SP)+,R1
7447 012476 052021 BIS (R0)+,(R1)+ ; ....ASSEMBLE THE NEW NUMBER
7448 012500 052021 BIS (R0)+,(R1)+ ; ....FROM BOTH HALVES
7449 012502 051011 BIS (R0),(R1) ; ....SO
7450 012504 062706 000006 ADD #^D6,SP ; ....RESET THE STACK
7451 012510 024141 CMP -(R1),-(R1) ; .BACK THE POINTER UP
7452 012512 010100 MOV R1,R0 ; .PUT IT IN R0
7453 012514 30$:
7454 012514 POP R1 ; .RESTORE R1
012514 012601 MOV (SP)+,R1
7455 012516 RETURN ; TO CALLER
012516 000207 RTS PC
7456 012520 GTNORE:
7457 012520 000137 013360' JMP GTNNOR ; GIVE "NOR" ERROR
7458 ;
7459 012524 GTNNER:
7460 012524 ERROR$ NER ; ERROR -- NUMERIC EXPRESSION REQUIRED
012524 012746 MOV (PC)+,-(SP) ; "NER" IN RAD50 TO STACK
012526 054132 .RAD50 /NER/ ; ERROR IDENTIFIER
012530 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
7461 ;
GTNUM -- GENERAL NUMERIC INPUT MACRO M1108 13-JAN-78 09:14 PAGE 218
.GTEXP -- EXPRESSION EVALUATOR FOR ".GTNUM" 7603.03
7463 .SBTTL .GTEXP -- EXPRESSION EVALUATOR FOR ".GTNUM" 7603.03
7464
7465 ;+
7466 ; .GTEXP -- EXPRESSION EVALUATOR FOR ".GTNUM"
7467 ;
7468 ; THIS ROUTINE EVALUATES NUMERIC EXPRESSIONS FOR ".GTNUM".
7469 ;
7470 ; DEFINITION OF AN EXPRESSION:
7471 ;
7472 ; EXP=TERM+TERM!TERM-TERM!TERM+TERM+....!TERM-TERM-....!TERM
7473 ;
7474 ; INPUT ARGUMENTS:
7475 ;
7476 ; R0 POINTS TO A THREE WORD BUFFER
7477 ;
7478 ; OUTPUT ARGUMENTS:
7479 ;
7480 ; R0 POINTS TO THE EVALUATED EXPRESSION
7481 ;
7482 ; ERROR CODES RETURNED:
7483 ;
7484 ; NONE.
7485 ;-
7486
7487 012532 .GTEXP::
7488 012532 CALL .GTTRM ; GET THE NEXT TERM
012532 004737 012626' JSR PC,.GTTRM
7489 012536 10$:
7490 012536 122715 000053 CMPB #'+,(R5) ; DID HE SAY ADD?
7491 012542 001404 BEQ 20$ ; YES -- GO DO THE ADDITION
7492 012544 122715 000055 CMPB #'-,(R5) ; NO -- DID HE SAY SUBTRACT?
7493 012550 001404 BEQ 30$ ; YES -- GO DO THE SUBTRACTION
7494 012552 RETURN ; NO -- JUST RETURN
012552 000207 RTS PC
7495
7496 ; [CONTINUED ON THE FOLLOWING PAGE]
GTNUM -- GENERAL NUMERIC INPUT MACRO M1108 13-JAN-78 09:14 PAGE 219
.GTEXP -- EXPRESSION EVALUATOR FOR ".GTNUM" 7603.03
7498 ; [CONTINUED FROM THE PREVIOUS PAGE]
7499
7500 012554 20$:
7501 012554 012702 027362' MOV #.TPADD,R2 ; DISPATCH ADDRESS TO R2
7502 012560 000402 BR 40$ ; TO COMMON ROUTINE
7503 ;
7504 012562 30$:
7505 012562 012702 027426' MOV #.TPSUB,R2 ; DISPATCH ADDRESS TO R2
7506 012566 40$:
7507 012566 112504 MOVB (R5)+,R4 ; GET OVER THE OPERATOR CHARACTER
7508 012570 005046 CLR -(SP) ; CLEAR A BUFFER ON THE STACK
7509 012572 005046 CLR -(SP) ; .
7510 012574 005046 CLR -(SP) ; ..
7511 012576 010601 MOV SP,R1 ; ...SCRATCH POINTER TO R1
7512 012600 PUSH R2 ; ...SAVE THE DISPATCH ADDRESS
012600 010246 MOV R2,-(SP)
7513 012602 PUSH R0 ; ....AND PREVIOUS POINTER
012602 010046 MOV R0,-(SP)
7514 012604 010100 MOV R1,R0 ; .....CURRENT POINTER TO R0
7515 012606 CALL .GTTRM ; .....GET THE NEXT TERM
012606 004737 012626' JSR PC,.GTTRM
7516 012612 010001 MOV R0,R1 ; .....CURRENT POINTER TO R1
7517 012614 POP R0 ; .....RESTORE PREVIOUS POINTER
012614 012600 MOV (SP)+,R0
7518 012616 CALL @(SP)+ ; ....DO THE ADDITION OR SUBTRACTION
012616 004736 JSR PC,@(SP)+
7519 012620 062706 000006 ADD #^D6,SP ; ...RESET THE STACK
7520 012624 000744 BR 10$ ; AND SEE IF THERE IS MORE
7521 ;
GTNUM -- GENERAL NUMERIC INPUT MACRO M1108 13-JAN-78 09:14 PAGE 220
.GTTRM -- TERM EVALUATOR FOR ".GTNUM" 7603.03
7523 .SBTTL .GTTRM -- TERM EVALUATOR FOR ".GTNUM" 7603.03
7524
7525 ;+
7526 ; .GTTRM -- TERM EVALUATOR FOR ".GTNUM"
7527 ;
7528 ; THIS ROUTINE EVALUATES NUMERIC TERMS FOR ".GTNUM".
7529 ;
7530 ; DEFINITION OF A TERM:
7531 ;
7532 ; TERM=FACTOR*FACTOR!FACTOR/FACTOR!FACTOR*FACTOR*....!FACTOR/FACTOR/....!FACTOR
7533 ;
7534 ; INPUT ARGUMENTS:
7535 ;
7536 ; R0 POINTS TO A THREE WORD BUFFER
7537 ;
7538 ; OUTPUT ARGUMENTS:
7539 ;
7540 ; R0 POINTS TO THE EVALUATED TERM
7541 ;
7542 ; ERROR CODES RETURNED:
7543 ;
7544 ; NONE.
7545 ;-
7546
7547 012626 .GTTRM::
7548 012626 CALL .GTFCT ; GET THE NEXT FACTOR
012626 004737 012740' JSR PC,.GTFCT
7549 012632 001411 BEQ 20$ ; EXIT IF NULL ARGUMENT
7550 012634 10$:
7551 012634 122715 000137 CMPB #'_,(R5) ; DID HE SAY SHIFT?
7552 012640 001407 BEQ 30$ ; YES -- GO DO THE SHIFT
7553 012642 122715 000052 CMPB #'*,(R5) ; NO -- DID HE SAY MULTIPLY?
7554 012646 001412 BEQ 50$ ; YES -- GO DO THE MULTIPLICATION
7555 012650 122715 000057 CMPB #'/,(R5) ; NO -- DID HE SAY DIVIDE?
7556 012654 001404 BEQ 40$ ; YES -- GO DO THE DIVISION
7557 012656 20$:
7558 012656 RETURN ; NO -- JUST RETURN
012656 000207 RTS PC
7559
7560 ; [CONTINUED ON THE FOLLOWING PAGE]
GTNUM -- GENERAL NUMERIC INPUT MACRO M1108 13-JAN-78 09:14 PAGE 221
.GTTRM -- TERM EVALUATOR FOR ".GTNUM" 7603.03
7562 ; [CONTINUED FROM THE PREVIOUS PAGE]
7563
7564 012660 30$:
7565 012660 012702 027702' MOV #.TPSHL,R2 ; DISPATCH TO R2
7566 012664 000405 BR 60$ ; TO COMMON CODE
7567 ;
7568 012666 40$:
7569 012666 012702 027000' MOV #.TPDIV,R2 ; DISPATCH TO R2
7570 012672 000402 BR 60$ ; TO COMMON ROUTINE
7571 ;
7572 012674 50$:
7573 012674 012702 027452' MOV #.TPMUL,R2 ; DISPATCH TO R2
7574 012700 60$:
7575 012700 112504 MOVB (R5)+,R4 ; GET OVER THE OPERATOR CHARACTER
7576 012702 005046 CLR -(SP) ; CREATE A SCRATCH BUFFER ON THE STACK
7577 012704 005046 CLR -(SP) ; .
7578 012706 005046 CLR -(SP) ; ..
7579 012710 010601 MOV SP,R1 ; ...SCRATCH POINTER TO R1
7580 012712 PUSH R2 ; ...SAVE THE DISPATCH POINTER
012712 010246 MOV R2,-(SP)
7581 012714 PUSH R0 ; ....SAVE PREVIOUS NUMBER POINTER
012714 010046 MOV R0,-(SP)
7582 012716 010100 MOV R1,R0 ; .....CURRENT POINTER TO R0
7583 012720 CALL .GTFCT ; .....GET THE NEXT FACTOR
012720 004737 012740' JSR PC,.GTFCT
7584 012724 010001 MOV R0,R1 ; .....POINTER TO R1
7585 012726 POP R0 ; .....PREVIOUS POINTER TO R0
012726 012600 MOV (SP)+,R0
7586 012730 CALL @(SP)+ ; ....DO DIVISION OR MULTIPLICATION
012730 004736 JSR PC,@(SP)+
7587 012732 062706 000006 ADD #^D6,SP ; ...CLEAR THE STACK
7588 012736 000736 BR 10$ ; AND SEE IF THERE IS MORE
7589 ;
GTNUM -- GENERAL NUMERIC INPUT MACRO M1108 13-JAN-78 09:14 PAGE 222
.GTFCT -- FACTOR EVALUATOR FOR ".GTNUM" 7603.03
7591 .SBTTL .GTFCT -- FACTOR EVALUATOR FOR ".GTNUM" 7603.03
7592
7593 ;+
7594 ; .GTFCT -- FACTOR EVALUATOR FOR ".GTNUM"
7595 ;
7596 ; THIS ROUTINE EVALUATES NUMERIC FACTORS FOR ".GTNUM".
7597 ;
7598 ; DEFINITION OF AN FACTOR:
7599 ;
7600 ; FACTOR=(EXP)!+FACTOR!-FACTOR!NUMBER
7601 ;
7602 ; INPUT ARGUMENTS:
7603 ;
7604 ; R0 POINTS TO A THREE WORD BUFFER
7605 ;
7606 ; OUTPUT ARGUMENTS:
7607 ;
7608 ; R0 POINTS TO THE EVALUATED FACTOR
7609 ;
7610 ; ERROR CODES RETURNED:
7611 ;
7612 ; NONE.
7613 ;-
7614
7615 .ENABL LSB
7616
7617 012740 .GTFCT::
7618 012740 122715 000136 CMPB #'^,(R5) ; SPECIAL RADIX?
7619 012744 001435 BEQ 30$ ; YES -- GO HANDLE IT
7620 012746 122715 000050 CMPB #'(,(R5) ; NO -- DOES THE FIRST CHARACTER OPEN EXPRESSION?
7621 012752 001517 BEQ 65$ ; YES -- GO HANDLE IT
7622 012754 122715 000053 CMPB #'+,(R5) ; NO -- IS IT A <PLUS>?
7623 012760 001503 BEQ 60$ ; YES -- GO HANDLE <PLUS>
7624 012762 122715 000055 CMPB #'-,(R5) ; NO -- IS IT A <MINUS>?
7625 012766 001500 BEQ 60$ ; YES -- GO HANDLE <MINUS>
7626 012770 CALL .GTNBR ; NO -- GO GET A NUMBER
012770 004737 013234' JSR PC,.GTNBR
7627 012774 10$:
7628 012774 122715 000047 CMPB #'',(R5) ; RELOCATE?
7629 013000 001404 BEQ 20$ ; YES -- DO IT
7630 013002 122715 000042 CMPB #'",(R5) ; NO -- UNRELOCATE?
7631 013006 001401 BEQ 20$ ; YES -- DO IT
7632 013010 15$:
7633 013010 RETURN ; TO CALLER
013010 000207 RTS PC
7634
7635 ; [CONTINUED ON THE FOLLOWING PAGE]
GTNUM -- GENERAL NUMERIC INPUT MACRO M1108 13-JAN-78 09:14 PAGE 223
.GTFCT -- FACTOR EVALUATOR FOR ".GTNUM" 7603.03
7637 ; [CONTINUED FROM THE PREVIOUS PAGE]
7638
7639 013012 20$:
7640 013012 PUSH R1 ; SAVE R1
013012 010146 MOV R1,-(SP)
7641 013014 013701 000122' MOV .RELWD,R1 ; .RELOCATION TO R1
7642 013020 122715 000042 CMPB #'",(R5) ; .UNRELOCATE?
7643 013024 001001 BNE 25$ ; .NO -- GO ON
7644 013026 005401 NEG R1 ; .YES -- NEGATE IT
7645 013030 25$:
7646 013030 060110 ADD R1,(R0) ; .COMPUTE THE FACTOR
7647 013032 105725 TSTB (R5)+ ; .GET OVER THE SYMBOL
7648 013034 POP R1 ; .RESTORE R1
013034 012601 MOV (SP)+,R1
7649 013036 000764 BR 15$ ; AND EXIT
7650 ;
7651 013040 30$:
7652 013040 105725 TSTB (R5)+ ; GET OVER THE UP-ARROW
7653 013042 112546 MOVB (R5)+,-(SP) ; SAVE THE NEXT CHARACTER
7654 013044 CALL .CKARG ; .LOOK FOR A TRAILING ARGUMENT
013044 004737 001712' JSR PC,.CKARG
7655 013050 001417 BEQ GTFILC ; .ERROR IF CC-Z IS SET
7656 013052 POP R4 ; .RESTORE THE CHARACTER
013052 012604 MOV (SP)+,R4
7657 013054 122704 000103 CMPB #'C,R4 ; .COMPLEMENT?
7658 013060 001436 BEQ 55$ ; .YES -- PROCESS COMPLEMENT
7659 013062 PUSH .IRADX ; .NO -- SAVE THE CURRENT RADIX
013062 013746 000066' MOV .IRADX,-(SP)
7660 013066 122704 000104 CMPB #'D,R4 ; .DECIMAL?
7661 013072 001415 BEQ 40$ ; .YES -- PROCESS DECIMAL
7662 013074 122704 000102 CMPB #'B,R4 ; .NO -- BINARY?
7663 013100 001406 BEQ 35$ ; .YES -- PROCESS BINARY
7664 013102 122704 000117 CMPB #'O,R4 ; .NO -- OCTAL?
7665 013106 001413 BEQ 45$ ; .YES -- PROCESS OCTAL
7666 013110 GTFILC:
7667 013110 ERROR$ ILC ; .NO -- GIVE "ILC" ERROR
013110 012746 MOV (PC)+,-(SP) ; "ILC" IN RAD50 TO STACK
013112 035043 .RAD50 /ILC/ ; ERROR IDENTIFIER
013114 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
7668 ;
7669
7670 ; [CONTINUED ON THE FOLLOWING PAGE]
GTNUM -- GENERAL NUMERIC INPUT MACRO M1108 13-JAN-78 09:14 PAGE 224
.GTFCT -- FACTOR EVALUATOR FOR ".GTNUM" 7603.03
7672 ; [CONTINUED FROM THE PREVIOUS PAGE]
7673
7674 013116 35$:
7675 013116 012737 000002 000066' MOV #^D2,.IRADX ; .SET THE RADIX TO BINARY
7676 013124 000407 BR 50$ ; .TO COMMON CODE
7677 ;
7678 013126 40$:
7679 013126 012737 000012 000066' MOV #^D10,.IRADX ; .SET THE RADIX TO DECIMAL
7680 013134 000403 BR 50$ ; .TO COMMON CODE
7681 ;
7682 013136 45$:
7683 013136 012737 000010 000066' MOV #^D8,.IRADX ; .SET THE RADIX TO OCTAL
7684 013144 50$:
7685 013144 CALL .GTFCT ; .GET THE FACTOR
013144 004737 012740' JSR PC,.GTFCT
7686 013150 POP .IRADX ; .RESTORE THE ORIGINAL RADIX
013150 012637 000066' MOV (SP)+,.IRADX
7687 013154 000707 BR 10$ ; AND EXIT
7688 ;
7689 013156 55$:
7690 013156 CALL .GTFCT ; GET THE FACTOR
013156 004737 012740' JSR PC,.GTFCT
7691 013162 CALL .TPCOM ; AND INVERT IT
013162 004737 027244' JSR PC,.TPCOM
7692 013166 000702 BR 10$ ; EXIT
7693 ;
7694 013170 60$:
7695 013170 112546 MOVB (R5)+,-(SP) ; SAVE THE NEXT CHARACTER
7696 013172 CALL .GTFCT ; .GO LOOK FOR MORE
013172 004737 012740' JSR PC,.GTFCT
7697 013176 122726 000055 CMPB #'-,(SP)+ ; .WAS THE PREFIX A <MINUS>?
7698 013202 001274 BNE 10$ ; NO -- JUST EXIT
7699 013204 CALL .TPNEG ; YES -- NEGATE IT
013204 004737 027254' JSR PC,.TPNEG
7700 013210 000671 BR 10$ ; AND EXIT
7701 ;
7702 013212 65$:
7703 013212 112504 MOVB (R5)+,R4 ; GET OVER THE PAREN
7704 013214 CALL .GTEXP ; READ THIS EXPRESSION
013214 004737 012532' JSR PC,.GTEXP
7705 013220 122725 000051 CMPB #'),(R5)+ ; DID WE END IT PROPERLY?
7706 013224 001663 BEQ 10$ ; YES -- JUST EXIT
7707 013226 ERROR$ RPM ; NO -- ERROR -- RIGHT PARENTHESES MISSING
013226 012746 MOV (PC)+,-(SP) ; "RPM" IN RAD50 TO STACK
013230 071415 .RAD50 /RPM/ ; ERROR IDENTIFIER
013232 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
7708 ;
7709
7710 .DSABL LSB
GTNUM -- GENERAL NUMERIC INPUT MACRO M1108 13-JAN-78 09:14 PAGE 225
.GTNBR -- NUMBER EVALUATOR FOR ".GTNUM" 7603.03
7712 .SBTTL .GTNBR -- NUMBER EVALUATOR FOR ".GTNUM" 7603.03
7713
7714 ;+
7715 ; .GTNBR -- NUMBER EVALUATOR FOR ".GTNUM"
7716 ;
7717 ; THIS ROUTINE EVALUATES NUMBERS FOR ".GTNUM".
7718 ;
7719 ; INPUT ARGUMENTS:
7720 ;
7721 ; R0 POINTS TO A THREE WORD BUFFER
7722 ;
7723 ; OUTPUT ARGUMENTS:
7724 ;
7725 ; R0 POINTS TO THE EVALUATED NUMBER
7726 ;
7727 ; ERROR CODES RETURNED:
7728 ;
7729 ; NONE.
7730 ;-
7731
7732 013234 .GTNBR::
7733 013234 005037 000064' CLR .INCHC ; CLEAR THE CHARACTER COUNT
7734 013240 PUSH R1 ; SAVE R1
013240 010146 MOV R1,-(SP)
7735 013242 005046 CLR -(SP) ; .SET UP THE INPUT RADIX
7736 013244 005046 CLR -(SP) ; ..
7737 013246 PUSH .IRADX ; ...SO
013246 013746 000066' MOV .IRADX,-(SP)
7738 013252 010601 MOV SP,R1 ; ....POINT TO THE INPUT RADIX
7739 013254 10$:
7740 013254 112504 MOVB (R5)+,R4 ; ....GET THE CHARACTER INTO R4
7741 013256 132764 000002 001360' BITB #CH.NUM,.CHTAB(R4)
7742 013264 001422 BEQ 20$ ; ....EXIT IF NON-NUMERIC
7743 013266 005237 000064' INC .INCHC ; ....INCREMENT THE CHARACTER COUNT
7744 013272 142704 177760 BICB #^C17,R4 ; ....FLUSH ASCII
7745 013276 120411 CMPB R4,(R1) ; ....DID WE EXCEED THE INPUT RADIX?
7746 013300 002027 BGE GTNNOR ; ....YES -- GIVE "NOR" ERROR
7747 013302 CALL .TPMUL ; ....NO -- MAKE ROOM FOR THIS DIGIT
013302 004737 027452' JSR PC,.TPMUL
7748 013306 PUSH (R1) ; ....SAVE THE RADIX
013306 011146 MOV (R1),-(SP)
7749 013310 010411 MOV R4,(R1) ; .....SET UP TO ADD THIS DIGIT
7750 013312 CALL .TPADD ; .....TO THE CUMULATIVE RESULT
013312 004737 027362' JSR PC,.TPADD
7751 013316 032760 177760 000004 BIT #^C17,4(R0) ; .....HAVE WE OVERFLOWED THE NUMBER?
7752 013324 001015 BNE GTNNOR ; .....YES -- GIVE "NOR" ERROR
7753 013326 POP (R1) ; .....NO -- RESTORE THE RADIX
013326 012611 MOV (SP)+,(R1)
7754 013330 000751 BR 10$ ; ....AND CONTINUE
7755 ;
7756
7757 ; [CONTINUED ON THE FOLLOWING PAGE]
GTNUM -- GENERAL NUMERIC INPUT MACRO M1108 13-JAN-78 09:14 PAGE 226
.GTNBR -- NUMBER EVALUATOR FOR ".GTNUM" 7603.03
7759 ; [CONTINUED FROM THE PREVIOUS PAGE]
7760
7761 013332 20$:
7762 013332 062706 000006 ADD #^D6,SP ; ....FLUSH THE STACK
7763 013336 POP R1 ; .RESTORE R1
013336 012601 MOV (SP)+,R1
7764 013340 105745 TSTB -(R5) ; BACK THE INPUT POINTER UP
7765 013342 005737 000064' TST .INCHC ; LOOK AT THE CHARACTER COUNT
7766 013346 001401 BEQ GTNMRA ; GIVE "MRA" ERROR IF NONE THERE
7767 013350 RETURN ; TO CALLER
013350 000207 RTS PC
7768 013352 GTNMRA:
7769 013352 ERROR$ MRA ; ERROR -- MISSING REQUIRED ARGUMENT
013352 012746 MOV (PC)+,-(SP) ; "MRA" IN RAD50 TO STACK
013354 052021 .RAD50 /MRA/ ; ERROR IDENTIFIER
013356 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
7770 ;
7771 013360 GTNNOR:
7772 013360 ERROR$ NOR ; ERROR -- NUMBER OUT OF RANGE
013360 012746 MOV (PC)+,-(SP) ; "NOR" IN RAD50 TO STACK
013362 054752 .RAD50 /NOR/ ; ERROR IDENTIFIER
013364 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
7773 ;
GTTIM -- TIME EVALUATOR MODULE MACRO M1108 13-JAN-78 09:14 PAGE 227
.GTNBR -- NUMBER EVALUATOR FOR ".GTNUM" 7603.03
7775 .TITLE GTTIM -- TIME EVALUATOR MODULE 7702.15
7776
7777 .IDENT "001020"
7778
7779 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
7780 ;
7781 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
7782 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
7783 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
7784 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
7785 ; FOR ITS ACCURACY.
7786 ;
7787 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
7788 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
7789 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
7790 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
7791 ;
7792 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
7793 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
7794 ;
7795 ;
7796 ; MODULE: TIME EVALUATOR
7797 ;
7798 ; VERSION: 01-02
7799 ;
7800 ; AUTHOR: R. BELANGER
7801 ;
7802 ; DATE: 7702.15
7803 ;
7804 ; THIS MODULE CONTAINS:
7805 ;
7806 ; 1) TIME EVALUATOR CODE
7807 ;
7808 ; MODIFICATIONS:
7809 ;
7810 ; NO. DATE PROGRAMMER PURPOSE
7811 ; --- ---- ---------- -------
7812 ; 001 15-FEB-77 R. BELANGER ADD NEW KLINIK FEATURES
GTTIM -- TIME EVALUATOR MODULE MACRO M1108 13-JAN-78 09:14 PAGE 228
.GTTIM -- SUBROUTINE TO INPUT A TIME VALUE 7702.15
7814 .SBTTL .GTTIM -- SUBROUTINE TO INPUT A TIME VALUE 7702.15
7815
7816 ;+
7817 ; .GTTIM -- SUBROUTINE TO INPUT A TIME VALUE
7818 ;
7819 ; THIS SUBROUTINE WILL ACCEPT A TIME VALUE FROM THE CONSOLE INPUT
7820 ; DEVICE OF THE FORMAT "HH:MM" OR "HHMM", AND RETURN IT EXPRESSED
7821 ; AS SECONDS-SINCE-MIDNIGHT / 2 (SSM).
7822 ;
7823 ; INPUT ARGUMENTS:
7824 ;
7825 ; R0 POINTS TO THE DESTINATION FOR THE VALUE
7826 ;
7827 ; OUTPUT ARGUMENTS:
7828 ;
7829 ; R0 POINTS TO THE TIME VALUE
7830 ; CC-Z WILL BE SET TO INDICATE NO TIME WAS SPECIFIED (DEFAULT)
7831 ;
7832 ; ERROR CODES RETURNED:
7833 ;
7834 ; ITF -- ILLEGAL TIME FORMAT
7835 ; TOR -- TIME OUT OF RANGE
7836 ;-
7837
7838 013366 .GTTIM::
7839 013366 013737 000066' 000120' MOV .IRADX,.RDXSV ; SAVE THE CURRENT RADIX
7840 013374 012737 000012 000066' MOV #^D10,.IRADX ; SET THE INPUT RADIX TO DECIMAL
7841 013402 PUSH <R5,R2,R1,R0> ; SAVE CALLER'S REGISTERS
013402 010546 MOV R5,-(SP)
013404 010246 MOV R2,-(SP)
013406 010146 MOV R1,-(SP)
013410 010046 MOV R0,-(SP)
7842 013412 012702 177777 MOV #-^D1,R2 ; ....SET DEFAULT ARGUMENT
7843 013416 012700 001416' MOV #GTTMS0,R0 ; ....PROMPT FOR TIME
7844 013422 CALL .TYMSF ; ....FORCE IT OUT
013422 004737 031426' JSR PC,.TYMSF
7845 013426 012701 000240' MOV #.CIBFR,R1 ; ....BUFFER POINTER TO R1
7846 013432 010105 MOV R1,R5 ; ....SET UP THE BUFFER POINTER
7847 013434 CALL .GTLIN ; ....READ THE INPUT
013434 004737 011776' JSR PC,.GTLIN
7848 013440 001514 BEQ 30$ ; ....EXIT IF NULL (DEFAULT)
7849
7850 ; [CONTINUED ON THE FOLLOWING PAGE]
GTTIM -- TIME EVALUATOR MODULE MACRO M1108 13-JAN-78 09:14 PAGE 229
.GTTIM -- SUBROUTINE TO INPUT A TIME VALUE 7702.15
7852 ; [CONTINUED FROM THE PREVIOUS PAGE]
7853
7854 013442 CALL .CKSYM ; ....GET OVER LEADING BLANKS
013442 004737 002112' JSR PC,.CKSYM
7855 013446 132764 000010 001360' BITB #CH.EOC,.CHTAB(R4)
7856 013454 001106 BNE 30$ ; ....EXIT IF E-O-C
7857 013456 CALL .CKARG ; ....SEE WHAT FOLLOWS
013456 004737 001712' JSR PC,.CKARG
7858 013462 001516 BEQ GTTITF ; ....ERROR IF NON-NUMERIC
7859 013464 005046 CLR -(SP) ; ....CLEAR A BUFFER ON THE STACK
7860 013466 005046 CLR -(SP) ; .....
7861 013470 005046 CLR -(SP) ; ......
7862 013472 010600 MOV SP,R0 ; .......POINT TO THE BUFFER
7863 013474 CALL .GTNBR ; .......READ HOURS
013474 004737 013234' JSR PC,.GTNBR
7864 013500 122704 000072 CMPB #':,R4 ; .......IS NEXT CHARACTER A COLON?
7865 013504 001437 BEQ 10$ ; .......YES -- GO READ MINUTE
7866 013506 CALL .CKEOC ; .......NO -- MUST HAVE E-O-C
013506 004737 002010' JSR PC,.CKEOC
7867 013512 005046 CLR -(SP) ; .......SET UP A DIVISOR ON THE STACK
7868 013514 005046 CLR -(SP) ; ........
7869 013516 PUSH #^D100 ; .........SO
013516 012746 000144 MOV #^D100,-(SP)
7870 013522 010601 MOV SP,R1 ; ..........POINT TO THE DIVISOR
7871 013524 CALL .TPDIV ; ..........DO THE DIVISION
013524 004737 027000' JSR PC,.TPDIV
7872 013530 022711 000073 CMP #^D59,(R1) ; ..........IS THE REMAINDER .LT. ^D59?
7873 013534 002474 BLT GTTTOR ; .......... +++001 NO -- GIVE "TOR" ERROR
7874 013536 PUSH (R1) ; ..........YES -- SAVE THE REMAINDER
013536 011146 MOV (R1),-(SP)
7875 013540 022710 000027 CMP #^D23,(R0) ; ...........IS THE HOUR OK?
7876 013544 002470 BLT GTTTOR ; ........... +++001 NO -- GIVE "TOR" ERROR
7877 013546 011000 MOV (R0),R0 ; ...........YES -- GET IT
7878 013550 012701 000074 MOV #^D60,R1 ; ...........MULTIPLIER TO R1
7879 013554 CALL $MUL ; ...........DO THE MULTIPLICATION
013554 004737 000000G JSR PC,$MUL
7880 013560 010100 MOV R1,R0 ; ...........PRODUCT TO R0
7881 013562 062600 ADD (SP)+,R0 ; ...........COMPUTE SECONDS SINCE MIDNIGHT
7882 013564 012701 000036 MOV #^D30,R1 ; ..........MULTIPLIER
7883 013570 CALL $MUL ; ..........DO IT
013570 004737 000000G JSR PC,$MUL
7884 013574 010102 MOV R1,R2 ; ..........SAVE IT IN R2
7885 013576 062706 000006 ADD #^D6,SP ; ..........RESET THE STACK
7886 013602 000431 BR 20$ ; .......AND EXIT
7887 ;
7888
7889 ; [CONTINUED ON THE FOLLOWING PAGE]
GTTIM -- TIME EVALUATOR MODULE MACRO M1108 13-JAN-78 09:14 PAGE 230
.GTTIM -- SUBROUTINE TO INPUT A TIME VALUE 7702.15
7891 ; [CONTINUED FROM THE PREVIOUS PAGE]
7892
7893 013604 10$:
7894 013604 105725 TSTB (R5)+ ; .......GET OVER THE COLON
7895 013606 011000 MOV (R0),R0 ; .......GET THE HOUR
7896 013610 022700 000027 CMP #^D23,R0 ; .......IS THE HOUR OK?
7897 013614 002444 BLT GTTTOR ; ....... +++001 NO -- GIVE "TOR" ERROR
7898 013616 012701 000074 MOV #^D60,R1 ; .......CONVERT TO MINUTES
7899 013622 CALL $MUL ; .......SO
013622 004737 000000G JSR PC,$MUL
7900 013626 010102 MOV R1,R2 ; .......STASH IT AWAY
7901 013630 010600 MOV SP,R0 ; .......RESET POINTER
7902 013632 CALL .TPCLR ; .......FLUSH THE BUFFER
013632 004737 027234' JSR PC,.TPCLR
7903 013636 CALL .GTNBR ; .......READ THE NEXT NUMBER
013636 004737 013234' JSR PC,.GTNBR
7904 013642 011000 MOV (R0),R0 ; .......GET THE MINUTES
7905 013644 022700 000073 CMP #^D59,R0 ; .......IS THE MINUTE OK?
7906 013650 002426 BLT GTTTOR ; ....... +++001 NO -- GIVE "TOR" ERROR
7907 013652 060200 ADD R2,R0 ; .......ADD THE HOUR
7908 013654 012701 000036 MOV #^D30,R1 ; .......CONVERT TO SECONDS
7909 013660 CALL $MUL ; .......SO
013660 004737 000000G JSR PC,$MUL
7910 013664 010102 MOV R1,R2 ; .......SAVE IT IN R2
7911 013666 20$:
7912 013666 062706 000006 ADD #^D6,SP ; .......RESET THE STACK
7913 013672 30$:
7914 013672 POP R0 ; ....RESTORE R0
013672 012600 MOV (SP)+,R0
7915 013674 010210 MOV R2,(R0) ; ...SET THE TIME
7916 013676 POP <R1,R2,R5> ; ...RESTORE REGISTERS
013676 012601 MOV (SP)+,R1
013700 012602 MOV (SP)+,R2
013702 012605 MOV (SP)+,R5
7917 013704 013737 000120' 000066' MOV .RDXSV,.IRADX ; RESET THE RADIX
7918 013712 005737 000064' TST .INCHC ; LOOK AT THE CHARACTER COUNT
7919 013716 RETURN ; AND EXIT
013716 000207 RTS PC
7920 013720 GTTITF:
7921 013720 ERROR$ ITF ; ERROR -- ILLEGAL TIME FORMAT
013720 012746 MOV (PC)+,-(SP) ; "ITF" IN RAD50 TO STACK
013722 035546 .RAD50 /ITF/ ; ERROR IDENTIFIER
013724 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
7922 ;
7923 013726 GTTTOR: ; +++001
7924 013726 ERROR$ TOR ; +++001 ERROR -- TIME OUT OF RANGE
013726 012746 MOV (PC)+,-(SP) ; "TOR" IN RAD50 TO STACK
013730 077552 .RAD50 /TOR/ ; ERROR IDENTIFIER
013732 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
7925 ;
7926
7927 001416 .PSECT MESSAG
7928
7929 001416 GTTMS0:
7930 001416 124 111 115 .ASCIZ %TIME: %
001421 105 072 040
001424 000
GTTIM -- TIME EVALUATOR MODULE MACRO M1108 13-JAN-78 09:14 PAGE 230-1
.GTTIM -- SUBROUTINE TO INPUT A TIME VALUE 7702.15
7931
7932 013734 .PSECT
7933
GTR50 -- RADIX 50 INPUT MODULE MACRO M1108 13-JAN-78 09:14 PAGE 231
.GTTIM -- SUBROUTINE TO INPUT A TIME VALUE 7702.15
7935 .TITLE GTR50 -- RADIX 50 INPUT MODULE 7603.30
7936
7937 .IDENT "001010"
7938
7939 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
7940 ;
7941 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
7942 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
7943 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
7944 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
7945 ; FOR ITS ACCURACY.
7946 ;
7947 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
7948 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
7949 ;
7950 ;
7951 ; MODULE: RADIX 50 INPUT
7952 ;
7953 ; VERSION: 01-01
7954 ;
7955 ; AUTHOR: R. BELANGER
7956 ;
7957 ; DATE: 7603.30
7958 ;
7959 ; THIS MODULE CONTAINS:
7960 ;
7961 ; 1) RADIX 50 INPUT CODE
GTR50 -- RADIX 50 INPUT MODULE MACRO M1108 13-JAN-78 09:14 PAGE 232
.GTR50 -- GET A .RAD50 WORD 7602.18
7963 .SBTTL .GTR50 -- GET A .RAD50 WORD 7602.18
7964
7965 ;+
7966 ; .GTR50 -- GET A .RAD50 WORD
7967 ;
7968 ; THIS ROUTINE WILL CONVERT THE NEXT THREE ASCII CHARACTERS IN THE
7969 ; INPUT STREAM TO .RAD50 FORMAT.
7970 ;
7971 ; INPUT ARGUMENTS:
7972 ;
7973 ; R5 POINTS TO THE INPUT STREAM.
7974 ;
7975 ; OUTPUT ARGUMENTS:
7976 ;
7977 ; R0 HOLDS THE .RAD50 SYMBOL.
7978 ;
7979 ; ERROR CODES RETURNED:
7980 ;
7981 ; NONE.
7982 ; IF THE ROUTINE CANNOT CONVERT THE FIRST CHARACTER, CC-Z IS SET.
7983 ;-
GTR50 -- RADIX 50 INPUT MODULE MACRO M1108 13-JAN-78 09:14 PAGE 233
.GTR50 -- GET A .RAD50 WORD 7602.18
7985 013734 .GTR50::
7986 013734 PUSH <R1,R2> ; SAVE REGISTERS
013734 010146 MOV R1,-(SP)
013736 010246 MOV R2,-(SP)
7987 013740 005046 CLR -(SP) ; ..SAVE A BUFFER
7988 013742 012702 001350' MOV #.T50TB,R2 ; ...FACTOR TABLE POINTER TO R2
7989 013746 10$:
7990 013746 012201 MOV (R2)+,R1 ; ...GET CURRENT MULTIPLIER
7991 013750 001427 BEQ 50$ ; ...DONE IF .EQ. 0
7992 013752 112500 MOVB (R5)+,R0 ; ...GET THE CHARACTER INTO R0
7993 013754 120027 000101 CMPB R0,#'A ; ...IS IT ALPHABETIC?
7994 013760 103403 BLO 20$ ; ...NO -- TRY NUMERIC
7995 013762 120027 000132 CMPB R0,#'Z ; ...IS IT REALLY ALPHABETIC?
7996 013766 101410 BLOS 30$ ; ...YES -- ADD IT TO RESULT
7997 013770 20$:
7998 013770 120027 000060 CMPB R0,#'0 ; ...NO -- IS IT NUMERIC?
7999 013774 103413 BLO 40$ ; ...NO -- EXIT
8000 013776 120027 000071 CMPB R0,#'9 ; ...YES -- IS IT REALLY NUMERIC?
8001 014002 101010 BHI 40$ ; ...NO -- EXIT
8002 014004 162700 177722 SUB #<<'0-36>-<'A-1>>,R0
8003 014010 30$:
8004 014010 162700 000100 SUB #<'A-1>,R0 ; ...CONVERT ALPHABETIC
8005 014014 CALL $MUL ; ...COMPUTE CHARACTER VALUE
014014 004737 000000G JSR PC,$MUL
8006 014020 060116 ADD R1,(SP) ; ...ACCUMULATE RESULT
8007 014022 000751 BR 10$ ; ...AND GET NEXT CHARACTER
8008 ;
8009 014024 40$:
8010 014024 105745 TSTB -(R5) ; ...BACK UP THE BYTE POINTER
8011 014026 010004 MOV R0,R4 ; ...PUT THE CHARACTER IN R4
8012 014030 50$:
8013 014030 POP R0 ; ...RETURN THE RESULT
014030 012600 MOV (SP)+,R0
8014 014032 POP <R2,R1> ; ..RESTORE REGISTERS
014032 012602 MOV (SP)+,R2
014034 012601 MOV (SP)+,R1
8015 014036 005700 TST R0 ; LOOK AT R0
8016 014040 RETURN ; TO CALLER
014040 000207 RTS PC
HALTC -- HALT FUNCTION MODULE 7 MACRO M1108 13-JAN-78 09:14 PAGE 234
.GTR50 -- GET A .RAD50 WORD 7602.18
8018 .TITLE HALTC -- HALT FUNCTION MODULE 7707.12
8019
8020 .IDENT "003060"
8021
8022 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
8023 ;
8024 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
8025 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
8026 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
8027 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
8028 ; FOR ITS ACCURACY.
8029 ;
8030 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
8031 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
8032 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
8033 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
8034 ;
8035 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
8036 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
8037 ;
8038 ;
8039 ; MODULE: HALT FUNCTION
8040 ;
8041 ; VERSION: 03-06
8042 ;
8043 ; AUTHOR: R. BELANGER
8044 ;
8045 ; DATE: 7707.12
8046 ;
8047 ; THIS MODULE CONTAINS:
8048 ;
8049 ; 1) HALT FUNCTION CODE
HALTC -- HALT FUNCTION MODULE 7 MACRO M1108 13-JAN-78 09:14 PAGE 235
.HALTC -- THE "HALT" COMMAND 7710.11
8051 .SBTTL .HALTC -- THE "HALT" COMMAND 7710.11
8052
8053 ;+
8054 ; .HALTC -- THE "HALT" COMMAND
8055 ;
8056 ; THIS ROUTINE HALTS THE KL WITH THE CLOCK RUNNING. (EXAMINE
8057 ; AND DEPOSIT ARE STILL SUPPORTED).
8058 ;
8059 ; INPUT ARGUMENTS:
8060 ;
8061 ; NONE.
8062 ;
8063 ; OUTPUT ARGUMENTS:
8064 ;
8065 ; NONE.
8066 ;
8067 ; ERROR CODES RETURNED:
8068 ;
8069 ; ILS -- ILLEGAL SEPARATOR CHARACTER.
8070 ;-
8071
8072 014042 .HALTC::
8073 014042 CALL .CKEOC ; CHECK E-O-C
014042 004737 002010' JSR PC,.CKEOC
8074 014046 CALLR .KLSTP ; HALT THE KL AND RETURN
014046 000137 015220' JMP .KLSTP
8075 ;
INICP -- COMMAND PARSER INITIAL MACRO M1108 13-JAN-78 09:14 PAGE 236
.HALTC -- THE "HALT" COMMAND 7710.11
8077 .TITLE INICP -- COMMAND PARSER INITIALIZATION MODULE 7603.30
8078
8079 .IDENT "001010"
8080
8081 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
8082 ;
8083 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
8084 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
8085 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
8086 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
8087 ; FOR ITS ACCURACY.
8088 ;
8089 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
8090 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
8091 ;
8092 ;
8093 ; MODULE: COMMAND PARSER INITIALIZATION
8094 ;
8095 ; VERSION: 01-01
8096 ;
8097 ; AUTHOR: R. BELANGER
8098 ;
8099 ; DATE: 7603.30
8100 ;
8101 ; THIS MODULE CONTAINS:
8102 ;
8103 ; 1) COMMAND PARSER INITIALIZATION CODE
8104
8105 .MCALL ALUN$, CLEF$S, DIR$, SETF$S, SVTK$S
INICP -- COMMAND PARSER INITIAL MACRO M1108 13-JAN-78 09:14 PAGE 237
.INICP -- INITIALIZE THE COMMAND PARSER 7601.21
8107 .SBTTL .INICP -- INITIALIZE THE COMMAND PARSER 7601.21
8108
8109 ;+
8110 ; .INICP -- ROUTINE TO INTIALIZE THE COMMAND PARSER.
8111 ;
8112 ; THIS SUBROUTINE WILL INITIALIZE THE RSX20F INTERFACE TO THE COMMAND
8113 ; PARSER. THE CONSOLE INPUT AND OUTPUT DEVICES ARE ASSIGNED AND ATTACHED,
8114 ; THE SST TRAPS ARE ENABLED, AND THE EVENT FLAGS ARE CLEARED.
8115 ;
8116 ; INPUT ARGUMENTS:
8117 ;
8118 ; NONE.
8119 ;
8120 ; OUTPUT ARGUMENTS:
8121 ;
8122 ; NONE.
8123 ;
8124 ; ERROR CODES RETURNED:
8125 ;
8126 ; IF THE SST VECTORS CANNOT BE INITIALIZED THE PARSER EXITS.
8127 ; IF THE CONSOLE OUTPUT DEVICE CANNOT BE ASSIGNED, THE PARSER EXITS.
8128 ; IF THE CONSOLE OUTPUT DEVICE CANNOT BE ASSIGNED, THE PARSER EXITS.
8129 ; IF THE CONSOLE DEVICE CANNOT BE ATTACHED, THE PARSER EXITS.
8130 ;-
8131
8132 014052 .INICP::
8133 014052 010637 000136' MOV SP,.SVESP ; INIT THE STACK POINTER
8134 014056 005005 CLR R5 ; CLEAR THE GPR'S
8135 014060 005004 CLR R4
8136 014062 005003 CLR R3
8137 014064 005002 CLR R2
8138 014066 005001 CLR R1
8139 014070 005000 CLR R0
8140 014072 SVTK$S #.SSTTB,#SSTLEN ; INIT SST'S
014072 012746 000010 MOV #SSTLEN,-(SP)
014076 012746 000174' MOV #.SSTTB,-(SP)
014102 012746 MOV (PC)+,-(SP)
014104 071 003 .BYTE 57.,3
014106 104375 EMT 375
8141 014110 103442 BCS 10$ ; DIE IF WE CAN'T DO THAT MUCH
8142 014112 DIR$ #.ASCOD ; ASSIGN THE CONSOLE OUTPUT DEVICE
014112 012746 014232' MOV #.ASCOD,-(SP)
014116 104375 EMT 375
8143 014120 103436 BCS 10$ ; DIE IF WE CAN'T DO THAT, EITHER
8144 014122 DIR$ #.ASCID ; ASSIGN THE CONSOLE INPUT DEVICE
014122 012746 014222' MOV #.ASCID,-(SP)
014126 104375 EMT 375
8145 014130 103432 BCS 10$ ; GIVE ERROR TRAP IF CC-C IS SET
8146
8147 ; [CONTINUED ON THE FOLLOWING PAGE]
INICP -- COMMAND PARSER INITIAL MACRO M1108 13-JAN-78 09:14 PAGE 238
.INICP -- INITIALIZE THE COMMAND PARSER 7601.21
8149 ; [CONTINUED FROM THE PREVIOUS PAGE]
8150
8151 014132 CLEF$S #E.FCTC ; CLEAR CONTROL-C EVENT FLAG
014132 012746 000000G MOV #E.FCTC,-(SP)
014136 012746 MOV (PC)+,-(SP)
014140 037 002 .BYTE 31.,2
014142 104375 EMT 375
8152 014144 CLEF$S #E.FHTO ; CLEAR HALT TIMEOUT EVENT FLAG
014144 012746 000001 MOV #E.FHTO,-(SP)
014150 012746 MOV (PC)+,-(SP)
014152 037 002 .BYTE 31.,2
014154 104375 EMT 375
8153 014156 CLEF$S #E.FCID ; CLEAR CONSOLE INPUT DONE EVENT FLAG
014156 012746 000002 MOV #E.FCID,-(SP)
014162 012746 MOV (PC)+,-(SP)
014164 037 002 .BYTE 31.,2
014166 104375 EMT 375
8154 014170 SETF$S #E.FCOD ; SET CONSOLE OUTPUT DONE EVENT FLAG
014170 012746 000003 MOV #E.FCOD,-(SP)
014174 012746 MOV (PC)+,-(SP)
014176 041 002 .BYTE 33.,2
014200 104375 EMT 375
8155 .IF NE FTLIST
8156 SETF$S #E.FLOD ; SET LIST DEVICE OUTPUT DONE EVENT FLAG
8157 .ENDC ; FTLIST
8158 014202 CALL .TCRLF ; INIT CONSOLE
014202 004737 031524' JSR PC,.TCRLF
8159 014206 CALL .INIC0 ; INIT ".KLFLG"
014206 004737 014540' JSR PC,.INIC0
8160 014212 000177 163716 JMP @.STRTV ; START THE PARSER
8161 ;
8162 014216 10$:
8163 014216 CALLR .EXITP ; EXIT GRACEFULLY
014216 000137 007754' JMP .EXITP
8164 ;
INICP -- COMMAND PARSER INITIAL MACRO M1108 13-JAN-78 09:14 PAGE 239
.INICP -- INITIALIZE THE COMMAND PARSER 7601.21
8166 ; ASSIGN CONSOLE INPUT DEVICE
8167
8168 014222 .ASCID::
8169 014222 ALUN$ CIDLUN,TT,0
014222 007 004 .BYTE 7,4
014224 000001 .WORD CIDLUN
014226 124 .ASCII /T/
014227 124 .ASCII /T/
014230 000000 .WORD 0
8170
8171 ; ASSIGN CONSOLE OUTPUT DEVICE
8172
8173 014232 .ASCOD::
8174 014232 ALUN$ CODLUN,TT,0
014232 007 004 .BYTE 7,4
014234 000002 .WORD CODLUN
014236 124 .ASCII /T/
014237 124 .ASCII /T/
014240 000000 .WORD 0
INIT -- INTIALIZATION MODULE 76 MACRO M1108 13-JAN-78 09:14 PAGE 240
.INICP -- INITIALIZE THE COMMAND PARSER 7601.21
8176 .TITLE INIT -- INTIALIZATION MODULE 7603.30
8177
8178 .IDENT "001010"
8179
8180 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
8181 ;
8182 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
8183 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
8184 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
8185 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
8186 ; FOR ITS ACCURACY.
8187 ;
8188 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
8189 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
8190 ;
8191 ;
8192 ; MODULE: INITIALIZATION
8193 ;
8194 ; VERSION: 01-01
8195 ;
8196 ; AUTHOR: R. BELANGER
8197 ;
8198 ; DATE: 7603.30
8199 ;
8200 ; THIS MODULE CONTAINS:
8201 ;
8202 ; 1) BUFFER INITIALIZATION CODE
8203 ; 2) ".KLFLG" INITIALIZATION CODE
8204
8205 .MCALL SETF$S
INIT -- INTIALIZATION MODULE 76 MACRO M1108 13-JAN-78 09:14 PAGE 241
.INIT -- INITIALIZATION SUBROUTINE 7509.26
8207 .SBTTL .INIT -- INITIALIZATION SUBROUTINE 7509.26
8208
8209 ;+
8210 ; .INIT -- SUBROUTINE TO INITIALIZE THE COMMAND PARSER.
8211 ;
8212 ; THIS SUBROUTINE CLEARS INTERNAL BUFFERS AND INITIALIZES
8213 ; THE FOLLOWING REGISTERS:
8214 ;
8215 ; (A) ".KLFLG" -- THE KL STATUS FLAG WORD,
8216 ; (B) ".CLKWD" -- THE KL CLOCK STATUS WORD,
8217 ; (C) ".PSCWD" -- THE KL PARITY CONTROL WORD.
8218 ;
8219 ; INPUT ARGUMENTS:
8220 ;
8221 ; NONE.
8222 ;
8223 ; OUTPUT ARGUMENTS:
8224 ;
8225 ; ".KLFLG" IS SET UP
8226 ;
8227 ; ERROR CODES RETURNED:
8228 ;
8229 ; CES -- KL CLOCK ERROR STOP.
8230 ; CFH -- CAN'T FIND KL HALT LOOP.
8231 ; DSF -- DTE-20 STATUS FAILURE.
8232 ; FRF -- FUNCTION READ FAILED.
8233 ; FWF -- FUNCTION WRITE FAILED.
8234 ;-
8235
8236 014242 .INIT::
8237 014242 PUSH R0 ; SAVE R0
014242 010046 MOV R0,-(SP)
8238 014244 000257 CCC ; .CLEAR N, Z, V, C BITS
8239 014246 012700 000214' MOV #.DFBLK,R0 ; .CLEAR THE DF BUFFERS
8240 014252 10$:
8241 014252 005020 CLR (R0)+ ; .CLEAR A WORD
8242 014254 020027 000240' CMP R0,#DFBEND ; .ARE WE DONE?
8243 014260 103774 BLO 10$ ; .NO -- KEEP GOING
8244 014262 012737 000200 000000G MOV #KF.DEF,.KLFLG ; .YES -- INIT ".KLFLG"
8245 014270 POP R0 ; .RESTORE R0
014270 012600 MOV (SP)+,R0
8246
8247 ; [CONTINUED ON THE FOLLOWING PAGE]
INIT -- INTIALIZATION MODULE 76 MACRO M1108 13-JAN-78 09:14 PAGE 242
.INKLF -- SUBROUTINE TO SET UP KL STATE WORD 7601.09
8249 .SBTTL .INKLF -- SUBROUTINE TO SET UP KL STATE WORD 7601.09
8250
8251 ;+
8252 ; .INKLF -- SUBROUTINE TO SET UP THE KL STATE FLAG WORD, ".KLFLG".
8253 ;
8254 ; THIS SUBROUTINE SETS UP THE STATE OF THE FOLLOWING
8255 ; FLAG BITS IN THE KL STATE FLAG WORD, ".KLFLG":
8256 ;
8257 ; (A) "KF.CLK" -- KL CLOCK RUNNING FLAG,
8258 ; (B) "KF.RUN" -- KL RUN FLOP SET FLAG,
8259 ; (C) "KF.KLO" -- KL OPCODE ENABLED FLAG.
8260 ;
8261 ; .INKLF MAY BE CALLED DIRECTLY AS DESCRIBED IN THE CALLING SEQUENCE,
8262 ; OR BY ".INIT" WHICH FALLS INTO ".INKLF".
8263 ;
8264 ; INPUT ARGUMENTS:
8265 ;
8266 ; NONE.
8267 ;
8268 ; OUTPUT ARGUMENTS:
8269 ;
8270 ; ".KLFLG" IS SET UP.
8271 ;
8272 ; ERROR CODES RETURNED:
8273 ;
8274 ; CES -- KL CLOCK ERROR STOP.
8275 ; CFH -- CAN'T FIND KL HALT LOOP.
8276 ; DSF -- DTE-20 STATUS FAILURE.
8277 ; DTC -- DTE-20 CONFUSED.
8278 ; FRF -- FUNCTION READ FAILED.
8279 ; FWF -- FUNCTION WRITE FAILED.
8280 ;-
INIT -- INTIALIZATION MODULE 76 MACRO M1108 13-JAN-78 09:14 PAGE 243
.INKLF -- SUBROUTINE TO SET UP KL STATE WORD 7601.09
8282 014272 .INKLF::
8283 014272 SETF$S #E.FHTO ; SET THE HALT TIMEOUT EVENT FLAG
014272 012746 000001 MOV #E.FHTO,-(SP)
014276 012746 MOV (PC)+,-(SP)
014300 041 002 .BYTE 33.,2
014302 104375 EMT 375
8284 014304 103501 BCS 60$ ; ERROR IF CC-C IS SET
8285 014306 PUSH <R0,R1,R2,R3> ; SAVE CALLER'S REGISTERS
014306 010046 MOV R0,-(SP)
014310 010146 MOV R1,-(SP)
014312 010246 MOV R2,-(SP)
014314 010346 MOV R3,-(SP)
8286 014316 CALL .DTSTA ; ....READ THE DTE-20 STATUS REGISTER
014316 004737 004760' JSR PC,.DTSTA
8287 014322 032700 000010 BIT #ST.MOD,R0 ; ....IS THE DTE-20 PRIVILEGED?
8288 014326 001072 BNE INIDNP ; ....UGH, BLETCH -- NO
8289 014330 CALL .CESCK ; ....YES -- SEE IF CLOCK ERROR STOP IS UP
014330 004737 001630' JSR PC,.CESCK
8290 014334 012702 000000G MOV #.KLFLG,R2 ; ....FLAG POINTER TO R2
8291 014340 042712 140000 BIC #KF.CLK!KF.RUN,(R2)
8292 ; ....CLEAR THE CLOCK AND RUNNING FLAGS
8293 014344 005037 000044' CLR .EDKLX ; ....RESET THE ADDRESS TO ZERO
8294 014350 005037 000046' CLR .EDKLX+2 ; ....
8295 014354 012700 000200 MOV #ED.PHY,R0 ; ....PHYSICAL REFERENCE
8296 014360 012701 014530' MOV #.INEXT,R1 ; ....POINT TO DATA BLOCK
8297 014364 CALL .EXKLM ; ....EXAMINE KL MEMORY
014364 004737 005500' JSR PC,.EXKLM
8298 014370 052712 100200 BIS #KF.CON!KF.CLK,(R2)
8299 ; ....SET THE CLOCK RUNNING FLAG
8300 014374 012703 000144 MOV #^D100,R3 ; ....LOOP COUNT TO R3
8301 014400 10$:
8302 014400 CALL .DTDW1 ; ....READ DIAG WORD 1
014400 004737 004742' JSR PC,.DTDW1
8303 014404 032700 002000 BIT #D1.RUN,R0 ; ....IS RUN ON?
8304 014410 001002 BNE 20$ ; ....YES -- GO ON
8305 014412 077306 SOB R3,10$ ; ....NO -- LOOP TILL COUNT EXHAUSTED
8306 014414 000405 BR 30$ ; ....CAN'T FIND IT, GIVE UP
8307 ;
8308
8309 ; [CONTINUED ON THE FOLLOWING PAGE]
INIT -- INTIALIZATION MODULE 76 MACRO M1108 13-JAN-78 09:14 PAGE 244
.INKLF -- SUBROUTINE TO SET UP KL STATE WORD 7601.09
8311 ; [CONTINUED FROM THE PREVIOUS PAGE]
8312
8313 014416 20$:
8314 014416 032700 001000 BIT #D1.HLP,R0 ; ....IS THE HALT LOOP THERE TOO?
8315 014422 001037 BNE INIDTC ; ....YES -- GIVE "DTC" ERROR
8316 014424 052712 040000 BIS #KF.RUN,(R2) ; ....NO -- FOUND IT OK, SET THE FLAG
8317 014430 30$:
8318 014430 011237 000140' MOV (R2),.SVKLF ; ....SAVE THE CURRENT KL STATE
8319 014434 CALL .KLSTP ; ....STOP THE KL
014434 004737 015220' JSR PC,.KLSTP
8320 014440 CALL .RDCPP ; ....READ THE CLOCK BOARD
014440 004737 017602' JSR PC,.RDCPP
8321 014444 005001 CLR R1 ; ....CLEAR R1
8322 014446 012700 000264 MOV #FR.132,R0 ; ....SEE IF KL OPCODES ARE ENABLED
8323 014452 CALL .FREAD ; ....READ IT
014452 004737 010644' JSR PC,.FREAD
8324 014456 032760 000200 000002 BIT #BIT07,2(R0) ; ....ARE THEY ENABLED?
8325 014464 001402 BEQ 40$ ; ....NO -- JUST GO ON
8326 014466 052712 000400 BIS #KF.KLO,(R2) ; ....YES -- SET THE FLAG BIT
8327 014472 40$:
8328 014472 CALL .KLRST ; ....RESTART THE KL
014472 004737 015036' JSR PC,.KLRST
8329 014476 POP <R3,R2,R1,R0> ; ....RESTORE CALLER'S REGISTERS
014476 012603 MOV (SP)+,R3
014500 012602 MOV (SP)+,R2
014502 012601 MOV (SP)+,R1
014504 012600 MOV (SP)+,R0
8330 014506 RETURN ; TO CALLER
014506 000207 RTS PC
8331 014510 60$:
8332 014510 000137 007754' JMP .EXITP ; ERROR EXIT
8333 ;
8334 014514 INIDNP:
8335 014514 ERROR$ DNP ; ERROR -- DTE-20 NOT PRIVILEGED
014514 012746 MOV (PC)+,-(SP) ; "DNP" IN RAD50 TO STACK
014516 015500 .RAD50 /DNP/ ; ERROR IDENTIFIER
014520 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
8336 ;
8337 014522 INIDTC:
8338 014522 ERROR$ DTC ; ERROR --DTE-20 CONFUSED
014522 012746 MOV (PC)+,-(SP) ; "DTC" IN RAD50 TO STACK
014524 016043 .RAD50 /DTC/ ; ERROR IDENTIFIER
014526 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
8339 ;
8340 014530 .INEXT:
8341 014530 000044' .WORD .EDKLX ; ADDRESS 0
8342 014532 000056' .WORD .EXBFR ; PLACE FOR DATA
INITC -- INITIALIZE COMMAND MOD MACRO M1108 13-JAN-78 09:14 PAGE 245
.INKLF -- SUBROUTINE TO SET UP KL STATE WORD 7601.09
8344 .TITLE INITC -- INITIALIZE COMMAND MODULE 7602.16
8345
8346 .IDENT "002010"
8347
8348 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
8349 ;
8350 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
8351 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
8352 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
8353 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
8354 ; FOR ITS ACCURACY.
8355 ;
8356 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
8357 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
8358 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
8359 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
8360 ;
8361 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
8362 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
8363 ;
8364 ;
8365 ; MODULE: INITIALIZE COMMAND
8366 ;
8367 ; VERSION: 02-01
8368 ;
8369 ; AUTHOR: R. BELANGER
8370 ;
8371 ; DATE: 7602.16
8372 ;
8373 ; THIS MODULE CONTAINS:
8374 ;
8375 ; 1) INITIALIZE COMMAND CODE
8376 ;
8377 ; MODIFIED BY A. PECKHAM 7612.10 TO DELETE REFERENCES TO .SECFL
INITC -- INITIALIZE COMMAND MOD MACRO M1108 13-JAN-78 09:14 PAGE 246
.INITC -- THE "INITIALIZE" COMMAND 7602.16
8379 .SBTTL .INITC -- THE "INITIALIZE" COMMAND 7602.16
8380
8381 ;+
8382 ; .INITC -- THE "INITIALIZE" COMMAND
8383 ;
8384 ; THIS ROUTINE (RE)INITIALIZES THE COMMAND PARSER
8385 ;
8386 ; INPUT ARGUMENTS:
8387 ;
8388 ; NONE.
8389 ;
8390 ; OUTPUT ARGUMENTS:
8391 ;
8392 ; ".KLFLG" IS SET UP
8393 ;
8394 ; ERROR CODES RETURNED:
8395 ;
8396 ; NONE.
8397 ;-
8398
8399 014534 .INITC::
8400 014534 CALL .CKEOC ; CHECK FOR E-O-C
014534 004737 002010' JSR PC,.CKEOC
8401 014540 .INIC0::
8402 014540 CALL .INKLF ; INIT THE PARSER
014540 004737 014272' JSR PC,.INKLF
8403 014544 RETURN ; AND EXIT
014544 000207 RTS PC
KLCON -- KL CONTINUE FUNCTION M MACRO M1108 13-JAN-78 09:14 PAGE 247
.INITC -- THE "INITIALIZE" COMMAND 7602.16
8405 .TITLE KLCON -- KL CONTINUE FUNCTION MODULE 7707.12
8406
8407 .IDENT "003060"
8408
8409 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
8410 ;
8411 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
8412 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
8413 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
8414 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
8415 ; FOR ITS ACCURACY.
8416 ;
8417 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
8418 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
8419 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
8420 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
8421 ;
8422 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
8423 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
8424 ;
8425 ;
8426 ; MODULE: KL CONTINUE FUNCTION
8427 ;
8428 ; VERSION: 03-06
8429 ;
8430 ; AUTHOR: R. BELANGER
8431 ;
8432 ; DATE: 7707.12
8433 ;
8434 ; THIS MODULE CONTAINS:
8435 ;
8436 ; 1) KL CONTINUE FUNCTION CODE
KLCON -- KL CONTINUE FUNCTION M MACRO M1108 13-JAN-78 09:14 PAGE 248
.KLCON -- KL CONTINUE SUBROUTINE 7710.11
8438 .SBTTL .KLCON -- KL CONTINUE SUBROUTINE 7710.11
8439
8440 ;+
8441 ; .KLCON -- SUBROUTINE TO CONTINUE THE KL.
8442 ; .KLGO -- SUBROUTINE TO FINISH STARTING THE KL.
8443 ;
8444 ; THIS SUBROUTINE STARTS THE KL CLOCK AND SETS THE KL
8445 ; RUN FLOP ".KLCON" SETS THE CONTINUE FLOP PRIOR TO THIS.
8446 ;
8447 ; SEQUENCE OF OPERATION:
8448 ;
8449 ; .KLCON:
8450 ;
8451 ; (A) THE KL CONTINUE FLOP IS SET,
8452 ;
8453 ; .KLGO:
8454 ;
8455 ; (A) THE KL CLOCK IS STARTED IF NOT IN SINGLE PULSE MODE,
8456 ; (B) THE KL RUN FLOP IS SET IF NOT IN SINGLE INSTRUCTION MODE
8457 ; OR SINGLE PULSE MODE.
8458 ;
8459 ; INPUT ARGUMENTS:
8460 ;
8461 ; NONE.
8462 ;
8463 ; OUTPUT ARGUMENTS:
8464 ;
8465 ; NONE.
8466 ;
8467 ; ERROR CODES RETURNED:
8468 ;
8469 ; CFH -- CAN'T FIND KL HALT LOOP.
8470 ; CSK -- CAN'T START KL.
8471 ; DSF -- DTE-20 STATUS FAILURE.
8472 ; FRF -- FUNCTION READ FAILED.
8473 ; FWF -- FUNCTION WRITE FAILED.
8474 ; FXF -- FUNCTION EXECUTE FAILED.
8475 ;-
KLCON -- KL CONTINUE FUNCTION M MACRO M1108 13-JAN-78 09:14 PAGE 249
.KLCON -- KL CONTINUE SUBROUTINE 7710.11
8477 014546 .KLCON::
8478 014546 PUSH R1 ; SAVE R1 ON THE STACK
014546 010146 MOV R1,-(SP)
8479 014550 012701 000000G MOV #.KLFLG,R1 ; .FLAG WORD POINTER TO R1
8480 014554 .KLGO::
8481 014554 032711 002000 BIT #KF.SPM,(R1) ; .SINGLE PULSE MODE?
8482 014560 001027 BNE 30$ ; .YES -- JUST EXIT
8483 014562 032711 010000 BIT #KF.SIM,(R1) ; .NO -- SINGLE INSTRUCTION MODE?
8484 014566 001002 BNE 10$ ; .YES -- GO ON
8485 014570 CALL .STRUN ; .NO -- SET THE KL RUN FLOP
014570 004737 026636' JSR PC,.STRUN
8486 014574 10$:
8487 014574 012700 000024 MOV #FX.CON,R0 ; .SET THE CONTINUE BUTTON
8488 014600 CALL .FXCT ; .DO IT
014600 004737 011074' JSR PC,.FXCT
8489 014604 032711 100000 BIT #KF.CLK,(R1) ; .IS THE CLOCK RUNNING?
8490 014610 001002 BNE 20$ ; .YES -- EXIT
8491 014612 CALL .STCLK ; .NO -- START THE KL CLOCK
014612 004737 026300' JSR PC,.STCLK
8492 014616 20$:
8493 014616 011100 MOV (R1),R0 ; .GET ".KLFLG" INTO R0
8494 014620 005100 COM R0 ; .INVERT IT
8495 014622 032700 140000 BIT #KF.CLK!KF.RUN,R0 ; .IS THE KL RUNNING??
8496 014626 001004 BNE 30$ ; .NO -- JUST EXIT
8497 014630 052711 000200 BIS #KF.CON,(R1) ; .YES -- KL IS NOW CONTINUEABLE
8498 014634 105037 000000G CLRB .NOHLT ; .LET RSX20F CATCH KL HALTS
8499 014640 30$:
8500 014640 POP R1 ; .RESTORE R1
014640 012601 MOV (SP)+,R1
8501 014642 RETURN ; EXIT
014642 000207 RTS PC
KLHLT -- HALT KL FUNCTION MODUL MACRO M1108 13-JAN-78 09:14 PAGE 250
.KLCON -- KL CONTINUE SUBROUTINE 7710.11
8503 .TITLE KLHLT -- HALT KL FUNCTION MODULE 7603.30
8504
8505 .IDENT "001010"
8506
8507 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
8508 ;
8509 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
8510 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
8511 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
8512 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
8513 ; FOR ITS ACCURACY.
8514 ;
8515 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
8516 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
8517 ;
8518 ;
8519 ; MODULE: HALT KL FUNCTION
8520 ;
8521 ; VERSION: 01-01
8522 ;
8523 ; AUTHOR: R. BELANGER
8524 ;
8525 ; DATE: 7603.30
8526 ;
8527 ; THIS MODULE CONTAINS:
8528 ;
8529 ; 1) KL HALT FUNCTION CODE
KLHLT -- HALT KL FUNCTION MODUL MACRO M1108 13-JAN-78 09:14 PAGE 251
.KLHLT -- SUBROUTINE TO STOP THE KL IN THE HALT LOOP 7601.09
8531 .SBTTL .KLHLT -- SUBROUTINE TO STOP THE KL IN THE HALT LOOP 7601.09
8532
8533 ;+
8534 ; .KLHLT -- SUBROUTINE TO STOP THE KL IN THE HALT LOOP
8535 ; AND SYNCH THE EBOX CLOCK LOW.
8536 ;
8537 ; THIS SUBROUTINE CLEARS THE KL RUN FLOP, GETS THE KL INTO
8538 ; THE MICROCODE HALT LOOP, AND TURNS THE KL CLOCK OFF.
8539 ;
8540 ; SEQUENCE OF OPERATION:
8541 ;
8542 ; (A) THE KL RUN FLOP IS TURNED OFF,
8543 ; (B) THE KL IS MOVED INTO THE UCODE HALT LOOP,
8544 ; (C) A SMALL WAIT IS TIMED OUT (TO LET KL I/O SETTLE)
8545 ; (D) THE KL CLOCK IS TURNED OFF,
8546 ; (E) THE KL CLOCK IS SYNCHED LOW.
8547 ;
8548 ; INPUT ARGUMENTS:
8549 ;
8550 ; NONE.
8551 ;
8552 ; OUTPUT ARGUMENTS:
8553 ;
8554 ; NONE.
8555 ;
8556 ; ERROR CODES RETURNED:
8557 ;
8558 ; CFH -- CAN'T FIND KL HALT LOOP.
8559 ; DSF -- DTE-20 STATUS FAILURE.
8560 ; FWF -- FUNCTION WRITE FAILED.
8561 ; FXF -- FUNCTION EXECUTE FAILED.
8562 ;
8563 ; NOTE: THIS SUBROUTINE EXITS WITH THE KL CLOCK OFF.
8564 ;-
8565
8566 014644 .KLHLT::
8567 014644 PUSH <R0,R1,R2> ; SAVE CALLER'S REGISTERS
014644 010046 MOV R0,-(SP)
014646 010146 MOV R1,-(SP)
014650 010246 MOV R2,-(SP)
8568 014652 CALL .DTDW1 ; ...READ DIAG WORD 1
014652 004737 004742' JSR PC,.DTDW1
8569 014656 032700 004000 BIT #D1.CES,R0 ; ...IS CLOCK ERROR STOP UP?
8570 014662 001016 BNE 40$ ; ...YES -- JUST EXIT
8571 014664 CALL .CLRFF ; ...NO -- CLEAR THE RUN FLOP
014664 004737 002266' JSR PC,.CLRFF
8572 014670 012701 000024 MOV #^D20,R1 ; ...SET UP WAIT COUNT
8573
8574 ; [CONTINUED ON THE FOLLOWING PAGE]
KLHLT -- HALT KL FUNCTION MODUL MACRO M1108 13-JAN-78 09:14 PAGE 252
.KLHLT -- SUBROUTINE TO STOP THE KL IN THE HALT LOOP 7601.09
8576 ; [CONTINUED FROM THE PREVIOUS PAGE]
8577
8578 014674 10$:
8579 014674 CALL .DTDW1 ; ...READ THE DTE-20 DIAG WORD 1
014674 004737 004742' JSR PC,.DTDW1
8580 014700 032700 001000 BIT #D1.HLP,R0 ; ...IN THE HALT LOOP YET?
8581 014704 001001 BNE 20$ ; ...YES -- EXIT
8582 014706 077106 SOB R1,10$ ; ...NO -- TRY TILL COUNT EXHAUSTED
8583 014710 20$:
8584 014710 005701 TST R1 ; ...IS R1 .GT. 0?
8585 014712 003407 BLE 50$ ; ...NO -- GO MOVE THE CLOCK MANUALLY
8586 014714 30$:
8587 014714 CALL .STPXC ; ...STOP THE KL CLOCK
014714 004737 026354' JSR PC,.STPXC
8588 014720 40$:
8589 014720 POP <R2,R1,R0> ; ...RESTORE CALLER'S REGISTERS
014720 012602 MOV (SP)+,R2
014722 012601 MOV (SP)+,R1
014724 012600 MOV (SP)+,R0
8590 014726 CALLR .SYNXC ; SYNCH THE EBOX CLOCK LOW AND EXIT
014726 000137 026760' JMP .SYNXC
8591 ;
8592
8593 ; GET HERE IF WE CAN'T GET INTO HALT LOOP NORMALLY.
8594 ; THIS MEANS THAT:
8595 ;
8596 ; (A) MICROCODE WASN'T RUNNING, OR
8597 ; (B) MICROCODE WASN'T LOADED.
8598
8599 014732 50$:
8600 014732 CALL .STPXC ; ...MAKE SURE THE CLOCK IS OFF
014732 004737 026354' JSR PC,.STPXC
8601 014736 012702 000012 MOV #^D10,R2 ; ...ITERATION COUNT TO R2
8602 014742 60$:
8603 014742 012700 000310 MOV #^D200,R0 ; ...200 (DECIMAL) CLOCKS PER PASS
8604 014746 CALL .BURST ; ...BURST THE CLOCK
014746 004737 001600' JSR PC,.BURST
8605 014752 CALL .DTDW1 ; ...READ DTE-20 DIAG WORD 1
014752 004737 004742' JSR PC,.DTDW1
8606 014756 032700 001000 BIT #D1.HLP,R0 ; ...ARE WE IN HALT LOOP NOW?
8607 014762 001354 BNE 30$ ; ...YES -- GO STOP AND SYNCH THE CLOCK
8608 014764 077212 SOB R2,60$ ; ...NO -- LOOP TILL COUNT EXHAUSTED
8609 014766 KLHCFH:
8610 014766 ERROR$ CFH ; ERROR -- CAN'T FIND HALT LOOP
014766 012746 MOV (PC)+,-(SP) ; "CFH" IN RAD50 TO STACK
014770 011670 .RAD50 /CFH/ ; ERROR IDENTIFIER
014772 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
8611 ;
KLMTB -- KLINIK MODE TABLE MODU MACRO M1108 13-JAN-78 09:14 PAGE 253
.KLHLT -- SUBROUTINE TO STOP THE KL IN THE HALT LOOP 7601.09
8613 .TITLE KLMTB -- KLINIK MODE TABLE MODULE 7702.16
8614
8615 .IDENT "003000"
8616
8617 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
8618 ;
8619 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
8620 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
8621 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
8622 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
8623 ; FOR ITS ACCURACY.
8624 ;
8625 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
8626 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
8627 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
8628 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
8629 ;
8630 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
8631 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
8632 ;
8633 ;
8634 ; MODULE: KLINIK MODE TABLE
8635 ;
8636 ; VERSION: 03-00
8637 ;
8638 ; AUTHOR: R. BELANGER
8639 ;
8640 ; DATE: 7702.16
8641 ;
8642 ; THIS MODULE CONTAINS:
8643 ;
8644 ; 1) THE KLINIK MODE TABLE
8645 ;
8646 ; MODIFICATIONS
8647 ;
8648 ; NO. DATE PROGRAMMER PURPOSE
8649 ; --- ---- ---------- --------
8650 ; 001 16-FEB-77 R. BELANGER NEW KLINIK FEATURES
KLMTB -- KLINIK MODE TABLE MODU MACRO M1108 13-JAN-78 09:14 PAGE 254
.KLMTB -- THE KLINIK MODE TABLE 7702.16
8652 .SBTTL .KLMTB -- THE KLINIK MODE TABLE 7702.16
8653
8654 014774 .KLMTB::
8655 014774 COMND$ MAINTENANCE,LG.ALL,LG.ALL
001425 115 101 111 .ASCIZ %MAINTENANCE%
001430 116 124 105
001433 116 101 116
001436 103 105 000
014774 001425' .WORD $$CMDN ; POINTER TO "MAINTENANCE" SYMBOL
014776 000007 .WORD LG.ALL ; LEGAL BITS
015000 000007 .WORD LG.ALL ; ROUTINE TO CALL
8656 015002 COMND$ OPERATOR,LG.ALL,LG.OPR
001441 117 120 105 .ASCIZ %OPERATOR%
001444 122 101 124
001447 117 122 000
015002 001441' .WORD $$CMDN ; POINTER TO "OPERATOR" SYMBOL
015004 000007 .WORD LG.ALL ; LEGAL BITS
015006 000001 .WORD LG.OPR ; ROUTINE TO CALL
8657 015010 COMND$ PROGRAMMER,LG.ALL,LG.PRM
001452 120 122 117 .ASCIZ %PROGRAMMER%
001455 107 122 101
001460 115 115 105
001463 122 000
015010 001452' .WORD $$CMDN ; POINTER TO "PROGRAMMER" SYMBOL
015012 000007 .WORD LG.ALL ; LEGAL BITS
015014 000003 .WORD LG.PRM ; ROUTINE TO CALL
8658 015016 000000 .WORD 0 ; END OF TABLE MARKER
8659
8660 015020 .KLMT1::
8661 015020 COMND$ REMOTE,LG.ALL,1
001465 122 105 115 .ASCIZ %REMOTE%
001470 117 124 105
001473 000
015020 001465' .WORD $$CMDN ; POINTER TO "REMOTE" SYMBOL
015022 000007 .WORD LG.ALL ; LEGAL BITS
015024 000001 .WORD 1 ; ROUTINE TO CALL
8662 015026 COMND$ USER,LG.ALL,-1
001474 125 123 105 .ASCIZ %USER%
001477 122 000
015026 001474' .WORD $$CMDN ; POINTER TO "USER" SYMBOL
015030 000007 .WORD LG.ALL ; LEGAL BITS
015032 177777 .WORD -1 ; ROUTINE TO CALL
8663 015034 000000 .WORD 0 ; END OF TABLE MARKER
KLRST -- KL RESTART FUNCTION MO MACRO M1108 13-JAN-78 09:14 PAGE 255
.KLMTB -- THE KLINIK MODE TABLE 7702.16
8665 .TITLE KLRST -- KL RESTART FUNCTION MODULE 7512.22
8666
8667 .IDENT "002010"
8668
8669 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
8670 ;
8671 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
8672 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
8673 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
8674 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
8675 ; FOR ITS ACCURACY.
8676 ;
8677 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
8678 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
8679 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
8680 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
8681 ;
8682 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
8683 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
8684 ;
8685 ;
8686 ; MODULE: KL RESTART FUNCTION
8687 ;
8688 ; VERSION: 02-01
8689 ;
8690 ; AUTHOR: R. BELANGER
8691 ;
8692 ; DATE: 7512.22
8693 ;
8694 ; THIS MODULE CONTAINS:
8695 ;
8696 ; 1) KL RESTART CODE
8697 ;
8698 ; MODIFIED BY A. PECKHAM 7612.11 TO MAINTAIN THE ".NOHLT" FLAG
KLRST -- KL RESTART FUNCTION MO MACRO M1108 13-JAN-78 09:14 PAGE 256
.KLRST -- SUBROUTINE TO RESTART THE KL 7512.22
8700 .SBTTL .KLRST -- SUBROUTINE TO RESTART THE KL 7512.22
8701
8702 ;+
8703 ; .KLRST -- SUBROUTINE TO RESTART THE KL.
8704 ;
8705 ; THIS SUBROUTINE WILL RESTART THE KL AS DIRECTED BY ".SVKLF",
8706 ; THE SAVED KL STATE FLAG WORD.
8707 ;
8708 ; INPUT ARGUMENTS:
8709 ;
8710 ; THE SAVED COPY OF ".KLFLG" IS IN ".SVKLF"
8711 ;
8712 ; OUTPUT ARGUMENTS:
8713 ;
8714 ; ".SVKLF" IS CLEARED.
8715 ;
8716 ; ERROR CODES RETURNED:
8717 ;
8718 ; CFH -- CAN'T FIND KL HALT LOOP.
8719 ; DSF -- DTE-20 STATUS FAILURE.
8720 ; FRF -- FUNCTION READ FAILED.
8721 ; FWF -- FUNCTION WRITE FAILED.
8722 ; FXF -- FUNCTION EXECUTE FAILED.
8723 ;-
KLRST -- KL RESTART FUNCTION MO MACRO M1108 13-JAN-78 09:14 PAGE 257
.KLRST -- SUBROUTINE TO RESTART THE KL 7512.22
8725 015036 .KLRST::
8726 015036 PUSH <R1,R0> ; SAVE R0 AND R1
015036 010146 MOV R1,-(SP)
015040 010046 MOV R0,-(SP)
8727 015042 013701 000140' MOV .SVKLF,R1 ; ..GET COPY OF OLD FLAGS
8728 015046 032701 013000 BIT #KF.SPM!KF.SIM!KF.BRM,R1
8729 015052 001016 BNE 20$ ; ..BRANCH IF BURST, SINGLE INSTRUCTION OR PULSE MODE
8730 015054 005101 COM R1 ; ..INVERT R1
8731 015056 032701 140000 BIT #KF.RUN!KF.CLK,R1
8732 015062 001011 BNE 10$ ; ..BRANCH IF NOT RUNNING
8733 015064 CALL .STRUN ; ..SET THE RUN FLOP
015064 004737 026636' JSR PC,.STRUN
8734 015070 012700 000024 MOV #FX.CON,R0 ; ..NOW DO THE CONTINUE BUTTON
8735 015074 CALL .FXCT ; ..SO
015074 004737 011074' JSR PC,.FXCT
8736 015100 013701 000140' MOV .SVKLF,R1 ; ..ELSE GET THE WORD AGAIN
8737 015104 000406 BR 30$ ; ..AND GO AWAY
8738 ;
8739 015106 10$:
8740 015106 005101 COM R1 ; ..STRAIGHTEN R1 OUT
8741 015110 20$:
8742 015110 032701 040000 BIT #KF.RUN,R1 ; ..WAS RUN FLOP SET?
8743 015114 001402 BEQ 30$ ; ..NO -- GO ON
8744 015116 CALL .STRUN ; ..YES -- SET THE RUN FLOP
015116 004737 026636' JSR PC,.STRUN
8745 015122 30$:
8746 015122 032701 100000 BIT #KF.CLK,R1 ; ..WAS CLOCK RUNNING?
8747 015126 001413 BEQ 40$ ; ..NO -- JUST EXIT
8748 015130 032737 100000 000000G BIT #KF.CLK,.KLFLG ; ..YES -- IS THE CLOCK ALREADY ON?
8749 015136 001007 BNE 40$ ; ..YES -- JUST EXIT
8750 015140 CALL .STCLK ; ..NO -- START THE CLOCK
015140 004737 026300' JSR PC,.STCLK
8751 015144 032701 040000 BIT #KF.RUN,R1 ; ..DID WE LET IT RUN ?
8752 015150 001402 BEQ 40$ ; ..NO -- JUST EXIT
8753 015152 105037 000000G CLRB .NOHLT ; ..YES -- LET RSX20F CHECK FOR HALTS
8754 015156 40$:
8755 015156 POP <R0,R1> ; ..RESTORE R0 AND R1
015156 012600 MOV (SP)+,R0
015160 012601 MOV (SP)+,R1
8756 015162 005037 000140' CLR .SVKLF ; RESET ".SVKLF"
8757 015166 RETURN ; AND EXIT
015166 000207 RTS PC
KLST -- KL START FUNCTION MODUL MACRO M1108 13-JAN-78 09:14 PAGE 258
.KLRST -- SUBROUTINE TO RESTART THE KL 7512.22
8759 .TITLE KLST -- KL START FUNCTION MODULE 7603.30
8760
8761 .IDENT "001010"
8762
8763 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
8764 ;
8765 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
8766 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
8767 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
8768 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
8769 ; FOR ITS ACCURACY.
8770 ;
8771 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
8772 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
8773 ;
8774 ;
8775 ; MODULE: KL START FUNCTION
8776 ;
8777 ; VERSION: 01-01
8778 ;
8779 ; AUTHOR: R. BELANGER
8780 ;
8781 ; DATE: 7603.30
8782 ;
8783 ; THIS MODULE CONTAINS:
8784 ;
8785 ; 1) CONDITIONALLY ASSEMBLED KL START CODE
KLST -- KL START FUNCTION MODUL MACRO M1108 13-JAN-78 09:14 PAGE 259
.KLST -- SUBROUTINE TO START THE KL 7512.08
8787 .SBTTL .KLST -- SUBROUTINE TO START THE KL 7512.08
8788
8789 ; .KLST -- SUBROUTINE TO START THE KL.
8790 ;
8791 ; THIS SUBROUTINE STARTS THE KL FROM THE HALT LOOP AT THE ADDRESS
8792 ; POINTED T0 BY R1 IN THE CALL.
8793 ;
8794 ; SEQUENCE OF OPERATION:
8795 ;
8796 ; (A) THE KL IS STOPPED IN THE HALT LOOP,
8797 ; (B) THE PC WORD IS LOADED INTO THE AR REGISTER,
8798 ; (C) THE KL IS ALLOWED TO RUN THRU ".KLCON".
8799 ;
8800 ; INPUT ARGUMENTS:
8801 ;
8802 ; R1 POINTS TO A 23 BIT KL ADDRESS
8803 ;
8804 ; OUTPUT ARGUMENTS:
8805 ;
8806 ; NONE.
8807 ;
8808 ; ERROR CODES RETURNED:
8809 ;
8810 ; CFH -- CAN'T FIND KL HALT LOOP.
8811 ; CSK -- CAN'T START KL.
8812 ; DSF -- DTE-20 STATUS FAILURE.
8813 ; FRF -- FUNCTION READ FAILED.
8814 ; FWF -- FUNCTION WRITE FAILED.
8815 ; FXF -- FUNCTION EXECUTE FAILED.
8816 ;
8817 ; NOTE:
8818 ;
8819 ; THIS SUBROUTINE IS DEPENDENT UPON MICROCODE VERSION 122.
8820 ;-
KLST -- KL START FUNCTION MODUL MACRO M1108 13-JAN-78 09:14 PAGE 260
.KLST -- SUBROUTINE TO START THE KL 7512.08
8822 015170 .KLST::
8823 015170 PUSH R1 ; SAVE POINTER ON THE STACK
015170 010146 MOV R1,-(SP)
8824 015172 CALL .KLHLT ; .HALT THE KL
015172 004737 014644' JSR PC,.KLHLT
8825 015176 011601 MOV (SP),R1 ; .GET THE POINTER
8826 015200 012700 000176 MOV #FW.LAR,R0 ; .LOAD THE AR REGISTER
8827 015204 CALL .FWRIT ; .DO IT
015204 004737 010740' JSR PC,.FWRIT
8828 015210 012701 000000G MOV #.KLFLG,R1 ; .POINT TO ".KLFLG"
8829 015214 CALLR .KLGO ; .AND FINISH THE START
015214 000137 014554' JMP .KLGO
8830 ;
KLSTP -- KL STOP FUNCTION MODUL MACRO M1108 13-JAN-78 09:14 PAGE 261
.KLST -- SUBROUTINE TO START THE KL 7512.08
8832 .TITLE KLSTP -- KL STOP FUNCTION MODULE 7603.30
8833
8834 .IDENT "001010"
8835
8836 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
8837 ;
8838 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
8839 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
8840 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
8841 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
8842 ; FOR ITS ACCURACY.
8843 ;
8844 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
8845 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
8846 ;
8847 ;
8848 ; MODULE: KL STOP FUNCTION
8849 ;
8850 ; VERSION: 01-01
8851 ;
8852 ; AUTHOR: R. BELANGER
8853 ;
8854 ; DATE: 7603.30
8855 ;
8856 ; THIS MODULE CONTAINS:
8857 ;
8858 ; 1) KL STOP CODE
KLSTP -- KL STOP FUNCTION MODUL MACRO M1108 13-JAN-78 09:14 PAGE 262
.KLSTP -- SUBROUTINE TO GET THE KL INTO THE HALT LOOP 7512.19
8860 .SBTTL .KLSTP -- SUBROUTINE TO GET THE KL INTO THE HALT LOOP 7512.19
8861
8862 ;+
8863 ; .KLSTP -- SUBROUTINE TO PUT THE KL INTO THE HALT LOOP.
8864 ;
8865 ; THIS SUBROUTINE WILL PUT THE KL INTO THE MICROCODE HALT LOOP
8866 ; AND EXIT WITH THE KL CLOCK RUNNING.
8867 ;
8868 ; INPUT ARGUMENTS:
8869 ;
8870 ; NONE.
8871 ;
8872 ; OUTPUT ARGUMENTS:
8873 ;
8874 ; NONE.
8875 ;
8876 ; ERROR CODES RETURNED:
8877 ;
8878 ; CFH -- CAN'T FIND HALT LOOP.
8879 ; DSF -- DTE-20 STATUS FAILURE.
8880 ; FXF -- FUNCTION EXECUTE FAILED.
8881 ;-
8882
8883 015220 .KLSTP::
8884 015220 032737 100000 000000G BIT #KF.CLK,.KLFLG ; IS THE CLOCK OFF?
8885 015226 001002 BNE 10$ ; NO -- GO ON
8886 015230 CALLR .KLHLT ; YES -- HALT THE KL
015230 000137 014644' JMP .KLHLT
8887 ;
8888 015234 10$:
8889 015234 PUSH <R0,R1> ; SAVE R0 AND R1 ON THE STACK
015234 010046 MOV R0,-(SP)
015236 010146 MOV R1,-(SP)
8890 015240 012701 000144 MOV #^D100,R1 ; ..SETUP WAIT COUNT
8891 015244 CALL .CLRFF ; ..CLEAR THE RUN FLOP
015244 004737 002266' JSR PC,.CLRFF
8892 015250 20$:
8893 015250 CALL .DTDW1 ; ..READ DIAG WORD 1
015250 004737 004742' JSR PC,.DTDW1
8894 015254 032700 001000 BIT #D1.HLP,R0 ; ..ARE WE IN THE HALT LOOP?
8895 015260 001001 BNE 30$ ; ..YES -- GO ON
8896 015262 077106 SOB R1,20$ ; ..NO -- KEEP TRYING
8897 015264 30$:
8898 015264 005701 TST R1 ; ..IS R1 .GT. 0?
8899 015266 003403 BLE KLSCFH ; ..NO -- GIVE "CFH" ERROR
8900 015270 POP <R1,R0> ; ..YES -- RESTORE REGISTERS
015270 012601 MOV (SP)+,R1
015272 012600 MOV (SP)+,R0
8901 015274 RETURN ; TO CALLER
015274 000207 RTS PC
8902 015276 KLSCFH:
8903 015276 ERROR$ CFH ; ERROR -- CAN'T FIND KL HALT LOOP
015276 012746 MOV (PC)+,-(SP) ; "CFH" IN RAD50 TO STACK
015300 011670 .RAD50 /CFH/ ; ERROR IDENTIFIER
015302 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
8904 ;
KLXCT -- KL EXECUTE FUNCTION MO MACRO M1108 13-JAN-78 09:14 PAGE 263
.KLSTP -- SUBROUTINE TO GET THE KL INTO THE HALT LOOP 7512.19
8906 .TITLE KLXCT -- KL EXECUTE FUNCTION MODULE 7603.30
8907
8908 .IDENT "001010"
8909
8910 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
8911 ;
8912 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
8913 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
8914 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
8915 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
8916 ; FOR ITS ACCURACY.
8917 ;
8918 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
8919 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
8920 ;
8921 ;
8922 ; MODULE: KL EXECUTE FUNCTION
8923 ;
8924 ; VERSION: 01-01
8925 ;
8926 ; AUTHOR: R. BELANGER
8927 ;
8928 ; DATE: 7603.30
8929 ;
8930 ; THIS MODULE CONTAINS:
8931 ;
8932 ; 1) KL EXECUTE FUNCTION CODE
KLXCT -- KL EXECUTE FUNCTION MO MACRO M1108 13-JAN-78 09:14 PAGE 264
.KLXCT -- KL INSTRUCTION EXECUTE SUBROUTINE 7509.10
8934 .SBTTL .KLXCT -- KL INSTRUCTION EXECUTE SUBROUTINE 7509.10
8935
8936 ;+
8937 ; .KLXCT -- SUBROUTINE TO EXECUTE A KL INSTRUCTION.
8938 ;
8939 ; THIS SUBROUTINE LOADS A KL INSTRUCTION INTO THE AR REGISTER
8940 ; AND CAUSES THAT INSTRUCTION TO BE EXECUTED.
8941 ;
8942 ; SEQUENCE OF OPERATION:
8943 ;
8944 ; (A) THE KL IS STOPPED IN THE HALT LOOP WITH THE CLOCK OFF,
8945 ; (B) INSTRUCTION TO BE EXECUTED IS LOADED INTO THE AR,
8946 ; (C) THE KL CONTINUE FLOP IS SET.
8947 ;
8948 ; INPUT ARGUMENTS:
8949 ;
8950 ; R1 POINTS TO A 36 BIT KL INSTRUCTION WORD
8951 ;
8952 ; OUTPUT ARGUMENTS:
8953 ;
8954 ; NONE.
8955 ;
8956 ; ERROR CODES RETURNED:
8957 ;
8958 ; CFH -- CAN'T FIND KL HALT LOOP.
8959 ; DSF -- DTE-20 STATUS FAILURE.
8960 ; FRF -- FUNCTION READ FAILED.
8961 ; FWF -- FUNCTION WRITE FAILED.
8962 ; FXF -- FUNCTION EXECUTE FAILED.
8963 ;-
8964
8965 015304 .KLXCT::
8966 015304 CALL .KLHLT ; STOP THE KL IN THE HALT LOOP
015304 004737 014644' JSR PC,.KLHLT
8967 015310 012700 000176 MOV #FW.LAR,R0 ; LOAD THE AR REGISTER
8968 015314 CALL .FWRIT ; DO IT
015314 004737 010740' JSR PC,.FWRIT
8969 015320 012700 000024 MOV #FX.CON,R0 ; SET THE "CONTINUE BUTTON"
8970 015324 CALLR .FXCT ; DO IT AND RETURN
015324 000137 011074' JMP .FXCT
8971 ;
LDBRC -- KL CLOCK BURST COUNTER MACRO M1108 13-JAN-78 09:14 PAGE 265
.KLXCT -- KL INSTRUCTION EXECUTE SUBROUTINE 7509.10
8973 .TITLE LDBRC -- KL CLOCK BURST COUNTER LOAD FUNCTION MODULE 7603.30
8974
8975 .IDENT "001010"
8976
8977 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
8978 ;
8979 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
8980 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
8981 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
8982 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
8983 ; FOR ITS ACCURACY.
8984 ;
8985 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
8986 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
8987 ;
8988 ;
8989 ; MODULE: KL CLOCK BURST COUNTER LOAD FUNCTION
8990 ;
8991 ; VERSION: 01-01
8992 ;
8993 ; AUTHOR: R. BELANGER
8994 ;
8995 ; DATE: 7603.30
8996 ;
8997 ; THIS MODULE CONTAINS:
8998 ;
8999 ; 1) KL CLOCK BURST COUNTER LOAD CODE
LDBRC -- KL CLOCK BURST COUNTER MACRO M1108 13-JAN-78 09:14 PAGE 266
.LDBRG -- MBOX BURST COUNT LOAD SUBROUTINE 7601.02
9001 .SBTTL .LDBRG -- MBOX BURST COUNT LOAD SUBROUTINE 7601.02
9002
9003 ;+
9004 ; .LDBRC -- SUBROUTINE TO STOP THE KL CLOCK AND LOAD THE
9005 ; MBOX BURST COUNT REGISTER AS IN ".LDBRG".
9006 ; .LDBRG -- SUBROUTINE TO LOAD THE MBOX CLOCK BURST COUNTER.
9007 ;
9008 ; THIS SUBROUTINE LOADS THE KL MBOX BURST COUNT REGISTER
9009 ; WITH THE COUNT PASSED TO IT IN R0.
9010 ;
9011 ; INPUT ARGUMENTS:
9012 ;
9013 ; R0 CONTAINS THE CLOCK COUNT
9014 ;
9015 ; OUTPUT ARGUMENTS:
9016 ;
9017 ; NONE.
9018 ;
9019 ; ERROR CODES RETURNED:
9020 ;
9021 ; FWF -- FUNCTION WRITE FAILED.
9022 ; FXF -- FUNCTION EXECUTE FAILED.
9023 ;-
LDBRC -- KL CLOCK BURST COUNTER MACRO M1108 13-JAN-78 09:14 PAGE 267
.LDBRG -- MBOX BURST COUNT LOAD SUBROUTINE 7601.02
9025 015330 .LDBRC::
9026 015330 CALL .STPXC ; STOP THE KL CLOCK
015330 004737 026354' JSR PC,.STPXC
9027 015334 .LDBRG::
9028 015334 PUSH <R1,R0> ; SAVE R1 AND R0 ON THE STACK
015334 010146 MOV R1,-(SP)
015336 010046 MOV R0,-(SP)
9029 015340 CALL .CLDFB ; ..CLEAR THE DFW BUFFERS
015340 004737 002234' JSR PC,.CLDFB
9030 015344 011600 MOV (SP),R0 ; ..GET THE BURST COUNT FROM THE STACK
9031 015346 042700 177760 BIC #177760,R0 ; ..CLEAR UNUSED BITS
9032 015352 010037 000214' MOV R0,.DFWB ; ..SET RIGHT COUNT IN THE BUFFER
9033 015356 012700 000104 MOV #FW.LBR,R0 ; ..SET UP TO LOAD THE RIGHT HALF
9034 015362 005001 CLR R1 ; ..CLEAR R1
9035 015364 CALL .FWRIT ; ..DO IT
015364 004737 010740' JSR PC,.FWRIT
9036 015370 011600 MOV (SP),R0 ; ..GET THE ORIGINAL COUNT FROM THE STACK
9037 015372 012701 177774 MOV #-^D4,R1 ; ..SHIFT COUNT TO R1
9038 015376 CALL .SHIFT ; ..SHIFT IT RIGHT 4 PLACES
015376 004737 025702' JSR PC,.SHIFT
9039 015402 042700 177760 BIC #177760,R0 ; ..CLEAR UNUSED BITS
9040 015406 010037 000214' MOV R0,.DFWB ; ..PUT THE HIGH COUNT IN THE WRITE BUFFER
9041 015412 005001 CLR R1 ; ..CLEAR R1
9042 015414 012700 000106 MOV #FW.LBL,R0 ; ..SET UP TO LOAD THE LEFT HALF
9043 015420 CALL .FWRIT ; ..DO IT
015420 004737 010740' JSR PC,.FWRIT
9044 015424 POP <R0,R1> ; ..RESTORE R0 AND R1
015424 012600 MOV (SP)+,R0
015426 012601 MOV (SP)+,R1
9045 015430 RETURN ; AND LEAVE
015430 000207 RTS PC
LDCPC -- KL CLOCK AND PARITY CO MACRO M1108 13-JAN-78 09:14 PAGE 268
.LDBRG -- MBOX BURST COUNT LOAD SUBROUTINE 7601.02
9047 .TITLE LDCPC -- KL CLOCK AND PARITY CONTROL LOAD FUNCTION MODULE 7603.30
9048
9049 .IDENT "001010"
9050
9051 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
9052 ;
9053 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
9054 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
9055 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
9056 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
9057 ; FOR ITS ACCURACY.
9058 ;
9059 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
9060 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
9061 ;
9062 ;
9063 ; MODULE: KL CLOCK AND PARITY CONTROL LOAD
9064 ;
9065 ; VERSION: 01-01
9066 ;
9067 ; AUTHOR: R. BELANGER
9068 ;
9069 ; DATE: 7603.30
9070 ;
9071 ; THIS MODULE CONTAINS:
9072 ;
9073 ; 1) KL CLOCK CONTROL LOAD CODE
9074 ; 2) KL PARITY CONTROL LOAD CODE
LDCPC -- KL CLOCK AND PARITY CO MACRO M1108 13-JAN-78 09:14 PAGE 269
.LDCPC -- KL CLOCK AND PARITY LOAD SUBROUTINES 7509.30
9076 .SBTTL .LDCPC -- KL CLOCK AND PARITY LOAD SUBROUTINES 7509.30
9077
9078 ;+
9079 ; .LDCLK -- SUBROUTINE TO LOAD THE KL CLOCK CONTROL REGISTERS.
9080 ; .LDPAR -- SUBROUTINE TO LOAD THE KL PARITY CONTROL REGISTERS.
9081 ;
9082 ; THESE SUBROUTINES SET UP THE KL CLOCK SOURCE, RATE, AND
9083 ; DISTRIBUTION REGISTERS OR THE PARITY CONTROL REGISTERS.
9084 ;
9085 ; SEQUENCE OF OPERATION:
9086 ;
9087 ; .LDCLK:
9088 ;
9089 ; (A) THE KL CLOCK SOURCE, RATE, AND DISTRIBUTION
9090 ; PARAMETERS ARE SET IN THE CLOCK CONTROL REGISTERS,
9091 ; (B) THE PARAMETERS WRITTEN IN (A) ARE SAVED IN THE
9092 ; CLOCK STATUS WORD (".CLKWD").
9093 ;
9094 ; .LDPAR:
9095 ;
9096 ; (A) THE KL INTERNAL PARITY CONTROL BITS ARE WRITTEN INTO THE
9097 ; PARITY CONTROL REGISTER,
9098 ; (B) THE CONTROL BITS WITTEN IN (A) ARE SAVED IN THE PARITY
9099 ; CONTROL WORD (".PSCWD").
9100 ;
9101 ; INPUT ARGUMENTS:
9102 ;
9103 ; R1 POINTS TO A PARAMETER WORD
9104 ;
9105 ; THE CLOCK PARAMETER POINTER POINTS TO A WORD WITH FORMAT:
9106 ;
9107 ; !========================================!
9108 ; ! DISTRIBUTION ! SOURCE AND RATE !
9109 ; !========================================!
9110 ;
9111 ; THE PARITY PARAMETER POINTER POINTS TO A WORD WITH FORMAT:
9112 ;
9113 ; !========================================!
9114 ; ! CONTROL BITS ! CLOCK STOP BITS !
9115 ; !========================================!
9116 ;
9117 ; OUTPUT ARGUMENTS:
9118 ;
9119 ; R0 CONTAINS A COPY OF THE UPDATED PARAMTER WORD
9120 ;
9121 ; ERROR CODES RETURNED:
9122 ;
9123 ; FWF -- FUNCTION WRITE FAILED.
9124 ;-
LDCPC -- KL CLOCK AND PARITY CO MACRO M1108 13-JAN-78 09:14 PAGE 270
.LDCPC -- KL CLOCK AND PARITY LOAD SUBROUTINES 7509.30
9126 .ENABL LSB
9127
9128 015432 .LDCLK::
9129 015432 CALL R5,.REGSV ; SAVE R5 - R1 ON THE STACK
015432 004537 021556' JSR R5,.REGSV
9130 015436 012703 000010' MOV #.CLKWD,R3 ; CONTROL WORD POINTER TO R3
9131 015442 012704 000110 MOV #FW.CSR,R4 ; BASE CLOCK WRITE TO R4
9132 015446 000406 BR 10$ ; DO COMMON CODE
9133 ;
9134 015450 .LDPAR::
9135 015450 CALL R5,.REGSV ; SAVE R5 - R1 ON THE STACK
015450 004537 021556' JSR R5,.REGSV
9136 015454 012703 000116' MOV #.PSCWD,R3 ; CONTROL WORD POINTER TO R3
9137 015460 012704 000114 MOV #FW.IPE,R4 ; BASE PARITY WRITE TO R4
9138 ; FALL INTO COMMON CODE
9139 015464 10$:
9140 015464 010102 MOV R1,R2 ; CALLER'S PARAMETER POINTER TO R2
9141 015466 CALL .CLDFW ; CLEAR THE WRITE BUFFER
015466 004737 002250' JSR PC,.CLDFW
9142 015472 005001 CLR R1 ; CLEAR R1
9143 015474 111237 000214' MOVB (R2),.DFWB ; SET LOW BYTE PARAMETER
9144 015500 010400 MOV R4,R0 ; DFW CODE TO R0
9145 015502 CALL .FWRIT ; DO IT
015502 004737 010740' JSR PC,.FWRIT
9146 015506 112223 MOVB (R2)+,(R3)+ ; MARK THE NEW LOW BYTE CODE
9147 015510 005724 TST (R4)+ ; NEXT WRITE CODE
9148 015512 111210 MOVB (R2),(R0) ; SET THE HIGH BYTE PARAMETERS
9149 015514 010400 MOV R4,R0 ; DFW CODE TO R0
9150 015516 CALL .FWRIT ; DO IT
015516 004737 010740' JSR PC,.FWRIT
9151 015522 111223 MOVB (R2),(R3)+ ; MARK THE NEW HIGH BYTE CODE
9152 015524 014300 MOV -(R3),R0 ; PUT A COPY IN R0
9153 015526 RETURN ; EXIT
015526 000207 RTS PC
9154
9155 .DSABL LSB
LDCRA -- KL CRAM ADDRESS LOAD F MACRO M1108 13-JAN-78 09:14 PAGE 271
.LDCPC -- KL CLOCK AND PARITY LOAD SUBROUTINES 7509.30
9157 .TITLE LDCRA -- KL CRAM ADDRESS LOAD FUNCTION MODULE 7603.30
9158
9159 .IDENT "001010"
9160
9161 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
9162 ;
9163 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
9164 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
9165 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
9166 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
9167 ; FOR ITS ACCURACY.
9168 ;
9169 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
9170 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
9171 ;
9172 ;
9173 ; MODULE: KL CRAM ADDRESS LOAD FUNCTION
9174 ;
9175 ; VERSION: 01-01
9176 ;
9177 ; AUTHOR: R. BELANGER
9178 ;
9179 ; DATE: 7603.30
9180 ;
9181 ; THIS MODULE CONTAINS:
9182 ;
9183 ; 1) KL CRAM ADDRESS LOAD CODE
LDCRA -- KL CRAM ADDRESS LOAD F MACRO M1108 13-JAN-78 09:14 PAGE 272
.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE 7511.19
9185 .SBTTL .LDCRA -- LOAD CRAM ADDRESS SUBROUTINE 7511.19
9186
9187 ;+
9188 ; .LDCRA -- SUBROUTINE TO LOAD A 12 BIT ADDRESS INTO THE
9189 ; KL CRAM ADDRESS REGISTER.
9190 ;
9191 ; THIS SUBROUTINE LOADS A 12 BIT CRAM ADDRESS INTO THE
9192 ; KL CRAM ADDRESS REGISTER.
9193 ;
9194 ; SEQUENCE OF OPERATION:
9195 ;
9196 ; (A) THE KL CLOCK IS TURNED OFF (BY (B)),
9197 ; (B) THE KL CRAM ADDRESS IS CLEARED BY ".RESET",
9198 ; (C) THE ADDRESS IS LOADED INTO CRAM DIAG ADDR.
9199 ;
9200 ; INPUT ARGUMENTS:
9201 ;
9202 ; R0 CONTAINS THE CRAM ADDRESS TO BE LOADED
9203 ;
9204 ; OUTPUT ARGUMENTS:
9205 ;
9206 ; NONE.
9207 ;
9208 ; ERROR CODES RETURNED:
9209 ;
9210 ; FWF -- FUNCTION WRITE FAILED.
9211 ;-
LDCRA -- KL CRAM ADDRESS LOAD F MACRO M1108 13-JAN-78 09:14 PAGE 273
.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE 7511.19
9213 015530 .LDCRA::
9214 015530 042700 170000 BIC #170000,R0 ; CLEAR UNUSED BITS
9215 015534 PUSH <R1,R0> ; PUT R0 AND R1 ON THE STACK
015534 010146 MOV R1,-(SP)
015536 010046 MOV R0,-(SP)
9216 015540 CALL .RESTP ; ..CLEAR CRAM DIAG ADDR AND CRAM ADDR
015540 004737 021504' JSR PC,.RESTP
9217 ; ..ALSO RETAIN CLOCK AND PARITY CONTROL
9218 015544 CALL .CLDFW ; ..CLEAR THE FW BUFFER
015544 004737 002250' JSR PC,.CLDFW
9219 015550 012700 000214' MOV #.DFWB,R0 ; ..SET UP THE BUFFER ADDRESS
9220 015554 011610 MOV (SP),(R0) ; ..LOAD THE ADDRESS FROM THE STACK
9221 015556 001427 BEQ 10$ ; ..LEAVE NOW IF ZERO
9222 015560 042710 174077 BIC #174077,(R0) ; ..CLEAR UNWANTED BITS
9223 015564 012701 000030 MOV #^D24,R1 ; ..SHIFT COUNT TO R1
9224 015570 CALL .TPSHI ; ..SHIFT IT OVER
015570 004737 027636' JSR PC,.TPSHI
9225 015574 005001 CLR R1 ; ..CLEAR R1
9226 015576 012700 000124 MOV #FW.CA2,R0 ; ..SET UP TO WRITE IT
9227 015602 CALL .FWRIT ; ..DO IT
015602 004737 010740' JSR PC,.FWRIT
9228 015606 011610 MOV (SP),(R0) ; ..GET ADDRESS FROM THE STACK AGAIN
9229 015610 042710 177700 BIC #177700,(R0) ; ..CLEAR UNWANTED BITS
9230 015614 012701 000036 MOV #^D30,R1 ; ..SHIFT COUNT TO R1
9231 015620 CALL .TPSHI ; ..SHIFT THAT OVER
015620 004737 027636' JSR PC,.TPSHI
9232 015624 005001 CLR R1 ; ..CLEAR R1
9233 015626 012700 000122 MOV #FW.CA1,R0 ; ..SET UP TO WRITE IT
9234 015632 CALL .FWRIT ; ..DO IT
015632 004737 010740' JSR PC,.FWRIT
9235 015636 10$:
9236 015636 POP <R0,R1> ; ..RESTORE REGISTERS
015636 012600 MOV (SP)+,R0
015640 012601 MOV (SP)+,R1
9237 015642 RETURN ; EXIT TO CALLER
015642 000207 RTS PC
MONTB -- MONTH TABLE MODULE 770 MACRO M1108 13-JAN-78 09:14 PAGE 274
.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE 7511.19
9239 .TITLE MONTB -- MONTH TABLE MODULE 7702.16
9240
9241 .IDENT "003000"
9242
9243 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
9244 ;
9245 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
9246 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
9247 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
9248 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
9249 ; FOR ITS ACCURACY.
9250 ;
9251 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
9252 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
9253 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
9254 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
9255 ;
9256 ; MODULE: MONTH TABLE
9257 ;
9258 ; VERSION: 03-00
9259 ;
9260 ; AUTHOR: R. BELANGER
9261 ;
9262 ; DATE: 7702.16
9263 ;
9264 ; THIS MODULE CONTAINS:
9265 ;
9266 ; 1) MONTH TABLE
9267 ;
9268 ; MODIFICATIONS:
9269 ;
9270 ; NO. DATE PROGRAMMER REASON
9271 ; --- ---- ---------- ------
9272 ; 001 16-FEB-77 R. BELANGER REMOVE KLINIK CONDITIONALS
MONTB -- MONTH TABLE MODULE 770 MACRO M1108 13-JAN-78 09:14 PAGE 275
.MONTB -- THE MONTH TABLE 7702.16
9274 .SBTTL .MONTB -- THE MONTH TABLE 7702.16
9275
9276
9277 015644 .MONTB::
9278 015644 COMND$ JANUARY,LG.ALL,1.
001501 112 101 116 .ASCIZ %JANUARY%
001504 125 101 122
001507 131 000
015644 001501' .WORD $$CMDN ; POINTER TO "JANUARY" SYMBOL
015646 000007 .WORD LG.ALL ; LEGAL BITS
015650 000001 .WORD 1. ; ROUTINE TO CALL
9279 015652 COMND$ FEBRUARY,LG.ALL,2.
001511 106 105 102 .ASCIZ %FEBRUARY%
001514 122 125 101
001517 122 131 000
015652 001511' .WORD $$CMDN ; POINTER TO "FEBRUARY" SYMBOL
015654 000007 .WORD LG.ALL ; LEGAL BITS
015656 000002 .WORD 2. ; ROUTINE TO CALL
9280 015660 COMND$ MARCH,LG.ALL,3.
001522 115 101 122 .ASCIZ %MARCH%
001525 103 110 000
015660 001522' .WORD $$CMDN ; POINTER TO "MARCH" SYMBOL
015662 000007 .WORD LG.ALL ; LEGAL BITS
015664 000003 .WORD 3. ; ROUTINE TO CALL
9281 015666 COMND$ APRIL,LG.ALL,4.
001530 101 120 122 .ASCIZ %APRIL%
001533 111 114 000
015666 001530' .WORD $$CMDN ; POINTER TO "APRIL" SYMBOL
015670 000007 .WORD LG.ALL ; LEGAL BITS
015672 000004 .WORD 4. ; ROUTINE TO CALL
9282 015674 COMND$ MAY,LG.ALL,5.
001536 115 101 131 .ASCIZ %MAY%
001541 000
015674 001536' .WORD $$CMDN ; POINTER TO "MAY" SYMBOL
015676 000007 .WORD LG.ALL ; LEGAL BITS
015700 000005 .WORD 5. ; ROUTINE TO CALL
9283 015702 COMND$ JUNE,LG.ALL,6.
001542 112 125 116 .ASCIZ %JUNE%
001545 105 000
015702 001542' .WORD $$CMDN ; POINTER TO "JUNE" SYMBOL
015704 000007 .WORD LG.ALL ; LEGAL BITS
015706 000006 .WORD 6. ; ROUTINE TO CALL
9284 015710 COMND$ JULY,LG.ALL,7.
001547 112 125 114 .ASCIZ %JULY%
001552 131 000
015710 001547' .WORD $$CMDN ; POINTER TO "JULY" SYMBOL
015712 000007 .WORD LG.ALL ; LEGAL BITS
015714 000007 .WORD 7. ; ROUTINE TO CALL
9285 015716 COMND$ AUGUST,LG.ALL,8.
001554 101 125 107 .ASCIZ %AUGUST%
001557 125 123 124
001562 000
015716 001554' .WORD $$CMDN ; POINTER TO "AUGUST" SYMBOL
015720 000007 .WORD LG.ALL ; LEGAL BITS
015722 000010 .WORD 8. ; ROUTINE TO CALL
9286 015724 COMND$ SEPTEMBER,LG.ALL,9.
001563 123 105 120 .ASCIZ %SEPTEMBER%
MONTB -- MONTH TABLE MODULE 770 MACRO M1108 13-JAN-78 09:14 PAGE 275-1
.MONTB -- THE MONTH TABLE 7702.16
001566 124 105 115
001571 102 105 122
001574 000
015724 001563' .WORD $$CMDN ; POINTER TO "SEPTEMBER" SYMBOL
015726 000007 .WORD LG.ALL ; LEGAL BITS
015730 000011 .WORD 9. ; ROUTINE TO CALL
9287 015732 COMND$ OCTOBER,LG.ALL,10.
001575 117 103 124 .ASCIZ %OCTOBER%
001600 117 102 105
001603 122 000
015732 001575' .WORD $$CMDN ; POINTER TO "OCTOBER" SYMBOL
015734 000007 .WORD LG.ALL ; LEGAL BITS
015736 000012 .WORD 10. ; ROUTINE TO CALL
9288 015740 COMND$ NOVEMBER,LG.ALL,11.
001605 116 117 126 .ASCIZ %NOVEMBER%
001610 105 115 102
001613 105 122 000
015740 001605' .WORD $$CMDN ; POINTER TO "NOVEMBER" SYMBOL
015742 000007 .WORD LG.ALL ; LEGAL BITS
015744 000013 .WORD 11. ; ROUTINE TO CALL
9289 015746 COMND$ DECEMBER,LG.ALL,12.
001616 104 105 103 .ASCIZ %DECEMBER%
001621 105 115 102
001624 105 122 000
015746 001616' .WORD $$CMDN ; POINTER TO "DECEMBER" SYMBOL
015750 000007 .WORD LG.ALL ; LEGAL BITS
015752 000014 .WORD 12. ; ROUTINE TO CALL
9290 015754 000000 .WORD 0 ; END OF TABLE MARKER
9291
MRCLR -- KL MASTER CLEAR FUNCTI MACRO M1108 13-JAN-78 09:14 PAGE 276
.MONTB -- THE MONTH TABLE 7702.16
9293 .TITLE MRCLR -- KL MASTER CLEAR FUNCTION MODULE 7607.15
9294
9295 .IDENT "001010"
9296
9297 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
9298 ;
9299 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
9300 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
9301 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
9302 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
9303 ; FOR ITS ACCURACY.
9304 ;
9305 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
9306 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
9307 ;
9308 ;
9309 ; MODULE: KL MASTER CLEAR FUNCTION
9310 ;
9311 ; VERSION: 01-01
9312 ;
9313 ; AUTHOR: R. BELANGER
9314 ;
9315 ; DATE: 7607.15
9316 ;
9317 ; THIS MODULE CONTAINS:
9318 ;
9319 ; 1) KL MASTER CLEAR CODE
MRCLR -- KL MASTER CLEAR FUNCTI MACRO M1108 13-JAN-78 09:14 PAGE 277
.MRCLR -- KL MASTER RESET SUBROUTINE 7607.15
9321 .SBTTL .MRCLR -- KL MASTER RESET SUBROUTINE 7607.15
9322
9323 ;+
9324 ; .MRCLR -- SUBROUTINE TO CLEAR THE KL IN THE MASTER RESET STATE.
9325 ;
9326 ; THIS SUBROUTINE SETS THE KL MASTER RESET FLOP AND ALLOWS THE
9327 ; KL CLOCK TO RUN, CLEARING THE KL.
9328 ;
9329 ; SEQUENCE OF OPERATION:
9330 ;
9331 ; (A) THE MASTER RESET FLOP IS SET,
9332 ; (B) THE KL CLOCK IS ALLOWED TO RUN FOR A SHORT TIME,
9333 ; (C) THE NXM TIMERS ARE RESYNCHRONIZED,
9334 ; (D) THE KL CLOCK IS STOPPED AND SYNCHED,
9335 ; (E) THE MASTER RESET FLOP IS CLEARED.
9336 ;
9337 ; INPUT ARGUMENTS:
9338 ;
9339 ; NONE.
9340 ;
9341 ; OUTPUT ARGUMENTS:
9342 ;
9343 ; NONE.
9344 ;
9345 ; ERROR CODES RETURNED:
9346 ;
9347 ; FRF -- FUNCTION READ FAILED.
9348 ; FWF -- FUNCTION WRITE FAILED.
9349 ; FXF -- FUNCTION EXECUTE FAILED.
9350 ;-
9351
9352 015756 .MRCLR::
9353 015756 PUSH <R0,R1,R2> ; SAVE REGISTERS
015756 010046 MOV R0,-(SP)
015760 010146 MOV R1,-(SP)
015762 010246 MOV R2,-(SP)
9354 015764 012700 000016 MOV #FX.SMR,R0 ; ...SET MASTER RESET FLOP
9355 015770 CALL .FXCT ; ...DO IT
015770 004737 011074' JSR PC,.FXCT
9356 015774 052737 020000 000000G BIS #KF.MRS,.KLFLG ; ...SET THE FLAG
9357 016002 CALL .STCLF ; ...FORCE START THE KL CLOCK
016002 004737 026306' JSR PC,.STCLF
9358 016006 012701 000764 MOV #^D500,R1 ; ...SET UP WAIT COUNT
9359
9360 ; [CONTINUED ON THE FOLLOWING PAGE]
MRCLR -- KL MASTER CLEAR FUNCTI MACRO M1108 13-JAN-78 09:14 PAGE 278
.MRCLR -- KL MASTER RESET SUBROUTINE 7607.15
9362 ; [CONTINUED FROM THE PREVIOUS PAGE]
9363
9364 016012 10$:
9365 016012 077101 SOB R1,10$ ; ...STALL A WHILE
9366 016014 CALL .STPXC ; ...STOP THE KL CLOCK
016014 004737 026354' JSR PC,.STPXC
9367 016020 CALL .CLDFB ; ...CLEAR THE FUNCTION BUFFERS
016020 004737 002234' JSR PC,.CLDFB
9368 016024 012700 000160 MOV #FW.CHN,R0 ; ...CLEAR THE CHANNELS
9369 016030 CALL .FWRIT ; ...DO IT
016030 004737 010740' JSR PC,.FWRIT
9370 016034 012702 000003 MOV #^D3,R2 ; ...LOOP COUNT TO R2
9371 016040 20$: ; ...HERE TO RESYNCH THE NXM TIMERS
9372 016040 005001 CLR R1 ; ...CLEAR R1
9373 016042 012700 000344 MOV #FR.162,R0 ; ...LOOK FOR [A CHANGE COMING L]
9374 016046 CALL .FREAD ; ...DO THE READ
016046 004737 010644' JSR PC,.FREAD
9375 016052 032710 000010 BIT #BIT03,(R0) ; ...IS IT THERE?
9376 016056 001405 BEQ 30$ ; ...YES -- GO ON
9377 016060 012700 000004 MOV #FX.MBC,R0 ; ...NO -- STEP THE CLOCK
9378 016064 CALL .FXCT ; ...DO IT
016064 004737 011074' JSR PC,.FXCT
9379 016070 077215 SOB R2,20$ ; ...LOOP THREE TIMES MAX
9380 016072 30$:
9381 016072 CALL .SYNXC ; ...SYNCH THE CLOCK
016072 004737 026760' JSR PC,.SYNXC
9382 016076 012700 000014 MOV #FX.CMR,R0 ; ...CLEAR MASTER RESET FLOP
9383 016102 CALL .FXCT ; ...DO IT
016102 004737 011074' JSR PC,.FXCT
9384 016106 042737 020300 000000G BIC #KF.MRS!KF.CON!KF.CES,.KLFLG
9385 ; ...CLEAR THE FLAGS
9386 016114 POP <R2,R1,R0> ; ...RESTORE REGISTERS
016114 012602 MOV (SP)+,R2
016116 012601 MOV (SP)+,R1
016120 012600 MOV (SP)+,R0
9387 016122 RETURN ; EXIT TO CALLER
016122 000207 RTS PC
NSETB -- NORMAL ERROR CODE TABL MACRO M1108 13-JAN-78 09:14 PAGE 279
.MRCLR -- KL MASTER RESET SUBROUTINE 7607.15
9389 .TITLE NSETB -- NORMAL ERROR CODE TABLE 7707.12
9390
9391 .IDENT "003060"
9392
9393 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
9394 ;
9395 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
9396 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
9397 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
9398 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
9399 ; FOR ITS ACCURACY.
9400 ;
9401 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
9402 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
9403 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
9404 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
9405 ;
9406 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
9407 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
9408 ;
9409 ;
9410 ; MODULE: NORMAL ERROR CODE TABLE
9411 ;
9412 ; VERSION: 03-06
9413 ;
9414 ; AUTHOR: R. BELANGER
9415 ;
9416 ; DATE: 7707.12
9417 ;
9418 ; THIS MODULE CONTAINS:
9419 ;
9420 ; 1) NORMAL ERROR CODE TABLE
NSETB -- NORMAL ERROR CODE TABL MACRO M1108 13-JAN-78 09:14 PAGE 280
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
9422 .SBTTL .NSETB -- NORMAL ERROR CODE TABLE 7710.11
9423
9424 016124 .NSETB::
9425 016124 NSERR$ APE,<KL APR ERROR>
001627 101 120 105 .ASCIZ %APE - KL APR ERROR%
001632 040 055 040
001635 113 114 040
001640 101 120 122
001643 040 105 122
001646 122 117 122
001651 000
016124 004305 .RAD50 /APE/ ; "APE" IN .RAD50
016126 001627' .WORD APEMSG ; POINTER TO MESSAGE
9426 ;
9427 016130 NSERR$ BAE,<BURST ARGUMENT ERROR>
001652 102 101 105 .ASCIZ %BAE - BURST ARGUMENT ERROR%
001655 040 055 040
001660 102 125 122
001663 123 124 040
001666 101 122 107
001671 125 115 105
001674 116 124 040
001677 105 122 122
001702 117 122 000
016130 006255 .RAD50 /BAE/ ; "BAE" IN .RAD50
016132 001652' .WORD BAEMSG ; POINTER TO MESSAGE
9428 ;
9429 016134 NSERR$ CAE,<KL CRAM ADDRESS ERROR>
001705 103 101 105 .ASCIZ %CAE - KL CRAM ADDRESS ERROR%
001710 040 055 040
001713 113 114 040
001716 103 122 101
001721 115 040 101
001724 104 104 122
001727 105 123 123
001732 040 105 122
001735 122 117 122
001740 000
016134 011355 .RAD50 /CAE/ ; "CAE" IN .RAD50
016136 001705' .WORD CAEMSG ; POINTER TO MESSAGE
9430 016140 NSERR$ CBO,<COMMAND BUFFER OVERFLOW>
001741 103 102 117 .ASCIZ %CBO - COMMAND BUFFER OVERFLOW%
001744 040 055 040
001747 103 117 115
001752 115 101 116
001755 104 040 102
001760 125 106 106
001763 105 122 040
001766 117 126 105
001771 122 106 114
001774 117 127 000
016140 011437 .RAD50 /CBO/ ; "CBO" IN .RAD50
016142 001741' .WORD CBOMSG ; POINTER TO MESSAGE
9431 016144 NSERR$ CDI,<CLEAR DATE ILLEGAL>
001777 103 104 111 .ASCIZ %CDI - CLEAR DATE ILLEGAL%
002002 040 055 040
002005 103 114 105
NSETB -- NORMAL ERROR CODE TABL MACRO M1108 13-JAN-78 09:14 PAGE 280-1
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
002010 101 122 040
002013 104 101 124
002016 105 040 111
002021 114 114 105
002024 107 101 114
002027 000
016144 011551 .RAD50 /CDI/ ; "CDI" IN .RAD50
016146 001777' .WORD CDIMSG ; POINTER TO MESSAGE
9432 016150 NSERR$ CFH,<CAN'T FIND KL HALT LOOP>
002030 103 106 110 .ASCIZ %CFH - CAN'T FIND KL HALT LOOP%
002033 040 055 040
002036 103 101 116
002041 047 124 040
002044 106 111 116
002047 104 040 113
002052 114 040 110
002055 101 114 124
002060 040 114 117
002063 117 120 000
016150 011670 .RAD50 /CFH/ ; "CFH" IN .RAD50
016152 002030' .WORD CFHMSG ; POINTER TO MESSAGE
9433 016154 NSERR$ CLE,<CONSOLE LIMIT EXCEEDED>
002066 103 114 105 .ASCIZ %CLE - CONSOLE LIMIT EXCEEDED%
002071 040 055 040
002074 103 117 116
002077 123 117 114
002102 105 040 114
002105 111 115 111
002110 124 040 105
002113 130 103 105
002116 105 104 105
002121 104 000
016154 012245 .RAD50 /CLE/ ; "CLE" IN .RAD50
016156 002066' .WORD CLEMSG ; POINTER TO MESSAGE
9434 016160 NSERR$ CNR,<COMMAND IS NOT REPEATABLE>
002123 103 116 122 .ASCIZ %CNR - COMMAND IS NOT REPEATABLE%
002126 040 055 040
002131 103 117 115
002134 115 101 116
002137 104 040 111
002142 123 040 116
002145 117 124 040
002150 122 105 120
002153 105 101 124
002156 101 102 114
002161 105 000
016160 012402 .RAD50 /CNR/ ; "CNR" IN .RAD50
016162 002123' .WORD CNRMSG ; POINTER TO MESSAGE
9435 016164 NSERR$ CPE,<CAN'T PHASE EBOX>
002163 103 120 105 .ASCIZ %CPE - CAN'T PHASE EBOX%
002166 040 055 040
002171 103 101 116
002174 047 124 040
002177 120 110 101
002202 123 105 040
002205 105 102 117
002210 130 000
NSETB -- NORMAL ERROR CODE TABL MACRO M1108 13-JAN-78 09:14 PAGE 280-2
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
016164 012505 .RAD50 /CPE/ ; "CPE" IN .RAD50
016166 002163' .WORD CPEMSG ; POINTER TO MESSAGE
9436 ;
9437 .IF NE FTDRAM
9438 NSERR$ DAE,<KL DRAM ADDRESS ERROR>
9439 .ENDC ; FTDRAM
9440 016170 NSERR$ DAV,<DATE ALREADY VALID>
002212 104 101 126 .ASCIZ %DAV - DATE ALREADY VALID%
002215 040 055 040
002220 104 101 124
002223 105 040 101
002226 114 122 105
002231 101 104 131
002234 040 126 101
002237 114 111 104
002242 000
016170 014476 .RAD50 /DAV/ ; "DAV" IN .RAD50
016172 002212' .WORD DAVMSG ; POINTER TO MESSAGE
9441 016174 NSERR$ DBT,<DATE BEFORE TODAY>
002243 104 102 124 .ASCIZ %DBT - DATE BEFORE TODAY%
002246 040 055 040
002251 104 101 124
002254 105 040 102
002257 105 106 117
002262 122 105 040
002265 124 117 104
002270 101 131 000
016174 014544 .RAD50 /DBT/ ; "DBT" IN .RAD50
016176 002243' .WORD DBTMSG ; POINTER TO MESSAGE
9442 016200 NSERR$ DCK,<DIVIDE CHECK>
002273 104 103 113 .ASCIZ %DCK - DIVIDE CHECK%
002276 040 055 040
002301 104 111 126
002304 111 104 105
002307 040 103 110
002312 105 103 113
002315 000
016200 014603 .RAD50 /DCK/ ; "DCK" IN .RAD50
016202 002273' .WORD DCKMSG ; POINTER TO MESSAGE
9443 016204 NSERR$ DMF,<DEPOSIT KL MEMORY FAILED>
002316 104 115 106 .ASCIZ %DMF - DEPOSIT KL MEMORY FAILED%
002321 040 055 040
002324 104 105 120
002327 117 123 111
002332 124 040 113
002335 114 040 115
002340 105 115 117
002343 122 131 040
002346 106 101 111
002351 114 105 104
002354 000
016204 015416 .RAD50 /DMF/ ; "DMF" IN .RAD50
016206 002316' .WORD DMFMSG ; POINTER TO MESSAGE
9444 016210 NSERR$ DOR,<DATE OUT OF RANGE>
002355 104 117 122 .ASCIZ %DOR - DATE OUT OF RANGE%
002360 040 055 040
002363 104 101 124
NSETB -- NORMAL ERROR CODE TABL MACRO M1108 13-JAN-78 09:14 PAGE 280-3
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
002366 105 040 117
002371 125 124 040
002374 117 106 040
002377 122 101 116
002402 107 105 000
016210 015552 .RAD50 /DOR/ ; "DOR" IN .RAD50
016212 002355' .WORD DORMSG ; POINTER TO MESSAGE
9445 016214 NSERR$ DNP,<DTE-20 IS NOT PRIVILEGED>
002405 104 116 120 .ASCIZ %DNP - DTE-20 IS NOT PRIVILEGED%
002410 040 055 040
002413 104 124 105
002416 055 062 060
002421 040 111 123
002424 040 116 117
002427 124 040 120
002432 122 111 126
002435 111 114 105
002440 107 105 104
002443 000
016214 015500 .RAD50 /DNP/ ; "DNP" IN .RAD50
016216 002405' .WORD DNPMSG ; POINTER TO MESSAGE
9446 016220 NSERR$ DSF,<DTE-20 STATUS FAILED>
002444 104 123 106 .ASCIZ %DSF - DTE-20 STATUS FAILED%
002447 040 055 040
002452 104 124 105
002455 055 062 060
002460 040 123 124
002463 101 124 125
002466 123 040 106
002471 101 111 114
002474 105 104 000
016220 015776 .RAD50 /DSF/ ; "DSF" IN .RAD50
016222 002444' .WORD DSFMSG ; POINTER TO MESSAGE
9447 016224 NSERR$ DTC,<DTE-20 CONFUSED - RUN AND HALT LOOP>
002477 104 124 103 .ASCIZ %DTC - DTE-20 CONFUSED - RUN AND HALT LOOP%
002502 040 055 040
002505 104 124 105
002510 055 062 060
002513 040 103 117
002516 116 106 125
002521 123 105 104
002524 040 055 040
002527 122 125 116
002532 040 101 116
002535 104 040 110
002540 101 114 124
002543 040 114 117
002546 117 120 000
016224 016043 .RAD50 /DTC/ ; "DTC" IN .RAD50
016226 002477' .WORD DTCMSG ; POINTER TO MESSAGE
9448 ;
9449 016230 NSERR$ ECT,<EBOX CLOCK TIMEOUT>
002551 105 103 124 .ASCIZ %ECT - EBOX CLOCK TIMEOUT%
002554 040 055 040
002557 105 102 117
002562 130 040 103
002565 114 117 103
NSETB -- NORMAL ERROR CODE TABL MACRO M1108 13-JAN-78 09:14 PAGE 280-4
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
002570 113 040 124
002573 111 115 105
002576 117 125 124
002601 000
016230 017714 .RAD50 /ECT/ ; "ECT" IN .RAD50
016232 002551' .WORD ECTMSG ; POINTER TO MESSAGE
9450 016234 NSERR$ EMF,<EXAMINE KL MEMORY FAILED>
002602 105 115 106 .ASCIZ %EMF - EXAMINE KL MEMORY FAILED%
002605 040 055 040
002610 105 130 101
002613 115 111 116
002616 105 040 113
002621 114 040 115
002624 105 115 117
002627 122 131 040
002632 106 101 111
002635 114 105 104
002640 000
016234 020516 .RAD50 /EMF/ ; "EMF" IN .RAD50
016236 002602' .WORD EMFMSG ; POINTER TO MESSAGE
9451 016240 NSERR$ EOC,<END OF COMMAND REQUIRED>
002641 105 117 103 .ASCIZ %EOC - END OF COMMAND REQUIRED%
002644 040 055 040
002647 105 116 104
002652 040 117 106
002655 040 103 117
002660 115 115 101
002663 116 104 040
002666 122 105 121
002671 125 111 122
002674 105 104 000
016240 020633 .RAD50 /EOC/ ; "EOC" IN .RAD50
016242 002641' .WORD EOCMSG ; POINTER TO MESSAGE
9452 016244 NSERR$ EPE,<EBUS PARITY ERROR>
002677 105 120 105 .ASCIZ %EPE - EBUS PARITY ERROR%
002702 040 055 040
002705 105 102 125
002710 123 040 120
002713 101 122 111
002716 124 131 040
002721 105 122 122
002724 117 122 000
016244 020705 .RAD50 /EPE/ ; "EPE" IN .RAD50
016246 002677' .WORD EPEMSG ; POINTER TO MESSAGE
9453 016250 NSERR$ ESD,<EBOX STOPPED - DEPOSIT>
002727 105 123 104 .ASCIZ %ESD - EBOX STOPPED - DEPOSIT%
002732 040 055 040
002735 105 102 117
002740 130 040 123
002743 124 117 120
002746 120 105 104
002751 040 055 040
002754 104 105 120
002757 117 123 111
002762 124 000
016250 021074 .RAD50 /ESD/ ; "ESD" IN .RAD50
016252 002727' .WORD ESDMSG ; POINTER TO MESSAGE
NSETB -- NORMAL ERROR CODE TABL MACRO M1108 13-JAN-78 09:14 PAGE 280-5
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
9454 016254 NSERR$ ESE,<EBOX STOPPED - EXAMINE>
002764 105 123 105 .ASCIZ %ESE - EBOX STOPPED - EXAMINE%
002767 040 055 040
002772 105 102 117
002775 130 040 123
003000 124 117 120
003003 120 105 104
003006 040 055 040
003011 105 130 101
003014 115 111 116
003017 105 000
016254 021075 .RAD50 /ESE/ ; "ESE" IN .RAD50
016256 002764' .WORD ESEMSG ; POINTER TO MESSAGE
9455 ;
9456 016260 NSERR$ IDF,<ILLEGAL DATE FORMAT>
003021 111 104 106 .ASCIZ %IDF - ILLEGAL DATE FORMAT%
003024 040 055 040
003027 111 114 114
003032 105 107 101
003035 114 040 104
003040 101 124 105
003043 040 106 117
003046 122 115 101
003051 124 000
016260 034346 .RAD50 /IDF/ ; "IDF" IN .RAD50
016262 003021' .WORD IDFMSG ; POINTER TO MESSAGE
9457 016264 NSERR$ IFC,<ILLEGAL FUNCTION CODE>
003053 111 106 103 .ASCIZ %IFC - ILLEGAL FUNCTION CODE%
003056 040 055 040
003061 111 114 114
003064 105 107 101
003067 114 040 106
003072 125 116 103
003075 124 111 117
003100 116 040 103
003103 117 104 105
003106 000
016264 034463 .RAD50 /IFC/ ; "IFC" IN .RAD50
016266 003053' .WORD IFCMSG ; POINTER TO MESSAGE
9458 016270 NSERR$ IOC,<ILLEGAL KL OPCODE>
003107 111 117 103 .ASCIZ %IOC - ILLEGAL KL OPCODE%
003112 040 055 040
003115 111 114 114
003120 105 107 101
003123 114 040 113
003126 114 040 117
003131 120 103 117
003134 104 105 000
016270 035233 .RAD50 /IOC/ ; "IOC" IN .RAD50
016272 003107' .WORD IOCMSG ; POINTER TO MESSAGE
9459 016274 NSERR$ IRC,<ILLEGAL REPEAT COUNT>
003137 111 122 103 .ASCIZ %IRC - ILLEGAL REPEAT COUNT%
003142 040 055 040
003145 111 114 114
003150 105 107 101
003153 114 040 122
003156 105 120 105
NSETB -- NORMAL ERROR CODE TABL MACRO M1108 13-JAN-78 09:14 PAGE 280-6
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
003161 101 124 040
003164 103 117 125
003167 116 124 000
016274 035423 .RAD50 /IRC/ ; "IRC" IN .RAD50
016276 003137' .WORD IRCMSG ; POINTER TO MESSAGE
9460 016300 NSERR$ ITF,<ILLEGAL TIME FORMAT>
003172 111 124 106 .ASCIZ %ITF - ILLEGAL TIME FORMAT%
003175 040 055 040
003200 111 114 114
003203 105 107 101
003206 114 040 124
003211 111 115 105
003214 040 106 117
003217 122 115 101
003222 124 000
016300 035546 .RAD50 /ITF/ ; "ITF" IN .RAD50
016302 003172' .WORD ITFMSG ; POINTER TO MESSAGE
9461 016304 NSERR$ ITN,<ILLEGAL TASK NAME>
003224 111 124 116 .ASCIZ %ITN - ILLEGAL TASK NAME%
003227 040 055 040
003232 111 114 114
003235 105 107 101
003240 114 040 124
003243 101 123 113
003246 040 116 101
003251 115 105 000
016304 035556 .RAD50 /ITN/ ; "ITN" IN .RAD50
016306 003224' .WORD ITNMSG ; POINTER TO MESSAGE
9462 ;
9463 016310 NSERR$ KCN,<KL CLOCK IS OFF>
003254 113 103 116 .ASCIZ %KCN - KL CLOCK IS OFF%
003257 040 055 040
003262 113 114 040
003265 103 114 117
003270 103 113 040
003273 111 123 040
003276 117 106 106
003301 000
016310 042506 .RAD50 /KCN/ ; "KCN" IN .RAD50
016312 003254' .WORD KCNMSG ; POINTER TO MESSAGE
9464 016314 NSERR$ KLA,<KL ADDRESS ERROR>
003302 113 114 101 .ASCIZ %KLA - KL ADDRESS ERROR%
003305 040 055 040
003310 113 114 040
003313 101 104 104
003316 122 105 123
003321 123 040 105
003324 122 122 117
003327 122 000
016314 043241 .RAD50 /KLA/ ; "KLA" IN .RAD50
016316 003302' .WORD KLAMSG ; POINTER TO MESSAGE
9465 016320 NSERR$ KLR,<ILLEGAL WHILE KL IS RUNNING>
003331 113 114 122 .ASCIZ %KLR - ILLEGAL WHILE KL IS RUNNING%
003334 040 055 040
003337 111 114 114
003342 105 107 101
003345 114 040 127
NSETB -- NORMAL ERROR CODE TABL MACRO M1108 13-JAN-78 09:14 PAGE 280-7
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
003350 110 111 114
003353 105 040 113
003356 114 040 111
003361 123 040 122
003364 125 116 116
003367 111 116 107
003372 000
016320 043262 .RAD50 /KLR/ ; "KLR" IN .RAD50
016322 003331' .WORD KLRMSG ; POINTER TO MESSAGE
9466 016324 NSERR$ KNC,<KL IS NOT CONTINUABLE>
003373 113 116 103 .ASCIZ %KNC - KL IS NOT CONTINUABLE%
003376 040 055 040
003401 113 114 040
003404 111 123 040
003407 116 117 124
003412 040 103 117
003415 116 124 111
003420 116 125 101
003423 102 114 105
003426 000
016324 043363 .RAD50 /KNC/ ; "KNC" IN .RAD50
016326 003373' .WORD KNCMSG ; POINTER TO MESSAGE
9467 016330 NSERR$ KWE,<KLINIK WINDOW ERROR>
003427 113 127 105 .ASCIZ %KWE - KLINIK WINDOW ERROR%
003432 040 055 040
003435 113 114 111
003440 116 111 113
003443 040 127 111
003446 116 104 117
003451 127 040 105
003454 122 122 117
003457 122 000
016330 044135 .RAD50 /KWE/ ; "KWE" IN .RAD50
016332 003427' .WORD KWEMSG ; POINTER TO MESSAGE
9468 ;
9469 016334 NSERR$ MRA,<MISSING REQUIRED ARGUMENT>
003461 115 122 101 .ASCIZ %MRA - MISSING REQUIRED ARGUMENT%
003464 040 055 040
003467 115 111 123
003472 123 111 116
003475 107 040 122
003500 105 121 125
003503 111 122 105
003506 104 040 101
003511 122 107 125
003514 115 105 116
003517 124 000
016334 052021 .RAD50 /MRA/ ; "MRA" IN .RAD50
016336 003461' .WORD MRAMSG ; POINTER TO MESSAGE
9470 ;
9471 016340 NSERR$ NDI,<NULL DATE ILLEGAL>
003521 116 104 111 .ASCIZ %NDI - NULL DATE ILLEGAL%
003524 040 055 040
003527 116 125 114
003532 114 040 104
003535 101 124 105
003540 040 111 114
NSETB -- NORMAL ERROR CODE TABL MACRO M1108 13-JAN-78 09:14 PAGE 280-8
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
003543 114 105 107
003546 101 114 000
016340 054051 .RAD50 /NDI/ ; "NDI" IN .RAD50
016342 003521' .WORD NDIMSG ; POINTER TO MESSAGE
9472 016344 NSERR$ NER,<NUMERIC EXPRESSION REQUIRED>
003551 116 105 122 .ASCIZ %NER - NUMERIC EXPRESSION REQUIRED%
003554 040 055 040
003557 116 125 115
003562 105 122 111
003565 103 040 105
003570 130 120 122
003573 105 123 123
003576 111 117 116
003601 040 122 105
003604 121 125 111
003607 122 105 104
003612 000
016344 054132 .RAD50 /NER/ ; "NER" IN .RAD50
016346 003551' .WORD NERMSG ; POINTER TO MESSAGE
9473 016350 NSERR$ NOR,<INPUT NUMBER OUT OF RANGE>
003613 116 117 122 .ASCIZ %NOR - INPUT NUMBER OUT OF RANGE%
003616 040 055 040
003621 111 116 120
003624 125 124 040
003627 116 125 115
003632 102 105 122
003635 040 117 125
003640 124 040 117
003643 106 040 122
003646 101 116 107
003651 105 000
016350 054752 .RAD50 /NOR/ ; "NOR" IN .RAD50
016352 003613' .WORD NORMSG ; POINTER TO MESSAGE
9474 016354 NSERR$ NPI,<NULL PASSWORD ILLEGAL>
003653 116 120 111 .ASCIZ %NPI - NULL PASSWORD ILLEGAL%
003656 040 055 040
003661 116 125 114
003664 114 040 120
003667 101 123 123
003672 127 117 122
003675 104 040 111
003700 114 114 105
003703 107 101 114
003706 000
016354 055011 .RAD50 /NPI/ ; "NPI" IN .RAD50
016356 003653' .WORD NPIMSG ; POINTER TO MESSAGE
9475 016360 NSERR$ NST,<NO SUCH TASK>
003707 116 123 124 .ASCIZ %NST - NO SUCH TASK%
003712 040 055 040
003715 116 117 040
003720 123 125 103
003723 110 040 124
003726 101 123 113
003731 000
016360 055214 .RAD50 /NST/ ; "NST" IN .RAD50
016362 003707' .WORD NSTMSG ; POINTER TO MESSAGE
9476 016364 NSERR$ NTI,<NULL TIME ILLEGAL>
NSETB -- NORMAL ERROR CODE TABL MACRO M1108 13-JAN-78 09:14 PAGE 280-9
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
003732 116 124 111 .ASCIZ %NTI - NULL TIME ILLEGAL%
003735 040 055 040
003740 116 125 114
003743 114 040 124
003746 111 115 105
003751 040 111 114
003754 114 105 107
003757 101 114 000
016364 055251 .RAD50 /NTI/ ; "NTI" IN .RAD50
016366 003732' .WORD NTIMSG ; POINTER TO MESSAGE
9477 ;
9478 016370 NSERR$ OAI,<ODD ADDRESS ILLEGAL>
003762 117 101 111 .ASCIZ %OAI - ODD ADDRESS ILLEGAL%
003765 040 055 040
003770 117 104 104
003773 040 101 104
003776 104 122 105
004001 123 123 040
004004 111 114 114
004007 105 107 101
004012 114 000
016370 056761 .RAD50 /OAI/ ; "OAI" IN .RAD50
016372 003762' .WORD OAIMSG ; POINTER TO MESSAGE
9479 016374 NSERR$ OFC,<ODD FUNCTION CODE>
004014 117 106 103 .ASCIZ %OFC - ODD FUNCTION CODE%
004017 040 055 040
004022 117 104 104
004025 040 106 125
004030 116 103 124
004033 111 117 116
004036 040 103 117
004041 104 105 000
016374 057263 .RAD50 /OFC/ ; "OFC" IN .RAD50
016376 004014' .WORD OFCMSG ; POINTER TO MESSAGE
9480 ;
9481 016400 NSERR$ PTL,<PASSWORD TOO LONG>
004044 120 124 114 .ASCIZ %PTL - PASSWORD TOO LONG%
004047 040 055 040
004052 120 101 123
004055 123 127 117
004060 122 104 040
004063 124 117 117
004066 040 114 117
004071 116 107 000
016400 063454 .RAD50 /PTL/ ; "PTL" IN .RAD50
016402 004044' .WORD PTLMSG ; POINTER TO MESSAGE
9482 ;
9483 016404 NSERR$ RPM,<RIGHT PARENTHESES MISSING>
004074 122 120 115 .ASCIZ %RPM - RIGHT PARENTHESES MISSING%
004077 040 055 040
004102 122 111 107
004105 110 124 040
004110 120 101 122
004113 105 116 124
004116 110 105 123
004121 105 123 040
004124 115 111 123
NSETB -- NORMAL ERROR CODE TABL MACRO M1108 13-JAN-78 09:14 PAGE 280-10
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
004127 123 111 116
004132 107 000
016404 071415 .RAD50 /RPM/ ; "RPM" IN .RAD50
016406 004074' .WORD RPMMSG ; POINTER TO MESSAGE
9484 ;
9485 016410 NSERR$ SCF,<SET CLOCK FAILED>
004134 123 103 106 .ASCIZ %SCF - SET CLOCK FAILED%
004137 040 055 040
004142 123 105 124
004145 040 103 114
004150 117 103 113
004153 040 106 101
004156 111 114 105
004161 104 000
016410 073476 .RAD50 /SCF/ ; "SCF" IN .RAD50
016412 004134' .WORD SCFMSG ; POINTER TO MESSAGE
9486 016414 NSERR$ SKI,<SET KLINIK ILLEGAL WHILE KLINIK ACTIVE>
004163 123 113 111 .ASCIZ %SKI - SET KLINIK ILLEGAL WHILE KLINIK ACTIVE%
004166 040 055 040
004171 123 105 124
004174 040 113 114
004177 111 116 111
004202 113 040 111
004205 114 114 105
004210 107 101 114
004213 040 127 110
004216 111 114 105
004221 040 113 114
004224 111 116 111
004227 113 040 101
004232 103 124 111
004235 126 105 000
016414 074201 .RAD50 /SKI/ ; "SKI" IN .RAD50
016416 004163' .WORD SKIMSG ; POINTER TO MESSAGE
9487 016420 NSERR$ SPF,<SET PARITY FAILED>
004240 123 120 106 .ASCIZ %SPF - SET PARITY FAILED%
004243 040 055 040
004246 123 105 124
004251 040 120 101
004254 122 111 124
004257 131 040 106
004262 101 111 114
004265 105 104 000
016420 074506 .RAD50 /SPF/ ; "SPF" IN .RAD50
016422 004240' .WORD SPFMSG ; POINTER TO MESSAGE
9488 016424 NSERR$ SZI,<START AT ZERO ILLEGAL>
004270 123 132 111 .ASCIZ %SZI - START AT ZERO ILLEGAL%
004273 040 055 040
004276 123 124 101
004301 122 124 040
004304 101 124 040
004307 132 105 122
004312 117 040 111
004315 114 114 105
004320 107 101 114
004323 000
016424 075331 .RAD50 /SZI/ ; "SZI" IN .RAD50
NSETB -- NORMAL ERROR CODE TABL MACRO M1108 13-JAN-78 09:14 PAGE 280-11
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
016426 004270' .WORD SZIMSG ; POINTER TO MESSAGE
9489 ;
9490 016430 NSERR$ TAA,<TASK IS ALREADY ACTIVE>
004324 124 101 101 .ASCIZ %TAA - TASK IS ALREADY ACTIVE%
004327 040 055 040
004332 124 101 123
004335 113 040 111
004340 123 040 101
004343 114 122 105
004346 101 104 131
004351 040 101 103
004354 124 111 126
004357 105 000
016430 076451 .RAD50 /TAA/ ; "TAA" IN .RAD50
016432 004324' .WORD TAAMSG ; POINTER TO MESSAGE
9491 016434 NSERR$ TOR,<TIME OUT OF RANGE>
004361 124 117 122 .ASCIZ %TOR - TIME OUT OF RANGE%
004364 040 055 040
004367 124 111 115
004372 105 040 117
004375 125 124 040
004400 117 106 040
004403 122 101 116
004406 107 105 000
016434 077552 .RAD50 /TOR/ ; "TOR" IN .RAD50
016436 004361' .WORD TORMSG ; POINTER TO MESSAGE
9492 ;
9493 016440 NSERR$ UNL,<KL MICROCODE NOT LOADED>
004411 125 116 114 .ASCIZ %UNL - KL MICROCODE NOT LOADED%
004414 040 055 040
004417 113 114 040
004422 115 111 103
004425 122 117 103
004430 117 104 105
004433 040 116 117
004436 124 040 114
004441 117 101 104
004444 105 104 000
016440 102574 .RAD50 /UNL/ ; "UNL" IN .RAD50
016442 004411' .WORD UNLMSG ; POINTER TO MESSAGE
9494 ;
9495 016444 NSERR$ VFY,<DEPOSIT VERIFY FAILED>
004447 126 106 131 .ASCIZ %VFY - DEPOSIT VERIFY FAILED%
004452 040 055 040
004455 104 105 120
004460 117 123 111
004463 124 040 126
004466 105 122 111
004471 106 131 040
004474 106 101 111
004477 114 105 104
004502 000
016444 105211 .RAD50 /VFY/ ; "VFY" IN .RAD50
016446 004447' .WORD VFYMSG ; POINTER TO MESSAGE
9496 ;
9497 016450 NSERR$ WRM,<COMMAND NOT AVAILABLE IN THIS CONSOLE MODE>
004503 127 122 115 .ASCIZ %WRM - COMMAND NOT AVAILABLE IN THIS CONSOLE MODE%
NSETB -- NORMAL ERROR CODE TABL MACRO M1108 13-JAN-78 09:14 PAGE 280-12
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
004506 040 055 040
004511 103 117 115
004514 115 101 116
004517 104 040 116
004522 117 124 040
004525 101 126 101
004530 111 114 101
004533 102 114 105
004536 040 111 116
004541 040 124 110
004544 111 123 040
004547 103 117 116
004552 123 117 114
004555 105 040 115
004560 117 104 105
004563 000
016450 111235 .RAD50 /WRM/ ; "WRM" IN .RAD50
016452 004503' .WORD WRMMSG ; POINTER TO MESSAGE
9498 ;
9499 016454 NSERR$ YOR,<YEAR OUT OF RANGE>
004564 131 117 122 .ASCIZ %YOR - YEAR OUT OF RANGE%
004567 040 055 040
004572 131 105 101
004575 122 040 117
004600 125 124 040
004603 117 106 040
004606 122 101 116
004611 107 105 000
016454 117252 .RAD50 /YOR/ ; "YOR" IN .RAD50
016456 004564' .WORD YORMSG ; POINTER TO MESSAGE
9500 ;
9501 016460 NSERR$ XTO,<KL EXECUTE TIMED OUT>
004614 130 124 117 .ASCIZ %XTO - KL EXECUTE TIMED OUT%
004617 040 055 040
004622 113 114 040
004625 105 130 105
004630 103 125 124
004633 105 040 124
004636 111 115 105
004641 104 040 117
004644 125 124 000
016460 114457 .RAD50 /XTO/ ; "XTO" IN .RAD50
016462 004614' .WORD XTOMSG ; POINTER TO MESSAGE
9502 ;
9503 016464 000000 .WORD 0 ; END OF TABLE MARKER
9504 .TITLE NULLC -- NULL COMMAND MODULE 7603.30
9505
9506 .IDENT "001010"
9507
9508 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
9509 ;
9510 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
9511 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
9512 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
9513 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
9514 ; FOR ITS ACCURACY.
9515 ;
NULLC -- NULL COMMAND MODULE 76 MACRO M1108 13-JAN-78 09:14 PAGE 280-13
.NSETB -- NORMAL ERROR CODE TABLE 7710.11
9516 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
9517 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
9518 ;
9519 ;
9520 ; MODULE: NULL COMMAND
9521 ;
9522 ; VERSION: 01-01
9523 ;
9524 ; AUTHOR: R. BELANGER
9525 ;
9526 ; DATE: 7603.30
9527 ;
9528 ; THIS MODULE CONTAINS:
9529 ;
9530 ; 1) NULL COMMAND CODE
NULLC -- NULL COMMAND MODULE 76 MACRO M1108 13-JAN-78 09:14 PAGE 281
.NULLC -- THE NULL COMMAND 7602.10
9532 .SBTTL .NULLC -- THE NULL COMMAND 7602.10
9533
9534 016466 .NULLC::
9535 016466 012737 000021' 000002' MOV #PARNAM,.CCMDN ; RESET THE COMMAND NAME
9536 016474 CALLR .CKEOC ; CHECK E-O-C CHARACTER
016474 000137 002010' JMP .CKEOC
9537 ;
PARER -- ERROR DECODER MODULE 7 MACRO M1108 13-JAN-78 09:14 PAGE 282
.NULLC -- THE NULL COMMAND 7602.10
9539 .TITLE PARER -- ERROR DECODER MODULE 7609.24
9540
9541 .IDENT "001020"
9542
9543 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
9544 ;
9545 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
9546 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
9547 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
9548 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
9549 ; FOR ITS ACCURACY.
9550 ;
9551 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
9552 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
9553 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
9554 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
9555 ;
9556 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
9557 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
9558 ;
9559 ;
9560 ; MODULE: ERROR DECODER
9561 ;
9562 ; VERSION: 01-02
9563 ;
9564 ; AUTHOR: R. BELANGER
9565 ;
9566 ; DATE: 7609.24
9567 ;
9568 ; THIS MODULE CONTAINS:
9569 ;
9570 ; 1) ERROR DECODER
PARER -- ERROR DECODER MODULE 7 MACRO M1108 13-JAN-78 09:14 PAGE 283
.PARER -- ERROR DECODE AND PRINT ROUTINE 7609.24
9572 .SBTTL .PARER -- ERROR DECODE AND PRINT ROUTINE 7609.24
9573
9574 ;+
9575 ; .PARER -- ERROR DECODE AND PRINT ROUTINE.
9576 ;
9577 ; THIS ROUTINE WILL DECODE THE .RAD50 ERROR CODE PASSED TO IT IN R0
9578 ; AND PRINT AN APPROPRIATE ENGLISH ERROR MESSAGE. THIS ROUTINE IS
9579 ; CALLED FROM THE TRAP HANDLER, ".PTTRP".
9580 ;
9581 ; TWO ERROR CODE TABLES ARE SCANNED, ONE FOR SPECIAL ERRORS AND ONE FOR
9582 ; NORMAL ERRORS, UNTIL A MATCH IS FOUND. IF NO MATCH IS FOUND, ".PARER"
9583 ; WILL ISSUE A "UEC" ERROR CODE.
9584 ;
9585 ; THE SPECIAL ERROR CODES REQUIRE SPECIAL HANDLING BY SEPARATE ROUTINES,
9586 ; THIER ENTRIES LOOK LIKE THIS:
9587 ;
9588 ; !===============================!
9589 ; ! .RAD50 ERROR CODE !
9590 ; !-------------------------------!
9591 ; ! DISPATCH ADDRESS !
9592 ; !-------------------------------!
9593 ; ! MESSAGE POINTER !
9594 ; !===============================!
9595 ;
9596 ; THE NORMAL ERRORS SIMPLY REQUIRE THAT THE ERROR MESSAGE BE PRINTED
9597 ; AND THE ENTRIES IN THIER TABLE LOOK LIKE THIS:
9598 ;
9599 ; !===============================!
9600 ; ! .RAD50 ERROR CODE !
9601 ; !-------------------------------!
9602 ; ! MESSAGE POINTER !
9603 ; !===============================!
9604 ;
9605 ; INPUT ARGUMENTS:
9606 ;
9607 ; R0 HOLDS THE .RAD50 ERROR CODE
9608 ;
9609 ; OUTPUT ARGUMENTS:
9610 ;
9611 ; NONE.
9612 ;
9613 ; ERROR MESSAGES RETURNED:
9614 ;
9615 ; IF THE CONSOLE DEVICE CANNOT BE ATTACHED OR DEATCHED,
9616 ; THE PARSER EXITS.
9617 ;
9618 ; UEC -- UNMATCHED ERROR CODE.
9619 ;-
PARER -- ERROR DECODER MODULE 7 MACRO M1108 13-JAN-78 09:14 PAGE 284
.PARER -- ERROR DECODE AND PRINT ROUTINE 7609.24
9621 016500 .PARER::
9622 016500 PUSH <R0,R1,R2> ; SAVE CALLER'S REGISTERS
016500 010046 MOV R0,-(SP)
016502 010146 MOV R1,-(SP)
016504 010246 MOV R2,-(SP)
9623 016506 012701 026024' MOV #.SPETB,R1 ; ...SPECIAL ERRORS GET CHECKED FIRST
9624 016512 10$:
9625 016512 012102 MOV (R1)+,R2 ; ...ERROR CODE TO R2
9626 016514 001405 BEQ 30$ ; ...END-OF-TABLE TRY OTHER ERROR CODES
9627 016516 020002 CMP R0,R2 ; ...DO THEY MATCH?
9628 016520 001402 BEQ 20$ ; ...YES -- DISPATCH TO SPECIAL HANDLER
9629 016522 022121 CMP (R1)+,(R1)+ ; ...NO -- GET OVER DISPATCH
9630 016524 000772 BR 10$ ; ...AND TRY THE NEXT ONE
9631 ;
9632 016526 20$:
9633 016526 000131 JMP @(R1)+ ; ...AWAY TO SPECIAL ROUTINE
9634 ;
9635 016530 30$:
9636 016530 012701 016124' MOV #.NSETB,R1 ; ...TABLE POINTER TO R1
9637 016534 40$:
9638 016534 012102 MOV (R1)+,R2 ; ...ERROR CODE TO R2
9639 016536 001521 BEQ PARUEC ; ...END-OF-TABLE -- GIVE UEC ERROR
9640 016540 020002 CMP R0,R2 ; ...DO THEY MATCH?
9641 016542 001402 BEQ 50$ ; ...YES -- PRINT THE MESSAGE
9642 016544 005721 TST (R1)+ ; ...NO -- GET OVER MESSAGE POINTER
9643 016546 000772 BR 40$ ; ...AND TRY NEXT CODE
9644 ;
9645 016550 50$:
9646 016550 CALL PARERC ; ...DO COMMON OUTPUT CODE
016550 004737 016730' JSR PC,PARERC
9647 016554 PARERX:
9648 016554 POP <R2,R1,R0> ; ...RESTORE THE REGISTERS
016554 012602 MOV (SP)+,R2
016556 012601 MOV (SP)+,R1
016560 012600 MOV (SP)+,R0
9649 016562 CALLR .TCRLF ; END THE LINE AND RETURN
016562 000137 031524' JMP .TCRLF
9650 ;
PARER -- ERROR DECODER MODULE 7 MACRO M1108 13-JAN-78 09:14 PAGE 285
.PARER -- SPECIAL ERROR ROUTINES 7609.24
9652 .SBTTL .PARER -- SPECIAL ERROR ROUTINES 7609.24
9653
9654 .ENABL LSB
9655
9656 016566 .SEAMB::
9657 016566 .SENSK::
9658 016566 CALL PARERC ; ...DO COMMON CODE
016566 004737 016730' JSR PC,PARERC
9659 016572 10$:
9660 016572 112500 MOVB (R5)+,R0 ; ...LOAD THE OFFENDING SYMBOL
9661 016574 132760 000034 001360' BITB #CH.END,.CHTAB(R0)
9662 016602 001017 BNE 30$ ; ...UNTIL THE END
9663 016604 CALL .TYCHR ; ...OUTPUT THE CHARACTER
016604 004737 031472' JSR PC,.TYCHR
9664 016610 000770 BR 10$ ; ...CONTINUE
9665 ;
9666 016612 .SEILC::
9667 016612 .SEILS::
9668 016612 .SEIPC::
9669 016612 CALL PARERC ; ...DO COMMON CODE
016612 004737 016730' JSR PC,PARERC
9670 016616 110400 MOVB R4,R0 ; ...GET THE CHARACTER
9671 016620 122700 000040 CMPB #.SPACE,R0 ; ...IS IT A CONTROL CHARACTER?
9672 016624 003404 BLE 20$ ; ...NO -- JUST PRINT IT
9673 016626 CALL .TYUPA ; ...YES -- TYPE AN <UPARROW>
016626 004737 030654' JSR PC,.TYUPA
9674 016632 052700 000100 BIS #100,R0 ; ...MAKE IT A PRINTING CHARACTER
9675 016636 20$:
9676 016636 CALL .TYCHR ; ...PRINT THE CHARACTER
016636 004737 031472' JSR PC,.TYCHR
9677 016642 30$:
9678 016642 112700 000042 MOVB #'",R0 ; ...END QUOTE
9679 016646 CALL .TYCHR ; ...PRINT THAT
016646 004737 031472' JSR PC,.TYCHR
9680 016652 000740 BR PARERX ; ...AND EXIT
9681 ;
PARER -- ERROR DECODER MODULE 7 MACRO M1108 13-JAN-78 09:14 PAGE 286
.PARER -- SPECIAL ERROR ROUTINES 7609.24
9683 016654 .SEFRF::
9684 016654 PUSH .KLDFR+2 ; ...SAVE THE READ CODE
016654 013746 010730' MOV .KLDFR+2,-(SP)
9685 016660 000405 BR 40$ ; ....TO COMMON CODE
9686 ;
9687 016662 .SEFWF::
9688 016662 PUSH .KLDFW+2 ; ...SAVE THE WRITE CODE
016662 013746 011064' MOV .KLDFW+2,-(SP)
9689 016666 000402 BR 40$ ; ....TO COMMON CODE
9690 ;
9691 016670 .SEFXF::
9692 016670 PUSH .KLDFX+2 ; ...SAVE THE EXECUTE CODE
016670 013746 011246' MOV .KLDFX+2,-(SP)
9693 016674 40$:
9694 016674 CALL PARERC ; ....DO COMMON STUFF
016674 004737 016730' JSR PC,PARERC
9695 016700 POP R0 ; ....GET THE CODE
016700 012600 MOV (SP)+,R0
9696 016702 000300 SWAB R0 ; ...SWAP THE BYTES
9697 016704 042700 177400 BIC #^C377,R0 ; ...CLEAR JUNK
9698 016710 006200 ASR R0 ; ...DIVIDE BY 2
9699 016712 CALL .TYP3D ; ...PRINT CODE
016712 004737 030742' JSR PC,.TYP3D
9700 016716 012700 004647' MOV #FLDMSG,R0 ; ...END MESSAGE
9701 016722 CALL .TYMSG ; ...PRINT IT
016722 004737 031434' JSR PC,.TYMSG
9702 016726 000712 BR PARERX ; ...AND EXIT
9703 ;
9704
9705 004647 .PSECT MESSAG
9706
9707 004647 FLDMSG:
9708 004647 040 106 101 .ASCIZ % FAILED%
004652 111 114 105
004655 104 000
9709 016730 .PSECT
PARER -- ERROR DECODER MODULE 7 MACRO M1108 13-JAN-78 09:14 PAGE 287
.PARER -- SPECIAL ERROR ROUTINES 7609.24
9711 ; THIS IS THE COMMON ERROR CODE ROUTINE
9712
9713 016730 PARERC:
9714 016730 012700 000011' MOV #PARMSG,R0 ; ...PREAMBLE
9715 016734 CALL .TYMSG ; ...PRINT IT
016734 004737 031434' JSR PC,.TYMSG
9716 016740 012700 000133 MOV #'[,R0 ; ...LEFT BRACKET
9717 016744 CALL .TYCHR ; ...PRINT IT
016744 004737 031472' JSR PC,.TYCHR
9718 016750 013700 000002' MOV .CCMDN,R0 ; ...CURRENT COMMAND NAME
9719 016754 CALL .TYMSG ; ...PRINT IT
016754 004737 031434' JSR PC,.TYMSG
9720 016760 012700 000135 MOV #'],R0 ; ...RIGHT BRACKET
9721 016764 CALL .TYCHR ; ...PRINT IT
016764 004737 031472' JSR PC,.TYCHR
9722 016770 CALL .TYSPC ; ...<SPACE>
016770 004737 030644' JSR PC,.TYSPC
9723 016774 011100 MOV (R1),R0 ; ...ERROR MESSAGE
9724 016776 CALLR .TYMSG ; ...PRINT IT AND RETURN
016776 000137 031434' JMP .TYMSG
9725 ;
9726 017002 PARUEC:
9727 017002 PUSH R0 ; ...SAVE THE ERROR CODE
017002 010046 MOV R0,-(SP)
9728 017004 012701 017024' MOV #UECMSP,R1 ; ...."UEC" MESSAGE POINTER TO R1
9729 017010 CALL PARERC ; ....DO COMMON CODE
017010 004737 016730' JSR PC,PARERC
9730 017014 POP R0 ; ....RESTORE THE ERROR CODE
017014 012600 MOV (SP)+,R0
9731 017016 CALL .TYR50 ; ...PRINT IT
017016 004737 031710' JSR PC,.TYR50
9732 017022 000707 BR 30$ ; ...AND EXIT
9733 ;
9734
9735 .DSABL LSB
9736
9737 017024 UECMSP:
9738 017024 004657' .WORD UECMSG
9739
9740 004657 .PSECT MESSAG
9741
9742 004657 UECMSG:
9743 004657 125 116 115 .ASCIZ %UNMATCHED ERROR CODE "%
004662 101 124 103
004665 110 105 104
004670 040 105 122
004673 122 117 122
004676 040 103 117
004701 104 105 040
004704 042 000
9744
9745 017026 .PSECT
PARER -- ERROR DECODER MODULE 7 MACRO M1108 13-JAN-78 09:14 PAGE 288
.PARER -- SPECIAL ERROR ROUTINES 7609.24
9747 017026 .SECES::
9748 017026 CALL PARERC ; ...DO COMMON CODE
017026 004737 016730' JSR PC,PARERC
9749 017032 CALL .RDIPE ; ...READ THE ERROR BITS
017032 004737 020236' JSR PC,.RDIPE
9750 017036 PUSH R0 ; ....SAVE THEM
017036 010046 MOV R0,-(SP)
9751 017040 001420 BEQ 30$ ; ....BAD NEWS IF NONE THERE
9752 017042 012701 017116' MOV #SPCEST,R1 ; ....TABLE POINTER TO R1
9753 017046 10$:
9754 017046 032716 000001 BIT #BIT00,(SP) ; ....IS THE BIT ON
9755 017052 001407 BEQ 20$ ; ....NO -- GO ON
9756 017054 011100 MOV (R1),R0 ; ....YES -- SAY SO
9757 017056 CALL .TYMSG ; ....PRINT IT
017056 004737 031434' JSR PC,.TYMSG
9758 017062 CALL .TYCOM ; ....PRINT A COMMA
017062 004737 030614' JSR PC,.TYCOM
9759 017066 CALL .TYSPC ; ....AND A SPACE
017066 004737 030644' JSR PC,.TYSPC
9760 017072 20$:
9761 017072 005721 TST (R1)+ ; ....ADVANCE THE POINTER
9762 017074 006216 ASR (SP) ; ....SHIFT THE ERROR BITS
9763 017076 001363 BNE 10$ ; ....AND KEEP GOING
9764 017100 000404 BR 40$ ; ....FINISHED -- EXIT
9765 ;
9766 017102 30$:
9767 017102 012700 004746' MOV #NEBMSG,R0 ; ....NO ERROR BIT ARE SET
9768 017106 CALL .TYMSG ; ....SAY SO
017106 004737 031434' JSR PC,.TYMSG
9769 017112 40$:
9770 017112 005726 TST (SP)+ ; ....FLUSH THE STACK
9771 017114 000617 BR PARERX ; ...AND EXIT
9772 ;
9773 017116 SPCEST:
9774 017116 004733' .WORD ERSMSG
9775 017120 004706' .WORD CESMS0
9776 017122 004713' .WORD CESMS1
9777 017124 004720' .WORD CESMS2
9778 017126 004723' .WORD CESMS3
PARER -- ERROR DECODER MODULE 7 MACRO M1108 13-JAN-78 09:14 PAGE 289
.PARER -- SPECIAL ERROR ROUTINES 7609.24
9780 004706 .PSECT MESSAG
9781
9782 004706 CESMS0:
9783 004706 104 122 101 .ASCIZ %DRAM%
004711 115 000
9784 004713 CESMS1:
9785 004713 103 122 101 .ASCIZ %CRAM%
004716 115 000
9786 004720 CESMS2:
9787 004720 106 115 000 .ASCIZ %FM%
9788 004723 CESMS3:
9789 004723 106 123 055 .ASCIZ %FS-STOP%
004726 123 124 117
004731 120 000
9790 004733 ERSMSG:
9791 004733 105 122 122 .ASCIZ %ERROR STOP%
004736 117 122 040
004741 123 124 117
004744 120 000
9792 004746 NEBMSG:
9793 004746 116 117 040 .ASCIZ %NO ERROR STOP BITS SET%
004751 105 122 122
004754 117 122 040
004757 123 124 117
004762 120 040 102
004765 111 124 123
004770 040 123 105
004773 124 000
9794
9795 017130 .PSECT
PTOAT -- TRAP AT 4 TRAP MODULE MACRO M1108 13-JAN-78 09:14 PAGE 290
.PARER -- SPECIAL ERROR ROUTINES 7609.24
9797 .TITLE PTOAT -- TRAP AT 4 TRAP MODULE 7606.15
9798
9799 .IDENT "001010"
9800
9801 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
9802 ;
9803 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
9804 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
9805 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
9806 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
9807 ; FOR ITS ACCURACY.
9808 ;
9809 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
9810 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
9811 ;
9812 ;
9813 ; MODULE: TRAP AT 4 TRAP
9814 ;
9815 ; VERSION: 01-01
9816 ;
9817 ; AUTHOR: R. BELANGER
9818 ;
9819 ; DATE: 7606.15
9820 ;
9821 ; THIS MODULE CONTAINS:
9822 ;
9823 ; 1) TRAP AT 4 TRAP CODE
PTOAT -- TRAP AT 4 TRAP MODULE MACRO M1108 13-JAN-78 09:14 PAGE 291
.PTOAT -- TRAP AT 4 TRAP HANDLER 7601.15
9825 .SBTTL .PTOAT -- TRAP AT 4 TRAP HANDLER 7601.15
9826
9827 ;+
9828 ; .PTOAT -- TRAP AT 4 TRAP HANDLER.
9829 ;
9830 ; THIS ROUTINE HANDLES TRAP AT 4 TRAPS FOR THE RSX20F COMMAND PARSER.
9831 ; AN ERROR MESSAGE WITH THE PC OF THE TRAP AT 4 TRAP IS PRINTED ON THE
9832 ; CONSOLE AND THE CURRENT OPERATION IS ABORTED. IF THE TRAP IS RECURSIVE,
9833 ; CONTROL IS PASSED TO ".PTDIE", AS THE TASK IS HOPELESSLY CONFUSED.
9834 ;
9835 ; UPON ENTRY TO THE TRAP AT 4 TRAP HANDLER, THE STACK CONTAINS
9836 ; THE FOLLOWING INFORMATION:
9837 ;
9838 ; !=======================================!
9839 ; 2(SP)==> ! TRAP PROCESSOR STATUS WORD !
9840 ; !---------------------------------------!
9841 ; (SP)==> ! TRAP PROGRAM COUNTER !
9842 ; !=======================================!
9843 ;
9844 ; ERROR CODES RETURNED:
9845 ;
9846 ; NONE.
9847 ;-
9848
9849 017130 .PTOAT::
9850 017130 POP .TRPPC ; ..SAVE THE TRAP PC
017130 012637 000152' MOV (SP)+,.TRPPC
9851 017134 POP .TRPPS ; .AND THE TRAP PSW
017134 012637 000154' MOV (SP)+,.TRPPS
9852 017140 CALL R5,.REGSV ; SAVE THE REGISTERS FROM TRAP
017140 004537 021556' JSR R5,.REGSV
9853 017144 PUSH R0 ; AND R0
017144 010046 MOV R0,-(SP)
9854 017146 012737 017230' 000174' MOV #.PTDIE,.SSTTB ; .SET UP TO DIE ON RECURSION
9855 017154 CALL .TCRLF ; .GIVE A FREE <CRLF>
017154 004737 031524' JSR PC,.TCRLF
9856 017160 012700 004775' MOV #PTOATM,R0 ; .GET THE MESSAGE POINTER
9857 017164 CALL .TYMSG ; .TYPE IT
017164 004737 031434' JSR PC,.TYMSG
9858 017170 013700 000034' MOV .EDELA,R0 ; .ADDRESS TO R0
9859 017174 CALL .TYELN ; .TYPE THAT
017174 004737 030676' JSR PC,.TYELN
9860 017200 CALL .TCRLF ; .AND A CRLF
017200 004737 031524' JSR PC,.TCRLF
9861 .IF NE FTDEBUG
9862 017204 005737 000016' TST .DBGSW ; .IS THE DEBUG SWITCH SET?
9863 017210 001403 BEQ 10$ ; .NO -- JUST RESTART
9864 017212 POP R0 ; .RESTORE R0
017212 012600 MOV (SP)+,R0
9865 017214 CALL @(SP)+ ; .AND THE REGISTERS
017214 004736 JSR PC,@(SP)+
9866 017216 000000 HALT ; SO WE CAN LOOK
9867 017220 10$:
9868 .ENDC ; FTDEBUG
9869 017220 005037 000174' CLR .SSTTB ; RESET THE TRAP VECTOR
9870 017224 000177 160704 JMP @.STRTV ; .AND START OVER
9871 ;
PTOAT -- TRAP AT 4 TRAP MODULE MACRO M1108 13-JAN-78 09:14 PAGE 291-1
.PTOAT -- TRAP AT 4 TRAP HANDLER 7601.15
9872
9873 004775 .PSECT MESSAG
9874
9875 004775 PTOATM:
9876 004775 120 101 122 .ASCIZ %PAR -- ILLEGAL MEMORY REFERENCE TO: %
005000 040 055 055
005003 040 111 114
005006 114 105 107
005011 101 114 040
005014 115 105 115
005017 117 122 131
005022 040 122 105
005025 106 105 122
005030 105 116 103
005033 105 040 124
005036 117 072 040
005041 000
9877
9878 017230 .PSECT
PTTRP -- TRAP HANDLER MODULE 76 MACRO M1108 13-JAN-78 09:14 PAGE 292
.PTOAT -- TRAP AT 4 TRAP HANDLER 7601.15
9880 .TITLE PTTRP -- TRAP HANDLER MODULE 7609.24
9881
9882 .IDENT "002010"
9883
9884 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
9885 ;
9886 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
9887 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
9888 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
9889 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
9890 ; FOR ITS ACCURACY.
9891 ;
9892 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
9893 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
9894 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
9895 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
9896 ;
9897 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
9898 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
9899 ;
9900 ;
9901 ; MODULE: TRAP HANDLER
9902 ;
9903 ; VERSION: 02-01
9904 ;
9905 ; AUTHOR: R. BELANGER
9906 ;
9907 ; DATE: 7609.24
9908 ;
9909 ; THIS MODULE CONTAINS:
9910 ;
9911 ; 1) TRAP HANDLER CODE
9912 ;
9913 ; MODIFIED BY A. PECKHAM 7612.10 TO DELETE REFERENCES TO .SECFL
9914 ; AND TO CHANGE CALL FROM ".KLRST" TO ".RSTKL"
PTTRP -- TRAP HANDLER MODULE 76 MACRO M1108 13-JAN-78 09:14 PAGE 293
.PTDIE -- RECURSIVE TRAP HANDLER 7609.24
9916 .SBTTL .PTDIE -- RECURSIVE TRAP HANDLER 7609.24
9917
9918 ;+
9919 ; .PTDIE -- RECURSIVE TRAP HANDLER.
9920 ;
9921 ; THIS ROUTINE HANDLES RECURSIVE TRAPS, WHICH ARE FATAL ERRORS. THE
9922 ; OTHER TRAP HANDLERS IN "PARTRP" ENABLE THIS HANDLER BY PLACING ITS
9923 ; ENTRY POINT IN THE APPROPRIATE PLACE IN THE SST VECTOR TABLE.
9924 ; ".PTDIE" WILL PRINT A MESSAGE WITH THE PC OF THE RECURSIVE TRAP AND
9925 ; EXIT TO THE SYSTEM VIA AN "IOT" TRAP. THIS ROUTINE IS ENTERED WITH
9926 ; THE TRAP PC AND PSW ON THE STACK IN THE NORMAL MANNER.
9927 ;
9928 ; ERROR CODES RETURNED:
9929 ;
9930 ; NONE.
9931 ;-
9932
9933
9934 017230 .PTDIE::
9935 017230 005337 000150' DEC .TRPIP ; ..DECREMENT THE INTERLOCK
9936 017234 001423 BEQ 20$ ; ..KILL NOW IF RECURSIVE
9937 017236 PUSH R0 ; ..SAVE R0
017236 010046 MOV R0,-(SP)
9938 017240 012700 000174' MOV #.SSTTB,R0 ; ...TABLE POINTER TO R0
9939 017244 10$:
9940 017244 005020 CLR (R0)+ ; ...CLEAR THIS ENTRY
9941 017246 020027 000212' CMP R0,#SSTTBE ; ...ARE WE DONE?
9942 017252 003774 BLE 10$ ; ...NO -- KEEP GOING
9943 017254 CALL .TCRLF ; ...START THE LINE
017254 004737 031524' JSR PC,.TCRLF
9944 017260 012700 005042' MOV #PTRTEM,R0 ; ...RECURSIVE ERROR MESSAGE
9945 017264 CALL .TYLIN ; ...PRINT IT
017264 004737 031420' JSR PC,.TYLIN
9946 017270 016600 000002 MOV 2(SP),R0 ; ...GET THE TRAP PC
9947 017274 CALL .TYELN ; ...TYPE THAT
017274 004737 030676' JSR PC,.TYELN
9948 017300 CALL .TCRLF ; ...END THE LINE
017300 004737 031524' JSR PC,.TCRLF
9949 017304 20$:
9950 017304 000004 IOT ; ...AND GO AWAY
9951 ;
PTTRP -- TRAP HANDLER MODULE 76 MACRO M1108 13-JAN-78 09:14 PAGE 294
.PTTRP -- "TRAP" INSTRUCTION TRAP HANDLER 7609.24
9953 .SBTTL .PTTRP -- "TRAP" INSTRUCTION TRAP HANDLER 7609.24
9954
9955 ;+
9956 ; .PTTRP -- "TRAP" INSTRUCTION TRAP HANDLER.
9957 ;
9958 ; THIS ROUTINE HANDLES TRAPS FROM THE "TRAP" INSTRUCTION, WHICH IS USED
9959 ; BY THE RSX20F COMMAND PARSER TO HANDLE INTERNAL ERRORS. THE ACTION
9960 ; TAKEN BY THIS ROUTINE IS DICTATED BY THE TRAP STATUS BYTE, WHICH IS
9961 ; THE FIRST ITEM ON THE STACK UPON ENTRY. THERE ARE FOUR STATUS CODES
9962 ; WHICH ARE RETURNED IN THE TRAP STATUS BYTE:
9963 ;
9964 ; (A) "TC.CTC" -- CONTROL-C TRAP -- SAME EFFECT AS "TC.RST", EXCEPT THAT NO
9965 ; ERROR MESSAGE IS TYPED. THE VALUE OF "TC.CTC" IS +2.
9966 ;
9967 ; (B) "TC.RST" -- ABORT THE CURRENT PROCESS AND ATTEMPT TO RESTORE THE
9968 ; STATE OF THE KL. THE "ABORT$" MACRO (Q.V.) GENERATES
9969 ; THIS CODE. THE PREVIOUS STATE OF THE KL MAY BE
9970 ; RECOVERED FROM THESE ERRORS. THE VALUE OF "TC.RST" IS +1.
9971 ;
9972 ; (C) "TC.ERR" -- SIMPLY ABORT THE CURRENT PROCESS AND RETURN TO THE MAIN
9973 ; THE MAIN PARSER. THE "ERROR$" MACRO (Q.V.) GENERATES
9974 ; THIS CODE. THESE ERRORS DO NOT USUALLY AFFECT THE STATE
9975 ; OF THE KL. THE VALUE OF "TC.ERR" IS 0.
9976 ;
9977 ; (D) "TC.CON" -- SIMPLY REPORT THE ERROR AND CONTINUE THE PROCESS.
9978 ; THIS CODE IS GENERATED BY THE "ERCON$" MACRO (Q.V.)
9979 ; THESE ERRORS ALLOW ERROR SPECIFIC RECOVERY TO BE
9980 ; ATTEMPTED. THE VALUE OF "TC.CON" IS -1.
9981 ;
9982 ; THE DECISION TO RECOVER OR NOT IS MADE BASED ON THE TRAP STATUS BYTE,
9983 ; AFTER WHICH THE ERROR CODE IS PICKED UP, DECODED AND PRINTED BY ".PARER".
9984 ;
9985 ; UPON ENTRY TO THE TRAP INSTRUCTION TRAP HANDLER, THE STACK CONTAINS
9986 ; THE FOLLOWING INFORMATION:
9987 ;
9988 ; !=======================================!
9989 ; 6(SP)==> ! TRAP ERROR CODE !
9990 ; !---------------------------------------!
9991 ; 4(SP)==> ! TRAP PROCESSOR STATUS WORD !
9992 ; !---------------------------------------!
9993 ; 2(SP)==> ! TRAP PROGRAM COUNTER !
9994 ; !---------------------------------------!
9995 ; (SP)==> ! TRAP STATUS BYTE * 2 !
9996 ; !=======================================!
9997 ;
9998 ; EXECUTION MAY BE RESUMED AFTER THE TRAP BY ISSUING AN "RTI" INSTRUCTION.
9999 ;
10000 ; ERROR CODES RETURNED:
10001 ;
10002 ; RTH -- RECURSION IN TRAP HANDLER.
10003 ; UEC -- UNMATCHED ERROR CODE.
10004 ;-
PTTRP -- TRAP HANDLER MODULE 76 MACRO M1108 13-JAN-78 09:14 PAGE 295
.PTTRP -- "TRAP" INSTRUCTION TRAP HANDLER 7609.24
10006 017306 .PTTRP::
10007 017306 005337 000150' DEC .TRPIP ; ....DECREMENT THE TRAP IN PROGRESS FLAG
10008 017312 002471 BLT 30$ ; ....SECOND RECURSION -- KILL TASK
10009 017314 011637 000156' MOV (SP),.TRPSB ; ....SAVE THE TRAP STATUS BYTE
10010 017320 016637 000002 000152' MOV 2(SP),.TRPPC ; ....SAVE THE TRAP PC
10011 017326 016637 000004 000154' MOV 4(SP),.TRPPS ; ....SAVE THE TRAP PSW
10012 017334 016637 000006 000146' MOV 6(SP),.TRPEC ; ....SAVE THE TRAP ERROR CODE
10013 017342 CALL R5,.REGSV ; ....SAVE TRAP REGISTERS
017342 004537 021556' JSR R5,.REGSV
10014 017346 PUSH R0 ; ....SAVE R0 TOO
017346 010046 MOV R0,-(SP)
10015 017350 105737 000156' TSTB .TRPSB ; .....TEST THE TRAP STATUS BYTE
10016 017354 003405 BLE 10$ ; .....DON'T TRY TO RECOVER THE KL
10017 017356 005737 000140' TST .SVKLF ; .....DID WE SAVE THE PREVIOUS STATE?
10018 017362 001402 BEQ 10$ ; .....NO -- FORGET RECOVERY
10019 017364 CALL .RSTKL ; .....RESTORE THE KL
017364 004737 022134' JSR PC,.RSTKL
10020 017370 10$:
10021 017370 013737 000120' 000066' MOV .RDXSV,.IRADX ; .....RESET THE INPUT RADIX
10022 017376 013737 000120' 000106' MOV .RDXSV,.ORADX ; .....AND OUTPUT RADIX
10023 017404 122737 000004 000156' CMPB #TC.CTC*2,.TRPSB; .....WAS THIS A CONTROL-C TRAP?
10024 017412 001425 BEQ 20$ ; .....YES -- JUST RESTART THE PARSER
10025 017414 013700 000160' MOV .TRPTV,R0 ; .....NO -- IS THIS A NORMAL TRAP??
10026 017420 001406 BEQ 15$ ; .....YES -- GO ON
10027 017422 010006 MOV R0,SP ; .....NO -- RESET THE STACK
10028 017424 005237 000150' INC .TRPIP ; .....RESET TRAP IN PROGRESS FLAG
10029 017430 005037 000160' CLR .TRPTV ; .....RESET THE TRAP TRAP VECTOR
10030 017434 CALLR @(SP)+ ; .....AND GO AWAY TO OTHER ROUTINE
017434 000136 JMP @(SP)+
10031 ;
10032 017436 15$:
10033 017436 CALL .TCRLF ; .....GIVE A FREE <CRLF>
017436 004737 031524' JSR PC,.TCRLF
10034 017442 013700 000146' MOV .TRPEC,R0 ; .....GET THE ERROR CODE IN R0
10035 017446 CALL .PARER ; .....DECODE AND PRINT THE ERROR
017446 004737 016500' JSR PC,.PARER
10036 017452 005737 000150' TST .TRPIP ; .....IS THIS A RECURSIVE TRAP?
10037 017456 001407 BEQ 30$ ; .....YES -- GIVE UP
10038 017460 105737 000156' TSTB .TRPSB ; .....TEST THE TRAP STATUS BYTE
10039 017464 002413 BLT 40$ ; .....RECOVER THE ERROR
10040 017466 20$:
10041 017466 005237 000150' INC .TRPIP ; .....RESET TRAP IN PROGRESS FLAG
10042 017472 000177 160436 JMP @.STRTV ; .....RESTART THE PARSER
10043 ;
10044
10045 ; [CONTINUED ON THE FOLLOWING PAGE]
PTTRP -- TRAP HANDLER MODULE 76 MACRO M1108 13-JAN-78 09:14 PAGE 296
.PTTRP -- "TRAP" INSTRUCTION TRAP HANDLER 7609.24
10047 ; [CONTINUED FROM THE PREVIOUS PAGE]
10048
10049 017476 30$: ; .....HERE ON RECURSIVE TRAP
10050 017476 012700 005112' MOV #PTRTHM,R0 ; .....MESSAGE POINTER
10051 017502 CALL .TYLIN ; .....PRINT IT
017502 004737 031420' JSR PC,.TYLIN
10052 017506 CALL .TCRLF ; .....END THE LINE
017506 004737 031524' JSR PC,.TCRLF
10053 017512 000004 IOT ; .....AND GO "RIBIT"
10054 ;
10055 017514 40$: ; .....HERE TO RECOVER THE ERROR
10056 017514 005237 000150' INC .TRPIP ; .....DECREMENT THE INTERLOCK
10057 017520 POP R0 ; .....RESTORE R0
017520 012600 MOV (SP)+,R0
10058 017522 CALL @(SP)+ ; ....AND THE OTHER REGISTERS
017522 004736 JSR PC,@(SP)+
10059 017524 005726 TST (SP)+ ; ....GET OVER THE TRAP STATUS BYTE
10060 017526 000002 RTI ; ...TO WHEREVER WE WERE CALLED FROM
10061 ;
10062
10063 005042 .PSECT MESSAG
10064
10065 005042 PTRTEM:
10066 005042 120 101 122 .ASCIZ %PAR -- *FATAL* RECURSIVE TRAP FROM PC: %
005045 040 055 055
005050 040 052 106
005053 101 124 101
005056 114 052 040
005061 122 105 103
005064 125 122 123
005067 111 126 105
005072 040 124 122
005075 101 120 040
005100 106 122 117
005103 115 040 120
005106 103 072 040
005111 000
10067 005112 PTRTHM:
10068 005112 120 101 122 .ASCIZ %PAR -- RTH - RECURSION IN TRAP HANDLER%
005115 040 055 055
005120 040 122 124
005123 110 040 055
005126 040 122 105
005131 103 125 122
005134 123 111 117
005137 116 040 111
005142 116 040 124
005145 122 101 120
005150 040 110 101
005153 116 104 114
005156 105 122 000
10069
10070 017530 .PSECT
QUITC -- QUIT COMMAND MODULE 76 MACRO M1108 13-JAN-78 09:14 PAGE 297
.PTTRP -- "TRAP" INSTRUCTION TRAP HANDLER 7609.24
10072 .TITLE QUITC -- QUIT COMMAND MODULE 7603.30
10073
10074 .IDENT "001010"
10075
10076 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
10077 ;
10078 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
10079 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
10080 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
10081 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
10082 ; FOR ITS ACCURACY.
10083 ;
10084 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
10085 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
10086 ;
10087 ;
10088 ; MODULE: QUIT COMMAND
10089 ;
10090 ; VERSION: 01-01
10091 ;
10092 ; AUTHOR: R. BELANGER
10093 ;
10094 ; DATE: 7603.30
10095 ;
10096 ; THIS MODULE CONTAINS:
10097 ;
10098 ; 1) QUIT COMAND CODE
QUITC -- QUIT COMMAND MODULE 76 MACRO M1108 13-JAN-78 09:14 PAGE 298
.QUITC -- THE "QUIT" COMMAND 7602.16
10100 .SBTTL .QUITC -- THE "QUIT" COMMAND 7602.16
10101
10102 ;+
10103 ; .QUITC -- THE "QUIT" COMMAND.
10104 ;
10105 ; THIS ROUTINE EXECUTES THE "QUIT" (EXIT) FUNCTION.
10106 ;
10107 ; INPUT ARGUMENTS:
10108 ;
10109 ; NONE.
10110 ;
10111 ; OUTPUT ARGUMENTS:
10112 ;
10113 ; NONE.
10114 ;
10115 ; ERROR CODES RETURNED:
10116 ;
10117 ; NONE.
10118 ;-
10119
10120 017530 .QUITC::
10121 017530 CALL .CKEOC ; MUST HAVE E-O-C
017530 004737 002010' JSR PC,.CKEOC
10122 017534 CALLR .EXITP ; EXIT THE PARSER
017534 000137 007754' JMP .EXITP
10123 ;
RDAPR -- KL APR STATUS READ MOD MACRO M1108 13-JAN-78 09:14 PAGE 299
.QUITC -- THE "QUIT" COMMAND 7602.16
10125 .TITLE RDAPR -- KL APR STATUS READ MODULE 7603.30
10126
10127 .IDENT "001010"
10128
10129 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
10130 ;
10131 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
10132 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
10133 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
10134 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
10135 ; FOR ITS ACCURACY.
10136 ;
10137 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
10138 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
10139 ;
10140 ;
10141 ; MODULE: KL APR STATUS READ
10142 ;
10143 ; VERSION: 01-01
10144 ;
10145 ; AUTHOR: R. BELANGER
10146 ;
10147 ; DATE: 7603.30
10148 ;
10149 ; THIS MODULE CONTAINS:
10150 ;
10151 ; 1) KL APR STATUS READ CODE
RDAPR -- KL APR STATUS READ MOD MACRO M1108 13-JAN-78 09:14 PAGE 300
.RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL APR 7509.24
10153 .SBTTL .RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL APR 7509.24
10154
10155 ;+
10156 ; .RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL APR.
10157 ;
10158 ; THIS SUBROUTINE READS THE ERROR STATE OF THE KL APR AND RETURNS
10159 ; THAT ERROR STATE IN R0 AND ".APRWD".
10160 ;
10161 ; THE FORMAT OF THE DATA RETURNED IS:
10162 ;
10163 ; AP.PWF -- BIT00 -- [APR PWR FAIL IN H] -- POWER FAIL
10164 ; AP.SAP -- BIT01 -- [APR S ADR P ERR IN H] -- SBUS ADR PARITY ERROR
10165 ; AP.CDP -- BIT02 -- [APR C DIR P ERR IN H] -- CACHE DIR PARITY ERROR
10166 ; AP.MPE -- BIT03 -- [APR MB PAR ERR IN H] -- MB PARITY ERROR
10167 ; AP.IPF -- BIT04 -- [APR I/O PF ERR IN H] -- I/O PAGE FAIL ERROR
10168 ; AP.NXM -- BIT05 -- [APR NXM ERR IN H] -- NON-EX-MEMORY ERROR
10169 ; AP.SBE -- BIT06 -- [APR SBUS ERR IN H] -- SBUS ERROR
10170 ;
10171 ; INPUT ARGUMENTS:
10172 ;
10173 ; NONE.
10174 ;
10175 ; OUTPUT ARGUMENTS:
10176 ;
10177 ; R0 CONTAINS A COPY OF THE KL APR ERROR FLAGS
10178 ; ".APRWD" CONTAINS A COPY OF THE KL APR ERROR FLAGS
10179 ;
10180 ; ERROR CODES RETURNED:
10181 ;
10182 ; FRF -- FUNCTION READ FAILED.
10183 ;-
10184
10185 017540 .RDAPR::
10186 017540 PUSH R1 ; SAVE R1 ON THE STACK
017540 010146 MOV R1,-(SP)
10187 017542 005001 CLR R1 ; .CLEAR R1
10188 017544 012700 000220 MOV #FR.APR,R0 ; .FR TO READ APR ERRORS
10189 017550 CALL .FREAD ; .READ APR ERRORS
017550 004737 010644' JSR PC,.FREAD
10190 017554 012701 177751 MOV #-^D23,R1 ; .SHIFT COUNT TO R1
10191 017560 CALL .TPSHI ; .SHIFT ERROR BITS INTO POSITION
017560 004737 027636' JSR PC,.TPSHI
10192 017564 042710 177600 BIC #177600,(R0) ; .FLUSH UNWANTED BITS
10193 017570 011037 000000' MOV (R0),.APRWD ; .SAVE THE WORD
10194 017574 011000 MOV (R0),R0 ; .PUT A COPY IN R0
10195 017576 POP R1 ; .RESTORE R1
017576 012601 MOV (SP)+,R1
10196 017600 RETURN ; AND GO AWAY
017600 000207 RTS PC
RDCPP -- KL CLOCK AND PARITY CO MACRO M1108 13-JAN-78 09:14 PAGE 301
.RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL APR 7509.24
10198 .TITLE RDCPP -- KL CLOCK AND PARITY CONTROL READ MODULE 7603.30
10199
10200 .IDENT "001010"
10201
10202 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
10203 ;
10204 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
10205 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
10206 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
10207 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
10208 ; FOR ITS ACCURACY.
10209 ;
10210 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
10211 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
10212 ;
10213 ;
10214 ; MODULE: KL CLOCK AND PARITY CONTROL READ
10215 ;
10216 ; VERSION: 01-01
10217 ;
10218 ; AUTHOR: R. BELANGER
10219 ;
10220 ; DATE: 7603.30
10221 ;
10222 ; THIS MODULE CONTAINS:
10223 ;
10224 ; 1) KL CLOCK AND PARITY CONTROL READ CODE
10225 ; 2) KL CLOCK AND PARITY CONTROL DECODER TABLES
RDCPP -- KL CLOCK AND PARITY CO MACRO M1108 13-JAN-78 09:14 PAGE 302
.RDCPP -- SUBOUTINE TO READ THE KL CLOCK AND PARITY ENABLES 75
10227 .SBTTL .RDCPP -- SUBOUTINE TO READ THE KL CLOCK AND PARITY ENABLES 7510.09
10228
10229 ;+
10230 ; .RDCPP -- SUBROUTINE TO READ THE KL CLOCK AND INTERNAL PARITY
10231 ; CHECKING PARAMETERS.
10232 ;
10233 ; THIS SUBROUTINE READS THE KL CLOCK SOURCE, RATE AND DISTRIBUTION
10234 ; ENABLES AS WELL AS THE KL INTERNAL PARITY ENABLES AND MAINTAINS
10235 ; THEM IN ".CLKWD" AND ".PSCWD", RESPECTIVELY.
10236 ;
10237 ; INPUT ARGUMENTS:
10238 ;
10239 ; NONE.
10240 ;
10241 ; OUTPUT ARGUMENTS:
10242 ;
10243 ; ".CLKWD" AND ".PSCWD" CONTAIN THE UPDATED CLOCK AND
10244 ; PARITY ENABLES.
10245 ;
10246 ; ERROR CODES RETURNED:
10247 ;
10248 ; FRF -- FUNCTION READ FAILED.
10249 ;-
10250
10251 017602 .RDCPP::
10252 017602 CALL R5,.REGSV ; SAVE R5 - R1 ON THE STACK
017602 004537 021556' JSR R5,.REGSV
10253 017606 PUSH R0 ; R0 TOO
017606 010046 MOV R0,-(SP)
10254 017610 012704 000004 MOV #^D4,R4 ; .USE R4 AS A COUNTER
10255 017614 012703 017756' MOV #RDCPT1,R3 ; .BIT TEST TABLE POINTER TO R3
10256 017620 012705 017746' MOV #RDCPT3,R5 ; .SAVE AREA POINTER TO R5
10257 017624 10$:
10258 017624 112300 MOVB (R3)+,R0 ; .FR CODE TO R0
10259 017626 005001 CLR R1 ; .CLEAR R1
10260 017630 CALL .FREAD ; .READ A WORD
017630 004737 010644' JSR PC,.FREAD
10261 017634 011025 MOV (R0),(R5)+ ; .SAVE BITS 20 THRU 35 IN TABLE
10262 017636 077406 SOB R4,10$ ; .READ ALL FOUR OF THEM
10263 017640 005037 000010' CLR .CLKWD ; .CLEAR THE OLD CLOCK PARAMETERS
10264 017644 005037 000116' CLR .PSCWD ; .AND THE OLD PARITY STOP PARAMETERS
10265
10266 ; [CONTINUED ON THE FOLLOWING PAGE]
RDCPP -- KL CLOCK AND PARITY CO MACRO M1108 13-JAN-78 09:14 PAGE 303
.RDCPP -- SUBOUTINE TO READ THE KL CLOCK AND PARITY ENABLES 75
10268 ; [CONTINUED FROM THE PREVIOUS PAGE]
10269
10270 017650 012700 000004 MOV #^D4,R0 ; .DO OUTER LOOP 4 TIMES
10271 017654 012705 017746' MOV #RDCPT3,R5 ; .KL SAVE AREA POINTER TO R5
10272 017660 20$:
10273 017660 012704 000004 MOV #^D4,R4 ; .DO INNER LOOP 4 TIMES
10274 017664 012702 017736' MOV #RDCPT2,R2 ; .KL MASK POINTER TO R2
10275 017670 30$:
10276 017670 012701 000010' MOV #.CLKWD,R1 ; .CLOCK WORD POINTER TO R1
10277 017674 020427 000002 CMP R4,#^D2 ; .IS INNER LOOP COUNT .GT. 2?
10278 017700 101004 BHI 50$ ; .YES -- CONTINUE
10279 017702 001001 BNE 40$ ; .NO -- IS IT .LT. 2?
10280 017704 005115 COM (R5) ; .NO -- INVERT THE WORD SO REST OF CODE WORKS
10281 017706 40$:
10282 017706 012701 000116' MOV #.PSCWD,R1 ; .DO PARITY WORD
10283 017712 50$:
10284 017712 041311 BIC (R3),(R1) ; .FLUSH THE BIT IN THE FLAG WORD
10285 017714 031215 BIT (R2),(R5) ; .TEST THE BIT WE READ IN THIS WORD
10286 017716 001401 BEQ 60$ ; .BRANCH IF BIT IS OFF
10287 017720 051311 BIS (R3),(R1) ; .TURN THE BIT ON IN THE FLAG WORD
10288 017722 60$:
10289 017722 022322 CMP (R3)+,(R2)+ ; .ADVANCE THE MASK POINTERS
10290 017724 077417 SOB R4,30$ ; .DO INNER LOOP 4 TIMES
10291 017726 005125 COM (R5)+ ; .ADVANCE THE SAVE AREA POINTER
10292 ; .AND STRAIGHTEN THE WORD OUT
10293 017730 077025 SOB R0,20$ ; .DO OUTER LOOP 4 TIMES
10294 017732 POP R0 ; .GIVE R0 BACK
017732 012600 MOV (SP)+,R0
10295 017734 RETURN ; AND GO AWAY
017734 000207 RTS PC
10296
10297 ; THESE BITS ARE USED TO MASK THE DATA FROM THE FUNCTION READS
10298
10299 017736 RDCPT2:
10300 017736 000010 .WORD BIT03 ; KL BIT 32
10301 017740 000004 .WORD BIT02 ; KL BIT 33
10302 017742 000002 .WORD BIT01 ; KL BIT 34
10303 017744 000001 .WORD BIT00 ; KL BIT 35
10304
10305 ; THE DATA FROM THE FUNCTION READS ARE STORED IN THIS TABLE
10306
10307 017746 RDCPT3:
10308 017746 000000 .WORD 0 ; FR.104 BITS 20 - 35
10309 017750 000000 .WORD 0 ; FR.105 BITS 20 - 35
10310 017752 000000 .WORD 0 ; FR.106 BITS 20 - 35
10311 017754 000000 .WORD 0 ; FR.107 BITS 20 - 35
RDCPP -- KL CLOCK AND PARITY CO MACRO M1108 13-JAN-78 09:14 PAGE 304
.RDCPP -- SUBOUTINE TO READ THE KL CLOCK AND PARITY ENABLES 75
10313 ; TABLES USED TO READ AND SET CLOCK AND PARITY ENABLES
10314 ; THE FIRST FOUR BYTES IN THIS TABLE ARE THE FUNCTION READ CODES
10315 ; TO BE EXECUTED, THE REMAINING WORDS ARE USED TO SET OR CLEAR
10316 ; THE APPROPRIATE BITS IN ".CLKWD" AND ".PSCWD"
10317
10318 017756 RDCPT1:
10319 017756 210 .BYTE FR.104
10320 017757 212 .BYTE FR.105
10321 017760 214 .BYTE FR.106
10322 017761 216 .BYTE FR.107
10323 017762 000010 .WORD CS.CS2 ; CLK SOURCE 2 H [FR.104 - BIT 32]
10324 ; [FW 44 - BIT 32]
10325 017764 000000 .WORD 0 ; BLANK [FR.104 - BIT 33]
10326 017766 000010 .WORD IP.FMP ; FM PAR EN L [FR.104 - BIT 34]
10327 ; [FW 46 - BIT 32]
10328 017770 000000 .WORD 0 ; BLANK [FR.104 - BIT 35]
10329 017772 000004 .WORD CS.CS1 ; CLK SOURCE 1 H [FR.105 - BIT 32]
10330 ; [FW 44 - BIT 33]
10331 017774 002000 .WORD CD.CRC ; CLK CRAM DIS H [FR.105 - BIT 33]
10332 ; [FW 45 - BIT 33]
10333 017776 000004 .WORD IP.CRP ; CRAM PAR EN L [FR.105 - BIT 34]
10334 ; [FW 46 - BIT 33]
10335 020000 000000 .WORD 0 ; BLANK [FR.105 BIT - 35]
10336 020002 000002 .WORD CR.CR2 ; CLK RATE 2 H [FR.106 - BIT 32]
10337 ; [FW 44 - BIT 34]
10338 020004 001000 .WORD CD.DPC ; CLK EDP DIS H [FR.106 - BIT 33]
10339 ; [FW 45 - BIT 34]
10340 020006 000002 .WORD IP.DRP ; DRAM PAR EN L [FR.106 - BIT 34]
10341 ; [FW 46 - BIT 34]
10342 020010 001000 .WORD AP.ARP ; AR/ARX PAR EN L [FR.106 - BIT 35]
10343 ; [FW 47 - BIT 34]
10344 020012 000001 .WORD CR.CR1 ; CLK RATE 1 H [FR.107 - BIT 32]
10345 ; [FW 44 - BIT 35]
10346 020014 000400 .WORD CD.CLC ; CLK CTL DIS H [FR.107 - BIT 33]
10347 ; [FW 45 - BIT 35]
10348 020016 000001 .WORD IP.FSS ; FS STOP EN L [FR.107 -BIT 34]
10349 ; [FW 46 - BIT 35]
10350 020020 000400 .WORD AP.EIP ; CLK ERR STOP EN L [FR.107 - BIT 35]
10351 ; [FW 47 - BIT 35]
RDDPB -- KL DATA PATH BOARD REA MACRO M1108 13-JAN-78 09:14 PAGE 305
.RDCPP -- SUBOUTINE TO READ THE KL CLOCK AND PARITY ENABLES 75
10353 .TITLE RDDPB -- KL DATA PATH BOARD READ FUNCTION MODULE 7603.30
10354
10355 .IDENT "001010"
10356
10357 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
10358 ;
10359 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
10360 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
10361 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
10362 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
10363 ; FOR ITS ACCURACY.
10364 ;
10365 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
10366 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
10367 ;
10368 ;
10369 ; MODULE: KL DATA PATH BOARD READ FUNCTION
10370 ;
10371 ; VERSION: 01-01
10372 ;
10373 ; AUTHOR: R. BELANGER
10374 ;
10375 ; DATE: 7603.30
10376 ;
10377 ; THIS MODULE CONTAINS:
10378 ;
10379 ; 1) KL DATA PATH BOARD READ CODE
RDDPB -- KL DATA PATH BOARD REA MACRO M1108 13-JAN-78 09:14 PAGE 306
.RDDPB -- SUBROUTINES TO READ THE KL DATA PATH BOARDS 7509.23
10381 .SBTTL .RDDPB -- SUBROUTINES TO READ THE KL DATA PATH BOARDS 7509.23
10382
10383 ;+
10384 ; .RDADR -- SUBROUTINE TO READ THE KL ADDER REGISTER.
10385 ; .RDADX -- SUBROUTINE TO READ THE KL ADDER EXTENSION REGISTER.
10386 ; .RDARR -- SUBROUTINE TO READ THE KL ARITHMETIC REGISTER.
10387 ; .RDARX -- SUBROUTINE TO READ THE KL ARITHMETIC REGISTER EXTENSION.
10388 ; .RDBRR -- SUBROUTINE TO READ THE KL BUFFER REGISTER.
10389 ; .RDBRX -- SUBROUTINE TO READ THE KL BUFFER REGISTER EXTENSION.
10390 ; .RDEBS -- SUBROUTINE TO READ THE KL EBUS REGISTER.
10391 ; .RDFMR -- SUBROUTINE TO READ THE KL FAST MEMORY REGISTER.
10392 ; .RDMQR -- SUBROUTINE TO READ THE KL MULTIPLIER QUOTIENT REGISTER.
10393 ;
10394 ; THESE SUBROUTINES READ AND RETURN THE CONTENT OF THE SPECIFIED KL
10395 ; DATA PATH REGISTER IN A TRIPLET POINTED TO BY R1 IN THE CALL.
10396 ;
10397 ; INPUT ARGUMENTS:
10398 ;
10399 ; R1 CONTAINS A POINTER TO A 3 WORD DATA BUFFER
10400 ;
10401 ; OUTPUT ARGUMENTS:
10402 ;
10403 ; R0 CONTAINS A POINTER TO THE DATA.
10404 ;
10405 ; ERROR CODES RETURNED:
10406 ;
10407 ; FRF -- FUNCTION READ FAILED.
10408 ;-
RDDPB -- KL DATA PATH BOARD REA MACRO M1108 13-JAN-78 09:14 PAGE 307
.RDDPB -- SUBROUTINES TO READ THE KL DATA PATH BOARDS 7509.23
10410 .ENABL LSB
10411
10412 020022 .RDADR::
10413 020022 012700 000256 MOV #FR.RAD,R0 ; READ THE KL ADDER
10414 020026 000427 BR 10$ ; COMMON CODE
10415 ;
10416 020030 .RDADX::
10417 020030 012700 000254 MOV #FR.ADX,R0 ; READ THE KL ADDER EXTENSION
10418 020034 000424 BR 10$ ; COMMON CODE
10419 ;
10420 020036 .RDARR::
10421 020036 012700 000240 MOV #FR.RAR,R0 ; READ THE KL ARITHMETIC REGISTER
10422 020042 000421 BR 10$ ; COMMON CODE
10423 ;
10424 020044 .RDARX::
10425 020044 012700 000252 MOV #FR.ARX,R0 ; READ THE KL AR EXTENSION REGISTER
10426 020050 000416 BR 10$ ; COMMON CODE
10427 ;
10428 020052 .RDBRR::
10429 020052 012700 000242 MOV #FR.RBR,R0 ; READ THE KL BUFFER REGISTER
10430 020056 000413 BR 10$ ; COMMON CODE
10431 ;
10432 020060 .RDBRX::
10433 020060 012700 000250 MOV #FR.BRX,R0 ; READ THE KL BR EXTENSION REGISTER
10434 020064 000410 BR 10$ ; COMMON CODE
10435 ;
10436 020066 .RDEBS::
10437 020066 012700 000356 MOV #FR.EBS,R0 ; READ THE KL EBUS REGISTER
10438 020072 000405 BR 10$ ; COMMON CODE
10439 ;
10440 020074 .RDFMR::
10441 020074 012700 000246 MOV #FR.RFM,R0 ; READ THE KL FAST MEMORY REGISTER
10442 020100 000402 BR 10$ ; COMMON CODE
10443 ;
10444 020102 .RDMQR::
10445 020102 012700 000244 MOV #FR.RMQ,R0 ; READ THE KL MULTIPLIER QUOTIENT REGISTER
10446 ; FALL INTO COMMON CODE
10447 020106 10$:
10448 020106 CALLR .FREAD ; READ IT AND EXIT
020106 000137 010644' JMP .FREAD
10449 ;
10450
10451 .DSABL LSB
RDFLG -- KL PC FLAG READ FUNCTI MACRO M1108 13-JAN-78 09:14 PAGE 308
.RDDPB -- SUBROUTINES TO READ THE KL DATA PATH BOARDS 7509.23
10453 .TITLE RDFLG -- KL PC FLAG READ FUNCTION MODULE 7603.30
10454
10455 .IDENT "001010"
10456
10457 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
10458 ;
10459 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
10460 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
10461 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
10462 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
10463 ; FOR ITS ACCURACY.
10464 ;
10465 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
10466 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
10467 ;
10468 ;
10469 ; MODULE: KL PC FLAG READ FUNCTION
10470 ;
10471 ; VERSION: 01-01
10472 ;
10473 ; AUTHOR: R. BELANGER
10474 ;
10475 ; DATE: 7603.30
10476 ;
10477 ; THIS MODULE CONTAINS:
10478 ;
10479 ; 1) KL PC FLAG READ CODE
RDFLG -- KL PC FLAG READ FUNCTI MACRO M1108 13-JAN-78 09:14 PAGE 309
.RDFLG -- SUBROUTINE TO READ THE KL PC FLAGS 7511.24
10481 .SBTTL .RDFLG -- SUBROUTINE TO READ THE KL PC FLAGS 7511.24
10482
10483 ;+
10484 ; .RDFLG -- SUBROUTINE TO READ THE KL PC FLAGS.
10485 ;
10486 ; THIS SUBROUTINE READS AND RETURNS THE STATE OF THE KL PC FLAGS IN R0.
10487 ;
10488 ; INPUT ARGUMENTS:
10489 ;
10490 ; NONE.
10491 ;
10492 ; OUTPUT ARGUMENTS:
10493 ;
10494 ; R0 CONTAINS THE KL PC FLAGS
10495 ;
10496 ; THE FOLLOWING IS A LIST OF THE KL FLAGS RETURNED IN R0:
10497 ;
10498 ; BIT # PC FLAG BIT AND MEANING KL BIT
10499 ; ----- ---------------------------- --------
10500 ;
10501 ; 12 PC.OVF -- KL OVERFLOW FLAG -- 00
10502 ; 11 PC.CY0 -- KL CARRY 0 FLAG -- 01
10503 ; 10 PC.CY1 -- KL CARRY 1 FLAG -- 02
10504 ; 09 PC.FOV -- KL FLOATING OVERFLOW FLAG -- 03
10505 ; 08 PC.BIS -- KL BYTE INCREMENT SUPPRESSION FLAG -- 04
10506 ; 07 PC.USR -- KL USER MODE FLAG -- 05
10507 ; 06 PC.UIO -- KL USER IOT MODE FLAG -- 06
10508 ; 05 PC.LIP -- KL LAST INSTRUCTION PUBLIC FLAG -- 07
10509 ; 04 PC.AFI -- KL ADDRESS FAILURE INHIBIT FLAG -- 08
10510 ; 03 PC.AT1 -- KL APR TRAP 1 FLAG -- 09
10511 ; 02 PC.AT0 -- KL APR TRAP 0 FLAG -- 10
10512 ; 01 PC.FUF -- KL FLOATING UNDERFLOW FLAG -- 11
10513 ; 00 PC.NDV -- KL NO DIVIDE FLAG -- 12
10514 ;
10515 ; ERROR CODES RETURNED:
10516 ;
10517 ; FRF -- FUNCTION READ FAILED.
10518 ;-
RDFLG -- KL PC FLAG READ FUNCTI MACRO M1108 13-JAN-78 09:14 PAGE 310
.RDFLG -- SUBROUTINE TO READ THE KL PC FLAGS 7511.24
10520 020112 .RDFLG::
10521 020112 PUSH <R1,R2> ; SAVE R1 AND R2 ON THE STACK
020112 010146 MOV R1,-(SP)
020114 010246 MOV R2,-(SP)
10522 020116 005001 CLR R1 ; ..CLEAR R1
10523 020120 005002 CLR R2 ; ..AND R2
10524 020122 012700 000202 MOV #FR.101,R0 ; ..FR CODE FOR LOW FLAGS
10525 020126 CALL .FREAD ; ..READ THEM
020126 004737 010644' JSR PC,.FREAD
10526 020132 012701 177764 MOV #-^D12,R1 ; ..SHIFT COUNT TO R1
10527 020136 CALL .TPSHI ; ..SHIFT OUR WORD
020136 004737 027636' JSR PC,.TPSHI
10528 020142 042710 177700 BIC #177700,(R0) ; ..MASK OUT FLAG BITS
10529 020146 051002 BIS (R0),R2 ; ..PUT THE LOW FLAGS IN R2
10530 020150 005001 CLR R1 ; ..AGAIN
10531 020152 012700 000200 MOV #FR.100,R0 ; ..FR CODE FOR MOST OF THE FLAGS
10532 020156 CALL .FREAD ; ..READ THEM
020156 004737 010644' JSR PC,.FREAD
10533 020162 012701 177772 MOV #-^D6,R1 ; ..SHIFT COUNT TO R1
10534 020166 CALL .TPSHI ; ..SHIFT THE DATA
020166 004737 027636' JSR PC,.TPSHI
10535 020172 042710 170077 BIC #170077,(R0) ; ..JUST THE BITS WE WANT
10536 020176 051002 BIS (R0),R2 ; ..SAVE THE HIGH FLAGS IN R2
10537 020200 005001 CLR R1 ; ..CLEAR R1 AGAIN
10538 020202 012700 000264 MOV #FR.132,R0 ; ..FR CODE FOR LAST FLAG BIT
10539 020206 CALL .FREAD ; ..READ IT
020206 004737 010644' JSR PC,.FREAD
10540 020212 032760 000001 000004 BIT #BIT00,4(R0) ; ..IS IT ON?
10541 020220 001402 BEQ 10$ ; ..NO -- JUST EXIT
10542 020222 052702 010000 BIS #PC.OVF,R2 ; ..YES -- SET IT IN OUR WORD
10543 020226 10$:
10544 020226 010200 MOV R2,R0 ; ..PUT A COPY IN R0
10545 020230 POP <R2,R1> ; ..RESTORE REGISTERS
020230 012602 MOV (SP)+,R2
020232 012601 MOV (SP)+,R1
10546 020234 RETURN ; TO CALLER
020234 000207 RTS PC
RDIPE -- KL INTERNAL PARITY ERR MACRO M1108 13-JAN-78 09:14 PAGE 311
.RDFLG -- SUBROUTINE TO READ THE KL PC FLAGS 7511.24
10548 .TITLE RDIPE -- KL INTERNAL PARITY ERROR READ FUNCTION MODULE 7603.30
10549
10550 .IDENT "001010"
10551
10552 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
10553 ;
10554 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
10555 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
10556 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
10557 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
10558 ; FOR ITS ACCURACY.
10559 ;
10560 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
10561 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
10562 ;
10563 ;
10564 ; MODULE: KL INTERNAL PARITY ERROR READ FUNCTION
10565 ;
10566 ; VERSION: 01-01
10567 ;
10568 ; AUTHOR: R. BELANGER
10569 ;
10570 ; DATE: 7603.30
10571 ;
10572 ; THIS MODULE CONTAINS:
10573 ;
10574 ; 1) KL INTERNAL PARITY ERROR READ CODE
RDIPE -- KL INTERNAL PARITY ERR MACRO M1108 13-JAN-78 09:14 PAGE 312
.RDIPE -- READ KL INTERNAL PARITY ERROR FLAGS 7511.13
10576 .SBTTL .RDIPE -- READ KL INTERNAL PARITY ERROR FLAGS 7511.13
10577
10578 ;+
10579 ; .RDIPE -- SUBROUTINE TO READ THE KL INTERNAL PARITY ERROR FLAGS.
10580 ;
10581 ; THIS SUBROUTINE READS THE INTERNAL KL PARITY ERROR FLAGS AND
10582 ; STORES THEM IN ".PEWRD" IN THE FOLLOWING FORMAT:
10583 ;
10584 ; (A) BIT00 ("PE.CES") [CLK ERROR STOP H],
10585 ; (B) BIT01 ("PE.DRM") [CLK DRAM PAR ERR H],
10586 ; (C) BIT02 ("PE.CRM") [CLK CRAM PAR ERR H],
10587 ; (D) BIT03 ("PE.FMP") [CLK FM PAR ERR H],
10588 ; (E) BIT04 ("PE.FSS") [CLK FS ERROR H].
10589 ;
10590 ; INPUT ARGUMENTS:
10591 ;
10592 ; NONE.
10593 ;
10594 ; OUTPUT ARGUMENTS:
10595 ; R0 CONTAINS A COPY OF THE FLAGS IN ".PEWRD".
10596 ;
10597 ; ERROR CODES RETURNED:
10598 ;
10599 ; FRF -- FUNCTION READ FAILED.
10600 ;-
10601
10602 020236 .RDIPE::
10603 020236 CALL R5,.REGSV ; SAVE R5 - R1 ON THE STACK
020236 004537 021556' JSR R5,.REGSV
10604 020242 012702 000204 MOV #FR.102,R2 ; BASE FUNCTION READ TO R2
10605 020246 012703 000040 MOV #BIT05,R3 ; MASK BIT TO R3
10606 020252 012704 000110' MOV #.PEWRD,R4 ; WORD POINTER TO R4
10607 020256 005014 CLR (R4) ; CLEAR THE WORD
10608 020260 012705 000001 MOV #BIT00,R5 ; BASE WORD MASK TO R5
10609 020264 005001 CLR R1 ; CLEAR R1
10610 020266 10$:
10611 020266 010200 MOV R2,R0 ; GET THE FR NUMBER
10612 020270 CALL .FREAD ; DO THE READ
020270 004737 010644' JSR PC,.FREAD
10613 020274 030310 BIT R3,(R0) ; IS THE BIT ON?
10614 020276 001401 BEQ 20$ ; NO -- GO ON
10615 020300 050514 BIS R5,(R4) ; YES -- SET THE BIT IN THE WORD
10616 020302 20$:
10617 020302 062702 000002 ADD #^D2,R2 ; NEXT FUNCTION READ
10618 020306 006305 ASL R5 ; SHIFT THE WORD MASK
10619 020310 020503 CMP R5,R3 ; ARE WE DONE?
10620 020312 001365 BNE 10$ ; NO -- KEEP GOING
10621 020314 011400 MOV (R4),R0 ; YES -- PUT THE WORD IN R0
10622 020316 RETURN ; AND GO AWAY
020316 000207 RTS PC
RDPI -- KL PI STATUS READ FUNCT MACRO M1108 13-JAN-78 09:14 PAGE 313
.RDIPE -- READ KL INTERNAL PARITY ERROR FLAGS 7511.13
10624 .TITLE RDPI -- KL PI STATUS READ FUNCTION MODULE 7603.30
10625
10626 .IDENT "001010"
10627
10628 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
10629 ;
10630 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
10631 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
10632 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
10633 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
10634 ; FOR ITS ACCURACY.
10635 ;
10636 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
10637 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
10638 ;
10639 ;
10640 ; MODULE: KL PI STATUS READ FUNCTION
10641 ;
10642 ; VERSION: 01-01
10643 ;
10644 ; AUTHOR: R. BELANGER
10645 ;
10646 ; DATE: 7603.30
10647 ;
10648 ; THIS MODULE CONTAINS:
10649 ;
10650 ; 1) KL PI STATUS READ CODE
RDPI -- KL PI STATUS READ FUNCT MACRO M1108 13-JAN-78 09:14 PAGE 314
.RDPI -- SUBROUTINE TO READ THE PI BOARDS 7510.16
10652 .SBTTL .RDPI -- SUBROUTINE TO READ THE PI BOARDS 7510.16
10653
10654 ;+
10655 ; .RDPI -- SUBROUTINE TO READ THE KL PI BOARDS.
10656 ;
10657 ; THIS SUBROUTINE READS THE KL PI BOARDS AND STORES THE STATUS IN
10658 ; A TWO WORD TABLE, ".PITAB", WHICH IS POINTED TO BY R0 ON SUCCESSFUL
10659 ; RETURN.
10660 ;
10661 ; WORD 0 OF ".PITAB" CONTAINS:
10662 ;
10663 ; (A) PIH 1 THRU PIH 7 (BITS 14 THRU 08),
10664 ; (B) PI ACTIVE (BIT 07),
10665 ; (C) PI ON 1 THRU PI ON 7 (BITS 06 THRU 00).
10666 ;
10667 ; WORD 2 OF ".PITAB" CONTAINS:
10668 ;
10669 ; (A) PI GEN 1 THRU PI GEN 7 (BITS 06 THRU 00).
10670 ;
10671 ; INPUT ARGUMENTS:
10672 ;
10673 ; NONE.
10674 ;
10675 ; OUTPUT ARGUMENTS:
10676 ;
10677 ; R0 POINTS TO ".PITAB".
10678 ;
10679 ; ERROR CODES RETURNED:
10680 ;
10681 ; FRF -- FUNCTION READ FAILED.
10682 ;-
RDPI -- KL PI STATUS READ FUNCT MACRO M1108 13-JAN-78 09:14 PAGE 315
.RDPI -- SUBROUTINE TO READ THE PI BOARDS 7510.16
10684 020320 .RDPI::
10685 020320 PUSH <R1,R2,R3> ; SAVE REGISTERS
020320 010146 MOV R1,-(SP)
020322 010246 MOV R2,-(SP)
020324 010346 MOV R3,-(SP)
10686 020326 012703 020400' MOV #RDPITB,R3 ; ...TABLE POINTER TO R3
10687 020332 012702 000112' MOV #.PITAB,R2 ; ...SAVE AREA POINTER TO R2
10688 020336 10$:
10689 020336 005001 CLR R1 ; ...CLEAR R1
10690 020340 012300 MOV (R3)+,R0 ; ...FR CODE TO R0
10691 020342 CALL .FREAD ; ...READ IT
020342 004737 010644' JSR PC,.FREAD
10692 020346 012301 MOV (R3)+,R1 ; ...SHIFT COUNT TO R1
10693 020350 CALL .TPSHI ; ...SHIFT IT
020350 004737 027636' JSR PC,.TPSHI
10694 020354 042310 BIC (R3)+,(R0) ; ...CLEAR UNWANTED BIT(S)
10695 020356 011022 MOV (R0),(R2)+ ; ...PUT IT IN SAVE AREA
10696 020360 022703 020414' CMP #RDPITE,R3 ; ...ARE WE AT END OF TABLE?
10697 020364 001364 BNE 10$ ; ...NO -- KEEP GOING
10698 020366 011300 MOV (R3),R0 ; ...YES -- POINT TO SAVE AREA
10699 020370 POP <R3,R2,R1> ; ...RESTORE REGISTERS
020370 012603 MOV (SP)+,R3
020372 012602 MOV (SP)+,R2
020374 012601 MOV (SP)+,R1
10700 020376 RETURN ; TO CALLER
020376 000207 RTS PC
10701
10702 020400 RDPITB:
10703 020400 000200 .WORD FR.PI0 ; FIRST READ CODE
10704 020402 177756 .WORD -^D18 ; SHIFT COUNT
10705 020404 100000 .WORD BIT15 ; MASK
10706 020406 000202 .WORD FR.PI1 ; SECOND READ CODE
10707 020410 177756 .WORD -^D18 ; SHIFT COUNT
10708 020412 177600 .WORD 177600 ; MASK
10709 020414' RDPITE=.
10710 020414 000112' .WORD .PITAB ; POINTER TO SAVE AREA
RDSMR -- KL SMALL REGISTER READ MACRO M1108 13-JAN-78 09:14 PAGE 316
.RDPI -- SUBROUTINE TO READ THE PI BOARDS 7510.16
10712 .TITLE RDSMR -- KL SMALL REGISTER READ FUNCTION MODULE 7603.30
10713
10714 .IDENT "001010"
10715
10716 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
10717 ;
10718 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
10719 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
10720 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
10721 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
10722 ; FOR ITS ACCURACY.
10723 ;
10724 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
10725 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
10726 ;
10727 ;
10728 ; MODULE: KL SMALL REGISTER READ FUNCTION
10729 ;
10730 ; VERSION: 01-01
10731 ;
10732 ; AUTHOR: R. BELANGER
10733 ;
10734 ; DATE: 7603.30
10735 ;
10736 ; THIS MODULE CONTAINS:
10737 ;
10738 ; 1) KL SMALL REGISTER READ CODE
RDSMR -- KL SMALL REGISTER READ MACRO M1108 13-JAN-78 09:14 PAGE 317
.RDSMR -- SUBROUTINE TO READ SMALL KL REGISTERS 7511.05
10740 .SBTTL .RDSMR -- SUBROUTINE TO READ SMALL KL REGISTERS 7511.05
10741
10742 ;+
10743 ; .RDCRA -- SUBROUTINE TO READ THE KL CRAM ADDR REGISTER.
10744 ; .RDCRL -- SUBROUTINE TO READ THE KL CRAM LOC REGISTER.
10745 ; .RDDRA -- SUBROUTINE TO READ THE KL DRAM ADDR REGISTER.
10746 ; .RDFER -- SUBROUTINE TO READ THE KL FLOATING EXPONENT REGISTER.
10747 ; .RDSCR -- SUBROUTINE TO READ THE KL SHIFT COUNT REGISTER.
10748 ; .RDSBR -- SUBROUTINE TO READ THE KL CRAM SUBROUTINE RETURN REGISTER.
10749 ;
10750 ; THESE SUBROUTINES READ THE CONTENT OF THE SPECIFIED REGISTER
10751 ; AND RETURN IT IN R0. NOTE THAT THE CONTENT OF EACH REGISTER IS LESS
10752 ; THAN 16 BITS AND MUST BE READ USING TWO FUNCTION READS.
10753 ;
10754 ; INPUT ARGUMENTS:
10755 ;
10756 ; NONE.
10757 ;
10758 ; OUTPUT ARGUMENTS:
10759 ;
10760 ; R0 HOLDS THE CONTENT OF THE SPECIFIED REGISTER
10761 ;
10762 ; ERROR CODES RETURNED:
10763 ;
10764 ; FRF -- FUNCTION READ FAILED.
10765 ;-
10766
10767 .ENABL LSB
10768
10769 020416 .RDCRA::
10770 020416 012700 020544' MOV #CRATAB,R0 ; POINT TO CRAM ADDRESS TABLE
10771 020422 000416 BR 10$ ; DO COMMON CODE
10772 ;
10773 020424 .RDCRL::
10774 020424 012700 020560' MOV #CRLTAB,R0 ; POINT TO CR LOC TABLE
10775 020430 000413 BR 10$ ; DO COMMON CODE
10776 ;
10777 020432 .RDDRA::
10778 020432 012700 020574' MOV #DRATAB,R0 ; POINT TO DRAM ADDR TABLE
10779 020436 000410 BR 10$ ; DO COMMON CODE
10780 ;
10781 020440 .RDFER::
10782 020440 012700 020610' MOV #FERTAB,R0 ; POINT TO FE TABLE
10783 020444 000405 BR 10$ ; DO COMMON CODE
10784 ;
10785 020446 .RDSBR::
10786 020446 012700 020624' MOV #SBRTAB,R0 ; POINT TO CRAM SBR RET TABLE
10787 020452 000402 BR 10$ ; DO COMMON CODE
10788 ;
10789 020454 .RDSCR::
10790 020454 012700 020640' MOV #SCRTAB,R0 ; POINT TO SHIFT COUNT TABLE
10791 ; BR 10$ ; FALL INTO COMMON CODE
10792
10793 ; [CONTINUED ON THE FOLLOWING PAGE]
RDSMR -- KL SMALL REGISTER READ MACRO M1108 13-JAN-78 09:14 PAGE 318
.RDSMR -- SUBROUTINE TO READ SMALL KL REGISTERS 7511.05
10795 ; [CONTINUED FROM THE PREVIOUS PAGE]
10796
10797 020460 10$: ; HERE FROM PREVIOUS PAGE
10798 020460 PUSH <R1,R2> ; SAVE CALLER'S REGISTERS
020460 010146 MOV R1,-(SP)
020462 010246 MOV R2,-(SP)
10799 020464 010002 MOV R0,R2 ; ..POINTER TO R2
10800 020466 005001 CLR R1 ; ..CLEAR R1
10801 020470 012200 MOV (R2)+,R0 ; ..READ THE HIGH ORDER BITS
10802 020472 CALL .FREAD ; ..DO IT
020472 004737 010644' JSR PC,.FREAD
10803 020476 012201 MOV (R2)+,R1 ; ..SHIFT COUNT TO R1
10804 020500 CALL .TPSHI ; ..SHIFT IT
020500 004737 027636' JSR PC,.TPSHI
10805 020504 042210 BIC (R2)+,(R0) ; ..MASK OUT UNWANTED BITS
10806 020506 PUSH (R0) ; ..SAVE THE BITS
020506 011046 MOV (R0),-(SP)
10807 020510 012200 MOV (R2)+,R0 ; ...READ THE LOW ORDER BITS
10808 020512 005001 CLR R1 ; ...CLEAR R1
10809 020514 CALL .FREAD ; ...DO IT
020514 004737 010644' JSR PC,.FREAD
10810 020520 012201 MOV (R2)+,R1 ; ...SHIFT COUNT TO R1
10811 020522 CALL .TPSHI ; ...SHIFT IT
020522 004737 027636' JSR PC,.TPSHI
10812 020526 042210 BIC (R2)+,(R0) ; ...MASK OUT UNWANTED BITS
10813 020530 051610 BIS (SP),(R0) ; ...SET IN THE HIGH ORDER BITS
10814 020532 011000 MOV (R0),R0 ; ...PUT IT IN R0
10815 020534 005726 TST (SP)+ ; ...CLEAR THE STACK
10816 020536 POP <R2,R1> ; ..RESTORE REGISTERS
020536 012602 MOV (SP)+,R2
020540 012601 MOV (SP)+,R1
10817 020542 RETURN ; TO CALLER
020542 000207 RTS PC
RDSMR -- KL SMALL REGISTER READ MACRO M1108 13-JAN-78 09:14 PAGE 319
.RDSMR -- SUBROUTINE TO READ SMALL KL REGISTERS 7511.05
10819 ; TABLES FOR SMALL REGISTER READS
10820
10821 020544 CRATAB:
10822 020544 000312 .WORD FR.CA1 ; FR FOR CRAM ADDR HIGH BITS
10823 020546 177750 .WORD -^D24 ; SHIFT COUNT FOR SAME
10824 020550 174077 .WORD 174077 ; BIT MASK FOR SAME
10825 020552 000310 .WORD FR.CA2 ; FR FOR CRAM ADDR LOW BITS
10826 020554 177742 .WORD -^D30 ; SHIFT COUNT FOR SAME
10827 020556 177700 .WORD 177700 ; BIT MASK FOR SAME
10828
10829 020560 CRLTAB:
10830 020560 000316 .WORD FR.CL1 ; FR FOR CRAM LOC HIGH BITS
10831 020562 177750 .WORD -^D24 ; SHIFT COUNT FOR SAME
10832 020564 174077 .WORD 174077 ; BIT MASK FOR SAME
10833 020566 000314 .WORD FR.CL2 ; FR FOR CRAM LOC LOW BITS
10834 020570 177742 .WORD -^D30 ; SHIFT COUNT FOR SAME
10835 020572 177700 .WORD 177700 ; BIT MASK FOR SAME
10836
10837 020574 DRATAB:
10838 020574 000260 .WORD FR.DA1 ; FR FOR DRAM ADDR HIGH BITS
10839 020576 177764 .WORD -^D12 ; SHIFT COUNT FOR SAME
10840 020600 177077 .WORD 177077 ; BIT MASK FOR SAME
10841 020602 000262 .WORD FR.DA2 ; FR FOR DRAM ADDR LOW BITS
10842 020604 177756 .WORD -^D18 ; SHIFT COUNT FOR SAME
10843 020606 177700 .WORD 177700 ; BIT MASK FOR SAME
10844
10845 020610 FERTAB:
10846 020610 000266 .WORD FR.FE1 ; FR FOR FE HIGH BITS
10847 020612 177755 .WORD -^D19 ; SHIFT COUNT FOR SAME
10848 020614 176037 .WORD 176037 ; BIT MASK FOR SAME
10849 020616 000264 .WORD FR.FE2 ; FR FOR FE LOW BITS
10850 020620 177750 .WORD -^D24 ; SHIFT COUNT FOR SAME
10851 020622 177740 .WORD 177740 ; BIT MASK FOR SAME
10852
10853 020624 SBRTAB:
10854 020624 000306 .WORD FR.SR1 ; FR FOR SBR RET HIGH BITS
10855 020626 177750 .WORD -^D24 ; SHIFT COUNT FOR SAME
10856 020630 174077 .WORD 174077 ; BIT MASK FOR SAME
10857 020632 000304 .WORD FR.SR2 ; FR FOR SBR RET LOW BITS
10858 020634 177742 .WORD -^D30 ; SHIFT COUNT FOR SAME
10859 020636 177700 .WORD 177700 ; BIT MASK FOR SAME
10860
10861 020640 SCRTAB:
10862 020640 000262 .WORD FR.SC1 ; FR FOR SHIFT COUNT HIGH BITS
10863 020642 177755 .WORD -^D19 ; SHIFT COUNT FOR SAME
10864 020644 177417 .WORD 177417 ; BIT MASK FOR SAME
10865 020646 000260 .WORD FR.SC2 ; FR FOR SHIFT COUNT LOW BITS
10866 020650 177750 .WORD -^D24 ; SHIFT COUNT FOR SAME
10867 020652 177760 .WORD 177760 ; BIT MASK FOR SAME
RDVXX -- KL VMA BOARD READ FUNC MACRO M1108 13-JAN-78 09:14 PAGE 320
.RDSMR -- SUBROUTINE TO READ SMALL KL REGISTERS 7511.05
10869 .TITLE RDVXX -- KL VMA BOARD READ FUNCTION MODULE 7603.30
10870
10871 .IDENT "001010"
10872
10873 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
10874 ;
10875 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
10876 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
10877 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
10878 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
10879 ; FOR ITS ACCURACY.
10880 ;
10881 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
10882 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
10883 ;
10884 ;
10885 ; MODULE: KL VMA BOARD READ FUNCTION
10886 ;
10887 ; VERSION: 01-01
10888 ;
10889 ; AUTHOR: R. BELANGER
10890 ;
10891 ; DATE: 7603.30
10892 ;
10893 ; THIS MODULE CONTAINS:
10894 ;
10895 ; 1) KL VMA BOARD READ CODE
10896 ; 2) KL VMA BOARD READ TABLES
RDVXX -- KL VMA BOARD READ FUNC MACRO M1108 13-JAN-78 09:14 PAGE 321
.RDVXX -- KL VMA BOARD READ SUBROUTINES 7510.21
10898 .SBTTL .RDVXX -- KL VMA BOARD READ SUBROUTINES 7510.21
10899
10900 ;+
10901 ; .RDVPC -- SUBROUTINE TO READ THE KL PROGRAM COUNTER REGISTER
10902 ; .RDVAB -- SUBROUTINE TO READ THE KL ADDRESS BREAK REGISTER.
10903 ; .RDVMA -- SUBROUTINE TO READ THE KL VMA REGISTER.
10904 ; .RDVMH -- SUBROUTINE TO READ THE KL VMAH REGISTER.
10905 ;
10906 ; THESE SUBROUTINES READ AND ASSEMBLE THE DESIRED VMA BOARD REGISTER
10907 ; INTO A THREE WORD BLOCK POINTED TO BY R1 IN THE CALL.
10908 ;
10909 ; INPUT ARGUMENTS:
10910 ;
10911 ; R1 POINTS TO A TWO WORD BUFFER FOR THE SPECIFIED REGISTER
10912 ;
10913 ; OUTPUT ARGUMENTS:
10914 ;
10915 ; R1 POINTS TO A TWO WORD BUFFER FOR THE SPECIFIED REGISTER
10916 ;
10917 ; ERROR CODES RETURNED:
10918 ;
10919 ; FRF -- FUNCTION READ FAILED.
10920 ;-
10921
10922 .ENABL LSB
10923
10924 020654 .RDVPC::
10925 020654 012700 021004' MOV #PCTAB,R0 ; POINTER TO PC TABLE
10926 020660 000410 BR 10$
10927 ;
10928 020662 .RDVAB::
10929 020662 012700 021012' MOV #ABTAB,R0 ; POINTER TO ADDRESS BREAK TABLE
10930 020666 000405 BR 10$
10931 ;
10932 020670 .RDVMA::
10933 020670 012700 021020' MOV #VMATB,R0 ; POINTER TO VMA TABLE
10934 020674 000402 BR 10$
10935 ;
10936 020676 .RDVMH::
10937 020676 012700 021026' MOV #VMHTB,R0 ; POINTER TO VMAH TABLE
10938 020702 10$:
10939 020702 CALL R5,.REGSV ; SAVE R5 - R1 ON THE STACK
020702 004537 021556' JSR R5,.REGSV
10940 020706 010005 MOV R0,R5 ; TABLE POINTER TO R5
10941 020710 012704 000004 MOV #^D4,R4 ; ITERATION COUNT TO R4
10942 020714 010103 MOV R1,R3 ; USER BUFFER ADDRESS TO R3
10943 020716 012502 MOV (R5)+,R2 ; FUNCTION READ BASE TO R2
10944 020720 PUSH (R5)+ ; MASK WORD TO TOP OF THE STACK
020720 012546 MOV (R5)+,-(SP)
10945 020722 011505 MOV (R5),R5 ; .SHIFT BASE TO R5
10946 020724 010100 MOV R1,R0 ; .CLEAR CALLER'S AREA
10947 020726 CALL .TPCLR ; .SO
020726 004737 027234' JSR PC,.TPCLR
10948
10949 ; [CONTINUED ON THE FOLLOWING PAGE]
RDVXX -- KL VMA BOARD READ FUNC MACRO M1108 13-JAN-78 09:14 PAGE 322
.RDVXX -- KL VMA BOARD READ SUBROUTINES 7510.21
10951 ; [CONTINUED FROM THE PREVIOUS PAGE]
10952
10953 020732 20$: ; .GET HERE FROM .RDVXX, ABOVE
10954 020732 010200 MOV R2,R0 ; .SET THE FUNCTION READ NUMBER
10955 020734 006300 ASL R0 ; .TIMES 2
10956 020736 005001 CLR R1 ; .CLEAR R1
10957 020740 CALL .FREAD ; .READ IT
020740 004737 010644' JSR PC,.FREAD
10958 020744 041620 BIC (SP),(R0)+ ; .SP POINTS TO BIT MASK
10959 020746 041610 BIC (SP),(R0) ; .R0 POINTS TO READ BLOCK
10960 020750 005740 TST -(R0) ; .NOW BACK THE POINTER UP
10961 020752 010501 MOV R5,R1 ; .GET THE SHIFT COUNT INTO R1
10962 020754 CALL .TPSHI ; .AND SHIFT IT
020754 004737 027636' JSR PC,.TPSHI
10963 020760 052023 BIS (R0)+,(R3)+ ; .SET THE BITS IN THE USER BUFFER
10964 020762 051013 BIS (R0),(R3) ; .SO
10965 020764 005743 TST -(R3) ; .BACK CALLER'S POINTER UP
10966 020766 122225 CMPB (R2)+,(R5)+ ; .INCREMENT READ NUMBER AND SHIFT COUNT
10967 020770 077420 SOB R4,20$ ; .DO THIS FOUR TIMES
10968 020772 042763 177600 000002 BIC #177600,2(R3) ; .GET RID OF BITS HIGHER THAN 13
10969 021000 005726 TST (SP)+ ; CLEAR THE STACK
10970 021002 RETURN ; RETURN TO CALLER
021002 000207 RTS PC
10971
10972 .DSABL LSB
10973
10974 ; TABLES FOR VMA BOARD READS
10975
10976 021004 PCTAB:
10977 021004 000150 .WORD FR.150/2 ; BASE READ FOR PC REGISTER
10978 021006 135673 .WORD 135673 ; BIT MASK " " "
10979 021010 177776 .WORD -^D2 ; SHIFT CNT " " "
10980 021012 ABTAB:
10981 021012 000150 .WORD FR.150/2 ; BASE READ FOR ADDRESS BREAK REGISTER
10982 021014 167356 .WORD 167356 ; BIT MASK " " " "
10983 021016 000000 .WORD 0 ; SHIFT CNT " " " "
10984 021020 VMATB:
10985 021020 000154 .WORD FR.154/2 ; BASE READ FOR VMA REGISTER
10986 021022 135673 .WORD 135673 ; BIT MASK " " "
10987 021024 177776 .WORD -^D2 ; SHIFT CNT " " "
10988 021026 VMHTB:
10989 021026 000154 .WORD FR.154/2 ; BASE READ FOR VMAH REGISTER
10990 021030 167356 .WORD 167356 ; BIT MASK " " "
10991 021032 000000 .WORD 0 ; SHIFT CNT " " "
REPTC -- REPEAT COMMAND MODULE MACRO M1108 13-JAN-78 09:14 PAGE 323
.RDVXX -- KL VMA BOARD READ SUBROUTINES 7510.21
10993 .TITLE REPTC -- REPEAT COMMAND MODULE 7703.25
10994
10995 .IDENT "001020"
10996
10997 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
10998 ;
10999 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
11000 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
11001 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
11002 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
11003 ; FOR ITS ACCURACY.
11004 ;
11005 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
11006 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
11007 ;
11008 ;
11009 ; MODULE: REPEAT COMMAND
11010 ;
11011 ; VERSION: 01-02
11012 ;
11013 ; AUTHOR: R. BELANGER
11014 ;
11015 ; DATE: 7703.25
11016 ;
11017 ; THIS MODULE CONTAINS:
11018 ;
11019 ; 1) REPEAT COMMAND CODE
REPTC -- REPEAT COMMAND MODULE MACRO M1108 13-JAN-78 09:14 PAGE 324
.REPTC -- THE "REPEAT" COMMAND 7703.25
11021 .SBTTL .REPTC -- THE "REPEAT" COMMAND 7703.25
11022
11023 ;+
11024 ; .REPTC -- THE "REPEAT" COMMAND
11025 ;
11026 ; THIS ROUTINE WILL ACCEPT AND CHECK A 36 BIT REPEAT COUNT BEFORE
11027 ; CALLING THE TOP LEVEL OF THE COMMAND PARSER.
11028 ;
11029 ; INPUT ARGUMENTS:
11030 ;
11031 ; NONE.
11032 ;
11033 ; OUTPUT ARGUMENTS:
11034 ;
11035 ; R0 POINTS TO A 36 BIT REPEAT COUNT
11036 ;
11037 ; ERROR CODES RETURNED:
11038 ;
11039 ; IRC -- ILLEGAL REPEAT COUNT
11040 ;-
11041
11042 021034 .REPTC::
11043 021034 013737 000066' 000120' MOV .IRADX,.RDXSV ; SAVE CURRENT INPUT RADIX
11044 021042 012737 000012 000066' MOV #^D10,.IRADX ; SET IT TO DECIMAL
11045 021050 005046 CLR -(SP) ; CLEAR A BUFFER ON THE STACK
11046 021052 005046 CLR -(SP) ; .
11047 021054 005046 CLR -(SP) ; ..
11048 021056 010600 MOV SP,R0 ; ...POINT TO IT
11049 021060 CALL .GTKLN ; ...READ THE NUMBER
021060 004737 012334' JSR PC,.GTKLN
11050 021064 013737 000120' 000066' MOV .RDXSV,.IRADX ; ...RESET INPUT RADIX
11051 021072 CALL .TPTST ; ...SEE WHAT WE GOT
021072 004737 027340' JSR PC,.TPTST
11052 021076 003410 BLE REPIRC ; ...ILLEGAL IF .LE. 0
11053 021100 CALL .CKEOC ; ...CHECK E-O-C
021100 004737 002010' JSR PC,.CKEOC
11054 021104 105725 TSTB (R5)+ ; ...GET OVER THE E-O-C CHARACTER
11055 021106 CALL .DOCMD ; ...CONTINUE PROCESSING THE LINE
021106 004737 003334' JSR PC,.DOCMD
11056 021112 062706 000006 ADD #^D6,SP ; ...FLUSH THE STACK
11057 021116 RETURN ; TO CALLER
021116 000207 RTS PC
11058 021120 REPIRC:
11059 021120 ERROR$ IRC ; ERROR -- ILLEGAL REPEAT COUNT
021120 012746 MOV (PC)+,-(SP) ; "IRC" IN RAD50 TO STACK
021122 035423 .RAD50 /IRC/ ; ERROR IDENTIFIER
021124 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
11060 ;
RESET -- RESET KL RESET FUNCTIO MACRO M1108 13-JAN-78 09:14 PAGE 325
.REPTC -- THE "REPEAT" COMMAND 7703.25
11062 .TITLE RESET -- RESET KL RESET FUNCTION MODULE 7603.30
11063
11064 .IDENT "001010"
11065
11066 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
11067 ;
11068 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
11069 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
11070 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
11071 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
11072 ; FOR ITS ACCURACY.
11073 ;
11074 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
11075 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
11076 ;
11077 ;
11078 ; MODULE: KL RESET FUNCTION
11079 ;
11080 ; VERSION: 01-01
11081 ;
11082 ; AUTHOR: R. BELANGER
11083 ;
11084 ; DATE: 7603.30
11085 ;
11086 ; THIS MODULE CONTAINS:
11087 ;
11088 ; 1) KL RESET CODE
11089 ; 2) KL RESET TABLES
RESET -- RESET KL RESET FUNCTIO MACRO M1108 13-JAN-78 09:14 PAGE 326
.RESET -- KL RESET SUBROUTINES 7511.18
11091 .SBTTL .RESET -- KL RESET SUBROUTINES 7511.18
11092
11093 ;+
11094 ; .RESET -- SUBROUTINE TO RESET THE KL.
11095 ;
11096 ; THIS SUBROUTINE PERFORM ALL DIAGNOSTIC FUNCTIONS REQUIRED TO RESET
11097 ; THE KL MICROPROCESSOR AND SET UP CLOCK ENABLES AND PARITY STOPS.
11098 ;
11099 ; SEQUENCE OF OPERATION:
11100 ;
11101 ; (A) THE DTE-20 IS CLEARED,
11102 ; (B) THE MASTER RESET SUBROUTINE IS INVOKED,
11103 ; (C) THE MAJOR KL CONTROL REGISTERS ARE CLEARED
11104 ; (THIS IS A FULL KL MASTER RESET).
11105 ;
11106 ; INPUT ARGUMENTS:
11107 ;
11108 ; NONE.
11109 ;
11110 ; OUTPUT ARGUMENTS:
11111 ;
11112 ; NONE.
11113 ;
11114 ; ERROR CODES RETURNED:
11115 ;
11116 ; DSF -- DTE-20 STATUS FAILURE.
11117 ; FRF -- FUNCTION READ FAILED.
11118 ; FWF -- FUNCTION WRITE FAILED.
11119 ; FXF -- FUNCTION EXECUTE FAILED.
11120 ;-
RESET -- RESET KL RESET FUNCTIO MACRO M1108 13-JAN-78 09:14 PAGE 327
.RESET -- KL RESET SUBROUTINES 7511.18
11122 021126 .RESET::
11123 021126 PUSH <R0,R1,R2> ; SAVE CALLER'S REGISTERS
021126 010046 MOV R0,-(SP)
021130 010146 MOV R1,-(SP)
021132 010246 MOV R2,-(SP)
11124 021134 CALL .RESTD ; ...RESET THE DTE-20
021134 004737 021420' JSR PC,.RESTD
11125 021140 012702 021244' MOV #RESETT,R2 ; ...FUNCTION TABLE POINTER TO R2
11126 021144 CALL .STPXC ; ...STOP THE KL CLOCK
021144 004737 026354' JSR PC,.STPXC
11127 021150 005046 CLR -(SP) ; ...CLEAR A TEMP BUFFER
11128 021152 010601 MOV SP,R1 ; ....POINT TO TEMP BUFFER
11129 021154 005011 CLR (R1) ; ....CLEAR IT
11130 021156 CALL .LDCLK ; ....CLEAR THE CLOCKS OUT
021156 004737 015432' JSR PC,.LDCLK
11131 021162 CALL .LDPAR ; ....RESET THE PARITY REGISTERS
021162 004737 015450' JSR PC,.LDPAR
11132 021166 CALL .MRCLR ; ....DO MASTER RESET STUFF
021166 004737 015756' JSR PC,.MRCLR
11133 021172 CALL .CLDFB ; ....CLEAR THE FUNCTION BUFFERS
021172 004737 002234' JSR PC,.CLDFB
11134 021176 10$:
11135 021176 005001 CLR R1 ; ....CLEAR R1
11136 021200 112200 MOVB (R2)+,R0 ; ....FUNCTION WRITE CODE TO R0
11137 021202 CALL .FWRIT ; ....DO THE WRITE
021202 004737 010740' JSR PC,.FWRIT
11138 021206 022702 021252' CMP #RSTEND,R2 ; ....ARE WE CLOSE TO END?
11139 021212 101371 BHI 10$ ; ....NO -- KEEP GOING
11140 021214 112210 MOVB (R2)+,(R0) ; ....YES -- GET THE DATA
11141 021216 111200 MOVB (R2),R0 ; ....FOR LAST WRITE
11142 021220 CALL .FWRIT ; ....DO IT
021220 004737 010740' JSR PC,.FWRIT
11143 021224 005726 TST (SP)+ ; ....CLEAR THE STACK
11144 021226 POP <R2,R1,R0> ; ...RESTORE REGISTERS
021226 012602 MOV (SP)+,R2
021230 012601 MOV (SP)+,R1
021232 012600 MOV (SP)+,R0
11145 021234 052737 000000G 000002G BIS #EF.CRI,.COMEF+2 ; DECLARE THE COMM REGION INVALID
11146 021242 RETURN ; TO CALLER
021242 000207 RTS PC
11147
11148 ; TABLE OF FUNCTION WRITE CODES FOR RESET
11149
11150 021244 RESETT:
11151 021244 104 .BYTE FW.LBR ; CLEAR BURST COUNTER - RIGHT
11152 021245 106 .BYTE FW.LBL ; CLEAR BURST COUNTER - LEFT
11153 021246 124 .BYTE FW.CA2 ; CLEAR CRAM DIAG ADDR - LEFT
11154 021247 122 .BYTE FW.CA1 ; CLEAR CRAM DIAG ADDR - RIGHT
11155 021250 156 .BYTE FW.KLO ; ENABLE KL OPCODES
11156 021251 174 .BYTE FW.EBL ; EBUS LOAD
11157 021252' RSTEND=.
11158 021252 012 .BYTE 12 ; DATA FOR
11159 021253 162 .BYTE FW.MBX ; MBOX CONTROL
11160 .EVEN
RESTB -- RESET COMMAND TABLE MO MACRO M1108 13-JAN-78 09:14 PAGE 328
.RESET -- KL RESET SUBROUTINES 7511.18
11162 .TITLE RESTB -- RESET COMMAND TABLE MODULE 7603.30
11163
11164 .IDENT "001010"
11165
11166 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
11167 ;
11168 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
11169 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
11170 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
11171 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
11172 ; FOR ITS ACCURACY.
11173 ;
11174 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
11175 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
11176 ;
11177 ;
11178 ; MODULE: RESET COMMAND TABLE
11179 ;
11180 ; VERSION: 01-01
11181 ;
11182 ; AUTHOR: R. BELANGER
11183 ;
11184 ; DATE: 7603.30
11185 ;
11186 ; THIS MODULE CONTAINS:
11187 ;
11188 ; 1) THE RESET COMMAND TABLE
RESTB -- RESET COMMAND TABLE MO MACRO M1108 13-JAN-78 09:14 PAGE 329
.RESTB -- THE RESET COMMAND TABLE 7602.18
11190 .SBTTL .RESTB -- THE RESET COMMAND TABLE 7602.18
11191
11192 021254 .RESTB::
11193 021254 COMND$ ALL,<LG.PRG!LG.RPT>,.RSALL
005161 101 114 114 .ASCIZ %ALL%
005164 000
021254 005161' .WORD $$CMDN ; POINTER TO "ALL" SYMBOL
021256 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
021260 021614' .WORD .RSALL ; ROUTINE TO CALL
11194 021262 COMND$ APR,<LG.PRG!LG.RPT>,.RSAPR
005165 101 120 122 .ASCIZ %APR%
005170 000
021262 005165' .WORD $$CMDN ; POINTER TO "APR" SYMBOL
021264 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
021266 021712' .WORD .RSAPR ; ROUTINE TO CALL
11195 021270 COMND$ DTE-20,<LG.PRG!LG.RPT>,.RSDTE
005171 104 124 105 .ASCIZ %DTE-20%
005174 055 062 060
005177 000
021270 005171' .WORD $$CMDN ; POINTER TO "DTE-20" SYMBOL
021272 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
021274 021662' .WORD .RSDTE ; ROUTINE TO CALL
11196 021276 COMND$ ERROR,<LG.RPT!LG.PRG>,.RSERR
005200 105 122 122 .ASCIZ %ERROR%
005203 117 122 000
021276 005200' .WORD $$CMDN ; POINTER TO "ERROR" SYMBOL
021300 000402 .WORD LG.RPT!LG.PRG ; LEGAL BITS
021302 021720' .WORD .RSERR ; ROUTINE TO CALL
11197 021304 COMND$ INITIALIZE,<LG.PRG!LG.RPT>,.RSTIN
005206 111 116 111 .ASCIZ %INITIALIZE%
005211 124 111 101
005214 114 111 132
005217 105 000
021304 005206' .WORD $$CMDN ; POINTER TO "INITIALIZE" SYMBOL
021306 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
021310 021666' .WORD .RSTIN ; ROUTINE TO CALL
11198 021312 COMND$ IO,<LG.PRG!LG.RPT>,.RSTIO
005221 111 117 000 .ASCIZ %IO%
021312 005221' .WORD $$CMDN ; POINTER TO "IO" SYMBOL
021314 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
021316 021726' .WORD .RSTIO ; ROUTINE TO CALL
11199 021320 COMND$ PAG,<LG.PRG!LG.RPT>,.RSPAG
005224 120 101 107 .ASCIZ %PAG%
005227 000
021320 005224' .WORD $$CMDN ; POINTER TO "PAG" SYMBOL
021322 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
021324 021774' .WORD .RSPAG ; ROUTINE TO CALL
11200 021326 COMND$ PI,<LG.PRG!LG.RPT>,.RSTPI
005230 120 111 000 .ASCIZ %PI%
021326 005230' .WORD $$CMDN ; POINTER TO "PI" SYMBOL
021330 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
021332 021734' .WORD .RSTPI ; ROUTINE TO CALL
11201 021334 000000 .WORD 0 ; END OF TABLE MARKER
RESTC -- RESET COMMAND DISPATCH MACRO M1108 13-JAN-78 09:14 PAGE 330
.RESTB -- THE RESET COMMAND TABLE 7602.18
11203 .TITLE RESTC -- RESET COMMAND DISPATCH 7707.12
11204
11205 .IDENT "003060"
11206
11207 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
11208 ;
11209 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
11210 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
11211 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
11212 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
11213 ; FOR ITS ACCURACY.
11214 ;
11215 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
11216 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
11217 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
11218 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
11219 ;
11220 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
11221 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
11222 ;
11223 ;
11224 ; MODULE: RESET COMMAND DISPATCH
11225 ;
11226 ; VERSION: 03-06
11227 ;
11228 ; AUTHOR: R. BELANGER
11229 ;
11230 ; DATE: 7707.12
11231 ;
11232 ; THIS MODULE CONTAINS:
11233 ;
11234 ; 1) RESET COMMAND DISPATCH
RESTC -- RESET COMMAND DISPATCH MACRO M1108 13-JAN-78 09:14 PAGE 331
.RESTC -- THE "RESET" COMMAND DISPATCH 7710.11
11236 .SBTTL .RESTC -- THE "RESET" COMMAND DISPATCH 7710.11
11237
11238 ;+
11239 ; .RESTC -- THE "RESET" COMMAND DISPATCH
11240 ;
11241 ; THIS ROUTINE IS THE TOP LEVEL OF THE RESET COMMAND. ".RESTC" CHECKS
11242 ; ARGUMENTS FOR RESET AND DISPATCHES TO THE PROPER ROUTINE
11243 ;
11244 ; INPUT ARGUMENTS:
11245 ;
11246 ; NONE.
11247 ;
11248 ; OUTPUT ARGUMENTS:
11249 ;
11250 ; R0 POINTS TO THE LEGAL BITS FOR THE RESET OBJECT.
11251 ;
11252 ; ERROR CODES RETURNED:
11253 ;
11254 ; KLR -- ILLEGAL WHILE KL IS RUNNING.
11255 ;-
11256
11257 021336 .RESTC::
11258 021336 111504 MOVB (R5),R4 ; LOOK AT THIS CHARACTER
11259 021340 132764 000010 001360' BITB #CH.EOC,.CHTAB(R4)
11260 021346 001015 BNE 10$ ; DEFAULT RESET ON E-O-C
11261 021350 CALL .CKARG ; GET OVER LEADING BLANKS
021350 004737 001712' JSR PC,.CKARG
11262 021354 012700 021254' MOV #.RESTB,R0 ; TABLE POINTER TO R0
11263 021360 CALL .TSCAN ; SCAN THE TABLE
021360 004737 030176' JSR PC,.TSCAN
11264 021364 012001 MOV (R0)+,R1 ; LEGAL BITS TO R1
11265 021366 005101 COM R1 ; INVERT THEM
11266 021370 040137 000076' BIC R1,.LGLWD ; SET UP NEW LEGAL WORD
11267 021374 CALL .CKEOC ; CHECK FOR E-O-C
021374 004737 002010' JSR PC,.CKEOC
11268 021400 CALLR @(R0)+ ; DO THE RESET
021400 000130 JMP @(R0)+
11269 ;
11270 021402 10$:
11271 021402 CALL .CKRNP ; SEE IF THE KL IS RUNNING
021402 004737 002154' JSR PC,.CKRNP
11272 021406 CALL .STPKL ; STOP THE KL
021406 004737 026330' JSR PC,.STPKL
11273 021412 CALL .RESTP ; RESET THE KL
021412 004737 021504' JSR PC,.RESTP
11274 021416 RETURN ; AND EXIT
021416 000207 RTS PC
RESTD -- DTE-20 RESET FUNCTION MACRO M1108 13-JAN-78 09:14 PAGE 332
.RESTC -- THE "RESET" COMMAND DISPATCH 7710.11
11276 .TITLE RESTD -- DTE-20 RESET FUNCTION MODULE 7607.20
11277
11278 .IDENT "001010"
11279
11280 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
11281 ;
11282 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
11283 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
11284 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
11285 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
11286 ; FOR ITS ACCURACY.
11287 ;
11288 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
11289 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
11290 ;
11291 ;
11292 ; MODULE: DTE-20 RESET FUNCTION
11293 ;
11294 ; VERSION: 01-01
11295 ;
11296 ; AUTHOR: R. BELANGER
11297 ;
11298 ; DATE: 7607.20
11299 ;
11300 ; THIS MODULE CONTAINS:
11301 ;
11302 ; 1) DTE-20 RESET CODE
11303 ; 2) DTE-20 RESET TABLES
RESTD -- DTE-20 RESET FUNCTION MACRO M1108 13-JAN-78 09:14 PAGE 333
.RESTD -- DTE-20 RESET SUBROUTINE 7607.20
11305 .SBTTL .RESTD -- DTE-20 RESET SUBROUTINE 7607.20
11306
11307 ;+
11308 ; .RESTD -- SUBROUTINE TO RESET THE DTE-20.
11309 ;
11310 ; THIS SUBROUTINE RESETS THE DTE-20.
11311 ;
11312 ; SEQUENCE OF OPERATION:
11313 ;
11314 ; (A) THE DTE-20 IS CLEARED.
11315 ;
11316 ; INPUT ARGUMENTS:
11317 ;
11318 ; NONE.
11319 ;
11320 ; OUTPUT ARGUMENTS:
11321 ;
11322 ; NONE.
11323 ;
11324 ; ERROR CODES RETURNED:
11325 ;
11326 ; DSF -- DTE-20 STATUS FAILURE.
11327 ; FRF -- FUNCTION READ FAILED.
11328 ; FWF -- FUNCTION WRITE FAILED.
11329 ; FXF -- FUNCTION EXECUTE FAILED.
11330 ;-
11331
11332 021420 .RESTD::
11333 021420 012700 021440' MOV #D2RST,R0 ; DIAG WORD 2 RESET
11334 021424 CALL .DWDW2 ; WRITE IT
021424 004737 004674' JSR PC,.DWDW2
11335 021430 012700 021442' MOV #D3RST,R0 ; DIAG WORD 3 RESET
11336 021434 CALLR .DWDW3 ; WRITE IT
021434 000137 004714' JMP .DWDW3
11337 ;
11338 021440 D2RST:
11339 021440 000100 .WORD D2.RST ; DIAG WORD 2 RESET
11340 021442 D3RST:
11341 021442 000001 .WORD D3.RST ; DIAG WORD 3 RESET
RESTI -- KL DEFAULT RESET FUNCT MACRO M1108 13-JAN-78 09:14 PAGE 334
.RESTD -- DTE-20 RESET SUBROUTINE 7607.20
11343 .TITLE RESTI -- KL DEFAULT RESET FUNCTION MODULE 7607.19
11344
11345 .IDENT "001010"
11346
11347 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
11348 ;
11349 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
11350 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
11351 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
11352 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
11353 ; FOR ITS ACCURACY.
11354 ;
11355 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
11356 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
11357 ;
11358 ;
11359 ; MODULE: KL DEFAULT RESET FUNCTION
11360 ;
11361 ; VERSION: 01-01
11362 ;
11363 ; AUTHOR: R. BELANGER
11364 ;
11365 ; DATE: 7607.19
11366 ;
11367 ; THIS MODULE CONTAINS:
11368 ;
11369 ; 1) KL DEFAULT RESET CODE
RESTI -- KL DEFAULT RESET FUNCT MACRO M1108 13-JAN-78 09:14 PAGE 335
.RESTI -- RESET KL AND ENABLE NORMAL CLOCK AND PARITY 7607.19
11371 .SBTTL .RESTI -- RESET KL AND ENABLE NORMAL CLOCK AND PARITY 7607.19
11372
11373 ;+
11374 ; .RESTI -- SUBROUTINE TO RESET THE KL AND SET UP NORMAL
11375 ; KL CLOCK ENABLES AND PARITY STOPS.
11376 ;
11377 ; THIS SUBROUTINE PERFORMS ALL DIAGNOSTIC FUNCTIONS REQUIRED TO RESET
11378 ; THE KL MICROPROCESSOR AND SET UP NORMAL CLOCK ENABLES AND PARITY STOPS
11379 ;
11380 ; SEQUENCE OF OPERATION:
11381 ;
11382 ; (A) ".RESET" IS INVOKED,
11383 ; (B) NORMAL KL CLOCKS ARE ENABLED,
11384 ; (C) NORMAL KL PARITY STOPS ARE ENABLED.
11385 ;
11386 ; INPUT ARGUMENTS:
11387 ;
11388 ; NONE.
11389 ;
11390 ; OUTPUT ARGUMENTS:
11391 ;
11392 ; NONE.
11393 ;
11394 ; ERROR CODES RETURNED:
11395 ;
11396 ; DSF -- DTE-20 STATUS FAILURE.
11397 ; FRF -- FUNCTION READ FAILED.
11398 ; FWF -- FUNCTION WRITE FAILED.
11399 ; FXF -- FUNCTION EXECUTE FAILED.
11400 ;-
RESTI -- KL DEFAULT RESET FUNCT MACRO M1108 13-JAN-78 09:14 PAGE 336
.RESTI -- RESET KL AND ENABLE NORMAL CLOCK AND PARITY 7607.19
11402 021444 .RESTI::
11403 021444 PUSH R1 ; SAVE R1
021444 010146 MOV R1,-(SP)
11404 021446 005046 CLR -(SP) ; .CLEAR A LOCATION ON THE STACK
11405 021450 CALL .RESET ; ..RESET THE KL
021450 004737 021126' JSR PC,.RESET
11406 021454 010601 MOV SP,R1 ; ..POINT TO SCRATCH BUFFER
11407 021456 012716 000000 MOV #CC.NRM,(SP) ; ..SET UP NORMAL CLOCK ENABLES
11408 021462 CALL .LDCLK ; ..SET THEM
021462 004737 015432' JSR PC,.LDCLK
11409 021466 012716 001416 MOV #PS.NRM,(SP) ; ..SET UP NORMAL PARITY ENABLES
11410 021472 CALL .LDPAR ; ..SET THEM
021472 004737 015450' JSR PC,.LDPAR
11411 021476 005726 TST (SP)+ ; ..CLEAR THE STACK
11412 021500 POP R1 ; .RESTORE R1
021500 012601 MOV (SP)+,R1
11413 021502 RETURN ; TO CALLER
021502 000207 RTS PC
RESTP -- KL NORMAL RESET FUNCTI MACRO M1108 13-JAN-78 09:14 PAGE 337
.RESTI -- RESET KL AND ENABLE NORMAL CLOCK AND PARITY 7607.19
11415 .TITLE RESTP -- KL NORMAL RESET FUNCTION MODULE 7603.30
11416
11417 .IDENT "001010"
11418
11419 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
11420 ;
11421 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
11422 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
11423 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
11424 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
11425 ; FOR ITS ACCURACY.
11426 ;
11427 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
11428 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
11429 ;
11430 ;
11431 ; MODULE: KL NORMAL RESET FUNCTION
11432 ;
11433 ; VERSION: 01-01
11434 ;
11435 ; AUTHOR: R. BELANGER
11436 ;
11437 ; DATE: 7603.30
11438 ;
11439 ; THIS MODULE CONTAINS:
11440 ;
11441 ; 1) KL NORMAL RESET CODE
RESTP -- KL NORMAL RESET FUNCTI MACRO M1108 13-JAN-78 09:14 PAGE 338
.RESTP -- RESET KL AND SAVE CURRENT CLOCK AND PARITY 7511.19
11443 .SBTTL .RESTP -- RESET KL AND SAVE CURRENT CLOCK AND PARITY 7511.19
11444
11445 ;+
11446 ; .RESTP -- SUBROUTINE TO RESET THE KL AND RESTORE THE
11447 ; PREVIOUS KL PARITY STOPS.
11448 ;
11449 ; THIS SUBROUTINE PERFORMS ALL DIAGNOSTIC FUNCTIONS REQUIRED TO RESET
11450 ; THE KL MICROPROCESSOR AND SET UP CURRENT CLOCK ENABLES AND PARITY STOPS
11451 ;
11452 ; SEQUENCE OF OPERATION:
11453 ;
11454 ; (A) ".RESET" IS INVOKED.
11455 ; (B) THE PREVIOUSLY ENABLED CLOCK AND PARITY CONTROLS ARE
11456 ; REENABLED.
11457 ;
11458 ; INPUT ARGUMENTS:
11459 ;
11460 ; NONE.
11461 ;
11462 ; OUTPUT ARGUMENTS:
11463 ;
11464 ; NONE.
11465 ;
11466 ; ERROR CODES RETURNED:
11467 ;
11468 ; DSF -- DTE-20 STATUS FAILURE.
11469 ; FRF -- FUNCTION READ FAILED.
11470 ; FWF -- FUNCTION WRITE FAILED.
11471 ; FXF -- FUNCTION EXECUTE FAILED.
11472 ;-
RESTP -- KL NORMAL RESET FUNCTI MACRO M1108 13-JAN-78 09:14 PAGE 339
.RESTP -- RESET KL AND SAVE CURRENT CLOCK AND PARITY 7511.19
11474 021504 .RESTP::
11475 021504 PUSH R1 ; SAVE R1
021504 010146 MOV R1,-(SP)
11476 021506 CALL .STPXC ; .STOP THE KL CLOCK
021506 004737 026354' JSR PC,.STPXC
11477 021512 CALL .RDCPP ; .READ CURRENT CLOCK AND PARITY ENABLES
021512 004737 017602' JSR PC,.RDCPP
11478 021516 PUSH .PSCWD ; .SAVE THE PARITY CONTROL WORD
021516 013746 000116' MOV .PSCWD,-(SP)
11479 021522 PUSH .CLKWD ; ..SAVE THE CLOCK CONTROL WORD
021522 013746 000010' MOV .CLKWD,-(SP)
11480 021526 CALL .RESET ; ...DO A MASTER RESET
021526 004737 021126' JSR PC,.RESET
11481 021532 010601 MOV SP,R1 ; ...POINT TO THE CLOCK WORD
11482 021534 CALL .LDCLK ; ...LOAD THE CLOCKS AGAIN
021534 004737 015432' JSR PC,.LDCLK
11483 021540 005726 TST (SP)+ ; ...FLUSH SAVED CLOCK WORD
11484 021542 010601 MOV SP,R1 ; ..POINT TO THE PARITY WORD
11485 021544 CALL .LDPAR ; ..LOAD THE PARITY STOPS
021544 004737 015450' JSR PC,.LDPAR
11486 021550 005726 TST (SP)+ ; ..FLUSH THE PARITY WORD
11487 021552 POP R1 ; .RESTORE R1
021552 012601 MOV (SP)+,R1
11488 021554 RETURN ; AND GO AWAY
021554 000207 RTS PC
RGSAV -- REGISTER SAVE / RESTOR MACRO M1108 13-JAN-78 09:14 PAGE 340
.RESTP -- RESET KL AND SAVE CURRENT CLOCK AND PARITY 7511.19
11490 .TITLE RGSAV -- REGISTER SAVE / RESTORE MODULE 7603.30
11491
11492 .IDENT "001010"
11493
11494 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
11495 ;
11496 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
11497 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
11498 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
11499 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
11500 ; FOR ITS ACCURACY.
11501 ;
11502 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
11503 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
11504 ;
11505 ;
11506 ; MODULE: REGISTER SAVE / RESTORE
11507 ;
11508 ; VERSION: 01-01
11509 ;
11510 ; AUTHOR: R. BELANGER
11511 ;
11512 ; DATE: 7603.30
11513 ;
11514 ; THIS MODULE CONTAINS:
11515 ;
11516 ; 1) REGISTER SAVE / RESTORE CODE
RGSAV -- REGISTER SAVE / RESTOR MACRO M1108 13-JAN-78 09:14 PAGE 341
.RGSAV -- R1 - R5 SAVE AND RESTORE SUBROUTINE 7509.16
11518 .SBTTL .RGSAV -- R1 - R5 SAVE AND RESTORE SUBROUTINE 7509.16
11519
11520 ;+
11521 ; .REGSV -- SUBROUTINE TO SAVE AND RESTORE R5 - R1 ON THE STACK.
11522 ;
11523 ; R1 - R5 ARE SAVED ON THE STACK, AND MAY BE RESTORED BY EITHER:
11524 ;
11525 ; RETURN ; RETURNS TO HIGHER LEVEL
11526 ; -OR-
11527 ; CALL @(SP)+ ; RETURNS TO SAME LEVEL
11528 ;
11529 ; NO REGISTERS ARE DESTROYED BY THIS SUBROUTINE, AND SUBSEQUENT CALLS
11530 ; WILL NEST.
11531 ;
11532 ; CALLING SEQUENCE IS:
11533 ;
11534 ; CALL R5,.REGSV
11535 ; ONLY RETURN
11536 ;-
11537
11538 021556 .REGSV:: ; DEFINE AS GLOBAL
11539 021556 PUSH <R4,R3,R2,R1,R5>
021556 010446 MOV R4,-(SP)
021560 010346 MOV R3,-(SP)
021562 010246 MOV R2,-(SP)
021564 010146 MOV R1,-(SP)
021566 010546 MOV R5,-(SP)
11540 021570 016605 000012 MOV 12(SP),R5 ; .....RESTORE R5
11541 021574 000241 CLC ; .....CLEAR CC-C
11542 021576 CALL @(SP)+ ; .....RETURN WITH RESTORE ADDRESS ON THE STACK
021576 004736 JSR PC,@(SP)+
11543
11544 ; HERE TO RESTORE R1 - R5 AND RETURN
11545
11546 021600 POP <R1,R2,R3,R4,R5>
021600 012601 MOV (SP)+,R1
021602 012602 MOV (SP)+,R2
021604 012603 MOV (SP)+,R3
021606 012604 MOV (SP)+,R4
021610 012605 MOV (SP)+,R5
11547 021612 RETURN ; RETURN
021612 000207 RTS PC
RSALL -- RESET ALL COMMAND MODU MACRO M1108 13-JAN-78 09:14 PAGE 342
.RGSAV -- R1 - R5 SAVE AND RESTORE SUBROUTINE 7509.16
11549 .TITLE RSALL -- RESET ALL COMMAND MODULE 7602.18
11550
11551 .IDENT "002010"
11552
11553 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
11554 ;
11555 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
11556 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
11557 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
11558 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
11559 ; FOR ITS ACCURACY.
11560 ;
11561 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
11562 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
11563 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
11564 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
11565 ;
11566 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
11567 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
11568 ;
11569 ;
11570 ; MODULE: RESET ALL COMMAND
11571 ;
11572 ; VERSION: 02-01
11573 ;
11574 ; AUTHOR: R. BELANGER
11575 ;
11576 ; DATE: 7602.18
11577 ;
11578 ; THIS MODULE CONTAINS:
11579 ;
11580 ; 1) RESET ALL COMMAND CODE
11581 ;
11582 ; MODIFIED BY A. PECKHAM 7612.10 TO REMOVE REFERENCES TO .SECFL
RSALL -- RESET ALL COMMAND MODU MACRO M1108 13-JAN-78 09:14 PAGE 343
.RSALL -- THE "RESET ALL" COMMAND 7602.18
11584 .SBTTL .RSALL -- THE "RESET ALL" COMMAND 7602.18
11585
11586 021614 .RSALL::
11587 021614 PUSH .KLFLG ; SAVE ".KLFLG"
021614 013746 000000G MOV .KLFLG,-(SP)
11588 021620 032716 100000 BIT #KF.CLK,(SP) ; .IS THE CLOCK ON?
11589 021624 001427 BEQ RSAKCN ; .NO -- GIVE "KCN" ERROR
11590 021626 CALL .STPKL ; .STOP THE KL
021626 004737 026330' JSR PC,.STPKL
11591 021632 CALLR .RESTD ; RESET THE DTE-20
021632 000137 021420' JMP .RESTD
11592 021636 CALL .RSAPR ; .RESET APR
021636 004737 021712' JSR PC,.RSAPR
11593 021642 CALL .RSPAG ; .RESET PAG
021642 004737 021774' JSR PC,.RSPAG
11594 021646 CALL .RSTPI ; .RESET PI
021646 004737 021734' JSR PC,.RSTPI
11595 021652 POP .SVKLF ; .SET UP ".SVKLF"
021652 012637 000140' MOV (SP)+,.SVKLF
11596 021656 CALLR .RSTKL ; RESTART THE KL
021656 000137 022134' JMP .RSTKL
11597 ;
11598 021662 .RSDTE::
11599 021662 CALLR .RESTD ; RESET THE DTE-20
021662 000137 021420' JMP .RESTD
11600 ;
11601 021666 .RSTIN::
11602 021666 CALL .CKRUN ; SEE IF THE KL IS RUNNING
021666 004737 002164' JSR PC,.CKRUN
11603 021672 CALL .STPKL ; STOP THE KL
021672 004737 026330' JSR PC,.STPKL
11604 021676 CALL .RESTI ; RESET TO DEFAULTS
021676 004737 021444' JSR PC,.RESTI
11605 021702 RETURN ; AND EXIT
021702 000207 RTS PC
11606 021704 RSAKCN:
11607 021704 ERROR$ KCN ; ERROR -- KL CLOCK NOT RUNNING
021704 012746 MOV (PC)+,-(SP) ; "KCN" IN RAD50 TO STACK
021706 042506 .RAD50 /KCN/ ; ERROR IDENTIFIER
021710 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
11608 ;
RSAPR -- RESET APR COMMAND MODU MACRO M1108 13-JAN-78 09:14 PAGE 344
.RSALL -- THE "RESET ALL" COMMAND 7602.18
11610 .TITLE RSAPR -- RESET APR COMMAND MODULE 7607.21
11611
11612 .IDENT "001010"
11613
11614 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
11615 ;
11616 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
11617 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
11618 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
11619 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
11620 ; FOR ITS ACCURACY.
11621 ;
11622 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
11623 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
11624 ;
11625 ;
11626 ; MODULE: RESET APR COMMAND
11627 ;
11628 ; VERSION: 01-01
11629 ;
11630 ; AUTHOR: R. BELANGER
11631 ;
11632 ; DATE: 7607.21
11633 ;
11634 ; THIS MODULE CONTAINS:
11635 ;
11636 ; 1) RESET APR COMMAND CODE
RSAPR -- RESET APR COMMAND MODU MACRO M1108 13-JAN-78 09:14 PAGE 345
.RSTPI -- THE "RESET PI" COMMAND 7607.21
11638 .SBTTL .RSTPI -- THE "RESET PI" COMMAND 7607.21
11639
11640 .ENABL LSB
11641
11642 021712 .RSAPR:: ; RESET APR
11643 021712 012700 021744' MOV #RSAPRI,R0 ; INSTRUCTION POINTER TO R0
11644 021716 000410 BR 10$ ; DO COMMON CODE
11645 ;
11646 021720 .RSERR:: ; RESET ERROR
11647 021720 012700 021752' MOV #RSERRI,R0 ; INSTRUCTION POINTER TO R0
11648 021724 000405 BR 10$ ; DO COMMON CODE
11649 ;
11650 021726 .RSTIO:: ; RESET IO
11651 021726 012700 021760' MOV #RSTIOI,R0 ; INSTRUCTION POINTER TO R0
11652 021732 000402 BR 10$ ; DO COMMON CODE
11653 ;
11654 021734 .RSTPI:: ; RESET PI
11655 021734 012700 021766' MOV #RSTPII,R0 ; INSTRUCTION POINTER TO R0
11656 021740 10$:
11657 021740 CALLR .EXCTF ; EXECUTE IT
021740 000137 007324' JMP .EXCTF
11658 ;
11659 021744 RSAPRI:
11660 021744 IOKL$ CONO APR,,267760
021744 360 157 .BYTE $$A,$$B
021746 001 002 .BYTE $$C,$$D
021750 016 000 .BYTE $$E,$$F
11661 021752 RSERRI:
11662 021752 IOKL$ CONO APR,,27760
021752 360 057 .BYTE $$A,$$B
021754 000 002 .BYTE $$C,$$D
021756 016 000 .BYTE $$E,$$F
11663 021760 RSTIOI:
11664 021760 IOKL$ CONO APR,,200000
021760 000 000 .BYTE $$A,$$B
021762 001 002 .BYTE $$C,$$D
021764 016 000 .BYTE $$E,$$F
11665 021766 RSTPII:
11666 021766 IOKL$ CONO PI,,10000
021766 000 020 .BYTE $$A,$$B
021770 000 006 .BYTE $$C,$$D
021772 016 000 .BYTE $$E,$$F
11667
11668 .DSABL LSB
RSPAG -- RESET PAG COMMAND MODU MACRO M1108 13-JAN-78 09:14 PAGE 346
.RSTPI -- THE "RESET PI" COMMAND 7607.21
11670 .TITLE RSPAG -- RESET PAG COMMAND MODULE 7607.21
11671
11672 .IDENT "001010"
11673
11674 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
11675 ;
11676 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
11677 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
11678 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
11679 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
11680 ; FOR ITS ACCURACY.
11681 ;
11682 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
11683 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
11684 ;
11685 ;
11686 ; MODULE: RESET PAG COMMAND
11687 ;
11688 ; VERSION: 01-01
11689 ;
11690 ; AUTHOR: R. BELANGER
11691 ;
11692 ; DATE: 7607.21
11693 ;
11694 ; THIS MODULE CONTAINS:
11695 ;
11696 ; 1) RESET PAG COMMAND CODE
RSPAG -- RESET PAG COMMAND MODU MACRO M1108 13-JAN-78 09:14 PAGE 347
.RSPAG -- THE "RESET PAG" COMMAND 7607.21
11698 .SBTTL .RSPAG -- THE "RESET PAG" COMMAND 7607.21
11699
11700 021774 .RSPAG::
11701 021774 PUSH .KLFLG ; SAVE ".KLFLG"
021774 013746 000000G MOV .KLFLG,-(SP)
11702 022000 032716 100000 BIT #KF.CLK,(SP) ; .IS THE CLOCK ON?
11703 022004 001442 BEQ RSPKCN ; .NO -- GIVE "KCN" ERROR
11704 022006 CALL .STPKL ; .STOP THE KL
022006 004737 026330' JSR PC,.STPKL
11705 022012 PUSH R1 ; .SAVE R1
022012 010146 MOV R1,-(SP)
11706 022014 PUSH #16 ; ..BUILD A CLEAR WORD ON THE STACK
022014 012746 000016 MOV #16,-(SP)
11707 022020 005046 CLR -(SP) ; ...
11708 022022 005046 CLR -(SP) ; ....
11709 022024 010601 MOV SP,R1 ; .....GET THE POINTER
11710 022026 005046 CLR -(SP) ; .....NOW SET UP
11711 022030 PUSH #100 ; ......SCRATCH ADDRESS
022030 012746 000100 MOV #100,-(SP)
11712 022034 010600 MOV SP,R0 ; .......GET THE POINTER
11713 022036 PUSH R1 ; .......DATA POINTER TO STACK
022036 010146 MOV R1,-(SP)
11714 022040 PUSH R0 ; ........ADDRESS POINTER TO STACK
022040 010046 MOV R0,-(SP)
11715 022042 010601 MOV SP,R1 ; .........BLOCK POINTER TO R1
11716 022044 012700 000040 MOV #ED.EXV,R0 ; .........EXEC VIRTUAL SPACE
11717 022050 CALL .DPKLM ; .........DO THE DEPOSIT
022050 004737 005532' JSR PC,.DPKLM
11718 022054 062706 000016 ADD #^D14,SP ; .........RESET THE STACK
11719 022060 012700 022120' MOV #RSPGI0,R0 ; ..INSTRUCTION POINTER TO R0
11720 022064 CALL .EXCTF ; ..EXECUTE IT
022064 004737 007324' JSR PC,.EXCTF
11721 022070 012700 022126' MOV #RSPGI1,R0 ; ..NEXT INSTRUCTION
11722 022074 CALL .EXCTF ; ..EXECUTE IT
022074 004737 007324' JSR PC,.EXCTF
11723 022100 POP R1 ; ..RESTORE R1
022100 012601 MOV (SP)+,R1
11724 022102 POP .SVKLF ; .SET UP ".SVKLF"
022102 012637 000140' MOV (SP)+,.SVKLF
11725 022106 CALLR .RSTKL ; RESART THE KL AND EXIT
022106 000137 022134' JMP .RSTKL
11726 ;
RSPAG -- RESET PAG COMMAND MODU MACRO M1108 13-JAN-78 09:14 PAGE 348
.RSPAG -- THE "RESET PAG" COMMAND 7607.21
11728 022112 RSPKCN:
11729 022112 ERROR$ KCN ; ERROR -- KL CLOCK NOT RUNNING
022112 012746 MOV (PC)+,-(SP) ; "KCN" IN RAD50 TO STACK
022114 042506 .RAD50 /KCN/ ; ERROR IDENTIFIER
022116 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
11730 ;
11731 022120 RSPGI0:
11732 022120 IOKL$ CONO PAG,,0
022120 000 000 .BYTE $$A,$$B
022122 000 012 .BYTE $$C,$$D
022124 016 000 .BYTE $$E,$$F
11733 022126 RSPGI1:
11734 022126 IOKL$ DATAO PAG,,100
022126 100 000 .BYTE $$A,$$B
022130 200 011 .BYTE $$C,$$D
022132 016 000 .BYTE $$E,$$F
RSTKL -- KL RESTART MODULE 7611 MACRO M1108 13-JAN-78 09:14 PAGE 349
.RSPAG -- THE "RESET PAG" COMMAND 7607.21
11736 .TITLE RSTKL -- KL RESTART MODULE 7611.17
11737
11738 .IDENT "002010"
11739
11740 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
11741 ;
11742 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
11743 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
11744 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
11745 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
11746 ; FOR ITS ACCURACY.
11747 ;
11748 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
11749 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
11750 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
11751 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
11752 ;
11753 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
11754 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
11755 ;
11756 ;
11757 ; MODULE: KL RESTART
11758 ;
11759 ; VERSION: 02-01
11760 ;
11761 ; AUTHOR: R. BELANGER
11762 ;
11763 ; DATE: 7611.17
11764 ;
11765 ; THIS MODULE CONTAINS:
11766 ;
11767 ; 1) KL RESTART CODE
11768 ;
11769 ; MODIFIED BY A. PECKHAM 7612.11 TO DELETE REFERENCES TO .SECFL
RSTKL -- KL RESTART MODULE 7611 MACRO M1108 13-JAN-78 09:14 PAGE 350
.RSTKL -- SUBROUTINE TO RESTART THE KL 7611.17
11771 .SBTTL .RSTKL -- SUBROUTINE TO RESTART THE KL 7611.17
11772
11773 ;+
11774 ; .RSTKL -- SUBROUTINE TO RESTART THE KL
11775 ;
11776 ; THIS SUBROUTINE WILL RESTART THE KL, IF IT WAS STOPPED BY ".STPKL".
11777 ;
11778 ; INPUT ARGUMENTS:
11779 ;
11780 ; THE STATE FLAGS IN ".SVKLF" REPRESENT THE STATE TO WHICH
11781 ; THE KL IS TO BE RESTORED.
11782 ;
11783 ; OUTPUT ARGUMENTS:
11784 ;
11785 ; ".SVKLF" IS CLEARED.
11786 ;
11787 ; ERROR CODES RETURNED:
11788 ;
11789 ; NONE.
11790 ;-
11791
11792 022134 .RSTKL::
11793 022134 032737 040000 000140' BIT #KF.RUN,.SVKLF ; DID WE STOP THE KL?
11794 022142 001404 BEQ 10$ ; NO -- JUST RETURN
11795 022144 CALL .KLRST ; YES -- RESTART THE KL
022144 004737 015036' JSR PC,.KLRST
11796 022150 105037 000000G CLRB .NOHLT ; LET RSX20F DETECT HALTS
11797 022154 10$:
11798 022154 005037 000140' CLR .SVKLF ; CLEAR SAVED FLAGS
11799 022160 RETURN ; TO CALLER
022160 000207 RTS PC
RUNCM -- RUN COMMAND MODULE 760 MACRO M1108 13-JAN-78 09:14 PAGE 351
.RSTKL -- SUBROUTINE TO RESTART THE KL 7611.17
11801 .TITLE RUNCM -- RUN COMMAND MODULE 7607.14
11802
11803 .IDENT "001010"
11804
11805 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
11806 ;
11807 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
11808 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
11809 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
11810 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
11811 ; FOR ITS ACCURACY.
11812 ;
11813 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
11814 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
11815 ;
11816 ;
11817 ; MODULE: RUN COMMAND
11818 ;
11819 ; VERSION: 01-01
11820 ;
11821 ; AUTHOR: R. BELANGER
11822 ;
11823 ; DATE: 7607.14
11824 ;
11825 ; THIS MODULE CONTAINS:
11826 ;
11827 ; 1) RUN COMMAND CODE
11828 ; 2) REQUEST DIRECTIVE PARAMETER BLOCK
11829
11830 .MCALL DIR$, RQST$
RUNCM -- RUN COMMAND MODULE 760 MACRO M1108 13-JAN-78 09:14 PAGE 352
.RUNCM -- THE "RUN" AND "MCR" COMMANDS 7607.14
11832 .SBTTL .RUNCM -- THE "RUN" AND "MCR" COMMANDS 7607.14
11833
11834 ;+
11835 ; .RUNCM -- THE "RUN" AND "MCR" COMMANDS
11836 ;
11837 ; THIS ROUTINE REQUESTS THE TASK SPECIFIED IN THE COMMAND TO BE RUN
11838 ; AND EXITS THE COMMAND PARSER
11839 ;
11840 ; INPUT ARGUMENTS:
11841 ;
11842 ; NONE.
11843 ;
11844 ; OUTPUT ARGUMENTS:
11845 ;
11846 ; NONE.
11847 ;
11848 ; ERROR CODES RETURNED:
11849 ;
11850 ; ITN -- ILLEGAL TASK NAME
11851 ; NST -- NO SUCH TASK
11852 ; TAA -- TASK IS ALREADY ACTIVE
11853 ;-
11854
11855 022162 .RUNCM::
11856 022162 CALL .CKSYM ; GET OVER LEADING BLANKS
022162 004737 002112' JSR PC,.CKSYM
11857 022166 CALL .GTR50 ; GET THE .RAD50 TASK NAME
022166 004737 013734' JSR PC,.GTR50
11858 022172 001425 BEQ RUNITN ; BAD NEWS IF NONE THERE
11859 022174 PUSH R0 ; SAVE THE TASK NAME
022174 010046 MOV R0,-(SP)
11860 022176 CALL .GTR50 ; .READ THE SECOND HALF
022176 004737 013734' JSR PC,.GTR50
11861 022202 CALL .CKEOC ; .MUST HAVE E-O-C
022202 004737 002010' JSR PC,.CKEOC
11862 022206 POP .RNDPB+4 ; .SET THE TASK NAME IN THE DPB
022206 012637 022274' MOV (SP)+,.RNDPB+4
11863 022212 DIR$ #.RNDPB ; REQUEST THE TASK
022212 012746 022270' MOV #.RNDPB,-(SP)
022216 104375 EMT 375
11864 022220 103402 BCS 10$ ; ERROR IF CC-C IS SET
11865 022222 CALLR .EXITP ; EXIT
022222 000137 007754' JMP .EXITP
11866 ;
11867
11868 ; [CONTINUED ON THE FOLLOWING PAGE]
RUNCM -- RUN COMMAND MODULE 760 MACRO M1108 13-JAN-78 09:14 PAGE 353
.RUNCM -- THE "RUN" AND "MCR" COMMANDS 7607.14
11870 ; [CONTINUED FROM THE PREVIOUS PAGE]
11871
11872 022226 10$:
11873 022226 013700 000000G MOV $DSW,R0 ; LOOK AT THE DIRECTIVE STATUS
11874 022232 022700 000000G CMP #IE.INS,R0 ; IS THERE SUCH A TASK?
11875 022236 001406 BEQ RUNNST ; NO -- GIVE "NST" ERROR
11876 022240 022700 000000G CMP #IE.ACT,R0 ; YES -- IS IT ALREADY ACTIVE?
11877 022244 001406 BEQ RUNTAA ; YES -- GIVE "TAA" ERROR
11878 022246 RUNITN:
11879 022246 ERROR$ ITN ; ERROR -- ILLEGAL TASK NAME
022246 012746 MOV (PC)+,-(SP) ; "ITN" IN RAD50 TO STACK
022250 035556 .RAD50 /ITN/ ; ERROR IDENTIFIER
022252 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
11880 ;
11881 022254 RUNNST:
11882 022254 ERROR$ NST ; ERROR -- NO SUCH TASK
022254 012746 MOV (PC)+,-(SP) ; "NST" IN RAD50 TO STACK
022256 055214 .RAD50 /NST/ ; ERROR IDENTIFIER
022260 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
11883 ;
11884 022262 RUNTAA:
11885 022262 ERROR$ TAA ; ERROR -- TASK ALREADY ACTIVE
022262 012746 MOV (PC)+,-(SP) ; "TAA" IN RAD50 TO STACK
022264 076451 .RAD50 /TAA/ ; ERROR IDENTIFIER
022266 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
11886 ;
RUNCM -- RUN COMMAND MODULE 760 MACRO M1108 13-JAN-78 09:14 PAGE 354
.RUNCM -- THE "RUN" AND "MCR" COMMANDS 7607.14
11888 ; DPB FOR REQUEST DIRECTIVE
11889
11890 ; !===============================================!
11891 ; 00 ! DPB SIZE ! DIC !
11892 ; !-----------------------------------------------!
11893 ; 02 ! TASK NAME IN .RAD50 (HIGH) !
11894 ; !-----------------------------------------------!
11895 ; 04 ! TASK NAME IN .RAD50 (LOW) !
11896 ; !-----------------------------------------------!
11897 ; 06 ! PARTITION NAME (IGNORED) !
11898 ; !-----------------------------------------------!
11899 ; 10 ! PARTITION NAME (IGNORED) !
11900 ; !-----------------------------------------------!
11901 ; 12 ! TASK PRIORITY !
11902 ; !-----------------------------------------------!
11903 ; 14 ! UIC (IGNORED) !
11904 ; !===============================================!
11905
11906 022270 .RNDPB::
11907 022270 RQST$ ...TSK,,,,
022270 013 007 .BYTE 11.,7
022272 131574 100003 .RAD50 /...TSK/
022276 000000 000000 .WORD 0,0
022302 000000 .WORD
022304 000 000 .BYTE ,
SCCLK -- SET / CLEAR CLOCK DISP MACRO M1108 13-JAN-78 09:14 PAGE 355
.RUNCM -- THE "RUN" AND "MCR" COMMANDS 7607.14
11909 .TITLE SCCLK -- SET / CLEAR CLOCK DISPATCH MODULE 7608.19
11910
11911 .IDENT "002010"
11912
11913 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
11914 ;
11915 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
11916 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
11917 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
11918 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
11919 ; FOR ITS ACCURACY.
11920 ;
11921 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
11922 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
11923 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
11924 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
11925 ;
11926 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
11927 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
11928 ;
11929 ;
11930 ; MODULE: SET / CLEAR CLOCK DISPATCH
11931 ;
11932 ; VERSION: 02-01
11933 ;
11934 ; AUTHOR: R. BELANGER
11935 ;
11936 ; DATE: 7608.19
11937 ;
11938 ; THIS MODULE CONTAINS:
11939 ;
11940 ; 1) SET / CLEAR CLOCK DISPATCH CODE
11941 ;
11942 ; MODIFIED BY A. PECKHAM 7612.10 TO DELETE REFERENCES TO .SECFL
SCCLK -- SET / CLEAR CLOCK DISP MACRO M1108 13-JAN-78 09:14 PAGE 356
.SCCLK -- THE "SET / CLEAR CLOCK" COMMAND DISPATCH 7608.19
11944 .SBTTL .SCCLK -- THE "SET / CLEAR CLOCK" COMMAND DISPATCH 7608.19
11945
11946 ;+
11947 ; .SCCLK -- THE "SET / CLEAR CLOCK" COMMAND DISPATCH.
11948 ; .SCFSS -- THE "SET / CLEAR FS-STOP" COMMAND DISPATCH.
11949 ; .SCPAR -- THE "SET / CLEAR PARITY-STOP" COMMAND DISPATCH.
11950 ;
11951 ; THESE SUBROUTINES WILL SET OR CLEAR THE SPECIFIED KL INTERNAL
11952 ; PARITY STOP ENABLE AS DIRECTED BY THE INPUT STREAM.
11953 ;
11954 ; INPUT ARGUMENTS:
11955 ;
11956 ; THE CURRENT PARITY STOP ENABLES ARE IN ".PSCWD"
11957 ; THE CURRENT CLOCK PARAMETERS ARE IN ".CLKWD"
11958 ;
11959 ; OUTPUT ARGUMENTS:
11960 ;
11961 ; THE NEW PARITY STOP ENABLES ARE IN ".PSCWD".
11962 ; THE NEW CLOCK PARAMETERS ARE IN ".CLKWD"
11963 ;
11964 ; ERROR CODES RETURNED:
11965 ;
11966 ; ILS -- ILLEGAL SEPARATOR CHARACTER.
11967 ;-
11968
11969 .ENABL LSB
11970
11971 022306 .SCCLK:: ; SET / CLEAR "CLOCK"
11972 022306 CALL .CKARG ; MUST HAVE AN ARGUMENT
022306 004737 001712' JSR PC,.CKARG
11973 022312 012703 022530' MOV #SCCLKT,R3 ; TABLE POINTER TO R3
11974 022316 000415 BR 10$ ; DO COMMON CODE
11975 ;
11976 022320 .SCFSS:: ; SET / CLEAR "FS-STOP"
11977 022320 CALL .CKEOC ; MUST BE E-O-C
022320 004737 002010' JSR PC,.CKEOC
11978 022324 012703 022542' MOV #SCPART,R3 ; TABLE POINTER TO R3
11979 022330 CALL 40$ ; READ THE CURRENT PARAMETERS
022330 004737 022462' JSR PC,40$
11980 022334 CALL .SCPFS ; SET THE CONTROL WORD UP
022334 004737 025242' JSR PC,.SCPFS
11981 022340 000425 BR 20$ ; AND GO SET IT
11982 ;
11983 022342 .SCPST:: ; SET / CLEAR "PARITY-STOP"
11984 022342 CALL .CKARG ; MUST HAVE AN ARGUMENT
022342 004737 001712' JSR PC,.CKARG
11985 022346 012703 022542' MOV #SCPART,R3 ; TABLE POINTER TO R3
11986 ; BR 10$ ; DO COMMON CODE
11987 ;
11988
11989 ; [CONTINUED ON THE FOLLOWING PAGE]
SCCLK -- SET / CLEAR CLOCK DISP MACRO M1108 13-JAN-78 09:14 PAGE 357
.SCCLK -- THE "SET / CLEAR CLOCK" COMMAND DISPATCH 7608.19
11991 ; [CONTINUED FROM THE PREVIOUS PAGE]
11992
11993 022352 10$:
11994 022352 CALL 40$ ; READ THE CURRENT PARAMETERS
022352 004737 022462' JSR PC,40$
11995 022356 011300 MOV (R3),R0 ; TABLE POINTER TO R0
11996 022360 CALL .TSCAN ; SCAN THE TABLE
022360 004737 030176' JSR PC,.TSCAN
11997 022364 CALL @2(R0) ; DO WHAT IT SAYS TO
022364 004770 000002 JSR PC,@2(R0)
11998 022370 111504 MOVB (R5),R4 ; GET THE LAST CHARACTER INTO R4
11999 022372 132764 000010 001360' BITB #CH.EOC,.CHTAB(R4)
12000 022400 001005 BNE 20$ ; E-O-C -- GO SET PARITY STOPS
12001 022402 122704 000054 CMPB #.COMMA,R4 ; NOT E-O-C -- IS IT A <COMMA>?
12002 022406 001037 BNE SCPILS ; NO -- GIVE "ILS" ERROR
12003 022410 105725 TSTB (R5)+ ; YES -- GET OVER THE COMMA
12004 022412 000757 BR 10$ ; AND GO ON
12005 ;
12006 022414 20$:
12007 022414 005723 TST (R3)+ ; ADVANCE THE POINTER
12008 022416 PUSH R1 ; SAVE NEW CONTROL WORD
022416 010146 MOV R1,-(SP)
12009 022420 010601 MOV SP,R1 ; .POINT TO THE ENABLE WORD
12010 022422 PUSH .KLFLG ; .SAVE ".KLFLG"
022422 013746 000000G MOV .KLFLG,-(SP)
12011 022426 CALL .KLHLT ; ..STOP THE KL
022426 004737 014644' JSR PC,.KLHLT
12012 022432 CALL @(R3)+ ; ..LOAD THE PARAMETERS
022432 004733 JSR PC,@(R3)+
12013 022434 POP .SVKLF ; ..SET UP ".SVKLF"
022434 012637 000140' MOV (SP)+,.SVKLF
12014 022440 CALL .RDCPP ; .READ BACK WHAT WE WROTE
022440 004737 017602' JSR PC,.RDCPP
12015 022444 023326 CMP @(R3)+,(SP)+ ; .DID WE READ WHAT WE WROTE
12016 022446 001401 BEQ 30$ ; YES -- GO ON
12017 022450 CALLR @(R3)+ ; NO -- GIVE THE PROPER ERROR
022450 000133 JMP @(R3)+
12018 ;
12019 022452 30$:
12020 022452 005723 TST (R3)+ ; GET OVER THE ERROR POINTER
12021 022454 CALL .KLRST ; RESTART THE KL
022454 004737 015036' JSR PC,.KLRST
12022 022460 CALLR @(R3)+ ; DISPLAY CURRENT PARAMETERS AND EXIT
022460 000133 JMP @(R3)+
12023 ;
12024
12025 ; [CONTINUED ON THE FOLLOWING PAGE]
SCCLK -- SET / CLEAR CLOCK DISP MACRO M1108 13-JAN-78 09:14 PAGE 358
.SCCLK -- THE "SET / CLEAR CLOCK" COMMAND DISPATCH 7608.19
12027 ; [CONTINUED FROM THE PREVIOUS PAGE]
12028
12029 022462 40$:
12030 022462 CALL .CKRUN ; INSURE WE CAN DO THIS
022462 004737 002164' JSR PC,.CKRUN
12031 022466 CALL .STPKL ; STOP THE KL10
022466 004737 026330' JSR PC,.STPKL
12032 022472 CALL .RDCPP ; READ CLOCK AND PARITY
022472 004737 017602' JSR PC,.RDCPP
12033 022476 017301 000004 MOV @4(R3),R1 ; DESIRED CONTROL WORD TO R1
12034 022502 CALLR .RSTKL ; RESTART THE KL AND EXIT
022502 000137 022134' JMP .RSTKL
12035 ;
12036
12037 .DSABL LSB
12038
12039 022506 SCPILS:
12040 022506 ERROR$ ILS ; ERROR -- ILLEGAL SEPARATOR CHARACTER
022506 012746 MOV (PC)+,-(SP) ; "ILS" IN RAD50 TO STACK
022510 035063 .RAD50 /ILS/ ; ERROR IDENTIFIER
022512 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
12041 ;
12042 022514 SCPSCF:
12043 022514 ERROR$ SCF ; ERROR -- SET CLOCK FAILED
022514 012746 MOV (PC)+,-(SP) ; "SCF" IN RAD50 TO STACK
022516 073476 .RAD50 /SCF/ ; ERROR IDENTIFIER
022520 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
12044 ;
12045 022522 SCPSPF:
12046 022522 ERROR$ SPF ; ERROR -- SET PARITY FAILED
022522 012746 MOV (PC)+,-(SP) ; "SPF" IN RAD50 TO STACK
022524 074506 .RAD50 /SPF/ ; ERROR IDENTIFIER
022526 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
12047 ;
12048 022530 SCCLKT:
12049 022530 023106' .WORD .SCCTB ; TABLE TO SCAN
12050 022532 015432' .WORD .LDCLK ; LOAD ROUTINE
12051 022534 000010' .WORD .CLKWD ; PARAMETER WORD
12052 022536 022514' .WORD SCPSCF ; ERROR ROUTINE
12053 022540 032334' .WORD .WHTCA ; DISPLAY ROUTINE
12054 022542 SCPART:
12055 022542 025270' .WORD .SCPTB ; TABLE TO SCAN
12056 022544 015450' .WORD .LDPAR ; LOAD ROUTINE
12057 022546 000116' .WORD .PSCWD ; PARAMETER WORD
12058 022550 022522' .WORD SCPSPF ; ERROR ROUTINE
12059 022552 033544' .WORD .WHTPA ; DISPLAY ROUTINE
SCCON -- SET / CLEAR CONSOLE CO MACRO M1108 13-JAN-78 09:14 PAGE 359
.SCCLK -- THE "SET / CLEAR CLOCK" COMMAND DISPATCH 7608.19
12061 .TITLE SCCON -- SET / CLEAR CONSOLE COMMAND MODULE 7702.16
12062
12063 .IDENT "003000"
12064
12065 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
12066 ;
12067 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
12068 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
12069 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
12070 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
12071 ; FOR ITS ACCURACY.
12072 ;
12073 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
12074 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
12075 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
12076 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
12077 ;
12078 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
12079 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
12080 ;
12081 ;
12082 ; MODULE: SET / CLEAR CONSOLE COMMAND
12083 ;
12084 ; VERSION: 03-00
12085 ;
12086 ; AUTHOR: R. BELANGER
12087 ;
12088 ; DATE: 7702.16
12089 ;
12090 ; THIS MODULE CONTAINS:
12091 ;
12092 ; 1) SET / CLEAR CONSOLE COMMAND CODE
12093 ;
12094 ; MODIFICATIONS:
12095 ;
12096 ; NO. DATE PROGRAMMER REASON
12097 ; --- ---- ---------- ------
12098 ; 001 28-FEB-77 R. BELANGER CHANGE "ECL"ERROR TO "CLE"
SCCON -- SET / CLEAR CONSOLE CO MACRO M1108 13-JAN-78 09:14 PAGE 360
.SCCON -- THE " SET / CLEAR CONSOLE" COMMAND 7702.16
12100 .SBTTL .SCCON -- THE " SET / CLEAR CONSOLE" COMMAND 7702.16
12101
12102 .ENABL LSB
12103
12104 022554 .SCCON::
12105 022554 005737 000104' TST .NOTSW ; IS THIS A CLEAR?
12106 022560 001016 BNE 10$ ; YES -- SET OPERATOR
12107 022562 132764 000010 001360' BITB #CH.EOC,.CHTAB(R4)
12108 022570 001017 BNE .SCCOP ; E-O-C -- SET PROGRAMMER
12109 022572 CALL .CKOBJ ; MUST HAVE AN OBJECT
022572 004737 002074' JSR PC,.CKOBJ
12110 022576 012700 022700' MOV #.SCCOT,R0 ; TABLE POINTER TO R0
12111 022602 CALL .TSCAN ; SCAN THE TABLE
022602 004737 030176' JSR PC,.TSCAN
12112 022606 CALL .CKEOC ; MUST HAVE E-O-C
022606 004737 002010' JSR PC,.CKEOC
12113 022612 CALLR @2(R0) ; EXECUTE THE COMMAND
022612 000170 000002 JMP @2(R0)
12114 ;
12115 022616 10$:
12116 022616 CALL .CKEOC ; MUST HAVE E-O-C IF CLEAR
022616 004737 002010' JSR PC,.CKEOC
12117 022622 .SCCOO::
12118 022622 012701 000001 MOV #LG.OPR,R1 ; OPERATOR CONSULE
12119 022626 000405 BR 20$ ; EXIT
12120 ;
12121 022630 .SCCOP::
12122 022630 012701 000003 MOV #LG.PRM,R1 ; PROGRAMMER CONSOLE
12123 022634 000402 BR 20$ ; EXIT
12124 ;
12125 022636 .SCCOM::
12126 022636 012701 000007 MOV #LG.ALL,R1 ; MAINTENANCE CONSOLE
12127 022642 20$:
12128 022642 105737 000000G TSTB .KLNSW+0 ; +++001 IS REMOTE KLINIK MODE ENABLED?
12129 022646 003403 BLE 30$ ; +++001 NO -- GO ON
12130 022650 120137 000001G CMPB R1,.KLNMD+1 ; +++001 YES -- CAN WE DO THIS?
12131 022654 003006 BGT SCCCLE ; NO -- GIVE "CLE" ERROR
12132 022656 30$:
12133 022656 010137 000000G MOV R1,.FEMOD ; YES -- SET THE CONSOLE MODE
12134 022662 CALLR .WHCON ; PRINT CONSOLE MODE AND EXIT
022662 000137 032556' JMP .WHCON
12135 ;
12136 022666 .SCCOU::
12137 022666 CALLR .EXITP ; EXIT TO USER CONSOLE
022666 000137 007754' JMP .EXITP
12138 ;
12139 022672 SCCCLE:
12140 022672 ERROR$ CLE ; ERROR -- CONSOLE LIMIT EXCEEDED
022672 012746 MOV (PC)+,-(SP) ; "CLE" IN RAD50 TO STACK
022674 012245 .RAD50 /CLE/ ; ERROR IDENTIFIER
022676 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
12141 ;
12142
12143 .DSABL LSB
SCCOT -- SET CONSOLE COMMAND TA MACRO M1108 13-JAN-78 09:14 PAGE 361
.SCCON -- THE " SET / CLEAR CONSOLE" COMMAND 7702.16
12145 .TITLE SCCOT -- SET CONSOLE COMMAND TABLE MODULE 7603.30
12146
12147 .IDENT "001010"
12148
12149 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
12150 ;
12151 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
12152 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
12153 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
12154 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
12155 ; FOR ITS ACCURACY.
12156 ;
12157 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
12158 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
12159 ;
12160 ;
12161 ; MODULE: SET CONSOLE COMMAND TABLE
12162 ;
12163 ; VERSION: 01-01
12164 ;
12165 ; AUTHOR: R. BELANGER
12166 ;
12167 ; DATE: 7603.30
12168 ;
12169 ; THIS MODULE CONTAINS:
12170 ;
12171 ; 1) THE SET CONSOLE COMMAND TABLE
SCCOT -- SET CONSOLE COMMAND TA MACRO M1108 13-JAN-78 09:14 PAGE 362
.SSCOT -- THE "SET CONSOLE" COMMAND TABLE 7602.12
12173 .SBTTL .SSCOT -- THE "SET CONSOLE" COMMAND TABLE 7602.12
12174
12175 022700 .SCCOT::
12176 022700 COMND$ MAINTENANCE,LG.OPR,.SCCOM
005233 115 101 111 .ASCIZ %MAINTENANCE%
005236 116 124 105
005241 116 101 116
005244 103 105 000
022700 005233' .WORD $$CMDN ; POINTER TO "MAINTENANCE" SYMBOL
022702 000001 .WORD LG.OPR ; LEGAL BITS
022704 022636' .WORD .SCCOM ; ROUTINE TO CALL
12177 022706 COMND$ OPERATOR,LG.OPR,.SCCOO
005247 117 120 105 .ASCIZ %OPERATOR%
005252 122 101 124
005255 117 122 000
022706 005247' .WORD $$CMDN ; POINTER TO "OPERATOR" SYMBOL
022710 000001 .WORD LG.OPR ; LEGAL BITS
022712 022622' .WORD .SCCOO ; ROUTINE TO CALL
12178 022714 COMND$ PROGRAMMER,LG.OPR,.SCCOP
005260 120 122 117 .ASCIZ %PROGRAMMER%
005263 107 122 101
005266 115 115 105
005271 122 000
022714 005260' .WORD $$CMDN ; POINTER TO "PROGRAMMER" SYMBOL
022716 000001 .WORD LG.OPR ; LEGAL BITS
022720 022630' .WORD .SCCOP ; ROUTINE TO CALL
12179 022722 COMND$ USER,LG.OPR,.SCCOU
005273 125 123 105 .ASCIZ %USER%
005276 122 000
022722 005273' .WORD $$CMDN ; POINTER TO "USER" SYMBOL
022724 000001 .WORD LG.OPR ; LEGAL BITS
022726 022666' .WORD .SCCOU ; ROUTINE TO CALL
12180 022730 000000 .WORD 0 ; END OF TABLE MARKER
SCCRF -- SET / CLEAR CLOCK COMM MACRO M1108 13-JAN-78 09:14 PAGE 363
.SSCOT -- THE "SET CONSOLE" COMMAND TABLE 7602.12
12182 .TITLE SCCRF -- SET / CLEAR CLOCK COMMAND MODULE 7603.30
12183
12184 .IDENT "001010"
12185
12186 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
12187 ;
12188 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
12189 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
12190 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
12191 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
12192 ; FOR ITS ACCURACY.
12193 ;
12194 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
12195 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
12196 ;
12197 ;
12198 ; MODULE: SET / CLEAR CLOCK COMMAND
12199 ;
12200 ; VERSION: 01-01
12201 ;
12202 ; AUTHOR: R. BELANGER
12203 ;
12204 ; DATE: 7603.30
12205 ;
12206 ; THIS MODULE CONTAINS:
12207 ;
12208 ; 1) SET / CLEAR CLOCK COMMAND CODE
SCCRF -- SET / CLEAR CLOCK COMM MACRO M1108 13-JAN-78 09:14 PAGE 364
.SCCRF -- SET / CLEAR "CLOCK <OBJECT>" 7603.09
12210 .SBTTL .SCCRF -- SET / CLEAR "CLOCK <OBJECT>" 7603.09
12211
12212 .ENABL LSB
12213
12214 022732 .SCCLN:: ; SET / CLEAR CLOCK "NORMAL"
12215 022732 005001 CLR R1 ; CLEAR THE PARAMETER WORD
12216 022734 .SCCRF:: ; SET / CLEAR CLOCK "FULL"
12217 022734 005002 CLR R2 ; "FULL" CLOCK RATE
12218 022736 000410 BR 10$ ; DO COMMON CODE
12219 ;
12220 022740 .SCCRH:: ; SET / CLEAR CLOCK "HALF"
12221 022740 012702 000001 MOV #CR.HLF,R2 ; "HALF" CLOCK RATE
12222 022744 000405 BR 10$ ; DO COMMON CODE
12223 ;
12224 022746 .SCCRQ:: ; SET / CLEAR CLOCK "QUARTER"
12225 022746 012702 000002 MOV #CR.QTR,R2 ; "QUARTER" CLOCK RATE
12226 022752 000402 BR 10$ ; DO COMMON CODE
12227 ;
12228 022754 .SCCRS:: ; SET / CLEAR CLOCK "SLOW"
12229 022754 012702 000003 MOV #CR.SLO,R2 ; "SLOW" CLOCK RATE
12230 022760 10$:
12231 022760 042701 000003 BIC #CR.ALL,R1 ; CLEAR OUT THE OLD CLOCK RATE
12232 022764 000422 BR 40$ ; AND GO DO CLEAR CHECK
12233 ;
12234 022766 .SCCSE:: ; SET / CLEAR CLOCK "EXTERNAL"
12235 022766 012700 005300' MOV #CCEMSG,R0 ; ASK "ARE YOU SURE"
12236 022772 CALL .TYMSG ; PRINT IT
022772 004737 031434' JSR PC,.TYMSG
12237 022776 CALL .YESNO ; ASK "YES OR NO"
022776 004737 034130' JSR PC,.YESNO
12238 023002 103403 BCS 20$ ; SAID "NO" IF CC-C IS SET
12239 023004 012702 000010 MOV #CS.EXT,R2 ; "EXTERNAL" CLOCK SOURCE
12240 023010 000406 BR 30$ ; DO COMMNON CODE
12241 ;
12242 023012 20$:
12243 023012 000177 155116 JMP @.STRTV ; RESTART THE PARSER
12244 ;
12245 023016 .SCCSI:: ; SET / CLEAR CLOCK "INTERNAL"
12246 023016 005002 CLR R2 ; "INTERNAL" CLOCK SOURCE
12247 023020 000402 BR 30$ ; DO COMMON CODE
12248 ;
12249 023022 .SCCSM:: ; SET / CLEAR CLOCK "MARGIN"
12250 023022 012702 000004 MOV #CS.MGN,R2 ; "MARGIN" CLOCK SOURCE
12251 023026 30$:
12252 023026 042701 000014 BIC #CS.ALL,R1 ; CLEAR OUT THE OLD CLOCK SOURCE
12253 023032 40$:
12254 023032 005737 000104' TST .NOTSW ; IS THIS A CLEAR?
12255 023036 001002 BNE 50$ ; YES -- JUST EXIT
12256 023040 050201 BIS R2,R1 ; NO -- SET THE NEW CLOCK PARAMETERS
12257 023042 000401 BR 60$ ; AND EXIT
12258 ;
12259 023044 50$:
12260 023044 040201 BIC R2,R1 ; CLEAR THE NEW CLOCK PARAMETERS
12261 023046 60$:
12262 023046 RETURN ; EXIT
023046 000207 RTS PC
12263
SCCRF -- SET / CLEAR CLOCK COMM MACRO M1108 13-JAN-78 09:14 PAGE 364-1
.SCCRF -- SET / CLEAR "CLOCK <OBJECT>" 7603.09
12264 .DSABL LSB
SCCRF -- SET / CLEAR CLOCK COMM MACRO M1108 13-JAN-78 09:14 PAGE 365
.SCCRF -- SET / CLEAR "CLOCK <OBJECT>" 7603.09
12266 .ENABL LSB
12267
12268 023050 .SCCEC:: ; SET / CLEAR CLOCK "CRAM"
12269 023050 012702 002000 MOV #CD.CRC,R2 ; "CRAM" CLOCK ENABLE
12270 023054 000405 BR 10$ ; DO COMMON CODE
12271 ;
12272 023056 .SCCED:: ; SET / CLEAR CLOCK "DATA-PATH"
12273 023056 012702 001000 MOV #CD.DPC,R2 ; "DATA-PATH" CLOCK ENABLE
12274 023062 000402 BR 10$ ; DO COMMON CODE
12275 ;
12276 023064 .SCCEE:: ; SET / CLEAR CLOCK "CONTROL"
12277 023064 012702 000400 MOV #CD.CLC,R2 ; "CONTROL" CLOCK ENABLE
12278 023070 10$:
12279 023070 005737 000104' TST .NOTSW ; IS THIS A CLEAR?
12280 023074 001402 BEQ 20$ ; NO -- SET THE NEW CLOCK ENABLE
12281 023076 050201 BIS R2,R1 ; YES -- SET THE DISABLE
12282 023100 000401 BR 30$ ; AND EXIT
12283 ;
12284 023102 20$:
12285 023102 040201 BIC R2,R1 ; CLEAR THE DISABLE
12286 023104 30$:
12287 023104 RETURN ; AND EXIT
023104 000207 RTS PC
12288
12289 .DSABL LSB
12290
12291 005300 .PSECT MESSAG
12292
12293 005300 CCEMSG:
12294 005300 007 177 177 .ASCII <007><177><177><007><177><177><007><177><177>
005303 007 177 177
005306 007 177 177
12295 005311 040 103 117 .ASCIZ % CONFIRM EXTERNAL CLOCK SOURCE%
005314 116 106 111
005317 122 115 040
005322 105 130 124
005325 105 122 116
005330 101 114 040
005333 103 114 117
005336 103 113 040
005341 123 117 125
005344 122 103 105
005347 000
12296
12297 023106 .PSECT
SCCTB -- SET / CLEAR CLOCK COMM MACRO M1108 13-JAN-78 09:14 PAGE 366
.SCCRF -- SET / CLEAR "CLOCK <OBJECT>" 7603.09
12299 .TITLE SCCTB -- SET / CLEAR CLOCK COMMAND TABLE MODULE 7603.30
12300
12301 .IDENT "001010"
12302
12303 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
12304 ;
12305 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
12306 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
12307 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
12308 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
12309 ; FOR ITS ACCURACY.
12310 ;
12311 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
12312 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
12313 ;
12314 ;
12315 ; MODULE: SET / CLEAR CLOCK COMMAND TABLE
12316 ;
12317 ; VERSION: 01-01
12318 ;
12319 ; AUTHOR: R. BELANGER
12320 ;
12321 ; DATE: 7603.30
12322 ;
12323 ; THIS MODULE CONTAINS:
12324 ;
12325 ; 1) THE SET / CLEAR CLOCK COMMAND TABLE
SCCTB -- SET / CLEAR CLOCK COMM MACRO M1108 13-JAN-78 09:14 PAGE 367
.SCCTB -- THE "SET / CLEAR CLOCK" COMMAND TABLE 7603.12
12327 .SBTTL .SCCTB -- THE "SET / CLEAR CLOCK" COMMAND TABLE 7603.12
12328
12329 023106 .SCCTB::
12330 023106 COMND$ NORMAL,<LG.MNT!LG.RPT>,.SCCLN
005350 116 117 122 .ASCIZ %NORMAL%
005353 115 101 114
005356 000
023106 005350' .WORD $$CMDN ; POINTER TO "NORMAL" SYMBOL
023110 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
023112 022732' .WORD .SCCLN ; ROUTINE TO CALL
12331 023114 COMND$ CRAM,<LG.MNT!LG.RPT>,.SCCEC
005357 103 122 101 .ASCIZ %CRAM%
005362 115 000
023114 005357' .WORD $$CMDN ; POINTER TO "CRAM" SYMBOL
023116 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
023120 023050' .WORD .SCCEC ; ROUTINE TO CALL
12332 023122 COMND$ DATA-PATH,<LG.MNT!LG.RPT>,.SCCED
005364 104 101 124 .ASCIZ %DATA-PATH%
005367 101 055 120
005372 101 124 110
005375 000
023122 005364' .WORD $$CMDN ; POINTER TO "DATA-PATH" SYMBOL
023124 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
023126 023056' .WORD .SCCED ; ROUTINE TO CALL
12333 023130 COMND$ CONTROL,<LG.MNT!LG.RPT>,.SCCEE
005376 103 117 116 .ASCIZ %CONTROL%
005401 124 122 117
005404 114 000
023130 005376' .WORD $$CMDN ; POINTER TO "CONTROL" SYMBOL
023132 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
023134 023064' .WORD .SCCEE ; ROUTINE TO CALL
12334 023136 COMND$ EXTERNAL,<LG.MNT!LG.RPT>,.SCCSE
005406 105 130 124 .ASCIZ %EXTERNAL%
005411 105 122 116
005414 101 114 000
023136 005406' .WORD $$CMDN ; POINTER TO "EXTERNAL" SYMBOL
023140 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
023142 022766' .WORD .SCCSE ; ROUTINE TO CALL
12335 023144 COMND$ INTERNAL,<LG.MNT!LG.RPT>,.SCCSI
005417 111 116 124 .ASCIZ %INTERNAL%
005422 105 122 116
005425 101 114 000
023144 005417' .WORD $$CMDN ; POINTER TO "INTERNAL" SYMBOL
023146 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
023150 023016' .WORD .SCCSI ; ROUTINE TO CALL
12336 023152 COMND$ MARGIN,<LG.MNT!LG.RPT>,.SCCSM
005430 115 101 122 .ASCIZ %MARGIN%
005433 107 111 116
005436 000
023152 005430' .WORD $$CMDN ; POINTER TO "MARGIN" SYMBOL
023154 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
023156 023022' .WORD .SCCSM ; ROUTINE TO CALL
12337 023160 COMND$ FULL,<LG.MNT!LG.RPT>,.SCCRF
005437 106 125 114 .ASCIZ %FULL%
005442 114 000
023160 005437' .WORD $$CMDN ; POINTER TO "FULL" SYMBOL
023162 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
SCCTB -- SET / CLEAR CLOCK COMM MACRO M1108 13-JAN-78 09:14 PAGE 367-1
.SCCTB -- THE "SET / CLEAR CLOCK" COMMAND TABLE 7603.12
023164 022734' .WORD .SCCRF ; ROUTINE TO CALL
12338 023166 COMND$ HALF,<LG.MNT!LG.RPT>,.SCCRH
005444 110 101 114 .ASCIZ %HALF%
005447 106 000
023166 005444' .WORD $$CMDN ; POINTER TO "HALF" SYMBOL
023170 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
023172 022740' .WORD .SCCRH ; ROUTINE TO CALL
12339 023174 COMND$ QUARTER,<LG.MNT!LG.RPT>,.SCCRQ
005451 121 125 101 .ASCIZ %QUARTER%
005454 122 124 105
005457 122 000
023174 005451' .WORD $$CMDN ; POINTER TO "QUARTER" SYMBOL
023176 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
023200 022746' .WORD .SCCRQ ; ROUTINE TO CALL
12340 023202 COMND$ SLOW,<LG.MNT!LG.RPT>,.SCCRS
005461 123 114 117 .ASCIZ %SLOW%
005464 127 000
023202 005461' .WORD $$CMDN ; POINTER TO "SLOW" SYMBOL
023204 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
023206 022754' .WORD .SCCRS ; ROUTINE TO CALL
12341 023210 000000 .WORD 0 ; END OF TABLE MARKER
SCDAT -- SET DATE MODULE 7703.0 MACRO M1108 13-JAN-78 09:14 PAGE 368
.SCCTB -- THE "SET / CLEAR CLOCK" COMMAND TABLE 7603.12
12343 .TITLE SCDAT -- SET DATE MODULE 7703.04
12344
12345 .IDENT "003000"
12346
12347 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
12348 ;
12349 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
12350 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
12351 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
12352 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
12353 ; FOR ITS ACCURACY.
12354 ;
12355 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
12356 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
12357 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
12358 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
12359 ;
12360 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
12361 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
12362 ;
12363 ; MODULE: END STATEMENT
12364 ;
12365 ; VERSION: 03-00
12366 ;
12367 ; AUTHOR: R. BELANGER
12368 ;
12369 ; DATE: 7703.04
12370 ;
12371 ; THIS MODULE CONTAINS:
12372 ;
12373 ; 1) SET CLEAR DATE CODE
12374
12375
12376 .MCALL .ENB6,.INH6
SCDAT -- SET DATE MODULE 7703.0 MACRO M1108 13-JAN-78 09:14 PAGE 369
.SCDAT -- "SET DATE" COMMAND 7703.04
12378 .SBTTL .SCDAT -- "SET DATE" COMMAND 7703.04
12379
12380 ;+
12381 ; .SCDAT -- THE "SET DATE" COMMAND
12382 ;
12383 ; THIS SUBROUTINE WILL ACCEPT A DATE AND TIME AS THE SYSTEM DATE AND TIME
12384 ; IF AND ONLY IF THE SYSTEM DATE VALID FLAG IS OFF.
12385 ;
12386 ; INPUT ARGUMENTS:
12387 ;
12388 ; NONE.
12389 ;
12390 ; OUTPUT ARGUMENTS:
12391 ;
12392 ; THE SYSTEM DATE IS SET AS SPECIFIED
12393 ;
12394 ; ERROR CODES RETURNED:
12395 ;
12396 ; CDI -- CLEAR DATE ILLEGAL
12397 ; DAV -- DATE ALREADY VALID
12398 ; NDI -- NULL DATE ILLEGAL
12399 ; NTI -- NULL TIME ILLEGAL
12400 ;-
12401
12402 023212 .SCDAT::
12403 023212 005737 000104' TST .NOTSW ; IS THIS A "CLEAR"??
12404 023216 001125 BNE SCDCDI ; YES -- GIVE "CDI" ERROR
12405 023220 005737 000000G TST .DATE3 ; NO -- IS TIME ALREADY VALID?
12406 023224 001125 BNE SCDDAV ; YES -- GIVE "DAV" ERROR
12407 023226 CALL .CKEOC ; NO -- MUST HAVE E-O-C
023226 004737 002010' JSR PC,.CKEOC
12408 023232 005046 CLR -(SP) ; CLEAR BUFFER ON STACK
12409 023234 005046 CLR -(SP) ; .SO
12410 023236 010600 MOV SP,R0 ; ..POINT TO IT
12411 023240 CALL .GTDAT ; ..READ THE DATE
023240 004737 011312' JSR PC,.GTDAT
12412 023244 001520 BEQ SCDNDI ; ..ERROR IF NULL
12413 023246 005046 CLR -(SP) ; ..SPACE FOR TIME
12414 023250 010600 MOV SP,R0 ; ...POINT TO IT
12415 023252 CALL .GTTIM ; ...READ THE TIME
023252 004737 013366' JSR PC,.GTTIM
12416 023256 001516 BEQ SCDNTI ; ...ERROR IF NULL
12417 023260 116600 000002 MOVB 2(SP),R0 ; ...YEAR TO R0
12418 023264 162700 000114 SUB #^D76,R0 ; ...MINUS 1976
12419 023270 010002 MOV R0,R2 ; ...SAVE RESULT IN R2
12420 023272 001406 BEQ 10$ ; ...GO ON IF .EQ. 0
12421 023274 012701 000555 MOV #^D365,R1 ; ...CONVERT TO DAYS
12422 023300 CALL $MUL ; ...SO
023300 004737 000000G JSR PC,$MUL
12423 023304 010100 MOV R1,R0 ; ...RESULT TO R0
12424 023306 005200 INC R0 ; ...PLUS 1 FOR 1976
12425
12426 ; [CONTINUED ON THE FOLLOWING PAGE]
SCDAT -- SET DATE MODULE 7703.0 MACRO M1108 13-JAN-78 09:14 PAGE 370
.SCDAT -- "SET DATE" COMMAND 7703.04
12428 ; [CONTINUED FROM THE PREVIOUS PAGE]
12429
12430 023310 10$:
12431 023310 116601 000003 MOVB 3(SP),R1 ; ...MONTH TO R1
12432 023314 006301 ASL R1 ; ...MAKE A WORD INDEX
12433 023316 066100 023530' ADD CDMTB-2(R1),R0 ; ...ADD DAYS TO THIS MONTH
12434 023322 005702 TST R2 ; ...IS THIS 1976?
12435 023324 001412 BEQ 30$ ; ...YES -- GO ON
12436 023326 132702 000003 BITB #3,R2 ; ...NO -- IS THIS A LEAP YEAR?
12437 023332 001004 BNE 20$ ; ...NO -- GO ON
12438 023334 022701 000002 CMP #2,R1 ; ...YES -- BEYOND FEBRUARY?
12439 023340 002401 BLT 20$ ; ...YES -- GO ON
12440 023342 005302 DEC R2 ; ...NO -- SUBTRACT ONE FOR THIS YEAR
12441 023344 20$:
12442 023344 006202 ASR R2 ; ...DIVIDE DIFFERENCE BY 4
12443 023346 006202 ASR R2 ; ...SO
12444 023350 060200 ADD R2,R0 ; ...ADD OFFSET FOR LEAP YEARS
12445 023352 30$:
12446 023352 116601 000004 MOVB 4(SP),R1 ; ...DATE TO R1
12447 023356 005301 DEC R1 ; ...MINUS 1
12448 023360 060100 ADD R1,R0 ; ...ADD IT IN
12449 023362 012701 000007 MOV #^D7,R1 ; ...DIVIDE BY DAYS PER WEEK
12450 023366 CALL $DIV ; ...SO
023366 004737 000000G JSR PC,$DIV
12451 023372 010100 MOV R1,R0 ; ...DAY OF WEEK OFFSET TO R0
12452 023374 010601 MOV SP,R1 ; ...STACK POINTER TO R1
12453 023376 .INH6 ; ...DISALLOW INTERRUPTS
023376 013746 177776 MOV @#PS,-(SP)
023402 112737 000300 177776 MOVB #300,@#PS
12454 023410 116037 023522' 000000G MOVB DOWTAB(R0),.DOW ;;; ...SET DAY OF WEEK FROM TABLE
12455 023416 012137 000000G MOV (R1)+,.SSM ;;; ...SET THE TIME
12456 023422 112100 MOVB (R1)+,R0 ;;; ...GET THE YEAR
12457 023424 062700 003554 ADD #^D1900,R0 ;;; ...PLUS 1900
12458 023430 010037 000000G MOV R0,.YEAR ;;; ...SET IT
12459 023434 105311 DECB (R1) ;;; ...COMPUTE TRUE MONTH
12460 023436 112137 000000G MOVB (R1)+,.MON ;;; ...SET IT
12461 023442 105311 DECB (R1) ;;; ...COMPUTE TRUE DAY
12462 023444 111137 000000G MOVB (R1),.DAY ;;; ...SET IT
12463 023450 012737 000001 000000G MOV #1,.DATE3 ;;; ...SET THE VALID FLAG
12464 023456 .ENB6 ;;; ...ALLOW INTERRUPTS
023456 012637 177776 MOV (SP)+,@#PS
12465 023462 062706 000006 ADD #^D6,SP ; ...RESET STACK
12466 023466 CALLR .WHDAT ; DISPLAY TIME AND EXIT
023466 000137 032626' JMP .WHDAT
12467 ;
SCDAT -- SET DATE MODULE 7703.0 MACRO M1108 13-JAN-78 09:14 PAGE 371
.SCDAT -- "SET DATE" COMMAND 7703.04
12469 023472 SCDCDI:
12470 023472 ERROR$ CDI ; ERROR -- CLEAR DATE ILLEGAL
023472 012746 MOV (PC)+,-(SP) ; "CDI" IN RAD50 TO STACK
023474 011551 .RAD50 /CDI/ ; ERROR IDENTIFIER
023476 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
12471 ;
12472 023500 SCDDAV:
12473 023500 ERROR$ DAV ; ERROR -- DATE ALREADY VALID
023500 012746 MOV (PC)+,-(SP) ; "DAV" IN RAD50 TO STACK
023502 014476 .RAD50 /DAV/ ; ERROR IDENTIFIER
023504 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
12474 ;
12475 023506 SCDNDI:
12476 023506 ERROR$ NDI ; ERROR -- NULL DATE ILLEGAL
023506 012746 MOV (PC)+,-(SP) ; "NDI" IN RAD50 TO STACK
023510 054051 .RAD50 /NDI/ ; ERROR IDENTIFIER
023512 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
12477 ;
12478 023514 SCDNTI:
12479 023514 ERROR$ NTI ; ERROR -- NULL TIME ILLEGAL
023514 012746 MOV (PC)+,-(SP) ; "NTI" IN RAD50 TO STACK
023516 055251 .RAD50 /NTI/ ; ERROR IDENTIFIER
023520 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
12480 ;
12481
12482 023522 DOWTAB:
12483 023522 003 004 .BYTE 3,4
12484 023524 005 006 .BYTE 5,6
12485 023526 000 001 .BYTE 0,1
12486 023530 002 .BYTE 2
12487 .EVEN
12488
12489 023532 CDMTB:
12490 023532 000000 .WORD 0
12491 023534 000037 .WORD ^D31
12492 023536 000073 .WORD ^D59
12493 023540 000132 .WORD ^D90
12494 023542 000170 .WORD ^D120
12495 023544 000227 .WORD ^D151
12496 023546 000265 .WORD ^D181
12497 023550 000324 .WORD ^D212
12498 023552 000363 .WORD ^D243
12499 023554 000421 .WORD ^D273
12500 023556 000460 .WORD ^D304
12501 023560 000516 .WORD ^D334
SCINC -- SET / CLEAR INCREMENT MACRO M1108 13-JAN-78 09:14 PAGE 372
.SCDAT -- "SET DATE" COMMAND 7703.04
12503 .TITLE SCINC -- SET / CLEAR INCREMENT COMMAND MODULE 7606.20
12504
12505 .IDENT "001010"
12506
12507 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
12508 ;
12509 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
12510 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
12511 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
12512 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
12513 ; FOR ITS ACCURACY.
12514 ;
12515 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
12516 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
12517 ;
12518 ;
12519 ; MODULE: SET / CLEAR INCREMENT COMMAND
12520 ;
12521 ; VERSION: 01-01
12522 ;
12523 ; AUTHOR: R. BELANGER
12524 ;
12525 ; DATE: 7606.20
12526 ;
12527 ; THIS MODULE CONTAINS:
12528 ;
12529 ; 1) SET CLEAR INCREMENT COMMAND CODE
SCINC -- SET / CLEAR INCREMENT MACRO M1108 13-JAN-78 09:14 PAGE 373
.SCINC -- THE "SET / CLEAR INCREMENT" COMMAND 7606.20
12531 .SBTTL .SCINC -- THE "SET / CLEAR INCREMENT" COMMAND 7606.20
12532
12533 023562 .SCINC:: ; SET/CLEAR "INCREMENT"
12534 023562 005737 000104' TST .NOTSW ; IS THIS A CLEAR?
12535 023566 001016 BNE 10$ ; YES -- JUST CLEAR IT
12536 023570 005046 CLR -(SP) ; NO -- CLEAR A BUFFER ON THE STACK
12537 023572 005046 CLR -(SP) ; .
12538 023574 005046 CLR -(SP) ; ..
12539 023576 010600 MOV SP,R0 ; ...POINT TO THE BUFFER
12540 023600 CALL .GTNUM ; ...READ THE NUMBER
023600 004737 012334' JSR PC,.GTNUM
12541 023604 CALL .CKEOC ; ...MUST HAVE E-O-C
023604 004737 002010' JSR PC,.CKEOC
12542 023610 012701 000070' MOV #.KLINC,R1 ; ...POINT TO THE INCREMENT
12543 023614 POP (R1)+ ; ...LOAD THE NEW INCREMENT
023614 012621 MOV (SP)+,(R1)+
12544 023616 POP (R1)+ ; ..
023616 012621 MOV (SP)+,(R1)+
12545 023620 POP (R1) ; .
023620 012611 MOV (SP)+,(R1)
12546 023622 000406 BR 20$ ; AND EXIT
12547 ;
12548 023624 10$:
12549 023624 CALL .CKEOC ; MUST HAVE E-O-C
023624 004737 002010' JSR PC,.CKEOC
12550 023630 012700 000070' MOV #.KLINC,R0 ; POINT TO THE INCREMENT
12551 023634 CALL .TPCLR ; CLEAR IT
023634 004737 027234' JSR PC,.TPCLR
12552 023640 20$:
12553 023640 CALLR .WHINC ; PRINT INCREMENT AND EXIT
023640 000137 033040' JMP .WHINC
12554 ;
SCKLN -- SET / CLEAR KLINIK COM MACRO M1108 13-JAN-78 09:14 PAGE 374
.SCINC -- THE "SET / CLEAR INCREMENT" COMMAND 7606.20
12556 .TITLE SCKLN -- SET / CLEAR KLINIK COMMAND MODULE 7709.20
12557
12558 .IDENT "003030"
12559
12560 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
12561 ;
12562 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
12563 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
12564 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
12565 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
12566 ; FOR ITS ACCURACY.
12567 ;
12568 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
12569 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
12570 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
12571 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
12572 ;
12573 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
12574 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
12575 ;
12576 ;
12577 ; MODULE: SET / CLEAR KLINIK COMMAND
12578 ;
12579 ; VERSION: 03-03
12580 ;
12581 ; AUTHOR: R. BELANGER
12582 ;
12583 ; DATE: 7709.20
12584 ;
12585 ; THIS MODULE CONTAINS:
12586 ;
12587 ; 1) SET / CLEAR "KLINIK" COMMAND CODE
12588 ;
12589 ; MODIFICATIONS:
12590 ;
12591 ; NO. DATE PROGRAMMER REASON
12592 ; --- ---- ---------- ------
12593 ; 001 24-NOV-76 R. BELANGER FIX BUG IN TIME COMPARE
12594 ; 002 16-FEB-77 R. BELANGER MODIFY FOR NEW KLINIK
12595 ; 003 01-JUL-77 R. BELANGER ADD KLINIK ERROR LOGGING
12596 ; 004 20-SEP-77 R. BELANGER DON'T INVOKE KLD IF NO
12597 ; PARAMETERS SET
SCKLN -- SET / CLEAR KLINIK COM MACRO M1108 13-JAN-78 09:14 PAGE 375
.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20
12599 .SBTTL .SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20
12600
12601 ;+
12602 ; .SCKLN -- THE SET / CLEAR KLINIK COMMAND
12603 ;
12604 ; THIS SUBROUTINE WILL SET OR CLEAR THE KLINIK PARAMETERS FOR THE
12605 ; RSX20F FRONT END. THE CLEAR COMMAND SIMPLY CLEARS THE KLINIK
12606 ; THE KLINIK ENABLE FLAG AND REQUESTS THE KLINIK TERMINATION TASK
12607 ; "KLD" IN ORDER THAT THE OPERATOR BE NOTIFIED.
12608 ;
12609 ; THE "SET KLINIK" COMMAND WILL PROMPT THE OPERATOR FOR THE REQUIRED
12610 ; KLINIK PARAMETERS, VALIDATE THEM AND PASS THEM TO THE RSX20F EXECUTIVE.
12611 ;
12612 ; INPUT ARGUMENTS:
12613 ;
12614 ; NONE.
12615 ;
12616 ; OUTPUT ARGUMENTS:
12617 ;
12618 ; NONE.
12619 ;
12620 ; ERROR CODES RETURNED:
12621 ;
12622 ; IPC -- ILLEGAL PASSWORD CHARACTER.
12623 ; KWE -- KLINIK WINDOW ERROR.
12624 ; NPI -- NULL PASSWORD ILLEGAL.
12625 ; PTL -- PASSWORD TOO LONG.
12626 ; SKI -- SET KLINIK ILLEGA WHILE ACTIVE.
12627 ;-
12628
12629 .MCALL .ENB6,.INH6,WTSE$S,CLEF$S
SCKLN -- SET / CLEAR KLINIK COM MACRO M1108 13-JAN-78 09:14 PAGE 376
.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20
12631 .ENABL LSB
12632
12633 023644 .SCKLN::
12634 023644 CALL .CKEOC ; MUST HAVE E-O-C
023644 004737 002010' JSR PC,.CKEOC
12635 023650 005737 000104' TST .NOTSW ; IS THIS A CLEAR?
12636 023654 001402 BEQ 10$ ; NO -- GO ON
12637 023656 000137 024564' JMP 80$ ; YES -- DO IT
12638 ;
12639 023662 10$:
12640 023662 105737 000000G TSTB .KLNSW+0 ; +++002 IS KLINIK ALREADY ACTIVE??
12641 023666 001055 BNE SCKSKI ; +++002 YES -- COMPLAIN
12642 023670 PUSH R5 ; SET UP TO GET KLINIK PARAMETERS
023670 010546 MOV R5,-(SP)
12643 023672 012700 005601' MOV #SCKMS4,R0 ; .+++002 MESSAGE POINTER TO R0
12644 023676 CALL .TYMSF ; .+++002 FORCE IT OUT
023676 004737 031426' JSR PC,.TYMSF
12645 023702 012701 000240' MOV #.CIBFR,R1 ; .+++002 BUFFER POINTER TO R1
12646 023706 010105 MOV R1,R5 ; .+++002 AND R5
12647 023710 CALL .GTLIN ; .+++002 READ KLINIK MODE
023710 004737 011776' JSR PC,.GTLIN
12648 023714 012700 015020' MOV #.KLMT1,R0 ; .+++002 KLINIK MODE TABLE POINTER TO R0
12649 023720 CALL .TSCAN ; .+++002 SCAN THE TABLE
023720 004737 030176' JSR PC,.TSCAN
12650 023724 116046 000002 MOVB 2(R0),-(SP) ; .+++002 KLINIK MODE FLAG TO STACK
12651 023730 100461 BMI 25$ ; +++002 READ WINDOW DATA IF USER
12652 023732 012700 005466' MOV #SCKMS0,R0 ; ..MESSAGE POINTER TO R0
12653 023736 CALL .TYMSF ; ..FORCE THE MESSAGE
023736 004737 031426' JSR PC,.TYMSF
12654 023742 012701 000240' MOV #.CIBFR,R1 ; ..USE THE INPUT DEVICE BUFFER
12655 023746 CALL .GTLIN ; ..READ THE LINE
023746 004737 011776' JSR PC,.GTLIN
12656 023752 001415 BEQ SCKNPI ; ..GIVE "NPI" ERROR IF NULL PASSWORD
12657 023754 013700 000064' MOV .INCHC,R0 ; ..CHARACTER COUNT TO R0
12658 023760 022700 000006 CMP #^D6,R0 ; ..IS THE PASSWORD TOO LONG?
12659 023764 002413 BLT SCKPTL ; ..YES -- GIVE "PTL" ERROR
12660 023766 160001 SUB R0,R1 ; ..NO -- ADJUST THE STRING POINTER
12661 023770 012702 025026' MOV #KLNPWD,R2 ; ..POINT TO THE PASSWORD
12662 023774 005022 CLR (R2)+ ; ..CLEAR IT
12663 023776 005022 CLR (R2)+ ; ..
12664 024000 005012 CLR (R2) ; ..SO
12665 024002 024242 CMP -(R2),-(R2) ; ..RESET THE POINTER
12666 024004 000415 BR 15$ ; ..AND GO ON
12667 ;
12668
12669 ; [CONTINUED ON THE FOLLOWING PAGE]
SCKLN -- SET / CLEAR KLINIK COM MACRO M1108 13-JAN-78 09:14 PAGE 377
.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20
12671 ; [CONTINUED FROM THE PREVIOUS PAGE]
12672
12673 024006 SCKNPI:
12674 024006 ERROR$ NPI ; ERROR -- NULL PASSWORD ILLEGAL
024006 012746 MOV (PC)+,-(SP) ; "NPI" IN RAD50 TO STACK
024010 055011 .RAD50 /NPI/ ; ERROR IDENTIFIER
024012 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
12675 ;
12676 024014 SCKPTL:
12677 024014 ERROR$ PTL ; ERROR -- PASSWORD TOO LONG
024014 012746 MOV (PC)+,-(SP) ; "PTL" IN RAD50 TO STACK
024016 063454 .RAD50 /PTL/ ; ERROR IDENTIFIER
024020 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
12678 ;
12679 024022 SCKSKI:
12680 024022 ERROR$ SKI ; ERROR -- ILLEGAL WHILE KLINIK ACTIVE
024022 012746 MOV (PC)+,-(SP) ; "SKI" IN RAD50 TO STACK
024024 074201 .RAD50 /SKI/ ; ERROR IDENTIFIER
024026 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
12681 ;
12682 024030 SCKIPC:
12683 024030 011204 MOV (R2),R4 ; OFFENDING CHARACTER TO R4
12684 024032 ERROR$ IPC ; ERROR -- ILLEGAL PASSWORD CHARACTER
024032 012746 MOV (PC)+,-(SP) ; "IPC" IN RAD50 TO STACK
024034 035303 .RAD50 /IPC/ ; ERROR IDENTIFIER
024036 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
12685 ;
12686
12687 ; [CONTINUED ON THE FOLLOWING PAGE]
SCKLN -- SET / CLEAR KLINIK COM MACRO M1108 13-JAN-78 09:14 PAGE 378
.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20
12689 ; [CONTINUED FROM THE PREVIOUS PAGE]
12690
12691 024040 15$:
12692 024040 112112 MOVB (R1)+,(R2) ; ..LOAD THE PASSWORD
12693 024042 122712 000060 CMPB #'0,(R2) ; ..SEE IF NUMERIC
12694 024046 003370 BGT SCKIPC ; ..TOO SMALL -- GIVE "IPC" ERROR
12695 024050 122712 000071 CMPB #'9,(R2) ; ..IN RANGE?
12696 024054 002006 BGE 20$ ; ..YES -- GO ON
12697 024056 122712 000101 CMPB #'A,(R2) ; ..NO -- IS THE CHARACTER ALPHABETIC?
12698 024062 003362 BGT SCKIPC ; ..TOO SMALL -- GIVE "IPC" ERROR
12699 024064 122722 000132 CMPB #'Z,(R2)+ ; ..IS IT REALLY IN RANGE?
12700 024070 002757 BLT SCKIPC ; ..TOO BIG -- GIVE "IPC" ERROR
12701 024072 20$:
12702 024072 077016 SOB R0,15$ ; ..OK -- LOOP UNTIL DONE
12703 024074 25$:
12704 024074 012700 005501' MOV #SCKMS1,R0 ; .."FROM" MESSAGE POINTER
12705 024100 CALL .TYMSG ; ..PRINT IT
024100 004737 031434' JSR PC,.TYMSG
12706 024104 005046 CLR -(SP) ; ..CLEAR A BUFFER FOR THE START DATE
12707 024106 005046 CLR -(SP) ; ...
12708 024110 010600 MOV SP,R0 ; ....POINT TO IT
12709 024112 CALL .GTDAT ; ....GET WINDOW OPEN DATE
024112 004737 011312' JSR PC,.GTDAT
12710 024116 012700 005501' MOV #SCKMS1,R0 ; ....SAME MESSAGE
12711 024122 CALL .TYMSG ; ....PRINT IT
024122 004737 031434' JSR PC,.TYMSG
12712 024126 005046 CLR -(SP) ; ....CLEAR A SPACE FOR THE START TIME
12713 024130 010600 MOV SP,R0 ; .....POINT TO IT
12714 024132 CALL .GTTIM ; .....GET WINDOW OPEN TIME
024132 004737 013366' JSR PC,.GTTIM
12715 024136 001002 BNE 30$ ; .....GO ON IF NOT DEFAULT
12716 024140 013716 000000G MOV .SSM,(SP) ; .....ELSE SET DEFAULT FROM THE SYSTEM
12717 024144 30$:
12718 024144 012700 005525' MOV #SCKMS2,R0 ; ....."TO" MESSAGE POINTER
12719 024150 CALL .TYMSG ; .....OUTPUT THAT
024150 004737 031434' JSR PC,.TYMSG
12720 024154 005046 CLR -(SP) ; .....CLEAR A BUFFER FOR THE END DATE
12721 024156 005046 CLR -(SP) ; ......
12722 024160 010600 MOV SP,R0 ; .......POINT TO IT
12723 024162 CALL .GTDAT ; .......GET THE END DATE
024162 004737 011312' JSR PC,.GTDAT
12724 024166 001044 BNE 50$ ; .......GO ON IF NOT DEFAULT
12725 024170 016616 000006 MOV 6(SP),(SP) ; .......+++002 DEFAULT -- GET OPEN DATE
12726 024174 016666 000010 000002 MOV 10(SP),2(SP) ; .......+++002 LOAD IT INTO CLOSE DATE
12727 024202 105720 TSTB (R0)+ ; .......GET OVER THE YEAR
12728 024204 112002 MOVB (R0)+,R2 ; .......MONTH TO R2
12729 024206 105210 INCB (R0) ; .......INCREMENT THE DATE
12730 024210 122702 000002 CMPB #^D2,R2 ; .......IS THIS FEBRUARY?
12731 024214 001422 BEQ 45$ ; .......YES -- HANDLE SPECIAL CASE
12732 024216 122710 000036 CMPB #^D30,(R0) ; .......NO -- HOW MANY DAYS?
12733 024222 002026 BGE 50$ ; .......ALL OK IF .LE. 30.
12734 024224 012701 172452 MOV #^C5325,R1 ; .......BIT MASK TO R1
12735
12736 ; [CONTINUED ON THE FOLLOWING PAGE]
SCKLN -- SET / CLEAR KLINIK COM MACRO M1108 13-JAN-78 09:14 PAGE 379
.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20
12738 ; [CONTINUED FROM THE PREVIOUS PAGE]
12739
12740 024230 35$:
12741 024230 006201 ASR R1 ; .......SHIFT IT RIGHT
12742 024232 077202 SOB R2,35$ ; .......TILL DONE
12743 024234 103021 BCC 50$ ; .......ALL OK IF CC-C IS CLEAR
12744 024236 40$:
12745 024236 112710 000001 MOVB #^D1,(R0) ; .......SET THE DAY TO 1
12746 024242 105240 INCB -(R0) ; .......INCREMENT THE MONTH
12747 024244 122710 000014 CMPB #^D12,(R0) ; .......DECEMBER?
12748 024250 002013 BGE 50$ ; .......YES -- GO ON
12749 024252 012710 000001 MOV #^D1,(R0) ; .......NO -- SET THE MONTH TO JANUARY
12750 024256 105240 INCB -(R0) ; .......AND INCREMENT THE YEAR
12751 024260 000407 BR 50$ ; .......EXIT
12752 ;
12753 024262 45$:
12754 024262 122710 000034 CMPB #^D28,(R0) ; .......28 DAYS?
12755 024266 002004 BGE 50$ ; .......YES -- GO ON
12756 024270 132760 000003 177776 BITB #3,-2(R0) ; .......NO -- LEAP YEAR?
12757 024276 001357 BNE 40$ ; .......NO -- SET TO MARCH 1
12758 024300 50$:
12759 024300 012700 005525' MOV #SCKMS2,R0 ; .......SAME MESSAGE FOR END TIME
12760 024304 CALL .TYMSG ; .......PRINT IT
024304 004737 031434' JSR PC,.TYMSG
12761 024310 005046 CLR -(SP) ; .......CLEAR A SPACE FOR THE END TIME
12762 024312 010600 MOV SP,R0 ; ........POINT TO IT
12763 024314 CALL .GTTIM ; ........GET THE END TIME
024314 004737 013366' JSR PC,.GTTIM
12764 024320 001002 BNE 55$ ; ........GO ON IF NOT DEFAULT
12765 024322 016616 000006 MOV 6(SP),(SP) ; ........ELSE SET DEFAULT
12766 024326 55$:
12767 024326 126666 000002 000010 CMPB 2(SP),10(SP) ; ........ARE THE YEARS IN RANGE?
12768 024334 002416 BLT SCKKWE ; ........+++002 NO -- GIVE "KWE" ERROR
12769 024336 003020 BGT 60$ ; ........YES -- SAME YEAR?
12770 024340 126666 000003 000011 CMPB 3(SP),11(SP) ; ........YES -- ARE THE MONTHS OK?
12771 024346 002411 BLT SCKKWE ; ........+++002 NO -- GIVE "KWE" ERROR
12772 024350 003013 BGT 60$ ; ........YES -- SAME MONTH?
12773 024352 126666 000004 000012 CMPB 4(SP),12(SP) ; ........YES -- ARE THE DATES OK?
12774 024360 002404 BLT SCKKWE ; ........+++002 NO -- GIVE "KWE" ERROR
12775 024362 003006 BGT 60$ ; ........YES -- SAME DATE?
12776 024364 021666 000006 CMP (SP),6(SP) ; ........+++001 YES -- ARE THE TIMES OK?
12777 024370 101003 BHI 60$ ; ........+++002 YES -- GO ON
12778 024372 SCKKWE:
12779 024372 ERROR$ KWE ; ERROR -- KLINIK WINDOW ERROR
024372 012746 MOV (PC)+,-(SP) ; "KWE" IN RAD50 TO STACK
024374 044135 .RAD50 /KWE/ ; ERROR IDENTIFIER
024376 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
12780
12781 ; [CONTINUED ON THE FOLLOWING PAGE]
SCKLN -- SET / CLEAR KLINIK COM MACRO M1108 13-JAN-78 09:14 PAGE 380
.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20
12783 ; [CONTINUED FROM THE PREVIOUS PAGE]
12784
12785 024400 60$:
12786 024400 005000 CLR R0 ; ........CLEAR R0
12787 024402 105766 000014 TSTB 14(SP) ; ........LOOK AT THE KLINIK MODE
12788 024406 002423 BLT 65$ ; ........GO ON IF USER
12789 024410 012700 005552' MOV #SCKMS3,R0 ; ........ASK FOR HIGHEST CONSOLE MODE
12790 024414 CALL .TYMSF ; ........FORCE IT
024414 004737 031426' JSR PC,.TYMSF
12791 024420 012701 000240' MOV #.CIBFR,R1 ; ........POINT TO THE INPUT BUFFER
12792 024424 010105 MOV R1,R5 ; ........AND R5 TOO
12793 024426 CALL .GTLIN ; ........READ THE RESPONSE
024426 004737 011776' JSR PC,.GTLIN
12794 024432 CALL .CKOBJ ; ........MUST HAVE AN OBJECT
024432 004737 002074' JSR PC,.CKOBJ
12795 024436 012700 014774' MOV #.KLMTB,R0 ; ........TABLE POINTER TO R0
12796 024442 CALL .TSCAN ; ........SCAN THE TABLE
024442 004737 030176' JSR PC,.TSCAN
12797 024446 116000 000002 MOVB 2(R0),R0 ; ........SAVE THE CONSOLE MODE
12798 024452 CALL .CKEOC ; ........MUST HAVE E-O-C
024452 004737 002010' JSR PC,.CKEOC
12799 024456 65$:
12800 024456 .INH6 ; ........+++002 DISALLOW INTERRUPTS
024456 013746 177776 MOV @#PS,-(SP)
024462 112737 000300 177776 MOVB #300,@#PS
12801 024470 POP R3 ;;; .........+++003 SAVED PSW TO R3
024470 012603 MOV (SP)+,R3
12802 024472 110037 000001G MOVB R0,.KLNMD+1 ;;; ........SET THE CONSOLE MODE
12803 024476 POP .KLNTT ;;; ........SET THE END TIME
024476 012637 000000G MOV (SP)+,.KLNTT
12804 024502 POP .KLNTD ;;; .......GET THE END DATE
024502 012637 000000G MOV (SP)+,.KLNTD
12805 024506 POP .KLNTD+2 ;;; ......BOTH HALVES
024506 012637 000002G MOV (SP)+,.KLNTD+2
12806 024512 POP .KLNFT ;;; .....SET THE START TIME
024512 012637 000000G MOV (SP)+,.KLNFT
12807 024516 POP .KLNFD ;;; ....POINT TO THE START DATE
024516 012637 000000G MOV (SP)+,.KLNFD
12808 024522 POP .KLNFD+2 ;;; ...BOTH HALVES
024522 012637 000002G MOV (SP)+,.KLNFD+2
12809 024526 112637 000000G MOVB (SP)+,.KLNMD+0 ;;; ..+++002 SET THE KLINIK MODE
12810 024532 002410 BLT 75$ ;;; .GO ON IF USER
12811 024534 012702 000006 MOV #^D6,R2 ;;; .CHARACTER COUNT TO R2
12812 024540 012701 000000G MOV #.KLNPW,R1 ;;; .POINT TO THE PASSWORD
12813 024544 012700 025026' MOV #KLNPWD,R0 ;;; .POINT TO OURS
12814
12815 ; [CONTINUED ON THE FOLLOWING PAGE]
SCKLN -- SET / CLEAR KLINIK COM MACRO M1108 13-JAN-78 09:14 PAGE 381
.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20
12817 ; [CONTINUED FROM THE PREVIOUS PAGE]
12818
12819 024550 70$:
12820 024550 112021 MOVB (R0)+,(R1)+ ;;; .LOAD THE PASSWORD
12821 024552 077202 SOB R2,70$ ;;; .LOOP TILL DONE
12822 024554 75$: ;;; .+++002
12823 024554 010337 177776 MOV R3,@#PS ;;; +++003 ENABLE INTERRUPTS
12824 024560 POP R5 ; .RESTORE R5
024560 012605 MOV (SP)+,R5
12825 024562 000421 BR 85$ ; AND EXIT
12826 ;
12827 024564 80$:
12828 024564 105737 000000G TSTB .KLNMD+0 ; +++004 ANYTHING TO CLEAR??
12829 024570 001502 BEQ 100$ ; +++004 NO -- JUST TELL OPERATOR ITS ALREADY CLEAR
12830 024572 .INH6 ; +++002 DISALLOW INTERRUPTS
024572 013746 177776 MOV @#PS,-(SP)
024576 112737 000300 177776 MOVB #300,@#PS
12831 024604 105037 000000G CLRB .KLNMD+0 ;;; +++002 CLEAR KLINIK
12832 024610 105037 000000G CLRB .KLNPW+0 ;;; CLEAR THE KLINIK PASSWORD
12833 024614 112737 000001 000001G MOVB #1,.KLNSW+1 ;;; +++002 MARK THAT WE WANT A CLEAR
12834 024622 .ENB6 ;;; +++002 ENABLE INTERRUPTS
024622 012637 177776 MOV (SP)+,@#PS
12835 024626 85$:
12836 024626 032737 000000G 000002G BIT #EF.PR1,.COMEF+2 ; +++002 ANY THING THERE TO GET THIS?
12837 024634 001460 BEQ 100$ ; +++002 NO -- GO ON
12838 024636 CLEF$S #E.FKLN ; +++003 RESET THE FLAG
024636 012746 000004 MOV #E.FKLN,-(SP)
024642 012746 MOV (PC)+,-(SP)
024644 037 002 .BYTE 31.,2
024646 104375 EMT 375
12839 024650 012700 000000G MOV #.KLNPB,R0 ; +++002 BUFFER POINTER TO R0
12840 024654 012710 000000G MOV #KLNPLN,(R0) ; +++002 BUFFER SIZE TO HEADER
12841 024660 012701 100000G MOV #BC.SKP+100000,R1 ; +++002 FUNCTION CODE TO R1
12842 024664 005002 CLR R2 ; +++002 NO EVENT FLAG
12843 024666 012703 000000G MOV #D.CCPU,R3 ; +++002 DEVICE CODE TO R3
12844 024672 CALL ..STIN ; +++002 SEND THE NEW PARAMETERS
024672 004737 000000G JSR PC,..STIN
12845 024676 012702 000000C MOV #KLNLGL/2,R2 ; +++003 ARGUMENT COUNT TO R2
12846 024702 012701 000000G MOV #.KLNPE,R1 ; +++003 INPUT BLOCK POINTER
12847 024706 012700 025026' MOV #KLNLGE,R0 ; +++003 OUTPUT BLOCK POINTER
12848 024712 90$: ; +++003
12849 024712 014140 MOV -(R1),-(R0) ; +++003 LOAD THE PARAMETERS
12850 024714 077202 SOB R2,90$ ; +++003 LOOP TILL DONE
12851 024716 012702 000001 MOV #1,R2 ; +++003 ASSUME "SET"
12852 024722 005737 000104' TST .NOTSW ; +++003 IS IT??
12853 024726 001401 BEQ 95$ ; +++003 YES -- GO ON
12854 024730 005402 NEG R2 ; +++003 NO -- INVERT IT
12855
12856 ; [CONTINUED ON THE FOLLOWING PAGE]
SCKLN -- SET / CLEAR KLINIK COM MACRO M1108 13-JAN-78 09:14 PAGE 382
.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20
12858 ; [CONTINUED FROM THE PREVIOUS PAGE]
12859
12860 024732 95$: ; +++003
12861 024732 105740 TSTB -(R0) ; +++003 GET OVER THE LOG CODE
12862 024734 110240 MOVB R2,-(R0) ; +++003 SET THE EVENT CODE
12863 024736 005740 TST -(R0) ; +++003 BACK OVER THE LOG FLAG
12864 024740 012740 000022 MOV #22,-(R0) ; +++003 SET THE PACKET SIZE
12865 024744 012701 100000G MOV #BC.HDS+100000,R1 ; +++003 FUNCTION CODE TO R1
12866 024750 012702 000004 MOV #E.FKLN,R2 ; +++003 EVENT FLAG TO R2
12867 024754 012703 000000G MOV #D.CKLN,R3 ; +++003 DEVICE CODE TO R3
12868 024760 CALL ..STIN ; +++003 LOG IT
024760 004737 000000G JSR PC,..STIN
12869 024764 WTSE$S #E.FKLN ; +++003 WAIT FOR IT
024764 012746 000004 MOV #E.FKLN,-(SP)
024770 012746 MOV (PC)+,-(SP)
024772 051 002 .BYTE 41.,2
024774 104375 EMT 375
12870 024776 100$: ; +++002
12871 024776 CALLR .WHKLN ; TELL THE STATE AND EXIT
024776 000137 033126' JMP .WHKLN
12872 ;
12873
12874 .DSABL LSB
SCKLN -- SET / CLEAR KLINIK COM MACRO M1108 13-JAN-78 09:14 PAGE 383
.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20
12876 025002 KLNLOG:
12877 025002 000000 .WORD 0
12878 025004 000000G .WORD DV.LOG
12879 025006 000000G .WORD K.LSCK
12880 025010 000000 000000 000000 .WORD 0,0,0
12881 025016 000000 000000 000000 .WORD 0,0,0
12882 025024 000000 .WORD 0
12883 025026' KLNLGE=.
12884
12885 025026 KLNPWD:
12886 025026 000000 000000 000000 .WORD 0,0,0 ; TEMP PASSWORD STORAGE
12887 005466 .PSECT MESSAG
12888
12889 005466 SCKMS0:
12890 005466 120 101 123 .ASCIZ %PASSWORD: %
005471 123 127 117
005474 122 104 072
005477 040 000
12891 005501 SCKMS1:
12892 005501 101 103 103 .ASCIZ %ACCESS WINDOW OPEN %
005504 105 123 123
005507 040 127 111
005512 116 104 117
005515 127 040 117
005520 120 105 116
005523 040 000
12893 005525 SCKMS2:
12894 005525 101 103 103 .ASCIZ %ACCESS WINDOW CLOSE %
005530 105 123 123
005533 040 127 111
005536 116 104 117
005541 127 040 103
005544 114 117 123
005547 105 040 000
12895 005552 SCKMS3:
12896 005552 110 111 107 .ASCIZ %HIGHEST CONSOLE MODE: %
005555 110 105 123
005560 124 040 103
005563 117 116 123
005566 117 114 105
005571 040 115 117
005574 104 105 072
005577 040 000
12897 005601 SCKMS4:
12898 005601 113 114 111 .ASCIZ %KLINIK MODE: %
005604 116 111 113
005607 040 115 117
005612 104 105 072
005615 040 000
12899 025034 .PSECT
SCMEM -- SET / CLEAR MEMORY COM MACRO M1108 13-JAN-78 09:14 PAGE 384
.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20
12901 .TITLE SCMEM -- SET / CLEAR MEMORY COMMAND MODULE 7607.08
12902
12903 .IDENT "001010"
12904
12905 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
12906 ;
12907 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
12908 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
12909 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
12910 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
12911 ; FOR ITS ACCURACY.
12912 ;
12913 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
12914 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
12915 ;
12916 ;
12917 ; MODULE: SET / CLEAR MEMORY COMMAND
12918 ;
12919 ; VERSION: 01-01
12920 ;
12921 ; AUTHOR: R. BELANGER
12922 ;
12923 ; DATE: 7607.08
12924 ;
12925 ; THIS MODULE CONTAINS:
12926 ;
12927 ; 1) SET / CLEAR MEMORY COMMAND CODE
SCMEM -- SET / CLEAR MEMORY COM MACRO M1108 13-JAN-78 09:14 PAGE 385
.SCMEM -- THE "SET / CLEAR MEMORY" COMMAND 7607.08
12929 .SBTTL .SCMEM -- THE "SET / CLEAR MEMORY" COMMAND 7607.08
12930
12931 .ENABL LSB
12932
12933 025034 .SCMEM:: ; SET / CLEAR "MEMORY"
12934 025034 005737 000104' TST .NOTSW ; IS THIS A CLEAR?
12935 025040 001015 BNE 10$ ; YES -- GO DO THE CLEAR
12936 025042 CALL .CKOBJ ; NO -- MUST HAVE AN OBJECT
025042 004737 002074' JSR PC,.CKOBJ
12937 025046 012700 025112' MOV #.SCMTB,R0 ; TABLE POINTER TO R0
12938 025052 CALL .TSCAN ; SCAN IT
025052 004737 030176' JSR PC,.TSCAN
12939 025056 CALL .CKEOC ; MUST BE E-O-C
025056 004737 002010' JSR PC,.CKEOC
12940 025062 CALLR @2(R0) ; DISPATCH FOR OBJECT
025062 000170 000002 JMP @2(R0)
12941 ;
12942 025066 .SCMEL:: ; SET MEMORY ELEVEN
12943 025066 012700 000002 MOV #^D2,R0 ; ELEVEN OFFSET IS 2
12944 025072 000403 BR 20$ ; DO COMMON STUFF
12945 025074 10$:
12946 025074 CALL .CKEOC ; MUST HAVE E-O-C TO CLEAR
025074 004737 002010' JSR PC,.CKEOC
12947 025100 .SCMKL::
12948 025100 005000 CLR R0 ; TEN OFFSET IS 0
12949 025102 20$:
12950 025102 010037 000102' MOV R0,.MEMFL ; SET THE FLAG
12951 025106 CALLR .WHMEM ; AND EXIT
025106 000137 033452' JMP .WHMEM
12952 ;
12953
12954 .DSABL LSB
SCMTB -- SET / CLEAR MEMORY COM MACRO M1108 13-JAN-78 09:14 PAGE 386
.SCMEM -- THE "SET / CLEAR MEMORY" COMMAND 7607.08
12956 .TITLE SCMTB -- SET / CLEAR MEMORY COMMAND TABLE MODULE 7603.30
12957
12958 .IDENT "001010"
12959
12960 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
12961 ;
12962 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
12963 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
12964 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
12965 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
12966 ; FOR ITS ACCURACY.
12967 ;
12968 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
12969 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
12970 ;
12971 ;
12972 ; MODULE: SET / CLEAR COMMAND TABLE
12973 ;
12974 ; VERSION: 01-01
12975 ;
12976 ; AUTHOR: R. BELANGER
12977 ;
12978 ; DATE: 7603.30
12979 ;
12980 ; THIS MODULE CONTAINS:
12981 ;
12982 ; 1) THE SET / CLEAR MEMORY COMMAND TABLE
SCMTB -- SET / CLEAR MEMORY COM MACRO M1108 13-JAN-78 09:14 PAGE 387
.SCMTB -- THE "SET / CLEAR MEMORY" COMMAND TABLE 7603.18
12984 .SBTTL .SCMTB -- THE "SET / CLEAR MEMORY" COMMAND TABLE 7603.18
12985
12986 025112 .SCMTB::
12987 025112 COMND$ ELEVEN,LG.OPR,.SCMEL
005617 105 114 105 .ASCIZ %ELEVEN%
005622 126 105 116
005625 000
025112 005617' .WORD $$CMDN ; POINTER TO "ELEVEN" SYMBOL
025114 000001 .WORD LG.OPR ; LEGAL BITS
025116 025066' .WORD .SCMEL ; ROUTINE TO CALL
12988 025120 COMND$ TEN,LG.OPR,.SCMKL
005626 124 105 116 .ASCIZ %TEN%
005631 000
025120 005626' .WORD $$CMDN ; POINTER TO "TEN" SYMBOL
025122 000001 .WORD LG.OPR ; LEGAL BITS
025124 025100' .WORD .SCMKL ; ROUTINE TO CALL
12989 025126 000000 .WORD 0 ; END OF TABLE MARKER
SCNOT -- SET / CLEAR NOT COMMAN MACRO M1108 13-JAN-78 09:14 PAGE 388
.SCMTB -- THE "SET / CLEAR MEMORY" COMMAND TABLE 7603.18
12991 .TITLE SCNOT -- SET / CLEAR NOT COMMAND MODULE 7603.30
12992
12993 .IDENT "001010"
12994
12995 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
12996 ;
12997 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
12998 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
12999 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
13000 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
13001 ; FOR ITS ACCURACY.
13002 ;
13003 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
13004 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
13005 ;
13006 ;
13007 ; MODULE: SET / CLEAR NOT COMMAND MODULE
13008 ;
13009 ; VERSION: 01-01
13010 ;
13011 ; AUTHOR: R. BELANGER
13012 ;
13013 ; DATE: 7603.30
13014 ;
13015 ; THIS MODULE CONTAINS:
13016 ;
13017 ; 1) SET / CLEAR NOT COMMAND CODE
SCNOT -- SET / CLEAR NOT COMMAN MACRO M1108 13-JAN-78 09:14 PAGE 389
.SCNOT -- THE "SET / CLEAR NOT" COMMAND 7602.19
13019 .SBTTL .SCNOT -- THE "SET / CLEAR NOT" COMMAND 7602.19
13020
13021 025130 .SCNOT:: ; SET/CLEAR "NO"
13022 025130 CALL .CKOBJ ; MUST HAVE AN OBJECT
025130 004737 002074' JSR PC,.CKOBJ
13023 025134 005137 000104' COM .NOTSW ; INVERT THE "NOT" SWITCH
13024 025140 CALLR .SETC0 ; AND GET NEXT OBJECT
025140 000137 025656' JMP .SETC0
13025 ;
SCOFS -- SET / CLEAR OFFSET COM MACRO M1108 13-JAN-78 09:14 PAGE 390
.SCNOT -- THE "SET / CLEAR NOT" COMMAND 7602.19
13027 .TITLE SCOFS -- SET / CLEAR OFFSET COMMAND MODULE 7603.30
13028
13029 .IDENT "001010"
13030
13031 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
13032 ;
13033 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
13034 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
13035 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
13036 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
13037 ; FOR ITS ACCURACY.
13038 ;
13039 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
13040 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
13041 ;
13042 ;
13043 ; MODULE: SET / CLEAR OFFSET COMMAND
13044 ;
13045 ; VERSION: 01-01
13046 ;
13047 ; AUTHOR: R. BELANGER
13048 ;
13049 ; DATE: 7603.30
13050 ;
13051 ; THIS MODULE CONTAINS:
13052 ;
13053 ; 1) SET / CLEAR OFFSET COMMAND CODE
SCOFS -- SET / CLEAR OFFSET COM MACRO M1108 13-JAN-78 09:14 PAGE 391
.SCOFS -- THE "SET / CLEAR OFFSET" COMMAND 7602.19
13055 .SBTTL .SCOFS -- THE "SET / CLEAR OFFSET" COMMAND 7602.19
13056
13057 025144 .SCOFS:: ; SET/CLEAR "OFFSET"
13058 025144 012700 000000' MOV #.APRWD,R0 ; DEFAULT OFFSET
13059 025150 005737 000104' TST .NOTSW ; IS THIS A CLEAR?
13060 025154 001002 BNE 10$ ; YES -- JUST EXIT
13061 025156 CALL .GTELN ; NO -- READ NEW OFFSET
025156 004737 012252' JSR PC,.GTELN
13062 025162 10$:
13063 025162 CALL .CKEOC ; MUST HAVE E-O-C
025162 004737 002010' JSR PC,.CKEOC
13064 025166 010037 000122' MOV R0,.RELWD ; SET IT
13065 025172 CALLR .WHOFS ; PRINT IT AND RETURN
025172 000137 033504' JMP .WHOFS
13066 ;
SCPAR -- SET / CLEAR PARITY STO MACRO M1108 13-JAN-78 09:14 PAGE 392
.SCOFS -- THE "SET / CLEAR OFFSET" COMMAND 7602.19
13068 .TITLE SCPAR -- SET / CLEAR PARITY STOP COMMAND MODULE 7603.30
13069
13070 .IDENT "001010"
13071
13072 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
13073 ;
13074 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
13075 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
13076 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
13077 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
13078 ; FOR ITS ACCURACY.
13079 ;
13080 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
13081 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
13082 ;
13083 ;
13084 ; MODULE: SET / CLEAR PARITY STOP COMMAND
13085 ;
13086 ; VERSION: 01-01
13087 ;
13088 ; AUTHOR: R. BELANGER
13089 ;
13090 ; DATE: 7603.30
13091 ;
13092 ; THIS MODULE CONTAINS:
13093 ;
13094 ; 1) SET / CLEAR PARITY STOP COMMAND CODE
SCPAR -- SET / CLEAR PARITY STO MACRO M1108 13-JAN-78 09:14 PAGE 393
.SCPAR -- SET / CLEAR PARITY-STOP "<OBJECT>" 7603.08
13096 .SBTTL .SCPAR -- SET / CLEAR PARITY-STOP "<OBJECT>" 7603.08
13097
13098 .ENABL LSB
13099
13100 025176 .SCPAL:: ; SET CLEAR PARITY-STOP "ALL"
13101 025176 012702 001416 MOV #PS.NRM,R2 ; NORMAL PARITY STOPS
13102 025202 000421 BR 10$ ; DO COMMON CODE
13103 ;
13104 025204 .SCPAR:: ; SET / CLEAR PARITY-STOP "AR"
13105 025204 012702 001000 MOV #AP.ARP,R2 ; AR / ARX PARITY STOP
13106 025210 000416 BR 10$ ; DO COMMON CODE
13107 ;
13108 025212 .SCPCR:: ; SET / CLEAR PARITY-STOP "CRAM"
13109 025212 012702 000004 MOV #IP.CRP,R2 ; CRAM PARITY STOP
13110 025216 000413 BR 10$ ; DO COMMON CODE
13111 ;
13112 025220 .SCPDR:: ; SET / CLEAR PARITY-STOP "DRAM"
13113 025220 012702 000002 MOV #IP.DRP,R2 ; DRAM PARITY STOP
13114 025224 000410 BR 10$ ; DO COMMON CODE
13115 ;
13116 025226 .SCPEN:: ; SET / CLEAR PARITY-STOP "ENABLE"
13117 025226 012702 000400 MOV #AP.EIP,R2 ; PARITY STOP ENABLE
13118 025232 000405 BR 10$ ; DO COMMON CODE
13119 ;
13120 025234 .SCPFM:: ; SET / CLEAR PARITY-STOP "FM"
13121 025234 012702 000010 MOV #IP.FMP,R2 ; FAST MEMORY PARITY STOP
13122 025240 000402 BR 10$ ; DO COMMON CODE
13123 ;
13124 025242 .SCPFS:: ; SET / CLEAR PARITY-STOP "FS-STOP"
13125 025242 012702 000001 MOV #IP.FSS,R2 ; FS STOP
13126 025246 10$:
13127 025246 005737 000104' TST .NOTSW ; IS THIS A CLEAR?
13128 025252 001402 BEQ 20$ ; NO -- GO ON
13129 025254 040201 BIC R2,R1 ; YES -- CLEAR THE ENABLE
13130 025256 RETURN ; EXIT
025256 000207 RTS PC
13131 025260 20$:
13132 025260 052701 000400 BIS #AP.EIP,R1 ; ENABLE THE ERROR STOPS
13133 025264 050201 BIS R2,R1 ; SET THE ENABLES
13134 025266 RETURN ; TO CALLER
025266 000207 RTS PC
13135
13136 .DSABL LSB
SCPTB -- SET / CLEAR PARITY-STO MACRO M1108 13-JAN-78 09:14 PAGE 394
.SCPAR -- SET / CLEAR PARITY-STOP "<OBJECT>" 7603.08
13138 .TITLE SCPTB -- SET / CLEAR PARITY-STOP COMMAND TABLE MODULE 7603.30
13139
13140 .IDENT "001010"
13141
13142 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
13143 ;
13144 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
13145 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
13146 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
13147 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
13148 ; FOR ITS ACCURACY.
13149 ;
13150 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
13151 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
13152 ;
13153 ;
13154 ; MODULE: SET / CLEAR PARITY-STOP COMMAND TABLE
13155 ;
13156 ; VERSION: 01-01
13157 ;
13158 ; AUTHOR: R. BELANGER
13159 ;
13160 ; DATE: 7603.30
13161 ;
13162 ; THIS MODULE CONTAINS:
13163 ;
13164 ; 1) THE SET / CLEAR PARITY-STOP COMMAND TABLE
SCPTB -- SET / CLEAR PARITY-STO MACRO M1108 13-JAN-78 09:14 PAGE 395
.SCPTB -- THE SET / CLEAR "PARITY-STOP" TABLE 7603.10
13166 .SBTTL .SCPTB -- THE SET / CLEAR "PARITY-STOP" TABLE 7603.10
13167
13168 025270 .SCPTB::
13169 025270 COMND$ ALL,LG.MNT,.SCPAL
005632 101 114 114 .ASCIZ %ALL%
005635 000
025270 005632' .WORD $$CMDN ; POINTER TO "ALL" SYMBOL
025272 000004 .WORD LG.MNT ; LEGAL BITS
025274 025176' .WORD .SCPAL ; ROUTINE TO CALL
13170 025276 COMND$ AR,LG.MNT,.SCPAR
005636 101 122 000 .ASCIZ %AR%
025276 005636' .WORD $$CMDN ; POINTER TO "AR" SYMBOL
025300 000004 .WORD LG.MNT ; LEGAL BITS
025302 025204' .WORD .SCPAR ; ROUTINE TO CALL
13171 025304 COMND$ CRAM,LG.MNT,.SCPCR
005641 103 122 101 .ASCIZ %CRAM%
005644 115 000
025304 005641' .WORD $$CMDN ; POINTER TO "CRAM" SYMBOL
025306 000004 .WORD LG.MNT ; LEGAL BITS
025310 025212' .WORD .SCPCR ; ROUTINE TO CALL
13172 025312 COMND$ DRAM,LG.MNT,.SCPDR
005646 104 122 101 .ASCIZ %DRAM%
005651 115 000
025312 005646' .WORD $$CMDN ; POINTER TO "DRAM" SYMBOL
025314 000004 .WORD LG.MNT ; LEGAL BITS
025316 025220' .WORD .SCPDR ; ROUTINE TO CALL
13173 025320 COMND$ ENABLE,LG.MNT,.SCPEN
005653 105 116 101 .ASCIZ %ENABLE%
005656 102 114 105
005661 000
025320 005653' .WORD $$CMDN ; POINTER TO "ENABLE" SYMBOL
025322 000004 .WORD LG.MNT ; LEGAL BITS
025324 025226' .WORD .SCPEN ; ROUTINE TO CALL
13174 025326 COMND$ FM,LG.MNT,.SCPFM
005662 106 115 000 .ASCIZ %FM%
025326 005662' .WORD $$CMDN ; POINTER TO "FM" SYMBOL
025330 000004 .WORD LG.MNT ; LEGAL BITS
025332 025234' .WORD .SCPFM ; ROUTINE TO CALL
13175 025334 COMND$ FS-STOP,LG.MNT,.SCPFS
005665 106 123 055 .ASCIZ %FS-STOP%
005670 123 124 117
005673 120 000
025334 005665' .WORD $$CMDN ; POINTER TO "FS-STOP" SYMBOL
025336 000004 .WORD LG.MNT ; LEGAL BITS
025340 025242' .WORD .SCPFS ; ROUTINE TO CALL
13176 025342 000000 .WORD 0 ; END OF TABLE MARKER
SCRLD -- SET / CLEAR RELOAD COM MACRO M1108 13-JAN-78 09:14 PAGE 396
.SCPTB -- THE SET / CLEAR "PARITY-STOP" TABLE 7603.10
13178 .TITLE SCRLD -- SET / CLEAR RELOAD COMMAND MODULE 7603.30
13179
13180 .IDENT "001010"
13181
13182 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
13183 ;
13184 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
13185 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
13186 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
13187 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
13188 ; FOR ITS ACCURACY.
13189 ;
13190 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
13191 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
13192 ;
13193 ;
13194 ; MODULE: SET / CLEAR RELOAD COMMAND
13195 ;
13196 ; VERSION: 01-01
13197 ;
13198 ; AUTHOR: R. BELANGER
13199 ;
13200 ; DATE: 7603.30
13201 ;
13202 ; THIS MODULE CONTAINS:
13203 ;
13204 ; 1) SET / CLEAR RELOAD COMMAND CODE
SCRLD -- SET / CLEAR RELOAD COM MACRO M1108 13-JAN-78 09:14 PAGE 397
.SCRLD -- THE "SET / CLEAR RELOAD" COMMAND 7602.19
13206 .SBTTL .SCRLD -- THE "SET / CLEAR RELOAD" COMMAND 7602.19
13207
13208 025344 .SCRLD:: ; SET/CLEAR "RELOAD"
13209 025344 CALL .CKEOC ; MUST HAVE E-O-C
025344 004737 002010' JSR PC,.CKEOC
13210 025350 013737 000104' 000000G MOV .NOTSW,.KLRLD ; SET/CLEAR THE SWITCH
13211 025356 CALLR .WHRLD ; PRINT THE STATE AND EXIT
025356 000137 033730' JMP .WHRLD
13212 ;
SCRPT -- SET / CLEAR REPEAT COM MACRO M1108 13-JAN-78 09:14 PAGE 398
.SCRLD -- THE "SET / CLEAR RELOAD" COMMAND 7602.19
13214 .TITLE SCRPT -- SET / CLEAR REPEAT COMMAND MODULE 7703.25
13215
13216 .IDENT "001020"
13217
13218 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
13219 ;
13220 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
13221 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
13222 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
13223 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
13224 ; FOR ITS ACCURACY.
13225 ;
13226 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
13227 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
13228 ;
13229 ;
13230 ; MODULE: SET / CLEAR REPEAT COMMAND
13231 ;
13232 ; VERSION: 01-02
13233 ;
13234 ; AUTHOR: R. BELANGER
13235 ;
13236 ; DATE: 7703.25
13237 ;
13238 ; THIS MODULE CONTAINS:
13239 ;
13240 ; 1) SET / CLEAR REPEAT COMMAND CODE
SCRPT -- SET / CLEAR REPEAT COM MACRO M1108 13-JAN-78 09:14 PAGE 399
.SCRPT -- THE "SET / CLEAR REPEAT" COMMAND 7703.25
13242 .SBTTL .SCRPT -- THE "SET / CLEAR REPEAT" COMMAND 7703.25
13243
13244 025362 .SCRPT::
13245 025362 013737 000066' 000120' MOV .IRADX,.RDXSV ; SAVE CURRENT INPUT RADIX
13246 025370 012737 000012 000066' MOV #^D10,.IRADX ; SET IT TO DECIMAL
13247 025376 005046 CLR -(SP) ; CLEAR A BUFFER ON THE STACK
13248 025400 005046 CLR -(SP) ; .
13249 025402 005046 CLR -(SP) ; ..
13250 025404 010600 MOV SP,R0 ; ...POINT TO THE BUFFER
13251 025406 005737 000104' TST .NOTSW ; ...IS THIS A CLEAR?
13252 025412 001002 BNE 10$ ; ...YES -- DO THE CLEAR
13253 025414 CALL .GTKLN ; ...NO -- READ THE NEW REPEAT COUNT
025414 004737 012334' JSR PC,.GTKLN
13254 025420 10$:
13255 025420 CALL .CKEOC ; ...MUST HAVE E-O-C
025420 004737 002010' JSR PC,.CKEOC
13256 025424 012701 000124' MOV #.RPTCT,R1 ; ...POINT TO THE CURRENT REPEAT COUNT
13257 025430 POP <(R1)+,(R1)+,(R1)>
025430 012621 MOV (SP)+,(R1)+
025432 012621 MOV (SP)+,(R1)+
025434 012611 MOV (SP)+,(R1)
13258 025436 013700 000132' MOV .RPTPT,R0 ; POINT TO THE STACKED REPEAT COUNT
13259 025442 CALL .TPCLR ; CLEAR IT OUT
025442 004737 027234' JSR PC,.TPCLR
13260 025446 013737 000120' 000066' MOV .RDXSV,.IRADX ; RESET INPUT RADIX
13261 025454 CALLR .WHRPT ; PRINT THE NEW REPEAT COUNT AND EXIT
025454 000137 033052' JMP .WHRPT
13262 ;
SCTRK -- SET / CLEAR TRACK COMM MACRO M1108 13-JAN-78 09:14 PAGE 400
.SCRPT -- THE "SET / CLEAR REPEAT" COMMAND 7703.25
13264 .TITLE SCTRK -- SET / CLEAR TRACK COMMAND MODULE 7603.30
13265
13266 .IDENT "001010"
13267
13268 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
13269 ;
13270 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
13271 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
13272 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
13273 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
13274 ; FOR ITS ACCURACY.
13275 ;
13276 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
13277 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
13278 ;
13279 ;
13280 ; MODULE: SET / CLEAR TRACK COMMAND
13281 ;
13282 ; VERSION: 01-01
13283 ;
13284 ; AUTHOR: R. BELANGER
13285 ;
13286 ; DATE: 7603.30
13287 ;
13288 ; THIS MODULE CONTAINS:
13289 ;
13290 ; 1) SET / CLEAR TRACK CODE
SCTRK -- SET / CLEAR TRACK COMM MACRO M1108 13-JAN-78 09:14 PAGE 401
.SCTRK -- THE "SET / CLEAR TRACK" COMMAND 7602.19
13292 .SBTTL .SCTRK -- THE "SET / CLEAR TRACK" COMMAND 7602.19
13293
13294 025460 .SCTRK:: ; SET/CLEAR "TRACK"
13295 025460 CALL .CKEOC ; MUST HAVE E-O-C
025460 004737 002010' JSR PC,.CKEOC
13296 025464 005001 CLR R1 ; CLEAR R1
13297 025466 005737 000104' TST .NOTSW ; IS THIS A CLEAR?
13298 025472 001001 BNE 10$ ; YES -- GO ON
13299 025474 005101 COM R1 ; NO -- INVERT THE SWITCH
13300 025476 10$:
13301 025476 010137 000142' MOV R1,.TRKWD ; SET/CLEAR THE SWITCH
13302 025502 CALLR .WHTRK ; PRINT STATE AND RETURN
025502 000137 033762' JMP .WHTRK
13303 ;
SETTB -- SET / CLEAR COMMAND TA MACRO M1108 13-JAN-78 09:14 PAGE 402
.SCTRK -- THE "SET / CLEAR TRACK" COMMAND 7602.19
13305 .TITLE SETTB -- SET / CLEAR COMMAND TABLE MODULE 7703.25
13306
13307 .IDENT "003000"
13308
13309 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
13310 ;
13311 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
13312 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
13313 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
13314 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
13315 ; FOR ITS ACCURACY.
13316 ;
13317 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
13318 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
13319 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
13320 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
13321 ;
13322 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
13323 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
13324 ;
13325 ;
13326 ; MODULE: SET / CLEAR COMMAND TABLE
13327 ;
13328 ; VERSION: 03-00
13329 ;
13330 ; AUTHOR: R. BELANGER
13331 ;
13332 ; DATE: 7703.25
13333 ;
13334 ; THIS MODULE CONTAINS:
13335 ;
13336 ; 1) THE SET / CLEAR COMMAND TABLE
13337 ;
13338 ; MODIFICATIONS:
13339 ;
13340 ; NO. DATE PROGRAMMER REASON
13341 ; --- ---- ---------- ------
13342 ; 001 28-FEB-77 R. BELANGER REMOVE KLINIK CONDITIONALS
13343 ; 002 04-MAR-77 R. BELANGER ADD SET DATE
SETTB -- SET / CLEAR COMMAND TA MACRO M1108 13-JAN-78 09:14 PAGE 403
.SETTB -- THE SET / CLEAR COMMAND TABLE 7703.25
13345 .SBTTL .SETTB -- THE SET / CLEAR COMMAND TABLE 7703.25
13346
13347 025506 .SETTB::
13348 025506 COMND$ CLOCK,<LG.MNT!LG.RPT>,.SCCLK
005675 103 114 117 .ASCIZ %CLOCK%
005700 103 113 000
025506 005675' .WORD $$CMDN ; POINTER TO "CLOCK" SYMBOL
025510 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
025512 022306' .WORD .SCCLK ; ROUTINE TO CALL
13349 025514 COMND$ CONSOLE,LG.OPR,.SCCON
005703 103 117 116 .ASCIZ %CONSOLE%
005706 123 117 114
005711 105 000
025514 005703' .WORD $$CMDN ; POINTER TO "CONSOLE" SYMBOL
025516 000001 .WORD LG.OPR ; LEGAL BITS
025520 022554' .WORD .SCCON ; ROUTINE TO CALL
13350 025522 COMND$ DATE,LG.PRG,.SCDAT
005713 104 101 124 .ASCIZ %DATE%
005716 105 000
025522 005713' .WORD $$CMDN ; POINTER TO "DATE" SYMBOL
025524 000002 .WORD LG.PRG ; LEGAL BITS
025526 023212' .WORD .SCDAT ; ROUTINE TO CALL
13351 025530 COMND$ FS-STOP,<LG.MNT!LG.RPT>,.SCFSS
005720 106 123 055 .ASCIZ %FS-STOP%
005723 123 124 117
005726 120 000
025530 005720' .WORD $$CMDN ; POINTER TO "FS-STOP" SYMBOL
025532 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
025534 022320' .WORD .SCFSS ; ROUTINE TO CALL
13352 025536 COMND$ INCREMENT,LG.OPR,.SCINC
005730 111 116 103 .ASCIZ %INCREMENT%
005733 122 105 115
005736 105 116 124
005741 000
025536 005730' .WORD $$CMDN ; POINTER TO "INCREMENT" SYMBOL
025540 000001 .WORD LG.OPR ; LEGAL BITS
025542 023562' .WORD .SCINC ; ROUTINE TO CALL
13353 025544 COMND$ KLINIK,LG.ALL,.SCKLN
005742 113 114 111 .ASCIZ %KLINIK%
005745 116 111 113
005750 000
025544 005742' .WORD $$CMDN ; POINTER TO "KLINIK" SYMBOL
025546 000007 .WORD LG.ALL ; LEGAL BITS
025550 023644' .WORD .SCKLN ; ROUTINE TO CALL
13354 025552 COMND$ MEMORY,LG.OPR,.SCMEM
005751 115 105 115 .ASCIZ %MEMORY%
005754 117 122 131
005757 000
025552 005751' .WORD $$CMDN ; POINTER TO "MEMORY" SYMBOL
025554 000001 .WORD LG.OPR ; LEGAL BITS
025556 025034' .WORD .SCMEM ; ROUTINE TO CALL
13355 025560 COMND$ NOT,<LG.OPR!LG.RPT>,.SCNOT
005760 116 117 124 .ASCIZ %NOT%
005763 000
025560 005760' .WORD $$CMDN ; POINTER TO "NOT" SYMBOL
025562 000401 .WORD LG.OPR!LG.RPT ; LEGAL BITS
025564 025130' .WORD .SCNOT ; ROUTINE TO CALL
SETTB -- SET / CLEAR COMMAND TA MACRO M1108 13-JAN-78 09:14 PAGE 403-1
.SETTB -- THE SET / CLEAR COMMAND TABLE 7703.25
13356 025566 COMND$ OFFSET,LG.PRG,.SCOFS
005764 117 106 106 .ASCIZ %OFFSET%
005767 123 105 124
005772 000
025566 005764' .WORD $$CMDN ; POINTER TO "OFFSET" SYMBOL
025570 000002 .WORD LG.PRG ; LEGAL BITS
025572 025144' .WORD .SCOFS ; ROUTINE TO CALL
13357 025574 COMND$ PARITY-STOP,<LG.MNT!LG.RPT>,.SCPST
005773 120 101 122 .ASCIZ %PARITY-STOP%
005776 111 124 131
006001 055 123 124
006004 117 120 000
025574 005773' .WORD $$CMDN ; POINTER TO "PARITY-STOP" SYMBOL
025576 000404 .WORD LG.MNT!LG.RPT ; LEGAL BITS
025600 022342' .WORD .SCPST ; ROUTINE TO CALL
13358 025602 COMND$ RELOAD,LG.PRG,.SCRLD
006007 122 105 114 .ASCIZ %RELOAD%
006012 117 101 104
006015 000
025602 006007' .WORD $$CMDN ; POINTER TO "RELOAD" SYMBOL
025604 000002 .WORD LG.PRG ; LEGAL BITS
025606 025344' .WORD .SCRLD ; ROUTINE TO CALL
13359 025610 COMND$ REPEAT,LG.OPR,.SCRPT
006016 122 105 120 .ASCIZ %REPEAT%
006021 105 101 124
006024 000
025610 006016' .WORD $$CMDN ; POINTER TO "REPEAT" SYMBOL
025612 000001 .WORD LG.OPR ; LEGAL BITS
025614 025362' .WORD .SCRPT ; ROUTINE TO CALL
13360 .IF NE FTTRAK
13361 025616 COMND$ TRACKS,LG.PRG,.SCTRK
006025 124 122 101 .ASCIZ %TRACKS%
006030 103 113 123
006033 000
025616 006025' .WORD $$CMDN ; POINTER TO "TRACKS" SYMBOL
025620 000002 .WORD LG.PRG ; LEGAL BITS
025622 025460' .WORD .SCTRK ; ROUTINE TO CALL
13362 .ENDC ; FTRRAK
13363 025624 000000 .WORD 0 ; END OF TABLE MARKER
SETCM -- SET / CLEAR COMMAND DI MACRO M1108 13-JAN-78 09:14 PAGE 404
.SETTB -- THE SET / CLEAR COMMAND TABLE 7703.25
13365 .TITLE SETCM -- SET / CLEAR COMMAND DISPATCH MODULE 7603.30
13366
13367 .IDENT "001010"
13368
13369 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
13370 ;
13371 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
13372 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
13373 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
13374 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
13375 ; FOR ITS ACCURACY.
13376 ;
13377 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
13378 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
13379 ;
13380 ;
13381 ; MODULE: SET / CLEAR COMMAND DISPATCH
13382 ;
13383 ; VERSION: 01-01
13384 ;
13385 ; AUTHOR: R. BELANGER
13386 ;
13387 ; DATE: 7603.30
13388 ;
13389 ; THIS MODULE CONTAINS:
13390 ;
13391 ; 1) SET / CLEAR COMMAND DISPATCH CODE
SETCM -- SET / CLEAR COMMAND DI MACRO M1108 13-JAN-78 09:14 PAGE 405
.SETCM -- THE "SET" AND "CLEAR" COMMAND DISPATCHES 7602.19
13393 .SBTTL .SETCM -- THE "SET" AND "CLEAR" COMMAND DISPATCHES 7602.19
13394
13395 ;+
13396 ; .CLRCM -- THE "CLEAR" COMMAND
13397 ; .SETCM -- THE "SET" COMMAND
13398 ;
13399 ; THESE ROUTINES ARE THE TOP LEVEL FOR THE SET AND CLEAR COMMANDS.
13400 ; ARGUMENTS ARE CHECKED AND A DISPATCH IS MADE FOR THE OBJECT
13401 ; SPECIFIED IN THE COMMAND LINE
13402 ;
13403 ; INPUT ARGUMENTS:
13404 ;
13405 ; NONE.
13406 ;
13407 ; OUTPUT ARGUMENTS:
13408 ;
13409 ; NONE.
13410 ;
13411 ; ERROR CODES RETURNED:
13412 ;
13413 ; ILC -- ILLEGAL COMMAND.
13414 ;-
13415
13416 .ENABL LSB
13417
13418 025626 .CLRCM::
13419 025626 CALL .CKOBJ ; SEE IF OBJECT FOLLOWS
025626 004737 002074' JSR PC,.CKOBJ
13420 025632 005737 000104' TST .NOTSW ; LOOK AT THE "NOT" SWITCH
13421 025636 001007 BNE 10$ ; ALREADY SAYS CLEAR -- GO ON
13422 025640 005137 000104' COM .NOTSW ; INVERT THE "NOT" SWITCH
13423 025644 000404 BR 10$ ; AND TREAT AS A "SET" COMMAND
13424 ;
13425 025646 .SETCM::
13426 025646 CALL .CKOBJ ; LOOK FOR AN OBJECT
025646 004737 002074' JSR PC,.CKOBJ
13427 025652 005037 000104' CLR .NOTSW ; CLEAR THE "NOT" SWITCH
13428 025656 .SETC0:: ; "SET NOT" ENTRY POINT
13429 025656 10$:
13430 025656 012700 025506' MOV #.SETTB,R0 ; TABLE POINTER TO R0
13431 025662 CALL .TSCAN ; SCAN IT
025662 004737 030176' JSR PC,.TSCAN
13432 025666 011001 MOV (R0),R1 ; LEGAL BITS TO R1
13433 025670 005101 COM R1 ; INVERT THEM
13434 025672 040137 000076' BIC R1,.LGLWD ; SET UP NEW LEGAL WORD
13435 025676 CALLR @2(R0) ; DO WHAT IT SAYS TO
025676 000170 000002 JMP @2(R0)
13436 ;
13437
13438 .DSABL LSB
SHIFT -- 16 BIT BY 16 BIT SHIFT MACRO M1108 13-JAN-78 09:14 PAGE 406
.SETCM -- THE "SET" AND "CLEAR" COMMAND DISPATCHES 7602.19
13440 .TITLE SHIFT -- 16 BIT BY 16 BIT SHIFT OPERATIONS MODULE 7603.30
13441
13442 .IDENT "001010"
13443
13444 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
13445 ;
13446 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
13447 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
13448 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
13449 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
13450 ; FOR ITS ACCURACY.
13451 ;
13452 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
13453 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
13454 ;
13455 ;
13456 ; MODULE: 16 BIT BY 16 BIT SHIFT OPERATIONS
13457 ;
13458 ; VERSION: 01-01
13459 ;
13460 ; AUTHOR: R. BELANGER
13461 ;
13462 ; DATE: 7603.30
13463 ;
13464 ; THIS MODULE CONTAINS:
13465 ;
13466 ; 1) 16 BIT BY 16 BIT SHIFT CODE
SHIFT -- 16 BIT BY 16 BIT SHIFT MACRO M1108 13-JAN-78 09:14 PAGE 407
.SHIFT -- 16 BIT BY 16 BIT SHIFT OPERATIONS 7603.30
13468 .SBTTL .SHIFT -- 16 BIT BY 16 BIT SHIFT OPERATIONS 7603.30
13469
13470 ;+
13471 ; .SHIFT -- 16 BIT BY 16 BIT SHIFT OPERATIONS
13472 ;
13473 ; THIS SUBROUTINE SHIFTS THE NUMBER IN R0 AS SPECIFIED BY THE SHIFT
13474 ; COUNT IN R1.
13475 ;
13476 ; INPUT ARGUMENTS:
13477 ;
13478 ; R0 HOLDS THE NUMBER TO BE SHIFTED
13479 ; R1 HOLDS A 16 BIT SHIFT COUNT
13480 ;
13481 ; OUTPUT ARGUMENTS:
13482 ;
13483 ; R0 HOLDS THE SHIFTED NUMBER
13484 ; R1 HOLDS THE SHIFT COUNT
13485 ;
13486 ; ERROR CODES RETURNED:
13487 ;
13488 ; NONE
13489 ;-
13490
13491 025702 .SHIFT::
13492 025702 PUSH R1 ; SAVE R1 ON THE STACK
025702 010146 MOV R1,-(SP)
13493 025704 001407 BEQ 30$ ; .EXIT IF .EQ. 0
13494 025706 002403 BLT 20$ ; .SHIFT RIGHT IF NEGATIVE
13495 025710 10$:
13496 025710 006300 ASL R0 ; .SHIFT IT LEFT
13497 025712 077102 SOB R1,10$ ; .TILL COUNT IS EXHAUSTED
13498 025714 000403 BR 30$ ; .EXIT
13499 ;
13500 025716 20$:
13501 025716 006200 ASR R0 ; .SHIFT IT RIGHT
13502 025720 005201 INC R1 ; .COUNT THE SHIFT
13503 025722 001375 BNE 20$ ; .TILL COUNT EXHAUSTED
13504 025724 30$:
13505 025724 POP R1 ; .RESTORE R1 FROM THE STACK
025724 012601 MOV (SP)+,R1
13506 025726 000241 CLC ; CLEAR CC-C
13507 025730 RETURN ; RETURN
025730 000207 RTS PC
SHUTC -- SHUTDOWN COMMAND MODUL MACRO M1108 13-JAN-78 09:14 PAGE 408
.SHIFT -- 16 BIT BY 16 BIT SHIFT OPERATIONS 7603.30
13509 .TITLE SHUTC -- SHUTDOWN COMMAND MODULE 7707.12
13510
13511 .IDENT "002010"
13512
13513 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
13514 ;
13515 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
13516 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
13517 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
13518 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
13519 ; FOR ITS ACCURACY.
13520 ;
13521 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
13522 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
13523 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
13524 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
13525 ;
13526 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
13527 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
13528 ;
13529 ;
13530 ; MODULE: SHUTDOWN COMMAND
13531 ;
13532 ; VERSION: 03-06
13533 ;
13534 ; AUTHOR: R. BELANGER
13535 ;
13536 ; DATE: 7707.12
13537 ;
13538 ; THIS MODULE CONTAINS:
13539 ;
13540 ; 1) SHUTDOWN COMMAND CODE
13541 ;
13542 ; MODIFIED BY A. PECKHAM 7612.10 TO CHANGE REFERENCE TO .SECFL TO
13543 ; SET THE .NOHLT SYSTEM FLAG
SHUTC -- SHUTDOWN COMMAND MODUL MACRO M1108 13-JAN-78 09:14 PAGE 409
.SHUTC -- THE "SHUTDOWN" COMMAND 7707.12
13545 .SBTTL .SHUTC -- THE "SHUTDOWN" COMMAND 7707.12
13546
13547 ;+
13548 ; .SHUTC -- THE SHUTDOWN COMMAND
13549 ;
13550 ; THIS ROUTINE WILL DEPOSIT A -1 INTO KL LOCATION 30 (EXEC VIRTUAL)
13551 ; TO SHUTDOWN TIMESHARING.
13552 ;
13553 ; INPUT ARGUMENTS:
13554 ;
13555 ; NONE.
13556 ;
13557 ; OUTPUT ARGUMENTS:
13558 ;
13559 ; NONE.
13560 ;
13561 ; ERROR CODES RETURNED:
13562 ;
13563 ; NONE
13564 ;-
13565
13566 025732 .SHUTC::
13567 025732 CALL .CKEOC ; CHECK E-O-C
025732 004737 002010' JSR PC,.CKEOC
13568 025736 112737 000001 000000G MOVB #1,.NOHLT ; TELL RSX20F NOT TO PANIC OVER HALTED KL
13569 025744 005046 CLR -(SP) ; CLEAR ADDRESS BUFFER
13570 025746 PUSH #30 ; .SET THE ADDRESS UP
025746 012746 000030 MOV #30,-(SP)
13571 025752 010600 MOV SP,R0 ; ..GET ADDRESS POINTER
13572 025754 PUSH #17 ; ..SET UP DEPOSIT WORD
025754 012746 000017 MOV #17,-(SP)
13573 025760 PUSH #-^D1 ; ...
025760 012746 177777 MOV #-^D1,-(SP)
13574 025764 PUSH #-^D1 ; ....
025764 012746 177777 MOV #-^D1,-(SP)
13575 025770 010601 MOV SP,R1 ; .....SAVE THE POINTER
13576 025772 PUSH R1 ; .....SET UP THE DATA BLOCK
025772 010146 MOV R1,-(SP)
13577 025774 PUSH R0 ; ......
025774 010046 MOV R0,-(SP)
13578 025776 010601 MOV SP,R1 ; .......POINT TO THE BLOCK
13579 026000 012700 000040 MOV #ED.EXV,R0 ; .......EXEC VIRTUAL REFERENCE
13580 026004 CALL .DPKLM ; .......DO THE DEPOSIT
026004 004737 005532' JSR PC,.DPKLM
13581 026010 062706 000016 ADD #^D14,SP ; .......CLEAR THE STACK
13582 026014 CALL ..DTP2 ; +++006 START SECONDARY PROTOCOL
026014 004737 000000G JSR PC,..DTP2
13583 026020 CALLR .EXITP ; EXIT THE PARSER
026020 000137 007754' JMP .EXITP
13584 ;
13585 .TITLE SPETB -- SPECIAL ERROR CODE TABLE MODULE 7702.16
13586
13587 .IDENT "003000"
13588
13589 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
13590 ;
13591 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
SPETB -- SPECIAL ERROR CODE TAB MACRO M1108 13-JAN-78 09:14 PAGE 409-1
.SHUTC -- THE "SHUTDOWN" COMMAND 7707.12
13592 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
13593 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
13594 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
13595 ; FOR ITS ACCURACY.
13596 ;
13597 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
13598 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
13599 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
13600 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
13601 ;
13602 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
13603 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
13604 ;
13605 ;
13606 ; MODULE: SPECIAL ERROR CODE TABLE
13607 ;
13608 ; VERSION: 03-00
13609 ;
13610 ; AUTHOR: R. BELANGER
13611 ;
13612 ; DATE: 7702.16
13613 ;
13614 ; THIS MODULE CONTAINS:
13615 ;
13616 ; 1) THE SPECIAL ERROR CODE TABLE
13617 ;
13618 ; MODIFICATIONS:
13619 ;
13620 ; NO. DATE PROGRAMMER REASON
13621 ; --- ---- ---------- ------
13622 ; 001 28-FEB-77 R. BELANGER REMOVE KLINIK CONDITIONALS
SPETB -- SPECIAL ERROR CODE TAB MACRO M1108 13-JAN-78 09:14 PAGE 410
.SPETB -- SPECIAL ERROR CODE TABLE 7702.16
13624 .SBTTL .SPETB -- SPECIAL ERROR CODE TABLE 7702.16
13625
13626 026024 .SPETB::
13627 026024 SPERR$ AMB,<AMBIGUOUS KEYWORD ">
006034 101 115 102 .ASCIZ %AMB - AMBIGUOUS KEYWORD "%
006037 040 055 040
006042 101 115 102
006045 111 107 125
006050 117 125 123
006053 040 113 105
006056 131 127 117
006061 122 104 040
006064 042 000
026024 004112 .RAD50 /AMB/ ; "AMB" IN .RAD50
026026 016566' .WORD .SEAMB ; DISPATCH TO HANDLER
026030 006034' .WORD AMBMSG ; POINTER TO MESSAGE
13628 ;
13629 026032 SPERR$ CES,<CLOCK ERROR STOP - >
006066 103 105 123 .ASCIZ %CES - CLOCK ERROR STOP - %
006071 040 055 040
006074 103 114 117
006077 103 113 040
006102 105 122 122
006105 117 122 040
006110 123 124 117
006113 120 040 055
006116 040 000
026032 011633 .RAD50 /CES/ ; "CES" IN .RAD50
026034 017026' .WORD .SECES ; DISPATCH TO HANDLER
026036 006066' .WORD CESMSG ; POINTER TO MESSAGE
13630 ;
13631 026040 SPERR$ FRF,<FUNCTION READ >
006120 106 122 106 .ASCIZ %FRF - FUNCTION READ %
006123 040 055 040
006126 106 125 116
006131 103 124 111
006134 117 116 040
006137 122 105 101
006142 104 040 000
026040 024126 .RAD50 /FRF/ ; "FRF" IN .RAD50
026042 016654' .WORD .SEFRF ; DISPATCH TO HANDLER
026044 006120' .WORD FRFMSG ; POINTER TO MESSAGE
13632 026046 SPERR$ FWF,<FUNCTION WRITE >
006145 106 127 106 .ASCIZ %FWF - FUNCTION WRITE %
006150 040 055 040
006153 106 125 116
006156 103 124 111
006161 117 116 040
006164 127 122 111
006167 124 105 040
006172 000
026046 024436 .RAD50 /FWF/ ; "FWF" IN .RAD50
026050 016662' .WORD .SEFWF ; DISPATCH TO HANDLER
026052 006145' .WORD FWFMSG ; POINTER TO MESSAGE
13633 026054 SPERR$ FXF,<FUNCTION EXECUTE >
006173 106 130 106 .ASCIZ %FXF - FUNCTION EXECUTE %
006176 040 055 040
SPETB -- SPECIAL ERROR CODE TAB MACRO M1108 13-JAN-78 09:14 PAGE 410-1
.SPETB -- SPECIAL ERROR CODE TABLE 7702.16
006201 106 125 116
006204 103 124 111
006207 117 116 040
006212 105 130 105
006215 103 125 124
006220 105 040 000
026054 024506 .RAD50 /FXF/ ; "FXF" IN .RAD50
026056 016670' .WORD .SEFXF ; DISPATCH TO HANDLER
026060 006173' .WORD FXFMSG ; POINTER TO MESSAGE
13634 ;
13635 026062 SPERR$ ILC,<ILLEGAL CHARACTER ">
006223 111 114 103 .ASCIZ %ILC - ILLEGAL CHARACTER "%
006226 040 055 040
006231 111 114 114
006234 105 107 101
006237 114 040 103
006242 110 101 122
006245 101 103 124
006250 105 122 040
006253 042 000
026062 035043 .RAD50 /ILC/ ; "ILC" IN .RAD50
026064 016612' .WORD .SEILC ; DISPATCH TO HANDLER
026066 006223' .WORD ILCMSG ; POINTER TO MESSAGE
13636 026070 SPERR$ ILS,<ILLEGAL SEPARATOR CHARACTER ">
006255 111 114 123 .ASCIZ %ILS - ILLEGAL SEPARATOR CHARACTER "%
006260 040 055 040
006263 111 114 114
006266 105 107 101
006271 114 040 123
006274 105 120 101
006277 122 101 124
006302 117 122 040
006305 103 110 101
006310 122 101 103
006313 124 105 122
006316 040 042 000
026070 035063 .RAD50 /ILS/ ; "ILS" IN .RAD50
026072 016612' .WORD .SEILS ; DISPATCH TO HANDLER
026074 006255' .WORD ILSMSG ; POINTER TO MESSAGE
13637 026076 SPERR$ IPC,<ILLEGAL PASSWORD CHARACTER ">
006321 111 120 103 .ASCIZ %IPC - ILLEGAL PASSWORD CHARACTER "%
006324 040 055 040
006327 111 114 114
006332 105 107 101
006335 114 040 120
006340 101 123 123
006343 127 117 122
006346 104 040 103
006351 110 101 122
006354 101 103 124
006357 105 122 040
006362 042 000
026076 035303 .RAD50 /IPC/ ; "IPC" IN .RAD50
026100 016612' .WORD .SEIPC ; DISPATCH TO HANDLER
026102 006321' .WORD IPCMSG ; POINTER TO MESSAGE
13638 ;
13639 026104 SPERR$ NSK,<NO SUCH KEYWORD ">
SPETB -- SPECIAL ERROR CODE TAB MACRO M1108 13-JAN-78 09:14 PAGE 410-2
.SPETB -- SPECIAL ERROR CODE TABLE 7702.16
006364 116 123 113 .ASCIZ %NSK - NO SUCH KEYWORD "%
006367 040 055 040
006372 116 117 040
006375 123 125 103
006400 110 040 113
006403 105 131 127
006406 117 122 104
006411 040 042 000
026104 055203 .RAD50 /NSK/ ; "NSK" IN .RAD50
026106 016566' .WORD .SENSK ; DISPATCH TO HANDLER
026110 006364' .WORD NSKMSG ; POINTER TO MESSAGE
13640 ;
13641 026112 000000 .WORD 0 ; END OF TABLE MARKER
SSCAN -- SYMBOL SCANNER MODULE MACRO M1108 13-JAN-78 09:14 PAGE 411
.SPETB -- SPECIAL ERROR CODE TABLE 7702.16
13643 .TITLE SSCAN -- SYMBOL SCANNER MODULE 7603.30
13644
13645 .IDENT "001010"
13646
13647 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
13648 ;
13649 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
13650 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
13651 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
13652 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
13653 ; FOR ITS ACCURACY.
13654 ;
13655 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
13656 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
13657 ;
13658 ;
13659 ; MODULE: SYMBOL SCANNER
13660 ;
13661 ; VERSION: 01-01
13662 ;
13663 ; AUTHOR: R. BELANGER
13664 ;
13665 ; DATE: 7603.30
13666 ;
13667 ; THIS MODULE CONTAINS:
13668 ;
13669 ; 1) SYMBOL SCAN CODE
SSCAN -- SYMBOL SCANNER MODULE MACRO M1108 13-JAN-78 09:14 PAGE 412
.SSCAN -- ROUTINE TO SCAN A SYMBOL 7601.14
13671 .SBTTL .SSCAN -- ROUTINE TO SCAN A SYMBOL 7601.14
13672
13673 ;+
13674 ; .SSCAN -- ROUTINE TO SCAN A SYMBOL IN THE INPUT STREAM FOR A MATCH
13675 ; WITH AN ".ASCIZ" SYMBOL IN A TABLE.
13676 ;
13677 ; THIS ROUTINE WILL FIND A MATCH OR NON-MATCH ON A SYMBOL POINTED TO
13678 ; BY R5 WITH THE ".ASCIZ" SYMBOLS IN THE TABLE POINTED TO BY R0.
13679 ;
13680 ; INPUT ARGUMENTS:
13681 ;
13682 ; R0 POINTS TO AN ".ASCIZ" SYMBOL IN A TABLE DESCRIBED IN
13683 ; ".TSCAN" (Q.V.).
13684 ; R5 POINTS TO THE INPUT STREAM, OR THE OTHER SYMBOL TO BE
13685 ; MATCHED.
13686 ;
13687 ; OUTPUT ARGUMENTS:
13688 ;
13689 ; ON FAILURE, (NO MATCH):
13690 ; R5 POINTS TO THE BEGINNING OF THE SYMBOL IN THE INPUT STREAM
13691 ; R4 CONTAINS THE LAST CHARACTER PROCESSED IN THE INPUT STREAM
13692 ; CC-C IS SET.
13693 ;
13694 ; ON SUCCESS, (MATCH):
13695 ; R5 POINTS TO THE DELIMITER AFTER THE SYMBOL
13696 ; R4 CONTAINS THAT DELIMITER CHARACTER
13697 ; CC-C IS CLEAR
13698 ; IF CC-Z IS SET, THE MATCH WAS EXACT.
13699 ;
13700 ; ERROR CODES RETURNED:
13701 ;
13702 ; ILS -- ILLEGAL SEPARATOR CHARCATER.
13703 ;-
SSCAN -- SYMBOL SCANNER MODULE MACRO M1108 13-JAN-78 09:14 PAGE 413
.SSCAN -- ROUTINE TO SCAN A SYMBOL 7601.14
13705 026114 .SSCAN::
13706 026114 121510 CMPB (R5),(R0) ; TEST CHARACTERS FOR MATCH
13707 026116 001006 BNE 20$ ; NO MATCH -- CHECK DELIMITER
13708 026120 105720 TSTB (R0)+ ; ADVANCE THE POINTERS
13709 026122 001402 BEQ 10$ ; MATCH ON ".ASCIZ" SYMBOLS?
13710 026124 105725 TSTB (R5)+ ; NO -- ADVANCE OTHER POINTER
13711 026126 000772 BR .SSCAN ; AND TRY NEXT TWO CHARACTERS
13712 ;
13713 026130 10$:
13714 026130 105740 TSTB -(R0) ; BACK THE POINTER UP
13715 026132 000405 BR 30$ ; AND EXIT
13716 ;
13717 026134 20$:
13718 026134 111504 MOVB (R5),R4 ; GET LAST CHARACTER FROM INPUT
13719 026136 132764 000034 001360' BITB #CH.END,.CHTAB(R4)
13720 026144 001402 BEQ 40$ ; NOT LEGAL DELIMITER -- GIVE NO MATCH
13721 026146 30$:
13722 026146 105710 TSTB (R0) ; LOOK AT THE LAST CHARACTER IN OUR SYMBOL
13723 026150 000401 BR 50$ ; AND EXIT
13724 ;
13725 026152 40$:
13726 026152 000261 SEC ; SET CC-C TO SAY "NO MATCH"
13727 026154 50$:
13728 026154 RETURN ; TO CALLER
026154 000207 RTS PC
START -- COMMAND PARSER TOP LEV MACRO M1108 13-JAN-78 09:14 PAGE 414
.SSCAN -- ROUTINE TO SCAN A SYMBOL 7601.14
13730 .TITLE START -- COMMAND PARSER TOP LEVEL MODULE 7603.30
13731
13732 .IDENT "001010"
13733
13734 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
13735 ;
13736 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
13737 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
13738 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
13739 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
13740 ; FOR ITS ACCURACY.
13741 ;
13742 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
13743 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
13744 ;
13745 ;
13746 ; MODULE: COMMND PARSER TOP LEVEL
13747 ;
13748 ; VERSION: 01-01
13749 ;
13750 ; AUTHOR: R. BELANGER
13751 ;
13752 ; DATE: 7603.30
13753 ;
13754 ; THIS MODULE CONTAINS:
13755 ;
13756 ; 1) PROMPTING CODE
13757 ; 2) CALL TO COMMAND DECODER
START -- COMMAND PARSER TOP LEV MACRO M1108 13-JAN-78 09:14 PAGE 415
.START -- COMMAND PARSER MAIN LOOP 7602.02
13759 .SBTTL .START -- COMMAND PARSER MAIN LOOP 7602.02
13760
13761 ;+
13762 ; .START -- COMMAND PARSER MAIN LOOP.
13763 ;
13764 ; THIS IS THE MAIN LOOP AND TOPMOST LEVEL OF THE RSX20F CONSOLE
13765 ; COMMAND PARSER. CONTROL IS PASSED HERE ON STARTUP AND ON ERROR
13766 ; RESTARTS FROM ".PTTRP". THE PROMPT STRING IS OUTPUT TO THE CONSOLE
13767 ; OUTPUT DEVICE AND THE NEXT COMMAND STRING IS SOLICITED FROM
13768 ; THE OPERATOR.
13769 ;
13770 ; INPUT ARGUMENTS:
13771 ;
13772 ; NONE.
13773 ;
13774 ; OUTPUT ARGUMENTS:
13775 ;
13776 ; R0 POINTS TO THE REPEAT COUNT
13777 ; R5 POINTS TO THE INPUT STREAM
13778 ;
13779 ; ERROR CODES RETURNED:
13780 ;
13781 ; IF THE CONSOLE DEVICE CANNOT BE ATTACHED OR DETACHED, THE
13782 ; PARSER EXITS.
13783 ;-
START -- COMMAND PARSER TOP LEV MACRO M1108 13-JAN-78 09:14 PAGE 416
.START -- COMMAND PARSER MAIN LOOP 7602.02
13785 026156 .START::
13786 026156 013706 000136' MOV .SVESP,SP ; INIT THE STACK POINTER
13787 026162 10$:
13788 026162 005037 000140' CLR .SVKLF ; RESET ".SVKLF"
13789 026166 012737 000021' 000002' MOV #PARNAM,.CCMDN ; SET UP PARSER NAME
13790 026174 CALL .TYINI ; INIT OUTPUT POINTERS
026174 004737 031610' JSR PC,.TYINI
13791 026200 012701 000000G MOV #.KLFLG,R1 ; POINT TO ".KLFLG"
13792 026204 012700 000030' MOV #PROMPT,R0 ; POINT TO THE PROMPT STRING
13793 026210 CALL .TYMSG ; PRINT IT
026210 004737 031434' JSR PC,.TYMSG
13794 026214 012700 000076 MOV #'>,R0 ; ASSUME THE KL IS RUNNING
13795 026220 032711 100000 BIT #KF.CLK,(R1) ; IS THE CLOCK ON?
13796 026224 001406 BEQ 20$ ; NO -- PRINT "#"
13797 026226 032711 040000 BIT #KF.RUN,(R1) ; YES -- IS THE RUN FLOP ON?
13798 026232 001005 BNE 30$ ; YES -- PRINT ">"
13799 026234 012700 000045 MOV #'%,R0 ; NO -- PRINT "%"
13800 026240 000402 BR 30$ ; GO DO IT
13801 ;
13802 026242 20$:
13803 026242 012700 000043 MOV #'#,R0 ; KL CLOCK IS OFF
13804 026246 30$:
13805 026246 CALL .TFCHR ; FORCE PRINT THE PROMPT CHARACTER
026246 004737 031456' JSR PC,.TFCHR
13806 026252 012705 000670' MOV #.COMND,R5 ; SET UP COMMAND BUFFER POINTER
13807 026256 CALL .GTCMD ; GO READ A COMMAND LINE
026256 004737 011256' JSR PC,.GTCMD
13808 026262 005037 000076' CLR .LGLWD ; FLUSH OLD LEGAL BITS
13809 026266 012700 000124' MOV #.RPTCT,R0 ; GET THE REPEAT COUNT POINTER
13810 026272 CALL .DOCMD ; NOW GO EXECUTE A COMMAND
026272 004737 003334' JSR PC,.DOCMD
13811 026276 000731 BR 10$ ; AND START OVER AGAIN
13812 ;
STCLK -- KL CLOCK START FUNCTIO MACRO M1108 13-JAN-78 09:14 PAGE 417
.START -- COMMAND PARSER MAIN LOOP 7602.02
13814 .TITLE STCLK -- KL CLOCK START FUNCTION MODULE 7607.15
13815
13816 .IDENT "002010"
13817
13818 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
13819 ;
13820 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
13821 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
13822 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
13823 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
13824 ; FOR ITS ACCURACY.
13825 ;
13826 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
13827 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
13828 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
13829 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
13830 ;
13831 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
13832 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
13833 ;
13834 ;
13835 ; MODULE: KL CLOCK START FUNCTION
13836 ;
13837 ; VERSION: 02-01
13838 ;
13839 ; AUTHOR: R. BELANGER
13840 ;
13841 ; DATE: 7607.15
13842 ;
13843 ; THIS MODULE CONTAINS:
13844 ;
13845 ; 1) KL CLOCK START CODE
13846 ;
13847 ; MODIFIED BY A. PECKHAM 7612.11 TO MAINTAIN THE ".NOERR" FLAG
STCLK -- KL CLOCK START FUNCTIO MACRO M1108 13-JAN-78 09:14 PAGE 418
.STCLK -- START KL CLOCK SUBROUTINE 7607.15
13849 .SBTTL .STCLK -- START KL CLOCK SUBROUTINE 7607.15
13850
13851 ;+
13852 ; .STCLK -- SUBROUTINE TO START THE KL CLOCK.
13853 ;
13854 ; THIS SUBROUTINE WILL START THE KL CLOCK.
13855 ;
13856 ; INPUT ARGUMENTS:
13857 ;
13858 ; NONE.
13859 ;
13860 ; OUTPUT ARGUMENTS:
13861 ;
13862 ; NONE.
13863 ;
13864 ; ERROR CODES RETURNED:
13865 ;
13866 ; CES -- CLOCK ERROR STOP.
13867 ; FXF -- FUNCTION EXECUTE FAILED.
13868 ;-
13869
13870 026300 .STCLK::
13871 026300 000241 CLC ; CLEAR CC-C
13872 026302 CALL .CESCK ; CHECK FOR CLOCK ERROR STOP
026302 004737 001630' JSR PC,.CESCK
13873 026306 .STCLF:: ; HERE TO START THE CLOCK ANYWAY
13874 026306 PUSH R0 ; SAVE R0
026306 010046 MOV R0,-(SP)
13875 026310 012700 000002 MOV #FX.CST,R0 ; .SET UP TO START THE KL CLOCK
13876 026314 CALL .FXCT ; .DO IT
026314 004737 011074' JSR PC,.FXCT
13877 026320 105037 000000G CLRB .NOERR ; LET RSX20F CATCH CLOCK ERRORS
13878 026324 POP R0 ; .RESTORE R0
026324 012600 MOV (SP)+,R0
13879 026326 RETURN ; RETURN TO CALLER
026326 000207 RTS PC
STPKL -- KL STOP MODULE 7602.25 MACRO M1108 13-JAN-78 09:14 PAGE 419
.STCLK -- START KL CLOCK SUBROUTINE 7607.15
13881 .TITLE STPKL -- KL STOP MODULE 7602.25
13882
13883 .IDENT "002010"
13884
13885 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
13886 ;
13887 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
13888 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
13889 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
13890 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
13891 ; FOR ITS ACCURACY.
13892 ;
13893 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
13894 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
13895 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
13896 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
13897 ;
13898 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
13899 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
13900 ;
13901 ;
13902 ; MODULE: KL STOP
13903 ;
13904 ; VERSION: 02-01
13905 ;
13906 ; AUTHOR: R. BELANGER
13907 ;
13908 ; DATE: 7602.25
13909 ;
13910 ; THIS MODULE CONTAINS:
13911 ;
13912 ; 1) KL STOP CODE
13913 ;
13914 ; MODIFIED BY A. PECKHAM 7612.10 TO DELETE REFERENCES TO .SECFL
STPKL -- KL STOP MODULE 7602.25 MACRO M1108 13-JAN-78 09:14 PAGE 420
.STPKL -- SUBROUTINE TO STOP THE KL 7602.25
13916 .SBTTL .STPKL -- SUBROUTINE TO STOP THE KL 7602.25
13917
13918 ;+
13919 ; .STPKL -- SUBROUTINE TO STOP THE KL.
13920 ;
13921 ; THIS SUBROUTINE WILL STOP THE KL HALT LOOP IF IT BELIEVES THAT
13922 ; THE KL RUN FLOP IS SET ("KF.RUN" IN ".KLFLG").
13923 ;
13924 ; INPUT ARGUMENTS:
13925 ;
13926 ; THE STATE OF THE KL IS IN ".KLFLG"
13927 ;
13928 ; OUTPUT ARGUMENTS:
13929 ;
13930 ; THE CURRENT STATE OF THE KL IS IN ".KLFLG"
13931 ; THE PREVIOUS STATE OF THE KL IS IN ".SVKLF"
13932 ;
13933 ; ERROR CODES RETURNED:
13934 ;
13935 ; NONE.
13936 ;-
13937
13938 026330 .STPKL::
13939 026330 032737 040000 000000G BIT #KF.RUN,.KLFLG ; IS THE KL RUNNING?
13940 026336 001405 BEQ 10$ ; NO -- JUST EXIT
13941 026340 013737 000000G 000140' MOV .KLFLG,.SVKLF ; YES -- SAVE CURRENT KL STATE
13942 026346 CALL .KLSTP ; STOP THE KL
026346 004737 015220' JSR PC,.KLSTP
13943 026352 10$:
13944 026352 RETURN ; TO CALLER
026352 000207 RTS PC
STPXC -- KL CLOCK STOP FUNCTION MACRO M1108 13-JAN-78 09:14 PAGE 421
.STPKL -- SUBROUTINE TO STOP THE KL 7602.25
13946 .TITLE STPXC -- KL CLOCK STOP FUNCTION MODULE 7601.09
13947
13948 .IDENT "002010"
13949
13950 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
13951 ;
13952 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
13953 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
13954 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
13955 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
13956 ; FOR ITS ACCURACY.
13957 ;
13958 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
13959 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
13960 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
13961 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
13962 ;
13963 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
13964 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
13965 ;
13966 ;
13967 ; MODULE: KL CLOCK STOP FUNCTION
13968 ;
13969 ; VERSION: 02-01
13970 ;
13971 ; AUTHOR: R. BELANGER
13972 ;
13973 ; DATE: 7601.09
13974 ;
13975 ; THIS MODULE CONTAINS:
13976 ;
13977 ; 1) KL CLOCK STOP CODE
13978 ;
13979 ; MODIFIED BY A. PECKHAM 7612.11 TO MAINTAIN ".NOERR"
13980
13981 .MCALL WTSE$S
STPXC -- KL CLOCK STOP FUNCTION MACRO M1108 13-JAN-78 09:14 PAGE 422
.STPXC -- STOP KL CLOCK SUBROUTINE 7601.09
13983 .SBTTL .STPXC -- STOP KL CLOCK SUBROUTINE 7601.09
13984
13985 ;+
13986 ; .STPXC -- SUBROUTINE TO STOP THE KL CLOCK.
13987 ;
13988 ; THIS SUBROUTINE STOPS THE KL CLOCK.
13989 ;
13990 ; INPUT ARGUMENTS:
13991 ;
13992 ; NONE.
13993 ;
13994 ; OUTPUT ARGUMENTS:
13995 ;
13996 ; NONE
13997 ;
13998 ; ERROR CODES RETURNED:
13999 ;
14000 ; FXF -- FUNCTION EXECUTE FAILED
14001 ;-
14002
14003 026354 .STPXC::
14004 026354 000241 CLC ; CLEAR CC-C
14005 026356 WTSE$S #E.FHTO ; WAIT FOR KL I/O TO SETTLE FROM ".CLRFF"
026356 012746 000001 MOV #E.FHTO,-(SP)
026362 012746 MOV (PC)+,-(SP)
026364 051 002 .BYTE 41.,2
026366 104375 EMT 375
14006 026370 PUSH R0 ; SAVE R0
026370 010046 MOV R0,-(SP)
14007 026372 112737 000001 000000G MOVB #1,.NOERR ; TELL RSX20F NOT TO PANIC ABOUT CLOCK STOP
14008 026400 005000 CLR R0 ; .SET UP TO STOP THE KL CLOCK
14009 ; .FUNCTION CODE IS ZERO
14010 026402 CALL .FXCT ; .DO IT
026402 004737 011074' JSR PC,.FXCT
14011 026406 POP R0 ; .RESTORE R0
026406 012600 MOV (SP)+,R0
14012 026410 RETURN ; AND GO AWAY
026410 000207 RTS PC
STRTB -- START COMMAND TABLE MO MACRO M1108 13-JAN-78 09:14 PAGE 423
.STPXC -- STOP KL CLOCK SUBROUTINE 7601.09
14014 .TITLE STRTB -- START COMMAND TABLE MODULE 7603.30
14015
14016 .IDENT "001010"
14017
14018 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
14019 ;
14020 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
14021 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
14022 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
14023 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
14024 ; FOR ITS ACCURACY.
14025 ;
14026 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
14027 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
14028 ;
14029 ;
14030 ; MODULE: START COMMAND TABLE
14031 ;
14032 ; VERSION: 01-01
14033 ;
14034 ; AUTHOR: R. BELANGER
14035 ;
14036 ; DATE: 7603.30
14037 ;
14038 ; THIS MODULE CONTAINS:
14039 ;
14040 ; 1) THE START COMMAND TABLE
STRTB -- START COMMAND TABLE MO MACRO M1108 13-JAN-78 09:14 PAGE 424
.STRTB -- THE START COMMAND TABLE 7602.26
14042 .SBTTL .STRTB -- THE START COMMAND TABLE 7602.26
14043
14044 026412 .STRTB::
14045 026412 COMND$ TEN,<LG.PRG!LG.RPT>,.STRTT
006414 124 105 116 .ASCIZ %TEN%
006417 000
026412 006414' .WORD $$CMDN ; POINTER TO "TEN" SYMBOL
026414 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
026416 026466' .WORD .STRTT ; ROUTINE TO CALL
14046 026420 COMND$ MICROCODE,<LG.PRG!LG.RPT>,.STRTU
006420 115 111 103 .ASCIZ %MICROCODE%
006423 122 117 103
006426 117 104 105
006431 000
026420 006420' .WORD $$CMDN ; POINTER TO "MICROCODE" SYMBOL
026422 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
026424 026564' .WORD .STRTU ; ROUTINE TO CALL
14047 026426 000000 .WORD 0 ; END OF TABLE MARKER
STRTC -- START COMMAND DISPATCH MACRO M1108 13-JAN-78 09:14 PAGE 425
.STRTB -- THE START COMMAND TABLE 7602.26
14049 .TITLE STRTC -- START COMMAND DISPATCH MODULE 7603.30
14050
14051 .IDENT "001010"
14052
14053 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
14054 ;
14055 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
14056 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
14057 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
14058 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
14059 ; FOR ITS ACCURACY.
14060 ;
14061 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
14062 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
14063 ;
14064 ;
14065 ; MODULE: START COMMAND DISPATCH
14066 ;
14067 ; VERSION: 01-01
14068 ;
14069 ; AUTHOR: R. BELANGER
14070 ;
14071 ; DATE: 7603.30
14072 ;
14073 ; THIS MODULE CONTAINS:
14074 ;
14075 ; 1) START COMMAND DISPATCH CODE
STRTC -- START COMMAND DISPATCH MACRO M1108 13-JAN-78 09:14 PAGE 426
.STRTC -- THE "START" COMMAND 7602.26
14077 .SBTTL .STRTC -- THE "START" COMMAND 7602.26
14078
14079 ;+
14080 ; .STRTC -- THE "START" COMMAND.
14081 ;
14082 ; THIS IS THE TOP LEVEL OF THE "START" COMMAND, WHICH CHECKS FOR
14083 ; ARGUMENTS AND DISPATCHES TO THE PROPER LOWER LEVEL ROUTINE.
14084 ;
14085 ; INPUT ARGUMENTS:
14086 ;
14087 ; NONE.
14088 ;
14089 ; OUTPUT ARGUMENTS:
14090 ;
14091 ; NONE.
14092 ;
14093 ; ERROR CODES RETURNED:
14094 ;
14095 ; NONE.
14096 ;-
14097
14098 026430 .STRTC::
14099 026430 CALL .CKARG ; LOOK FOR AN ARGUMENT
026430 004737 001712' JSR PC,.CKARG
14100 026434 001402 BEQ 10$ ; CONTINUE IF ALPHABETIC
14101 026436 000137 026466' JMP .STRTT ; START THE TEN IF NUMERIC
14102 ;
14103 026442 10$:
14104 026442 012700 026412' MOV #.STRTB,R0 ; TABLE POINTER TO R0
14105 026446 CALL .TSCAN ; SCAN THE TABLE
026446 004737 030176' JSR PC,.TSCAN
14106 026452 CALLR @2(R0) ; DISPATCH FOR THE OBJECT
026452 000170 000002 JMP @2(R0)
14107 ;
STRTT -- START <TEN> COMMAND 77 MACRO M1108 13-JAN-78 09:14 PAGE 427
.STRTC -- THE "START" COMMAND 7602.26
14109 .TITLE STRTT -- START <TEN> COMMAND 7707.12
14110
14111 .IDENT "003060"
14112
14113 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
14114 ;
14115 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
14116 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
14117 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
14118 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
14119 ; FOR ITS ACCURACY.
14120 ;
14121 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
14122 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
14123 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
14124 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
14125 ;
14126 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
14127 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
14128 ;
14129 ;
14130 ; MODULE: START <TEN> COMMAND
14131 ;
14132 ; VERSION: 03-06
14133 ;
14134 ; AUTHOR: R. BELANGER
14135 ;
14136 ; DATE: 7707.12
14137 ;
14138 ; THIS MODULE CONTAINS:
14139 ;
14140 ; 1) START <TEN> COMMAND CODE
STRTT -- START <TEN> COMMAND 77 MACRO M1108 13-JAN-78 09:14 PAGE 428
.STRTT -- THE "START <TEN>" COMMAND 7710.11
14142 .SBTTL .STRTT -- THE "START <TEN>" COMMAND 7710.11
14143
14144 ;+
14145 ; .STRTT -- THE "START <TEN>" COMMAND.
14146 ; .JUMPC -- THE "JUMP" COMMAND.
14147 ;
14148 ; THESE ROUTINES WILL START THE KL IN EXEC (KERNEL) MODE AT THE
14149 ; ADDRESS SPECIFIED IN THE INPUT STREAM.
14150 ;
14151 ; INPUT ARGUMENTS:
14152 ;
14153 ; NONE.
14154 ;
14155 ; OUTPUT ARGUMENTS:
14156 ;
14157 ; NONE.
14158 ;
14159 ; ERROR CODES RETURNED:
14160 ;
14161 ; ILS -- ILLEGAL SEPARATOR CHARACTER
14162 ; KLA -- KL ADDRESS ERROR
14163 ; MRA -- MISSING REQUIRED ARGUMENT
14164 ; SZI -- START AT ZERO ILLEGAL
14165 ;-
14166
14167 .MCALL $DEF
14168
14169 026456 $DEF
STRTT -- START <TEN> COMMAND 77 MACRO M1108 13-JAN-78 09:14 PAGE 429
.STRTT -- THE "START <TEN>" COMMAND 7710.11
14171 .ENABL LSB
14172
14173 026456 .JUMPC::
14174 026456 CALL 10$ ; START THE KL
026456 004737 026472' JSR PC,10$
14175 026462 000137 007754' JMP .EXITP ; AND EXIT FROM THE PARSER
14176 ;
14177 026466 .STRTT::
14178 026466 CALL .CKRNP ; SEE IF THE KL IS RUNNING
026466 004737 002154' JSR PC,.CKRNP
14179 026472 10$:
14180 026472 005046 CLR -(SP) ; CLEAR ADDRESS BUFFER
14181 026474 005046 CLR -(SP) ; .
14182 026476 005046 CLR -(SP) ; ..
14183 026500 010600 MOV SP,R0 ; ...POINTER TO R0
14184 026502 CALL .GTKLA ; ...GET THE START ADDRESS
026502 004737 012302' JSR PC,.GTKLA
14185 026506 CALL .TPTST ; ...SEE IF IT IS NON ZERO
026506 004737 027340' JSR PC,.TPTST
14186 026512 001421 BEQ STASZI ; ...CAN'T START KL AT 0
14187 026514 CALL .CKEOC ; ...CHECK FOR E-O-C
026514 004737 002010' JSR PC,.CKEOC
14188 026520 032737 000002 000000G BIT #LG.PRG,.FEMOD ; ...ARE WE AT LEAST IN PROGRAMMER MODE??
14189 026526 001402 BEQ 20$ ; ...NO -- JUST GO ON
14190 026530 CALL .ABORT ; ...YES -- START THE KL BY ANY MEANS
026530 004737 001522' JSR PC,.ABORT
14191 026534 20$:
14192 026534 010001 MOV R0,R1 ; ...POINTER FOR THE CALL
14193 026536 CALL .KLST ; ...START THE KL
026536 004737 015170' JSR PC,.KLST
14194 026542 062706 000006 ADD #^D6,SP ; ...CLEAR THE STACK
14195 026546 005037 000000G CLR .NOERR ; LET RSX20F RECOGNIZE KL ERRORS
14196 026552 CALLR ..DTP2 ; START UP SECONDARY PROTOCOL AND EXIT.
026552 000137 000000G JMP ..DTP2
14197 ;
14198 026556 STASZI:
14199 026556 ERROR$ SZI ; ERROR -- START AT ZERO ILLEGAL
026556 012746 MOV (PC)+,-(SP) ; "SZI" IN RAD50 TO STACK
026560 075331 .RAD50 /SZI/ ; ERROR IDENTIFIER
026562 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
14200 ;
14201
14202 .DSABL LSB
STRTU -- START MICROCODE COMMAN MACRO M1108 13-JAN-78 09:14 PAGE 430
.STRTT -- THE "START <TEN>" COMMAND 7710.11
14204 .TITLE STRTU -- START MICROCODE COMMAND MODULE 7602.26
14205
14206 .IDENT "002010"
14207
14208 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
14209 ;
14210 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
14211 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
14212 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
14213 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
14214 ; FOR ITS ACCURACY.
14215 ;
14216 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
14217 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
14218 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
14219 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
14220 ;
14221 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
14222 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
14223 ;
14224 ;
14225 ; MODULE: START MICROCODE COMMAND
14226 ;
14227 ; VERSION: 02-01
14228 ;
14229 ; AUTHOR: R. BELANGER
14230 ;
14231 ; DATE: 7602.26
14232 ;
14233 ; THIS MODULE CONTAINS:
14234 ;
14235 ; 1) START MICROCODE COMMAND
14236 ;
14237 ; MODIFIED BY A. PECKHAM 7612.11 TO DELETE REFERENCES TO .SECFL
STRTU -- START MICROCODE COMMAN MACRO M1108 13-JAN-78 09:14 PAGE 431
.STRTU -- THE "START MICROCODE" COMMAND 7602.26
14239 .SBTTL .STRTU -- THE "START MICROCODE" COMMAND 7602.26
14240
14241 ;+
14242 ; .STRTU -- THE "START MICROCODE" COMMAND.
14243 ;
14244 ; THIS ROUTINE STARTS THE KL MICROCODE AT THE ADDRESS SPECIFIED.
14245 ; IF NO ADDRESS IS SPECIFIED, 0000 IS ASSUMED.
14246 ;
14247 ; INPUT ARGUMENTS:
14248 ;
14249 ; NONE.
14250 ;
14251 ; OUTPUT ARGUMENTS:
14252 ;
14253 ; NONE.
14254 ;
14255 ; ERROR CODES RETURNED:
14256 ;
14257 ; NONE.
14258 ;-
14259
14260 026564 .STRTU::
14261 026564 CALL .CKRUN ; SEE IF THE KL IS RUNNING
026564 004737 002164' JSR PC,.CKRUN
14262 026570 005000 CLR R0 ; CLEAR R0 (FOR DEFAULT)
14263 026572 111504 MOVB (R5),R4 ; LOOK AT THE CURRENT CHARACTER
14264 026574 132764 000010 001360' BITB #CH.EOC,.CHTAB(R4)
14265 026602 001004 BNE 10$ ; DO DEFAULT START IF E-O-C
14266 026604 CALL .GTELN ; GO READ THE ADDRESS
026604 004737 012252' JSR PC,.GTELN
14267 026610 CALL .CKEOC ; MUST HAVE E-O-C
026610 004737 002010' JSR PC,.CKEOC
14268 026614 10$:
14269 026614 032737 100000 000000G BIT #KF.CLK,.KLFLG ; IS THE KL CLOCK ON?
14270 026622 001402 BEQ 20$ ; NO -- JUST START THE MICROCODE
14271 026624 CALL .KLHLT ; YES -- STOP THE KL
026624 004737 014644' JSR PC,.KLHLT
14272 026630 20$:
14273 026630 CALL .STUCD ; START THE KL MICROCODE
026630 004737 026656' JSR PC,.STUCD
14274 026634 RETURN ; TO CALLER
026634 000207 RTS PC
STRUN -- KL RUN FLOP SET FUNCTI MACRO M1108 13-JAN-78 09:14 PAGE 432
.STRTU -- THE "START MICROCODE" COMMAND 7602.26
14276 .TITLE STRUN -- KL RUN FLOP SET FUNCTION MODULE 7603.30
14277
14278 .IDENT "001010"
14279
14280 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
14281 ;
14282 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
14283 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
14284 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
14285 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
14286 ; FOR ITS ACCURACY.
14287 ;
14288 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
14289 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
14290 ;
14291 ;
14292 ; MODULE: KL RUN FLOP SET FUNCTION
14293 ;
14294 ; VERSION: 01-01
14295 ;
14296 ; AUTHOR: R. BELANGER
14297 ;
14298 ; DATE: 7603.30
14299 ;
14300 ; THIS MODULE CONTAINS:
14301 ;
14302 ; 1) SET KL RUN FLOP CODE
STRUN -- KL RUN FLOP SET FUNCTI MACRO M1108 13-JAN-78 09:14 PAGE 433
.STRUN -- SET KL RUN FLOP SUBROUTINE 7601.09
14304 .SBTTL .STRUN -- SET KL RUN FLOP SUBROUTINE 7601.09
14305
14306 ;+
14307 ; .STRUN -- SUBROUTINE TO SET THE KL RUN FLOP.
14308 ;
14309 ; THIS SUBROUTINE SETS THE KL RUN FLOP.
14310 ;
14311 ;
14312 ; INPUT ARGUMENTS:
14313 ;
14314 ; NONE.
14315 ;
14316 ; OUTPUT ARGUMENTS:
14317 ;
14318 ; NONE
14319 ;
14320 ; ERROR CODES RETURNED:
14321 ;
14322 ; FXF -- FUNCTION EXECUTE FAILED
14323 ;-
14324
14325 026636 .STRUN::
14326 026636 000241 CLC ; CLEAR CC-C
14327 026640 PUSH R0 ; SAVE R0
026640 010046 MOV R0,-(SP)
14328 026642 012700 000022 MOV #FX.SRF,R0 ; .SET UP TO SET KL RUN FLOP
14329 026646 CALL .FXCT ; .DO IT
026646 004737 011074' JSR PC,.FXCT
14330 026652 POP R0 ; .RESTORE R0
026652 012600 MOV (SP)+,R0
14331 026654 RETURN ; TO CALLER
026654 000207 RTS PC
STUCD -- START KL MICROCODE FUN MACRO M1108 13-JAN-78 09:14 PAGE 434
.STRUN -- SET KL RUN FLOP SUBROUTINE 7601.09
14333 .TITLE STUCD -- START KL MICROCODE FUNCTION MODULE 7603.30
14334
14335 .IDENT "001010"
14336
14337 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
14338 ;
14339 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
14340 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
14341 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
14342 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
14343 ; FOR ITS ACCURACY.
14344 ;
14345 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
14346 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
14347 ;
14348 ;
14349 ; MODULE: START KL MICROCODE FUNCTION
14350 ;
14351 ; VERSION: 01-01
14352 ;
14353 ; AUTHOR: R. BELANGER
14354 ;
14355 ; DATE: 7603.30
14356 ;
14357 ; THIS MODULE CONTAINS:
14358 ;
14359 ; 1) START KL MICROCODE CODE
STUCD -- START KL MICROCODE FUN MACRO M1108 13-JAN-78 09:14 PAGE 435
.STUCD -- START KL MICROCODE SUBROUTINE 7511.22
14361 .SBTTL .STUCD -- START KL MICROCODE SUBROUTINE 7511.22
14362
14363 ;+
14364 ; .STUCD -- SUBROUTINE TO START THE KL MICROCODE AT THE
14365 ; ADDRESS SPECIFIED IN R0.
14366 ;
14367 ; SEQUENCE OF OPERATION:
14368 ;
14369 ; (A) THE KL RUN FLOP IS CLEARED,
14370 ; (B) THE KL RUN FLOP IS TURNED OFF,
14371 ; (C) THE KL IS CLEARED,
14372 ; (D) THE CRAM ADDRESS IS LOADED,
14373 ; (E) THE KL CLOCK IS RESTARTED.
14374 ;
14375 ; THE SUBROUTINE EXITS WHEN THE KL HAS FOUND THE HALT LOOP.
14376 ; IF THE HALT LOOP IS NOT FOUND, AN ERROR RETURN IS GIVEN.
14377 ;
14378 ; INPUT ARGUMENTS:
14379 ;
14380 ; R0 CONTAINS THE CRAM ADDRESS
14381 ;
14382 ; OUTPUT ARGUMENTS:
14383 ;
14384 ; NONE.
14385 ;
14386 ; ERROR CODES RETURNED:
14387 ;
14388 ; CAE -- CRAM ADDRESS ERROR.
14389 ; FRF -- FUNCTION READ FAILED.
14390 ; FWF -- FUNCTION WRITE FAILED.
14391 ; FXF -- FUNCTION EXECUTE FAILED
14392 ; UNL -- UCODE NOT LOADED.
14393 ;
14394 ; NOTE:
14395 ;
14396 ; THE NORMAL CRAM STARTING ADDRESS IS 0. ATTEMPTING TO
14397 ; START THE CONTROL RAM AT AN ADDRESS OTHER THAN 0 CAN
14398 ; PRODUCE STRANGE RESULTS. CAVEAT PROGRAMMATOR (OPERATOR).
14399 ; CONSIDER YOURSELF WARNED.
14400 ;-
STUCD -- START KL MICROCODE FUN MACRO M1108 13-JAN-78 09:14 PAGE 436
.STUCD -- START KL MICROCODE SUBROUTINE 7511.22
14402 026656 .STUCD::
14403 026656 020027 002377 CMP R0,#2377 ; IS IT IN RANGE?
14404 026662 101030 BHI STUCAE ; NO -- GIVE "CAE" ERROR
14405 026664 PUSH <R1,R0> ; YES -- SAVE THE ADDRESS ON THE STACK
026664 010146 MOV R1,-(SP)
026666 010046 MOV R0,-(SP)
14406 026670 CALL .CLRFF ; ..CLEAR THE KL RUN FLOP
026670 004737 002266' JSR PC,.CLRFF
14407 026674 CALL .STPXC ; ..STOP THE KL CLOCK
026674 004737 026354' JSR PC,.STPXC
14408 026700 011600 MOV (SP),R0 ; ..CRAM ADDRESS TO R0
14409 026702 CALL .LDCRA ; ..LOAD IT
026702 004737 015530' JSR PC,.LDCRA
14410 026706 CALL .STCLK ; ..START THE KL CLOCK
026706 004737 026300' JSR PC,.STCLK
14411 026712 012701 000310 MOV #^D200,R1 ; ..SETUP WAIT LOOP
14412 026716 10$:
14413 026716 CALL .DTDW1 ; ..READ DTE-20 DIAG WORD 1
026716 004737 004742' JSR PC,.DTDW1
14414 026722 032700 001000 BIT #D1.HLP,R0 ; ..ARE WE IN THE HALT LOOP?
14415 026726 001001 BNE 20$ ; ..YES -- EXIT
14416 026730 077106 SOB R1,10$ ; ..NO -- TRY TILL COUNT EXHAUSTED
14417 026732 20$:
14418 026732 005701 TST R1 ; ..DID COUNT GET EXHAUSTED?
14419 026734 003406 BLE STUUNL ; ..YES -- WE LOST
14420 026736 POP <R0,R1> ; ..NO -- RESTORE R0 AND R1
026736 012600 MOV (SP)+,R0
026740 012601 MOV (SP)+,R1
14421 026742 RETURN ; TO CALLER
026742 000207 RTS PC
14422 026744 STUCAE:
14423 026744 ERROR$ CAE ; ERROR -- CRAM ADDRESSING ERROR
026744 012746 MOV (PC)+,-(SP) ; "CAE" IN RAD50 TO STACK
026746 011355 .RAD50 /CAE/ ; ERROR IDENTIFIER
026750 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
14424 ;
14425 026752 STUUNL:
14426 026752 ERROR$ UNL ; ERROR -- UCODE NOT LOADED
026752 012746 MOV (PC)+,-(SP) ; "UNL" IN RAD50 TO STACK
026754 102574 .RAD50 /UNL/ ; ERROR IDENTIFIER
026756 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
14427 ;
SYNXC -- SYNCH KL CLOCK FUNCTIO MACRO M1108 13-JAN-78 09:14 PAGE 437
.STUCD -- START KL MICROCODE SUBROUTINE 7511.22
14429 .TITLE SYNXC -- SYNCH KL CLOCK FUNCTION MODULE 7603.30
14430
14431 .IDENT "001010"
14432
14433 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
14434 ;
14435 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
14436 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
14437 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
14438 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
14439 ; FOR ITS ACCURACY.
14440 ;
14441 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
14442 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
14443 ;
14444 ;
14445 ; MODULE: SYNCH KL CLOCK FUNCTION
14446 ;
14447 ; VERSION: 01-01
14448 ;
14449 ; AUTHOR: R. BELANGER
14450 ;
14451 ; DATE: 7603.30
14452 ;
14453 ; THIS MODULE CONTAINS:
14454 ;
14455 ; 1) KL CLOCK SYNCH CODE
SYNXC -- SYNCH KL CLOCK FUNCTIO MACRO M1108 13-JAN-78 09:14 PAGE 438
.SYNXC -- SYNCH EBOX CLOCK SUBROUTINE 7509.03
14457 .SBTTL .SYNXC -- SYNCH EBOX CLOCK SUBROUTINE 7509.03
14458
14459 ;+
14460 ; .SYNXC -- SUBROUTINE TO SYNCH THE EBOX CLOCK LOW.
14461 ;
14462 ; THIS SUBROUTINE SYNCHS THE KL EBOX CLOCK LOW
14463 ;
14464 ;
14465 ; INPUT ARGUMENTS:
14466 ;
14467 ; NONE.
14468 ;
14469 ; OUTPUT ARGUMENTS:
14470 ;
14471 ; NONE
14472 ;
14473 ; ERROR CODES RETURNED:
14474 ;
14475 ; FXF -- FUNCTION EXECUTE FAILED
14476 ;-
14477
14478 026760 .SYNXC::
14479 026760 000241 CLC ; CLEAR CC-C
14480 026762 PUSH R0 ; SAVE R0
026762 010046 MOV R0,-(SP)
14481 026764 012700 000010 MOV #FX.SYC,R0 ; .SET UP TO SYNCH EBOX CLOCK
14482 026770 CALL .FXCT ; .DO IT
026770 004737 011074' JSR PC,.FXCT
14483 026774 POP R0 ; .RESTORE R0
026774 012600 MOV (SP)+,R0
14484 026776 RETURN ; TO CALLER
026776 000207 RTS PC
TPSIM -- TRIPLE PRECISION ARIT MACRO M1108 13-JAN-78 09:14 PAGE 439
.SYNXC -- SYNCH EBOX CLOCK SUBROUTINE 7509.03
14486 .TITLE TPSIM -- TRIPLE PRECISION ARITHMETIC SIMULATOR MODULE 7603.30
14487
14488 .IDENT "001010"
14489
14490 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
14491 ;
14492 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
14493 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
14494 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
14495 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
14496 ; FOR ITS ACCURACY.
14497 ;
14498 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
14499 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
14500 ;
14501 ;
14502 ; MODULE: TRIPLE PRECISION ARITHMETIC SIMULATOR
14503 ;
14504 ; VERSION: 01-01
14505 ;
14506 ; AUTHOR: R. BELANGER
14507 ;
14508 ; DATE: 7603.30
14509 ;
14510 ; THIS MODULE CONTAINS:
14511 ;
14512 ; 1) TRIPLE PRECISION ARITHMETIC SIMULATOR
TPSIM -- TRIPLE PRECISION ARIT MACRO M1108 13-JAN-78 09:14 PAGE 440
.TPDIV -- 48 BIT INTEGER DIVIDE SUBROUTINE 7601.19
14514 .SBTTL .TPDIV -- 48 BIT INTEGER DIVIDE SUBROUTINE 7601.19
14515
14516 ;+
14517 ; .TPDIV -- 48 BIT INTEGER DIVIDE SUBROUTINE.
14518 ;
14519 ; THIS SUBROUTINE WILL DIVIDE THE 48 BIT DIVIDEND POINTED TO BY R0
14520 ; BY THE 48 BIT DIVISOR POINTED TO BY R1 IN THE CALL. ON RETURN,
14521 ; R0 POINTS TO A 48 BIT QUOTIENT, AND R2 POINTS TO A 48 BIT REMAINDER.
14522 ;
14523 ; INPUT ARGUMENTS:
14524 ;
14525 ; R0 POINTS TO THE DIVIDEND
14526 ; R1 POINTS TO THE DIVISOR
14527 ;
14528 ; OUTPUT ARGUMENTS:
14529 ;
14530 ; R0 POINTS TO THE QUOTIENT
14531 ; R1 POINTS TO THE REMAINDER
14532 ; THE DIVISOR AND DIVIDEND ARE DESTROYED
14533 ;
14534 ; ERROR CODES RETURNED:
14535 ;
14536 ; DCK -- DIVIDE CHECK.
14537 ;-
TPSIM -- TRIPLE PRECISION ARIT MACRO M1108 13-JAN-78 09:14 PAGE 441
.TPDIV -- 48 BIT INTEGER DIVIDE SUBROUTINE 7601.19
14539 .ENABL LSB
14540
14541 027000 .TPDIV::
14542 027000 PUSH <R3,R2,R1,R0> ; SAVE CALLER'S REGISTERS
027000 010346 MOV R3,-(SP)
027002 010246 MOV R2,-(SP)
027004 010146 MOV R1,-(SP)
027006 010046 MOV R0,-(SP)
14543 027010 CALL .TPXTN ; ....SIGN EXTEND THE DIVIDEND
027010 004737 027264' JSR PC,.TPXTN
14544 027014 010100 MOV R1,R0 ; ....POINT TO THE DIVISOR
14545 027016 CALL .TPXTN ; ....AND SIGN EXTEND IT
027016 004737 027264' JSR PC,.TPXTN
14546 027022 CALL .TPTST ; ....SEE IF IT IS ZERO OR NEGATIVE
027022 004737 027340' JSR PC,.TPTST
14547 027026 003466 BLE TPDDCK ; ....YES -- GIVE "DCK" ERROR
14548 027030 011600 MOV (SP),R0 ; ....NO -- RESTORE DIVIDEND POINTER
14549 027032 012703 000060 MOV #^D48,R3 ; ....ITERATION COUNT TO R3
14550 027036 012702 027212' MOV #TPDRMN,R2 ; ....DATA BLOCK POINTER TO R2
14551 027042 005022 CLR (R2)+ ; ....CLEAR THE REMAINDER
14552 027044 005022 CLR (R2)+ ; ....
14553 027046 005022 CLR (R2)+ ; ....
14554 027050 012122 MOV (R1)+,(R2)+ ; ....LOAD THE DIVISOR
14555 027052 012122 MOV (R1)+,(R2)+ ; ....
14556 027054 012122 MOV (R1)+,(R2)+ ; ....
14557 027056 012022 MOV (R0)+,(R2)+ ; ....LOAD THE DIVIDEND
14558 027060 012022 MOV (R0)+,(R2)+ ; ....
14559 027062 012022 MOV (R0)+,(R2)+ ; ....
14560 027064 012700 027212' MOV #TPDRMN,R0 ; ....REMAINDER POINTER TO R0
14561 027070 012701 027220' MOV #TPDDVS,R1 ; ....DIVISOR POINTER TO R1
14562 027074 012702 027226' MOV #TPDDVD,R2 ; ....DIVIDEND POINTER TO R2
14563
14564 ; [CONTINUED ON THE FOLLOWING PAGE]
TPSIM -- TRIPLE PRECISION ARIT MACRO M1108 13-JAN-78 09:14 PAGE 442
.TPDIV -- 48 BIT INTEGER DIVIDE SUBROUTINE 7601.19
14566 ; [CONTINUED FROM THE PREVIOUS PAGE]
14567
14568 027100 10$:
14569 027100 006312 ASL (R2) ; ....SHIFT THE DIVIDEND LEFT
14570 027102 006162 000002 ROL 2(R2) ; ....
14571 027106 006162 000004 ROL 4(R2) ; ....
14572 027112 006110 ROL (R0) ; ....INTO THE REMAINDER
14573 027114 006160 000002 ROL 2(R0) ; ....
14574 027120 006160 000004 ROL 4(R0) ; ....
14575 027124 CALL .TPCMP ; ....SEE IF REMAINDER IS .GE. DIVISOR
027124 004737 027304' JSR PC,.TPCMP
14576 027130 103407 BLO 20$ ; ....NO -- JUST KEEP GOING
14577 027132 CALL .TPSUB ; ....YES -- SUBTRACT DIVISOR FROM REMAINDER
027132 004737 027426' JSR PC,.TPSUB
14578 027136 PUSH R0 ; ....SAVE REMAINDER POINTER
027136 010046 MOV R0,-(SP)
14579 027140 010200 MOV R2,R0 ; .....QUOTIENT POINTER TO R0
14580 027142 CALL .TPINC ; .....INCREMENT THE QUOTIENT
027142 004737 027402' JSR PC,.TPINC
14581 027146 POP R0 ; .....RESTORE REMAINDER POINTER
027146 012600 MOV (SP)+,R0
14582 027150 20$:
14583 027150 077325 SOB R3,10$ ; ....LOOP TILL COUNT IS EXHAUSTED
14584 027152 POP <R0,R1> ; ....GET R0 AND R1 FROM THE STACK
027152 012600 MOV (SP)+,R0
027154 012601 MOV (SP)+,R1
14585 027156 012220 MOV (R2)+,(R0)+ ; ..UNLOAD THE QUOTIENT
14586 027160 012220 MOV (R2)+,(R0)+ ; ..
14587 027162 011210 MOV (R2),(R0) ; ..
14588 027164 012702 027212' MOV #TPDRMN,R2 ; ..POINT TO THE REMAINDER
14589 027170 012221 MOV (R2)+,(R1)+ ; ..UNLOAD THE REMAINDER
14590 027172 012221 MOV (R2)+,(R1)+ ; ..
14591 027174 011211 MOV (R2),(R1) ; ..
14592 027176 POP <R2,R3> ; ..RESTORE OTHER REGISTERS
027176 012602 MOV (SP)+,R2
027200 012603 MOV (SP)+,R3
14593 027202 000520 BR 50$ ; AND GO AWAY
14594 ;
TPSIM -- TRIPLE PRECISION ARIT MACRO M1108 13-JAN-78 09:14 PAGE 443
.TPDIV -- 48 BIT INTEGER DIVIDE SUBROUTINE 7601.19
14596 027204 TPDDCK:
14597 027204 ERROR$ DCK ; ERROR -- DIVIDE CHECK
027204 012746 MOV (PC)+,-(SP) ; "DCK" IN RAD50 TO STACK
027206 014603 .RAD50 /DCK/ ; ERROR IDENTIFIER
027210 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
14598 ;
14599
14600 027212 TPDRMN:
14601 027212 000000 000000 000000 .WORD 0,0,0 ; SPACE FOR REMAINDER
14602 027220 TPDDVS:
14603 027220 000000 000000 000000 .WORD 0,0,0 ; SPACE FOR DIVISOR
14604 027226 TPDDVD:
14605 027226 000000 000000 000000 .WORD 0,0,0 ; SPACE FOR DIVIDEND / QUOTIENT
TPSIM -- TRIPLE PRECISION ARIT MACRO M1108 13-JAN-78 09:14 PAGE 444
.TPCLR -- SUBROUTINE TO CLEAR A 48 BIT NUMBER 7601.19
14607 .SBTTL .TPCLR -- SUBROUTINE TO CLEAR A 48 BIT NUMBER 7601.19
14608
14609 ;+
14610 ; .TPCLR -- SUBROUTINE TO CLEAR A 48 BIT NUMBER
14611 ;
14612 ; THESE SUBROUTINE PERFORM THE FUNCTIONS INDICATED. ALL SUBROUTINES
14613 ; ACCEPT A DESTINATION POINTER IN R0. ALL SUBROUTINES
14614 ; RETURN THE POINTER UNALTERED. NO OTHER REGISTERS ARE ALTERED
14615 ; BY THESE ROUTINES.
14616 ;
14617 ; INPUT ARGUMENTS:
14618 ;
14619 ; R0 POINTS TO THE DESTINATION OPERAND
14620 ;
14621 ; OUTPUT ARGUMENTS:
14622 ;
14623 ; R0 POINTS TO THE DESINATION OPERAND
14624 ;
14625 ; ERROR CODES RETURNED:
14626 ;
14627 ; NONE.
14628 ;-
14629
14630 027234 .TPCLR:: ; CLEAR A 48 BIT WORD
14631 027234 005020 CLR (R0)+ ; SO
14632 027236 005020 CLR (R0)+
14633 027240 005010 CLR (R0)
14634 027242 000501 BR 60$ ; RESET R0 AND RETURN
14635 ;
TPSIM -- TRIPLE PRECISION ARIT MACRO M1108 13-JAN-78 09:14 PAGE 445
.TPCOM -- SUBROUTINE TO COMPLEMENT A 48 BIT NUMBER 7601.19
14637 .SBTTL .TPCOM -- SUBROUTINE TO COMPLEMENT A 48 BIT NUMBER 7601.19
14638
14639 ;+
14640 ; .TPCOM -- SUBROUTINE TO COMPLEMENT A 48 BIT NUMBER.
14641 ; .TPNEG -- SUBROUTINE TO NEGATE A 48 BIT NUMBER.
14642 ; .TPXTN -- SUBROUTINE TO SIGN EXTEND A 36 BIT NUMBER INTO A 48 BIT NUMBER
14643 ;
14644 ; THESE SUBROUTINES WILL PERFORM THE INDICATED OPERATION ON THE 48 BIT
14645 ; NUMBER POINTED TO BY R0 IN THE CALL. ON RETURN, R0 IS UNCHANGED, AND
14646 ; NO OTHER REGISTERS ARE ALTERED BY THESE SUBROUTINES.
14647 ;
14648 ; INPUT ARGUMENTS:
14649 ;
14650 ; R0 POINTS TO THE OPERAND
14651 ;
14652 ; OUTPUT ARGUMENTS:
14653 ;
14654 ; R0 POINTS TO THE OPERAND
14655 ;
14656 ; ERROR CODES RETURNED:
14657 ;
14658 ; NONE.
14659 ;-
14660
14661 027244 .TPCOM:: ; COMPLEMENT A 48 BIT NUMBER
14662 027244 005120 COM (R0)+ ; COMPLEMENT
14663 027246 005120 COM (R0)+ ; EACH WORD
14664 027250 005110 COM (R0) ; IN THE TRIPLET
14665 027252 000475 BR 60$ ; RESET R0 AND RETURN
14666 ;
14667
14668 027254 .TPNEG:: ; NEGATE A 48 BIT NUMBER
14669 027254 CALL .TPCOM ; FIRST COMPLEMENT THE NUMBER
027254 004737 027244' JSR PC,.TPCOM
14670 027260 CALLR .TPINC ; -0 + NOT(0)+1 AND RETURN
027260 000137 027402' JMP .TPINC
14671 ;
14672
14673 027264 .TPXTN::
14674 027264 032760 000010 000004 BIT #10,4(R0) ; TEST THE SIGN BIT
14675 027272 001466 BEQ 70$ ; EXIT IF POSITIVE
14676 027274 052760 177760 000004 BIS #^C17,4(R0) ; SIGN EXTEND IF NEGATIVE
14677 027302 000462 BR 70$ ; EXIT
14678 ;
TPSIM -- TRIPLE PRECISION ARIT MACRO M1108 13-JAN-78 09:14 PAGE 446
.TPCMP -- SUBROUTINE TO COMPARE TWO 48 BIT NUMBERS 7610.19
14680 .SBTTL .TPCMP -- SUBROUTINE TO COMPARE TWO 48 BIT NUMBERS 7610.19
14681
14682 ;+
14683 ; .TPCMP -- SUBROUTINE TO COMPARE TWO 48 BIT NUMBERS.
14684 ;
14685 ; THIS SUBROUTINE WILL COMPARE THE 48 BIT NUMBER POINTED TO BY
14686 ; R0 AND THE 48 BIT NUMBER POINTED TO BY R1 IN THE CALL.
14687 ;
14688 ; INPUT ARGUMENTS:
14689 ;
14690 ; R0 POINTS TO THE FIRST NUMBER
14691 ; R1 POINTS TO THE SECOND NUMBER
14692 ;
14693 ; OUTPUT ARGUMENTS:
14694 ;
14695 ; R0 POINTS TO THE FIRST NUMBER
14696 ; R1 POINTS TO THE SECOND NUMBER
14697 ; CC-N IS SET IF (R0) .LT. (R1)
14698 ; CC-Z IS SET IF (R0) .EQ. (R1)
14699 ; CC-Z IS CLEAR IF (R0) .GT. (R1)
14700 ;
14701 ; ERROR CODES RETURNED:
14702 ;
14703 ; NONE.
14704 ;-
14705
14706 027304 .TPCMP:: ; COMPARE TWO 48 BIT NUMBERS
14707 027304 026061 000004 000004 CMP 4(R0),4(R1) ; COMPARE THE HIGH WORDS
14708 027312 001056 BNE 70$ ; NOT EQUAL -- EXIT
14709 027314 026061 000002 000002 CMP 2(R0),2(R1) ; COMPARE THE MIDDLE WORDS
14710 027322 001001 BNE 30$ ; NOT EQUAL -- EXIT
14711 027324 021011 CMP (R0),(R1) ; COMPARE THE LOW WORDS
14712 027326 30$:
14713 027326 000250 CLN ; CLEAR CC-N
14714 027330 000242 CLV ; CLEAR CC-V
14715 027332 103046 BCC 70$ ; BRANCH IF NON-NEGATIVE
14716 027334 000270 SEN ; NEGATIVE -- SET CC-N
14717 027336 000444 BR 70$ ; EXIT
14718 ;
TPSIM -- TRIPLE PRECISION ARIT MACRO M1108 13-JAN-78 09:14 PAGE 447
.TPTST -- TEST A 48 BIT NUMBER FOR ZERO 7601.19
14720 .SBTTL .TPTST -- TEST A 48 BIT NUMBER FOR ZERO 7601.19
14721
14722 ;+
14723 ; .TPTST -- TEST A 48 BIT NUMBER FOR ZERO.
14724 ;
14725 ; THIS SUBROUTINE WILL TEST THE 48 BIT NUMBER POINTED TO BY R0 TO
14726 ; SEE IF IT ZERO OR NON-ZERO. IF THE NUMBER IS ZERO, CC-Z IS SET
14727 ; ON RETURN, IF NON-ZERO, CC-Z IS CLEAR SET ON RETURN.
14728 ; NO REGISTERS ARE ALTERED BY THIS SUBROUTINE.
14729 ;
14730 ; INPUT ARGUMENTS:
14731 ;
14732 ; R0 POINTS TO THE NUMBER TO BE TESTED
14733 ;
14734 ; OUTPUT ARGUMENTS:
14735 ;
14736 ; R0 POINTS TO THE TESTED NUMBER
14737 ; CC-Z IS SET IF THE NUMBER IS ZERO
14738 ; CC-Z IS CLEAR IF THE NUMBER IS NON-ZERO
14739 ;
14740 ; ERROR CODES RETURNED:
14741 ;
14742 ; NONE.
14743 ;-
14744
14745 027340 .TPTST:: ; TEST A TRIPLE PRECISION NUMBER FOR ZERO
14746 027340 005760 000004 TST 4(R0) ; TEST THE HIGH WORD
14747 027344 001041 BNE 70$ ; NON ZERO?
14748 027346 005760 000002 TST 2(R0) ; TEST THE MIDDLE WORD
14749 027352 001001 BNE 40$ ; NON ZERO?
14750 027354 005710 TST (R0) ; TEST THE LOW WORD
14751 027356 40$:
14752 027356 000250 CLN ; CLEAR CC-N
14753 027360 000433 BR 70$ ; EXIT
14754 ;
TPSIM -- TRIPLE PRECISION ARIT MACRO M1108 13-JAN-78 09:14 PAGE 448
.TPADD -- SUBROUTINE TO ADD TWO 48 BIT NUMBERS 7601.15
14756 .SBTTL .TPADD -- SUBROUTINE TO ADD TWO 48 BIT NUMBERS 7601.15
14757
14758 ;+
14759 ; .TPADD -- SUBROUTINE TO ADD TWO 48 BIT NUMBERS.
14760 ;
14761 ; THIS SUBROUTINE ADDS TWO 48 BIT ADDENDS WHICH ARE POINTED TO BY
14762 ; R0 AND R1 IN THE CALL, AND RETURNS A POINTER TO THE SUM IN R0.
14763 ; THE ADDEND POINTED TO BY R1 IS ADDED TO THAT POINTED TO BY R0.
14764 ;
14765 ; INPUT ARGUMENTS:
14766 ;
14767 ; R0 POINTS TO THE FIRST ADDEND
14768 ; R1 POINTS TO THE SECOND ADDEND
14769 ;
14770 ; OUTPUT ARGUMENTS:
14771 ;
14772 ; R0 POINTS TO THE SUM
14773 ; R1 POINTS TO THE SECOND ADDEND
14774 ;
14775 ; ERROR CODES RETURNED:
14776 ;
14777 ; NONE.
14778 ;-
14779
14780 027362 .TPADD::
14781 027362 062120 ADD (R1)+,(R0)+ ; ADD LOW ORDER PARTS
14782 027364 005510 ADC (R0) ; CARRY ANY OVERFLOW
14783 027366 005560 000002 ADC 2(R0) ; AND ANY OVER FLOW FROM THAT
14784 027372 062120 ADD (R1)+,(R0)+ ; ADD MIDDLE WORD
14785 027374 005510 ADC (R0) ; FIX CARRIES
14786 027376 061110 ADD (R1),(R0) ; ADD HIGH ORDER PARTS
14787 027400 000421 BR 50$ ; RESET REGISTERS ANS EXIT
14788 ;
TPSIM -- TRIPLE PRECISION ARIT MACRO M1108 13-JAN-78 09:14 PAGE 449
.TPINC -- SUBROUTINE TO INCREMENT A 48 BIT NUMBER 7601.19
14790 .SBTTL .TPINC -- SUBROUTINE TO INCREMENT A 48 BIT NUMBER 7601.19
14791
14792 ;+
14793 ; .TPINC -- SUBROUTINE TO INCREMENT A 48 BIT NUMBER.
14794 ; .TPDEC -- SUBROUTINE TO DECREMENT A 48 BIT NUMBER.
14795 ;
14796 ; THESE SUBROUTINES WILL INCREMENT OR DECREMENT A 48 BIT NUMBER
14797 ; POINTED TO BY R0 IN THE CALL. ON RETURN, THE POINTER IN R0 IS
14798 ; UNCHANGED. NO OTHER REGISTERS ARE ALTERED BY THESE SUBROUTINES.
14799 ;
14800 ; INPUT ARGUMENTS:
14801 ;
14802 ; R0 POINTS TO THE OPERAND
14803 ;
14804 ; OUTPUT ARGUMENTS:
14805 ;
14806 ; R0 POINTS TO THE OPERAND
14807 ;
14808 ; ERROR CODES RETURNED:
14809 ;
14810 ; NONE.
14811 ;-
14812
14813 027402 .TPINC:: ; INCREMENT A 48 BIT NUMBER
14814 027402 062720 000001 ADD #1,(R0)+ ; DO THE INCREMENT
14815 027406 005520 ADC (R0)+ ; AND CARRY THE CARRIES
14816 027410 005510 ADC (R0)
14817 027412 000415 BR 60$ ; AND EXIT
14818 ;
14819
14820 027414 .TPDEC:: ; DECREMENT A 48 BIT NUMBER
14821 027414 162720 000001 SUB #1,(R0)+ ; DO THE DECREMENT
14822 027420 005620 SBC (R0)+ ; AND STRAIGHTEN OUT THE CARRIES
14823 027422 005610 SBC (R0)
14824 027424 000410 BR 60$ ; ADJUST R0 AND RETURN
14825 ;
TPSIM -- TRIPLE PRECISION ARIT MACRO M1108 13-JAN-78 09:14 PAGE 450
.TPSUB -- SUBROUTINE TO SUBTRACT TWO 48 BIT NUMBERS 7601.15
14827 .SBTTL .TPSUB -- SUBROUTINE TO SUBTRACT TWO 48 BIT NUMBERS 7601.15
14828
14829 ;+
14830 ; .TPSUB -- SUBROUTINE TO SUBTRACT TWO 48 BIT NUMBERS.
14831 ;
14832 ; THIS SUBROUTINE WILL SUBTRACT TWO 48 BIT NUMBERS POINTED TO BY R0,
14833 ; (MINUEND), AND R1 (SUBTRAHEND) IN THE CALL, AND WILL RETURN A
14834 ; POINTER TO THE DIFFERENCE IN R0.
14835 ;
14836 ; INPUT ARGUMENTS:
14837 ;
14838 ; R0 POINTS TO THE MINUEND
14839 ; R1 POINTS TO THE SUBTRAHEND
14840 ;
14841 ; OUTPUT ARGUMENTS:
14842 ;
14843 ; R0 POINTS TO THE DIFFERENCE
14844 ; R1 POINTS TO THE SUBTRAHEND
14845 ;
14846 ; ERROR CODES RETURNED:
14847 ;
14848 ; NONE.
14849 ;-
14850
14851 027426 .TPSUB::
14852 027426 162120 SUB (R1)+,(R0)+ ; SUBTRACT LOW ORDER PARTS
14853 027430 005610 SBC (R0) ; CARRY ANY OVERFLOW
14854 027432 005660 000002 SBC 2(R0) ; AND ANY OVERFLOWS FROM THAT
14855 027436 162120 SUB (R1)+,(R0)+
14856 027440 005610 SBC (R0) ; FIX CARRIES
14857 027442 161110 SUB (R1),(R0) ; SUBTRACT HIGH ORDER PARTS
14858 027444 50$:
14859 027444 024141 CMP -(R1),-(R1) ; RESET R1
14860 027446 60$:
14861 027446 024040 CMP -(R0),-(R0) ; RESET R0
14862 027450 70$:
14863 027450 RETURN ; AND EXIT
027450 000207 RTS PC
14864
14865 .DSABL LSB
TPSIM -- TRIPLE PRECISION ARIT MACRO M1108 13-JAN-78 09:14 PAGE 451
.TPMUL -- 48 BIT INTEGER MULTPLY SUBROUTINE 7601.19
14867 .SBTTL .TPMUL -- 48 BIT INTEGER MULTPLY SUBROUTINE 7601.19
14868
14869 ;+
14870 ; .TPMUL -- 48 BIT INTEGER MULTPLY SUBROUTINE.
14871 ;
14872 ; THIS SUBROUTINE WILL MULTIPLY THE 48 BIT MULTIPLICAND POINTED
14873 ; TO BY R0 BY THE 48 BIT MULTIPLIER POINTER IN R1, AND RETURN A
14874 ; POINTER TO THE 48 BIT PRODUCT IN R0. THE MULTIPLIER IS UNCHANGED,
14875 ; AND NO OTHER REGISTERS ARE ALTERED BY THIS SUBROUTINE.
14876 ;
14877 ; INPUT ARGUMENTS:
14878 ;
14879 ; R0 POINTS TO THE MULTIPLICAND
14880 ; R1 POINTS TO THE MULTIPLIER
14881 ;
14882 ; OUTPUT ARGUMENTS:
14883 ;
14884 ; R0 POINTS TO THE PRODUCT
14885 ; R1 POINTS TO THE MULTIPLIER
14886 ;
14887 ; ERROR CODES RETURNED:
14888 ;
14889 ; NONE.
14890 ;-
TPSIM -- TRIPLE PRECISION ARIT MACRO M1108 13-JAN-78 09:14 PAGE 452
.TPMUL -- 48 BIT INTEGER MULTPLY SUBROUTINE 7601.19
14892 027452 .TPMUL::
14893 027452 PUSH <R2,R1,R0> ; SAVE CALLER'S REGISTERS
027452 010246 MOV R2,-(SP)
027454 010146 MOV R1,-(SP)
027456 010046 MOV R0,-(SP)
14894 027460 CALL .TPTST ; ...SEE IF MULTIPLICAND .EQ. 0
027460 004737 027340' JSR PC,.TPTST
14895 027464 001460 BEQ 50$ ; ...YES -- QUIT NOW
14896 027466 010100 MOV R1,R0 ; ...NO -- POINT TO MULTIPLIER
14897 027470 CALL .TPTST ; ...SEE IF IT IS .EQ. 0
027470 004737 027340' JSR PC,.TPTST
14898 027474 001004 BNE 10$ ; ...NO -- ALL OK
14899 027476 011600 MOV (SP),R0 ; ...YES -- GET MULTIPLICAND POINTER
14900 027500 CALL .TPCLR ; ...AND MAKE IT .EQ. 0
027500 004737 027234' JSR PC,.TPCLR
14901 027504 000450 BR 50$ ; ...RETURN TO CALLER
14902 ;
14903 027506 10$:
14904 027506 011600 MOV (SP),R0 ; ...R0 POINTS TO MULTIPLCAND
14905 027510 PUSH <(R1)+,(R1)+,(R1),R1>
027510 012146 MOV (R1)+,-(SP)
027512 012146 MOV (R1)+,-(SP)
027514 011146 MOV (R1),-(SP)
027516 010146 MOV R1,-(SP)
14906 027520 024141 CMP -(R1),-(R1) ; .......CALLER'S MULTIPLIER SAVED
14907 027522 010102 MOV R1,R2 ; .......R2 POINTS TO THE MULTIPLIER
14908 027524 010001 MOV R0,R1 ; .......R1 POINTS TO THE MULTIPLICAND
14909 027526 005046 CLR -(SP) ; .......CLEAR A BUFFER ON THE STACK
14910 027530 005046 CLR -(SP) ; ........
14911 027532 005046 CLR -(SP) ; .........
14912 027534 010600 MOV SP,R0 ; ..........R0 POINTS TO TEMPORARY RESULT
14913 027536 20$:
14914 027536 006062 000004 ROR 4(R2) ; ..........SHIFT THE MULTIPLIER RIGHT
14915 027542 006062 000002 ROR 2(R2) ; ..........
14916 027546 006012 ROR (R2) ; ..........
14917 027550 103002 BCC 30$ ; ..........DID WE GET A CARRY?
14918 027552 CALL .TPADD ; ..........YES -- ADD THE MULTIPLICAND
027552 004737 027362' JSR PC,.TPADD
14919 027556 30$:
14920 027556 006311 ASL (R1) ; ..........DOUBLE MULTIPLICAND IN ANY CASE
14921 027560 006161 000002 ROL 2(R1) ; ..........
14922 027564 006161 000004 ROL 4(R1) ; ..........
14923 027570 PUSH R0 ; ..........SAVE RESULT POINTER
027570 010046 MOV R0,-(SP)
14924 027572 010200 MOV R2,R0 ; ...........POINT TO MULTIPLIER
14925 027574 CALL .TPTST ; ...........IS IT .EQ. 0?
027574 004737 027340' JSR PC,.TPTST
14926 027600 001402 BEQ 40$ ; ...........YES -- SET UP FOR RETURN
14927 027602 POP R0 ; ...........NO -- RESTORE R0
027602 012600 MOV (SP)+,R0
14928 027604 000754 BR 20$ ; ..........AND CONTINUE
14929 ;
14930
14931 ; [CONTINUED ON THE FOLLOWING PAGE]
TPSIM -- TRIPLE PRECISION ARIT MACRO M1108 13-JAN-78 09:14 PAGE 453
.TPMUL -- 48 BIT INTEGER MULTPLY SUBROUTINE 7601.19
14933 ; [CONTINUED FROM THE PREVIOUS PAGE]
14934
14935 ; HERE TO RETURN PRODUCT AND EXIT
14936
14937 027606 40$:
14938 027606 POP R0 ; ...........GET RID OF MULTIPLIER POINTER
027606 012600 MOV (SP)+,R0
14939 027610 POP <(R1)+,(R1)+,(R1)>
027610 012621 MOV (SP)+,(R1)+
027612 012621 MOV (SP)+,(R1)+
027614 012611 MOV (SP)+,(R1)
14940 027616 POP <R1,(R1),-(R1),-(R1)>
027616 012601 MOV (SP)+,R1
027620 012611 MOV (SP)+,(R1)
027622 012641 MOV (SP)+,-(R1)
027624 012641 MOV (SP)+,-(R1)
14941 027626 50$:
14942 027626 POP <R0,R1,R2> ; ...RESTORE REGISTERS
027626 012600 MOV (SP)+,R0
027630 012601 MOV (SP)+,R1
027632 012602 MOV (SP)+,R2
14943 027634 RETURN ; TO CALLER
027634 000207 RTS PC
TPSIM -- TRIPLE PRECISION ARIT MACRO M1108 13-JAN-78 09:14 PAGE 454
.TPSHI -- SHIFT A 48 BIT NUMBER BY A 16 BIT NUMBER 7601.19
14945 .SBTTL .TPSHI -- SHIFT A 48 BIT NUMBER BY A 16 BIT NUMBER 7601.19
14946
14947 ;+
14948 ; .TPSHI -- SUBROUTINE TO SHIFT A 48 BIT NUMBER BY A 16 BIT NUMBER.
14949 ;
14950 ; THIS SUBROUTINE SHIFTS THE 48 BIT NUMBER POINTED TO BY R0 BY THE
14951 ; 16 BIT NUMBER IN R1 IN THE CALL. ON RETURN R0 POINTS TO THE SHIFTED
14952 ; 48 BIT NUMBER. THE DIRECTION OF THE SHIFT IS DETERMINED BY THE SIGN
14953 ; OF THE 16 BIT NUMBER IN R1. NO REGISTERS ARE ALTERED BY THIS ROUTINE.
14954 ;
14955 ; INPUT ARGUMENTS:
14956 ;
14957 ; R0 POINTS TO THE NUMBER TO BE SHIFTED
14958 ; R1 HOLDS THE 16 BIT SHIFT COUNT
14959 ;
14960 ; OUTPUT ARGUMENTS:
14961 ;
14962 ; R0 POINTS TO THE SHIFTED NUMBER
14963 ; R0 HOLDS THE 16 BIT SHIFT COUNT
14964 ;
14965 ; ERROR CODES RETURNED:
14966 ;
14967 ; NONE.
14968 ;-
14969
14970 027636 .TPSHI::
14971 027636 PUSH R1 ; SAVE R1 FROM DESTRUCTION
027636 010146 MOV R1,-(SP)
14972 027640 001416 BEQ 30$ ; .ON ZERO DO NOTHING
14973 027642 003002 BGT 10$ ; .REALLY MEANS LEFT
14974 027644 005401 NEG R1 ; .MEANS RIGHT, SO NEGATE
14975 027646 000406 BR 20$ ; .AND GO RIGHT
14976 ;
14977 027650 10$:
14978 027650 006320 ASL (R0)+ ; .CLEAR CC-C AND SHIFT
14979 027652 006120 ROL (R0)+ ; .USE CC-C AND SHIFT
14980 027654 006110 ROL (R0) ; .
14981 027656 024040 CMP -(R0),-(R0) ; .POINT BACK TO BEGINNING
14982 027660 077105 SOB R1,10$ ; .AND LOOP 'TILL DONE
14983 027662 000405 BR 30$ ; .DONE -- EXIT
14984 ;
14985 027664 20$: ; .HERE TO SHIFT RIGHT
14986 027664 022020 CMP (R0)+,(R0)+ ; .FIX POINTER TO POINT TO HIGH PART
14987 027666 006210 ASR (R0) ; .SHIFT HIGH PART
14988 027670 006040 ROR -(R0) ; .THEN MIDDLE PART
14989 027672 006040 ROR -(R0) ; .THEN LOW PART
14990 027674 077105 SOB R1,20$ ; .UNTIL DONE
14991 027676 30$:
14992 027676 POP R1 ; .RESTORE R1
027676 012601 MOV (SP)+,R1
14993 027700 RETURN ; AND RETURN TO CALLER
027700 000207 RTS PC
TPSIM -- TRIPLE PRECISION ARIT MACRO M1108 13-JAN-78 09:14 PAGE 455
.TPSHL -- SHIFT A 48 BIT NUMBER BY A 48 BIT NUMBER 7601.19
14995 .SBTTL .TPSHL -- SHIFT A 48 BIT NUMBER BY A 48 BIT NUMBER 7601.19
14996
14997 ;+
14998 ; .TPSHL -- SUBROUTINE TO SHIFT A 48 BIT NUMBER BY A 48 BIT NUMBER.
14999 ;
15000 ; THIS SUBROUTINE WILL SHIFT THE 48 BIT NUMBER POINTED TO BY R0 BY
15001 ; THE 48 BIT NUMBER POINTED TO BY R1 IN THE CALL. BOTH POINTERS ARE
15002 ; RETURNED UNALTERED, AND NO OTHER REGISTERS ARE ALTERED BY THE
15003 ; SUBROUTINE. THE DIRECTION OF THE SHIFT IS DETERMINED BY THE SIGN
15004 ; OF THE 48 BIT NUMBER POINTED TO BY R1.
15005 ;
15006 ; INPUT ARGUMENTS:
15007 ;
15008 ; R0 POINTS TO THE NUMBER TO BE SHIFTED
15009 ; R1 POINTS TO THE SHIFT COUNT
15010 ;
15011 ; OUTPUT ARGUMENTS:
15012 ;
15013 ; R0 POINTS TO THE SHIFTED NUMBER
15014 ; R1 POINTS TO THE SHIFT COUNT
15015 ;
15016 ; ERROR CODES RETURNED:
15017 ;
15018 ; NONE.
15019 ;-
15020
15021 027702 .TPSHL::
15022 027702 PUSH <(R1)+,(R1)+,(R1),R1>
027702 012146 MOV (R1)+,-(SP)
027704 012146 MOV (R1)+,-(SP)
027706 011146 MOV (R1),-(SP)
027710 010146 MOV R1,-(SP)
15023 027712 024141 CMP -(R1),-(R1) ; ....BACK THE POINTER UP
15024 027714 PUSH <R2,R0> ; ....SAVE R2 AND R0
027714 010246 MOV R2,-(SP)
027716 010046 MOV R0,-(SP)
15025 027720 010100 MOV R1,R0 ; ......POINT TO THE SHIFT COUNT
15026 027722 CALL .TPXTN ; ......DO THE SIGN EXTENSION
027722 004737 027264' JSR PC,.TPXTN
15027 027726 CALL .TPTST ; ......SEE WHAT IT IS
027726 004737 027340' JSR PC,.TPTST
15028 027732 001432 BEQ 30$ ; ......EXIT IF .EQ. ZERO
15029 027734 002415 BLT 20$ ; ......SHIFT RIGHT IF .LT. ZERO
15030
15031 ; [CONTINUED ON THE FOLLOWING PAGE]
TPSIM -- TRIPLE PRECISION ARIT MACRO M1108 13-JAN-78 09:14 PAGE 456
.TPSHL -- SHIFT A 48 BIT NUMBER BY A 48 BIT NUMBER 7601.19
15033 ; [CONTINUED FROM THE PREVIOUS PAGE]
15034
15035 027736 10$: ; ......HERE TO SHIFT LEFT
15036 027736 010002 MOV R0,R2 ; ......SHIFT COUNT POINTER TO R2
15037 027740 011600 MOV (SP),R0 ; ......POINT TO THE NUMBER
15038 027742 012701 000001 MOV #^D1,R1 ; ......SUBSTITUTE SHIFT COUNT
15039 027746 CALL .TPSHI ; ......SHIFT IT ONCE
027746 004737 027636' JSR PC,.TPSHI
15040 027752 010200 MOV R2,R0 ; ......REAL SHIFT COUNT POINTER TO R0
15041 027754 CALL .TPDEC ; ......DECREMENT IT
027754 004737 027414' JSR PC,.TPDEC
15042 027760 CALL .TPTST ; ......ARE WE DONE?
027760 004737 027340' JSR PC,.TPTST
15043 027764 001364 BNE 10$ ; ......NO -- KEEP GOING
15044 027766 000414 BR 30$ ; ......YES -- EXIT
15045 ;
15046 027770 20$: ; ......HERE TO SHIFT RIGHT
15047 027770 010002 MOV R0,R2 ; ......SHIFT COUNT TO R2
15048 027772 011600 MOV (SP),R0 ; ......POINT TO THE NUMBER
15049 027774 012701 177777 MOV #-^D1,R1 ; ......SUBSTITUTE SHIFT COUNT
15050 030000 CALL .TPSHI ; ......SHIFT IT
030000 004737 027636' JSR PC,.TPSHI
15051 030004 010200 MOV R2,R0 ; ......REAL SHIFT COUNT POINTER TO R0
15052 030006 CALL .TPINC ; ......INCREMENT IT
030006 004737 027402' JSR PC,.TPINC
15053 030012 CALL .TPTST ; ......ARE WE DONE?
030012 004737 027340' JSR PC,.TPTST
15054 030016 001364 BNE 20$ ; ......NO -- KEEP GOING
15055 030020 30$:
15056 030020 POP <R0,R2> ; ......RESTORE R0 AND R2
030020 012600 MOV (SP)+,R0
030022 012602 MOV (SP)+,R2
15057 030024 POP <R1,(R1),-(R1),-(R1)>
030024 012601 MOV (SP)+,R1
030026 012611 MOV (SP)+,(R1)
030030 012641 MOV (SP)+,-(R1)
030032 012641 MOV (SP)+,-(R1)
15058 030034 RETURN ; RETURN TO CALLER
030034 000207 RTS PC
TRACK -- DIAGNOSTIC FUNCTION TR MACRO M1108 13-JAN-78 09:14 PAGE 457
.TPSHL -- SHIFT A 48 BIT NUMBER BY A 48 BIT NUMBER 7601.19
15060 .TITLE TRACK -- DIAGNOSTIC FUNCTION TRACK MODULE 7603.30
15061
15062 .IDENT "001010"
15063
15064 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
15065 ;
15066 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
15067 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
15068 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
15069 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
15070 ; FOR ITS ACCURACY.
15071 ;
15072 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
15073 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
15074 ;
15075 ;
15076 ; MODULE: DAIGNOSTIC FUNCTION TRACK
15077 ;
15078 ; VERSION: 01-01
15079 ;
15080 ; AUTHOR: R. BELANGER
15081 ;
15082 ; DATE: 7603.30
15083 ;
15084 ; THIS MODULE CONTAINS:
15085 ;
15086 ; 1) DIAGNOSTIC FUNCTION TRACK CODE
TRACK -- DIAGNOSTIC FUNCTION TR MACRO M1108 13-JAN-78 09:14 PAGE 458
.TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE 7512.09
15088 .SBTTL .TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE 7512.09
15089
15090 ;+
15091 ; .FRTRK -- SUBROUTINE TO TRACK A FUNCTION READ.
15092 ; .FWTRK -- SUBROUTINE TO TRACK A FUNCTION WRITE.
15093 ; .FXTRK -- SUBROUTINE TO TRACK A FUNCTION EXECUTE.
15094 ;
15095 ; THESE SUBROUTINES TRACK A FUNCTION READ, WRITE, OR EXECUTE
15096 ; BY DISPLAYING THE FUNCTION CODE AND THE CONTENT OF THE BUFFER
15097 ; ON THE FRONT END OUTPUT DEVICE.
15098 ;
15099 ; THESE SUBROUTINES ARE CALLED INTERNALLY AND ARE DEPENDENT UPON THE
15100 ; STATE OF THE SWITCHES IN ".TRKWD". THE ".TRKWD" SWITCHES ARE TURNED
15101 ; ON OR OFF BY THE "SET" AND "CLEAR TRACK" COMMANDS, RESPECTIVELY.
15102 ;
15103 ; ERROR CODES RETURNED:
15104 ;
15105 ; NONE.
15106 ;-
15107
15108 .IF NE FTTRAK
15109
15110 .ENABL LSB
15111
15112 030036 .FRTRK::
15113 030036 PUSH R0 ; SAVE R0 ON THE STACK
030036 010046 MOV R0,-(SP)
15114 030040 PUSH .KLDFR+2 ; .SAVE THE FR CODE TOO
030040 013746 010730' MOV .KLDFR+2,-(SP)
15115 030044 PUSH #.DFRB ; ..AND THE BUFFER ADDRESS
030044 012746 000222' MOV #.DFRB,-(SP)
15116 030050 012700 006432' MOV #TFRMSG,R0 ; ...MESSAGE POINTER TO R0
15117 030054 000416 BR 10$ ; ...DO THE TRACKING
15118 ;
15119 030056 .FWTRK::
15120 030056 PUSH R0 ; SAVE R0 ON THE STACK
030056 010046 MOV R0,-(SP)
15121 030060 PUSH .KLDFW+2 ; .SAVE THE FW CODE
030060 013746 011064' MOV .KLDFW+2,-(SP)
15122 030064 PUSH #.DFWB ; ..AND THE BUFFER ADDRESS
030064 012746 000214' MOV #.DFWB,-(SP)
15123 030070 012700 006447' MOV #TFWMSG,R0 ; ...MESSAGE POINTER TO R0
15124 030074 000406 BR 10$ ; ...GO TRACK IT
15125 ;
15126 030076 .FXTRK::
15127 030076 PUSH R0 ; SAVE R0 ON THE STACK
030076 010046 MOV R0,-(SP)
15128 030100 PUSH .KLDFX+2 ; .SAVE THE FX CODE
030100 013746 011246' MOV .KLDFX+2,-(SP)
15129 030104 005046 CLR -(SP) ; ..NO BUFFER ADDRESS
15130 030106 012700 006464' MOV #TFXMSG,R0 ; ...MESSAGE POINTER TO R0
15131 ; BR 10$ ; ...AND FALL INTO COMMON CODE
15132 ;
15133
15134 ; [CONTINUED ON THE FOLLOWING PAGE]
TRACK -- DIAGNOSTIC FUNCTION TR MACRO M1108 13-JAN-78 09:14 PAGE 459
.TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE 7512.09
15136 ; [CONTINUED FROM THE PREVIOUS PAGE]
15137
15138 030112 10$:
15139 030112 012737 177777 000100' MOV #-^D1,.LDZFL ; ...PRINT LEADING ZEROES
15140 030120 CALL .TYMSG ; ...PRINT THE MESSAGE
030120 004737 031434' JSR PC,.TYMSG
15141 030124 016600 000002 MOV 2(SP),R0 ; ...GET THE FUNCTION CODE
15142 030130 000300 SWAB R0 ; ...SWAP THE BYTES
15143 030132 042700 177400 BIC #177400,R0 ; ...FLUSH JUNK FROM HIGH BYTE
15144 030136 006200 ASR R0 ; ...DIVIDE IT BY 2
15145 030140 CALL .TYP3D ; ...TYPE THAT
030140 004737 030742' JSR PC,.TYP3D
15146 030144 011600 MOV (SP),R0 ; ...BUFFER ADDRESS?
15147 030146 001406 BEQ 20$ ; ...NO -- JUST EXIT
15148 030150 CALL .TYSLS ; ...YES -- TYPE A SLASH AND
030150 004737 030634' JSR PC,.TYSLS
15149 030154 CALL .TYSPC ; ...TYPE A <SPACE> AND
030154 004737 030644' JSR PC,.TYSPC
15150 030160 CALL .TYKLN ; ...TYPE ITS CONTENT
030160 004737 031066' JSR PC,.TYKLN
15151 030164 20$:
15152 030164 CALL .TCRLF ; ...NOW A <CRLF>
030164 004737 031524' JSR PC,.TCRLF
15153 030170 022626 CMP (SP)+,(SP)+ ; ...GET RID OF BUFFER POINTER AND CODE
15154 030172 POP R0 ; .RESTORE R0
030172 012600 MOV (SP)+,R0
15155 030174 RETURN ; AND GO AWAY
030174 000207 RTS PC
15156
15157 .DSABL LSB
15158
15159 006432 .PSECT MESSAG
15160
15161 006432 TFRMSG:
15162 006432 011 124 122 .ASCIZ % TRACK > FR %
006435 101 103 113
006440 040 076 040
006443 106 122 040
006446 000
15163 006447 TFWMSG:
15164 006447 011 124 122 .ASCIZ % TRACK > FW %
006452 101 103 113
006455 040 076 040
006460 106 127 040
006463 000
15165 006464 TFXMSG:
15166 006464 011 124 122 .ASCIZ % TRACK > FX %
006467 101 103 113
006472 040 076 040
006475 106 130 040
006500 000
15167 030176 .PSECT
15168
15169 .ENDC ; FTTRAK
TSCAN -- TABLE SCANNER MODULE 7 MACRO M1108 13-JAN-78 09:14 PAGE 460
.TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE 7512.09
15171 .TITLE TSCAN -- TABLE SCANNER MODULE 7703.25
15172
15173 .IDENT "001020"
15174
15175 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
15176 ;
15177 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
15178 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
15179 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
15180 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
15181 ; FOR ITS ACCURACY.
15182 ;
15183 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
15184 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
15185 ;
15186 ;
15187 ; MODULE: TABLE SCANNER
15188 ;
15189 ; VERSION: 01-02
15190 ;
15191 ; AUTHOR: R. BELANGER
15192 ;
15193 ; DATE: 7703.25
15194 ;
15195 ; THIS MODULE CONTAINS:
15196 ;
15197 ; 1) TABLE SCANNER CODE
TSCAN -- TABLE SCANNER MODULE 7 MACRO M1108 13-JAN-78 09:14 PAGE 461
.TSCAN -- ROUTINE TO SCAN A SYMBOL TABLE 7703.25
15199 .SBTTL .TSCAN -- ROUTINE TO SCAN A SYMBOL TABLE 7703.25
15200
15201 ;+
15202 ; .TSCAN -- ROUTINE TO SCAN AN ".ASCIZ" SYMBOL TABLE.
15203 ;
15204 ; THIS ROUTINE WILL SCAN A SYMBOL TABLE AND RETURN THE DISPATCH
15205 ; ADDRESS ASSOCIATED WITH THE SYMBOL IN R0.
15206 ;
15207 ; THE ENTRIES IN THE SYMBOL TABLE ARE OF THE FORM:
15208 ;
15209 ; !=======================================!
15210 ; ! POINTER TO ".ASCIZ" SYMBOL !
15211 ; !---------------------------------------!
15212 ; ! LEGAL BITS FOR OBJECT !
15213 ; !---------------------------------------!
15214 ; ! DISPATCH FOR OBJECT !
15215 ; !=======================================!
15216 ;
15217 ; INPUT ARGUMENTS:
15218 ;
15219 ; R0 POINTS TO THE SYMBOL TABLE
15220 ;
15221 ; OUTPUT ARGUMENTS:
15222 ;
15223 ; R0 POINTS TO THE "LEGAL" BITS OF THE MATCHED SYMBOL
15224 ;
15225 ; ERROR CODES RETURNED:
15226 ;
15227 ; AMB -- AMBIGUOUS KEYWORD.
15228 ; NSK -- NON-EXISTENT KEYWORD.
15229 ; WRM -- WRONG MODE FOR COMMAND.
15230 ;-
TSCAN -- TABLE SCANNER MODULE 7 MACRO M1108 13-JAN-78 09:14 PAGE 462
.TSCAN -- ROUTINE TO SCAN A SYMBOL TABLE 7703.25
15232 030176 .TSCAN::
15233 030176 CALL .CKCTC ; SEE IF "^C" WAS TYPED
030176 004737 002126' JSR PC,.CKCTC
15234 030202 CALL .CKSYM ; GET OVER LEADING BLANKS
030202 004737 002112' JSR PC,.CKSYM
15235 030206 122704 000077 CMPB #'?,R4 ; IS THIS AN INQUIRY?
15236 030212 001442 BEQ 50$ ; YES -- DISPLAY THE TABLE
15237 030214 PUSH R1 ; NO -- SAVE R1 ON THE STACK
030214 010146 MOV R1,-(SP)
15238 030216 PUSH R5 ; .SAVE THE INPUT POINTER
030216 010546 MOV R5,-(SP)
15239 030220 010001 MOV R0,R1 ; ..TABLE POINTER TO R1
15240 030222 PUSH R5 ; ..SAVE THE INPUT POINTER AGAIN
030222 010546 MOV R5,-(SP)
15241 030224 005046 CLR -(SP) ; ...CLEAR A SCRATCH AREA
15242 030226 10$:
15243 030226 012100 MOV (R1)+,R0 ; ....GET THE ADDRESS OF THE SYMBOL
15244 030230 CALL .SSCAN ; ....SCAN IT
030230 004737 026114' JSR PC,.SSCAN
15245 030234 103412 BCS 30$ ; ....NO MATCH -- TRY NEXT ENTRY
15246 030236 001004 BNE 20$ ; ....MATCH -- SAVE POINTER AND CONTINUE
15247 030240 010100 MOV R1,R0 ; ....EXACT MATCH -- PUT THE POINTER IN R0
15248 030242 010566 000004 MOV R5,4(SP) ; ....FIX THE INPUT POINTER
15249 030246 000414 BR 40$ ; ....AND SET UP FOR EXIT
15250 ;
15251 030250 20$:
15252 030250 005716 TST (SP) ; ....HAVE WE ALREADY FOUND A MATCH?
15253 030252 001057 BNE TSCAMB ; ....YES -- GIVE "AMB" ERROR
15254 030254 010116 MOV R1,(SP) ; ....NO -- SAVE POINTER AND GO ON
15255 030256 010566 000004 MOV R5,4(SP) ; ....SAVE THE BUFFER POINTER
15256 030262 30$:
15257 030262 016605 000002 MOV 2(SP),R5 ; ....RESET THE INPUT POINTER
15258 030266 022121 CMP (R1)+,(R1)+ ; ....ADVANCE THE POINTER
15259 030270 005711 TST (R1) ; ....IS THIS THE END OF THE TABLE?
15260 030272 001355 BNE 10$ ; ....NO -- TRY THIS SYMBOL
15261 030274 011600 MOV (SP),R0 ; ....YES -- DID WE FIND A MATCH?
15262 030276 001452 BEQ TSCNSK ; ....NO -- GIVE "NSK" ERROR
15263 030300 40$:
15264 030300 033710 000000G BIT .FEMOD,(R0) ; ....YES -- CAN WE DO THIS COMMAND?
15265 030304 001452 BEQ TSCWRM ; ....NO -- GIVE "WRM" ERROR
15266 030306 022626 CMP (SP)+,(SP)+ ; ....YES -- CLEAR THE STACK
15267 030310 POP R5 ; ..RETURN UPDATED LINE POINTER
030310 012605 MOV (SP)+,R5
15268 030312 111504 MOVB (R5),R4 ; .PUT THE DELIMITER IN R4
15269 030314 POP R1 ; .RESTORE R1
030314 012601 MOV (SP)+,R1
15270 030316 RETURN ; WITH POINTER TO LEGAL BITS IN R0
030316 000207 RTS PC
TSCAN -- TABLE SCANNER MODULE 7 MACRO M1108 13-JAN-78 09:14 PAGE 463
.TSCAN -- ROUTINE TO SCAN A SYMBOL TABLE 7703.25
15272 030320 50$:
15273 030320 105725 TSTB (R5)+ ; GET OVER THE "?"
15274 030322 CALL .CKEOC ; CHECK FOR E-O-C
030322 004737 002010' JSR PC,.CKEOC
15275 030326 010001 MOV R0,R1 ; TABLE POINTER TO R1
15276 030330 CALL .TCRLF ; TYPE A <CRLF>
030330 004737 031524' JSR PC,.TCRLF
15277 030334 013700 000002' MOV .CCMDN,R0 ; CURRENT COMMAND NAME
15278 030340 CALL .TYMSG ; PRINT THAT
030340 004737 031434' JSR PC,.TYMSG
15279 030344 012700 006501' MOV #TDMSG0,R0 ; REST OF LINE
15280 030350 CALL .TYLIN ; PRINT IT
030350 004737 031420' JSR PC,.TYLIN
15281 030354 60$:
15282 030354 012100 MOV (R1)+,R0 ; NAME POINTER TO R0
15283 030356 001411 BEQ 80$ ; EXIT IF NULL
15284 030360 031137 000000G BIT (R1),.FEMOD ; COMMAND LEGAL IN THIS MODE?
15285 030364 001404 BEQ 70$ ; NO -- GO ON
15286 030366 CALL .TYSPC ; YES -- SPACE OVER
030366 004737 030644' JSR PC,.TYSPC
15287 030372 CALL .TYLIN ; PRINT THIS NAME
030372 004737 031420' JSR PC,.TYLIN
15288 030376 70$:
15289 030376 022121 CMP (R1)+,(R1)+ ; POINT TO THE NEXT NAME
15290 030400 000765 BR 60$ ; AND GO ON
15291 ;
15292 030402 80$:
15293 030402 013706 000136' MOV .SVESP,SP ; RESET THE STACK
15294 030406 000177 147522 JMP @.STRTV ; AND START OVER
15295 ;
TSCAN -- TABLE SCANNER MODULE 7 MACRO M1108 13-JAN-78 09:14 PAGE 464
.TSCAN -- ROUTINE TO SCAN A SYMBOL TABLE 7703.25
15297 030412 TSCAMB:
15298 030412 016605 000002 MOV 2(SP),R5 ; RESET INPUT POINTER
15299 030416 ERROR$ AMB ; .ERROR -- MULTIPLE MATCH
030416 012746 MOV (PC)+,-(SP) ; "AMB" IN RAD50 TO STACK
030420 004112 .RAD50 /AMB/ ; ERROR IDENTIFIER
030422 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
15300 ;
15301 030424 TSCNSK:
15302 030424 ERROR$ NSK ; .ERROR -- NON-EXISTENT KEYWORD
030424 012746 MOV (PC)+,-(SP) ; "NSK" IN RAD50 TO STACK
030426 055203 .RAD50 /NSK/ ; ERROR IDENTIFIER
030430 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
15303 ;
15304 030432 TSCWRM:
15305 030432 ERROR$ WRM ; .ERROR -- WRONG MODE FOR COMMAND
030432 012746 MOV (PC)+,-(SP) ; "WRM" IN RAD50 TO STACK
030434 111235 .RAD50 /WRM/ ; ERROR IDENTIFIER
030436 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
15306 ;
15307
15308 006501 .PSECT MESSAG
15309
15310 006501 TDMSG0:
15311 006501 040 103 117 .ASCIZ % COMMANDS ARE:%
006504 115 115 101
006507 116 104 123
006512 040 101 122
006515 105 072 000
15312 030440 .PSECT
TYDAT -- DATE OUTPUT MODULE 770 MACRO M1108 13-JAN-78 09:14 PAGE 465
.TSCAN -- ROUTINE TO SCAN A SYMBOL TABLE 7703.25
15314 .TITLE TYDAT -- DATE OUTPUT MODULE 7702.16
15315
15316 .IDENT "003000"
15317
15318 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
15319 ;
15320 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
15321 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
15322 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
15323 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
15324 ; FOR ITS ACCURACY.
15325 ;
15326 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
15327 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
15328 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
15329 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
15330 ;
15331 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
15332 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
15333 ;
15334 ;
15335 ; MODULE: DATE OUTPUT CODE
15336 ;
15337 ; VERSION: 03-00
15338 ;
15339 ; AUTHOR: R. BELANGER
15340 ;
15341 ; DATE: 7702.16
15342 ;
15343 ; THIS MODULE CONTAINS:
15344 ;
15345 ; 1) DATE OUTPUT CODE
15346 ;
15347 ; MODIFICATIONS:
15348 ;
15349 ; NO. DATE PROGRAMMER REASON
15350 ; --- ---- ---------- ------
15351 ; 001 16-FEB-77 R. BELANGER REMOVE KLINIK CONDITIONALS
TYDAT -- DATE OUTPUT MODULE 770 MACRO M1108 13-JAN-78 09:14 PAGE 466
.TYDAT -- SUBROUTINE TO TYPE A DATE 7702.16
15353 .SBTTL .TYDAT -- SUBROUTINE TO TYPE A DATE 7702.16
15354
15355 ;+
15356 ; .TYDAT -- SUBROUTINE TO TYPE A DATE
15357 ;
15358 ; THIS SUBROUTINE WILL OUTPUT A DATE ON THE CONSOLE DEVICE IN THE
15359 ; FOLLOWING FORMAT: "DD-MMM-YY".
15360 ;
15361 ; INPUT ARGUMENTS:
15362 ;
15363 ; R0 POINTS TO A THREE BYTE BLOCK CONTAINING THE DATE
15364 ;
15365 ; OUTPUT ARGUMENTS:
15366 ;
15367 ; NONE.
15368 ; ERROR CODES RETURNED:
15369 ;
15370 ; NONE.
15371 ;-
15372
15373
15374 030440 .TYDAT::
15375 030440 PUSH <.ORADX,R0,R2> ; SAVE CALLER'S REGISTERS
030440 013746 000106' MOV .ORADX,-(SP)
030444 010046 MOV R0,-(SP)
030446 010246 MOV R2,-(SP)
15376 030450 012737 000012 000106' MOV #^D10,.ORADX ; ...SET THE RADIX TO DECIMAL
15377 030456 010002 MOV R0,R2 ; ...CALLER'S POINTER TO R2
15378 030460 122222 CMPB (R2)+,(R2)+ ; ...ADVANCE THE POINTER
15379 030462 111200 MOVB (R2),R0 ; ...GET THE DAY
15380 030464 CALL .TYELA ; ...PRINT IT
030464 004737 030672' JSR PC,.TYELA
15381 030470 CALL .TYMIN ; ...AND A <DASH>
030470 004737 030624' JSR PC,.TYMIN
15382 030474 114200 MOVB -(R2),R0 ; ...GET THE MONTH
15383 030476 006300 ASL R0 ; ...MAKE IT AN EVEN INDEX
15384 030500 016000 030552' MOV TYDMTB-2(R0),R0 ; ...POINT TO THE STRING
15385 030504 CALL .TYMSG ; ...PRINT IT
030504 004737 031434' JSR PC,.TYMSG
15386 030510 CALL .TYMIN ; ...AND A <DASH>
030510 004737 030624' JSR PC,.TYMIN
15387 030514 122742 000011 CMPB #^D9,-(R2) ; ...'09 OR EARLIER?
15388 030520 002404 BLT 10$ ; ...NO -- GO ON
15389 030522 012700 000060 MOV #'0,R0 ; ...YES -- FORCE THE LEADING ZERO
15390 030526 CALL .TYCHR ; ...SO
030526 004737 031472' JSR PC,.TYCHR
15391
15392 ; [CONTINUED ON THE FOLLOWING PAGE]
TYDAT -- DATE OUTPUT MODULE 770 MACRO M1108 13-JAN-78 09:14 PAGE 467
.TYDAT -- SUBROUTINE TO TYPE A DATE 7702.16
15394 ; [CONTINUED FROM THE PREVIOUS PAGE]
15395
15396 030532 10$:
15397 030532 111200 MOVB (R2),R0 ; ...GET THE YEAR
15398 030534 CALL .TYELA ; ...PRINT IT
030534 004737 030672' JSR PC,.TYELA
15399 030540 POP <R2,R0,.ORADX> ; ...RESTORE THE REGISTERS
030540 012602 MOV (SP)+,R2
030542 012600 MOV (SP)+,R0
030544 012637 000106' MOV (SP)+,.ORADX
15400 030550 CALLR .TYSPC ; PRINT A <SPACE> AND EXIT
030550 000137 030644' JMP .TYSPC
15401 ;
15402 030554 TYDMTB:
15403 030554 006520' .WORD TYDMJA
15404 030556 006524' .WORD TYDMFE
15405 030560 006530' .WORD TYDMMR
15406 030562 006534' .WORD TYDMAP
15407 030564 006540' .WORD TYDMMY
15408 030566 006544' .WORD TYDMJN
15409 030570 006550' .WORD TYDMJL
15410 030572 006554' .WORD TYDMAU
15411 030574 006560' .WORD TYDMSE
15412 030576 006564' .WORD TYDMOC
15413 030600 006570' .WORD TYDMNO
15414 030602 006574' .WORD TYDMDE
TYDAT -- DATE OUTPUT MODULE 770 MACRO M1108 13-JAN-78 09:14 PAGE 468
.TYDAT -- SUBROUTINE TO TYPE A DATE 7702.16
15416 006520 .PSECT MESSAG
15417
15418 006520 TYDMJA:
15419 006520 112 101 116 .ASCIZ %JAN%
006523 000
15420 006524 TYDMFE:
15421 006524 106 105 102 .ASCIZ %FEB%
006527 000
15422 006530 TYDMMR:
15423 006530 115 101 122 .ASCIZ %MAR%
006533 000
15424 006534 TYDMAP:
15425 006534 101 120 122 .ASCIZ %APR%
006537 000
15426 006540 TYDMMY:
15427 006540 115 101 131 .ASCIZ %MAY%
006543 000
15428 006544 TYDMJN:
15429 006544 112 125 116 .ASCIZ %JUN%
006547 000
15430 006550 TYDMJL:
15431 006550 112 125 114 .ASCIZ %JUL%
006553 000
15432 006554 TYDMAU:
15433 006554 101 125 107 .ASCIZ %AUG%
006557 000
15434 006560 TYDMSE:
15435 006560 123 105 120 .ASCIZ %SEP%
006563 000
15436 006564 TYDMOC:
15437 006564 117 103 124 .ASCIZ %OCT%
006567 000
15438 006570 TYDMNO:
15439 006570 116 117 126 .ASCIZ %NOV%
006573 000
15440 006574 TYDMDE:
15441 006574 104 105 103 .ASCIZ %DEC%
006577 000
15442
15443 030604 .PSECT
15444
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1108 13-JAN-78 09:14 PAGE 469
.TYDAT -- SUBROUTINE TO TYPE A DATE 7702.16
15446 .TITLE TYOUT -- GENERAL TERMINAL OUTPUT MODULE 7603.30
15447
15448 .IDENT "001010"
15449
15450 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
15451 ;
15452 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
15453 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
15454 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
15455 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
15456 ; FOR ITS ACCURACY.
15457 ;
15458 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
15459 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
15460 ;
15461 ;
15462 ; MODULE: GENERAL TERMINAL OUTPUT
15463 ;
15464 ; VERSION: 01-01
15465 ;
15466 ; AUTHOR: R. BELANGER
15467 ;
15468 ; DATE: 7603.30
15469 ;
15470 ; THIS MODULE CONTAINS:
15471 ;
15472 ; 1) GENERAL TERMINAL OUTPUT CODE
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1108 13-JAN-78 09:14 PAGE 470
.TYAST -- SPECIAL CHARACTER OUTPUT SUBROUTINES 7601.23
15474 .SBTTL .TYAST -- SPECIAL CHARACTER OUTPUT SUBROUTINES 7601.23
15475
15476 ;+
15477 ; .TYAST -- SUBROUTINE TO TYPE AN <ASTERISK> ON THE CONSOLE OUTPUT DEVICE.
15478 ; .TYCOL -- SUBROUTINE TO TYPE A <COLON> ON THE CONSOLE OUTPUT DEVICE.
15479 ; .TYCOM -- SUBROUTINE TO TYPE A <COMMA> ON THE CONSOLE OUTPUT DEVICE.
15480 ; .TYMIN -- SUBROUTINE TO TYPE A <MINUS> ON THE CONSOLE OUTPUT DEVICE.
15481 ; .TYSLS -- SUBROUTINE TO TYPE A <SLASH> ON THE CONSOLE OUTPUT DEVICE.
15482 ; .TYSPC -- SUBROUTINE TO TYPE A <SPACE> ON THE CONSOLE OUTPUT DEVICE.
15483 ; .TYUPA -- SUBROUTINE TO TYPE AN <UP-ARROW> ON THE CONSOLE OUTPUT DEVICE.
15484 ;
15485 ; THESE SUBROUTINES TYPE THE INDICATED CHARACTER(S) ON THE CONSOLE
15486 ; OUTPUT DEVICE.
15487 ;
15488 ; INPUT ARGUMENTS:
15489 ;
15490 ; NONE.
15491 ;
15492 ; OUTPUT ARGUMENTS:
15493 ;
15494 ; NONE.
15495 ;
15496 ; ERROR CODES RETURNED:
15497 ;
15498 ; IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
15499 ;-
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1108 13-JAN-78 09:14 PAGE 471
.TYAST -- SPECIAL CHARACTER OUTPUT SUBROUTINES 7601.23
15501 .ENABL LSB
15502
15503 030604 .TYCOL::
15504 030604 PUSH R0 ; SAVE R0
030604 010046 MOV R0,-(SP)
15505 030606 012700 000072 MOV #':,R0 ; .<COLON> TO R0
15506 030612 000423 BR 10$ ; .DO OUTPUT
15507 ;
15508 030614 .TYCOM::
15509 030614 PUSH R0 ; SAVE R0
030614 010046 MOV R0,-(SP)
15510 030616 012700 000054 MOV #',,R0 ; .<COMMA> TO R0
15511 030622 000417 BR 10$ ; .OUTPUT IT
15512 ;
15513 030624 .TYMIN::
15514 030624 PUSH R0 ; SAVE R0
030624 010046 MOV R0,-(SP)
15515 030626 012700 000055 MOV #'-,R0 ; <HYPHEN> TO R0
15516 030632 000413 BR 10$ ; .DO OUTPUT
15517 ;
15518 030634 .TYSLS::
15519 030634 PUSH R0 ; SAVE R0
030634 010046 MOV R0,-(SP)
15520 030636 012700 000057 MOV #'/,R0 ; .<SLASH> TO R0
15521 030642 000407 BR 10$ ; .OUTPUT IT
15522 ;
15523 030644 .TYSPC::
15524 030644 PUSH R0 ; SAVE R0
030644 010046 MOV R0,-(SP)
15525 030646 012700 000040 MOV #.SPACE,R0 ; .<SPACE> TO R0
15526 030652 000403 BR 10$ ; .OUTPUT IT
15527 ;
15528 030654 .TYUPA::
15529 030654 PUSH R0 ; SAVE R0
030654 010046 MOV R0,-(SP)
15530 030656 012700 000136 MOV #'^,R0 ; .<UP-ARROW> TO R0
15531 030662 10$:
15532 030662 CALL .TYCHR ; .OUTPUT IT
030662 004737 031472' JSR PC,.TYCHR
15533 030666 POP R0 ; .RESTORE R0
030666 012600 MOV (SP)+,R0
15534 030670 RETURN ; TO CALLER
030670 000207 RTS PC
15535
15536 .DSABL LSB
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1108 13-JAN-78 09:14 PAGE 472
.TYELA -- SUBROUTINE TO TYPE A PDP-11 ADDRESS 7601.23
15538 .SBTTL .TYELA -- SUBROUTINE TO TYPE A PDP-11 ADDRESS 7601.23
15539
15540 ;+
15541 ; .TYELA -- SUBROUTINE TO TYPE A PDP-11 ADDRESS
15542 ; .TYELN -- SUBROUTINE TO TYPE A PDP-11 NUMBER
15543 ;
15544 ; THIS SUBROUTINE WILL TYPE AND FORMAT A PDP-11 NUMBER ACCORDING TO THE
15545 ; CURRENT OUTPUT RADIX IN ".ORADX". STANDARD FORMATS ARE:
15546 ;
15547 ; (A) BINARY: 3 DIGITS AND A SPACE -- XXX<SP>XXX<SP>.....
15548 ; (B) OCTAL: 6 DIGITS -- XXXXXX
15549 ; (C) DECIMAL: NO FORMATTING
15550 ;
15551 ; INPUT ARGUMENTS:
15552 ;
15553 ; R0 HOLDS THE NUMBER TO BE PRINTED
15554 ;
15555 ; OUTPUT ARGUMENTS (TO ".TYNCM"):
15556 ;
15557 ; R0 POINTS TO THE NUMBER TO BE PRINTED (ON THE STACK)
15558 ; R3 POINTS TO A FORMAT TABLE
15559 ;
15560 ; ERROR CODES RETURNED:
15561 ;
15562 ; IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
15563 ;-
15564 .ENABL LSB
15565
15566
15567 030672 .TYELA::
15568 030672 005037 000100' CLR .LDZFL ; NO LEADING ZEROES
15569 030676 .TYELN::
15570 030676 PUSH <R3,R2,R1,R0> ; SAVE CALLER'S REGISTERS
030676 010346 MOV R3,-(SP)
030700 010246 MOV R2,-(SP)
030702 010146 MOV R1,-(SP)
030704 010046 MOV R0,-(SP)
15571 030706 005003 CLR R3 ; ....ASSUME UNFORMATTED RADIX
15572 030710 022737 000002 000106' CMP #^D2,.ORADX ; ....BINARY?
15573 030716 001002 BNE 10$ ; ....NO
15574 030720 012703 031244' MOV #ELNBIN,R3 ; ....BINARY FORMAT TABLE TO R3
15575 030724 10$:
15576 030724 022737 000012 000106' CMP #^D10,.ORADX ; ....DECIMAL?
15577 030732 001424 BEQ 30$ ; ....YES
15578 030734 012703 031262' MOV #ELNOCT,R3 ; ....OCTAL FORMAT TABLE TO R3
15579 030740 000421 BR 30$ ; ....SET UP POINTERS AND EXIT
15580 ;
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1108 13-JAN-78 09:14 PAGE 473
.TYP3D -- SUBROUTINE TO TYPE A THREE DIGIT NUMBER 7601.23
15582 .SBTTL .TYP3D -- SUBROUTINE TO TYPE A THREE DIGIT NUMBER 7601.23
15583
15584 ;+
15585 ; .TYP3D -- SUBROUTINE TO TYPE A THREE DIGIT NUMBER
15586 ;
15587 ; THIS SUBROUTINE WILL TYPE AND FORMAT A PDP-11 NUMBER ACCORDING TO THE
15588 ; CURRENT OUTPUT RADIX IN ".ORADX". STANDARD FORMATS ARE:
15589 ;
15590 ; (A) BINARY: 3 DIGITS AND A SPACE -- XXX<SP>XXX<SP>.....
15591 ; (B) OCTAL: 3 DIGITS -- XXX
15592 ; (C) DECIMAL: NO FORMATTING
15593 ;
15594 ; INPUT ARGUMENTS:
15595 ;
15596 ; R0 HOLDS THE NUMBER TO BE PRINTED
15597 ;
15598 ; OUTPUT ARGUMENTS (TO ".TYNCM"):
15599 ;
15600 ; R0 POINTS TO THE BYTE TO BE PRINTED (ON THE STACK)
15601 ; R3 POINTS TO A FORMAT TABLE
15602 ;
15603 ; ERROR CODES RETURNED:
15604 ;
15605 ; IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
15606 ;-
15607
15608 030742 .TYP3D::
15609 030742 PUSH <R3,R2,R1,R0> ; SAVE CALLER'S REGISTERS
030742 010346 MOV R3,-(SP)
030744 010246 MOV R2,-(SP)
030746 010146 MOV R1,-(SP)
030750 010046 MOV R0,-(SP)
15610 030752 005003 CLR R3 ; ....ASSUME UNFORMATTED RADIX
15611 030754 022737 000002 000106' CMP #^D2,.ORADX ; ....BINARY?
15612 030762 001002 BNE 20$ ; ....NO
15613 030764 012703 031252' MOV #ELBBIN,R3 ; ....BINARY FORMAT TABLE TO R3
15614 030770 20$:
15615 030770 022737 000012 000106' CMP #^D10,.ORADX ; ....DECIMAL?
15616 030776 001402 BEQ 30$ ; ....YES
15617 031000 012703 031256' MOV #ELBOCT,R3 ; ....OCTAL FORMAT TABLE TO R3
15618 031004 30$:
15619 031004 005046 CLR -(SP) ; ....SET UP BUFFERS ON THE STACK
15620 031006 005046 CLR -(SP) ; .....
15621 031010 PUSH R0 ; ......NUMBER TO BE TYPED
031010 010046 MOV R0,-(SP)
15622 031012 010600 MOV SP,R0 ; .......POINT TO IT
15623 031014 000456 BR .TYNCM ; .......AND GO TO COMMON ROUTINE
15624 ;
15625
15626 .DSABL LSB
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1108 13-JAN-78 09:14 PAGE 474
.TYKLA -- SUBROUTINE TO TYPE A KL ADDRESS 7608.02
15628 .SBTTL .TYKLA -- SUBROUTINE TO TYPE A KL ADDRESS 7608.02
15629
15630 ;+
15631 ; .TYKLA -- SUBROUTINE TO TYPE A KL ADDRESS
15632 ;
15633 ; THIS SUBROUTINE WILL TYPE AND FORMAT A KL ADDRESS ACCORDING TO THE
15634 ; CURRENT OUTPUT RADIX IN ".ORADX". STANDARD FORMATS ARE:
15635 ;
15636 ; (A) BINARY: 3 DIGITS AND A SPACE -- XXX<SP>XXX<SP>.....
15637 ; (B) OCTAL: HALFWORD FORMAT -- XX<SP>XXXXXX
15638 ; (C) DECIMAL: NO FORMATTING
15639 ;
15640 ; INPUT ARGUMENTS:
15641 ;
15642 ; R0 POINTS TO THE KL ADDRESS TO BE PRINTED
15643 ;
15644 ; OUTPUT ARGUMENTS (TO ".TYNCM"):
15645 ;
15646 ; R0 POINTS TO THE ADDRESS TO BE PRINTED (ON THE STACK)
15647 ; R3 POINTS TO A FORMAT TABLE
15648 ;
15649 ; ERROR CODES RETURNED:
15650 ;
15651 ; IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
15652 ;-
15653
15654 .ENABL LSB
15655
15656 031016 .TYKLA::
15657 031016 005037 000100' CLR .LDZFL ; NO LEADING ZEROES
15658 031022 PUSH <R3,R2,R1,R0> ; SAVE CALLER'S REGISTERS
031022 010346 MOV R3,-(SP)
031024 010246 MOV R2,-(SP)
031026 010146 MOV R1,-(SP)
031030 010046 MOV R0,-(SP)
15659 031032 005003 CLR R3 ; ....ASSUME UNFORMATTED RADIX
15660 031034 022737 000002 000106' CMP #^D2,.ORADX ; ....BINARY?
15661 031042 001002 BNE 10$ ; ....NO
15662 031044 012703 031240' MOV #KLABIN,R3 ; ....BINARY FORMAT TABLE TO R3
15663 031050 10$:
15664 031050 022737 000012 000106' CMP #^D10,.ORADX ; ....DECIMAL?
15665 031056 001424 BEQ 30$ ; ....YES
15666 031060 012703 031264' MOV #KLAOCT,R3 ; ....OCTAL FORMAT TABLE TO R3
15667 031064 000421 BR 30$ ; ....GO DO COMMON CODE
15668 ;
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1108 13-JAN-78 09:14 PAGE 475
.TYKLN -- SUBROUTINE TO TYPE A KL NUMBER 7608.02
15670 .SBTTL .TYKLN -- SUBROUTINE TO TYPE A KL NUMBER 7608.02
15671
15672 ;+
15673 ; .TYKLN -- SUBROUTINE TO TYPE A KL NUMBER
15674 ;
15675 ; THIS SUBROUTINE WILL TYPE AND FORMAT A KL NUMBER ACCORDING TO THE
15676 ; CURRENT OUTPUT RADIX IN ".ORADX". STANDARD FORMATS ARE:
15677 ;
15678 ; (A) BINARY: 3 DIGITS AND A SPACE -- XXX<SP>XXX<SP>.....
15679 ; (B) OCTAL: 6 DIGITS AND A SPACE -- XXXXXX<SP>XXXXXX
15680 ; (C) DECIMAL: NO FORMATTING
15681 ;
15682 ; INPUT ARGUMENTS:
15683 ;
15684 ; R0 POINTS TO THE NUMBER TO BE PRINTED
15685 ;
15686 ; OUTPUT ARGUMENTS (TO ".TYNCM"):
15687 ;
15688 ; R0 POINTS TO THE NUMBER TO BE PRINTED (ON THE STACK)
15689 ; R3 POINTS TO A FORMAT TABLE
15690 ;
15691 ; ERROR CODES RETURNED:
15692 ;
15693 ; IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
15694 ;-
15695
15696 031066 .TYKLN::
15697 031066 PUSH <R3,R2,R1,R0> ; SAVE CALLER'S REGISTERS
031066 010346 MOV R3,-(SP)
031070 010246 MOV R2,-(SP)
031072 010146 MOV R1,-(SP)
031074 010046 MOV R0,-(SP)
15698 031076 005003 CLR R3 ; ....ASSUME UNFORMATTED RADIX
15699 031100 022737 000002 000106' CMP #^D2,.ORADX ; ....BINARY?
15700 031106 001002 BNE 20$ ; ....NO
15701 031110 012703 031230' MOV #KLNBIN,R3 ; ....BINARY FORMAT TABLE TO R3
15702 031114 20$:
15703 031114 022737 000012 000106' CMP #^D10,.ORADX ; ....DECIMAL?
15704 031122 001402 BEQ 30$ ; ....YES
15705 031124 012703 031260' MOV #KLNOCT,R3 ; ....OCTAL FORMAT TABLE TO R3
15706 031130 30$:
15707 031130 062700 000006 ADD #^D6,R0 ; ....POINT TO THE END OF THE NUMBER
15708 031134 PUSH -(R0) ; ....SET IT ON THE STACK
031134 014046 MOV -(R0),-(SP)
15709 031136 042710 177760 BIC #^C17,(R0) ; .....TRUNCATE TO 36 BITS
15710 031142 PUSH <-(R0),-(R0)> ; .....PUT THE REST ON THE STACK
031142 014046 MOV -(R0),-(SP)
031144 014046 MOV -(R0),-(SP)
15711 031146 010600 MOV SP,R0 ; .......POINT TO THE STACKED NUMBER
15712 031150 000400 BR .TYNCM ; .......AND GO TO COMMON ROUTINE
15713 ;
15714
15715 .DSABL LSB
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1108 13-JAN-78 09:14 PAGE 476
.TYNCM -- COMMON ENTRY POINT FOR ".TYNUM" 7601.23
15717 .SBTTL .TYNCM -- COMMON ENTRY POINT FOR ".TYNUM" 7601.23
15718
15719 ;+
15720 ; .TYNCM -- COMMON ENTRY POINT FOR ".TYNUM".
15721 ;
15722 ; THIS SUBROUTINE SETS UP THE REMAINDER OF THE ARGUMENTS REQUIRED
15723 ; BY ".TYNUM" FROM ".TYELN" AND ".TYKLN".
15724 ;
15725 ; INPUT ARGUMENTS:
15726 ;
15727 ; R1, R2, AND R3 ARE ON THE STACK
15728 ; R0 POINTS TO THE NUMBER TO BE PRINTED (ON THE STACK)
15729 ; R3 POINTS TO A FORMAT TABLE
15730 ;
15731 ; OUTPUT ARGUMENTS:
15732 ;
15733 ; R0 POINTS TO THE ORIGINAL NUMBER
15734 ;
15735 ; ERROR CODES RETURNED:
15736 ;
15737 ; IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
15738 ;-
15739
15740 031152 .TYNCM::
15741 031152 005046 CLR -(SP) ; .......SPACE FOR DIVISOR
15742 031154 005046 CLR -(SP) ; ........
15743 031156 005046 CLR -(SP) ; .........
15744 031160 010601 MOV SP,R1 ; ..........POINT TO IT
15745 031162 005002 CLR R2 ; ..........CLEAR R2
15746 031164 005737 000100' TST .LDZFL ; ..........ARE WE PRINTING LEADING ZEROS/
15747 031170 001006 BNE 10$ ; ..........YES -- GO ON
15748 031172 CALL .TPTST ; ..........NO -- IS THIS NUMBER .EQ. 0?
031172 004737 027340' JSR PC,.TPTST
15749 031176 001003 BNE 10$ ; ..........NO -- JUST PRINT IT
15750 031200 005003 CLR R3 ; ..........YES -- CALL IT UNFORMATTED
15751 031202 005337 000100' DEC .LDZFL ; ..........AND SAY WE PRINT ZEROES
15752 031206 10$:
15753 031206 CALL .TYNUM ; ..........FORMAT AND PRINT THE NUMBER
031206 004737 031270' JSR PC,.TYNUM
15754 031212 062706 000014 ADD #^D12,SP ; ..........FLUSH THE STACK
15755 031216 POP <R0,R1,R2,R3> ; ....RESTORE THE REGISTERS
031216 012600 MOV (SP)+,R0
031220 012601 MOV (SP)+,R1
031222 012602 MOV (SP)+,R2
031224 012603 MOV (SP)+,R3
15756 031226 RETURN ; TO CALLER
031226 000207 RTS PC
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1108 13-JAN-78 09:14 PAGE 477
.TYNCM -- COMMON ENTRY POINT FOR ".TYNUM" 7601.23
15758 ; THESE ARE THE FORMAT TABLES
15759
15760 031230 KLNBIN:: ; KL BINARY TABLE
15761 031230 003 040 .BYTE 3,.SPACE ; 3 DIGITS AND A SPACE
15762 031232 003 040 .BYTE 3,.SPACE
15763 031234 003 040 .BYTE 3,.SPACE
15764 031236 003 040 .BYTE 3,.SPACE
15765 031240 KLABIN:: ; KL ADDRESS BINARY
15766 031240 003 040 .BYTE 3,.SPACE
15767 031242 003 040 .BYTE 3,.SPACE
15768 031244 ELNBIN:: ; ELEVEN BINARY TABLE
15769 031244 003 040 .BYTE 3,.SPACE
15770 031246 003 040 .BYTE 3,.SPACE
15771 031250 003 040 .BYTE 3,.SPACE
15772 031252 ELBBIN:: ; PDP-11 BYTE BINARY TABLE
15773 031252 003 040 .BYTE 3,.SPACE
15774 031254 003 040 .BYTE 3,.SPACE
15775 031256 ELBOCT:: ; PDP-11 BYTE OCTAL TABLE
15776 031256 003 000 .BYTE 3,0 ; END OF TABLE
15777
15778 031260 KLNOCT:: ; KL OCTAL TABLE
15779 031260 006 040 .BYTE 6,.SPACE ; 6 DIGITS AND A SPACE
15780 031262 ELNOCT:: ; PDP-11 OCTAL TABLE
15781 031262 006 000 .BYTE 6,0 ; END OF TABLE
15782 031264 KLAOCT:: ; KL ADDRESS OCTAL
15783 031264 006 040 .BYTE 6,.SPACE
15784 031266 002 000 .BYTE 2,0
15785 .EVEN
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1108 13-JAN-78 09:14 PAGE 478
.TYNUM -- GENERAL SUBROUTINE TO TYPE A FORMATTED NUMBER 7601.2
15787 .SBTTL .TYNUM -- GENERAL SUBROUTINE TO TYPE A FORMATTED NUMBER 7601.23
15788
15789 ;+
15790 ; .TYNUM -- GENERAL SUBROUTINE TO TYPE A FORMATTED NUMBER ON THE
15791 ; CONSOLE OUTPUT DEVICE.
15792 ;
15793 ; THIS SUBROUTINE WILL TYPE A FORMATTED NUMBER IN THE RADIX SPECIFIED
15794 ; IN ".ORADX" ON THE CONSOLE OUTPUT DEVICE.
15795 ;
15796 ; INPUT ARGUMENTS:
15797 ;
15798 ; R0 POINTS TO THE 36 BIT NUMBER TO BE TYPED
15799 ; R1 POINTS TO A TRIPLET TO BE USED AS A DIVISOR / REMAINDER BUFFER
15800 ; R2 IS CLEAR
15801 ; R3 POINTS TO A FORMAT CONTROL TABLE
15802 ;
15803 ; OUTPUT ARGUMENTS:
15804 ;
15805 ; R0, R1, R2, AND R3 ARE CLOBBERED
15806 ; THE NUMBER POINTED TO BY R0 IS CLOBBERED
15807 ; THE FORMATTED NUMBER IS PLACED IN THE OUTPUT BUFFER
15808 ;
15809 ; ERROR CODES RETURNED:
15810 ;
15811 ; IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
15812 ;-
15813
15814 031270 .TYNUM::
15815 031270 005703 TST R3 ; CHECK THE FORMAT POINTER
15816 031272 001422 BEQ 50$ ; UNFORMATTED IF .EQ. 0
15817 031274 112302 MOVB (R3)+,R2 ; ITERATION COUNT TO R2
15818 031276 001410 BEQ 40$ ; JUST A FORMAT CHARACTER IF .EQ. 0
15819 031300 10$:
15820 031300 000417 BR 50$ ; CONVERT ONE DIGIT
15821 ;
15822 031302 20$:
15823 031302 005702 TST R2 ; TEST ITERATION COUNT
15824 031304 001004 BNE 30$ ; FORMATTED NUMBER -- DO ITERATION COUNT
15825 031306 CALL .TPTST ; HAS THE QUOTIENT GONE TO ZERO?
031306 004737 027340' JSR PC,.TPTST
15826 031312 001441 BEQ 80$ ; YES -- PRINT THE NUMBER
15827 031314 000411 BR 50$ ; NO -- KEEP GOING UNTIL IT DOES
15828 ;
15829 031316 30$:
15830 031316 077210 SOB R2,10$ ; LOOP THRU THIS SET OF ITERATIONS
15831
15832 ; [CONTINUED ON THE FOLLOWING PAGE]
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1108 13-JAN-78 09:14 PAGE 479
.TYNUM -- GENERAL SUBROUTINE TO TYPE A FORMATTED NUMBER 7601.2
15834 ; [CONTINUED FROM THE PREVIOUS PAGE]
15835
15836 031320 40$:
15837 031320 112302 MOVB (R3)+,R2 ; FORMAT CONTROL CHARACTER TO R2
15838 031322 001435 BEQ 80$ ; DONE IF .EQ. 0
15839 031324 162702 000060 SUB #60,R2 ; SINCE OUTPUT ROUTINE WILL ADD 60
15840 031330 PUSH R2 ; <PUSH>PUT THE FORMAT CHARACTER IN THE STACK
031330 010246 MOV R2,-(SP)
15841 031332 PUSH #60$ ; <PUSH>FAKE THE PRINT ROUTINE OUT
031332 012746 031370' MOV #60$,-(SP)
15842 031336 000754 BR .TYNUM ; AND DO THE NEXT PART
15843 ;
15844 031340 50$: ; HERE TO CONVERT ONE DIGIT
15845 031340 PUSH R0 ; SAVE R0
031340 010046 MOV R0,-(SP)
15846 031342 010100 MOV R1,R0 ; MOVE R1 TO R0
15847 031344 CALL .TPCLR ; .CLEAR REMAINDER OUT
031344 004737 027234' JSR PC,.TPCLR
15848 031350 POP R0 ; .RESTORE R0
031350 012600 MOV (SP)+,R0
15849 031352 013711 000106' MOV .ORADX,(R1) ; OUTPUT RADIX AS DIVISOR
15850 031356 CALL .TPDIV ; DO THE DIVISION
031356 004737 027000' JSR PC,.TPDIV
15851 031362 PUSH (R1) ; <PUSH> SAVE THE DIGIT
031362 011146 MOV (R1),-(SP)
15852 031364 CALL 20$ ; AND GO GET MORE
031364 004737 031302' JSR PC,20$
15853 ;
15854 031370 60$: ; HERE TO UNSTACK THE NUMBER
15855 031370 POP R0 ; <POP>GET THE NUMBER OFF THE STACK
031370 012600 MOV (SP)+,R0
15856 031372 005737 000100' TST .LDZFL ; PRINT LEADING ZEROES?
15857 031376 001004 BNE 70$ ; YES -- DO IT
15858 031400 005700 TST R0 ; NO -- SEE IF .EQ. 0 OR FORMAT
15859 031402 003405 BLE 80$ ; YES -- DON'T PRINT IT
15860 031404 005337 000100' DEC .LDZFL ; NO -- SET THE FLAG AND PRINT
15861 031410 70$:
15862 031410 062700 000060 ADD #60,R0 ; ASCIIZE IT
15863 031414 000426 BR .TYCHR ; PRINT IT
15864 ;
15865 031416 80$:
15866 031416 RETURN ; FOR NEXT NUMBER OR TO CALLER
031416 000207 RTS PC
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1108 13-JAN-78 09:14 PAGE 480
.TYLIN -- SUBROUTINE TO OUTPUT AN .ASCIZ MESSAGE AND A <CRLF>
15868 .SBTTL .TYLIN -- SUBROUTINE TO OUTPUT AN .ASCIZ MESSAGE AND A <CRLF> 7601.23
15869
15870 ;+
15871 ; .TYLIN -- SUBROUTINE TO OUTPUT AN ".ASCIZ" MESSAGE APPENDED BY A <CRLF>
15872 ; .TYMSG -- SUBROUTINE TO OUTPUT AN ".ASCIZ" MESSAGE TO THE CONSOLE
15873 ; OUTPUT DEVICE.
15874 ;
15875 ; THESE SUBROUTINES WILL OUTPUT AN ".ASCIZ" MESSAGE TO THE CONSOLE
15876 ; OUTPUT DEVICE. ".TYLIN" WILL APPEND A <CRLF> SEQUENCE TO THE
15877 ; MESSAGE (FORCING THE BUFFER TO BE OUTPUT).
15878 ;
15879 ; INPUT ARGUMENTS:
15880 ;
15881 ; R0 POINTS TO THE .ASCIZ MESSAGE
15882 ;
15883 ; OUTPUT ARGUMENTS:
15884 ;
15885 ; NONE.
15886 ;
15887 ; ERROR CODES RETURNED:
15888 ;
15889 ; IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
15890 ;-
15891
15892 .ENABL LSB
15893
15894 031420 .TYLIN::
15895 031420 CALL .TYMSG ; OUTPUT THE MESSAGE
031420 004737 031434' JSR PC,.TYMSG
15896 031424 000437 BR .TCRLF ; OUTPUT A <CRLF> AND EXIT
15897 ;
15898 031426 .TYMSF::
15899 031426 CALL .TYMSG ; PRINT THE MESSAGE
031426 004737 031434' JSR PC,.TYMSG
15900 031432 000413 BR 30$ ; FORCE IT AND EXIT
15901 ;
15902 031434 .TYMSG::
15903 031434 PUSH R1 ; SAVE R1
031434 010146 MOV R1,-(SP)
15904 031436 010001 MOV R0,R1 ; .MESSAGE POINTER TO R1
15905 031440 10$:
15906 031440 112100 MOVB (R1)+,R0 ; .GET THE CHARACTER INTO R0
15907 031442 001403 BEQ 20$ ; .EXIT IF <NULL>
15908 031444 CALL .TYCHR ; .OUTPUT THE CHARACTER
031444 004737 031472' JSR PC,.TYCHR
15909 031450 000773 BR 10$ ; .AND GO GET THE NEXT CHARACTER
15910 ;
15911 031452 20$:
15912 031452 POP R1 ; .RESTORE R1
031452 012601 MOV (SP)+,R1
15913 031454 RETURN ; TO CALLER
031454 000207 RTS PC
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1108 13-JAN-78 09:14 PAGE 481
.TFCHR -- SUBROUTINE TO FORCE A CHARACTER TO THE CONSOLE DEVIC
15915 .SBTTL .TFCHR -- SUBROUTINE TO FORCE A CHARACTER TO THE CONSOLE DEVICE 7601.23
15916
15917 ;+
15918 ; .TFCHR -- FORCED CHARACTER OUTPUT SUBROUTINE
15919 ;
15920 ; THIS SUBROUTINE WILL FORCE PRINT ONE CHARACTER TO THE CONSOLE
15921 ; OUTPUT DEVICE.
15922 ;
15923 ; INPUT ARGUMENTS:
15924 ;
15925 ; R0 CONTAINS THE CHARACTER TO BE FORCED TO THE OUTPUT DEVICE
15926 ;
15927 ; OUTPUT ARGUMENTS:
15928 ;
15929 ; THE OUTPUT BYTE COUNTERS AND BYTE POINTER ARE UPDATED.
15930 ;
15931 ; ERROR CODES RETURNED:
15932 ;
15933 ; IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
15934 ;-
15935
15936 031456 .TFCHR::
15937 031456 CALL .TYCHR ; LOAD THE CHARACTER INTO THE BUFFER
031456 004737 031472' JSR PC,.TYCHR
15938 031462 30$:
15939 031462 005737 031654' TST .CDOBC ; WAS THE BUFFER DUMPED?
15940 031466 001430 BEQ 40$ ; YES -- JUST EXIT
15941 031470 000430 BR .TYOUT ; NO -- FORCE THE BUFFER OUT
15942 ;
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1108 13-JAN-78 09:14 PAGE 482
.TYCHR -- CONSOLE DEVICE OUTPUT SUBROUTINE 7601.23
15944 .SBTTL .TYCHR -- CONSOLE DEVICE OUTPUT SUBROUTINE 7601.23
15945
15946 ;+
15947 ; .TYCHR -- CONSOLE DEVICE OUTPUT SUBROUTINE
15948 ; .TCRLF -- OUTPUT A <CRLF>
15949 ;
15950 ; THIS SUBROUTINE WILL LOAD ON ASCII CHARACTER INTO THE CONSOLE
15951 ; DEVICE OUTPUT BUFFER AND WILL DUMP THE BUFFER TO THE CONSOLE
15952 ; OUTPUT DEVICE ON:
15953 ;
15954 ; (A) APPEARANCE OF A <NEW-LINE> CHARACTER IN THE INPUT STREAM
15955 ;
15956 ; (B) OUTPUT BUFFER OVERFLOW
15957 ;
15958 ; INPUT ARGUMENTS:
15959 ;
15960 ; R0 CONTAINS THE CHARACTER TO BE OUTPUT.
15961 ;
15962 ; OUTPUT ARGUMENTS:
15963 ;
15964 ; THE OUTPUT BYTE POINTER AND BYTE COUNTERS ARE UPDATED
15965 ; OR REINITIALIZED IF THE BUFFER WAS DUMPED.
15966 ;
15967 ; ERROR CODES RETURNED:
15968 ;
15969 ; IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
15970 ;-
15971
15972 031472 .TYCHR::
15973 031472 110077 146466 MOVB R0,@.TYOBP ; PUT THE CHARACTER IN THE BUFFER
15974 031476 005237 000164' INC .TYOBP ; POINT TO THE NEXT BYTE
15975 031502 005237 031654' INC .CDOBC ; INCREMENT THE OUTPUT BYTE COUNT
15976 031506 005337 000162' DEC .TYOBC ; DECREMENT THE LINE CONTROL COUNTER
15977 031512 001404 BEQ .TCRLF ; END-OF-LINE -- FORCE OUTPUT
15978 031514 122700 000012 CMPB #12,R0 ; WAS IT A "<NEW-LINE>"?
15979 031520 001013 BNE 40$ ; NO -- JUST EXIT
15980 031522 000413 BR .TYOUT ; YES -- OUTPUT THE LINE AND RETURN
15981 ;
15982
15983 ; [CONTINUED ON THE FOLLOWING PAGE]
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1108 13-JAN-78 09:14 PAGE 483
.TYCHR -- CONSOLE DEVICE OUTPUT SUBROUTINE 7601.23
15985 ; [CONTINUED FROM THE PREVIOUS PAGE]
15986
15987 031524 .TCRLF:: ; HERE ON OUTPUT BUFFER END
15988 031524 PUSH R0 ; SAVE R0
031524 010046 MOV R0,-(SP)
15989 031526 012700 000015 MOV #15,R0 ; .<CARRIAGE-RETURN>
15990 031532 CALL .TYCHR ; .TO BUFFER
031532 004737 031472' JSR PC,.TYCHR
15991 031536 012700 000012 MOV #12,R0 ; .<NEW-LINE>
15992 031542 CALL .TYCHR ; .TO BUFFER
031542 004737 031472' JSR PC,.TYCHR
15993 031546 POP R0 ; .RESTORE R0
031546 012600 MOV (SP)+,R0
15994 031550 40$:
15995 031550 RETURN ; AND EXIT
031550 000207 RTS PC
15996
15997 .DSABL LSB
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1108 13-JAN-78 09:14 PAGE 484
.TYOUT -- CONSOLE OUTPUT SUBROUTINE 7601.23
15999 .SBTTL .TYOUT -- CONSOLE OUTPUT SUBROUTINE 7601.23
16000
16001 ;+
16002 ; .TYINI -- CONSOLE DEVICE INITIALIZATION
16003 ; .TYOUT -- CONSOLE OUTPUT SUBROUTINE
16004 ;
16005 ; THESE SUBROUTINES WILL OUTPUT THE BUFFER TO THE CONSOLE OUTPUT DEVICE.
16006 ;
16007 ; INPUT ARGUMENTS:
16008 ;
16009 ; NONE.
16010 ;
16011 ; OUTPUT ARGUMENTS:
16012 ;
16013 ; THE OUTPUT BUFFER POINTER AND BYTE COUNTS ARE RESET
16014 ;
16015 ; ERROR CODES RETURNED:
16016 ;
16017 ; IF THE OUTPUT FAILS THE PARSER EXITS.
16018 ;-
16019
16020
16021 .MCALL DIR$, QIOW$
16022
16023 031552 .TYOUT::
16024 031552 DIR$ #.ATCID ; ATTACH THE CONSOLE DEVICE
031552 012746 031660' MOV #.ATCID,-(SP)
031556 104375 EMT 375
16025 031560 103424 BCS TYODIE ; ERROR IF CC-C IS SET
16026 031562 DIR$ #.CDOUT ; OUTPUT THE BUFFER
031562 012746 031636' MOV #.CDOUT,-(SP)
031566 104375 EMT 375
16027 031570 103420 BCS TYODIE ; ERROR IF CC-C IS SET
16028 031572 105737 000012' TSTB .COSTS ; DID WE REALLY SUCCEED?
16029 031576 002415 BLT TYODIE ; NO -- COMPLAIN BITTERLY
16030 031600 DIR$ #.DTCID ; YES -- DETACH CONSOLE
031600 012746 031674' MOV #.DTCID,-(SP)
031604 104375 EMT 375
16031 031606 103411 BCS TYODIE ; ERROR IF CC-C IS SET
16032
16033 ; [CONTINUED ON THE FOLLOWING PAGE]
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1108 13-JAN-78 09:14 PAGE 485
.TYOUT -- CONSOLE OUTPUT SUBROUTINE 7601.23
16035 ; [CONTINUED FROM THE PREVIOUS PAGE]
16036
16037 031610 .TYINI:: ; HERE TO INIT OUTPUT POINTERS
16038 031610 005037 031654' CLR .CDOBC ; RESET BUFFER BYTE COUNT
16039 031614 012737 000204 000162' MOV #.COBFL,.TYOBC ; RESET OUTPUT LINE CONTROL
16040 031622 012737 000454' 000164' MOV #.COBFR,.TYOBP ; RESET OUTPUT BYTE POINTER
16041 031630 RETURN ; AND EXIT
031630 000207 RTS PC
16042 031632 TYODIE:
16043 031632 CALLR .EXITP ; EXIT GRACEFULLY
031632 000137 007754' JMP .EXITP
16044 ;
TYOUT -- GENERAL TERMINAL OUTPU MACRO M1108 13-JAN-78 09:14 PAGE 486
.TYOUT -- CONSOLE OUTPUT SUBROUTINE 7601.23
16046 ; THIS IS THE CONSOLE OUTPUT DPB
16047
16048 031636 .CDOUT::
16049 031636 QIOW$ IO.WLB,CODLUN,E.FCOD,0,.COSTS,0,<.COBFR,0,VF.INT>
031636 003 011 .BYTE 3,$$$ARG
031640 000000G .WORD IO.WLB
031642 000002 .WORD CODLUN
031644 003 000 .BYTE E.FCOD,0
031646 000012' .WORD .COSTS
031650 000000 .WORD 0
031652 000454' .WORD .COBFR
031654 000000 .WORD 0
031656 000000 .WORD VF.INT
16050
16051 031652' .CDOBP==.CDOUT+Q.IOPL ; CONSOLE OUTPUT BYTE POINTER
16052 031654' .CDOBC==.CDOUT+Q.BYCT ; CONSOLE OUTPUT BYTE COUNT
16053 031656' .CDOFC==.CDOUT+Q.OVFC ; CONSOLE OUTPUT FORMAT CHARACTER
16054
16055 ; ATTACH CONSOLE INPUT DEVICE EXCLUSIVELY TO PARSER TASK
16056
16057 031660 .ATCID::
16058 031660 QIOW$ IO.ATT,CIDLUN,E.FCID,0,0,0
031660 003 006 .BYTE 3,$$$ARG
031662 000000G .WORD IO.ATT
031664 000001 .WORD CIDLUN
031666 002 000 .BYTE E.FCID,0
031670 000000 .WORD 0
031672 000000 .WORD 0
16059
16060 ; DETACH THE CONSOLE INPUT DEVICE FROM THE PARSER TASK
16061
16062 031674 .DTCID::
16063 031674 QIOW$ IO.DET,CIDLUN,E.FCOD,0,0,0
031674 003 006 .BYTE 3,$$$ARG
031676 000000G .WORD IO.DET
031700 000001 .WORD CIDLUN
031702 003 000 .BYTE E.FCOD,0
031704 000000 .WORD 0
031706 000000 .WORD 0
TYR50 -- CONSOLE DEVICE .RAD50 MACRO M1108 13-JAN-78 09:14 PAGE 487
.TYOUT -- CONSOLE OUTPUT SUBROUTINE 7601.23
16065 .TITLE TYR50 -- CONSOLE DEVICE .RAD50 OUTPUT MODULE 7603.30
16066
16067 .IDENT "001010"
16068
16069 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
16070 ;
16071 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
16072 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
16073 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
16074 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
16075 ; FOR ITS ACCURACY.
16076 ;
16077 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
16078 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
16079 ;
16080 ;
16081 ; MODULE: CONSOLE DEVICE .RAD50 OUTPUT
16082 ;
16083 ; VERSION: 01-01
16084 ;
16085 ; AUTHOR: R. BELANGER
16086 ;
16087 ; DATE: 7603.30
16088 ;
16089 ; THIS MODULE CONTAINS:
16090 ;
16091 ; 1) CONSOLE DEVICE .RAD50 OUTPUT CODE
TYR50 -- CONSOLE DEVICE .RAD50 MACRO M1108 13-JAN-78 09:14 PAGE 488
.TYR50 -- TYPE A .RAD50 SYMBOL 7602.18
16093 .SBTTL .TYR50 -- TYPE A .RAD50 SYMBOL 7602.18
16094
16095 ;+
16096 ; .TYR50 -- TYPE A .RAD50 SYMBOL
16097 ;
16098 ; THIS ROUTINE WILL CONVERT THE .RAD50 SYMBOL IN R0 TO ASCII
16099 ; AND PRINT IT ON THE CONSOLE DEVICE.
16100 ;
16101 ; INPUT ARGUMENTS:
16102 ;
16103 ; R0 HOLDS THE .RAD50 SYMBOL TO BE PRINTED.
16104 ;
16105 ; OUTPUT ATGUMENTS:
16106 ;
16107 ; NONE.
16108 ;
16109 ; ERROR CODES RETURNED:
16110 ;
16111 ; NONE.
16112 ;-
16113
16114 031710 .TYR50::
16115 031710 PUSH <R1,R2> ; SAVE REGISTERS
031710 010146 MOV R1,-(SP)
031712 010246 MOV R2,-(SP)
16116 031714 012702 001350' MOV #.T50TB,R2 ; ..TABLE OF DIVISORS TO R2
16117 031720 10$:
16118 031720 012201 MOV (R2)+,R1 ; ..CURRENT DIVISOR TO R1
16119 031722 001414 BEQ 30$ ; ..DONE IF .EQ. 0
16120 031724 CALL $DIV ; ..DO THE DIVISION
031724 004737 000000G JSR PC,$DIV
16121 031730 PUSH R1 ; ..SAVE THE REMAINDER
031730 010146 MOV R1,-(SP)
16122 031732 012701 001320' MOV #.R50TB,R1 ; ...CONVERSION TABLE POINTER TO R1
16123 031736 20$:
16124 031736 062100 ADD (R1)+,R0 ; ...CONVERT THIS CHARACTER
16125 031740 020021 CMP R0,(R1)+ ; ...FOUND IT YET?
16126 031742 103775 BLO 20$ ; ...NO -- KEEP TRYING
16127 031744 CALL .TYCHR ; ...YES -- PUT IT IN THE BUFFER
031744 004737 031472' JSR PC,.TYCHR
16128 031750 POP R0 ; ...LAST REMAINDER IS NEW DIVIDEND
031750 012600 MOV (SP)+,R0
16129 031752 000762 BR 10$ ; ..DO THE NEXT CHARACTER
16130 ;
16131 031754 30$:
16132 031754 POP <R2,R1> ; ..RESTORE REGISTERS
031754 012602 MOV (SP)+,R2
031756 012601 MOV (SP)+,R1
16133 031760 RETURN ; TO CALLER
031760 000207 RTS PC
TYTIM -- TIME OUTPUT MODULE 770 MACRO M1108 13-JAN-78 09:14 PAGE 489
.TYR50 -- TYPE A .RAD50 SYMBOL 7602.18
16135 .TITLE TYTIM -- TIME OUTPUT MODULE 7702.16
16136
16137 .IDENT "003000"
16138
16139 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
16140 ;
16141 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
16142 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
16143 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
16144 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
16145 ; FOR ITS ACCURACY.
16146 ;
16147 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
16148 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
16149 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
16150 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
16151 ;
16152 ;
16153 ; MODULE: TIME OUTPUT MODULE
16154 ;
16155 ; VERSION: 03-00
16156 ;
16157 ; AUTHOR: R. BELANGER
16158 ;
16159 ; DATE: 7702.16
16160 ;
16161 ; THIS MODULE CONTAINS:
16162 ;
16163 ; 1) TIME OUTPUT CODE
16164 ;
16165 ; MODIFICATIONS:
16166 ;
16167 ; NO. DATE PROGRAMMER REASON
16168 ; --- ---- ---------- ------
16169 ; 001 16-FEB-77 R. BELANGER REMOVE KLINIK CONDITIONALS
TYTIM -- TIME OUTPUT MODULE 770 MACRO M1108 13-JAN-78 09:14 PAGE 490
.TYTIM -- TIME OUTPUT SUBROUTINE 7702.16
16171 .SBTTL .TYTIM -- TIME OUTPUT SUBROUTINE 7702.16
16172
16173 ;+
16174 ; .TYTIM -- TIME OUTPUT SUBROUTINE
16175 ;
16176 ; THIS SUBROUTINE WILL PRINT THE TIME ON THE CONSOLE OUTPUT DEVICE
16177 ; IN THE FOLLOWING FORMAT: "HH:MM"
16178 ;
16179 ; INPUT ARGUMENTS:
16180 ;
16181 ; R0 POINTS TO THE TIME VALUE TO BE PRINTED
16182 ; IN SECONDS-SINCE-MIDNIGHT FORMAT (SSM).
16183 ;
16184 ; OUTPUT ARGUMENTS:
16185 ;
16186 ; NONE.
16187 ;
16188 ; ERROR CODES RETURNED:
16189 ;
16190 ; NONE.
16191 ;-
16192
16193
16194 031762 .TYTIM::
16195 031762 PUSH <.ORADX,R0,R1> ; SAVE CALLER'S REGISTERS
031762 013746 000106' MOV .ORADX,-(SP)
031766 010046 MOV R0,-(SP)
031770 010146 MOV R1,-(SP)
16196 031772 012737 000012 000106' MOV #^D10,.ORADX ; ...SET OUTPUT RADIX TO DECIMAL
16197 032000 011000 MOV (R0),R0 ; ...GET THE TIME IN SSM/2
16198 032002 012701 003410 MOV #^D1800,R1 ; ...DIVISOR FOR HOURS
16199 032006 CALL $DIV ; ...COMPUTE THE HOURS
032006 004737 000000G JSR PC,$DIV
16200 032012 PUSH R0 ; ...SAVE THEM
032012 010046 MOV R0,-(SP)
16201 032014 010100 MOV R1,R0 ; ....REMAINDER TO R0
16202 032016 012701 000036 MOV #^D30,R1 ; ....DIVISOR FOR MINUTES
16203 032022 CALL $DIV ; ....COMPUTE THE MINUTES
032022 004737 000000G JSR PC,$DIV
16204 032026 010001 MOV R0,R1 ; ....SAVE THEM IN R1
16205 032030 022716 000011 CMP #^D9,(SP) ; ....0900 OR EARLIER?
16206 032034 002404 BLT 10$ ; ....NO -- GO ON
16207 032036 012700 000060 MOV #'0,R0 ; ....YES -- FORCE THE LEADING ZERO
16208 032042 CALL .TYCHR ; ....SO
032042 004737 031472' JSR PC,.TYCHR
16209
16210 ; [CONTINUED ON THE FOLLOWING PAGE]
TYTIM -- TIME OUTPUT MODULE 770 MACRO M1108 13-JAN-78 09:14 PAGE 491
.TYTIM -- TIME OUTPUT SUBROUTINE 7702.16
16212 ; [CONTINUED FROM THE PREVIOUS PAGE]
16213
16214 032046 10$:
16215 032046 POP R0 ; ....GET THE HOUR
032046 012600 MOV (SP)+,R0
16216 032050 CALL .TYELA ; ...PRINT IT
032050 004737 030672' JSR PC,.TYELA
16217 032054 CALL .TYCOL ; ...TYPE A <COLON>
032054 004737 030604' JSR PC,.TYCOL
16218 032060 022701 000011 CMP #^D9,R1 ; ...9 MINUTES OR EARLIER?
16219 032064 002404 BLT 20$ ; ...NO -- GO ON
16220 032066 012700 000060 MOV #'0,R0 ; ...YES -- FORCE THE LEADING ZERO
16221 032072 CALL .TYCHR ; ...SO
032072 004737 031472' JSR PC,.TYCHR
16222 032076 20$:
16223 032076 010100 MOV R1,R0 ; ...GET THE MINUTE
16224 032100 CALL .TYELA ; ...PRINT IT
032100 004737 030672' JSR PC,.TYELA
16225 032104 POP <R1,R0,.ORADX> ; ...RESTORE THE REGISTERS
032104 012601 MOV (SP)+,R1
032106 012600 MOV (SP)+,R0
032110 012637 000106' MOV (SP)+,.ORADX
16226 032114 CALLR .TYSPC ; TYPE A <SPACE> AND EXIT
032114 000137 030644' JMP .TYSPC
16227 ;
16228
WHATB -- WHAT COMMAND TABLE MOD MACRO M1108 13-JAN-78 09:14 PAGE 492
.TYTIM -- TIME OUTPUT SUBROUTINE 7702.16
16230 .TITLE WHATB -- WHAT COMMAND TABLE MODULE 7703.25
16231
16232 .IDENT "003000"
16233
16234 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
16235 ;
16236 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
16237 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
16238 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
16239 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
16240 ; FOR ITS ACCURACY.
16241 ;
16242 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
16243 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
16244 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
16245 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
16246 ;
16247 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
16248 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
16249 ;
16250 ;
16251 ; MODULE: WHAT COMMAND TABLE
16252 ;
16253 ; VERSION: 03-00
16254 ;
16255 ; AUTHOR: R. BELANGER
16256 ;
16257 ; DATE: 7703.25
16258 ;
16259 ; THIS MODULE CONTAINS:
16260 ;
16261 ; 1) THE WHAT COMMAND TABLE
16262 ;
16263 ; MODIFICATIONS:
16264 ;
16265 ; NO. DATE PROGRAMMER REASON
16266 ; --- ---- ---------- ------
16267 ; 001 16-FEB-77 R. BELANGER REMOVE KLINIK CONDITIONALS
16268 ; 002 04-MAR-77 R. BELANGER ADD WHAT DATE
WHATB -- WHAT COMMAND TABLE MOD MACRO M1108 13-JAN-78 09:14 PAGE 493
.WHATB -- THE WHAT COMMAND TABLE 7703.25
16270 .SBTTL .WHATB -- THE WHAT COMMAND TABLE 7703.25
16271
16272 032120 .WHATB::
16273 032120 COMND$ CLOCK,<LG.PRG!LG.RPT>,.WHTCL
006600 103 114 117 .ASCIZ %CLOCK%
006603 103 113 000
032120 006600' .WORD $$CMDN ; POINTER TO "CLOCK" SYMBOL
032122 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
032124 032320' .WORD .WHTCL ; ROUTINE TO CALL
16274 032126 COMND$ CONSOLE,LG.OPR,.WHCON
006606 103 117 116 .ASCIZ %CONSOLE%
006611 123 117 114
006614 105 000
032126 006606' .WORD $$CMDN ; POINTER TO "CONSOLE" SYMBOL
032130 000001 .WORD LG.OPR ; LEGAL BITS
032132 032556' .WORD .WHCON ; ROUTINE TO CALL
16275 032134 COMND$ DATE,<LG.ALL!LG.RPT>,.WHDAT
006616 104 101 124 .ASCIZ %DATE%
006621 105 000
032134 006616' .WORD $$CMDN ; POINTER TO "DATE" SYMBOL
032136 000407 .WORD LG.ALL!LG.RPT ; LEGAL BITS
032140 032626' .WORD .WHDAT ; ROUTINE TO CALL
16276 032142 COMND$ INCREMENT,LG.OPR,.WHINC
006623 111 116 103 .ASCIZ %INCREMENT%
006626 122 105 115
006631 105 116 124
006634 000
032142 006623' .WORD $$CMDN ; POINTER TO "INCREMENT" SYMBOL
032144 000001 .WORD LG.OPR ; LEGAL BITS
032146 033040' .WORD .WHINC ; ROUTINE TO CALL
16277 032150 COMND$ KLINIK,LG.ALL,.WHKLN
006635 113 114 111 .ASCIZ %KLINIK%
006640 116 111 113
006643 000
032150 006635' .WORD $$CMDN ; POINTER TO "KLINIK" SYMBOL
032152 000007 .WORD LG.ALL ; LEGAL BITS
032154 033126' .WORD .WHKLN ; ROUTINE TO CALL
16278 032156 COMND$ MEMORY,LG.OPR,.WHMEM
006644 115 105 115 .ASCIZ %MEMORY%
006647 117 122 131
006652 000
032156 006644' .WORD $$CMDN ; POINTER TO "MEMORY" SYMBOL
032160 000001 .WORD LG.OPR ; LEGAL BITS
032162 033452' .WORD .WHMEM ; ROUTINE TO CALL
16279 032164 COMND$ OFFSET,LG.PRG,.WHOFS
006653 117 106 106 .ASCIZ %OFFSET%
006656 123 105 124
006661 000
032164 006653' .WORD $$CMDN ; POINTER TO "OFFSET" SYMBOL
032166 000002 .WORD LG.PRG ; LEGAL BITS
032170 033504' .WORD .WHOFS ; ROUTINE TO CALL
16280 032172 COMND$ PARITY-STOP,<LG.PRG!LG.RPT>,.WHTPS
006662 120 101 122 .ASCIZ %PARITY-STOP%
006665 111 124 131
006670 055 123 124
006673 117 120 000
032172 006662' .WORD $$CMDN ; POINTER TO "PARITY-STOP" SYMBOL
WHATB -- WHAT COMMAND TABLE MOD MACRO M1108 13-JAN-78 09:14 PAGE 493-1
.WHATB -- THE WHAT COMMAND TABLE 7703.25
032174 000402 .WORD LG.PRG!LG.RPT ; LEGAL BITS
032176 033530' .WORD .WHTPS ; ROUTINE TO CALL
16281 032200 COMND$ RELOAD,LG.PRG,.WHRLD
006676 122 105 114 .ASCIZ %RELOAD%
006701 117 101 104
006704 000
032200 006676' .WORD $$CMDN ; POINTER TO "RELOAD" SYMBOL
032202 000002 .WORD LG.PRG ; LEGAL BITS
032204 033730' .WORD .WHRLD ; ROUTINE TO CALL
16282 032206 COMND$ REPEAT,LG.OPR,.WHRPT
006705 122 105 120 .ASCIZ %REPEAT%
006710 105 101 124
006713 000
032206 006705' .WORD $$CMDN ; POINTER TO "REPEAT" SYMBOL
032210 000001 .WORD LG.OPR ; LEGAL BITS
032212 033052' .WORD .WHRPT ; ROUTINE TO CALL
16283 .IF NE FTTRAK
16284 032214 COMND$ TRACKS,LG.PRG,.WHTRK
006714 124 122 101 .ASCIZ %TRACKS%
006717 103 113 123
006722 000
032214 006714' .WORD $$CMDN ; POINTER TO "TRACKS" SYMBOL
032216 000002 .WORD LG.PRG ; LEGAL BITS
032220 033762' .WORD .WHTRK ; ROUTINE TO CALL
16285 .ENDC ; FTTRAK
16286 032222 COMND$ VERSION,LG.OPR,.WHATV
006723 126 105 122 .ASCIZ %VERSION%
006726 123 111 117
006731 116 000
032222 006723' .WORD $$CMDN ; POINTER TO "VERSION" SYMBOL
032224 000001 .WORD LG.OPR ; LEGAL BITS
032226 032256' .WORD .WHATV ; ROUTINE TO CALL
16287 032230 000000 .WORD 0 ; END OF TABLE MARKER
WHATC -- WHAT COMMAND DISPATCH MACRO M1108 13-JAN-78 09:14 PAGE 494
.WHATB -- THE WHAT COMMAND TABLE 7703.25
16289 .TITLE WHATC -- WHAT COMMAND DISPATCH MODULE 7607.14
16290
16291 .IDENT "001010"
16292
16293 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
16294 ;
16295 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
16296 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
16297 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
16298 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
16299 ; FOR ITS ACCURACY.
16300 ;
16301 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
16302 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
16303 ;
16304 ;
16305 ; MODULE: WHAT COMMAND DISPATCH
16306 ;
16307 ; VERSION: 01-01
16308 ;
16309 ; AUTHOR: R. BELANGER
16310 ;
16311 ; DATE: 7607.14
16312 ;
16313 ; THIS MODULE CONTAINS:
16314 ;
16315 ; 1) WHAT COMMAND DISPATCH CODE
WHATC -- WHAT COMMAND DISPATCH MACRO M1108 13-JAN-78 09:14 PAGE 495
.WHATC -- THE "WHAT" COMMAND DISPATCH 7607.14
16317 .SBTTL .WHATC -- THE "WHAT" COMMAND DISPATCH 7607.14
16318
16319 ;+
16320 ; .WHATC -- THE "WHAT" COMMAND DISPATCH
16321 ;
16322 ; THIS ROUTINE IS THE TOPMOST LEVEL OF THE "WHAT COMMAND WHICH
16323 ; PERFORMS THE DISPATCH FOR THE SPECIFIED OBJECT.
16324 ;
16325 ; INPUT ARGUMENTS:
16326 ;
16327 ; NONE.
16328 ;
16329 ; OUTPUT ARGUMENTS:
16330 ;
16331 ; NONE.
16332 ;
16333 ; ERROR CODES RETURNED:
16334 ;
16335 ; NONE.
16336 ;-
16337
16338 032232 .WHATC::
16339 032232 012700 032120' MOV #.WHATB,R0 ; TABLE POINTER TO R0
16340 032236 CALL .CKOBJ ; MUST HAVE AN OBJECT
032236 004737 002074' JSR PC,.CKOBJ
16341 032242 CALL .TSCAN ; SCAN IT
032242 004737 030176' JSR PC,.TSCAN
16342 032246 CALL .CKEOC ; MUST HAVE E-O-C
032246 004737 002010' JSR PC,.CKEOC
16343 032252 CALLR @2(R0) ; DO WHAT IT SAYS
032252 000170 000002 JMP @2(R0)
16344 ;
WHATV -- WHAT VERSION COMMAND M MACRO M1108 13-JAN-78 09:14 PAGE 496
.WHATC -- THE "WHAT" COMMAND DISPATCH 7607.14
16346 .TITLE WHATV -- WHAT VERSION COMMAND MODULE 7607.21
16347
16348 .IDENT "003010" ; ADP01
16349
16350 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
16351 ;
16352 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
16353 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
16354 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
16355 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
16356 ; FOR ITS ACCURACY.
16357 ;
16358 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
16359 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
16360 ;
16361 ;
16362 ; MODULE: WHAT VERSION COMMAND
16363 ;
16364 ; VERSION: 03-01 ; ADP01
16365 ;
16366 ; AUTHOR: R. BELANGER
16367 ;
16368 ; DATE: 7607.21
16369 ;
16370 ; THIS MODULE CONTAINS:
16371 ;
16372 ; 1) WHAT VERSION COMMAND CODE
16373 ;
16374 ; MODIFICATIONS:
16375 ;
16376 ; ADP01 1-JUN-77 - UPDATE FOR NEW RSX20F VERSION NUMBER FORMAT ; ADP01
WHATV -- WHAT VERSION COMMAND M MACRO M1108 13-JAN-78 09:14 PAGE 497
.WHATV -- THE "WHAT VERSION" COMMAND 7607.21
16378 .SBTTL .WHATV -- THE "WHAT VERSION" COMMAND 7607.21
16379
16380 032256 .WHATV::
16381 032256 012700 006733' MOV #WVMSG1,R0 ; MESSAGE POINTER TO R0
16382 032262 CALL .TYMSG ; PRINT THAT
032262 004737 031434' JSR PC,.TYMSG
16383 032266 012700 000000' MOV #CPVMSG,R0 ; PARSER VERSION NUMBER
16384 032272 CALL .TYLIN ; PRINT IT
032272 004737 031420' JSR PC,.TYLIN
16385 032276 012700 006755' MOV #WVMSG2,R0 ; MESSAGE POINTER TO R0
16386 032302 CALL .TYMSG ; PRINT IT
032302 004737 031434' JSR PC,.TYMSG
16387 032306 012700 000000G MOV #.VERNO,R0 ; POINTER TO RSX20F ASCIZ VERSION NUMBER. ; ADP01
16388 032312 CALL .TYLIN ; ...PRINT IT
032312 004737 031420' JSR PC,.TYLIN
16389 032316 RETURN ; TO CALLER ;**-1
032316 000207 RTS PC
WHATV -- WHAT VERSION COMMAND M MACRO M1108 13-JAN-78 09:14 PAGE 498
.WHATV -- THE "WHAT VERSION" COMMAND 7607.21
16391 006733 .PSECT MESSAG
16392
16393 006733 WVMSG1:
16394 006733 040 120 101 .ASCIZ % PARSER VERSION: %
006736 122 123 105
006741 122 040 126
006744 105 122 123
006747 111 117 116
006752 072 040 000
16395 006755 WVMSG2:
16396 006755 040 122 123 .ASCIZ % RSX20F VERSION: %
006760 130 062 060
006763 106 040 126
006766 105 122 123
006771 111 117 116
006774 072 040 000
16397
16398 032320 .PSECT
WHCLK -- WHAT CLOCK COMMAND MOD MACRO M1108 13-JAN-78 09:14 PAGE 499
.WHATV -- THE "WHAT VERSION" COMMAND 7607.21
16400 .TITLE WHCLK -- WHAT CLOCK COMMAND MODULE 7608.17
16401
16402 .IDENT "001020"
16403
16404 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
16405 ;
16406 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
16407 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
16408 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
16409 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
16410 ; FOR ITS ACCURACY.
16411 ;
16412 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
16413 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
16414 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
16415 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
16416 ;
16417 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
16418 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
16419 ;
16420 ;
16421 ; MODULE: WHAT CLOCK COMMAND
16422 ;
16423 ; VERSION: 01-02
16424 ;
16425 ; AUTHOR: R. BELANGER
16426 ;
16427 ; DATE: 7608.17
16428 ;
16429 ; THIS MODULE CONTAINS:
16430 ;
16431 ; 1) WHAT CLOCK COMMAND CODE
WHCLK -- WHAT CLOCK COMMAND MOD MACRO M1108 13-JAN-78 09:14 PAGE 500
.WHTCL -- THE "WHAT CLOCK" COMMAND 7608.17
16433 .SBTTL .WHTCL -- THE "WHAT CLOCK" COMMAND 7608.17
16434
16435 032320 .WHTCL::
16436 032320 CALL .STPKL ; STOP THE KL
032320 004737 026330' JSR PC,.STPKL
16437 032324 CALL .RDCPP ; READ THE CLOCK BOARD
032324 004737 017602' JSR PC,.RDCPP
16438 032330 CALL .RSTKL ; RESTART THE KL
032330 004737 022134' JSR PC,.RSTKL
16439 032334 .WHTCA::
16440 032334 PUSH .CLKWD ; SAVE THE WORD ON THE STACK
032334 013746 000010' MOV .CLKWD,-(SP)
16441 032340 012700 007106' MOV #WCMSG0,R0 ; .HEADER MESSAGE
16442 032344 CALL .TYLIN ; .TYPE IT
032344 004737 031420' JSR PC,.TYLIN
16443 032350 012700 007132' MOV #WCMSG1,R0 ; .ENABLES
16444 032354 CALL .TYMSG ; .TYPE IT
032354 004737 031434' JSR PC,.TYMSG
16445 032360 012701 032522' MOV #CLDSTB,R1 ; .TABLE POINTER TO R1
16446 032364 012702 000003 MOV #^D3,R2 ; .ITERATION COUNT TO R2
16447 032370 011603 MOV (SP),R3 ; .CLOCK WORD TO R3
16448 032372 042703 174377 BIC #^C<CD.ALL>,R3 ; .MASK OUT THE DISABLES
16449 032376 001005 BNE 10$ ; .GO PRINT DISABLES
16450 032400 012700 007170' MOV #WCMSG4,R0 ; .NO DISABLES SET -- SAY SO
16451 032404 CALL .TYLIN ; .TYPE IT
032404 004737 031420' JSR PC,.TYLIN
16452 032410 000414 BR 30$ ; .AND GO ON
16453 ;
16454 032412 10$:
16455 032412 012100 MOV (R1)+,R0 ; .MESSAGE POINTER TO R0
16456 032414 032103 BIT (R1)+,R3 ; .IS THE DISABLE ON?
16457 032416 001406 BEQ 20$ ; .NO -- FORGET IT
16458 032420 CALL .TYMSG ; .YES -- SAY SO
032420 004737 031434' JSR PC,.TYMSG
16459 032424 CALL .TYCOM ; .TYPE A COMMA
032424 004737 030614' JSR PC,.TYCOM
16460 032430 CALL .TYSPC ; .TYPE A <SPACE>
032430 004737 030644' JSR PC,.TYSPC
16461 032434 20$:
16462 032434 077212 SOB R2,10$ ; .LOOP TILL DONE
16463 032436 CALL .TCRLF ; .END THE LINE
032436 004737 031524' JSR PC,.TCRLF
16464
16465 ; [CONTINUED ON THE FOLLOWING PAGE]
WHCLK -- WHAT CLOCK COMMAND MOD MACRO M1108 13-JAN-78 09:14 PAGE 501
.WHTCL -- THE "WHAT CLOCK" COMMAND 7608.17
16467 ; [CONTINUED FROM THE PREVIOUS PAGE]
16468
16469 032442 30$:
16470 032442 012700 007146' MOV #WCMSG2,R0 ; .SOURCE MESSAGE
16471 032446 CALL .TYMSG ; .PRINT IT
032446 004737 031434' JSR PC,.TYMSG
16472 032452 011601 MOV (SP),R1 ; .CLOCK CONTROL WORD TO R1
16473 032454 042701 177763 BIC #^C<CS.ALL>,R1 ; .FLUSH JUNK
16474 032460 006201 ASR R1 ; .MAKE AN INDEX OF IT
16475 032462 016100 032536' MOV CLSRTB(R1),R0 ; .SOURCE NAME TO R0
16476 032466 CALL .TYLIN ; .PRINT IT
032466 004737 031420' JSR PC,.TYLIN
16477 032472 012700 007160' MOV #WCMSG3,R0 ; .RATE MESSAGE
16478 032476 CALL .TYMSG ; .PRINT IT
032476 004737 031434' JSR PC,.TYMSG
16479 032502 POP R1 ; .CLOCK CONTROL WORD TO R1
032502 012601 MOV (SP)+,R1
16480 032504 042701 177774 BIC #^C<CR.ALL>,R1 ; FLUSH JUNK
16481 032510 006301 ASL R1 ; MAKE AN INDEX FROM IT
16482 032512 016100 032546' MOV CLRTTB(R1),R0 ; RATE NAME TO R0
16483 032516 CALLR .TYLIN ; PRINT IT AND EXIT
032516 000137 031420' JMP .TYLIN
16484 ;
16485
16486 032522 CLDSTB:
16487 032522 006777' .WORD WCLMS0
16488 032524 002000 .WORD CD.CRC
16489 032526 007004' .WORD WCLMS1
16490 032530 001000 .WORD CD.DPC
16491 032532 007016' .WORD WCLMS2
16492 032534 000400 .WORD CD.CLC
16493 032536 CLSRTB:
16494 032536 007026' .WORD WCLMS3
16495 032540 007037' .WORD WCLMS4
16496 032542 007046' .WORD WCLMS5
16497 032544 007037' .WORD WCLMS4
16498 032546 CLRTTB:
16499 032546 007057' .WORD WCLMS6
16500 032550 007064' .WORD WCLMS7
16501 032552 007071' .WORD WCLMS8
16502 032554 007101' .WORD WCLMS9
WHCLK -- WHAT CLOCK COMMAND MOD MACRO M1108 13-JAN-78 09:14 PAGE 502
.WHTCL -- THE "WHAT CLOCK" COMMAND 7608.17
16504 006777 .PSECT MESSAG
16505
16506 006777 WCLMS0:
16507 006777 103 122 101 .ASCIZ %CRAM%
007002 115 000
16508 007004 WCLMS1:
16509 007004 104 101 124 .ASCIZ %DATA-PATH%
007007 101 055 120
007012 101 124 110
007015 000
16510 007016 WCLMS2:
16511 007016 103 117 116 .ASCIZ %CONTROL%
007021 124 122 117
007024 114 000
16512 007026 WCLMS3:
16513 007026 111 116 124 .ASCIZ %INTERNAL%
007031 105 122 116
007034 101 114 000
16514 007037 WCLMS4:
16515 007037 115 101 122 .ASCIZ %MARGIN%
007042 107 111 116
007045 000
16516 007046 WCLMS5:
16517 007046 105 130 124 .ASCIZ %EXTERNAL%
007051 105 122 116
007054 101 114 000
16518 007057 WCLMS6:
16519 007057 106 125 114 .ASCIZ %FULL%
007062 114 000
16520 007064 WCLMS7:
16521 007064 110 101 114 .ASCIZ %HALF%
007067 106 000
16522 007071 WCLMS8:
16523 007071 121 125 101 .ASCIZ %QUARTER%
007074 122 124 105
007077 122 000
16524 007101 WCLMS9:
16525 007101 123 114 117 .ASCIZ %SLOW%
007104 127 000
16526 007106 WCMSG0:
16527 007106 113 114 040 .ASCIZ %KL CLOCK PARAMETERS%
007111 103 114 117
007114 103 113 040
007117 120 101 122
007122 101 115 105
007125 124 105 122
007130 123 000
16528 007132 WCMSG1:
16529 007132 040 104 111 .ASCIZ % DISABLED: %
007135 123 101 102
007140 114 105 104
007143 072 040 000
16530 007146 WCMSG2:
16531 007146 040 123 117 .ASCIZ % SOURCE: %
007151 125 122 103
007154 105 072 040
007157 000
WHCLK -- WHAT CLOCK COMMAND MOD MACRO M1108 13-JAN-78 09:14 PAGE 502-1
.WHTCL -- THE "WHAT CLOCK" COMMAND 7608.17
16532 007160 WCMSG3:
16533 007160 040 122 101 .ASCIZ % RATE: %
007163 124 105 072
007166 040 000
16534 007170 WCMSG4:
16535 007170 116 117 116 .ASCIZ %NONE%
007173 105 000
16536
16537 032556 .PSECT
WHCON -- WHAT CONSOLE COMMAND M MACRO M1108 13-JAN-78 09:14 PAGE 503
.WHTCL -- THE "WHAT CLOCK" COMMAND 7608.17
16539 .TITLE WHCON -- WHAT CONSOLE COMMAND MODULE 7607.14
16540
16541 .IDENT "001010"
16542
16543 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
16544 ;
16545 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
16546 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
16547 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
16548 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
16549 ; FOR ITS ACCURACY.
16550 ;
16551 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
16552 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
16553 ;
16554 ;
16555 ; MODULE: WHAT CONSOLE COMMAND
16556 ;
16557 ; VERSION: 01-01
16558 ;
16559 ; AUTHOR: R. BELANGER
16560 ;
16561 ; DATE: 7607.14
16562 ;
16563 ; THIS MODULE CONTAINS:
16564 ;
16565 ; 1) WHAT CONSOLE COMMAND CODE
WHCON -- WHAT CONSOLE COMMAND M MACRO M1108 13-JAN-78 09:14 PAGE 504
.WHCON -- THE "WHAT CONSOLE" COMMAND 7607.14
16567 .SBTTL .WHCON -- THE "WHAT CONSOLE" COMMAND 7607.14
16568
16569 032556 .WHCON::
16570 032556 012700 007175' MOV #WCMMSG,R0 ; MESSAGE POINTER TO R0
16571 032562 CALL .TYMSG ; PRINT IT
032562 004737 031434' JSR PC,.TYMSG
16572 032566 013701 000000G MOV .FEMOD,R1 ; MODE WORD TO R1
16573 032572 012700 007215' MOV #WCMMS0,R0 ; MAINTENANCE
16574 032576 032701 000004 BIT #LG.MNT,R1 ; IS IT ON?
16575 032602 001007 BNE 10$ ; YES -- SAY SO
16576 032604 012700 007231' MOV #WCMMS1,R0 ; NO -- PROGRAMMER?
16577 032610 032701 000002 BIT #LG.PRG,R1 ; IS IT ON?
16578 032614 001002 BNE 10$ ; YES -- SAY SO
16579 032616 012700 007244' MOV #WCMMS2,R0 ; NO -- MUST BE OPERATOR
16580 032622 10$:
16581 032622 CALLR .TYLIN ; YES -- PRINT AND EXIT
032622 000137 031420' JMP .TYLIN
16582 ;
16583
16584 007175 .PSECT MESSAG
16585
16586 007175 WCMMSG:
16587 007175 040 103 117 .ASCIZ % CONSOLE MODE: %
007200 116 123 117
007203 114 105 040
007206 115 117 104
007211 105 072 040
007214 000
16588 007215 WCMMS0:
16589 007215 115 101 111 .ASCIZ %MAINTENANCE%
007220 116 124 105
007223 116 101 116
007226 103 105 000
16590 007231 WCMMS1:
16591 007231 120 122 117 .ASCIZ %PROGRAMMER%
007234 107 122 101
007237 115 115 105
007242 122 000
16592 007244 WCMMS2:
16593 007244 117 120 105 .ASCIZ %OPERATOR%
007247 122 101 124
007252 117 122 000
16594
16595 032626 .PSECT
WHDAT -- "WHAT DATE" COMMAND MO MACRO M1108 13-JAN-78 09:14 PAGE 505
.WHCON -- THE "WHAT CONSOLE" COMMAND 7607.14
16597 .TITLE WHDAT -- "WHAT DATE" COMMAND MODULE 7703.03
16598
16599 .IDENT "003000"
16600
16601 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
16602 ;
16603 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
16604 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
16605 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
16606 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
16607 ; FOR ITS ACCURACY.
16608 ;
16609 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
16610 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
16611 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
16612 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
16613 ;
16614 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
16615 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
16616 ;
16617 ; MODULE: END STATEMENT
16618 ;
16619 ; VERSION: 03-00
16620 ;
16621 ; AUTHOR: R. BELANGER
16622 ;
16623 ; DATE: 7703.03
16624 ;
16625 ; THIS MODULE CONTAINS:
16626 ;
16627 ; 1) WHAT DATE COMMAND CODE
16628 ; 2) WHAT DATE LOCAL DATA
16629
16630 .MCALL GTIM$S
WHDAT -- "WHAT DATE" COMMAND MO MACRO M1108 13-JAN-78 09:14 PAGE 506
.WHDAT -- THE "WHAT" DATE COMMAND 7703.03
16632 .SBTTL .WHDAT -- THE "WHAT" DATE COMMAND 7703.03
16633
16634 ;+
16635 ; .WHDAT -- THE "WHAT DATE" COMMAND
16636 ;
16637 ; THIS SUBROUTINE WILL DISPLAY THE THE CURRENT SYSTEM TIME OF DAY
16638 ; ON THE CONSOLE DEVICE. IF THE TIME HAS NOT BEEN SET BY EITHER A
16639 ; "SET DATE" COMMAND OR BY THE KL10 EXECUTIVE THE VALID FLAG WILL BE OFF
16640 ; OTHERWISE IT WILL BE ON.
16641 ;
16642 ; INPUT ARGUMENTS:
16643 ;
16644 ; NONE.
16645 ;
16646 ; OUTPUT ARGUMENTS:
16647 ;
16648 ; NONE.
16649 ;
16650 ; ERROR CODES RETUNED:
16651 ;
16652 ; NONE.
16653 ;-
16654
16655
16656 032626 .WHDAT::
16657 032626 CALL .CKEOC ; MUST HAVE E-O-C
032626 004737 002010' JSR PC,.CKEOC
16658 032632 012701 033020' MOV #DATBUF,R1 ; BUFFER POINTER TO R1
16659 032636 GTIM$S R1 ; REAAD THE DATE AND TIME
032636 010146 MOV R1,-(SP)
032640 012746 MOV (PC)+,-(SP)
032642 073 002 .BYTE 59.,2
032644 104375 EMT 375
16660 032646 005046 CLR -(SP) ; CLEAR A BUFFER ON STACK
16661 032650 005046 CLR -(SP) ; .SO
16662 032652 010600 MOV SP,R0 ; ..POINTER TO R0
16663 032654 112120 MOVB (R1)+,(R0)+ ; ..SET YEAR
16664 032656 105721 TSTB (R1)+ ; ..ADVANCE POINTER
16665 032660 112120 MOVB (R1)+,(R0)+ ; ..SET MONTH
16666 032662 105721 TSTB (R1)+ ; ..ADVANCE POINTER
16667 032664 112120 MOVB (R1)+,(R0)+ ; ..SET DAY
16668 032666 012700 007255' MOV #WHDMS0,R0 ; ..MESSAGE POINTER TO R0
16669 032672 CALL .TYLIN ; ..PRINT IT
032672 004737 031420' JSR PC,.TYLIN
16670 032676 113700 000000G MOVB .DOW,R0 ; ..DAY OF WEEK INDEX TO R0
16671 032702 006300 ASL R0 ; ..TIMES 2
16672 032704 016000 033002' MOV DOWMTB(R0),R0 ; ..MESSAGE POINTER TO R0
16673 032710 CALL .TYMSG ; ..PRINT IT
032710 004737 031434' JSR PC,.TYMSG
16674 032714 CALL .TYSPC ; ..AND A <SPACE>
032714 004737 030644' JSR PC,.TYSPC
16675 032720 010600 MOV SP,R0 ; ..POINT TO DATE
16676 032722 CALL .TYDAT ; ..TYPE THE DATE
032722 004737 030440' JSR PC,.TYDAT
16677 032726 CALL .TYSPC ; ..AND A <SPACE>
032726 004737 030644' JSR PC,.TYSPC
16678 032732 012700 000000G MOV #.SSM,R0 ; ..POINT TO THE TIME
WHDAT -- "WHAT DATE" COMMAND MO MACRO M1108 13-JAN-78 09:14 PAGE 506-1
.WHDAT -- THE "WHAT" DATE COMMAND 7703.03
16679 032736 CALL .TYTIM ; ..TYPE IT
032736 004737 031762' JSR PC,.TYTIM
16680 032742 CALL .TCRLF ; ..END THE LINE
032742 004737 031524' JSR PC,.TCRLF
16681 032746 012700 007303' MOV #WHDMS1,R0 ; ..MESSAGE POINTER TO R0
16682 032752 CALL .TYMSG ; ..PRINT IT
032752 004737 031434' JSR PC,.TYMSG
16683 032756 012700 007327' MOV #WHDMS2,R0 ; ..ASSUME VALID
16684 032762 005737 000000G TST .DATE3 ; ..IS IT??
16685 032766 001002 BNE 10$ ; ..YES -- GO ON
16686 032770 012700 007332' MOV #WHDMS3,R0 ; ..NO -- SAY SO
16687 032774 10$:
16688 032774 022626 CMP (SP)+,(SP)+ ; ..CLEAR STACK
16689 032776 CALLR .TYLIN ; PRINT AND EXIT
032776 000137 031420' JMP .TYLIN
16690 ;
16691
16692 033002 DOWMTB:
16693 033002 007336' .WORD MONMSG
16694 033004 007346' .WORD TUEMSG
16695 033006 007357' .WORD WEDMSG
16696 033010 007372' .WORD THUMSG
16697 033012 007404' .WORD FRIMSG
16698 033014 007414' .WORD SATMSG
16699 033016 007426' .WORD SUNMSG
16700
16701 033020 DATBUF:
16702 033020 000000 000000 000000 .WORD 0,0,0,0,0,0,0,0
033026 000000 000000 000000
033034 000000 000000
WHDAT -- "WHAT DATE" COMMAND MO MACRO M1108 13-JAN-78 09:14 PAGE 507
.WHDAT -- THE "WHAT" DATE COMMAND 7703.03
16704 007255 .PSECT MESSAG
16705
16706 007255 WHDMS0:
16707 007255 103 125 122 .ASCIZ %CURRENT SYSTEM DATE: %
007260 122 105 116
007263 124 040 123
007266 131 123 124
007271 105 115 040
007274 104 101 124
007277 105 072 040
007302 000
16708 007303 WHDMS1:
16709 007303 040 126 101 .ASCIZ % VALIDITY FLAG IS: %
007306 114 111 104
007311 111 124 131
007314 040 106 114
007317 101 107 040
007322 111 123 072
007325 040 000
16710 007327 WHDMS2:
16711 007327 117 116 000 .ASCIZ %ON%
16712 007332 WHDMS3:
16713 007332 117 106 106 .ASCIZ %OFF%
007335 000
16714
16715 007336 MONMSG:
16716 007336 115 117 116 .ASCIZ %MONDAY,%
007341 104 101 131
007344 054 000
16717 007346 TUEMSG:
16718 007346 124 125 105 .ASCIZ %TUESDAY,%
007351 123 104 101
007354 131 054 000
16719 007357 WEDMSG:
16720 007357 127 105 104 .ASCIZ %WEDNESDAY,%
007362 116 105 123
007365 104 101 131
007370 054 000
16721 007372 THUMSG:
16722 007372 124 110 125 .ASCIZ %THURSDAY,%
007375 122 123 104
007400 101 131 054
007403 000
16723 007404 FRIMSG:
16724 007404 106 122 111 .ASCIZ %FRIDAY,%
007407 104 101 131
007412 054 000
16725 007414 SATMSG:
16726 007414 123 101 124 .ASCIZ %SATURDAY,%
007417 125 122 104
007422 101 131 054
007425 000
16727 007426 SUNMSG:
16728 007426 123 125 116 .ASCIZ %SUNDAY,%
007431 104 101 131
007434 054 000
16729
WHDAT -- "WHAT DATE" COMMAND MO MACRO M1108 13-JAN-78 09:14 PAGE 507-1
.WHDAT -- THE "WHAT" DATE COMMAND 7703.03
16730 033040 .PSECT
WHINC -- WHAT INCREMENT COMMAND MACRO M1108 13-JAN-78 09:14 PAGE 508
.WHDAT -- THE "WHAT" DATE COMMAND 7703.03
16732 .TITLE WHINC -- WHAT INCREMENT COMMAND MODULE 7703.25
16733
16734 .IDENT "001020"
16735
16736 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
16737 ;
16738 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
16739 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
16740 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
16741 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
16742 ; FOR ITS ACCURACY.
16743 ;
16744 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
16745 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
16746 ;
16747 ;
16748 ; MODULE: WHAT INCREMENT COMMAND
16749 ;
16750 ; VERSION: 01-02
16751 ;
16752 ; AUTHOR: R. BELANGER
16753 ;
16754 ; DATE: 7703.25
16755 ;
16756 ; THIS MODULE CONTAINS:
16757 ;
16758 ; 1) WHAT INCREMENT COMMAND CODE
WHINC -- WHAT INCREMENT COMMAND MACRO M1108 13-JAN-78 09:14 PAGE 509
.WHINC -- THE "WHAT INCREMENT" COMMAND 7703.25
16760 .SBTTL .WHINC -- THE "WHAT INCREMENT" COMMAND 7703.25
16761
16762 .ENABL LSB
16763
16764 033040 .WHINC::
16765 033040 012700 007436' MOV #WHIMSG,R0 ; MESSAGE POINTER TO R0
16766 033044 012701 000070' MOV #.KLINC,R1 ; INREMENT POINTER
16767 033050 000412 BR 10$ ; DO COMMON CODE
16768 ;
16769 033052 .WHRPT::
16770 033052 013737 000106' 000120' MOV .ORADX,.RDXSV ; SAVE CURRENT OUTPUT RADIX
16771 033060 012737 000012 000106' MOV #^D10,.ORADX ; SET IT TO DECIMAL
16772 033066 012700 007456' MOV #WHRMSG,R0 ; MESSAGE POINTER TO R0
16773 033072 012701 000124' MOV #.RPTCT,R1 ; REPEAT POINTER
16774 033076 10$:
16775 033076 CALL .TYMSG ; PRINT THE MESSAGE
033076 004737 031434' JSR PC,.TYMSG
16776 033102 005037 000100' CLR .LDZFL ; NO LEADING ZEROES
16777 033106 010100 MOV R1,R0 ; POINTER TO R0
16778 033110 CALL .TYKLN ; PRINT THE NUMBER
033110 004737 031066' JSR PC,.TYKLN
16779 033114 013737 000120' 000106' MOV .RDXSV,.ORADX ; RESET THE OUTPUT RADIX
16780 033122 CALLR .TCRLF ; END THE LINE AND EXIT
033122 000137 031524' JMP .TCRLF
16781 ;
16782
16783 .DSABL LSB
16784
16785 007436 .PSECT MESSAG
16786
16787 007436 WHIMSG:
16788 007436 040 113 114 .ASCIZ % KL INCREMENT: %
007441 040 111 116
007444 103 122 105
007447 115 105 116
007452 124 072 040
007455 000
16789 007456 WHRMSG:
16790 007456 040 122 105 .ASCIZ % REPEAT COUNT: %
007461 120 105 101
007464 124 040 103
007467 117 125 116
007472 124 072 040
007475 000
16791 033126 .PSECT
WHKLN -- WHAT KLINIK COMMAND MO MACRO M1108 13-JAN-78 09:14 PAGE 510
.WHINC -- THE "WHAT INCREMENT" COMMAND 7703.25
16793 .TITLE WHKLN -- WHAT KLINIK COMMAND MODULE 7702.16
16794
16795 .IDENT "003000"
16796
16797 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
16798 ;
16799 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
16800 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
16801 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
16802 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
16803 ; FOR ITS ACCURACY.
16804 ;
16805 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
16806 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
16807 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
16808 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
16809 ;
16810 ; MODULE: WHAT KLINIK COMMAND
16811 ;
16812 ; VERSION: 03-00
16813 ;
16814 ; AUTHOR: R. BELANGER
16815 ;
16816 ; DATE: 7702.16
16817 ;
16818 ; THIS MODULE CONTAINS:
16819 ;
16820 ; 1) WHAT KLINIK COMMAND CODE
16821 ;
16822 ; MODIFICATIONS:
16823 ;
16824 ; NO. DATE PROGRAMMER REASON
16825 ; --- ---- ---------- ------
16826 ; 001 16-FEB-77 R. BELANGER REMOVE KLINIK CONDITIONALS
16827 ; ADD CODE FOR NEW KLINIK
WHKLN -- WHAT KLINIK COMMAND MO MACRO M1108 13-JAN-78 09:14 PAGE 511
.WHKLN -- THE "WHAT KLINIK" COMMAND 7702.16
16829 .SBTTL .WHKLN -- THE "WHAT KLINIK" COMMAND 7702.16
16830
16831 ;+
16832 ; .WHKLN -- THE "WHAT KLINIK" COMMAND
16833 ;
16834 ; THIS SUBROUTINE WILL REPORT THE STATE OF THE KLINIK PARAMETERS
16835 ; ON THE CONSOLE DEVICE.
16836 ;
16837 ; INPUT ARGUMENTS:
16838 ;
16839 ; NONE.
16840 ;
16841 ; OUTPUT ARGUMENTS:
16842 ;
16843 ; NONE.
16844 ;
16845 ; ERROR CODES RETURNED:
16846 ;
16847 ; NONE.
16848 ;-
16849
16850 .MCALL DIR$,RQST$
16851
16852 033126 .WHKLN::
16853 033126 CALL .CKEOC ; MUST HAVE E-O-C
033126 004737 002010' JSR PC,.CKEOC
16854 033132 012700 007476' MOV #WHKMS0,R0 ; MESSAGE POINTER TO R0
16855 033136 CALL .TYMSG ; PRINT IT
033136 004737 031434' JSR PC,.TYMSG
16856 033142 012700 007507' MOV #WHKMS1,R0 ; ASSUME KLINIK IS DISABLED
16857 033146 105737 000000G TSTB .KLNMD+0 ; IS IT?
16858 033152 001514 BEQ 40$ ; +++001 YES -- SAY SO
16859 033154 012700 007666' MOV #WHKMSA,R0 ; +++001 NO -- ASSUME ACTIVE
16860 033160 105737 000000G TSTB .KLNSW+0 ; +++001 IS IT??
16861 033164 001002 BNE 10$ ; +++001 YES -- GO ON
16862 033166 012700 007720' MOV #WHKMSI,R0 ; +++001 NO -- SAY INACTIVE
16863 033172 10$: ; +++001
16864 033172 005737 000000G TST .KLNFD ; +++001 IS THERE A DATE??
16865 033176 001005 BNE 20$ ; +++001 YES -- KLINIK REALLY ALIVE
16866 033200 012700 007675' MOV #WHKMRB,R0 ; +++001 NO -- ALIVE FROM REBOOT
16867 033204 CALL .TYLIN
033204 004737 031420' JSR PC,.TYLIN
16868 033210 000436 BR 30$ ; +++001 TYPE MODE AND EXIT
16869 ;
16870
16871 ; [CONTINUED ON THE FOLLOWING PAGE]
WHKLN -- WHAT KLINIK COMMAND MO MACRO M1108 13-JAN-78 09:14 PAGE 512
.WHKLN -- THE "WHAT KLINIK" COMMAND 7702.16
16873 ; [CONTINUED FROM THE PREVIOUS PAGE]
16874
16875 033212 20$: ; +++001
16876 033212 CALL .TYLIN ; +++001 TYPE STATE
033212 004737 031420' JSR PC,.TYLIN
16877 033216 012700 007520' MOV #WHKMS2,R0 ; GET OPEN MESSAGE
16878 033222 CALL .TYMSG ; PRINT IT
033222 004737 031434' JSR PC,.TYMSG
16879 033226 012700 000000G MOV #.KLNFD,R0 ; POINT TO THE FROM DATE
16880 033232 CALL .TYDAT ; PRINT IT
033232 004737 030440' JSR PC,.TYDAT
16881 033236 012700 000000G MOV #.KLNFT,R0 ; POINT TO THE FROM TIME
16882 033242 CALL .TYTIM ; PRINT IT
033242 004737 031762' JSR PC,.TYTIM
16883 033246 CALL .TCRLF ; +++001 END THE LINE
033246 004737 031524' JSR PC,.TCRLF
16884 033252 012700 007546' MOV #WHKMS3,R0 ; CLOSE MESSAGE POINTER
16885 033256 CALL .TYMSG ; PRINT IT
033256 004737 031434' JSR PC,.TYMSG
16886 033262 012700 000000G MOV #.KLNTD,R0 ; POINT TO THE TO DATE
16887 033266 CALL .TYDAT ; PRINT IT
033266 004737 030440' JSR PC,.TYDAT
16888 033272 012700 000000G MOV #.KLNTT,R0 ; POINT TO THE TO TIME
16889 033276 CALL .TYTIM ; PRINT IT
033276 004737 031762' JSR PC,.TYTIM
16890 033302 CALL .TCRLF ; END THE LINE
033302 004737 031524' JSR PC,.TCRLF
16891 033306 30$: ; +++001
16892 033306 012700 007745' MOV #WHKMSK,R0 ; +++001 KLINIK MODE
16893 033312 CALL .TYMSG ; +++001 PRINT IT
033312 004737 031434' JSR PC,.TYMSG
16894 033316 012700 007731' MOV #WHKMSU,R0 ; +++001 ASSUME USER
16895 033322 105737 000000G TSTB .KLNMD+0 ; +++001 IS IT??
16896 033326 100426 BMI 40$ ; +++001 YES -- PRINT AND EXIT
16897 033330 012700 007736' MOV #WHKMSR,R0 ; +++001 NO -- SAY REMOTE
16898 033334 CALL .TYLIN ; +++001 PRINT IT
033334 004737 031420' JSR PC,.TYLIN
16899 033340 012700 007576' MOV #WHKMS4,R0 ; CONSOLE MODE MESSAGE
16900 033344 CALL .TYMSG ; PRINT IT
033344 004737 031434' JSR PC,.TYMSG
16901 033350 012700 007626' MOV #WHKMS5,R0 ; MAINTENANCE MODE
16902 033354 122737 000007 000001G CMPB #LG.ALL,.KLNMD+1
16903 033362 001410 BEQ 40$ ; YES -- SAY SO
16904 033364 012700 007642' MOV #WHKMS6,R0 ; NO -- PROGRAMMER MAYBE
16905 033370 122737 000003 000001G CMPB #LG.PRM,.KLNMD+1
16906 033376 001402 BEQ 40$ ; YES -- SAY SO
16907 033400 012700 007655' MOV #WHKMS7,R0 ; NO -- MUST BE OPERATOR
16908
16909 ; [CONTINUED ON THE FOLLOWING PAGE]
WHKLN -- WHAT KLINIK COMMAND MO MACRO M1108 13-JAN-78 09:14 PAGE 513
.WHKLN -- THE "WHAT KLINIK" COMMAND 7702.16
16911 ; [CONTINUED FROM THE PREVIOUS PAGE]
16912
16913 033404 40$:
16914 033404 105737 000001G TSTB .KLNSW+1 ; +++001 IS THIS A CLEAR COMMAND??
16915 033410 001407 BEQ 50$ ; +++001 NO -- JUST GO AWAY
16916 033412 CALL .TYLIN ; +++001 YES -- PRINT THE LINE
033412 004737 031420' JSR PC,.TYLIN
16917 033416 DIR$ #REQKLD ; +++001 REQUEST KLD
033416 012746 033434' MOV #REQKLD,-(SP)
033422 104375 EMT 375
16918 033424 CALLR .EXITP ; +++001 AND EXIT
033424 000137 007754' JMP .EXITP
16919 ;
16920 033430 50$:
16921 033430 CALLR .TYLIN ; PRINT AND EXIT
033430 000137 031420' JMP .TYLIN
16922 ;
16923 033434 REQKLD: ; +++001
16924 033434 RQST$ KLDISC,,10
033434 013 007 .BYTE 11.,7
033436 043244 035473 .RAD50 /KLDISC/
033442 000000 000000 .WORD 0,0
033446 000010 .WORD 10
033450 000 000 .BYTE ,
WHKLN -- WHAT KLINIK COMMAND MO MACRO M1108 13-JAN-78 09:14 PAGE 514
.WHKLN -- THE "WHAT KLINIK" COMMAND 7702.16
16926 007476 .PSECT MESSAG
16927
16928 007476 WHKMS0:
16929 007476 040 113 114 .ASCIZ % KLINIK %
007501 111 116 111
007504 113 040 000
16930 007507 WHKMS1:
16931 007507 104 111 123 .ASCIZ %DISABLED%
007512 101 102 114
007515 105 104 000
16932 007520 WHKMS2:
16933 007520 040 101 103 .ASCIZ % ACCESS WINDOW OPEN: %
007523 103 105 123
007526 123 040 127
007531 111 116 104
007534 117 127 040
007537 117 120 105
007542 116 072 040
007545 000
16934 007546 WHKMS3:
16935 007546 040 101 103 .ASCIZ % ACCESS WINDOW CLOSED: %
007551 103 105 123
007554 123 040 127
007557 111 116 104
007562 117 127 040
007565 103 114 117
007570 123 105 104
007573 072 040 000
16936 007576 WHKMS4:
16937 007576 040 110 111 .ASCIZ % HIGHEST CONSOLE MODE: %
007601 107 110 105
007604 123 124 040
007607 103 117 116
007612 123 117 114
007615 105 040 115
007620 117 104 105
007623 072 040 000
16938 007626 WHKMS5:
16939 007626 115 101 111 .ASCIZ %MAINTENANCE%
007631 116 124 105
007634 116 101 116
007637 103 105 000
16940 007642 WHKMS6:
16941 007642 120 122 117 .ASCIZ %PROGRAMMER%
007645 107 122 101
007650 115 115 105
007653 122 000
16942 007655 WHKMS7:
16943 007655 117 120 105 .ASCIZ %OPERATOR%
007660 122 101 124
007663 117 122 000
16944
16945 007666 WHKMSA:
16946 007666 101 103 124 .ASCIZ %ACTIVE%
007671 111 126 105
007674 000
16947 007675 WHKMRB:
WHKLN -- WHAT KLINIK COMMAND MO MACRO M1108 13-JAN-78 09:14 PAGE 514-1
.WHKLN -- THE "WHAT KLINIK" COMMAND 7702.16
16948 007675 101 103 124 .ASCIZ %ACTIVE FROM REBOOT%
007700 111 126 105
007703 040 106 122
007706 117 115 040
007711 122 105 102
007714 117 117 124
007717 000
16949 007720 WHKMSI:
16950 007720 111 116 101 .ASCIZ %INACTIVE%
007723 103 124 111
007726 126 105 000
16951 007731 WHKMSU:
16952 007731 125 123 105 .ASCIZ %USER%
007734 122 000
16953 007736 WHKMSR:
16954 007736 122 105 115 .ASCIZ %REMOTE%
007741 117 124 105
007744 000
16955 007745 WHKMSK:
16956 007745 040 113 114 .ASCIZ % KLINIK MODE: %
007750 111 116 111
007753 113 040 115
007756 117 104 105
007761 072 040 000
16957 033452 .PSECT
WHMEM -- WHAT MEMORY COMMAND MO MACRO M1108 13-JAN-78 09:14 PAGE 515
.WHKLN -- THE "WHAT KLINIK" COMMAND 7702.16
16959 .TITLE WHMEM -- WHAT MEMORY COMMAND MODULE 7603.30
16960
16961 .IDENT "001010"
16962
16963 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
16964 ;
16965 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
16966 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
16967 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
16968 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
16969 ; FOR ITS ACCURACY.
16970 ;
16971 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
16972 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
16973 ;
16974 ;
16975 ; MODULE: WHAT MEMORY COMMAND
16976 ;
16977 ; VERSION: 01-01
16978 ;
16979 ; AUTHOR: R. BELANGER
16980 ;
16981 ; DATE: 7603.30
16982 ;
16983 ; THIS MODULE CONTAINS:
16984 ;
16985 ; 1) WHAT MEMORY COMMAND CODE
WHMEM -- WHAT MEMORY COMMAND MO MACRO M1108 13-JAN-78 09:14 PAGE 516
.WHMEM -- THE "WHAT MEMORY" COMMAND 7603.21
16987 .SBTTL .WHMEM -- THE "WHAT MEMORY" COMMAND 7603.21
16988
16989 033452 .WHMEM::
16990 033452 012700 007764' MOV #WHMMSG,R0 ; MESSAGE POINTER TO R0
16991 033456 CALL .TYMSG ; TYPE IT
033456 004737 031434' JSR PC,.TYMSG
16992 033462 012700 007776' MOV #WHMMS0,R0 ; ASSUME TEN
16993 033466 005737 000102' TST .MEMFL ; IS IT "TEN"
16994 033472 001402 BEQ 10$ ; YES -- SAY SO
16995 033474 012700 010002' MOV #WHMMS1,R0 ; NO -- SAY "ELEVEN"
16996 033500 10$:
16997 033500 CALLR .TYLIN ; PRINT AND EXIT
033500 000137 031420' JMP .TYLIN
16998 ;
16999
17000 007764 .PSECT MESSAG
17001
17002 007764 WHMMSG:
17003 007764 040 115 105 .ASCIZ % MEMORY: %
007767 115 117 122
007772 131 072 040
007775 000
17004 007776 WHMMS0:
17005 007776 124 105 116 .ASCIZ %TEN%
010001 000
17006 010002 WHMMS1:
17007 010002 105 114 105 .ASCIZ %ELEVEN%
010005 126 105 116
010010 000
17008 033504 .PSECT
WHOFS -- WHAT OFFSET COMMAND MO MACRO M1108 13-JAN-78 09:14 PAGE 517
.WHMEM -- THE "WHAT MEMORY" COMMAND 7603.21
17010 .TITLE WHOFS -- WHAT OFFSET COMMAND MODULE 7603.30
17011
17012 .IDENT "001010"
17013
17014 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
17015 ;
17016 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
17017 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
17018 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
17019 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
17020 ; FOR ITS ACCURACY.
17021 ;
17022 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
17023 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
17024 ;
17025 ;
17026 ; MODULE: WHAT OFFSET COMMAND
17027 ;
17028 ; VERSION: 01-01
17029 ;
17030 ; AUTHOR: R. BELANGER
17031 ;
17032 ; DATE: 7603.30
17033 ;
17034 ; THIS MODULE CONTAINS:
17035 ;
17036 ; 1) WHAT OFFSET COMMAND CODE
WHOFS -- WHAT OFFSET COMMAND MO MACRO M1108 13-JAN-78 09:14 PAGE 518
.WHOFS -- THE "WHAT OFFSET" COMMAND 7603.20
17038 .SBTTL .WHOFS -- THE "WHAT OFFSET" COMMAND 7603.20
17039
17040 033504 .WHOFS::
17041 033504 012700 010011' MOV #WHOMSG,R0 ; MESSAGE POINTER TO R0
17042 033510 CALL .TYMSG ; PRINT IT
033510 004737 031434' JSR PC,.TYMSG
17043 033514 013700 000122' MOV .RELWD,R0 ; OFFSET TO R0
17044 033520 CALL .TYELA ; PRINT IT
033520 004737 030672' JSR PC,.TYELA
17045 033524 CALLR .TCRLF ; END THE LINE AND EXIT
033524 000137 031524' JMP .TCRLF
17046 ;
17047
17048 010011 .PSECT MESSAG
17049
17050 010011 WHOMSG:
17051 010011 040 120 104 .ASCIZ % PDP-11 OFFSET: %
010014 120 055 061
010017 061 040 117
010022 106 106 123
010025 105 124 072
010030 040 000
17052 033530 .PSECT
WHPAR -- WHAT PARITY-STOP COMMA MACRO M1108 13-JAN-78 09:14 PAGE 519
.WHOFS -- THE "WHAT OFFSET" COMMAND 7603.20
17054 .TITLE WHPAR -- WHAT PARITY-STOP COMMAND MODULE 7608.19
17055
17056 .IDENT "001020"
17057
17058 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
17059 ;
17060 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
17061 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
17062 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
17063 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
17064 ; FOR ITS ACCURACY.
17065 ;
17066 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
17067 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
17068 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
17069 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
17070 ;
17071 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
17072 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
17073 ;
17074 ;
17075 ; MODULE: WHAT PARITY-STOP COMMAND
17076 ;
17077 ; VERSION: 01-02
17078 ;
17079 ; AUTHOR: R. BELANGER
17080 ;
17081 ; DATE: 7608.19
17082 ;
17083 ; THIS MODULE CONTAINS:
17084 ;
17085 ; 1) WHAT PARITY-STOP COMMAND CODE
WHPAR -- WHAT PARITY-STOP COMMA MACRO M1108 13-JAN-78 09:14 PAGE 520
.WHTPS -- THE "WHAT PARITY-STOP" COMMAND 7608.19
17087 .SBTTL .WHTPS -- THE "WHAT PARITY-STOP" COMMAND 7608.19
17088
17089 033530 .WHTPS::
17090 033530 CALL .STPKL ; STOP THE KL
033530 004737 026330' JSR PC,.STPKL
17091 033534 CALL .RDCPP ; READ THE CLOCK BOARD
033534 004737 017602' JSR PC,.RDCPP
17092 033540 CALL .RSTKL ; RESTART THE KL
033540 004737 022134' JSR PC,.RSTKL
17093 033544 .WHTPA::
17094 033544 PUSH .PSCWD ; SAVE THE WORD ON THE STACK
033544 013746 000116' MOV .PSCWD,-(SP)
17095 033550 012700 010076' MOV #WPMSG0,R0 ; .HEADER MESSAGE
17096 033554 CALL .TYLIN ; .TYPE IT
033554 004737 031420' JSR PC,.TYLIN
17097 033560 012700 010130' MOV #WPMSG1,R0 ; .ENABLE MESSAGE
17098 033564 CALL .TYMSG ; .TYPE IT
033564 004737 031434' JSR PC,.TYMSG
17099 033570 012700 010073' MOV #WHPMS7,R0 ; .ASSUME THAT IT IS ON
17100 033574 032716 000400 BIT #AP.EIP,(SP) ; .IS THE ENABLE BIT ON?
17101 033600 001002 BNE 10$ ; .YES -- SAY SO
17102 033602 012700 010067' MOV #WHPMS6,R0 ; .NO -- CHANGE MESSAGE
17103 033606 10$:
17104 033606 CALL .TYLIN ; .TYPE IT
033606 004737 031420' JSR PC,.TYLIN
17105 033612 012700 010156' MOV #WPMSG2,R0 ; .PARITY STOPS
17106 033616 CALL .TYMSG ; .TYPE IT
033616 004737 031434' JSR PC,.TYMSG
17107 033622 042716 000400 BIC #AP.EIP,(SP) ; .CLEAR THE ENABLE BIT
17108 033626 001005 BNE 20$ ; .GO ON IF BITS ARE THERE
17109 033630 012700 010062' MOV #WHPMS5,R0 ; .NONE THERE -- SAY SO
17110 033634 CALL .TYMSG ; .TYPE IT
033634 004737 031434' JSR PC,.TYMSG
17111 033640 000416 BR 50$ ; .AND EXIT
17112 ;
17113
17114 ; [CONTINUED ON THE FOLLOWING PAGE]
WHPAR -- WHAT PARITY-STOP COMMA MACRO M1108 13-JAN-78 09:14 PAGE 521
.WHTPS -- THE "WHAT PARITY-STOP" COMMAND 7608.19
17116 ; [CONTINUED FROM THE PREVIOUS PAGE]
17117
17118 033642 20$:
17119 033642 012701 033704' MOV #PSENTB,R1 ; .TABLE POINTER TO R1
17120 033646 012702 000005 MOV #^D5,R2 ; .ITERATION COUNT TO R2
17121 033652 30$:
17122 033652 012100 MOV (R1)+,R0 ; .MESSAGE POINTER TO R0
17123 033654 032116 BIT (R1)+,(SP) ; .IS THE BIT ON?
17124 033656 001406 BEQ 40$ ; .NO -- GO ON
17125 033660 CALL .TYMSG ; .YES -- SAY SO
033660 004737 031434' JSR PC,.TYMSG
17126 033664 CALL .TYCOM ; .TYPE A COMMA
033664 004737 030614' JSR PC,.TYCOM
17127 033670 CALL .TYSPC ; .PRINT A <SPACE>
033670 004737 030644' JSR PC,.TYSPC
17128 033674 40$:
17129 033674 077212 SOB R2,30$ ; .LOOP TILL DONE
17130 033676 50$:
17131 033676 005726 TST (SP)+ ; .CLEAR THE STACK
17132 033700 CALLR .TCRLF ; END THE LINE AND EXIT
033700 000137 031524' JMP .TCRLF
17133 ;
17134 033704 PSENTB:
17135 033704 010032' .WORD WHPMS0
17136 033706 001000 .WORD AP.ARP
17137 033710 010035' .WORD WHPMS1
17138 033712 000004 .WORD IP.CRP
17139 033714 010042' .WORD WHPMS2
17140 033716 000002 .WORD IP.DRP
17141 033720 010047' .WORD WHPMS3
17142 033722 000010 .WORD IP.FMP
17143 033724 010052' .WORD WHPMS4
17144 033726 000001 .WORD IP.FSS
WHPAR -- WHAT PARITY-STOP COMMA MACRO M1108 13-JAN-78 09:14 PAGE 522
.WHTPS -- THE "WHAT PARITY-STOP" COMMAND 7608.19
17146 010032 .PSECT MESSAG
17147
17148 010032 WHPMS0:
17149 010032 101 122 000 .ASCIZ %AR%
17150 010035 WHPMS1:
17151 010035 103 122 101 .ASCIZ %CRAM%
010040 115 000
17152 010042 WHPMS2:
17153 010042 104 122 101 .ASCIZ %DRAM%
010045 115 000
17154 010047 WHPMS3:
17155 010047 106 115 000 .ASCIZ %FM%
17156 010052 WHPMS4:
17157 010052 106 123 055 .ASCIZ %FS-STOP%
010055 123 124 117
010060 120 000
17158 010062 WHPMS5:
17159 010062 116 117 116 .ASCIZ %NONE%
010065 105 000
17160 010067 WHPMS6:
17161 010067 117 106 106 .ASCIZ %OFF%
010072 000
17162 010073 WHPMS7:
17163 010073 117 116 000 .ASCIZ %ON%
17164 010076 WPMSG0:
17165 010076 113 114 040 .ASCIZ %KL PARITY STOP PARAMETERS%
010101 120 101 122
010104 111 124 131
010107 040 123 124
010112 117 120 040
010115 120 101 122
010120 101 115 105
010123 124 105 122
010126 123 000
17166 010130 WPMSG1:
17167 010130 040 120 101 .ASCIZ % PARITY STOP ENABLE: %
010133 122 111 124
010136 131 040 123
010141 124 117 120
010144 040 105 116
010147 101 102 114
010152 105 072 040
010155 000
17168 010156 WPMSG2:
17169 010156 040 120 101 .ASCIZ % PARITY STOPS: %
010161 122 111 124
010164 131 040 123
010167 124 117 120
010172 123 072 040
010175 000
17170 033730 .PSECT
WHRLD -- WHAT RELOAD COMMAND MO MACRO M1108 13-JAN-78 09:14 PAGE 523
.WHTPS -- THE "WHAT PARITY-STOP" COMMAND 7608.19
17172 .TITLE WHRLD -- WHAT RELOAD COMMAND MODULE 7603.30
17173
17174 .IDENT "001010"
17175
17176 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
17177 ;
17178 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
17179 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
17180 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
17181 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
17182 ; FOR ITS ACCURACY.
17183 ;
17184 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
17185 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
17186 ;
17187 ;
17188 ; MODULE: WHAT RELOAD COMMAND
17189 ;
17190 ; VERSION: 01-01
17191 ;
17192 ; AUTHOR: R. BELANGER
17193 ;
17194 ; DATE: 7603.30
17195 ;
17196 ; THIS MODULE CONTAINS:
17197 ;
17198 ; 1) WHAT RELOAD COMMAND CODE
WHRLD -- WHAT RELOAD COMMAND MO MACRO M1108 13-JAN-78 09:14 PAGE 524
.WHRLD -- THE "WHAT RELOAD" COMMAND 7603.21
17200 .SBTTL .WHRLD -- THE "WHAT RELOAD" COMMAND 7603.21
17201
17202 033730 .WHRLD::
17203 033730 012700 010176' MOV #WRLMSG,R0 ; MESSAGE POINTER TO R0
17204 033734 CALL .TYMSG ; PRINT IT
033734 004737 031434' JSR PC,.TYMSG
17205 033740 012700 010217' MOV #WHRMS0,R0 ; ASSUME "ON"
17206 033744 005737 000000G TST .KLRLD ; IS IT ON?
17207 033750 001402 BEQ 10$ ; YES -- GO ON
17208 033752 012700 010222' MOV #WHRMS1,R0 ; NO -- SAY SO
17209 033756 10$:
17210 033756 CALLR .TYLIN ; PRINT THE LINE AND EXIT
033756 000137 031420' JMP .TYLIN
17211 ;
17212
17213 010176 .PSECT MESSAG
17214
17215 010176 WRLMSG:
17216 010176 040 122 105 .ASCIZ % RELOAD ENABLE: %
010201 114 117 101
010204 104 040 105
010207 116 101 102
010212 114 105 072
010215 040 000
17217 010217 WHRMS0:
17218 010217 117 116 000 .ASCIZ %ON%
17219 010222 WHRMS1:
17220 010222 117 106 106 .ASCIZ %OFF%
010225 000
17221 033762 .PSECT
WHTRK -- WHAT TRACK COMMAND MOD MACRO M1108 13-JAN-78 09:14 PAGE 525
.WHRLD -- THE "WHAT RELOAD" COMMAND 7603.21
17223 .TITLE WHTRK -- WHAT TRACK COMMAND MODULE 7603.30
17224
17225 .IDENT "001010"
17226
17227 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
17228 ;
17229 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
17230 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
17231 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
17232 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
17233 ; FOR ITS ACCURACY.
17234 ;
17235 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
17236 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
17237 ;
17238 ;
17239 ; MODULE: WHAT TRACK COMMAND
17240 ;
17241 ; VERSION: 01-01
17242 ;
17243 ; AUTHOR: R. BELANGER
17244 ;
17245 ; DATE: 7603.30
17246 ;
17247 ; THIS MODULE CONTAINS:
17248 ;
17249 ; 1) WHAT TRACK COMMAND CODE
WHTRK -- WHAT TRACK COMMAND MOD MACRO M1108 13-JAN-78 09:14 PAGE 526
.WHTRK -- THE "WHAT TRACKS" COMMAND 7603.20
17251 .SBTTL .WHTRK -- THE "WHAT TRACKS" COMMAND 7603.20
17252
17253 033762 .WHTRK::
17254 033762 012700 010226' MOV #WHTMSG,R0 ; MESSAGE POINTER TO R0
17255 033766 CALL .TYMSG ; PRINT IT
033766 004737 031434' JSR PC,.TYMSG
17256 033772 012700 010246' MOV #WHTMS0,R0 ; ASSUME "ON"
17257 033776 005737 000142' TST .TRKWD ; IS IT ON?
17258 034002 001002 BNE 10$ ; YES -- GO ON
17259 034004 012700 010251' MOV #WHTMS1,R0 ; NO -- SAY SO
17260 034010 10$:
17261 034010 CALLR .TYLIN ; PRINT AND EXIT
034010 000137 031420' JMP .TYLIN
17262 ;
17263
17264 010226 .PSECT MESSAG
17265
17266 010226 WHTMSG:
17267 010226 040 124 122 .ASCIZ % TRACK ENABLE: %
010231 101 103 113
010234 040 105 116
010237 101 102 114
010242 105 072 040
010245 000
17268 010246 WHTMS0:
17269 010246 117 116 000 .ASCIZ %ON%
17270 010251 WHTMS1:
17271 010251 117 106 106 .ASCIZ %OFF%
010254 000
17272 034014 .PSECT
WRTAR -- KL ARITHMETIC REGISTER MACRO M1108 13-JAN-78 09:14 PAGE 527
.WHTRK -- THE "WHAT TRACKS" COMMAND 7603.20
17274 .TITLE WRTAR -- KL ARITHMETIC REGISTER WRITE FUNCTION MODULE 7603.30
17275
17276 .IDENT "001010"
17277
17278 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
17279 ;
17280 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
17281 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
17282 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
17283 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
17284 ; FOR ITS ACCURACY.
17285 ;
17286 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
17287 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
17288 ;
17289 ;
17290 ; MODULE: KL ARITHMETIC REGISTER WRITE FUNCTION
17291 ;
17292 ; VERSION: 01-01
17293 ;
17294 ; AUTHOR: R. BELANGER
17295 ;
17296 ; DATE: 7603.30
17297 ;
17298 ; THIS MODULE CONTAINS:
17299 ;
17300 ; 1) KL ARUTHMETIC REGISTER WRITE CODE
WRTAR -- KL ARITHMETIC REGISTER MACRO M1108 13-JAN-78 09:14 PAGE 528
.WRTAR -- SUBROUTINE TO WRITE THE KL AR REGISTER 7511.05
17302 .SBTTL .WRTAR -- SUBROUTINE TO WRITE THE KL AR REGISTER 7511.05
17303
17304 ;+
17305 ; .WRTAR -- SUBROUTINE TO WRITE THE KL AR REGISTER.
17306 ; .WRAR1 -- SUBROUTINE TO WRITE THE KL AR REGISTER WITHOUT
17307 ; STOPPING THE KL CLOCK.
17308 ;
17309 ; THIS SUBROUTINE WILL WRITE A 36 BIT WORD TO THE KL AR REGISTER.
17310 ;
17311 ; SEQUENCE OF OPERATION:
17312 ;
17313 ; .WRTAR:
17314 ;
17315 ; (A) THE KL CLOCK IS STOPPED,
17316 ;
17317 ; .WRAR1:
17318 ;
17319 ; (B) THE EBOX CLOCK IS SYNCHED LOW,
17320 ; (C) THE DATA IS WRITTEN INTO THE KL AR REGISTER.
17321 ;
17322 ; INPUT ARGUMENTS:
17323 ;
17324 ; R1 POINTS TO THE DATA TO BE WRITTEN
17325 ;
17326 ; OUTPUT ARGUMENTS:
17327 ;
17328 ; NONE.
17329 ;
17330 ; ERROR CODES RETURNED:
17331 ;
17332 ; FWF -- FUNCTION WRITE FAILED.
17333 ;-
17334
17335 034014 .WRTAR::
17336 034014 CALL .STPXC ; STOP THE KL CLOCK
034014 004737 026354' JSR PC,.STPXC
17337 034020 .WRAR1::
17338 034020 CALL .SYNXC ; FORCE THE EBOX CLOCK LOW
034020 004737 026760' JSR PC,.SYNXC
17339 034024 PUSH R0 ; SAVE R0
034024 010046 MOV R0,-(SP)
17340 034026 012700 000176 MOV #FW.LAR,R0 ; .FUNCTION WRITE CODE TO R0
17341 034032 CALL .FWRIT ; .LOAD THE AR
034032 004737 010740' JSR PC,.FWRIT
17342 034036 POP R0 ; .RESTORE R0
034036 012600 MOV (SP)+,R0
17343 034040 RETURN ; RETURN TO CALLER
034040 000207 RTS PC
XFXCK -- DIAGNOSTIC FUNCTION RA MACRO M1108 13-JAN-78 09:14 PAGE 529
.WRTAR -- SUBROUTINE TO WRITE THE KL AR REGISTER 7511.05
17345 .TITLE XFXCK -- DIAGNOSTIC FUNCTION RANGE CHECK MODULE 7603.30
17346
17347 .IDENT "001010"
17348
17349 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
17350 ;
17351 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
17352 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
17353 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
17354 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
17355 ; FOR ITS ACCURACY.
17356 ;
17357 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
17358 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
17359 ;
17360 ;
17361 ; MODULE: DIAGNOSTIC FUNCTION RANGE CHECK
17362 ;
17363 ; VERSION: 01-01
17364 ;
17365 ; AUTHOR: R. BELANGER
17366 ;
17367 ; DATE: 7603.30
17368 ;
17369 ; THIS MODULE CONTAINS:
17370 ;
17371 ; 1) DIAGNOSTIC FUNCTION RANGE CHECK CODE
XFXCK -- DIAGNOSTIC FUNCTION RA MACRO M1108 13-JAN-78 09:14 PAGE 530
.XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS 7509.26
17373 .SBTTL .XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS 7509.26
17374
17375 ;+
17376 ; .XFRCK -- SUBROUTINE TO RANGE CHECK FUNCTION READ CODES.
17377 ; .XFWCK -- SUBROUTINE TO RANGE CHECK FUNCTION WRITE CODES.
17378 ; .XFXCK -- SUBROUTINE TO RANGE CHECK FUNCTION EXECUTE CODES.
17379 ;
17380 ; THESE SUBROUTINES RANGE CHECK THE ARGUMENT CODES FOR THE FUNCTION
17381 ; READ, WRITE AND EXECUTE SUBROUTINES.
17382 ;
17383 ; INPUT ARGUMENTS:
17384 ;
17385 ; R0 HOLDS THE FUNCTION CODE TO BE CHECKED
17386 ;
17387 ; OUTPUT ARGUMENTS:
17388 ;
17389 ; NONE.
17390 ;
17391 ; ERROR CODES RETURNED:
17392 ;
17393 ; IFC -- ILLEGAL FUNCTION CODE.
17394 ; OFC -- ODD FUNCTION CODE.
17395 ;-
XFXCK -- DIAGNOSTIC FUNCTION RA MACRO M1108 13-JAN-78 09:14 PAGE 531
.XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS 7509.26
17397 .ENABL LSB
17398
17399 034042 .XFRCK:: ; HERE TO CHECK FUNCTION READ CODE
17400 034042 020027 000200 CMP R0,#FR.100 ; IS IT .LT. FR.100?
17401 034046 103422 BLO FNCIFC ; NO -- ERROR
17402 034050 020027 000376 CMP R0,#FR.177 ; YES -- IS IT .GT. FR.177?
17403 034054 101017 BHI FNCIFC ; YES -- ERROR
17404 034056 000412 BR 10$ ; NO -- SEE IF IT'S ODD
17405 ;
17406 034060 .XFWCK:: ; HERE TO CHECK FUNCTION WRITE CODE
17407 034060 020027 000100 CMP R0,#FW.040 ; IS IT .LT. FW.040?
17408 034064 103413 BLO FNCIFC ; NO -- ERROR
17409 034066 020027 000176 CMP R0,#FW.LAR ; YES -- IS IT .GT. FW.077?
17410 034072 101010 BHI FNCIFC ; YES -- ERROR
17411 034074 000403 BR 10$ ; NO -- SEE IF IT'S ODD
17412 ;
17413 034076 .XFXCK:: ; HERE TO CHECK FUNCTION EXECUTE CODE
17414 034076 020027 000076 CMP R0,#FX.037 ; IS IT .GT. FX.037?
17415 034102 101004 BHI FNCIFC ; YES -- ERROR
17416 034104 10$:
17417 034104 032700 000001 BIT #BIT00,R0 ; NO -- IS IT ODD?
17418 034110 001004 BNE FNCOFC ; YES -- ERROR
17419 034112 RETURN ; NO -- ALL OK, RETURN TO CALLER
034112 000207 RTS PC
17420 034114 FNCIFC:
17421 034114 ERROR$ IFC ; ERROR -- ILLEGAL FUNCTION CODE
034114 012746 MOV (PC)+,-(SP) ; "IFC" IN RAD50 TO STACK
034116 034463 .RAD50 /IFC/ ; ERROR IDENTIFIER
034120 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
17422 ;
17423 034122 FNCOFC:
17424 034122 ERROR$ OFC ; ERROR -- ODD FUNCTION CODE
034122 012746 MOV (PC)+,-(SP) ; "OFC" IN RAD50 TO STACK
034124 057263 .RAD50 /OFC/ ; ERROR IDENTIFIER
034126 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
17425 ;
17426
17427 .DSABL LSB
YESNO -- CONFIRMATION MODULE 76 MACRO M1108 13-JAN-78 09:14 PAGE 532
.XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS 7509.26
17429 .TITLE YESNO -- CONFIRMATION MODULE 7603.30
17430
17431 .IDENT "001010"
17432
17433 ; COPYRIGHT 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MASSACHUSETTS 01752.
17434 ;
17435 ; THE MATERIAL INCLUDED IN THIS FUNCTIONAL SPECIFICATION, INCLUDING BUT
17436 ; NOT LIMITED TO, INSTRUCTION TIMES AND OPERATING SPEEDS IS FOR
17437 ; INFORMATION PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE
17438 ; WITHOUT NOTICE. CONSEQUENTLY DEC MAKES NO CLAIM AND SHALL NOT BE LIABLE
17439 ; FOR ITS ACCURACY.
17440 ;
17441 ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SOFTWARE
17442 ; ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
17443 ;
17444 ;
17445 ; MODULE: CONFIRMATION
17446 ;
17447 ; VERSION: 01-01
17448 ;
17449 ; AUTHOR: R. BELANGER
17450 ;
17451 ; DATE: 7603.30
17452 ;
17453 ; THIS MODULE CONTAINS:
17454 ;
17455 ; 1) CONFIRMATION ACCEPTANCE CODE
YESNO -- CONFIRMATION MODULE 76 MACRO M1108 13-JAN-78 09:14 PAGE 533
.YESNO -- SUBROUTINE TO ASK "YES OR NO" 7603.22
17457 .SBTTL .YESNO -- SUBROUTINE TO ASK "YES OR NO" 7603.22
17458
17459 ;+
17460 ; .YESNO -- SUBROUTINE TO ASK "YES OR NO".
17461 ;
17462 ; THIS SUBROUTINE WILL ASK FOR A CONFIMATION TO A QUESTION, AND RETURN
17463 ; THE STATE OF THE RESPONSE IN CC-C ON RETURN. IF THE RESPONSE IS OTHER
17464 ; THAN A "YES" OR A "NO", THE QUESTION IS REITERATED.
17465 ;
17466 ; INPUT ARGUMENTS:
17467 ;
17468 ; NONE.
17469 ;
17470 ; OUTPUT ARGUMENTS:
17471 ;
17472 ; IF THE RESPONSE WAS "YES" CC-C IS CLEAR.
17473 ; IF THE RESPONSE WAS "NO" CC-C IS SET.
17474 ;
17475 ; ERROR CODES RETURNED:
17476 ;
17477 ; NONE.
17478 ;-
17479
17480 034130 .YESNO::
17481 034130 PUSH <R0,R1,R5> ; SAVE CALLERS REGISTERS
034130 010046 MOV R0,-(SP)
034132 010146 MOV R1,-(SP)
034134 010546 MOV R5,-(SP)
17482 034136 10$:
17483 034136 012700 010255' MOV #YONMSG,R0 ; ...MESSAGE POINTER TO R0
17484 034142 CALL .TYMSG ; ...PRINT IT
034142 004737 031434' JSR PC,.TYMSG
17485 034146 CALL .TYOUT ; ...FORCE IT OUT
034146 004737 031552' JSR PC,.TYOUT
17486 034152 012701 000240' MOV #.CIBFR,R1 ; ...POINT TO THE INPUT BUFFER
17487 034156 CALL .GTLIN ; ...READ THE RESPONSE
034156 004737 011776' JSR PC,.GTLIN
17488 034162 001765 BEQ 10$ ; ...TRY AGAIN IF NO REAL RESPONSE
17489 034164 010105 MOV R1,R5 ; ...BUFFER POINTER TO R5
17490 034166 012700 010274' MOV #YESMSG,R0 ; ...EXPECT "YES"
17491 034172 CALL .SSCAN ; ...SCAN FOR IT
034172 004737 026114' JSR PC,.SSCAN
17492 034176 103012 BCC 30$ ; ...WE GOT IT -- EXIT
17493 034200 010105 MOV R1,R5 ; ...SET UP BUFFER POINTER
17494 034202 012700 010300' MOV #NOMSG,R0 ; ...TRY FOR "NO"
17495 034206 CALL .SSCAN ; ...SCAN THE SYMBOL
034206 004737 026114' JSR PC,.SSCAN
17496 034212 103003 BCC 20$ ; ...WE GOT IT
17497 034214 CALL .TCRLF ; ...DID'NT GET EITHER
034214 004737 031524' JSR PC,.TCRLF
17498 034220 000746 BR 10$ ; ...SO TRY AGAIN
17499 ;
17500
17501 ; [CONTINUED ON THE FOLLOWING PAGE]
YESNO -- CONFIRMATION MODULE 76 MACRO M1108 13-JAN-78 09:14 PAGE 534
.YESNO -- SUBROUTINE TO ASK "YES OR NO" 7603.22
17503 ; [CONTINUED FROM THE PREVIOUS PAGE]
17504
17505 034222 20$:
17506 034222 000261 SEC ; ...SET CC-C TO SAY "NO"
17507 034224 30$:
17508 034224 POP <R5,R1,R0> ; ...RESTORE REGISTERS
034224 012605 MOV (SP)+,R5
034226 012601 MOV (SP)+,R1
034230 012600 MOV (SP)+,R0
17509 034232 RETURN ; ...TO CALLER
034232 000207 RTS PC
17510
17511 010255 .PSECT MESSAG
17512
17513 010255 YONMSG:
17514 010255 040 050 131 .ASCIZ % (YES OR NO)? %
010260 105 123 040
010263 117 122 040
010266 116 117 051
010271 077 040 000
17515 010274 YESMSG:
17516 010274 131 105 123 .ASCIZ %YES%
010277 000
17517 010300 NOMSG:
17518 010300 116 117 000 .ASCIZ %NO%
17519
17520 034234 .PSECT
ZEROC -- ZERO COMMAND MODULE 76 MACRO M1108 13-JAN-78 09:14 PAGE 535
.YESNO -- SUBROUTINE TO ASK "YES OR NO" 7603.22
17522 .TITLE ZEROC -- ZERO COMMAND MODULE 7609.15
17523
17524 .IDENT "001010"
17525
17526 ; COPYRIGHT (C) 1976, DIGITAL EQUIPMENT CORP., MARLBORO, MA 01752.
17527 ;
17528 ; THE SOFTWARE DESCRIBED IN THIS DOCUMENT, INCLUDING BUT NOT LIMITED TO
17529 ; INSTRUCTION EXECUTION TIMES AND OPERATING SPEEDS, IS FOR INFORMATION
17530 ; PURPOSES ONLY. ALL SUCH MATERIAL IS SUBJECT TO CHANGE WITHOUT
17531 ; NOTICE. CONSEQUENTLY DIGITAL MAKES NO CLAIM AND SHALL NOT BE LIABLE
17532 ; FOR ITS ACCURACY.
17533 ;
17534 ; THE SOFTWARE DESCRIBED IS FURNISHED TO THE PURCHASER UNDER A LICENSE
17535 ; FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH THE
17536 ; INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM,
17537 ; EXCEPT AS OTHERWISE MAY BE PROVIDED IN WRITING BY DIGITAL.
17538 ;
17539 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
17540 ; SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
17541 ;
17542 ;
17543 ; MODULE: ZERO COMMAND
17544 ;
17545 ; VERSION: 01-01
17546 ;
17547 ; AUTHOR: R. BELANGER
17548 ;
17549 ; DATE: 7609.15
17550 ;
17551 ; THIS MODULE CONTAINS:
17552 ;
17553 ; 1) ZERO COMMAND CODE
17554 ;
17555 ; MODIFIED BY A. PECKHAM 7612.11 TO DELETE REFERENCES TO .SECFL
17556
17557 .MCALL $DEF, DIR$, PRDP$
17558
17559 034234 $DEF
ZEROC -- ZERO COMMAND MODULE 76 MACRO M1108 13-JAN-78 09:14 PAGE 536
.ZEROC -- THE "ZERO" COMMAND 7609.15
17561 .SBTTL .ZEROC -- THE "ZERO" COMMAND 7609.15
17562
17563 ;+
17564 ; .ZEROC -- THE "ZERO" COMMAND.
17565 ;
17566 ; THIS ROUTINE WILL SET UP AND EXECUTE A KL "BLT" INSTRUCTION THAT
17567 ; WILL ZERO THE LOWER 256K OF KL MEMORY. KL AC 0 IS USED AS THE
17568 ; BLT POINTER, AND THUS IS NOT ZEROED.
17569 ;
17570 ; INPUT ARGUMENTS:
17571 ;
17572 ; NONE.
17573 ;
17574 ; OUTPUT ARGUMENTS:
17575 ;
17576 ; NONE
17577 ;
17578 ; ERROR CODES RETURNED:
17579 ;
17580 ; NONE.
17581 ;-
17582
17583 034234 .ZEROC::
17584 034234 CALL .CKRUN ; SEE IF THE KL IS RUNNING
034234 004737 002164' JSR PC,.CKRUN
17585 034240 005046 CLR -(SP) ; CLEAR A BUFFER ON THE STACK
17586 034242 005046 CLR -(SP) ; .
17587 034244 005046 CLR -(SP) ; ..
17588 034246 010600 MOV SP,R0 ; ...POINT TO THE BUFFER
17589 034250 CALL .GTKLA ; ...READ THE FIRST ADDRESS
034250 004737 012302' JSR PC,.GTKLA
17590 034254 010001 MOV R0,R1 ; ...SAVE POINTER TO FIRST ADDRESS
17591 034256 122704 000076 CMPB #'>,R4 ; ...IS LAST CHARACTER A BRACKET?
17592 034262 001403 BEQ 10$ ; ...YES -- GO ON
17593 034264 162706 000006 SUB #^D6,SP ; ...NO -- FUDGE THE STACK POINTER
17594 034270 000407 BR 20$ ; ......AND ASSUME IT IS E-O-C
17595 ;
17596
17597 ; [CONTINUED ON THE FOLLOWING PAGE]
ZEROC -- ZERO COMMAND MODULE 76 MACRO M1108 13-JAN-78 09:14 PAGE 537
.ZEROC -- THE "ZERO" COMMAND 7609.15
17599 ; [CONTINUED FROM THE PREVIOUS PAGE]
17600
17601 034272 10$:
17602 034272 105725 TSTB (R5)+ ; ...GET OVER THE SEPARATOR
17603 034274 005046 CLR -(SP) ; ...CLEAR ANOTHER BUFFER
17604 034276 005046 CLR -(SP) ; ....
17605 034300 005046 CLR -(SP) ; .....
17606 034302 010600 MOV SP,R0 ; ......GET SECOND BUFFER POINTER
17607 034304 CALL .GTKLA ; ......READ THE SECOND ADDRESS
034304 004737 012302' JSR PC,.GTKLA
17608 034310 20$:
17609 034310 CALL .CKEOC ; ......MUST BE E-O-C
034310 004737 002010' JSR PC,.CKEOC
17610 034314 PUSH <R0,R1> ; ......SAVE THE POINTERS
034314 010046 MOV R0,-(SP)
034316 010146 MOV R1,-(SP)
17611 034320 CALL .STPKL ; ........STOP THE KL
034320 004737 026330' JSR PC,.STPKL
17612 034324 032737 100000 000000G BIT #KF.CLK,.KLFLG ; ........IS THE CLOCK RUNNING?
17613 034332 001002 BNE 30$ ; ........YES -- GO ON
17614 034334 CALL .STCLK ; ........NO -- START IT
034334 004737 026300' JSR PC,.STCLK
17615 034340 30$:
17616 034340 POP <R1,R0> ; ........RESTORE THE POINTERS
034340 012601 MOV (SP)+,R1
034342 012600 MOV (SP)+,R0
17617 034344 012702 027414' MOV #.TPDEC,R2 ; ......DISPATCH FOR DECREMENT
17618 034350 CALL .TPCMP ; ......COMPARE ADDRESSES
034350 004737 027304' JSR PC,.TPCMP
17619 034354 002402 BLT 40$ ; ......ALL OK IF (R1) .GT. (R0)
17620 034356 012702 027402' MOV #.TPINC,R2 ; ......SET UP FOR FORWARD
17621 034362 40$:
17622 034362 010003 MOV R0,R3 ; ......END ADDRESS TO R3
17623 034364 010100 MOV R1,R0 ; ......BEGINNING ADDESSS TO R0
17624 034366 010301 MOV R3,R1 ; ......END ADDRESS TO R1
17625 034370 005046 CLR -(SP) ; ......CLEAR A DATA BUFFER
17626 034372 005046 CLR -(SP) ; .......
17627 034374 005046 CLR -(SP) ; ........
17628 034376 010603 MOV SP,R3 ; .........POINT TO IT
17629 034400 010337 034510' MOV R3,ZERDPB+6 ; .........SET UP THE DEPOSIT DPB
17630 034404 010037 034506' MOV R0,ZERDPB+4 ; .........SO
17631
17632 ; [CONTINUED ON THE FOLLOWING PAGE]
ZEROC -- ZERO COMMAND MODULE 76 MACRO M1108 13-JAN-78 09:14 PAGE 538
.ZEROC -- THE "ZERO" COMMAND 7609.15
17634 ; [CONTINUED FROM THE PREVIOUS PAGE]
17635
17636 034410 50$:
17637 034410 012703 000144 MOV #^D100,R3 ; .........LOOP COUNT TO R4
17638 034414 60$:
17639 034414 DIR$ #ZERDPB ; .........DO THE DEPOSIT
034414 012746 034502' MOV #ZERDPB,-(SP)
034420 104375 EMT 375
17640 034422 103415 BCS 80$ ; .........ERROR IF CC-C IS SET
17641 034424 CALL .TPCMP ; .........ARE WE DONE?
034424 004737 027304' JSR PC,.TPCMP
17642 034430 001405 BEQ 70$ ; .........YES -- EXIT
17643 034432 CALL (R2) ; .........NO -- COMPUTE NEXT ADDRESS
034432 004712 JSR PC,(R2)
17644 034434 077311 SOB R3,60$ ; .........LOOP THRU THIS SET
17645 034436 CALL .CKCTC ; .........LOOK FOR CONTROL-C
034436 004737 002126' JSR PC,.CKCTC
17646 034442 000762 BR 50$ ; .........AND GO ON
17647 ;
17648 034444 70$:
17649 034444 062706 000022 ADD #^D18,SP ; .........CLEAR THE STACK
17650 034450 005037 000140' CLR .SVKLF ; CLEAR ".SVKLF"
17651 034454 RETURN ; TO CALLER
034454 000207 RTS PC
17652 034456 80$:
17653 034456 022737 000000G 000000G CMP #IE.EBX,$DSW ; IS THE EBOX STOPPED?
17654 034464 001403 BEQ ZERESD ; YES -- SAY SO
17655 034466 ERROR$ DMF ; NO -- ERROR -- DEPOSIT MEMORY FAILED
034466 012746 MOV (PC)+,-(SP) ; "DMF" IN RAD50 TO STACK
034470 015416 .RAD50 /DMF/ ; ERROR IDENTIFIER
034472 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
17656 ;
17657 034474 ZERESD:
17658 034474 ERROR$ ESD ; ERROR -- EBOX STOPPED - DEPOSIT
034474 012746 MOV (PC)+,-(SP) ; "ESD" IN RAD50 TO STACK
034476 021074 .RAD50 /ESD/ ; ERROR IDENTIFIER
034500 104400 TRAP TC.ERR ; .AND TRAP OUT OF ROUTINE
17659 ;
17660 034502 ZERDPB:
17661 034502 PRDP$ 0,0,0,ED.PHY
034502 011 005 .BYTE DR.DTE,5
034504 016 200 .BYTE DF.PDP,ED.PHY
034506 000000 .WORD 0
034510 000000 .WORD 0
034512 000000 .WORD 0
ZEROC -- ZERO COMMAND MODULE 76 MACRO M1108 13-JAN-78 09:14 PAGE 539
.ZEROC -- THE "ZERO" COMMAND 7609.15
17663 000001 FTLCMN==1
17664
17665 000170' .END DATABX
ZEROC -- ZERO COMMAND MODULE 76 MACRO M1108 13-JAN-78 09:14 PAGE 539-1
SYMBOL TABLE
ABTAB 021012R A.LULU= 000002 CCA = 000014 CRLTAB 020560R DIAG2 = 174432
ADD = 000270 A.LUNA= 000004 CCEMSG 005300R 002 CR.ALL= 000003 DIAG3 = 174436
ADDB = 000273 A.LUNU= 000006 CC.ALL= 003417 CR.CR1= 000001 DIKL10= 000010
ADDI = 000271 BAEMSG 001652R 002 CC.NRM= 000000 CR.CR2= 000002 DIV = 000234
ADDM = 000272 BCCTER 001622R CDD = 000020 CR.FUL= 000000 DIVB = 000237
ADH = 000000 BC.HDS= ****** GX CDIMSG 001777R 002 CR.HLF= 000001 DIVI = 000235
ADL = 000100 BC.SKP= ****** GX CDMTB 023532R CR.NRM= 000000 DIVM = 000236
AMBMSG 006034R 002 BIT0 = 000001 CD.ALL= 003400 CR.QTR= 000002 DLYCNT= 174400
AND = 000404 BIT00 = 000001 CD.CLC= 000400 CR.SLO= 000003 DMFMSG 002316R 002
ANDB = 000407 BIT01 = 000002 CD.CRC= 002000 CS.ALL= 000014 DMOVE = 000120
ANDCA = 000410 BIT02 = 000004 CD.DPC= 001000 CS.CS1= 000004 DMOVEM= 000124
ANDCAB= 000413 BIT03 = 000010 CD.NRM= 000000 CS.CS2= 000010 DMOVN = 000121
ANDCAI= 000411 BIT04 = 000020 CESCES 001644R CS.EXP= 177670 DMOVNM= 000125
ANDCAM= 000412 BIT05 = 000040 CESMSG 006066R 002 CS.EXT= 000010 DNPMSG 002405R 002
ANDCB = 000440 BIT06 = 000100 CESMS0 004706R 002 CS.FST= 000004 DOCCNR 003510R
ANDCBB= 000443 BIT07 = 000200 CESMS1 004713R 002 CS.MGN= 000004 DON10C= 040000
ANDCBI= 000441 BIT08 = 000400 CESMS2 004720R 002 CS.NRM= 000000 DON10S= 100000
ANDCBM= 000442 BIT09 = 001000 CESMS3 004723R 002 CS.UDF= 000014 DON11C= 000100
ANDCM = 000420 BIT1 = 000002 CFHMSG 002030R 002 CYCLS = 000002 DON11S= 000200
ANDCMB= 000423 BIT10 = 002000 CHNPNT= 000001 DATABX 000170R DORMSG 002355R 002
ANDCMI= 000421 BIT11 = 004000 CH.ALP= 000001 DATAI = 000001 DOWMTB 033002R
ANDCMM= 000422 BIT12 = 010000 CH.ANM= 000003 DATAO = 000003 DOWTAB 023522R
ANDI = 000405 BIT13 = 020000 CH.AOP= 000100 DATBUF 033020R DPB = 000137
ANDM = 000406 BIT14 = 040000 CH.END= 000034 DATE = 000004 DPDTEN= 005746RG
AOBJN = 000253 BIT15 = 100000 CH.EOC= 000010 DAVMSG 002212R 002 DPOAPE 004562R
AOBJP = 000252 BIT2 = 000004 CH.EOL= 000004 DBTMSG 002243R 002 DPOATB 004026R
AOJ = 000340 BIT3 = 000010 CH.EOS= 000020 DCKMSG 002273R 002 DPODTB 004036R
AOJA = 000344 BIT4 = 000020 CH.ILL= 000200 DCOMST= 000001 DPOITB 004046R
AOJE = 000342 BIT5 = 000040 CH.NUL= 000000 DEP = 010000 DPOKCN 004570R
AOJG = 000347 BIT6 = 000100 CH.NUM= 000002 DEX = 000400 DPONTB 004056R
AOJGE = 000345 BIT7 = 000200 CH.PFX= 000040 DEXDON= 000004 DPOOAI 004256R
AOJL = 000341 BIT8 = 000400 CIDLUN= 000001 DEXWD1= 174406 DPOPTB 004066R
AOJLE = 000343 BIT9 = 001000 CKCILS 001774R DEXWD2= 174404 DPOVFE 004576R
AOJN = 000346 BLKI = 000000 CKCMRA 002002R DEXWD3= 174402 DPOZTB 004076R
AOS = 000350 BLKO = 000002 CKEEOC 002044R DFAD = 000110 DPS4 = 040000
AOSA = 000354 BLT = 000251 CKRKLR 002226R DFBEND= 000240RG DPTMSG 000565R 002
AOSE = 000352 BPARER= 000020 CLDSTB 032522R DFCIFC 003060R DRATAB 020574R
AOSG = 000357 CAEMSG 001705R 002 CLEAR = 000400 DFDV = 000113 DRDMSG 000514R 002
AOSGE = 000355 CAI = 000300 CLEARB= 000403 DFMP = 000112 DRESET= 000100
AOSL = 000351 CAIA = 000304 CLEARI= 000401 DFN = 000131 DR.DTE= 000011
AOSLE = 000353 CAIE = 000302 CLEARM= 000402 DFSB = 000111 DSEND = 000004
AOSN = 000356 CAIG = 000307 CLEMSG 002066R 002 DFUNC = 000200 DSFMSG 002444R 002
APEMSG 001627R 002 CAIGE = 000305 CLOSE = 000070 DF.DMG= 000004 DS04 = 004000
APR = 000000 CAIL = 000301 CLRTTB 032546R DF.DMN= 000007 DS05 = 002000
AP.ALL= 000177 CAILE = 000303 CLSRTB 032536R DF.DOR= 000001 DS06 = 001000
AP.ARP= 001000 CAIN = 000306 CMDNAM 000034RG 002 DF.EHG= 000010 DTCMSG 002477R 002
AP.CDP= 000004 CALL = 000040 CNRMSG 002123R 002 DF.EHM= 000011 DTECMD= 000451
AP.EIP= 000400 CALLI = 000047 CNUPE = 000002 DF.EMG= 000005 DTEDSF 005040R
AP.IPF= 000020 CAM = 000310 CODLUN= 000002 DF.EMN= 000006 DTEFLG= 000444
AP.MPE= 000010 CAMA = 000314 CONI = 000005 DF.KLR= 000012 DTEF11= 000450
AP.NRM= 001400 CAME = 000312 CONKNC 002652R DF.KLW= 000013 DTEMTD= 000455
AP.NXM= 000040 CAMG = 000317 CONO = 000004 DF.KLX= 000014 DTEMTI= 000456
AP.PWF= 000001 CAMGE = 000315 CONSO = 000007 DF.OFF= 000002 DTRMSG 000433R 002
AP.SAP= 000002 CAML = 000311 CONSZ = 000006 DF.ON = 000003 DUPE = 000020
AP.SBE= 000100 CAMLE = 000313 CPEMSG 002163R 002 DF.PDP= 000016 DURE = 000004
ASH = 000240 CAMN = 000316 CPVMSG 000000RG 002 DF.PEX= 000015 DV.LOG= ****** GX
ASHC = 000244 CBOMSG 001741R 002 CRATAB 020544R DIAG1 = 174430 DWRMSG 000520R 002
ZEROC -- ZERO COMMAND MODULE 76 MACRO M1108 13-JAN-78 09:14 PAGE 539-2
SYMBOL TABLE
DW1MSG 000454R 002 EDEPT 000524R 002 ER$EMF= 005730R EXDESD 005672R FORPRO= 000020
DW2MSG 000464R 002 EDEXV 000530R 002 ER$EOC= 002044R EXDESE 005706R FRDFRF 010720R
DW3MSG 000504R 002 EDNKLA 005472R ER$EPE= 005320R EXDMS0 000755R 002 FRDMSG 000273R 002
DXWRD1= 002000 EDONES= 040000 ER$ESD= 034474R EXDMS1 000764R 002 FRDTEN= 010736RG
D.CCPU= ****** GX EDPHY 000544R 002 ER$ESE= 005714R EXDMS2 000773R 002 FRFMSG 006120R 002
D.CKLN= ****** GX EDTYTB 006144R ER$FRF= 010720R EXDMS3 001002R 002 FRIMSG 007404R 002
D1.CES= 004000 EDUPT 000534R 002 ER$FWF= 011054R EXDMS4 001011R 002 FR.ADX= 000254
D1.DCS= 000001 EDUSV 000540R 002 ER$FXF= 011236R EXDTEN= 005760RG FR.APR= 000220
D1.DDT= 000040 ED.EPT= 000000 ER$IDF= 011742R EXDTET 007634R FR.ARX= 000252
D1.DEX= 000400 ED.EXV= 000040 ER$IFC= 034114R EXECTO 007530R FR.BRX= 000250
D1.DFM= 000010 ED.PHY= 000200 ER$ILC= 013110R EXFMSG 000645R 002 FR.CA1= 000312
D1.DS0= 100000 ED.UPT= 000100 ER$ILS= 022506R EXKMS0 000746R 002 FR.CA2= 000310
D1.DS1= 040000 ED.USV= 000140 ER$IOC= 007316R EXKMS1 000751R 002 FR.CL1= 000316
D1.DS2= 020000 EF.CRI= ****** GX ER$IPC= 024032R EXMDTB 006414R FR.CL2= 000314
D1.DS3= 010000 EF.PR1= ****** GX ER$IRC= 021120R EXRTBL= 000012 G FR.CRD= 000302
D1.DS4= 004000 ELBBIN 031252RG ER$ITF= 013720R EXTEND= 000123 FR.CR1= 000316
D1.DS5= 002000 ELBOCT 031256RG ER$ITN= 022246R EXTKCN 007126R FR.CR2= 000314
D1.DS6= 001000 ELNBIN 031244RG ER$KCN= 022112R EXTMSG 000550R 002 FR.CR3= 000312
D1.HLP= 001000 ELNNOR 012246R ER$KLA= 012326R E.FCID= 000002 FR.CR4= 000310
D1.LBK= 000200 ELNOCT 031262RG ER$KLR= 002226R E.FCOD= 000003 FR.DA1= 000260
D1.MBZ= 000442 EMFMSG 002602R 002 ER$KNC= 002652R E.FCTC= ****** GX FR.DA2= 000262
D1.PLS= 000020 ENTER = 000077 ER$KWE= 024372R E.FHTO= 000001 FR.EBS= 000356
D1.RUN= 002000 EOCMSG 002641R 002 ER$MRA= 013352R E.FKLN= 000004 FR.FE1= 000266
D1.T10= 000200 EPEMSG 002677R 002 ER$NDI= 023506R E.FPR1= ****** GX FR.FE2= 000264
D1.T11= 000100 EPMSG0 001067R 002 ER$NER= 012524R FAD = 000140 FR.PI0= 000200
D1.V04= 000020 EPMSG1 001103R 002 ER$NOR= 013360R FADB = 000143 FR.PI1= 000202
D1.XFR= 000004 EPMSG2 001115R 002 ER$NPI= 024006R FADL = 000141 FR.RAD= 000256
D1011 = 000040 EPMSG3 001131R 002 ER$NSK= 030424R FADM = 000142 FR.RAR= 000240
D2RST 021440R EPTR = 000000 ER$NST= 022254R FADR = 000144 FR.RBR= 000242
D2.EBD= 040000 EQV = 000444 ER$NTI= 023514R FADRB = 000147 FR.RFM= 000246
D2.MBZ= 177641 EQVB = 000447 ER$OAI= 006606R FADRI = 000145 FR.RMQ= 000244
D2.MS1= 000002 EQVI = 000445 ER$OFC= 034122R FADRM = 000146 FR.SC1= 000262
D2.MS2= 000004 EQVM = 000446 ER$PTL= 024014R FDV = 000170 FR.SC2= 000260
D2.MS4= 000010 ERR10C= 010000 ER$RPM= 013226R FDVB = 000173 FR.SR1= 000306
D2.MS8= 000020 ERR10S= 020000 ER$SCF= 022514R FDVL = 000171 FR.SR2= 000304
D2.RA0= 100000 ERR11C= 000001 ER$SKI= 024022R FDVM = 000172 FR.VM0= 000320
D2.RA1= 040000 ERR11S= 000002 ER$SPF= 022522R FDVR = 000174 FR.VM1= 000322
D2.RA2= 020000 ERSMSG 004733R 002 ER$SZI= 026556R FDVRB = 000177 FR.VM2= 000324
D2.RST= 000100 ER$AMB= 030416R ER$TAA= 022262R FDVRI = 000175 FR.VM3= 000326
D3RST 021442R ER$APE= 004562R ER$TOR= 013726R FDVRM = 000176 FR.VM4= 000330
D3.CDD= 000020 ER$BAE= 001622R ER$UNL= 026752R FERTAB 020610R FR.VM5= 000332
D3.MBZ= 177704 ER$CAE= 026744R ER$VFY= 004576R FIX = 000122 FR.VM6= 000334
D3.NPE= 000002 ER$CBO= 012142R ER$WRM= 030432R FIXR = 000126 FR.VM7= 000336
D3.PAR= 040000 ER$CDI= 023472R ER$XTO= 007530R FLDMSG 004647R 002 FR.100= 000200
D3.RST= 000001 ER$CES= 001704R ER$YOR= 011750R FLTR = 000127 FR.101= 000202
D3.SCD= 000040 ER$CFH= 015276R ESDMSG 002727R 002 FMP = 000160 FR.102= 000204
D3.SSL= 100000 ER$CLE= 022672R ESEMSG 002764R 002 FMPB = 000163 FR.103= 000206
D3.TXB= 000001 ER$CNR= 003510R EXADTB 006424R FMPL = 000161 FR.104= 000210
D3.UPE= 000020 ER$DAV= 023500R EXAITB 006434R FMPM = 000162 FR.105= 000212
D3.URE= 000004 ER$DBT= 011726R EXANTB 006444R FMPR = 000164 FR.106= 000214
D3.WEP= 000010 ER$DCK= 027204R EXAOAI 006606R FMPRB = 000167 FR.107= 000216
EBCECT 005276R ER$DMF= 034466R EXAPTB 006454R FMPRI = 000165 FR.110= 000220
EBPEPE 005320R ER$DNP= 014514R EXAZTB 006464R FMPRM = 000166 FR.111= 000222
EBSEL = 000100 ER$DOR= 011734R EXCH = 000250 FNCIFC 034114R FR.112= 000224
EBUSPC= 000020 ER$DSF= 005040R EXCIOC 007316R FNCOFC 034122R FR.113= 000226
EBUSPS= 000004 ER$DTC= 014522R EXDDMF 005722R FOFMSG 000637R 002 FR.114= 000230
ECTMSG 002551R 002 ER$ECT= 005276R EXDEMF 005730R FONMSG 000631R 002 FR.115= 000232
ZEROC -- ZERO COMMAND MODULE 76 MACRO M1108 13-JAN-78 09:14 PAGE 539-3
SYMBOL TABLE
FR.116= 000234 FSBRM = 000156 FW.046= 000114 FX.017= 000036 HLLZM = 000512
FR.117= 000236 FSC = 000132 FW.047= 000116 FX.020= 000040 HLLZS = 000513
FR.120= 000240 FTBYTE= 000000 FW.050= 000120 FX.021= 000042 HLR = 000544
FR.121= 000242 FTCRAM= 000000 FW.051= 000122 FX.022= 000044 HLRE = 000574
FR.122= 000244 FTDEBU= 000001 FW.052= 000124 FX.023= 000046 HLREI = 000575
FR.123= 000246 FTDISP= 000000 FW.053= 000126 FX.024= 000050 HLREM = 000576
FR.124= 000250 FTDRAM= 000000 FW.054= 000130 FX.025= 000052 HLRES = 000577
FR.125= 000252 FTHELP= 000000 FW.055= 000132 FX.026= 000054 HLRO = 000564
FR.126= 000254 FTKLER= 000000 FW.056= 000134 FX.027= 000056 HLROI = 000565
FR.127= 000256 FTLCMN= 000001 G FW.057= 000136 FX.030= 000060 HLROM = 000566
FR.130= 000260 FTLCVT= 000000 FW.060= 000140 FX.031= 000062 HLROS = 000567
FR.131= 000262 FTLIST= 000000 FW.061= 000142 FX.032= 000064 HLRS = 000547
FR.132= 000264 FTTRAK= 000001 FW.062= 000144 FX.033= 000066 HLRZ = 000554
FR.133= 000266 FTTRP4= 000001 FW.063= 000146 FX.034= 000070 HLRZI = 000555
FR.134= 000270 FTUCVR= 000130 FW.064= 000150 FX.035= 000072 HLRZM = 000556
FR.135= 000272 FT1105= 000001 FW.065= 000152 FX.036= 000074 HLRZS = 000557
FR.136= 000274 FT1110= 000001 FW.066= 000154 FX.037= 000076 HRL = 000504
FR.137= 000276 FT1115= 000001 FW.067= 000156 GETSTS= 000062 HRLE = 000534
FR.140= 000300 FT1120= 000001 FW.070= 000160 GTDDBT 011726R HRLEI = 000535
FR.141= 000302 FT1135= 000001 FW.071= 000162 GTDDOR 011734R HRLEM = 000536
FR.142= 000304 FT1140= 000001 FW.072= 000164 GTDIDF 011742R HRLES = 000537
FR.143= 000306 FT1145= 000000 FW.073= 000166 GTDMS0 001407R 002 HRLI = 000505
FR.144= 000310 FWDTEN= 011072RG FW.074= 000170 GTDYOR 011750R HRLM = 000506
FR.145= 000312 FWFMSG 006145R 002 FW.075= 000172 GTFILC 013110R HRLO = 000564
FR.146= 000314 FWRFWF 011054R FW.076= 000174 GTKKLA 012326R HRLOI = 000565
FR.147= 000316 FW.APE= 000116 FW.077= 000176 GTLCBO 012142R HRLOM = 000566
FR.150= 000320 FW.CA1= 000122 FXCFXF 011236R GTLILC 012150R HRLOS = 000567
FR.151= 000322 FW.CA2= 000124 FXDTEN= 011254RG GTNMRA 013352R HRLS = 000507
FR.152= 000324 FW.CDR= 000112 FXFMSG 006173R 002 GTNNER 012524R HRLZ = 000514
FR.153= 000326 FW.CHN= 000160 FX.BMC= 000012 GTNNOR 013360R HRLZI = 000515
FR.154= 000330 FW.CRD= 000126 FX.CMR= 000014 GTNORE 012520R HRLZM = 000516
FR.155= 000332 FW.CR1= 000136 FX.CON= 000024 GTTITF 013720R HRLZS = 000517
FR.156= 000334 FW.CR2= 000134 FX.CRF= 000020 GTTMS0 001416R 002 HRR = 000540
FR.157= 000336 FW.CR3= 000132 FX.CSP= 000000 GTTTOR 013726R HRRE = 000570
FR.160= 000340 FW.CR4= 000130 FX.CST= 000002 G.TICP= 000016 HRREI = 000571
FR.161= 000342 FW.CSR= 000110 FX.EBC= 000006 G.TICT= 000014 HRREM = 000572
FR.162= 000344 FW.DJE= 000146 FX.MBC= 000004 G.TIDA= 000004 HRRES = 000573
FR.163= 000346 FW.DJO= 000150 FX.SMR= 000016 G.TIHR= 000006 HRRI = 000541
FR.164= 000350 FW.DR1= 000140 FX.SRF= 000022 G.TIMI= 000010 HRRM = 000542
FR.165= 000352 FW.DR2= 000142 FX.SYC= 000010 G.TIMO= 000002 HRRO = 000560
FR.166= 000354 FW.DR3= 000144 FX.UDR= 000032 G.TISC= 000012 HRROI = 000561
FR.167= 000356 FW.EBL= 000174 FX.UIR= 000030 G.TIYR= 000000 HRROM = 000562
FR.170= 000360 FW.IAC= 000154 FX.000= 000000 HIBYTE= 177400 HRROS = 000563
FR.171= 000362 FW.IOJ= 000152 FX.001= 000002 HLL = 000500 HRRS = 000543
FR.172= 000364 FW.IPE= 000114 FX.002= 000004 HLLE = 000530 HRRZ = 000550
FR.173= 000366 FW.KLO= 000156 FX.003= 000006 HLLEI = 000531 HRRZI = 000551
FR.174= 000370 FW.LAR= 000176 FX.004= 000010 HLLEM = 000532 HRRZM = 000552
FR.175= 000372 FW.LBL= 000106 FX.005= 000012 HLLES = 000533 HRRZS = 000553
FR.176= 000374 FW.LBR= 000104 FX.006= 000014 HLLI = 000501 I = 000000
FR.177= 000376 FW.MBX= 000162 FX.007= 000016 HLLM = 000502 IBP = 000133
FSB = 000150 FW.SBR= 000174 FX.010= 000020 HLLO = 000520 IDFMSG 003021R 002
FSBB = 000153 FW.040= 000100 FX.011= 000022 HLLOI = 000521 IDIV = 000230
FSBL = 000151 FW.041= 000102 FX.012= 000024 HLLOM = 000522 IDIVB = 000233
FSBM = 000152 FW.042= 000104 FX.013= 000026 HLLOS = 000523 IDIVI = 000231
FSBR = 000154 FW.043= 000106 FX.014= 000030 HLLS = 000503 IDIVM = 000232
FSBRB = 000157 FW.044= 000110 FX.015= 000032 HLLZ = 000510 IDPB = 000136
FSBRI = 000155 FW.045= 000112 FX.016= 000034 HLLZI = 000511 IE.ACT= ****** GX
ZEROC -- ZERO COMMAND MODULE 76 MACRO M1108 13-JAN-78 09:14 PAGE 539-4
SYMBOL TABLE
IE.EBX= ****** GX JUMPLE= 000323 MOVMI = 000215 PAG = 000010 PSWW5 = 000011
IE.INS= ****** GX JUMPN = 000326 MOVMM = 000216 PARERC 016730R PSWW6 = 000012
IFCMSG 003053R 002 KCNMSG 003254R 002 MOVMS = 000217 PARERX 016554R PSWW7 = 000013
IFLOP = 100000 KF.BRM= 001000 MOVN = 000210 PARMSG 000011RG 002 PS.NRM= 001416
ILCMSG 006223R 002 KF.CES= 000100 MOVNI = 000211 PARNAM 000021RG 002 PTLMSG 004044R 002
ILDB = 000134 KF.CLK= 100000 MOVNM = 000212 PARUEC 017002R PTOATM 004775R 002
ILSMSG 006255R 002 KF.CON= 000200 MOVNS = 000213 PAR$$E= 000010 PTRTEM 005042R 002
IMUL = 000220 KF.DEF= 000200 MOVS = 000204 PAR$$K= 000126 PTRTHM 005112R 002
IMULB = 000223 KF.KLO= 000400 MOVSI = 000205 PAR$$V= 000004 PULSE = 000020
IMULI = 000221 KF.MRS= 020000 MOVSM = 000206 PCTAB 021004R PUSH = 000261
IMULM = 000222 KF.RUN= 040000 MOVSS = 000207 PC.AFI= 000020 PUSHJ = 000260
IN = 000056 KF.SIM= 010000 MPE11 = 001000 PC.AT0= 000004 QSIZE = 000023
INBUF = 000064 KF.SMC= 004000 MRAMSG 003461R 002 PC.AT1= 000010 Q.BYCT= 000016
INIDNP 014514R KF.SPM= 002000 MUL = 000224 PC.BIS= 000400 Q.IBUF= 000014
INIDTC 014522R KLABIN 031240RG MULB = 000227 PC.CY0= 004000 Q.IOAE= 000012
INIT = 000041 KLAMSG 003302R 002 MULI = 000225 PC.CY1= 002000 Q.IOEF= 000006
INPUT = 000066 KLAOCT 031264RG MULM = 000226 PC.FOV= 001000 Q.IOFN= 000002
INTROF= 000010 KLHCFH 014766R M.KTAE= 000010 PC.FUF= 000002 Q.IOLU= 000004
INTRON= 000040 KLIOT = 000700 M.KTEF= 000002 PC.LIP= 000040 Q.IOPL= 000014
INTSON= 000001 KLNBIN 031230RG M.KTMG= 000004 PC.NDV= 000001 Q.IOPR= 000007
INT10S= 000400 KLNLGE= 025026R M.KTUN= 000006 PC.OVF= 010000 Q.IOSB= 000010
INT11C= 002000 KLNLGL= ****** GX NDIMSG 003521R 002 PC.UIO= 000100 Q.OBUF= 000014
INT11S= 004000 KLNLOG 025002R NEBMSG 004746R 002 PC.USR= 000200 Q.OVFC= 000020
IOCMSG 003107R 002 KLNOCT 031260RG NERMSG 003551R 002 PERCLR= 001000 RAMIS0= 010000
IOR = 000434 KLNPLN= ****** GX NOFMSG 000602R 002 PE.ALL= 000037 RDCPT1 017756R
IORB = 000437 KLNPWD 025026R NOMSG 010300R 002 PE.CES= 000001 RDCPT2 017736R
IORI = 000435 KLPWRF= 000010 NORMSG 003613R 002 PE.CRM= 000004 RDCPT3 017746R
IORM = 000436 KLRMSG 003331R 002 NPIMSG 003653R 002 PE.DRM= 000002 RDPITB 020400R
IO.ATT= ****** GX KLSCFH 015276R NSKMSG 006364R 002 PE.FMP= 000010 RDPITE= 020414R
IO.DET= ****** GX KNCMSG 003373R 002 NSTMSG 003707R 002 PE.FSS= 000020 REGTAB 005200R
IO.RLB= ****** GX KWEMSG 003427R 002 NTIMSG 003732R 002 PHYS = 100000 RELEAS= 000071
IO.WLB= ****** GX K.LSCK= ****** GX NULSTP= 000040 PI = 000004 RENAME= 000055
IPCMSG 006321R 002 LDB = 000135 NUPE = 000002 PIDENT= 000000 REPIRC 021120R
IP.ALL= 000017 LG.ALL= 000007 OAIMSG 003762R 002 POP = 000262 REQKLD 033434R
IP.CRP= 000004 LG.ARG= 000010 OFCMSG 004014R 002 POPJ = 000263 RESETT 021244R
IP.DRP= 000002 LG.MAR= 000020 OFFMSG 001147R 002 PRI7 = 000340 RFMAD0= 100000
IP.FMP= 000010 LG.MNT= 000004 ONMSG 001144R 002 PROMPT 000030RG 002 RFMAD1= 040000
IP.FSS= 000001 LG.MOD= 000040 OPEN = 000050 PROPNT= 000021 RFMAD2= 020000
IP.NRM= 000016 LG.NUL= 000000 OR = 000434 PRTOFF= 004000 RFMAD3= 010000
IRCMSG 003137R 002 LG.OPR= 000001 ORB = 000437 PR0 = 000000 RGDTEN= 005066RG
IS.SET= ****** GX LG.PRG= 000002 ORCA = 000454 PR1 = 000040 RM = 000010
ITFMSG 003172R 002 LG.PRM= 000003 ORCAB = 000457 PR2 = 000100 ROT = 000241
ITNMSG 003224R 002 LG.RNG= 000100 ORCAI = 000455 PR3 = 000140 ROTC = 000245
JFCL = 000255 LG.RPT= 000400 ORCAM = 000456 PR4 = 000200 RPMMSG 004074R 002
JFFO = 000243 LG.STR= 000200 ORCB = 000470 PR5 = 000240 RQSKLD 003316R
JRA = 000267 LOAD11= 000004 ORCBB = 000473 PR6 = 000300 RSAKCN 021704R
JRST = 000254 LOOKUP= 000076 ORCBI = 000471 PR7 = 000340 RSAPRI 021744R
JSA = 000266 LSH = 000242 ORCBM = 000472 PS = 177776 RSERRI 021752R
JSP = 000265 LSHC = 000246 ORCM = 000464 PSENTB 033704R RSPGI0 022120R
JSR = 000264 MAP = 000257 ORCMB = 000467 PSWW1 = 000005 RSPGI1 022126R
JSYS = 000104 MBZTAB 005046R ORCMI = 000465 PSWW10= 000014 RSPKCN 022112R
JUMP = 000320 MONMSG 007336R 002 ORCMM = 000466 PSWW11= 000015 RSTEND= 021252R
JUMPA = 000324 MOVE = 000200 ORI = 000435 PSWW12= 000016 RSTIOI 021760R
JUMPE = 000322 MOVEI = 000201 ORM = 000436 PSWW13= 000017 RSTPII 021766R
JUMPG = 000327 MOVEM = 000202 OUT = 000057 PSWW2 = 000006 RUNITN 022246R
JUMPGE= 000325 MOVES = 000203 OUTBUF= 000065 PSWW3 = 000007 RUNNST 022254R
JUMPL = 000321 MOVM = 000214 OUTPUT= 000067 PSWW4 = 000010 RUNTAA 022262R
ZEROC -- ZERO COMMAND MODULE 76 MACRO M1108 13-JAN-78 09:14 PAGE 539-5
SYMBOL TABLE
R.QSGC= 000015 SKIPA = 000334 ST.TXD= 100000 TOD = 000003 TSNA = 000615
R.QSPC= 000014 SKIPE = 000332 ST.TXE= 020000 TOIP = 000002 TSNE = 000613
R.QSPN= 000006 SKIPG = 000337 ST.XDB= 000400 TOIT = 000001 TSNN = 000617
R.QSPR= 000012 SKIPGE= 000335 SUB = 000274 TORMSG 004361R 002 TSO = 000671
R.QSTN= 000002 SKIPL = 000331 SUBB = 000277 TO10 = 000200 TSOA = 000675
SATMSG 007414R 002 SKIPLE= 000333 SUBI = 000275 TO10AD= 174420 TSOE = 000673
SBRTAB 020624R SKIPN = 000336 SUBM = 000276 TO10BC= 174414 TSON = 000677
SCCCLE 022672R SOJ = 000360 SUNMSG 007426R 002 TO10BM= 000001 TSZ = 000631
SCCLKT 022530R SOJA = 000364 SWR = 177570 TO10DB= 000400 TSZA = 000635
SCD = 000040 SOJE = 000362 SWSLLT= 100000 TO10DN= 100000 TSZE = 000633
SCDCDI 023472R SOJG = 000367 SXCT = 000106 TO10DT= 174424 TSZN = 000637
SCDDAV 023500R SOJGE = 000365 SZIMSG 004270R 002 TO10ER= 020000 TTCALL= 000051
SCDNDI 023506R SOJL = 000361 TAAMSG 004324R 002 TO11 = 000100 TUEMSG 007346R 002
SCDNTI 023514R SOJLE = 000363 TC.CON= 000377 TO11AD= 174422 TYDMAP 006534R 002
SCFMSG 004134R 002 SOJN = 000366 TC.CTC= 000002 TO11BC= 174416 TYDMAU 006554R 002
SCKIPC 024030R SOS = 000370 TC.ERR= 000000 TO11BM= 020000 TYDMDE 006574R 002
SCKKWE 024372R SOSA = 000374 TC.RST= 000001 TO11DB= 004000 TYDMFE 006524R 002
SCKMS0 005466R 002 SOSE = 000372 TDC = 000650 TO11DN= 000200 TYDMJA 006520R 002
SCKMS1 005501R 002 SOSG = 000377 TDCA = 000654 TO11DT= 174426 TYDMJL 006550R 002
SCKMS2 005525R 002 SOSGE = 000375 TDCE = 000652 TO11ER= 000002 TYDMJN 006544R 002
SCKMS3 005552R 002 SOSL = 000371 TDCN = 000656 TPDDCK 027204R TYDMMR 006530R 002
SCKMS4 005601R 002 SOSLE = 000373 TDMSG0 006501R 002 TPDDVD 027226R TYDMMY 006540R 002
SCKNPI 024006R SOSN = 000376 TDN = 000610 TPDDVS 027220R TYDMNO 006570R 002
SCKPTL 024014R SPCEST 017116R TDNA = 000614 TPDRMN 027212R TYDMOC 006564R 002
SCKSKI 024022R SPFMSG 004240R 002 TDNE = 000612 TRADDR 006130R TYDMSE 006560R 002
SCPART 022542R SSTLEN= 000010 G TDNN = 000616 TRC = 000640 TYDMTB 030554R
SCPILS 022506R SSTTBE= 000212RG TDO = 000670 TRCA = 000644 TYODIE 031632R
SCPSCF 022514R STAMSG 000474R 002 TDOA = 000674 TRCE = 000642 UECMSG 004657R 002
SCPSPF 022522R STASZI 026556R TDOE = 000672 TRCN = 000646 UECMSP 017024R
SCRTAB 020640R STAT = 174434 TDON = 000676 TRDATA 006136R UGETF = 000073
SETA = 000424 STATO = 000061 TDZ = 000630 TRN = 000600 UJEN = 000100
SETAB = 000427 STATUS= 000022 TDZA = 000634 TRNA = 000604 UNASG1= 000032
SETAI = 000425 STATZ = 000063 TDZE = 000632 TRNE = 000602 UNASG2= 000033
SETAM = 000426 STUCAE 026744R TDZN = 000636 TRNN = 000606 UNASG3= 000034
SETCA = 000450 STUUNL 026752R TENAD1= 174410 TRO = 000660 UNASG4= 000035
SETCAB= 000453 ST.CED= 000100 TENAD2= 174412 TROA = 000664 UNASG5= 000036
SETCAI= 000451 ST.CLE= 000001 TFRMSG 006432R 002 TROE = 000662 UNASG6= 000037
SETCAM= 000452 ST.CTD= 040000 TFWMSG 006447R 002 TRON = 000666 UNLMSG 004411R 002
SETCM = 000460 ST.CTE= 010000 TFXMSG 006464R 002 TRZ = 000620 USETI = 000074
SETCMB= 000463 ST.DW1= 002000 THUMSG 007372R 002 TRZA = 000624 USETO = 000075
SETCMI= 000461 ST.DXD= 000004 TLC = 000641 TRZE = 000622 VFYMSG 004447R 002
SETCMM= 000462 ST.EBS= 000100 TLCA = 000645 TRZN = 000626 VF.DSP= 000060
SETM = 000414 ST.EDB= 004000 TLCE = 000643 TR.ALL= 000077 VF.FFD= 000061
SETMB = 000417 ST.EPE= 000020 TLCN = 000647 TR.DEP= 000020 VF.INT= 000000
SETMI = 000415 ST.IDS= 000010 TLN = 000601 TR.DTE= 000040 VF.OVR= 000053
SETMM = 000416 ST.IEN= 000040 TLNA = 000605 TR.EXM= 000010 VF.PRM= 000044
SETO = 000474 ST.ION= 000001 TLNE = 000603 TR.FRD= 000002 VF.SSP= 000040
SETOB = 000477 ST.MBZ= 000000 TLNN = 000607 TR.FWR= 000004 VMATB 021020R
SETOI = 000475 ST.MOD= 000010 TLO = 000661 TR.FXC= 000001 VMHTB 021026R
SETOM = 000476 ST.MPE= 001000 TLOA = 000665 TSC = 000651 WCLMS0 006777R 002
SETSTS= 000060 ST.NST= 000040 TLOE = 000663 TSCA = 000655 WCLMS1 007004R 002
SETZ = 000400 ST.RIZ= 010000 TLON = 000667 TSCAMB 030412R WCLMS2 007016R 002
SETZB = 000403 ST.RST= 011121 TLZ = 000621 TSCE = 000653 WCLMS3 007026R 002
SETZI = 000401 ST.SEP= 000004 TLZA = 000625 TSCN = 000657 WCLMS4 007037R 002
SETZM = 000402 ST.STE= 000002 TLZE = 000623 TSCNSK 030424R WCLMS5 007046R 002
SKIMSG 004163R 002 ST.TED= 000200 TLZN = 000627 TSCWRM 030432R WCLMS6 007057R 002
SKIP = 000330 ST.TER= 000002 TOBM = 000004 TSN = 000611 WCLMS7 007064R 002
ZEROC -- ZERO COMMAND MODULE 76 MACRO M1108 13-JAN-78 09:14 PAGE 539-6
SYMBOL TABLE
WCLMS8 007071R 002 XCT = 000256 .CKOBJ 002074RG .DPOKL 003760RG .EXAMC 006364RG
WCLMS9 007101R 002 XOR = 000430 .CKRNP 002154RG .DPOSA 004022RG .EXAMD 006420RG
WCMMSG 007175R 002 XORB = 000433 .CKRUN 002164RG .DPOSC 003776RG .EXAME 006470RG
WCMMS0 007215R 002 XORI = 000431 .CKSYM 002112RG .DPOSD 004032RG .EXAMF 006614RG
WCMMS1 007231R 002 XORM = 000432 .CLDFB 002234RG .DPOSE 004102RG .EXAMI 006430RG
WCMMS2 007244R 002 XR = 000000 .CLDFR 002240RG .DPOSI 004042RG .EXAMK 006720RG
WCMSG0 007106R 002 XTOMSG 004614R 002 .CLDFW 002250RG .DPOSN 004052RG .EXAMN 006440RG
WCMSG1 007132R 002 YESMSG 010274R 002 .CLKWD 000010RG .DPOSP 004062RG .EXAMP 006450RG
WCMSG2 007146R 002 YONMSG 010255R 002 .CLRCM 025626RG .DPOST 004264RG .EXAMT 006774RG
WCMSG3 007160R 002 YORMSG 004564R 002 .CLRFF 002266RG .DPOSZ 004072RG .EXAMZ 006460RG
WCMSG4 007170R 002 ZERDPB 034502R .CLRMR= 006000 .DPOTB 004604RG .EXARR 006172RG
WEDMSG 007357R 002 ZERESD 034474R .CLRUN= 010000 .DPSEE 004154RG .EXARX 006200RG
WEP = 000010 ZSTOP = 040000 .CMDTB 002334RG .DPSTE 004334RG .EXBFR 000056RG
WHDMS0 007255R 002 $DIV = ****** GX .CMNDL= 000430 G .DPTRK 005774RG .EXBRR 006206RG
WHDMS1 007303R 002 $DSW = ****** GX .COBFL= 000204 G .DREG 000230RG .EXBRX 006214RG
WHDMS2 007327R 002 $MUL = ****** GX .COBFR 000454RG .DRLTC= 015000 .EXCRA 007134RG
WHDMS3 007332R 002 $$ = 000037 .COMEF= ****** GX .DSACF= 066000 .EXCRL 007142RG
WHIMSG 007436R 002 $$A = 000100 .COMMA= 000054 .DSIOJ= 065000 .EXCTC 007250RG
WHKMRB 007675R 002 $$B = 000000 .COMND 000670RG .DTAB 005662R .EXCTF 007324RG
WHKMSA 007666R 002 $$C = 000200 .CONBT= 012000 .DTBUF 011756RG .EXDPB 005750RG
WHKMSI 007720R 002 $$CMDN= 006723R 002 .CONTC 002556RG .DTCID 031674RG .EXDPM 005570RG
WHKMSK 007745R 002 $$D = 000011 .COSTS 000012RG .DTDI1 000230RG .EXDRA 007150RG
WHKMSR 007736R 002 $$E = 000016 .CSHRG= 164000 .DTDI2 000232RG .EXDTE 007536RG
WHKMSU 007731R 002 $$F = 000000 .DATE3= ****** GX .DTDI3 000236RG .EXEBS 006222RG
WHKMS0 007476R 002 $$$ARG= 000006 .DAY = ****** GX .DTDW1 004742RG .EXECT 007402RG
WHKMS1 007507R 002 $$$OST= 000016 .DBGSW 000016RG .DTDW2 004750RG .EXETB 007654RG
WHKMS2 007520R 002 $$$T1 = 000000 .DEPAR 002660RG .DTDW3 004770RG .EXEWD 007722RG
WHKMS3 007546R 002 .ABORT 001522RG .DFBLK 000214RG .DTSTA 004760RG .EXEWI 007730RG
WHKMS4 007576R 002 .ABRTC 001562RG .DFCOM 002756RG .DTSTS 000234RG .EXEWN 007736RG
WHKMS5 007626R 002 .ABRT0 001544RG .DFRB 000222RG .DTSTW= 000004 .EXEWP 007744RG
WHKMS6 007642R 002 .APRWD 000000RG .DFRED 003066RG .DTTRK 005070RG .EXEWT 007714RG
WHKMS7 007655R 002 .ASCID 014222RG .DFWB 000214RG .DWDW1 004666RG .EXFER 007156RG
WHMMSG 007764R 002 .ASCOD 014232RG .DFWRT 003172RG .DWDW2 004674RG .EXFMR 006230RG
WHMMS0 007776R 002 .ATCID 031660RG .DFXCT 003252RG .DWDW3 004714RG .EXITP 007754RG
WHMMS1 010002R 002 .ATLMD= 000033 .DIAG1= 000000 .DWSTA 004704RG .EXKLD 010036RG
WHOMSG 010011R 002 .BRCLK= 005000 .DIAG2= 000002 .EBCLK 005210RG .EXKLI 010044RG
WHPMS0 010032R 002 .BRMBC 001574RG .DIAG3= 000006 .EBPCK 005304RG .EXKLM 005500RG
WHPMS1 010035R 002 .BURST 001600RG .DISCC 003272RG .EDELA 000034RG .EXKLN 010052RG
WHPMS2 010042R 002 .CCMDN 000002RG .DOCMD 003334RG .EDEWD 005326RG .EXKLP 010060RG
WHPMS3 010047R 002 .CDIBC= 012174R .DOW = ****** GX .EDEWI 005340RG .EXKLT 010030RG
WHPMS4 010052R 002 .CDIBP= 012172R .DPBFR 000020RG .EDEWN 005340RG .EXMEE 006516RG
WHPMS5 010062R 002 .CDINP 012156RG .DPBFX 000026RG .EDEWP 005326RG .EXMEL 010564RG
WHPMS6 010067R 002 .CDOBC= 031654RG .DPDPB 005736RG .EDKLA 000036RG .EXMKL 010574RG
WHPMS7 010073R 002 .CDOBP= 031652RG .DPETB 003516RG .EDKLC 005450RG .EXMPI 010070RG
WHRMSG 007456R 002 .CDOFC= 031656RG .DPEWD 003564RG .EDKLD 005376RG .EXMQR 006236RG
WHRMS0 010217R 002 .CDOUT 031636RG .DPEWI 003572RG .EDKLI 005414RG .EXMTB 010242RG
WHRMS1 010222R 002 .CECLK= 004000 .DPEWN 003600RG .EDKLN 005364RG .EXMTE 007026RG
WHTMSG 010226R 002 .CESCK 001630RG .DPEWP 003606RG .EDKLP 005352RG .EXOBJ 010536RG
WHTMS0 010246R 002 .CHTAB 001360RG .DPEWT 003556RG .EDKLX 000044RG .EXREG 010602RG
WHTMS1 010251R 002 .CIBFL= 000214 G .DPKLD 003654RG .EIOJA= 067000 .EXSBR 007164RG
WPMSG0 010076R 002 .CIBFR 000240RG .DPKLI 003662RG .ELDDW 000052RG .EXSCR 007172RG
WPMSG1 010130R 002 .CISTS 000004RG .DPKLM 005532RG .ELEDW 000054RG .EXTRK 005762RG
WPMSG2 010156R 002 .CKARG 001712RG .DPKLN 003670RG .ELNCK 012176RG .EXVAB 006244RG
WRLMSG 010176R 002 .CKCOL 001752RG .DPKLP 003676RG .ETAB 005652R .EXVMA 006252RG
WRMMSG 004503R 002 .CKCTC 002126RG .DPKLT 003646RG .EXAD 006156RG .EXVMH 006260RG
WVMSG1 006733R 002 .CKEOC 002010RG .DPOBJ 003736RG .EXADX 006164RG .EXVPC 006266RG
WVMSG2 006755R 002 .CKEOS 002052RG .DPOEL 003766RG .EXAMA 006410RG .FEMOD= ****** GX
ZEROC -- ZERO COMMAND MODULE 76 MACRO M1108 13-JAN-78 09:14 PAGE 539-7
SYMBOL TABLE
.FREAD 010644RG .LCRDR= 051000 .RDARR 020036RG .SCCOP 022630RG .STCLF 026306RG
.FRTRK 030036RG .LCRM1= 057000 .RDARX 020044RG .SCCOT 022700RG .STCLK 026300RG
.FWRIT 010740RG .LCRM2= 056000 .RDBRR 020052RG .SCCOU 022666RG .STPCL= 000000
.FWTRK 030056RG .LCRM3= 055000 .RDBRX 020060RG .SCCRF 022734RG .STPKL 026330RG
.FXCT 011074RG .LCRM4= 054000 .RDCPP 017602RG .SCCRH 022740RG .STPXC 026354RG
.FXTRK 030076RG .LCRM5= 053000 .RDCRA 020416RG .SCCRQ 022746RG .STRCL= 001000
.GFNR = 102000 .LDAR = 077000 .RDCRL 020424RG .SCCRS 022754RG .STRTB 026412RG
.GTCMD 011256RG .LDBRC 015330RG .RDDRA 020432RG .SCCSE 022766RG .STRTC 026430RG
.GTDAT 011312RG .LDBRG 015334RG .RDEBS 020066RG .SCCSI 023016RG .STRTT 026466RG
.GTELN 012252RG .LDBRL= 043000 .RDFER 020440RG .SCCSM 023022RG .STRTU 026564RG
.GTEXP 012532RG .LDBRR= 042000 .RDFLG 020112RG .SCCTB 023106RG .STRTV 000134RG
.GTFCT 012740RG .LDCK1= 046000 .RDFMR 020074RG .SCDAT 023212RG .STRUN 026636RG
.GTKLA 012302RG .LDCK2= 047000 .RDIPE 020236RG .SCFSS 022320RG .STUCD 026656RG
.GTKLN 012334RG .LDCLK 015432RG .RDJ14= 134000 .SCINC 023562RG .SVESP 000136RG
.GTLIN 011776RG .LDCRA 015530RG .RDJ71= 135000 .SCKLN 023644RG .SVKLF 000140RG
.GTNBR 013234RG .LDDIS= 045000 .RDMAB= 133000 .SCMEL 025066RG .SYNXC 026760RG
.GTNUM 012334RG .LDPAR 015450RG .RDMQR 020102RG .SCMEM 025034RG .TCRLF 031524RG
.GTR50 013734RG .LDRJD= 064000 .RDPI 020320RG .SCMKL 025100RG .TFCHR 031456RG
.GTTIM 013366RG .LDRJV= 063000 .RDSBR 020446RG .SCMTB 025112RG .TPADD 027362RG
.GTTRM 012626RG .LDRM1= 060000 .RDSCR 020454RG .SCNOT 025130RG .TPCLR 027234RG
.HALTC 014042RG .LDRM2= 061000 .RDVAB 020662RG .SCOFS 025144RG .TPCMP 027304RG
.INCHC 000064RG .LDRM3= 062000 .RDVMA 020670RG .SCPAL 025176RG .TPCOM 027244RG
.INEXT 014530R .LDSEL= 044000 .RDVMH 020676RG .SCPAR 025204RG .TPDEC 027414RG
.INICL= 070000 .LDZFL 000100RG .RDVPC 020654RG .SCPCR 025212RG .TPDIV 027000RG
.INICP 014052RG .LGLWD 000076RG .RDXSV 000120RG .SCPDR 025220RG .TPINC 027402RG
.INIC0 014540RG .MEMFL 000102RG .REGRW 005056RG .SCPEN 025226RG .TPMUL 027452RG
.INIT 014242RG .MEMRS= 076000 .REGSV 021556RG .SCPFM 025234RG .TPNEG 027254RG
.INITC 014534RG .MON = ****** GX .RELWD 000122RG .SCPFS 025242RG .TPSHI 027636RG
.INKLF 014272RG .MONTB 015644RG .REPTC 021034RG .SCPST 022342RG .TPSHL 027702RG
.IRADX 000066RG .MRCLR 015756RG .RESET 021126RG .SCPTB 025270RG .TPSUB 027426RG
.IRLTC= 014000 .MTDPB 002322RG .RESTB 021254RG .SCRLD 025344RG .TPTST 027340RG
.JUMPC 026456RG .NOERR= ****** GX .RESTC 021336RG .SCRPT 025362RG .TPXTN 027264RG
.KLCON 014546RG .NOHLT= ****** GX .RESTD 021420RG .SCTRK 025460RG .TRKWD 000142RG
.KLDFR 010726RG .NOTSW 000104RG .RESTI 021444RG .SEAMB 016566RG .TRPEC 000146RG
.KLDFW 011062RG .NSETB 016124RG .RESTP 021504RG .SECES 017026RG .TRPIP 000150RG
.KLDFX 011244RG .NULLC 016466RG .RNDPB 022270RG .SECLK= 003000 .TRPPC 000152RG
.KLFLG= ****** GX .ORADX 000106RG .RPTCT 000124RG .SEFRF 016654RG .TRPPS 000154RG
.KLGO 014554RG .PARER 016500RG .RPTPT 000132RG .SEFWF 016662RG .TRPSB 000156RG
.KLHLT 014644RG .PCAB1= 150000 .RSALL 021614RG .SEFXF 016670RG .TRPTV 000160RG
.KLINC 000070RG .PCAB2= 151000 .RSAPR 021712RG .SEILC 016612RG .TRP4V 000144RG
.KLMTB 014774RG .PCAB3= 152000 .RSDTE 021662RG .SEILS 016612RG .TSCAN 030176RG
.KLMT1 015020RG .PCAB4= 153000 .RSERR 021720RG .SEIPC 016612RG .TYCHR 031472RG
.KLNFD= ****** GX .PEWRD 000110RG .RSPAG 021774RG .SENSK 016566RG .TYCOL 030604RG
.KLNFT= ****** GX .PITAB 000112RG .RSTIN 021666RG .SETCM 025646RG .TYCOM 030614RG
.KLNMD= ****** GX .PSCWD 000116RG .RSTIO 021726RG .SETC0 025656RG .TYDAT 030440RG
.KLNPB= ****** GX .PTDIE 017230RG .RSTKL 022134RG .SETMR= 007000 .TYELA 030672RG
.KLNPE= ****** GX .PTOAT 017130RG .RSTPI 021734RG .SETRN= 011000 .TYELN 030676RG
.KLNPW= ****** GX .PTTRP 017306RG .RUNCM 022162RG .SETTB 025506RG .TYINI 031610RG
.KLNSW= ****** GX .QUITC 017530RG .R50TB 001320RG .SHIFT 025702RG .TYKLA 031016RG
.KLNTD= ****** GX .RCRM1= 147000 .SCCEC 023050RG .SHUTC 025732RG .TYKLN 031066RG
.KLNTT= ****** GX .RCRM2= 146000 .SCCED 023056RG .SPACE= 000040 .TYLIN 031420RG
.KLRLD= ****** GX .RCRM3= 145000 .SCCEE 023064RG .SPETB 026024RG .TYMIN 030624RG
.KLRST 015036RG .RCRM4= 144000 .SCCLK 022306RG .SSCAN 026114RG .TYMSF 031426RG
.KLST 015170RG .RCSPF= 141000 .SCCLN 022732RG .SSCLK= 002000 .TYMSG 031434RG
.KLSTP 015220RG .RDADR 020022RG .SCCOM 022636RG .SSM = ****** GX .TYNCM 031152RG
.KLXCT 015304RG .RDADX 020030RG .SCCON 022554RG .SSTTB 000174RG .TYNUM 031270RG
.LCRDL= 052000 .RDAPR 017540RG .SCCOO 022622RG .START 026156RG .TYOBC 000162RG
ZEROC -- ZERO COMMAND MODULE 76 MACRO M1108 13-JAN-78 09:14 PAGE 539-8
SYMBOL TABLE
.TYOBP 000164RG .T50TB 001350RG .WHINC 033040RG .WHTPA 033544RG .XFWCK 034060RG
.TYOUT 031552RG .VERNO= ****** GX .WHKLN 033126RG .WHTPS 033530RG .XFXCK 034076RG
.TYP3D 030742RG .VFYFL 000166RG .WHMEM 033452RG .WHTRK 033762RG .YEAR = ****** GX
.TYR50 031710RG .WHATB 032120RG .WHOFS 033504RG .WRAR1 034020RG .YESNO 034130RG
.TYSLS 030634RG .WHATC 032232RG .WHRLD 033730RG .WRMBX= 071000 .ZEROC 034234RG
.TYSPC 030644RG .WHATV 032256RG .WHRPT 033052RG .WRTAR 034014RG ..DTP2= ****** GX
.TYTIM 031762RG .WHCON 032556RG .WHTCA 032334RG .XFRCK 034042RG ..STIN= ****** GX
.TYUPA 030654RG .WHDAT 032626RG .WHTCL 032320RG
. ABS. 000000 000
034514 001
MESSAG 010303 002
ERRORS DETECTED: 0
VIRTUAL MEMORY USED: 18075 WORDS ( 71 PAGES)
DYNAMIC MEMORY: 18944 WORDS ( 72 PAGES)
ELAPSED TIME: 00:25:34
,[51,20]BIGPARSER/CR/-SP=[51,30]PARSER.TMP
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 1
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
ABTAB 021012 R 321-10929 #322-10980
ADD = 000270 #23-873
ADDB = 000273 #23-874
ADDI = 000271 #23-875
ADDM = 000272 #23-876
ADH = 000000 #345-11660 #345-11660 345-11660 345-11660 #345-11662 345-11662 345-11662 #345-11664 #345-11664
345-11664 345-11664 #345-11666 345-11666 345-11666 #348-11732 348-11732 348-11732 #348-11734
348-11734 348-11734
ADL = 000100 #345-11660 345-11660 345-11660 #345-11660 345-11660 345-11660 #345-11660 345-11660 345-11660
#345-11660 345-11660 345-11660 #345-11660 345-11660 345-11660 #345-11660 345-11660 345-11660
345-11660 #345-11660 345-11660 345-11660 #345-11662 345-11662 345-11662 #345-11662 345-11662
345-11662 #345-11662 345-11662 345-11662 #345-11662 345-11662 345-11662 #345-11662 345-11662
345-11662 #345-11662 345-11662 345-11662 #345-11664 345-11664 345-11664 #345-11664 345-11664
345-11664 #345-11664 345-11664 345-11664 #345-11664 345-11664 345-11664 #345-11664 345-11664
345-11664 #345-11664 345-11664 345-11664 345-11664 #345-11664 345-11664 345-11664 #345-11666
345-11666 345-11666 #345-11666 345-11666 345-11666 #345-11666 345-11666 345-11666 #345-11666
345-11666 345-11666 #345-11666 345-11666 345-11666 #345-11666 345-11666 345-11666 #348-11732
348-11732 348-11732 #348-11732 348-11732 348-11732 #348-11734 348-11734 348-11734 #348-11734
348-11734 348-11734 #348-11734 348-11734 348-11734 #348-11734 348-11734 348-11734
AMBMSG 006034 R #410-13627 410-13627
AND = 000404 #23-878
ANDB = 000407 #23-879
ANDCA = 000410 #23-880
ANDCAB = 000413 #23-881
ANDCAI = 000411 #23-882
ANDCAM = 000412 #23-883
ANDCB = 000440 #23-884
ANDCBB = 000443 #23-885
ANDCBI = 000441 #23-886
ANDCBM = 000442 #23-887
ANDCM = 000420 #23-888
ANDCMB = 000423 #23-889
ANDCMI = 000421 #23-890
ANDCMM = 000422 #23-891
ANDI = 000405 #23-892
ANDM = 000406 #23-893
AOBJN = 000253 #23-895
AOBJP = 000252 #23-896
AOJ = 000340 #23-898
AOJA = 000344 #23-899
AOJE = 000342 #23-900
AOJG = 000347 #23-901
AOJGE = 000345 #23-902
AOJL = 000341 #23-903
AOJLE = 000343 #23-904
AOJN = 000346 #23-905
AOS = 000350 #23-907
AOSA = 000354 #23-908
AOSE = 000352 #23-909
AOSG = 000357 #23-910
AOSGE = 000355 #23-911
AOSL = 000351 #23-912
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 2
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
AOSLE = 000353 #23-913
AOSN = 000356 #23-914
APEMSG 001627 R #280-9425 280-9425
APR = 000000 #7-239 345-11660 345-11660 345-11662 345-11662 345-11664 345-11664
AP.ALL = 000177 #9-343
AP.ARP = 001000 #16-628 16-632 304-10342 393-13105 521-17136
AP.CDP = 000004 #9-338 9-343
AP.EIP = 000400 #16-630 16-632 304-10350 393-13117 393-13132 520-17100 520-17107
AP.IPF = 000020 #9-340 9-343
AP.MPE = 000010 #9-339 9-343
AP.NRM = 001400 #16-632 16-634
AP.NXM = 000040 #9-341 9-343
AP.PWF = 000001 #9-336 9-343
AP.SAP = 000002 #9-337 9-343
AP.SBE = 000100 #9-342 9-343
ASH = 000240 #23-916
ASHC = 000244 #23-917
A.LULU = 000002 #239-8169 #239-8174
A.LUNA = 000004 #239-8169 #239-8174
A.LUNU = 000006 #239-8169 #239-8174
BAEMSG 001652 R #280-9427 280-9427
BCCTER 001622 R 53-2168 #53-2173
BC.HDS = ****** GX 382-12865
BC.SKP = ****** GX 381-12841
BIT0 = 000001 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
BIT00 = 000001 #9-300 10-378 11-404 11-424 12-461 12-462 13-485 13-508 22-838
22-852 107-3912 108-3926 153-5323 288-9754 303-10303 310-10540 312-10608 531-17417
BIT01 = 000002 #9-301 10-381 11-400 11-422 12-459 12-460 13-486 13-507 22-839
22-853 303-10302
BIT02 = 000004 #9-302 10-373 11-399 11-421 11-426 12-457 12-458 13-487 13-506
22-840 22-854 126-4483 303-10301
BIT03 = 000010 #9-303 10-372 11-398 11-418 12-454 12-456 13-488 13-505 22-841
22-855 278-9375 303-10300
BIT04 = 000020 #9-304 10-370 10-371 11-397 11-416 11-417 12-452 13-489 13-504
22-842 22-856
BIT05 = 000040 #9-305 10-368 11-404 11-415 12-450 12-451 13-490 13-503 22-843
22-857 312-10605
BIT06 = 000100 #9-306 10-367 11-393 11-426 12-448 12-449 13-479 13-502 22-844
22-858
BIT07 = 000200 #9-307 10-365 10-366 11-404 11-426 12-446 13-478 13-501 22-845
22-859 244-8324
BIT08 = 000400 #9-308 10-364 11-404 11-426 12-444 13-477 13-500 22-860
BIT09 = 001000 #9-309 10-360 10-363 11-404 11-426 12-442 13-476 13-499
BIT1 = 000002 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
BIT10 = 002000 #9-310 10-359 10-362 11-404 11-426 12-441 13-475 13-498 #133-4714
#191-6508 #194-6615 #197-6742 #428-14169 #535-17559
BIT11 = 004000 #9-311 10-358 10-361 11-404 11-426 12-439 13-474 13-497 #133-4714
#191-6508 #194-6615 #197-6742 #428-14169 #535-17559
BIT12 = 010000 #9-312 10-357 11-404 11-426 12-437 12-438 13-473 13-496 #133-4714
155-5402 155-5407 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
BIT13 = 020000 #9-313 10-356 11-389 11-404 11-426 12-435 13-472 #133-4714 #191-6508
#194-6615 #197-6742 #428-14169 #535-17559
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 3
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
BIT14 = 040000 #9-314 10-355 11-386 11-387 11-404 11-409 11-426 12-434 13-471
#133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
BIT15 = 100000 #9-315 10-354 11-385 11-404 11-408 11-426 12-432 13-470 36-1476
36-1544 #133-4714 #191-6508 #194-6615 #197-6742 315-10705 #428-14169 #535-17559
BIT2 = 000004 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
BIT3 = 000010 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
BIT4 = 000020 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
BIT5 = 000040 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
BIT6 = 000100 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
BIT7 = 000200 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
BIT8 = 000400 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
BIT9 = 001000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
BLKI = 000000 #7-228
BLKO = 000002 #7-230
BLT = 000251 #23-919
BPARER = 000020 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
CAEMSG 001705 R #280-9429 280-9429
CAI = 000300 #24-921
CAIA = 000304 #24-922
CAIE = 000302 #24-923
CAIG = 000307 #24-924
CAIGE = 000305 #24-925
CAIL = 000301 #24-926
CAILE = 000303 #24-927
CAIN = 000306 #24-928
CALL = 000040 #24-930
CALLI = 000047 #24-931
CAM = 000310 #24-933
CAMA = 000314 #24-934
CAME = 000312 #24-935
CAMG = 000317 #24-936
CAMGE = 000315 #24-937
CAML = 000311 #24-938
CAMLE = 000313 #24-939
CAMN = 000316 #24-940
CBOMSG 001741 R #280-9430 280-9430
CCA = 000014 #7-242
CCEMSG 005300 R 364-12235 #365-12293
CC.ALL = 003417 #15-606
CC.NRM = 000000 #15-605 336-11407
CDD = 000020 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
CDIMSG 001777 R #280-9431 280-9431
CDMTB 023532 R 370-12433 #371-12489
CD.ALL = 003400 #15-603 15-606 500-16448
CD.CLC = 000400 #15-601 304-10346 365-12277 501-16492
CD.CRC = 002000 #15-599 304-10331 365-12269 501-16488
CD.DPC = 001000 #15-600 304-10338 365-12273 501-16490
CD.NRM = 000000 #15-602
CESCES 001644 R 55-2250 #55-2252
CESMSG 006066 R #410-13629 410-13629
CESMS0 004706 R 288-9775 #289-9782
CESMS1 004713 R 288-9776 #289-9784
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 4
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
CESMS2 004720 R 288-9777 #289-9786
CESMS3 004723 R 288-9778 #289-9788
CFHMSG 002030 R #280-9432 280-9432
CHNPNT = 000001 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
CH.ALP = 000001 #22-838 22-847 44-1878 45-1881 45-1882 45-1883 45-1884 45-1885 45-1886
45-1887 45-1888 45-1889 45-1890 45-1891 45-1892 45-1893 45-1894 45-1895
45-1896 45-1897 45-1898 45-1899 45-1900 45-1901 45-1902 45-1903 45-1904
45-1905 45-1906 57-2325
CH.ANM = 000003 #22-847
CH.AOP = 000100 #22-844 44-1853 44-1854 44-1855 44-1856 44-1858 44-1860 45-1882 45-1883
45-1884 45-1895 45-1911 45-1912
CH.END = 000034 #22-846 285-9661 413-13719
CH.EOC = 000010 #22-841 22-846 43-1812 44-1874 58-2362 59-2397 61-2463 206-7027 229-7855
331-11259 357-11999 360-12107 431-14264
CH.EOL = 000004 #22-840 22-846 43-1812
CH.EOS = 000020 #22-842 22-846 43-1812 44-1845 44-1847 44-1852 44-1855 44-1856 44-1857
44-1858 44-1860 44-1873 44-1874 44-1877 45-1912 60-2434
CH.ILL = 000200 #22-845 43-1813 43-1814 43-1815 43-1816 43-1817 43-1818 43-1819 43-1820
43-1821 43-1822 43-1823 43-1824 43-1825 43-1826 43-1827 43-1828 43-1829
43-1830 43-1831 43-1832 43-1833 43-1834 43-1835 44-1837 44-1838 44-1839
44-1840 44-1841 44-1842 44-1843 44-1844 44-1846 44-1848 44-1849 44-1850
44-1851 44-1859 44-1875 44-1876 44-1879 45-1908 45-1909 45-1910 45-1913
CH.NUL = 000000 #22-837
CH.NUM = 000002 #22-839 22-847 44-1862 44-1863 44-1864 44-1865 44-1866 44-1867 44-1868
44-1869 44-1870 44-1871 57-2332 225-7741
CH.PFX = 000040 #22-843 44-1853 44-1856 44-1858 44-1878 45-1911 57-2332
CIDLUN = 000001 #21-814 179-6128 211-7238 239-8169 486-16058 486-16063
CKCILS 001774 R 58-2365 #58-2367 59-2406 60-2435 60-2437
CKCMRA 002002 R 57-2333 58-2363 #58-2370 61-2464
CKEEOC 002044 R 59-2404 #59-2408
CKRKLR 002226 R 66-2623 #66-2631
CLDSTB 032522 R 500-16445 #501-16486
CLEAR = 000400 #24-942
CLEARB = 000403 #24-943
CLEARI = 000401 #24-944
CLEARM = 000402 #24-945
CLEMSG 002066 R #280-9433 280-9433
CLOSE = 000070 #24-947
CLRTTB 032546 R 501-16482 #501-16498
CLSRTB 032536 R 501-16475 #501-16493
CMDNAM 000034 RG #42-1778 92-3445
CNRMSG 002123 R #280-9434 280-9434
CNUPE = 000002 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
CODLUN = 000002 #21-815 239-8174 486-16049
CONI = 000005 #7-233
CONKNC 002652 R 75-2915 #76-2941
CONO = 000004 #7-232 345-11660 345-11660 345-11662 345-11662 345-11664 345-11664 345-11666 345-11666
348-11732 348-11732
CONSO = 000007 #7-235
CONSZ = 000006 #7-234
CPEMSG 002163 R #280-9435 280-9435
CPVMSG 000000 RG #42-1769 497-16383
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 5
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
CRATAB 020544 R 317-10770 #319-10821
CRLTAB 020560 R 317-10774 #319-10829
CR.ALL = 000003 #15-591 15-606 364-12231 501-16480
CR.CR1 = 000001 #15-585 15-591 304-10344
CR.CR2 = 000002 #15-586 15-591 304-10336
CR.FUL = 000000 #15-587
CR.HLF = 000001 #15-588 364-12221
CR.NRM = 000000 #15-584
CR.QTR = 000002 #15-589 364-12225
CR.SLO = 000003 #15-590 364-12229
CS.ALL = 000014 #15-582 15-606 364-12252 501-16473
CS.CS1 = 000004 #15-576 15-582 304-10329
CS.CS2 = 000010 #15-577 15-582 304-10323
CS.EXP = 177670 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
CS.EXT = 000010 #15-580 364-12239
CS.FST = 000004 #15-578 15-579
CS.MGN = 000004 #15-579 364-12250
CS.NRM = 000000 #15-575
CS.UDF = 000014 #15-581
CYCLS = 000002 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
DATABX 000170 R #36-1583 539-17665
DATAI = 000001 #7-229
DATAO = 000003 #7-231 348-11734 348-11734
DATBUF 033020 R 506-16658 #506-16701
DATE = 000004 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
DAVMSG 002212 R #280-9440 280-9440
DBTMSG 002243 R #280-9441 280-9441
DCKMSG 002273 R #280-9442 280-9442
DCOMST = 000001 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
DEP = 010000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
DEX = 000400 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
DEXDON = 000004 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
DEXWD1 = 174406 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
DEXWD2 = 174404 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
DEXWD3 = 174402 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
DFAD = 000110 #24-949
DFBEND = 000240 RG #38-1654 241-8242
DFCIFC 003060 R 80-3088 80-3090 80-3092 #81-3105
DFDV = 000113 #24-950
DFMP = 000112 #24-951
DFN = 000131 #24-952
DFSB = 000111 #24-953
DFUNC = 000200 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
DF.DMG = 000004 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
DF.DMN = 000007 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
DF.DOR = 000001 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
DF.EHG = 000010 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
DF.EHM = 000011 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
DF.EMG = 000005 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
DF.EMN = 000006 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
DF.KLR = 000012 #133-4714 #191-6508 193-6576 #194-6615 #197-6742 #428-14169 #535-17559
DF.KLW = 000013 #133-4714 #191-6508 #194-6615 196-6703 #197-6742 #428-14169 #535-17559
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 6
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
DF.KLX = 000014 #133-4714 #191-6508 #194-6615 #197-6742 200-6835 #428-14169 #535-17559
DF.OFF = 000002 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
DF.ON = 000003 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
DF.PDP = 000016 #133-4714 138-4858 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559 538-17661
DF.PEX = 000015 #133-4714 138-4876 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
DIAG1 = 174430 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
DIAG2 = 174432 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
DIAG3 = 174436 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
DIKL10 = 000010 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
DIV = 000234 #24-955
DIVB = 000237 #24-956
DIVI = 000235 #24-957
DIVM = 000236 #24-958
DLYCNT = 174400 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
DMFMSG 002316 R #280-9443 280-9443
DMOVE = 000120 #24-960
DMOVEM = 000124 #24-961
DMOVN = 000121 #24-962
DMOVNM = 000125 #24-963
DNPMSG 002405 R #280-9445 280-9445
DOCCNR 003510 R 93-3461 #93-3479
DON10C = 040000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
DON10S = 100000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
DON11C = 000100 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
DON11S = 000200 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
DORMSG 002355 R #280-9444 280-9444
DOWMTB 033002 R 506-16672 #506-16692
DOWTAB 023522 R 370-12454 #371-12482
DPB = 000137 #24-965
DPDTEN = 005746 RG #138-4859
DPOAPE 004562 R 112-4078 #112-4082
DPOATB 004026 R 103-3782 #103-3784
DPODTB 004036 R 105-3819 #105-3821
DPOITB 004046 R 105-3826 #105-3828
DPOKCN 004570 R 111-4029 #112-4085
DPONTB 004056 R 105-3833 #105-3835
DPOOAI 004256 R 107-3913 108-3927 #108-3946
DPOPTB 004066 R 105-3840 #105-3842
DPOVFE 004576 R 112-4073 #112-4088
DPOZTB 004076 R 105-3847 #105-3849
DPS4 = 040000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
DPTMSG 000565 R 140-4941 #142-5005
DRATAB 020574 R 317-10778 #319-10837
DRDMSG 000514 R 122-4371 #123-4399
DRESET = 000100 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
DR.DTE = 000011 #133-4714 138-4858 138-4876 #191-6508 193-6576 #194-6615 196-6703 #197-6742 200-6835
#428-14169 #535-17559 538-17661
DSEND = 000004 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
DSFMSG 002444 R #280-9446 280-9446
DS04 = 004000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
DS05 = 002000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
DS06 = 001000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 7
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
DTCMSG 002477 R #280-9447 280-9447
DTECMD = 000451 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
DTEDSF 005040 R 118-4245 #118-4258
DTEFLG = 000444 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
DTEF11 = 000450 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
DTEMTD = 000455 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
DTEMTI = 000456 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
DTRMSG 000433 R 122-4356 #123-4387
DUPE = 000020 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
DURE = 000004 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
DV.LOG = ****** GX 383-12878
DWRMSG 000520 R 122-4374 #123-4401
DW1MSG 000454 R 123-4381 #123-4390
DW2MSG 000464 R 123-4382 #123-4392
DW3MSG 000504 R 123-4384 #123-4396
DXWRD1 = 002000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
D.CCPU = ****** GX 381-12843
D.CKLN = ****** GX 382-12867
D1.CES = 004000 #10-361 55-2249 251-8569
D1.DCS = 000001 #10-378
D1.DDT = 000040 #10-368 10-381
D1.DEX = 000400 #10-364 10-381
D1.DFM = 000010 #10-372
D1.DS0 = 100000 #10-354
D1.DS1 = 040000 #10-355
D1.DS2 = 020000 #10-356
D1.DS3 = 010000 #10-357
D1.DS4 = 004000 #10-358
D1.DS5 = 002000 #10-359
D1.DS6 = 001000 #10-360
D1.HLP = 001000 #10-363 170-5842 170-5848 244-8314 252-8580 252-8606 262-8894 436-14414
D1.LBK = 000200 #10-366
D1.MBZ = 000442 #10-381 118-4265
D1.PLS = 000020 #10-371
D1.RUN = 002000 #10-362 243-8303
D1.T10 = 000200 #10-365
D1.T11 = 000100 #10-367
D1.V04 = 000020 #10-370
D1.XFR = 000004 #10-373
D1011 = 000040 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
D2RST 021440 R 333-11333 #333-11338
D2.EBD = 040000 #11-387
D2.MBZ = 177641 #11-404 118-4266
D2.MS1 = 000002 #11-400
D2.MS2 = 000004 #11-399
D2.MS4 = 000010 #11-398
D2.MS8 = 000020 #11-397
D2.RA0 = 100000 #11-385
D2.RA1 = 040000 #11-386
D2.RA2 = 020000 #11-389
D2.RST = 000100 #11-393 333-11339
D3RST 021442 R 333-11335 #333-11340
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 8
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
D3.CDD = 000020 #11-417
D3.MBZ = 177704 #11-426 118-4268
D3.NPE = 000002 #11-422
D3.PAR = 040000 #11-409
D3.RST = 000001 #11-428 333-11341
D3.SCD = 000040 #11-415
D3.SSL = 100000 #11-408
D3.TXB = 000001 #11-424 11-428
D3.UPE = 000020 #11-416
D3.URE = 000004 #11-421
D3.WEP = 000010 #11-418
EBCECT 005276 R 126-4488 #126-4492
EBPEPE 005320 R 128-4549 #128-4551
EBSEL = 000100 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
EBUSPC = 000020 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
EBUSPS = 000004 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
ECTMSG 002551 R #280-9449 280-9449
EDEPT 000524 R 142-4986 #142-4993
EDEXV 000530 R 142-4987 #142-4995
EDNKLA 005472 R 132-4654 132-4656 #132-4671
EDONES = 040000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
EDPHY 000544 R 142-4990 #142-5001
EDTYTB 006144 R 141-4974 #142-4985
EDUPT 000534 R 142-4988 #142-4997
EDUSV 000540 R 142-4989 #142-4999
ED.EPT = 000000 #9-319
ED.EXV = 000040 #9-320 347-11716 409-13579
ED.PHY = 000200 #9-323 111-4048 112-4063 112-4068 138-4858 138-4876 162-5589 243-8295 538-17661
ED.UPT = 000100 #9-321
ED.USV = 000140 #9-322
EF.CRI = ****** GX 327-11145
EF.PR1 = ****** GX 381-12836
ELBBIN 031252 RG 473-15613 #477-15772
ELBOCT 031256 RG 473-15617 #477-15775
ELNBIN 031244 RG 472-15574 #477-15768
ELNNOR 012246 R 213-7302 213-7304 213-7309 213-7311 #213-7314
ELNOCT 031262 RG 472-15578 #477-15780
EMFMSG 002602 R #280-9450 280-9450
ENTER = 000077 #25-967
EOCMSG 002641 R #280-9451 280-9451
EPEMSG 002677 R #280-9452 280-9452
EPMSG0 001067 R 183-6249 #184-6282
EPMSG1 001103 R 184-6263 #184-6284
EPMSG2 001115 R 184-6268 #184-6286
EPMSG3 001131 R 184-6273 #184-6288
EPTR = 000000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
EQV = 000444 #25-969
EQVB = 000447 #25-970
EQVI = 000445 #25-971
EQVM = 000446 #25-972
ERR10C = 010000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
ERR10S = 020000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 9
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
ERR11C = 000001 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
ERR11S = 000002 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
ERSMSG 004733 R 288-9774 #289-9790
ER$AMB = 030416 R #464-15299
ER$APE = 004562 R #112-4083
ER$BAE = 001622 R #53-2174
ER$CAE = 026744 R #436-14423
ER$CBO = 012142 R #210-7229
ER$CDI = 023472 R #371-12470
ER$CES = 001704 R #55-2259
ER$CFH = 015276 R #252-8610 #262-8903
ER$CLE = 022672 R #360-12140
ER$CNR = 003510 R #93-3480
ER$DAV = 023500 R #371-12473
ER$DBT = 011726 R #207-7086
ER$DCK = 027204 R #443-14597
ER$DMF = 034466 R #137-4837 #538-17655
ER$DNP = 014514 R #244-8335
ER$DOR = 011734 R #207-7089
ER$DSF = 005040 R #118-4259
ER$DTC = 014522 R #244-8338
ER$ECT = 005276 R #126-4493
ER$EMF = 005730 R #137-4840
ER$EOC = 002044 R #59-2409
ER$EPE = 005320 R #128-4552
ER$ESD = 034474 R #137-4830 #538-17658
ER$ESE = 005714 R #137-4834
ER$FRF = 010720 R #193-6558
ER$FWF = 011054 R #196-6685
ER$FXF = 011236 R #200-6816
ER$IDF = 011742 R #207-7092
ER$IFC = 034114 R #81-3106 #531-17421
ER$ILC = 013110 R #210-7232 #223-7667
ER$ILS = 022506 R #58-2368 #358-12040
ER$IOC = 007316 R #167-5752
ER$IPC = 024032 R #377-12684
ER$IRC = 021120 R #324-11059
ER$ITF = 013720 R #230-7921
ER$ITN = 022246 R #353-11879
ER$KCN = 022112 R #112-4086 #162-5600 #343-11607 #348-11729
ER$KLA = 012326 R #132-4672 #215-7379
ER$KLR = 002226 R #66-2632
ER$KNC = 002652 R #76-2942
ER$KWE = 024372 R #379-12779
ER$MRA = 013352 R #58-2371 #226-7769
ER$NDI = 023506 R #371-12476
ER$NER = 012524 R #217-7460
ER$NOR = 013360 R #226-7772
ER$NPI = 024006 R #377-12674
ER$NSK = 030424 R #464-15302
ER$NST = 022254 R #353-11882
ER$NTI = 023514 R #371-12479
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 10
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
ER$OAI = 006606 R #108-3947 #153-5339
ER$OFC = 034122 R #531-17424
ER$PTL = 024014 R #377-12677
ER$RPM = 013226 R #224-7707
ER$SCF = 022514 R #358-12043
ER$SKI = 024022 R #377-12680
ER$SPF = 022522 R #358-12046
ER$SZI = 026556 R #429-14199
ER$TAA = 022262 R #353-11885
ER$TOR = 013726 R #230-7924
ER$UNL = 026752 R #436-14426
ER$VFY = 004576 R #112-4089
ER$WRM = 030432 R #464-15305
ER$XTO = 007530 R #170-5872
ER$YOR = 011750 R #207-7095
ESDMSG 002727 R #280-9453 280-9453
ESEMSG 002764 R #280-9454 280-9454
EXADTB 006424 R 150-5223 #150-5225
EXAITB 006434 R 150-5230 #150-5232
EXANTB 006444 R 150-5237 #150-5239
EXAOAI 006606 R 153-5324 #153-5338
EXAPTB 006454 R 150-5244 #150-5246
EXAZTB 006464 R 150-5251 #150-5253
EXCH = 000250 #25-974
EXCIOC 007316 R 167-5746 #167-5751
EXDDMF 005722 R 137-4827 #137-4836
EXDEMF 005730 R 137-4821 #137-4839
EXDESD 005672 R 137-4826 #137-4828
EXDESE 005706 R 137-4820 #137-4832
EXDMS0 000755 R 172-5932 #173-5964
EXDMS1 000764 R 173-5957 #173-5966
EXDMS2 000773 R 173-5958 #173-5968
EXDMS3 001002 R 173-5959 #173-5970
EXDMS4 001011 R 173-5960 #173-5972
EXDTEN = 005760 RG #138-4877
EXDTET 007634 R 172-5926 #173-5952
EXECTO 007530 R 170-5851 #170-5871
EXFMSG 000645 R 155-5398 #156-5426
EXKMS0 000746 R 158-5489 #159-5501
EXKMS1 000751 R 158-5491 #159-5504
EXMDTB 006414 R 148-5186 #148-5188
EXRTBL = 000012 G #186-6337 190-6461
EXTEND = 000123 #25-975
EXTKCN 007126 R 162-5580 #162-5599
EXTMSG 000550 R 140-4936 #142-5003
E.FCID = 000002 #21-797 179-6128 211-7238 238-8153 486-16058
E.FCOD = 000003 #21-798 238-8154 486-16049 486-16063
E.FCTC = ****** GX 64-2548 238-8151
E.FHTO = 000001 #21-796 71-2786 238-8152 243-8283 422-14005
E.FKLN = 000004 #21-799 381-12838 382-12866 382-12869
E.FPR1 = ****** GX 55-2253
FAD = 000140 #25-977
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 11
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
FADB = 000143 #25-978
FADL = 000141 #25-979
FADM = 000142 #25-980
FADR = 000144 #25-982
FADRB = 000147 #25-983
FADRI = 000145 #25-984
FADRM = 000146 #25-985
FDV = 000170 #25-987
FDVB = 000173 #25-988
FDVL = 000171 #25-989
FDVM = 000172 #25-990
FDVR = 000174 #25-992
FDVRB = 000177 #25-993
FDVRI = 000175 #25-994
FDVRM = 000176 #25-995
FERTAB 020610 R 317-10782 #319-10845
FIX = 000122 #25-997
FIXR = 000126 #25-998
FLDMSG 004647 R 286-9700 #286-9707
FLTR = 000127 #25-1000
FMP = 000160 #25-1002
FMPB = 000163 #25-1003
FMPL = 000161 #25-1004
FMPM = 000162 #25-1005
FMPR = 000164 #25-1007
FMPRB = 000167 #25-1008
FMPRI = 000165 #25-1009
FMPRM = 000166 #25-1010
FNCIFC 034114 R 531-17401 531-17403 531-17408 531-17410 531-17415 #531-17420
FNCOFC 034122 R 531-17418 #531-17423
FOFMSG 000637 R 155-5404 #156-5424
FONMSG 000631 R 155-5401 #156-5422
FORPRO = 000020 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
FRDFRF 010720 R 193-6540 #193-6557
FRDMSG 000273 R 84-3169 #84-3184
FRDTEN = 010736 RG #193-6577
FRFMSG 006120 R #410-13631 410-13631
FRIMSG 007404 R 506-16697 #507-16723
FR.ADX = 000254 #18-719 307-10417
FR.APR = 000220 #18-697 300-10188
FR.ARX = 000252 #18-717 307-10425
FR.BRX = 000250 #18-715 307-10433
FR.CA1 = 000312 #19-749 19-750 319-10822
FR.CA2 = 000310 #19-746 19-747 319-10825
FR.CL1 = 000316 #19-756 319-10830
FR.CL2 = 000314 #19-753 319-10833
FR.CRD = 000302 #19-740
FR.CR1 = 000316 #19-755 19-756
FR.CR2 = 000314 #19-752 19-753
FR.CR3 = 000312 #19-750
FR.CR4 = 000310 #19-747
FR.DA1 = 000260 #18-725 319-10838
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 12
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
FR.DA2 = 000262 #18-728 319-10841
FR.EBS = 000356 #20-783 307-10437
FR.FE1 = 000266 #18-732 319-10846
FR.FE2 = 000264 #18-730 319-10849
FR.PI0 = 000200 #18-686 315-10703
FR.PI1 = 000202 #18-688 315-10706
FR.RAD = 000256 #18-721 307-10413
FR.RAR = 000240 #18-707 307-10421
FR.RBR = 000242 #18-709 307-10429
FR.RFM = 000246 #18-713 307-10441
FR.RMQ = 000244 #18-711 307-10445
FR.SC1 = 000262 #18-727 319-10862
FR.SC2 = 000260 #18-724 319-10865
FR.SR1 = 000306 #19-744 319-10854
FR.SR2 = 000304 #19-742 319-10857
FR.VM0 = 000320 #19-759
FR.VM1 = 000322 #19-761
FR.VM2 = 000324 #19-763
FR.VM3 = 000326 #19-765
FR.VM4 = 000330 #19-767
FR.VM5 = 000332 #19-769
FR.VM6 = 000334 #19-771
FR.VM7 = 000336 #19-773
FR.100 = 000200 #18-685 18-686 310-10531 531-17400
FR.101 = 000202 #18-687 18-688 310-10524
FR.102 = 000204 #18-689 312-10604
FR.103 = 000206 #18-690
FR.104 = 000210 #18-691 126-4481 304-10319
FR.105 = 000212 #18-692 304-10320
FR.106 = 000214 #18-693 304-10321
FR.107 = 000216 #18-694 304-10322
FR.110 = 000220 #18-696 18-697
FR.111 = 000222 #18-698
FR.112 = 000224 #18-699
FR.113 = 000226 #18-700
FR.114 = 000230 #18-701
FR.115 = 000232 #18-702
FR.116 = 000234 #18-703
FR.117 = 000236 #18-704
FR.120 = 000240 #18-706 18-707
FR.121 = 000242 #18-708 18-709
FR.122 = 000244 #18-710 18-711
FR.123 = 000246 #18-712 18-713
FR.124 = 000250 #18-714 18-715
FR.125 = 000252 #18-716 18-717
FR.126 = 000254 #18-718 18-719
FR.127 = 000256 #18-720 18-721
FR.130 = 000260 #18-723 18-724 18-725
FR.131 = 000262 #18-726 18-727 18-728
FR.132 = 000264 #18-729 18-730 244-8322 310-10538
FR.133 = 000266 #18-731 18-732
FR.134 = 000270 #18-733
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 13
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
FR.135 = 000272 #18-734
FR.136 = 000274 #18-735
FR.137 = 000276 #18-736
FR.140 = 000300 #19-738
FR.141 = 000302 #19-739 19-740
FR.142 = 000304 #19-741 19-742
FR.143 = 000306 #19-743 19-744
FR.144 = 000310 #19-745 19-746
FR.145 = 000312 #19-748 19-749
FR.146 = 000314 #19-751 19-752
FR.147 = 000316 #19-754 19-755
FR.150 = 000320 #19-758 19-759 322-10977 322-10981
FR.151 = 000322 #19-760 19-761
FR.152 = 000324 #19-762 19-763
FR.153 = 000326 #19-764 19-765
FR.154 = 000330 #19-766 19-767 322-10985 322-10989
FR.155 = 000332 #19-768 19-769
FR.156 = 000334 #19-770 19-771
FR.157 = 000336 #19-772 19-773
FR.160 = 000340 #20-775
FR.161 = 000342 #20-776
FR.162 = 000344 #20-777 278-9373
FR.163 = 000346 #20-778
FR.164 = 000350 #20-779
FR.165 = 000352 #20-780
FR.166 = 000354 #20-781
FR.167 = 000356 #20-782 20-783
FR.170 = 000360 #20-785
FR.171 = 000362 #20-786
FR.172 = 000364 #20-787
FR.173 = 000366 #20-788
FR.174 = 000370 #20-789
FR.175 = 000372 #20-790
FR.176 = 000374 #20-791
FR.177 = 000376 #20-792 531-17402
FSB = 000150 #25-1012
FSBB = 000153 #25-1013
FSBL = 000151 #25-1014
FSBM = 000152 #25-1015
FSBR = 000154 #26-1017
FSBRB = 000157 #26-1018
FSBRI = 000155 #26-1019
FSBRM = 000156 #26-1020
FSC = 000132 #26-1022
FTBYTE = 000000 #2-66
FTCRAM = 000000 #2-67 36-1479
FTDEBU = 000001 #2-68 36-1491 179-6122 291-9861
FTDISP = 000000 #2-69
FTDRAM = 000000 #2-70 36-1499 280-9437
FTHELP = 000000 #2-71 73-2837
FTKLER = 000000 #2-72
FTLCMN = 000001 G 1-16 33-1404 #539-17663
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 14
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
FTLCVT = 000000 #2-73 46-1915 210-7207
FTLIST = 000000 #2-74 21-800 21-816 36-1525 39-1668 40-1696 41-1736 238-8155
FTTRAK = 000001 #2-75 13-484 36-1559 118-4247 121-4351 135-4770 140-4930 193-6550 196-6675
200-6807 403-13360 458-15108 493-16283
FTTRP4 = 000001 #2-76
FTUCVR = 000130 #2-77
FT1105 = 000001 #2-65 #2-100
FT1110 = 000001 #2-64 #2-96 2-99
FT1115 = 000001 #2-63 #2-92 2-95
FT1120 = 000001 #2-62 #2-88 2-91
FT1135 = 000001 #2-61 #2-84 2-87
FT1140 = 000001 #2-60 2-83 3-108
FT1145 = 000000 #2-59 2-79
FWDTEN = 011072 RG #196-6704
FWFMSG 006145 R #410-13632 410-13632
FWRFWF 011054 R 196-6666 #196-6684
FW.APE = 000116 #16-622
FW.CA1 = 000122 #16-638 273-9233 327-11154
FW.CA2 = 000124 #16-640 273-9226 327-11153
FW.CDR = 000112 #15-594
FW.CHN = 000160 #17-670 278-9368
FW.CRD = 000126 #16-642
FW.CR1 = 000136 #16-650
FW.CR2 = 000134 #16-648
FW.CR3 = 000132 #16-646
FW.CR4 = 000130 #16-644
FW.CSR = 000110 #15-570 270-9131
FW.DJE = 000146 #17-659
FW.DJO = 000150 #17-661
FW.DR1 = 000140 #17-653
FW.DR2 = 000142 #17-655
FW.DR3 = 000144 #17-657
FW.EBL = 000174 #17-678 327-11156
FW.IAC = 000154 #17-665
FW.IOJ = 000152 #17-663
FW.IPE = 000114 #16-609 270-9137
FW.KLO = 000156 #17-667 327-11155
FW.LAR = 000176 #17-681 260-8826 264-8967 528-17340 531-17409
FW.LBL = 000106 #15-568 267-9042 327-11152
FW.LBR = 000104 #15-566 267-9033 327-11151
FW.MBX = 000162 #17-672 327-11159
FW.SBR = 000174 #17-679
FW.040 = 000100 #15-563 531-17407
FW.041 = 000102 #15-564
FW.042 = 000104 #15-565 15-566
FW.043 = 000106 #15-567 15-568
FW.044 = 000110 #15-569 15-570 196-6669
FW.045 = 000112 #15-593 15-594
FW.046 = 000114 #16-608 16-609
FW.047 = 000116 #16-621 16-622 196-6671
FW.050 = 000120 #16-636
FW.051 = 000122 #16-637 16-638
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 15
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
FW.052 = 000124 #16-639 16-640
FW.053 = 000126 #16-641 16-642
FW.054 = 000130 #16-643 16-644
FW.055 = 000132 #16-645 16-646
FW.056 = 000134 #16-647 16-648
FW.057 = 000136 #16-649 16-650
FW.060 = 000140 #17-652 17-653
FW.061 = 000142 #17-654 17-655
FW.062 = 000144 #17-656 17-657
FW.063 = 000146 #17-658 17-659
FW.064 = 000150 #17-660 17-661
FW.065 = 000152 #17-662 17-663
FW.066 = 000154 #17-664 17-665
FW.067 = 000156 #17-666 17-667
FW.070 = 000160 #17-669 17-670
FW.071 = 000162 #17-671 17-672
FW.072 = 000164 #17-673
FW.073 = 000166 #17-674
FW.074 = 000170 #17-675
FW.075 = 000172 #17-676
FW.076 = 000174 #17-677 17-678 17-679
FW.077 = 000176 #17-680 17-681
FXCFXF 011236 R 199-6772 #200-6815
FXDTEN = 011254 RG #200-6836
FXFMSG 006173 R #410-13633 410-13633
FX.BMC = 000012 #14-523 53-2170
FX.CMR = 000014 #14-525 278-9382
FX.CON = 000024 #14-534 75-2922 249-8487 257-8734 264-8969
FX.CRF = 000020 #14-530 70-2766 199-6798
FX.CSP = 000000 #14-513
FX.CST = 000002 #14-515 199-6775 418-13875
FX.EBC = 000006 #14-519
FX.MBC = 000004 #14-517 126-4479 278-9377
FX.SMR = 000016 #14-527 199-6777 277-9354
FX.SRF = 000022 #14-532 199-6792 433-14328
FX.SYC = 000010 #14-521 438-14481
FX.UDR = 000032 #14-539
FX.UIR = 000030 #14-537
FX.000 = 000000 #14-512 14-513
FX.001 = 000002 #14-514 14-515
FX.002 = 000004 #14-516 14-517
FX.003 = 000006 #14-518 14-519
FX.004 = 000010 #14-520 14-521
FX.005 = 000012 #14-522 14-523
FX.006 = 000014 #14-524 14-525
FX.007 = 000016 #14-526 14-527
FX.010 = 000020 #14-529 14-530
FX.011 = 000022 #14-531 14-532
FX.012 = 000024 #14-533 14-534
FX.013 = 000026 #14-535
FX.014 = 000030 #14-536 14-537
FX.015 = 000032 #14-538 14-539
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 16
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
FX.016 = 000034 #14-540
FX.017 = 000036 #14-541
FX.020 = 000040 #14-543
FX.021 = 000042 #14-544
FX.022 = 000044 #14-545
FX.023 = 000046 #14-546
FX.024 = 000050 #14-547
FX.025 = 000052 #14-548
FX.026 = 000054 #14-549
FX.027 = 000056 #14-550
FX.030 = 000060 #14-552
FX.031 = 000062 #14-553
FX.032 = 000064 #14-554
FX.033 = 000066 #14-555
FX.034 = 000070 #14-556
FX.035 = 000072 #14-557
FX.036 = 000074 #14-558
FX.037 = 000076 #14-559 531-17414
GETSTS = 000062 #26-1024
GTDDBT 011726 R 206-7070 206-7074 206-7078 #207-7085
GTDDOR 011734 R 206-7053 206-7059 206-7063 206-7066 #207-7088
GTDIDF 011742 R 205-6994 206-7021 206-7031 #207-7091
GTDMS0 001407 R 205-6989 #207-7102
GTDYOR 011750 R 206-7036 #207-7094
GTFILC 013110 R 223-7655 #223-7666
GTKKLA 012326 R 215-7374 215-7376 #215-7378
GTLCBO 012142 R 210-7196 #210-7228
GTLILC 012150 R 209-7184 210-7210 #210-7231
GTNMRA 013352 R 226-7766 #226-7768
GTNNER 012524 R 216-7412 216-7418 #217-7459
GTNNOR 013360 R 213-7315 217-7457 225-7746 225-7752 #226-7771
GTNORE 012520 R 216-7422 216-7424 #217-7456
GTTITF 013720 R 229-7858 #230-7920
GTTMS0 001416 R 228-7843 #230-7929
GTTTOR 013726 R 229-7873 229-7876 230-7897 230-7906 #230-7923
G.TICP = 000016 #204-6975 #506-16659
G.TICT = 000014 #204-6975 #506-16659
G.TIDA = 000004 #204-6975 #506-16659
G.TIHR = 000006 #204-6975 #506-16659
G.TIMI = 000010 #204-6975 #506-16659
G.TIMO = 000002 #204-6975 #506-16659
G.TISC = 000012 #204-6975 #506-16659
G.TIYR = 000000 #204-6975 #506-16659
HIBYTE = 177400 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
HLL = 000500 #26-1026
HLLE = 000530 #26-1027
HLLEI = 000531 #26-1028
HLLEM = 000532 #26-1029
HLLES = 000533 #26-1030
HLLI = 000501 #26-1032
HLLM = 000502 #26-1033
HLLO = 000520 #26-1035
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 17
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
HLLOI = 000521 #26-1036
HLLOM = 000522 #26-1037
HLLOS = 000523 #26-1038
HLLS = 000503 #26-1040
HLLZ = 000510 #26-1042
HLLZI = 000511 #26-1043
HLLZM = 000512 #26-1044
HLLZS = 000513 #26-1045
HLR = 000544 #26-1047
HLRE = 000574 #26-1049
HLREI = 000575 #26-1050
HLREM = 000576 #26-1051
HLRES = 000577 #26-1052
HLRO = 000564 #26-1054
HLROI = 000565 #26-1055
HLROM = 000566 #26-1056
HLROS = 000567 #26-1057
HLRS = 000547 #26-1059
HLRZ = 000554 #26-1061
HLRZI = 000555 #26-1062
HLRZM = 000556 #26-1063
HLRZS = 000557 #26-1064
HRL = 000504 #27-1066
HRLE = 000534 #27-1068
HRLEI = 000535 #27-1069
HRLEM = 000536 #27-1070
HRLES = 000537 #27-1071
HRLI = 000505 #27-1073
HRLM = 000506 #27-1074
HRLO = 000564 #27-1076
HRLOI = 000565 #27-1077
HRLOM = 000566 #27-1078
HRLOS = 000567 #27-1079
HRLS = 000507 #27-1081
HRLZ = 000514 #27-1083
HRLZI = 000515 #27-1084
HRLZM = 000516 #27-1085
HRLZS = 000517 #27-1086
HRR = 000540 #27-1088
HRRE = 000570 #27-1090
HRREI = 000571 #27-1091
HRREM = 000572 #27-1092
HRRES = 000573 #27-1093
HRRI = 000541 #27-1095
HRRM = 000542 #27-1096
HRRO = 000560 #27-1098
HRROI = 000561 #27-1099
HRROM = 000562 #27-1100
HRROS = 000563 #27-1101
HRRS = 000543 #27-1103
HRRZ = 000550 #27-1105
HRRZI = 000551 #27-1106
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 18
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
HRRZM = 000552 #27-1107
HRRZS = 000553 #27-1108
I = 000000 #345-11660 345-11660 #345-11662 345-11662 #345-11664 345-11664 #345-11666 345-11666 #348-11732
348-11732 #348-11734 348-11734
IBP = 000133 #28-1110
IDFMSG 003021 R #280-9456 280-9456
IDIV = 000230 #28-1112
IDIVB = 000233 #28-1113
IDIVI = 000231 #28-1114
IDIVM = 000232 #28-1115
IDPB = 000136 #28-1117
IE.ACT = ****** GX 353-11876
IE.EBX = ****** GX 136-4806 538-17653
IE.INS = ****** GX 353-11874
IFCMSG 003053 R #280-9457 280-9457
IFLOP = 100000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
ILCMSG 006223 R #410-13635 410-13635
ILDB = 000134 #28-1119
ILSMSG 006255 R #410-13636 410-13636
IMUL = 000220 #28-1121
IMULB = 000223 #28-1122
IMULI = 000221 #28-1123
IMULM = 000222 #28-1124
IN = 000056 #28-1126
INBUF = 000064 #28-1127
INIDNP 014514 R 243-8288 #244-8334
INIDTC 014522 R 244-8315 #244-8337
INIT = 000041 #28-1128
INPUT = 000066 #28-1129
INTROF = 000010 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
INTRON = 000040 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
INTSON = 000001 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
INT10S = 000400 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
INT11C = 002000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
INT11S = 004000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
IOCMSG 003107 R #280-9458 280-9458
IOR = 000434 #28-1131 29-1199
IORB = 000437 #28-1132 29-1200
IORI = 000435 #28-1133 30-1217
IORM = 000436 #28-1134 30-1218
IO.ATT = ****** GX 486-16058
IO.DET = ****** GX 179-6128 486-16063
IO.RLB = ****** GX 211-7238
IO.WLB = ****** GX 486-16049
IPCMSG 006321 R #410-13637 410-13637
IP.ALL = 000017 #16-619
IP.CRP = 000004 #16-615 16-618 304-10333 393-13109 521-17138
IP.DRP = 000002 #16-616 16-618 304-10340 393-13113 521-17140
IP.FMP = 000010 #16-614 16-618 304-10326 393-13121 521-17142
IP.FSS = 000001 #16-617 16-619 304-10348 393-13125 521-17144
IP.NRM = 000016 #16-618 16-619 16-634
IRCMSG 003137 R #280-9459 280-9459
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 19
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
IS.SET = ****** GX 64-2549
ITFMSG 003172 R #280-9460 280-9460
ITNMSG 003224 R #280-9461 280-9461
JFCL = 000255 #28-1136
JFFO = 000243 #28-1138
JRA = 000267 #28-1140
JRST = 000254 #28-1142
JSA = 000266 #28-1144
JSP = 000265 #28-1146
JSR = 000264 #28-1148
JSYS = 000104 #28-1150
JUMP = 000320 #28-1152
JUMPA = 000324 #28-1153
JUMPE = 000322 #28-1154
JUMPG = 000327 #28-1155
JUMPGE = 000325 #28-1156
JUMPL = 000321 #28-1157
JUMPLE = 000323 #28-1158
JUMPN = 000326 #28-1159
KCNMSG 003254 R #280-9463 280-9463
KF.BRM = 001000 #13-476 257-8728
KF.CES = 000100 #13-479 55-2258 278-9384
KF.CLK = 100000 #13-470 55-2256 66-2620 75-2918 78-3010 111-4028 137-4829 137-4833 162-5579
169-5815 170-5855 170-5861 196-6673 199-6774 243-8291 243-8298 249-8489 249-8495
257-8731 257-8746 257-8748 262-8884 343-11588 347-11702 416-13795 431-14269 537-17612
KF.CON = 000200 #13-478 13-480 55-2256 75-2914 243-8298 249-8497 278-9384
KF.DEF = 000200 #13-480 241-8244
KF.KLO = 000400 #13-477 244-8326
KF.MRS = 020000 #13-472 277-9356 278-9384
KF.RUN = 040000 #13-471 55-2256 66-2620 75-2928 80-3095 169-5815 170-5855 170-5865 199-6791
243-8291 244-8316 249-8495 257-8731 257-8742 257-8751 350-11793 416-13797 420-13939
KF.SIM = 010000 #13-473 75-2916 249-8483 257-8728
KF.SMC = 004000 #13-474
KF.SPM = 002000 #13-475 249-8481 257-8728
KLABIN 031240 RG 474-15662 #477-15765
KLAMSG 003302 R #280-9464 280-9464
KLAOCT 031264 RG 474-15666 #477-15782
KLHCFH 014766 R #252-8609
KLIOT = 000700 #28-1161
KLNBIN 031230 RG 475-15701 #477-15760
KLNLGE = 025026 R 381-12847 #383-12883
KLNLGL = ****** GX 381-12845
KLNLOG 025002 R #383-12876
KLNOCT 031260 RG 475-15705 #477-15778
KLNPLN = ****** GX 381-12840
KLNPWD 025026 R 376-12661 380-12813 #383-12885
KLPWRF = 000010 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
KLRMSG 003331 R #280-9465 280-9465
KLSCFH 015276 R 262-8899 #262-8902
KNCMSG 003373 R #280-9466 280-9466
KWEMSG 003427 R #280-9467 280-9467
K.LSCK = ****** GX 383-12879
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 20
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
LDB = 000135 #29-1163
LG.ALL = 000007 #22-862 73-2831 186-6336 186-6346 254-8655 254-8655 254-8656 254-8657 254-8661
254-8662 275-9278 275-9279 275-9280 275-9281 275-9282 275-9283 275-9284 275-9285
275-9286 275-9287 275-9288 275-9289 360-12126 403-13353 493-16275 493-16277 512-16902
LG.ARG = 000010 #22-855
LG.MAR = 000020 #22-856
LG.MNT = 000004 #22-854 22-862 66-2617 66-2622 73-2833 73-2834 73-2835 367-12330 367-12331
367-12332 367-12333 367-12334 367-12335 367-12336 367-12337 367-12338 367-12339 367-12340
395-13169 395-13170 395-13171 395-13172 395-13173 395-13174 395-13175 403-13348 403-13351
403-13357 504-16574
LG.MOD = 000040 #22-857
LG.NUL = 000000 #22-851
LG.OPR = 000001 #22-852 22-861 73-2826 73-2827 73-2828 73-2832 73-2841 73-2842 73-2843
73-2845 73-2846 73-2847 73-2849 73-2850 95-3514 95-3515 95-3516 95-3517
95-3518 114-4126 114-4127 114-4128 114-4129 114-4130 175-6008 175-6009 175-6010
175-6011 175-6012 186-6343 186-6349 186-6354 186-6355 186-6356 186-6357 186-6358
254-8656 360-12118 362-12176 362-12177 362-12178 362-12179 387-12987 387-12988 403-13349
403-13352 403-13354 403-13355 403-13359 493-16274 493-16276 493-16278 493-16282 493-16286
LG.PRG = 000002 #22-853 22-861 66-2610 73-2829 73-2830 73-2836 73-2840 73-2844 73-2848
73-2851 73-2852 114-4123 114-4124 114-4125 186-6327 186-6328 186-6329 186-6330
186-6331 186-6332 186-6333 186-6334 186-6335 186-6338 186-6339 186-6340 186-6341
186-6342 186-6344 186-6345 186-6347 186-6348 186-6350 186-6351 186-6352 186-6353
329-11193 329-11194 329-11195 329-11196 329-11197 329-11198 329-11199 329-11200 403-13350
403-13356 403-13358 403-13361 424-14045 424-14046 429-14188 493-16273 493-16279 493-16280
493-16281 493-16284 504-16577
LG.PRM = 000003 #22-861 22-862 254-8657 360-12122 512-16905
LG.RNG = 000100 #22-858
LG.RPT = 000400 #22-860 73-2826 73-2828 73-2829 73-2830 73-2832 73-2833 73-2834 73-2835
73-2836 73-2840 73-2843 73-2844 73-2846 73-2848 73-2851 93-3460 95-3514
95-3515 95-3516 95-3517 95-3518 114-4123 114-4124 114-4125 114-4126 114-4127
114-4128 114-4129 114-4130 175-6008 175-6009 175-6010 175-6011 175-6012 186-6327
186-6328 186-6329 186-6330 186-6331 186-6332 186-6333 186-6334 186-6335 186-6336
186-6338 186-6339 186-6340 186-6341 186-6342 186-6343 186-6344 186-6345 186-6346
186-6347 186-6348 186-6349 186-6350 186-6351 186-6352 186-6353 186-6354 186-6355
186-6356 186-6357 186-6358 329-11193 329-11194 329-11195 329-11196 329-11197 329-11198
329-11199 329-11200 367-12330 367-12331 367-12332 367-12333 367-12334 367-12335 367-12336
367-12337 367-12338 367-12339 367-12340 403-13348 403-13351 403-13355 403-13357 424-14045
424-14046 493-16273 493-16275 493-16280
LG.STR = 000200 #22-859
LOAD11 = 000004 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
LOOKUP = 000076 #29-1165
LSH = 000242 #29-1167
LSHC = 000246 #29-1168
MAP = 000257 #29-1170
MBZTAB 005046 R 117-4217 #118-4264
MONMSG 007336 R 506-16693 #507-16715
MOVE = 000200 #29-1172
MOVEI = 000201 #29-1173
MOVEM = 000202 #29-1174
MOVES = 000203 #29-1175
MOVM = 000214 #29-1177
MOVMI = 000215 #29-1178
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 21
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
MOVMM = 000216 #29-1179
MOVMS = 000217 #29-1180
MOVN = 000210 #29-1182
MOVNI = 000211 #29-1183
MOVNM = 000212 #29-1184
MOVNS = 000213 #29-1185
MOVS = 000204 #29-1187
MOVSI = 000205 #29-1188
MOVSM = 000206 #29-1189
MOVSS = 000207 #29-1190
MPE11 = 001000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
MRAMSG 003461 R #280-9469 280-9469
MUL = 000224 #29-1192
MULB = 000227 #29-1193
MULI = 000225 #29-1194
MULM = 000226 #29-1195
M.KTAE = 000010 #71-2786
M.KTEF = 000002 #71-2786
M.KTMG = 000004 #71-2786
M.KTUN = 000006 #71-2786
NDIMSG 003521 R #280-9471 280-9471
NEBMSG 004746 R 288-9767 #289-9792
NERMSG 003551 R #280-9472 280-9472
NOFMSG 000602 R 155-5412 #156-5420
NOMSG 010300 R 533-17494 #534-17517
NORMSG 003613 R #280-9473 280-9473
NPIMSG 003653 R #280-9474 280-9474
NSKMSG 006364 R #410-13639 410-13639
NSTMSG 003707 R #280-9475 280-9475
NTIMSG 003732 R #280-9476 280-9476
NULSTP = 000040 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
NUPE = 000002 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
OAIMSG 003762 R #280-9478 280-9478
OFCMSG 004014 R #280-9479 280-9479
OFFMSG 001147 R 183-6255 #184-6292
ONMSG 001144 R 183-6251 #184-6290
OPEN = 000050 #29-1197
OR = 000434 #29-1199
ORB = 000437 #29-1200
ORCA = 000454 #29-1202
ORCAB = 000457 #29-1203
ORCAI = 000455 #29-1204
ORCAM = 000456 #29-1205
ORCB = 000470 #30-1207
ORCBB = 000473 #30-1208
ORCBI = 000471 #30-1209
ORCBM = 000472 #30-1210
ORCM = 000464 #30-1212
ORCMB = 000467 #30-1213
ORCMI = 000465 #30-1214
ORCMM = 000466 #30-1215
ORI = 000435 #30-1217
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 22
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
ORM = 000436 #30-1218
OUT = 000057 #30-1220
OUTBUF = 000065 #30-1221
OUTPUT = 000067 #30-1222
PAG = 000010 #7-241 348-11732 348-11732 348-11734 348-11734
PARERC 016730 R 284-9646 284-9646 285-9658 285-9658 285-9669 285-9669 286-9694 286-9694 #287-9713
287-9729 287-9729 288-9748 288-9748
PARERX 016554 R #284-9647 285-9680 286-9702 288-9771
PARMSG 000011 RG #42-1771 287-9714
PARNAM 000021 RG 36-1472 #42-1773 92-3442 281-9535 416-13789
PARUEC 017002 R 284-9639 #287-9726
PAR$$E = 000010 #1-50 42-1770
PAR$$K = 000126 #1-54 42-1770
PAR$$V = 000004 #1-49 42-1770
PCTAB 021004 R 321-10925 #322-10976
PC.AFI = 000020 #13-504
PC.AT0 = 000004 #13-506
PC.AT1 = 000010 #13-505
PC.BIS = 000400 #13-500
PC.CY0 = 004000 #13-497
PC.CY1 = 002000 #13-498
PC.FOV = 001000 #13-499
PC.FUF = 000002 #13-507
PC.LIP = 000040 #13-503
PC.NDV = 000001 #13-508
PC.OVF = 010000 #13-496 310-10542
PC.UIO = 000100 #13-502
PC.USR = 000200 #13-501
PERCLR = 001000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
PE.ALL = 000037 #9-332
PE.CES = 000001 #9-327 9-332
PE.CRM = 000004 #9-329 9-332
PE.DRM = 000002 #9-328 9-332
PE.FMP = 000010 #9-330 9-332
PE.FSS = 000020 #9-331 9-332
PHYS = 100000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
PI = 000004 #7-240 345-11666 345-11666
PIDENT = 000000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
POP = 000262 #30-1224
POPJ = 000263 #30-1225
PRI7 = 000340 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
PROMPT 000030 RG #42-1775 416-13792
PROPNT = 000021 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
PRTOFF = 004000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
PR0 = 000000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
PR1 = 000040 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
PR2 = 000100 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
PR3 = 000140 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
PR4 = 000200 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
PR5 = 000240 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
PR6 = 000300 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
PR7 = 000340 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 23
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
PS = 177776 #133-4714 #191-6508 #194-6615 #197-6742 370-12453 370-12453 370-12464 380-12800 380-12800
381-12823 381-12830 381-12830 381-12834 #428-14169 #535-17559
PSENTB 033704 R 521-17119 #521-17134
PSWW1 = 000005 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
PSWW10 = 000014 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
PSWW11 = 000015 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
PSWW12 = 000016 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
PSWW13 = 000017 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
PSWW2 = 000006 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
PSWW3 = 000007 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
PSWW4 = 000010 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
PSWW5 = 000011 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
PSWW6 = 000012 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
PSWW7 = 000013 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
PS.NRM = 001416 #16-634 336-11409 393-13101
PTLMSG 004044 R #280-9481 280-9481
PTOATM 004775 R 291-9856 #291-9875
PTRTEM 005042 R 293-9944 #296-10065
PTRTHM 005112 R 296-10050 #296-10067
PULSE = 000020 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
PUSH = 000261 #30-1227
PUSHJ = 000260 #30-1228
QSIZE = 000023 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
Q.BYCT = 000016 #21-809 211-7241 486-16052
Q.IBUF = 000014 #21-807
Q.IOAE = 000012 #211-7238 #486-16049 #486-16058 #486-16063
Q.IOEF = 000006 #211-7238 #486-16049 #486-16058 #486-16063
Q.IOFN = 000002 #211-7238 #486-16049 #486-16058 #486-16063
Q.IOLU = 000004 #211-7238 #486-16049 #486-16058 #486-16063
Q.IOPL = 000014 #21-806 21-807 21-808 21-809 21-810 #211-7238 211-7240 #486-16049 486-16051
#486-16058 #486-16063
Q.IOPR = 000007 #211-7238 #486-16049 #486-16058 #486-16063
Q.IOSB = 000010 #211-7238 #486-16049 #486-16058 #486-16063
Q.OBUF = 000014 #21-808
Q.OVFC = 000020 #21-810 486-16053
RAMIS0 = 010000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
RDCPT1 017756 R 302-10255 #304-10318
RDCPT2 017736 R 303-10274 #303-10299
RDCPT3 017746 R 302-10256 303-10271 #303-10307
RDPITB 020400 R 315-10686 #315-10702
RDPITE = 020414 R 315-10696 #315-10709
REGTAB 005200 R 122-4359 #123-4380
RELEAS = 000071 #30-1230
RENAME = 000055 #30-1231
REPIRC 021120 R 324-11052 #324-11058
REQKLD 033434 R 513-16917 #513-16923
RESETT 021244 R 327-11125 #327-11150
RFMAD0 = 100000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
RFMAD1 = 040000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
RFMAD2 = 020000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
RFMAD3 = 010000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
RGDTEN = 005066 RG #119-4290
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 24
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
RM = 000010 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
ROT = 000241 #30-1233
ROTC = 000245 #30-1234
RPMMSG 004074 R #280-9483 280-9483
RQSKLD 003316 R 90-3376 #90-3379
RSAKCN 021704 R 343-11589 #343-11606
RSAPRI 021744 R 345-11643 #345-11659
RSERRI 021752 R 345-11647 #345-11661
RSPGI0 022120 R 347-11719 #348-11731
RSPGI1 022126 R 347-11721 #348-11733
RSPKCN 022112 R 347-11703 #348-11728
RSTEND = 021252 R 327-11138 #327-11157
RSTIOI 021760 R 345-11651 #345-11663
RSTPII 021766 R 345-11655 #345-11665
RUNITN 022246 R 352-11858 #353-11878
RUNNST 022254 R 353-11875 #353-11881
RUNTAA 022262 R 353-11877 #353-11884
R.QSGC = 000015 #90-3380 #354-11907 #513-16924
R.QSPC = 000014 #90-3380 #354-11907 #513-16924
R.QSPN = 000006 #90-3380 #354-11907 #513-16924
R.QSPR = 000012 #90-3380 #354-11907 #513-16924
R.QSTN = 000002 #90-3380 #354-11907 #513-16924
SATMSG 007414 R 506-16698 #507-16725
SBRTAB 020624 R 317-10786 #319-10853
SCCCLE 022672 R 360-12131 #360-12139
SCCLKT 022530 R 356-11973 #358-12048
SCD = 000040 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
SCDCDI 023472 R 369-12404 #371-12469
SCDDAV 023500 R 369-12406 #371-12472
SCDNDI 023506 R 369-12412 #371-12475
SCDNTI 023514 R 369-12416 #371-12478
SCFMSG 004134 R #280-9485 280-9485
SCKIPC 024030 R #377-12682 378-12694 378-12698 378-12700
SCKKWE 024372 R 379-12768 379-12771 379-12774 #379-12778
SCKMS0 005466 R 376-12652 #383-12889
SCKMS1 005501 R 378-12704 378-12710 #383-12891
SCKMS2 005525 R 378-12718 379-12759 #383-12893
SCKMS3 005552 R 380-12789 #383-12895
SCKMS4 005601 R 376-12643 #383-12897
SCKNPI 024006 R 376-12656 #377-12673
SCKPTL 024014 R 376-12659 #377-12676
SCKSKI 024022 R 376-12641 #377-12679
SCPART 022542 R 356-11978 356-11985 #358-12054
SCPILS 022506 R 357-12002 #358-12039
SCPSCF 022514 R #358-12042 358-12052
SCPSPF 022522 R #358-12045 358-12058
SCRTAB 020640 R 317-10790 #319-10861
SETA = 000424 #30-1236
SETAB = 000427 #30-1237
SETAI = 000425 #30-1238
SETAM = 000426 #30-1239
SETCA = 000450 #30-1241
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 25
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
SETCAB = 000453 #30-1242
SETCAI = 000451 #30-1243
SETCAM = 000452 #30-1244
SETCM = 000460 #30-1246
SETCMB = 000463 #30-1247
SETCMI = 000461 #30-1248
SETCMM = 000462 #30-1249
SETM = 000414 #31-1251
SETMB = 000417 #31-1252
SETMI = 000415 #31-1253
SETMM = 000416 #31-1254
SETO = 000474 #31-1256
SETOB = 000477 #31-1257
SETOI = 000475 #31-1258
SETOM = 000476 #31-1259
SETSTS = 000060 #31-1261
SETZ = 000400 #31-1263
SETZB = 000403 #31-1264
SETZI = 000401 #31-1265
SETZM = 000402 #31-1266
SKIMSG 004163 R #280-9486 280-9486
SKIP = 000330 #31-1268
SKIPA = 000334 #31-1269
SKIPE = 000332 #31-1270
SKIPG = 000337 #31-1271
SKIPGE = 000335 #31-1272
SKIPL = 000331 #31-1273
SKIPLE = 000333 #31-1274
SKIPN = 000336 #31-1275
SOJ = 000360 #31-1277
SOJA = 000364 #31-1278
SOJE = 000362 #31-1279
SOJG = 000367 #31-1280
SOJGE = 000365 #31-1281
SOJL = 000361 #31-1282
SOJLE = 000363 #31-1283
SOJN = 000366 #31-1284
SOS = 000370 #31-1286
SOSA = 000374 #31-1287
SOSE = 000372 #31-1288
SOSG = 000377 #31-1289
SOSGE = 000375 #31-1290
SOSL = 000371 #31-1291
SOSLE = 000373 #31-1292
SOSN = 000376 #31-1293
SPCEST 017116 R 288-9752 #288-9773
SPFMSG 004240 R #280-9487 280-9487
SSTLEN = 000010 G #37-1634 237-8140
SSTTBE = 000212 RG #37-1635 293-9941
STAMSG 000474 R 123-4383 #123-4394
STASZI 026556 R 429-14186 #429-14198
STAT = 174434 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 26
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
STATO = 000061 #31-1295
STATUS = 000022 #31-1296 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
STATZ = 000063 #31-1297
STUCAE 026744 R 436-14404 #436-14422
STUUNL 026752 R 436-14419 #436-14425
ST.CED = 000100 #12-449 12-464
ST.CLE = 000001 #12-462 12-464
ST.CTD = 040000 #12-434
ST.CTE = 010000 #12-438 12-464
ST.DW1 = 002000 #12-441
ST.DXD = 000004 #12-457
ST.EBS = 000100 #12-448
ST.EDB = 004000 #12-439
ST.EPE = 000020 #12-452 12-464 128-4548
ST.IDS = 000010 #12-456
ST.IEN = 000040 #12-451
ST.ION = 000001 #12-461
ST.MBZ = 000000 #12-466 118-4267
ST.MOD = 000010 #12-454 243-8287
ST.MPE = 001000 #12-442 12-464
ST.NST = 000040 #12-450
ST.RIZ = 010000 #12-437
ST.RST = 011121 #12-464
ST.SEP = 000004 #12-458
ST.STE = 000002 #12-460
ST.TED = 000200 #12-446
ST.TER = 000002 #12-459
ST.TXD = 100000 #12-432
ST.TXE = 020000 #12-435
ST.XDB = 000400 #12-444
SUB = 000274 #32-1299
SUBB = 000277 #32-1300
SUBI = 000275 #32-1301
SUBM = 000276 #32-1302
SUNMSG 007426 R 506-16699 #507-16727
SWR = 177570 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
SWSLLT = 100000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
SXCT = 000106 #32-1304
SZIMSG 004270 R #280-9488 280-9488
TAAMSG 004324 R #280-9490 280-9490
TC.CON = 000377 #22-869
TC.CTC = 000002 #22-866 64-2553 295-10023
TC.ERR = 000000 #22-868 53-2174 55-2259 58-2368 58-2371 59-2409 66-2632 76-2942 81-3106
93-3480 108-3947 112-4083 112-4086 112-4089 118-4259 126-4493 128-4552 132-4672
137-4830 137-4834 137-4837 137-4840 153-5339 162-5600 167-5752 170-5872 193-6558
196-6685 200-6816 207-7086 207-7089 207-7092 207-7095 210-7229 210-7232 215-7379
217-7460 223-7667 224-7707 226-7769 226-7772 230-7921 230-7924 244-8335 244-8338
252-8610 262-8903 324-11059 343-11607 348-11729 353-11879 353-11882 353-11885 358-12040
358-12043 358-12046 360-12140 371-12470 371-12473 371-12476 371-12479 377-12674 377-12677
377-12680 377-12684 379-12779 429-14199 436-14423 436-14426 443-14597 464-15299 464-15302
464-15305 531-17421 531-17424 538-17655 538-17658
TC.RST = 000001 #22-867
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 27
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
TDC = 000650 #32-1306
TDCA = 000654 #32-1307
TDCE = 000652 #32-1308
TDCN = 000656 #32-1309
TDMSG0 006501 R 463-15279 #464-15310
TDN = 000610 #32-1311
TDNA = 000614 #32-1312
TDNE = 000612 #32-1313
TDNN = 000616 #32-1314
TDO = 000670 #32-1316
TDOA = 000674 #32-1317
TDOE = 000672 #32-1318
TDON = 000676 #32-1319
TDZ = 000630 #32-1321
TDZA = 000634 #32-1322
TDZE = 000632 #32-1323
TDZN = 000636 #32-1324
TENAD1 = 174410 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
TENAD2 = 174412 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
TFRMSG 006432 R 458-15116 #459-15161
TFWMSG 006447 R 458-15123 #459-15163
TFXMSG 006464 R 458-15130 #459-15165
THUMSG 007372 R 506-16696 #507-16721
TLC = 000641 #32-1326
TLCA = 000645 #32-1327
TLCE = 000643 #32-1328
TLCN = 000647 #32-1329
TLN = 000601 #32-1331
TLNA = 000605 #32-1332
TLNE = 000603 #32-1333
TLNN = 000607 #32-1334
TLO = 000661 #32-1336
TLOA = 000665 #32-1337
TLOE = 000663 #32-1338
TLON = 000667 #32-1339
TLZ = 000621 #32-1341
TLZA = 000625 #32-1342
TLZE = 000623 #32-1343
TLZN = 000627 #32-1344
TOBM = 000004 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
TOD = 000003 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
TOIP = 000002 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
TOIT = 000001 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
TORMSG 004361 R #280-9491 280-9491
TO10 = 000200 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
TO10AD = 174420 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
TO10BC = 174414 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
TO10BM = 000001 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
TO10DB = 000400 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
TO10DN = 100000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
TO10DT = 174424 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
TO10ER = 020000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 28
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
TO11 = 000100 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
TO11AD = 174422 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
TO11BC = 174416 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
TO11BM = 020000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
TO11DB = 004000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
TO11DN = 000200 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
TO11DT = 174426 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
TO11ER = 000002 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
TPDDCK 027204 R 441-14547 #443-14596
TPDDVD 027226 R 441-14562 #443-14604
TPDDVS 027220 R 441-14561 #443-14602
TPDRMN 027212 R 441-14550 441-14560 442-14588 #443-14600
TRADDR 006130 R 141-4951 141-4962 #142-4981
TRC = 000640 #32-1346
TRCA = 000644 #32-1347
TRCE = 000642 #32-1348
TRCN = 000646 #32-1349
TRDATA 006136 R 141-4956 141-4966 #142-4983
TRN = 000600 #33-1351
TRNA = 000604 #33-1352
TRNE = 000602 #33-1353
TRNN = 000606 #33-1354
TRO = 000660 #33-1356
TROA = 000664 #33-1357
TROE = 000662 #33-1358
TRON = 000666 #33-1359
TRZ = 000620 #33-1361
TRZA = 000624 #33-1362
TRZE = 000622 #33-1363
TRZN = 000626 #33-1364
TR.ALL = 000077 #13-491
TR.DEP = 000020 #13-489 13-491 135-4782
TR.DTE = 000040 #13-490 13-491 118-4248
TR.EXM = 000010 #13-488 13-491 135-4771
TR.FRD = 000002 #13-486 13-491 193-6551
TR.FWR = 000004 #13-487 13-491 196-6676
TR.FXC = 000001 #13-485 13-491 200-6808
TSC = 000651 #33-1366
TSCA = 000655 #33-1367
TSCAMB 030412 R 462-15253 #464-15297
TSCE = 000653 #33-1368
TSCN = 000657 #33-1369
TSCNSK 030424 R 462-15262 #464-15301
TSCWRM 030432 R 462-15265 #464-15304
TSN = 000611 #33-1371
TSNA = 000615 #33-1372
TSNE = 000613 #33-1373
TSNN = 000617 #33-1374
TSO = 000671 #33-1376
TSOA = 000675 #33-1377
TSOE = 000673 #33-1378
TSON = 000677 #33-1379
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 29
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
TSZ = 000631 #33-1381
TSZA = 000635 #33-1382
TSZE = 000633 #33-1383
TSZN = 000637 #33-1384
TTCALL = 000051 #33-1386
TUEMSG 007346 R 506-16694 #507-16717
TYDMAP 006534 R 467-15406 #468-15424
TYDMAU 006554 R 467-15410 #468-15432
TYDMDE 006574 R 467-15414 #468-15440
TYDMFE 006524 R 467-15404 #468-15420
TYDMJA 006520 R 467-15403 #468-15418
TYDMJL 006550 R 467-15409 #468-15430
TYDMJN 006544 R 467-15408 #468-15428
TYDMMR 006530 R 467-15405 #468-15422
TYDMMY 006540 R 467-15407 #468-15426
TYDMNO 006570 R 467-15413 #468-15438
TYDMOC 006564 R 467-15412 #468-15436
TYDMSE 006560 R 467-15411 #468-15434
TYDMTB 030554 R 466-15384 #467-15402
TYODIE 031632 R 484-16025 484-16027 484-16029 484-16031 #485-16042
UECMSG 004657 R 287-9738 #287-9742
UECMSP 017024 R 287-9728 #287-9737
UGETF = 000073 #33-1388
UJEN = 000100 #33-1390
UNASG1 = 000032 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
UNASG2 = 000033 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
UNASG3 = 000034 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
UNASG4 = 000035 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
UNASG5 = 000036 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
UNASG6 = 000037 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
UNLMSG 004411 R #280-9493 280-9493
USETI = 000074 #33-1392
USETO = 000075 #33-1393
VFYMSG 004447 R #280-9495 280-9495
VF.DSP = 000060 #21-824
VF.FFD = 000061 #21-825
VF.INT = 000000 #21-822 486-16049
VF.OVR = 000053 #21-826
VF.PRM = 000044 #21-827
VF.SSP = 000040 #21-823
VMATB 021020 R 321-10933 #322-10984
VMHTB 021026 R 321-10937 #322-10988
WCLMS0 006777 R 501-16487 #502-16506
WCLMS1 007004 R 501-16489 #502-16508
WCLMS2 007016 R 501-16491 #502-16510
WCLMS3 007026 R 501-16494 #502-16512
WCLMS4 007037 R 501-16495 501-16497 #502-16514
WCLMS5 007046 R 501-16496 #502-16516
WCLMS6 007057 R 501-16499 #502-16518
WCLMS7 007064 R 501-16500 #502-16520
WCLMS8 007071 R 501-16501 #502-16522
WCLMS9 007101 R 501-16502 #502-16524
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 30
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
WCMMSG 007175 R 504-16570 #504-16586
WCMMS0 007215 R 504-16573 #504-16588
WCMMS1 007231 R 504-16576 #504-16590
WCMMS2 007244 R 504-16579 #504-16592
WCMSG0 007106 R 500-16441 #502-16526
WCMSG1 007132 R 500-16443 #502-16528
WCMSG2 007146 R 501-16470 #502-16530
WCMSG3 007160 R 501-16477 #502-16532
WCMSG4 007170 R 500-16450 #502-16534
WEDMSG 007357 R 506-16695 #507-16719
WEP = 000010 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
WHDMS0 007255 R 506-16668 #507-16706
WHDMS1 007303 R 506-16681 #507-16708
WHDMS2 007327 R 506-16683 #507-16710
WHDMS3 007332 R 506-16686 #507-16712
WHIMSG 007436 R 509-16765 #509-16787
WHKMRB 007675 R 511-16866 #514-16947
WHKMSA 007666 R 511-16859 #514-16945
WHKMSI 007720 R 511-16862 #514-16949
WHKMSK 007745 R 512-16892 #514-16955
WHKMSR 007736 R 512-16897 #514-16953
WHKMSU 007731 R 512-16894 #514-16951
WHKMS0 007476 R 511-16854 #514-16928
WHKMS1 007507 R 511-16856 #514-16930
WHKMS2 007520 R 512-16877 #514-16932
WHKMS3 007546 R 512-16884 #514-16934
WHKMS4 007576 R 512-16899 #514-16936
WHKMS5 007626 R 512-16901 #514-16938
WHKMS6 007642 R 512-16904 #514-16940
WHKMS7 007655 R 512-16907 #514-16942
WHMMSG 007764 R 516-16990 #516-17002
WHMMS0 007776 R 516-16992 #516-17004
WHMMS1 010002 R 516-16995 #516-17006
WHOMSG 010011 R 518-17041 #518-17050
WHPMS0 010032 R 521-17135 #522-17148
WHPMS1 010035 R 521-17137 #522-17150
WHPMS2 010042 R 521-17139 #522-17152
WHPMS3 010047 R 521-17141 #522-17154
WHPMS4 010052 R 521-17143 #522-17156
WHPMS5 010062 R 520-17109 #522-17158
WHPMS6 010067 R 520-17102 #522-17160
WHPMS7 010073 R 520-17099 #522-17162
WHRMSG 007456 R 509-16772 #509-16789
WHRMS0 010217 R 524-17205 #524-17217
WHRMS1 010222 R 524-17208 #524-17219
WHTMSG 010226 R 526-17254 #526-17266
WHTMS0 010246 R 526-17256 #526-17268
WHTMS1 010251 R 526-17259 #526-17270
WPMSG0 010076 R 520-17095 #522-17164
WPMSG1 010130 R 520-17097 #522-17166
WPMSG2 010156 R 520-17105 #522-17168
WRLMSG 010176 R 524-17203 #524-17215
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 31
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
WRMMSG 004503 R #280-9497 280-9497
WVMSG1 006733 R 497-16381 #498-16393
WVMSG2 006755 R 497-16385 #498-16395
XCT = 000256 #33-1395
XOR = 000430 #33-1397
XORB = 000433 #33-1398
XORI = 000431 #33-1399
XORM = 000432 #33-1400
XR = 000000 #345-11660 345-11660 #345-11662 345-11662 #345-11664 345-11664 #345-11666 345-11666 #348-11732
348-11732 #348-11734 348-11734
XTOMSG 004614 R #280-9501 280-9501
YESMSG 010274 R 533-17490 #534-17515
YONMSG 010255 R 533-17483 #534-17513
YORMSG 004564 R #280-9499 280-9499
ZERDPB 034502 R *537-17629 *537-17630 538-17639 #538-17660
ZERESD 034474 R 538-17654 #538-17657
ZSTOP = 040000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
$DIV = ****** GX 370-12450 370-12450 488-16120 488-16120 490-16199 490-16199 490-16203 490-16203
$DSW = ****** GX 64-2549 136-4806 353-11873 538-17653
$MUL = ****** GX 229-7879 229-7879 229-7883 229-7883 230-7899 230-7899 230-7909 230-7909 233-8005
233-8005 369-12422 369-12422
$$ = 000037 #49-2030 49-2030 #49-2036 49-2036 #49-2037 49-2037 #51-2100 51-2100 #51-2101
51-2101 #53-2165 53-2165 #53-2169 53-2169 #55-2248 55-2248 #57-2324 57-2324
#59-2402 59-2402 #61-2462 61-2462 #68-2687 68-2687 #68-2697 68-2697 #70-2767
70-2767 #75-2912 75-2912 #75-2920 75-2920 #75-2923 75-2923 #75-2927 75-2927
#78-3001 78-3001 #78-3002 78-3002 #78-3007 78-3007 #78-3008 78-3008 #78-3012
78-3012 #78-3015 78-3015 #78-3017 78-3017 #80-3081 80-3081 #80-3086 80-3086
#80-3098 80-3098 #84-3160 84-3160 #84-3161 84-3161 #84-3162 84-3162 #84-3168
84-3168 #84-3170 84-3170 #84-3173 84-3173 #84-3174 84-3174 #84-3175 84-3175
#84-3177 84-3177 #84-3178 84-3178 #86-3242 86-3242 #86-3243 86-3243 #86-3244
86-3244 #86-3251 86-3251 #86-3252 86-3252 #86-3255 86-3255 #88-3310 88-3310
#88-3311 88-3311 #88-3312 88-3312 #90-3374 90-3374 #92-3443 92-3443 #93-3456
93-3456 #93-3458 93-3458 #93-3466 93-3466 #93-3467 93-3467 #93-3476 93-3476
#97-3558 97-3558 #97-3562 97-3562 #97-3566 97-3566 #97-3570 97-3570 #97-3580
97-3580 #99-3626 99-3626 #99-3630 99-3630 #99-3634 99-3634 #99-3638 99-3638
#99-3649 99-3649 #101-3707 101-3707 #103-3775 103-3775 #107-3904 107-3904 #107-3907
107-3907 #107-3911 107-3911 #107-3915 107-3915 #107-3916 107-3916 #108-3925 108-3925
#108-3934 108-3934 #108-3936 108-3936 #108-3937 108-3937 #108-3939 108-3939 #110-4008
110-4008 #110-4011 110-4011 #110-4016 110-4016 #110-4017 110-4017 #110-4020 110-4020
#111-4027 111-4027 #111-4049 111-4049 #111-4051 111-4051 #111-4052 111-4052 #111-4053
111-4053 #111-4055 111-4055 #111-4056 111-4056 #112-4064 112-4064 #112-4069 112-4069
#112-4072 112-4072 #112-4074 112-4074 #112-4075 112-4075 #112-4076 112-4076 #122-4357
122-4357 #122-4360 122-4360 #122-4361 122-4361 #122-4370 122-4370 #122-4376 122-4376
#126-4475 126-4475 #126-4480 126-4480 #126-4482 126-4482 #128-4547 128-4547 #132-4633
132-4633 #132-4634 132-4634 #132-4638 132-4638 #132-4639 132-4639 #132-4643 132-4643
#132-4645 132-4645 #132-4649 132-4649 #132-4651 132-4651 #135-4769 135-4769 #135-4773
135-4773 #135-4780 135-4780 #135-4784 135-4784 #136-4810 136-4810 #136-4811 136-4811
#140-4935 140-4935 #140-4940 140-4940 #141-4961 141-4961 #141-4963 141-4963 #141-4964
141-4964 #141-4965 141-4965 #141-4967 141-4967 #141-4968 141-4968 #141-4975 141-4975
#146-5104 146-5104 #146-5110 146-5110 #146-5111 146-5111 #146-5112 146-5112 #146-5114
146-5114 #146-5115 146-5115 #146-5116 146-5116 #146-5118 146-5118 #146-5119 146-5119
#148-5179 148-5179 #152-5308 152-5308 #152-5311 152-5311 #152-5315 152-5315 #153-5322
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 32
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
153-5322 #153-5330 153-5330 #153-5332 153-5332 #153-5333 153-5333 #153-5335 153-5335
#155-5392 155-5392 #155-5393 155-5393 #155-5394 155-5394 #155-5395 155-5395 #155-5399
155-5399 #155-5406 155-5406 #155-5413 155-5413 #158-5486 158-5486 #158-5488 158-5488
#158-5490 158-5490 #158-5492 158-5492 #158-5493 158-5493 #158-5494 158-5494 #161-5563
161-5563 #161-5566 161-5566 #161-5571 161-5571 #162-5578 162-5578 #162-5590 162-5590
#162-5592 162-5592 #162-5593 162-5593 #162-5594 162-5594 #162-5596 162-5596 #165-5669
165-5669 #165-5671 165-5671 #165-5672 165-5672 #165-5674 165-5674 #165-5676 165-5676
#165-5677 165-5677 #165-5678 165-5678 #165-5680 165-5680 #167-5741 167-5741 #167-5742
167-5742 #169-5819 169-5819 #169-5821 169-5821 #170-5838 170-5838 #170-5840 170-5840
#170-5841 170-5841 #170-5844 170-5844 #170-5847 170-5847 #170-5857 170-5857 #170-5863
170-5863 #170-5867 170-5867 #172-5925 172-5925 #172-5929 172-5929 #172-5933 172-5933
#173-5941 173-5941 #173-5943 173-5943 #173-5944 173-5944 #173-5945 173-5945 #173-5947
173-5947 #173-5948 173-5948 #177-6052 177-6052 #177-6056 177-6056 #177-6060 177-6060
#177-6064 177-6064 #181-6174 181-6174 #181-6178 181-6178 #181-6182 181-6182 #181-6186
181-6186 #183-6243 183-6243 #183-6245 183-6245 #183-6246 183-6246 #183-6247 183-6247
#183-6250 183-6250 #184-6262 184-6262 #184-6264 184-6264 #184-6267 184-6267 #184-6269
184-6269 #184-6272 184-6272 #184-6274 184-6274 #184-6277 184-6277 #188-6411 188-6411
#190-6458 190-6458 #190-6459 190-6459 #190-6465 190-6465 #193-6553 193-6553 #196-6678
196-6678 #200-6810 200-6810 #202-6897 202-6897 #202-6903 202-6903 #205-6990 205-6990
#205-6991 205-6991 #205-6993 205-6993 #206-7017 206-7017 #206-7020 206-7020 #206-7023
206-7023 #206-7029 206-7029 #206-7030 206-7030 #206-7032 206-7032 #206-7039 206-7039
#209-7179 209-7179 #214-7343 214-7343 #214-7344 214-7344 #215-7372 215-7372 #216-7410
216-7410 #216-7413 216-7413 #216-7414 216-7414 #216-7417 216-7417 #216-7419 216-7419
#217-7432 217-7432 #217-7439 217-7439 #217-7440 217-7440 #217-7441 217-7441 #218-7488
218-7488 #219-7515 219-7515 #219-7518 219-7518 #220-7548 220-7548 #221-7583 221-7583
#221-7586 221-7586 #222-7626 222-7626 #223-7654 223-7654 #224-7685 224-7685 #224-7690
224-7690 #224-7691 224-7691 #224-7696 224-7696 #224-7699 224-7699 #224-7704 224-7704
#225-7747 225-7747 #225-7750 225-7750 #228-7844 228-7844 #228-7847 228-7847 #229-7854
229-7854 #229-7857 229-7857 #229-7863 229-7863 #229-7866 229-7866 #229-7871 229-7871
#229-7879 229-7879 #229-7883 229-7883 #230-7899 230-7899 #230-7902 230-7902 #230-7903
230-7903 #230-7909 230-7909 #233-8005 233-8005 #235-8073 235-8073 #238-8158 238-8158
#238-8159 238-8159 #243-8286 243-8286 #243-8289 243-8289 #243-8297 243-8297 #243-8302
243-8302 #244-8319 244-8319 #244-8320 244-8320 #244-8323 244-8323 #244-8328 244-8328
#246-8400 246-8400 #246-8402 246-8402 #249-8485 249-8485 #249-8488 249-8488 #249-8491
249-8491 #251-8568 251-8568 #251-8571 251-8571 #252-8579 252-8579 #252-8587 252-8587
#252-8600 252-8600 #252-8604 252-8604 #252-8605 252-8605 #257-8733 257-8733 #257-8735
257-8735 #257-8744 257-8744 #257-8750 257-8750 #260-8824 260-8824 #260-8827 260-8827
#262-8891 262-8891 #262-8893 262-8893 #264-8966 264-8966 #264-8968 264-8968 #267-9026
267-9026 #267-9029 267-9029 #267-9035 267-9035 #267-9038 267-9038 #267-9043 267-9043
#270-9129 270-9129 #270-9135 270-9135 #270-9141 270-9141 #270-9145 270-9145 #270-9150
270-9150 #273-9216 273-9216 #273-9218 273-9218 #273-9224 273-9224 #273-9227 273-9227
#273-9231 273-9231 #273-9234 273-9234 #277-9355 277-9355 #277-9357 277-9357 #278-9366
278-9366 #278-9367 278-9367 #278-9369 278-9369 #278-9374 278-9374 #278-9378 278-9378
#278-9381 278-9381 #278-9383 278-9383 #284-9646 284-9646 #285-9658 285-9658 #285-9663
285-9663 #285-9669 285-9669 #285-9673 285-9673 #285-9676 285-9676 #285-9679 285-9679
#286-9694 286-9694 #286-9699 286-9699 #286-9701 286-9701 #287-9715 287-9715 #287-9717
287-9717 #287-9719 287-9719 #287-9721 287-9721 #287-9722 287-9722 #287-9729 287-9729
#287-9731 287-9731 #288-9748 288-9748 #288-9749 288-9749 #288-9757 288-9757 #288-9758
288-9758 #288-9759 288-9759 #288-9768 288-9768 #291-9852 291-9852 #291-9855 291-9855
#291-9857 291-9857 #291-9859 291-9859 #291-9860 291-9860 #291-9865 291-9865 #293-9943
293-9943 #293-9945 293-9945 #293-9947 293-9947 #293-9948 293-9948 #295-10013 295-10013
#295-10019 295-10019 #295-10033 295-10033 #295-10035 295-10035 #296-10051 296-10051 #296-10052
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 33
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
296-10052 #296-10058 296-10058 #298-10121 298-10121 #300-10189 300-10189 #300-10191 300-10191
#302-10252 302-10252 #302-10260 302-10260 #310-10525 310-10525 #310-10527 310-10527 #310-10532
310-10532 #310-10534 310-10534 #310-10539 310-10539 #312-10603 312-10603 #312-10612 312-10612
#315-10691 315-10691 #315-10693 315-10693 #318-10802 318-10802 #318-10804 318-10804 #318-10809
318-10809 #318-10811 318-10811 #321-10939 321-10939 #321-10947 321-10947 #322-10957 322-10957
#322-10962 322-10962 #324-11049 324-11049 #324-11051 324-11051 #324-11053 324-11053 #324-11055
324-11055 #327-11124 327-11124 #327-11126 327-11126 #327-11130 327-11130 #327-11131 327-11131
#327-11132 327-11132 #327-11133 327-11133 #327-11137 327-11137 #327-11142 327-11142 #331-11261
331-11261 #331-11263 331-11263 #331-11267 331-11267 #331-11271 331-11271 #331-11272 331-11272
#331-11273 331-11273 #333-11334 333-11334 #336-11405 336-11405 #336-11408 336-11408 #336-11410
336-11410 #339-11476 339-11476 #339-11477 339-11477 #339-11480 339-11480 #339-11482 339-11482
#339-11485 339-11485 #341-11542 341-11542 #343-11590 343-11590 #343-11592 343-11592 #343-11593
343-11593 #343-11594 343-11594 #343-11602 343-11602 #343-11603 343-11603 #343-11604 343-11604
#347-11704 347-11704 #347-11717 347-11717 #347-11720 347-11720 #347-11722 347-11722 #350-11795
350-11795 #352-11856 352-11856 #352-11857 352-11857 #352-11860 352-11860 #352-11861 352-11861
#356-11972 356-11972 #356-11977 356-11977 #356-11979 356-11979 #356-11980 356-11980 #356-11984
356-11984 #357-11994 357-11994 #357-11996 357-11996 #357-11997 357-11997 #357-12011 357-12011
#357-12012 357-12012 #357-12014 357-12014 #357-12021 357-12021 #358-12030 358-12030 #358-12031
358-12031 #358-12032 358-12032 #360-12109 360-12109 #360-12111 360-12111 #360-12112 360-12112
#360-12116 360-12116 #364-12236 364-12236 #364-12237 364-12237 #369-12407 369-12407 #369-12411
369-12411 #369-12415 369-12415 #369-12422 369-12422 #370-12450 370-12450 #373-12540 373-12540
#373-12541 373-12541 #373-12549 373-12549 #373-12551 373-12551 #376-12634 376-12634 #376-12644
376-12644 #376-12647 376-12647 #376-12649 376-12649 #376-12653 376-12653 #376-12655 376-12655
#378-12705 378-12705 #378-12709 378-12709 #378-12711 378-12711 #378-12714 378-12714 #378-12719
378-12719 #378-12723 378-12723 #379-12760 379-12760 #379-12763 379-12763 #380-12790 380-12790
#380-12793 380-12793 #380-12794 380-12794 #380-12796 380-12796 #380-12798 380-12798 #381-12844
381-12844 #382-12868 382-12868 #385-12936 385-12936 #385-12938 385-12938 #385-12939 385-12939
#385-12946 385-12946 #389-13022 389-13022 #391-13061 391-13061 #391-13063 391-13063 #397-13209
397-13209 #399-13253 399-13253 #399-13255 399-13255 #399-13259 399-13259 #401-13295 401-13295
#405-13419 405-13419 #405-13426 405-13426 #405-13431 405-13431 #409-13567 409-13567 #409-13580
409-13580 #409-13582 409-13582 #416-13790 416-13790 #416-13793 416-13793 #416-13805 416-13805
#416-13807 416-13807 #416-13810 416-13810 #418-13872 418-13872 #418-13876 418-13876 #420-13942
420-13942 #422-14010 422-14010 #426-14099 426-14099 #426-14105 426-14105 #429-14174 429-14174
#429-14178 429-14178 #429-14184 429-14184 #429-14185 429-14185 #429-14187 429-14187 #429-14190
429-14190 #429-14193 429-14193 #431-14261 431-14261 #431-14266 431-14266 #431-14267 431-14267
#431-14271 431-14271 #431-14273 431-14273 #433-14329 433-14329 #436-14406 436-14406 #436-14407
436-14407 #436-14409 436-14409 #436-14410 436-14410 #436-14413 436-14413 #438-14482 438-14482
#441-14543 441-14543 #441-14545 441-14545 #441-14546 441-14546 #442-14575 442-14575 #442-14577
442-14577 #442-14580 442-14580 #445-14669 445-14669 #452-14894 452-14894 #452-14897 452-14897
#452-14900 452-14900 #452-14918 452-14918 #452-14925 452-14925 #455-15026 455-15026 #455-15027
455-15027 #456-15039 456-15039 #456-15041 456-15041 #456-15042 456-15042 #456-15050 456-15050
#456-15052 456-15052 #456-15053 456-15053 #459-15140 459-15140 #459-15145 459-15145 #459-15148
459-15148 #459-15149 459-15149 #459-15150 459-15150 #459-15152 459-15152 #462-15233 462-15233
#462-15234 462-15234 #462-15244 462-15244 #463-15274 463-15274 #463-15276 463-15276 #463-15278
463-15278 #463-15280 463-15280 #463-15286 463-15286 #463-15287 463-15287 #466-15380 466-15380
#466-15381 466-15381 #466-15385 466-15385 #466-15386 466-15386 #466-15390 466-15390 #467-15398
467-15398 #471-15532 471-15532 #476-15748 476-15748 #476-15753 476-15753 #478-15825 478-15825
#479-15847 479-15847 #479-15850 479-15850 #479-15852 479-15852 #480-15895 480-15895 #480-15899
480-15899 #480-15908 480-15908 #481-15937 481-15937 #483-15990 483-15990 #483-15992 483-15992
#488-16120 488-16120 #488-16127 488-16127 #490-16199 490-16199 #490-16203 490-16203 #490-16208
490-16208 #491-16216 491-16216 #491-16217 491-16217 #491-16221 491-16221 #491-16224 491-16224
#495-16340 495-16340 #495-16341 495-16341 #495-16342 495-16342 #497-16382 497-16382 #497-16384
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 34
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
497-16384 #497-16386 497-16386 #497-16388 497-16388 #500-16436 500-16436 #500-16437 500-16437
#500-16438 500-16438 #500-16442 500-16442 #500-16444 500-16444 #500-16451 500-16451 #500-16458
500-16458 #500-16459 500-16459 #500-16460 500-16460 #500-16463 500-16463 #501-16471 501-16471
#501-16476 501-16476 #501-16478 501-16478 #504-16571 504-16571 #506-16657 506-16657 #506-16669
506-16669 #506-16673 506-16673 #506-16674 506-16674 #506-16676 506-16676 #506-16677 506-16677
#506-16679 506-16679 #506-16680 506-16680 #506-16682 506-16682 #509-16775 509-16775 #509-16778
509-16778 #511-16853 511-16853 #511-16855 511-16855 #511-16867 511-16867 #512-16876 512-16876
#512-16878 512-16878 #512-16880 512-16880 #512-16882 512-16882 #512-16883 512-16883 #512-16885
512-16885 #512-16887 512-16887 #512-16889 512-16889 #512-16890 512-16890 #512-16893 512-16893
#512-16898 512-16898 #512-16900 512-16900 #513-16916 513-16916 #516-16991 516-16991 #518-17042
518-17042 #518-17044 518-17044 #520-17090 520-17090 #520-17091 520-17091 #520-17092 520-17092
#520-17096 520-17096 #520-17098 520-17098 #520-17104 520-17104 #520-17106 520-17106 #520-17110
520-17110 #521-17125 521-17125 #521-17126 521-17126 #521-17127 521-17127 #524-17204 524-17204
#526-17255 526-17255 #528-17336 528-17336 #528-17338 528-17338 #528-17341 528-17341 #533-17484
533-17484 #533-17485 533-17485 #533-17487 533-17487 #533-17491 533-17491 #533-17495 533-17495
#533-17497 533-17497 #536-17584 536-17584 #536-17589 536-17589 #537-17607 537-17607 #537-17609
537-17609 #537-17611 537-17611 #537-17614 537-17614 #537-17618 537-17618 #538-17641 538-17641
#538-17643 538-17643 #538-17645 538-17645
$$A = 000100 #345-11660 345-11660 #345-11662 345-11662 #345-11664 345-11664 #345-11666 345-11666 #348-11732
348-11732 #348-11734 348-11734
$$B = 000000 #345-11660 345-11660 #345-11662 345-11662 #345-11664 345-11664 #345-11666 345-11666 #348-11732
348-11732 #348-11734 348-11734
$$C = 000200 #345-11660 345-11660 #345-11662 345-11662 #345-11664 345-11664 #345-11666 345-11666 #348-11732
348-11732 #348-11734 348-11734
$$CMDN = 006723 R #73-2826 73-2826 #73-2827 73-2827 #73-2828 73-2828 #73-2829 73-2829 #73-2830
73-2830 #73-2831 73-2831 #73-2832 73-2832 #73-2833 73-2833 #73-2834 73-2834
#73-2835 73-2835 #73-2836 73-2836 #73-2840 73-2840 #73-2841 73-2841 #73-2842
73-2842 #73-2843 73-2843 #73-2844 73-2844 #73-2845 73-2845 #73-2846 73-2846
#73-2847 73-2847 #73-2848 73-2848 #73-2849 73-2849 #73-2850 73-2850 #73-2851
73-2851 #73-2852 73-2852 #95-3514 95-3514 #95-3515 95-3515 #95-3516 95-3516
#95-3517 95-3517 #95-3518 95-3518 #114-4123 114-4123 #114-4124 114-4124 #114-4125
114-4125 #114-4126 114-4126 #114-4127 114-4127 #114-4128 114-4128 #114-4129 114-4129
#114-4130 114-4130 #175-6008 175-6008 #175-6009 175-6009 #175-6010 175-6010 #175-6011
175-6011 #175-6012 175-6012 #186-6327 186-6327 #186-6328 186-6328 #186-6329 186-6329
#186-6330 186-6330 #186-6331 186-6331 #186-6332 186-6332 #186-6333 186-6333 #186-6334
186-6334 #186-6335 186-6335 #186-6336 186-6336 #186-6338 186-6338 #186-6339 186-6339
#186-6340 186-6340 #186-6341 186-6341 #186-6342 186-6342 #186-6343 186-6343 #186-6344
186-6344 #186-6345 186-6345 #186-6346 186-6346 #186-6347 186-6347 #186-6348 186-6348
#186-6349 186-6349 #186-6350 186-6350 #186-6351 186-6351 #186-6352 186-6352 #186-6353
186-6353 #186-6354 186-6354 #186-6355 186-6355 #186-6356 186-6356 #186-6357 186-6357
#186-6358 186-6358 #254-8655 254-8655 #254-8656 254-8656 #254-8657 254-8657 #254-8661
254-8661 #254-8662 254-8662 #275-9278 275-9278 #275-9279 275-9279 #275-9280 275-9280
#275-9281 275-9281 #275-9282 275-9282 #275-9283 275-9283 #275-9284 275-9284 #275-9285
275-9285 #275-9286 275-9286 #275-9287 275-9287 #275-9288 275-9288 #275-9289 275-9289
#329-11193 329-11193 #329-11194 329-11194 #329-11195 329-11195 #329-11196 329-11196 #329-11197
329-11197 #329-11198 329-11198 #329-11199 329-11199 #329-11200 329-11200 #362-12176 362-12176
#362-12177 362-12177 #362-12178 362-12178 #362-12179 362-12179 #367-12330 367-12330 #367-12331
367-12331 #367-12332 367-12332 #367-12333 367-12333 #367-12334 367-12334 #367-12335 367-12335
#367-12336 367-12336 #367-12337 367-12337 #367-12338 367-12338 #367-12339 367-12339 #367-12340
367-12340 #387-12987 387-12987 #387-12988 387-12988 #395-13169 395-13169 #395-13170 395-13170
#395-13171 395-13171 #395-13172 395-13172 #395-13173 395-13173 #395-13174 395-13174 #395-13175
395-13175 #403-13348 403-13348 #403-13349 403-13349 #403-13350 403-13350 #403-13351 403-13351
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 35
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
#403-13352 403-13352 #403-13353 403-13353 #403-13354 403-13354 #403-13355 403-13355 #403-13356
403-13356 #403-13357 403-13357 #403-13358 403-13358 #403-13359 403-13359 #403-13361 403-13361
#424-14045 424-14045 #424-14046 424-14046 #493-16273 493-16273 #493-16274 493-16274 #493-16275
493-16275 #493-16276 493-16276 #493-16277 493-16277 #493-16278 493-16278 #493-16279 493-16279
#493-16280 493-16280 #493-16281 493-16281 #493-16282 493-16282 #493-16284 493-16284 #493-16286
493-16286
$$D = 000011 #345-11660 345-11660 #345-11662 345-11662 #345-11664 345-11664 #345-11666 345-11666 #348-11732
348-11732 #348-11734 348-11734
$$E = 000016 #345-11660 345-11660 #345-11662 345-11662 #345-11664 345-11664 #345-11666 345-11666 #348-11732
348-11732 #348-11734 348-11734
$$F = 000000 #345-11660 345-11660 #345-11662 345-11662 #345-11664 345-11664 #345-11666 345-11666 #348-11732
348-11732 #348-11734 348-11734
$$$ARG = 000006 #179-6128 179-6128 179-6128 179-6128 179-6128 179-6128 179-6128 179-6128 179-6128
179-6128 179-6128 179-6128 #211-7238 211-7238 #211-7238 211-7238 #211-7238 211-7238
#239-8169 239-8169 #239-8169 239-8169 #239-8169 239-8169 #239-8174 239-8174 #239-8174
239-8174 #239-8174 239-8174 #486-16049 486-16049 #486-16049 486-16049 #486-16049 486-16049
#486-16049 486-16049 #486-16058 486-16058 #486-16063 486-16063
$$$GLB = ****** 71-2786 71-2786 71-2786 71-2786 71-2786 90-3380 90-3380 90-3380 90-3380
90-3380 90-3380 204-6975 204-6975 204-6975 204-6975 204-6975 204-6975 204-6975
204-6975 211-7238 211-7238 211-7238 211-7238 211-7238 211-7238 211-7238 211-7238
239-8169 239-8169 239-8169 239-8169 239-8174 239-8174 239-8174 239-8174 354-11907
354-11907 354-11907 354-11907 354-11907 354-11907 486-16049 486-16049 486-16049 486-16049
486-16049 486-16049 486-16049 486-16049 486-16058 486-16058 486-16058 486-16058 486-16058
486-16058 486-16058 486-16058 486-16063 486-16063 486-16063 486-16063 486-16063 486-16063
486-16063 486-16063 506-16659 506-16659 506-16659 506-16659 506-16659 506-16659 506-16659
506-16659 513-16924 513-16924 513-16924 513-16924 513-16924 513-16924
$$$OST = 000016 #71-2786 71-2786 71-2786 #71-2786 71-2786 71-2786 #71-2786 71-2786 71-2786
#71-2786 71-2786 71-2786 #71-2786 #90-3380 90-3380 90-3380 #90-3380 90-3380
90-3380 #90-3380 90-3380 90-3380 #90-3380 90-3380 90-3380 #90-3380 90-3380
90-3380 #90-3380 #204-6975 204-6975 204-6975 #204-6975 204-6975 204-6975 #204-6975
204-6975 204-6975 #204-6975 204-6975 204-6975 #204-6975 204-6975 204-6975 #204-6975
204-6975 204-6975 #204-6975 204-6975 204-6975 #204-6975 204-6975 204-6975 #204-6975
#211-7238 211-7238 211-7238 #211-7238 211-7238 211-7238 #211-7238 211-7238 211-7238
#211-7238 211-7238 211-7238 #211-7238 211-7238 211-7238 #211-7238 211-7238 211-7238
#211-7238 211-7238 #239-8169 239-8169 239-8169 #239-8169 239-8169 239-8169 #239-8169
239-8169 239-8169 #239-8169 #239-8174 239-8174 239-8174 #239-8174 239-8174 239-8174
#239-8174 239-8174 239-8174 #239-8174 #354-11907 354-11907 354-11907 #354-11907 354-11907
354-11907 #354-11907 354-11907 354-11907 #354-11907 354-11907 354-11907 #354-11907 354-11907
354-11907 #354-11907 #486-16049 486-16049 486-16049 #486-16049 486-16049 486-16049 #486-16049
486-16049 486-16049 #486-16049 486-16049 486-16049 #486-16049 486-16049 486-16049 #486-16049
486-16049 486-16049 #486-16049 486-16049 #486-16058 486-16058 486-16058 #486-16058 486-16058
486-16058 #486-16058 486-16058 486-16058 #486-16058 486-16058 486-16058 #486-16058 486-16058
486-16058 #486-16058 486-16058 486-16058 #486-16058 486-16058 #486-16063 486-16063 486-16063
#486-16063 486-16063 486-16063 #486-16063 486-16063 486-16063 #486-16063 486-16063 486-16063
#486-16063 486-16063 486-16063 #486-16063 486-16063 486-16063 #486-16063 486-16063 #506-16659
506-16659 506-16659 #506-16659 506-16659 506-16659 #506-16659 506-16659 506-16659 #506-16659
506-16659 506-16659 #506-16659 506-16659 506-16659 #506-16659 506-16659 506-16659 #506-16659
506-16659 506-16659 #506-16659 506-16659 506-16659 #506-16659 #513-16924 513-16924 513-16924
#513-16924 513-16924 513-16924 #513-16924 513-16924 513-16924 #513-16924 513-16924 513-16924
#513-16924 513-16924 513-16924 #513-16924
$$$T1 = 000000 #90-3380 90-3380 90-3380 90-3380 #90-3380 90-3380 #179-6128 179-6128 #239-8169
239-8169 239-8169 #239-8169 239-8169 239-8169 #239-8169 239-8169 239-8169 #239-8174
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 36
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
239-8174 239-8174 #239-8174 239-8174 239-8174 #239-8174 239-8174 239-8174 #354-11907
354-11907 354-11907 354-11907 #354-11907 354-11907 #513-16924 513-16924 513-16924 513-16924
#513-16924 513-16924
.ABORT 001522 RG #49-2026 51-2101 51-2101 429-14190 429-14190
.ABRTC 001562 RG #51-2099 73-2827
.ABRT0 001544 RG 49-2028 #49-2034
.APRWD 000000 RG #36-1469 36-1548 *300-10193 391-13058
.ASCID 014222 RG 237-8144 #239-8168
.ASCOD 014232 RG 237-8142 #239-8173
.ATCID 031660 RG 484-16024 #486-16057
.ATLMD = 000033 #21-833
.BRCLK = 005000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.BRMBC 001574 RG #53-2164
.BURST 001600 RG #53-2166 252-8604 252-8604
.CCMDN 000002 RG #36-1471 *92-3442 *92-3446 *281-9535 287-9718 *416-13789 463-15277
.CDIBC = 012174 R #211-7241
.CDIBP = 012172 R #211-7240
.CDINP 012156 RG 209-7175 #211-7237 211-7240 211-7241
.CDOBC = 031654 RG 481-15939 *482-15975 *485-16038 #486-16052
.CDOBP = 031652 RG #486-16051
.CDOFC = 031656 RG #486-16053
.CDOUT 031636 RG 484-16026 #486-16048 486-16051 486-16052 486-16053
.CECLK = 004000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.CESCK 001630 RG #55-2247 93-3476 93-3476 126-4475 126-4475 136-4810 136-4810 243-8289 243-8289
418-13872 418-13872
.CHTAB 001360 RG #43-1811 57-2325 57-2332 58-2362 59-2397 60-2434 61-2463 206-7027 209-7185
225-7741 229-7855 285-9661 331-11259 357-11999 360-12107 413-13719 431-14264
.CIBFL = 000214 G #39-1662 211-7238
.CIBFR 000240 RG #39-1660 39-1662 205-6987 209-7172 211-7238 228-7845 376-12645 376-12654 380-12791
533-17486
.CISTS 000004 RG #36-1473 209-7177 209-7180 211-7238
.CKARG 001712 RG #57-2323 103-3775 103-3775 107-3904 107-3904 110-4008 110-4008 148-5179 148-5179
152-5308 152-5308 161-5563 161-5563 205-6993 205-6993 206-7020 206-7020 206-7030
206-7030 216-7417 216-7417 223-7654 223-7654 229-7857 229-7857 331-11261 331-11261
356-11972 356-11972 356-11984 356-11984 426-14099 426-14099
.CKCOL 001752 RG #58-2360 78-3002 78-3002 86-3243 86-3243 107-3915 107-3915 110-4017 110-4017
.CKCTC 002126 RG #64-2547 462-15233 462-15233 538-17645 538-17645
.CKEOC 002010 RG 51-2100 51-2100 #59-2395 75-2912 75-2912 78-3008 78-3008 90-3374 90-3374
108-3925 108-3925 111-4027 111-4027 146-5104 146-5104 153-5322 153-5322 155-5392
155-5392 158-5486 158-5486 162-5578 162-5578 165-5669 165-5669 167-5742 167-5742
172-5925 172-5925 183-6243 183-6243 190-6458 190-6458 206-7039 206-7039 229-7866
229-7866 235-8073 235-8073 246-8400 246-8400 281-9536 298-10121 298-10121 324-11053
324-11053 331-11267 331-11267 352-11861 352-11861 356-11977 356-11977 360-12112 360-12112
360-12116 360-12116 369-12407 369-12407 373-12541 373-12541 373-12549 373-12549 376-12634
376-12634 380-12798 380-12798 385-12939 385-12939 385-12946 385-12946 391-13063 391-13063
397-13209 397-13209 399-13255 399-13255 401-13295 401-13295 409-13567 409-13567 429-14187
429-14187 431-14267 431-14267 463-15274 463-15274 495-16342 495-16342 506-16657 506-16657
511-16853 511-16853 537-17609 537-17609
.CKEOS 002052 RG #60-2432 84-3161 84-3161 86-3252 86-3252 88-3311 88-3311 217-7440 217-7440
.CKOBJ 002074 RG #61-2461 360-12109 360-12109 380-12794 380-12794 385-12936 385-12936 389-13022 389-13022
405-13419 405-13419 405-13426 405-13426 495-16340 495-16340
.CKRNP 002154 RG #66-2608 331-11271 331-11271 429-14178 429-14178
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 37
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
.CKRUN 002164 RG #66-2613 78-3001 78-3001 80-3081 80-3081 343-11602 343-11602 358-12030 358-12030
431-14261 431-14261 536-17584 536-17584
.CKSYM 002112 RG 57-2324 57-2324 59-2402 59-2402 61-2462 61-2462 #62-2489 62-2492 216-7410
216-7410 229-7854 229-7854 352-11856 352-11856 462-15234 462-15234
.CLDFB 002234 RG #68-2686 267-9029 267-9029 278-9367 278-9367 327-11133 327-11133
.CLDFR 002240 RG #68-2688
.CLDFW 002250 RG 68-2687 68-2687 #68-2693 270-9141 270-9141 273-9218 273-9218
.CLKWD 000010 RG #36-1475 270-9130 *302-10263 303-10276 339-11479 358-12051 500-16440
.CLRCM 025626 RG 73-2828 #405-13418
.CLRFF 002266 RG #70-2761 251-8571 251-8571 262-8891 262-8891 436-14406 436-14406
.CLRMR = 006000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.CLRUN = 010000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.CMDTB 002334 RG #73-2825 92-3441
.CMNDL = 000430 G #39-1677 210-7195
.COBFL = 000204 G #39-1666 485-16039
.COBFR 000454 RG 36-1580 #39-1664 485-16040 486-16049
.COMEF = ****** GX *327-11145 381-12836
.COMMA = 000054 #21-831 357-12001
.COMND 000670 RG #39-1675 39-1677 416-13806
.CONBT = 012000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.CONTC 002556 RG 73-2829 #75-2911
.COSTS 000012 RG #36-1477 484-16028 486-16049
.CSHRG = 164000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.DATE3 = ****** GX 369-12405 *370-12463 506-16684
.DAY = ****** GX *370-12462
.DBGSW 000016 RG #36-1492 179-6123 291-9862
.DEPAR 002660 RG #78-3000 114-4123
.DFBLK 000214 RG #38-1639 193-6576 196-6703 200-6835 241-8239
.DFCOM 002756 RG #80-3080 84-3160 84-3160 86-3242 86-3242 88-3310 88-3310
.DFRB 000222 RG #38-1642 68-2690 193-6541 458-15115
.DFRED 003066 RG 73-2833 #84-3159
.DFWB 000214 RG #38-1640 68-2695 195-6649 *267-9032 *267-9040 *270-9143 273-9219 458-15122
.DFWRT 003172 RG 73-2834 #86-3241
.DFXCT 003252 RG 73-2835 #88-3309
.DIAG1 = 000000 #10-347
.DIAG2 = 000002 #10-348 117-4205 117-4226
.DIAG3 = 000006 #10-350 117-4213 117-4234
.DISCC 003272 RG 73-2831 #90-3373
.DOCMD 003334 RG #92-3433 324-11055 324-11055 416-13810 416-13810
.DOW = ****** GX *370-12454 506-16670
.DPBFR 000020 RG #36-1495 111-4036 112-4070 138-4858
.DPBFX 000026 RG #36-1497 99-3643 99-3648 110-4019
.DPDPB 005736 RG 137-4824 137-4825 #138-4857
.DPETB 003516 RG #95-3513 107-3906 110-4010
.DPEWD 003564 RG #97-3557 105-3823
.DPEWI 003572 RG #97-3561 105-3830
.DPEWN 003600 RG #97-3565 105-3837
.DPEWP 003606 RG #97-3569 105-3844
.DPEWT 003556 RG #97-3553 105-3851
.DPKLD 003654 RG #99-3625 105-3822
.DPKLI 003662 RG #99-3629 105-3829
.DPKLM 005532 RG 112-4064 112-4064 #135-4777 347-11717 347-11717 409-13580 409-13580
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 38
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
.DPKLN 003670 RG #99-3633 105-3836
.DPKLP 003676 RG #99-3637 105-3843
.DPKLT 003646 RG #99-3621 105-3850
.DPOBJ 003736 RG #101-3705 103-3774
.DPOEL 003766 RG #101-3717 114-4124
.DPOKL 003760 RG #101-3713 114-4125
.DPOSA 004022 RG 103-3777 #103-3781
.DPOSC 003776 RG 73-2830 #103-3772
.DPOSD 004032 RG 95-3514 #105-3818 114-4126
.DPOSE 004102 RG 101-3719 103-3786 #107-3903
.DPOSI 004042 RG 95-3515 #105-3825 114-4127
.DPOSN 004052 RG 95-3516 #105-3832 114-4128
.DPOSP 004062 RG 95-3517 #105-3839 114-4129
.DPOST 004264 RG 101-3715 103-3785 #110-4007
.DPOSZ 004072 RG 95-3518 #105-3846 114-4130
.DPOTB 004604 RG 101-3706 #114-4122
.DPSEE 004154 RG 97-3584 #108-3924
.DPSTE 004334 RG 99-3651 #111-4026
.DPTRK 005774 RG 135-4784 135-4784 #140-4939
.DREG 000230 RG #38-1645 *118-4243 118-4246 119-4288 193-6576 196-6703 200-6835
.DRLTC = 015000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.DSACF = 066000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.DSIOJ = 065000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.DTAB 005662 R 135-4779 #137-4823
.DTBUF 011756 RG 204-6974 206-7068 #207-7097
.DTCID 031674 RG 484-16030 #486-16062
.DTDI1 000230 RG #38-1646
.DTDI2 000232 RG #38-1648
.DTDI3 000236 RG #38-1652
.DTDW1 004742 RG 55-2248 55-2248 #117-4221 170-5841 170-5841 170-5847 170-5847 173-5956 243-8302
243-8302 251-8568 251-8568 252-8579 252-8579 252-8605 252-8605 262-8893 262-8893
436-14413 436-14413
.DTDW2 004750 RG #117-4225 173-5955
.DTDW3 004770 RG #117-4233 173-5954
.DTSTA 004760 RG #117-4229 128-4547 128-4547 173-5953 243-8286 243-8286
.DTSTS 000234 RG #38-1650
.DTSTW = 000004 #10-349 117-4209 117-4230
.DTTRK 005070 RG 118-4250 #122-4353
.DWDW1 004666 RG #117-4200
.DWDW2 004674 RG #117-4204 333-11334 333-11334
.DWDW3 004714 RG #117-4212 333-11336
.DWSTA 004704 RG #117-4208
.EBCLK 005210 RG #126-4473 170-5840 170-5840
.EBPCK 005304 RG 93-3477 #128-4546
.EDELA 000034 RG #36-1507 97-3554 *108-3930 130-4587 130-4592 *153-5326 177-6048 291-9858
.EDEWD 005326 RG 97-3558 97-3558 #130-4585 177-6052 177-6052
.EDEWI 005340 RG 97-3562 97-3562 #130-4590 177-6056 177-6056
.EDEWN 005340 RG 97-3566 97-3566 #130-4591 177-6060 177-6060
.EDEWP 005326 RG 97-3570 97-3570 #130-4586 177-6064 177-6064
.EDKLA 000036 RG #36-1509 111-4030 132-4661 138-4858 138-4876 162-5582 181-6170
.EDKLC 005450 RG 132-4633 132-4633 132-4638 132-4638 132-4643 132-4643 132-4649 132-4649 #132-4659
.EDKLD 005376 RG 99-3626 99-3626 #132-4642 181-6174 181-6174
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 39
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
.EDKLI 005414 RG 99-3630 99-3630 #132-4648 181-6178 181-6178
.EDKLN 005364 RG 99-3634 99-3634 #132-4637 181-6182 181-6182
.EDKLP 005352 RG 99-3638 99-3638 #132-4632 181-6186 181-6186
.EDKLX 000044 RG #36-1511 99-3622 110-4015 132-4660 161-5570 *243-8293 *243-8294 244-8341
.EIOJA = 067000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.ELDDW 000052 RG #36-1513 97-3574 *108-3931
.ELEDW 000054 RG #36-1515 *153-5329
.ELNCK 012176 RG #213-7298 214-7344 214-7344
.ETAB 005652 R 135-4768 #137-4817
.EXAD 006156 RG #144-5043 186-6327
.EXADX 006164 RG #144-5047 186-6328
.EXAMA 006410 RG 148-5181 #148-5185
.EXAMC 006364 RG 73-2832 #148-5176
.EXAMD 006420 RG #150-5222 175-6008 186-6354
.EXAME 006470 RG 148-5190 #152-5307 188-6420
.EXAMF 006614 RG #155-5391 158-5494 158-5494 186-6345
.EXAMI 006430 RG #150-5229 175-6009 186-6355
.EXAMK 006720 RG #158-5485 186-6346
.EXAMN 006440 RG #150-5236 175-6010 186-6356
.EXAMP 006450 RG #150-5243 175-6011 186-6357
.EXAMT 006774 RG 148-5189 #161-5562 188-6424
.EXAMZ 006460 RG #150-5250 175-6012 186-6358
.EXARR 006172 RG #144-5051 186-6329
.EXARX 006200 RG #144-5055 186-6330
.EXBFR 000056 RG #36-1517 111-4045 112-4067 112-4071 138-4876 162-5581 244-8342
.EXBRR 006206 RG #144-5059 186-6331
.EXBRX 006214 RG #144-5063 186-6332
.EXCRA 007134 RG #164-5639 186-6339
.EXCRL 007142 RG #164-5643 186-6340
.EXCTC 007250 RG 73-2851 #167-5736
.EXCTF 007324 RG #169-5812 345-11657 347-11720 347-11720 347-11722 347-11722
.EXDPB 005750 RG 137-4818 137-4819 #138-4875
.EXDPM 005570 RG 135-4769 135-4769 135-4780 135-4780 #136-4794
.EXDRA 007150 RG #164-5647 186-6341
.EXDTE 007536 RG #172-5924 186-6342
.EXEBS 006222 RG #144-5067 186-6333
.EXECT 007402 RG 167-5749 #170-5835
.EXETB 007654 RG 152-5310 161-5565 #175-6007
.EXEWD 007722 RG 150-5227 #177-6051
.EXEWI 007730 RG 150-5234 #177-6055
.EXEWN 007736 RG 150-5241 #177-6059
.EXEWP 007744 RG 150-5248 #177-6063
.EXEWT 007714 RG 150-5255 #177-6047
.EXFER 007156 RG #164-5651 186-6344
.EXFMR 006230 RG #144-5071 186-6334
.EXITP 007754 RG 76-2938 90-3377 #179-6121 210-7226 238-8163 244-8332 298-10122 352-11865 360-12137
409-13583 429-14175 485-16043 513-16918
.EXKLD 010036 RG 150-5226 #181-6173
.EXKLI 010044 RG 150-5233 #181-6177
.EXKLM 005500 RG 111-4049 111-4049 112-4069 112-4069 #135-4766 162-5590 162-5590 243-8297 243-8297
.EXKLN 010052 RG 150-5240 #181-6181
.EXKLP 010060 RG 150-5247 #181-6185
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 40
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
.EXKLT 010030 RG 150-5254 #181-6169
.EXMEE 006516 RG #153-5321 177-6066
.EXMEL 010564 RG 186-6343 #188-6418
.EXMKL 010574 RG 186-6349 #188-6422
.EXMPI 010070 RG 158-5493 158-5493 #183-6242 186-6347
.EXMQR 006236 RG #144-5075 186-6335
.EXMTB 010242 RG #186-6326 186-6337 188-6410 190-6460
.EXMTE 007026 RG #162-5577 181-6188
.EXOBJ 010536 RG 148-5178 #188-6409
.EXREG 010602 RG 186-6348 #190-6457
.EXSBR 007164 RG #164-5655 186-6352
.EXSCR 007172 RG #164-5659 186-6353
.EXTRK 005762 RG 135-4773 135-4773 #140-4934
.EXVAB 006244 RG #145-5082 186-6338
.EXVMA 006252 RG #145-5086 158-5492 158-5492 186-6350
.EXVMH 006260 RG #145-5090 186-6351
.EXVPC 006266 RG #145-5094 158-5490 158-5490 186-6336
.FEMOD = ****** GX 66-2622 *360-12133 429-14188 462-15264 463-15284 504-16572
.FREAD 010644 RG 84-3168 84-3168 126-4482 126-4482 #193-6537 244-8323 244-8323 278-9374 278-9374
300-10189 300-10189 302-10260 302-10260 307-10448 310-10525 310-10525 310-10532 310-10532
310-10539 310-10539 312-10612 312-10612 315-10691 315-10691 318-10802 318-10802 318-10809
318-10809 322-10957 322-10957
.FRTRK 030036 RG 193-6553 193-6553 #458-15112
.FWRIT 010740 RG 86-3255 86-3255 #195-6647 260-8827 260-8827 264-8968 264-8968 267-9035 267-9035
267-9043 267-9043 270-9145 270-9145 270-9150 270-9150 273-9227 273-9227 273-9234
273-9234 278-9369 278-9369 327-11137 327-11137 327-11142 327-11142 528-17341 528-17341
.FWTRK 030056 RG 196-6678 196-6678 #458-15119
.FXCT 011074 RG 53-2171 70-2767 70-2767 75-2923 75-2923 88-3313 126-4480 126-4480 #199-6769
249-8488 249-8488 257-8735 257-8735 264-8970 277-9355 277-9355 278-9378 278-9378
278-9383 278-9383 418-13876 418-13876 422-14010 422-14010 433-14329 433-14329 438-14482
438-14482
.FXTRK 030076 RG 200-6810 200-6810 #458-15126
.GFNR = 102000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.GTCMD 011256 RG #202-6893 416-13807 416-13807
.GTDAT 011312 RG #204-6970 369-12411 369-12411 378-12709 378-12709 378-12723 378-12723
.GTELN 012252 RG 97-3580 97-3580 107-3911 107-3911 107-3916 107-3916 152-5315 152-5315 #214-7338
391-13061 391-13061 431-14266 431-14266
.GTEXP 012532 RG 216-7414 216-7414 217-7439 217-7439 #218-7487 224-7704 224-7704
.GTFCT 012740 RG 220-7548 220-7548 221-7583 221-7583 #222-7617 224-7685 224-7685 224-7690 224-7690
224-7696 224-7696
.GTKLA 012302 RG 110-4016 110-4016 161-5571 161-5571 #215-7371 429-14184 429-14184 536-17589 536-17589
537-17607 537-17607
.GTKLN 012334 RG 80-3086 80-3086 86-3251 86-3251 99-3649 99-3649 110-4020 110-4020 167-5741
167-5741 #216-7408 324-11049 324-11049 399-13253 399-13253
.GTLIN 011776 RG 202-6897 202-6897 205-6991 205-6991 #209-7170 228-7847 228-7847 376-12647 376-12647
376-12655 376-12655 380-12793 380-12793 533-17487 533-17487
.GTNBR 013234 RG 206-7017 206-7017 206-7032 206-7032 222-7626 222-7626 #225-7732 229-7863 229-7863
230-7903 230-7903
.GTNUM 012334 RG 78-3007 78-3007 214-7343 214-7343 215-7372 215-7372 #216-7407 373-12540 373-12540
.GTR50 013734 RG #233-7985 352-11857 352-11857 352-11860 352-11860
.GTTIM 013366 RG #228-7838 369-12415 369-12415 378-12714 378-12714 379-12763 379-12763
.GTTRM 012626 RG 218-7488 218-7488 219-7515 219-7515 #220-7547
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 41
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
.HALTC 014042 RG 73-2836 #235-8072
.INCHC 000064 RG #36-1519 206-7082 *209-7173 *210-7194 210-7195 210-7201 *225-7733 *225-7743 226-7765
230-7918 376-12657
.INEXT 014530 R 243-8296 #244-8340
.INICL = 070000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.INICP 014052 RG 36-1584 #237-8132
.INIC0 014540 RG 238-8159 238-8159 #246-8401
.INIT 014242 RG #241-8236
.INITC 014534 RG 73-2840 #246-8399
.INKLF 014272 RG #243-8282 246-8402 246-8402
.IRADX 000066 RG #36-1521 204-6971 *204-6972 *206-7081 223-7659 *224-7675 *224-7679 *224-7683 *224-7686
225-7737 228-7839 *228-7840 *230-7917 *295-10021 324-11043 *324-11044 *324-11050 399-13245
*399-13246 *399-13260
.IRLTC = 014000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.JUMPC 026456 RG 73-2841 #429-14173
.KLCON 014546 RG 75-2927 75-2927 170-5857 170-5857 #249-8477
.KLDFR 010726 RG *193-6538 193-6539 #193-6575 286-9684 458-15114
.KLDFW 011062 RG *195-6648 196-6665 196-6668 #196-6702 286-9688 458-15121
.KLDFX 011244 RG *199-6770 199-6771 199-6773 #200-6834 286-9692 458-15128
.KLFLG = ****** GX *55-2256 *55-2258 66-2618 75-2913 78-3009 80-3095 80-3097 111-4028 *137-4829
*137-4833 158-5487 162-5579 169-5813 170-5837 *196-6673 199-6779 *199-6781 199-6785
*199-6787 *199-6794 *199-6800 *241-8244 243-8290 249-8479 257-8748 260-8828 262-8884
*277-9356 *278-9384 343-11587 347-11701 357-12010 416-13791 420-13939 420-13941 431-14269
537-17612
.KLGO 014554 RG #249-8480 260-8829
.KLHLT 014644 RG 78-3012 78-3012 80-3098 80-3098 #251-8566 260-8824 260-8824 262-8886 264-8966
264-8966 357-12011 357-12011 431-14271 431-14271
.KLINC 000070 RG #36-1523 132-4644 132-4650 373-12542 373-12550 509-16766
.KLMTB 014774 RG #254-8654 380-12795
.KLMT1 015020 RG #254-8660 376-12648
.KLNFD = ****** GX *380-12807 *380-12808 511-16864 512-16879
.KLNFT = ****** GX *380-12806 512-16881
.KLNMD = ****** GX 360-12130 *380-12802 *380-12809 381-12828 *381-12831 511-16857 512-16895 512-16902 512-16905
.KLNPB = ****** GX 381-12839
.KLNPE = ****** GX 381-12846
.KLNPW = ****** GX 380-12812 *381-12832
.KLNSW = ****** GX *90-3375 360-12128 376-12640 *381-12833 511-16860 513-16914
.KLNTD = ****** GX *380-12804 *380-12805 512-16886
.KLNTT = ****** GX *380-12803 512-16888
.KLRLD = ****** GX *397-13210 524-17206
.KLRST 015036 RG 78-3017 78-3017 244-8328 244-8328 #257-8725 350-11795 350-11795 357-12021 357-12021
.KLST 015170 RG #260-8822 429-14193 429-14193
.KLSTP 015220 RG 49-2030 49-2030 235-8074 244-8319 244-8319 #262-8883 420-13942 420-13942
.KLXCT 015304 RG 169-5821 169-5821 170-5838 170-5838 #264-8965
.LCRDL = 052000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.LCRDR = 051000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.LCRM1 = 057000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.LCRM2 = 056000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.LCRM3 = 055000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.LCRM4 = 054000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.LCRM5 = 053000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.LDAR = 077000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 42
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
.LDBRC 015330 RG #267-9025
.LDBRG 015334 RG 53-2169 53-2169 #267-9027
.LDBRL = 043000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.LDBRR = 042000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.LDCK1 = 046000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.LDCK2 = 047000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.LDCLK 015432 RG #270-9128 327-11130 327-11130 336-11408 336-11408 339-11482 339-11482 358-12050
.LDCRA 015530 RG #273-9213 436-14409 436-14409
.LDDIS = 045000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.LDPAR 015450 RG #270-9134 327-11131 327-11131 336-11410 336-11410 339-11485 339-11485 358-12056
.LDRJD = 064000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.LDRJV = 063000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.LDRM1 = 060000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.LDRM2 = 061000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.LDRM3 = 062000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.LDSEL = 044000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.LDZFL 000100 RG #36-1531 *122-4354 *146-5102 *459-15139 *472-15568 *474-15657 476-15746 *476-15751 479-15856
*479-15860 *509-16776
.LGLWD 000076 RG #36-1529 *92-3444 93-3460 *93-3471 *101-3710 *188-6414 *331-11266 *405-13434 *416-13808
.MEMFL 000102 RG #36-1533 103-3773 148-5177 *385-12950 516-16993
.MEMRS = 076000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.MON = ****** GX *370-12460
.MONTB 015644 RG 206-7022 #275-9277
.MRCLR 015756 RG #277-9352 327-11132 327-11132
.MTDPB 002322 RG 70-2763 #71-2785
.NOERR = ****** GX *55-2254 *75-2930 *418-13877 *422-14007 *429-14195
.NOHLT = ****** GX *70-2765 *249-8498 *257-8753 *350-11796 *409-13568
.NOTSW 000104 RG #36-1535 360-12105 364-12254 365-12279 369-12403 373-12534 376-12635 381-12852 385-12934
*389-13023 391-13059 393-13127 397-13210 399-13251 401-13297 405-13420 *405-13422 *405-13427
.NSETB 016124 RG #280-9424 284-9636
.NULLC 016466 RG 73-2826 #281-9534
.ORADX 000106 RG #36-1537 *295-10022 466-15375 *466-15376 *467-15399 472-15572 472-15576 473-15611 473-15615
474-15660 474-15664 475-15699 475-15703 479-15849 490-16195 *490-16196 *491-16225 509-16770
*509-16771 *509-16779
.PARER 016500 RG #284-9621 295-10035 295-10035
.PCAB1 = 150000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.PCAB2 = 151000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.PCAB3 = 152000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.PCAB4 = 153000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.PEWRD 000110 RG #36-1539 312-10606
.PITAB 000112 RG #36-1541 315-10687 315-10710
.PSCWD 000116 RG #36-1543 270-9136 *302-10264 303-10282 339-11478 358-12057 520-17094
.PTDIE 017230 RG 291-9854 #293-9934
.PTOAT 017130 RG 36-1564 #291-9849
.PTTRP 017306 RG 37-1632 #295-10006
.QUITC 017530 RG 73-2849 #298-10120
.RCRM1 = 147000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.RCRM2 = 146000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.RCRM3 = 145000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.RCRM4 = 144000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.RCSPF = 141000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.RDADR 020022 RG 144-5044 #307-10412
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 43
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
.RDADX 020030 RG 144-5048 #307-10416
.RDAPR 017540 RG 112-4075 112-4075 #300-10185
.RDARR 020036 RG 144-5052 #307-10420
.RDARX 020044 RG 144-5056 #307-10424
.RDBRR 020052 RG 144-5060 #307-10428
.RDBRX 020060 RG 144-5064 #307-10432
.RDCPP 017602 RG 244-8320 244-8320 #302-10251 339-11477 339-11477 357-12014 357-12014 358-12032 358-12032
500-16437 500-16437 520-17091 520-17091
.RDCRA 020416 RG 164-5640 #317-10769
.RDCRL 020424 RG 164-5644 #317-10773
.RDDRA 020432 RG 164-5648 #317-10777
.RDEBS 020066 RG 144-5068 #307-10436
.RDFER 020440 RG 164-5652 #317-10781
.RDFLG 020112 RG 155-5394 155-5394 #310-10520
.RDFMR 020074 RG 144-5072 #307-10440
.RDIPE 020236 RG 288-9749 288-9749 #312-10602
.RDJ14 = 134000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.RDJ71 = 135000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.RDMAB = 133000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.RDMQR 020102 RG 144-5076 #307-10444
.RDPI 020320 RG 183-6246 183-6246 #315-10684
.RDSBR 020446 RG 164-5656 #317-10785
.RDSCR 020454 RG 164-5660 #317-10789
.RDVAB 020662 RG 145-5083 #321-10928
.RDVMA 020670 RG 145-5087 #321-10932
.RDVMH 020676 RG 145-5091 #321-10936
.RDVPC 020654 RG 145-5095 #321-10924
.RDXSV 000120 RG #36-1545 *204-6971 206-7081 *228-7839 230-7917 295-10021 295-10022 *324-11043 324-11050
*399-13245 399-13260 *509-16770 509-16779
.REGRW 005056 RG *117-4201 *117-4205 *117-4209 *117-4213 *117-4215 117-4216 117-4217 *117-4222 *117-4226
*117-4230 *117-4234 *118-4241 118-4244 #119-4284 122-4358 122-4362 122-4368 122-4372
.REGSV 021556 RG 140-4935 140-4940 270-9129 270-9135 291-9852 295-10013 302-10252 312-10603 321-10939
#341-11538
.RELWD 000122 RG #36-1547 223-7641 *391-13064 518-17043
.REPTC 021034 RG 73-2843 #324-11042
.RESET 021126 RG #327-11122 336-11405 336-11405 339-11480 339-11480
.RESTB 021254 RG #329-11192 331-11262
.RESTC 021336 RG 73-2844 #331-11257
.RESTD 021420 RG 136-4811 136-4811 327-11124 327-11124 #333-11332 343-11591 343-11599
.RESTI 021444 RG #336-11402 343-11604 343-11604
.RESTP 021504 RG 273-9216 273-9216 331-11273 331-11273 #339-11474
.RNDPB 022270 RG *352-11862 352-11863 #354-11906
.RPTCT 000124 RG #36-1549 399-13256 416-13809 509-16773
.RPTPT 000132 RG #36-1551 *92-3439 399-13258
.RSALL 021614 RG 329-11193 #343-11586
.RSAPR 021712 RG 329-11194 343-11592 343-11592 #345-11642
.RSDTE 021662 RG 329-11195 #343-11598
.RSERR 021720 RG 329-11196 #345-11646
.RSPAG 021774 RG 329-11199 343-11593 343-11593 #347-11700
.RSTIN 021666 RG 329-11197 #343-11601
.RSTIO 021726 RG 329-11198 #345-11650
.RSTKL 022134 RG 84-3180 86-3257 112-4076 112-4076 146-5112 146-5112 155-5395 155-5395 158-5496
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 44
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
165-5674 165-5674 169-5823 183-6247 183-6247 190-6469 295-10019 295-10019 343-11596
347-11725 #350-11792 358-12034 500-16438 500-16438 520-17092 520-17092
.RSTPI 021734 RG 329-11200 343-11594 343-11594 #345-11654
.RUNCM 022162 RG 73-2842 73-2845 #352-11855
.R50TB 001320 RG #42-1747 488-16122
.SCCEC 023050 RG #365-12268 367-12331
.SCCED 023056 RG #365-12272 367-12332
.SCCEE 023064 RG #365-12276 367-12333
.SCCLK 022306 RG #356-11971 403-13348
.SCCLN 022732 RG #364-12214 367-12330
.SCCOM 022636 RG #360-12125 362-12176
.SCCON 022554 RG #360-12104 403-13349
.SCCOO 022622 RG #360-12117 362-12177
.SCCOP 022630 RG 360-12108 #360-12121 362-12178
.SCCOT 022700 RG 360-12110 #362-12175
.SCCOU 022666 RG #360-12136 362-12179
.SCCRF 022734 RG #364-12216 367-12337
.SCCRH 022740 RG #364-12220 367-12338
.SCCRQ 022746 RG #364-12224 367-12339
.SCCRS 022754 RG #364-12228 367-12340
.SCCSE 022766 RG #364-12234 367-12334
.SCCSI 023016 RG #364-12245 367-12335
.SCCSM 023022 RG #364-12249 367-12336
.SCCTB 023106 RG 358-12049 #367-12329
.SCDAT 023212 RG #369-12402 403-13350
.SCFSS 022320 RG #356-11976 403-13351
.SCINC 023562 RG #373-12533 403-13352
.SCKLN 023644 RG #376-12633 403-13353
.SCMEL 025066 RG #385-12942 387-12987
.SCMEM 025034 RG #385-12933 403-13354
.SCMKL 025100 RG #385-12947 387-12988
.SCMTB 025112 RG 385-12937 #387-12986
.SCNOT 025130 RG #389-13021 403-13355
.SCOFS 025144 RG #391-13057 403-13356
.SCPAL 025176 RG #393-13100 395-13169
.SCPAR 025204 RG #393-13104 395-13170
.SCPCR 025212 RG #393-13108 395-13171
.SCPDR 025220 RG #393-13112 395-13172
.SCPEN 025226 RG #393-13116 395-13173
.SCPFM 025234 RG #393-13120 395-13174
.SCPFS 025242 RG 356-11980 356-11980 #393-13124 395-13175
.SCPST 022342 RG #356-11983 403-13357
.SCPTB 025270 RG 358-12055 #395-13168
.SCRLD 025344 RG #397-13208 403-13358
.SCRPT 025362 RG #399-13244 403-13359
.SCTRK 025460 RG #401-13294 403-13361
.SEAMB 016566 RG #285-9656 410-13627
.SECES 017026 RG #288-9747 410-13629
.SECLK = 003000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.SEFRF 016654 RG #286-9683 410-13631
.SEFWF 016662 RG #286-9687 410-13632
.SEFXF 016670 RG #286-9691 410-13633
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 45
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
.SEILC 016612 RG #285-9666 410-13635
.SEILS 016612 RG #285-9667 410-13636
.SEIPC 016612 RG #285-9668 410-13637
.SENSK 016566 RG #285-9657 410-13639
.SETCM 025646 RG 73-2846 #405-13425
.SETC0 025656 RG 389-13024 #405-13428
.SETMR = 007000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.SETRN = 011000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.SETTB 025506 RG #403-13347 405-13430
.SHIFT 025702 RG 267-9038 267-9038 #407-13491
.SHUTC 025732 RG 73-2847 #409-13566
.SPACE = 000040 #21-832 42-1759 60-2436 62-2491 205-7001 210-7212 216-7415 285-9671 471-15525
477-15761 477-15762 477-15763 477-15764 477-15766 477-15767 477-15769 477-15770 477-15771
477-15773 477-15774 477-15779 477-15783
.SPETB 026024 RG 284-9623 #410-13626
.SSCAN 026114 RG #413-13705 413-13711 462-15244 462-15244 533-17491 533-17491 533-17495 533-17495
.SSCLK = 002000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.SSM = ****** GX *370-12455 378-12716 506-16678
.SSTTB 000174 RG #37-1625 37-1634 *108-3932 *108-3943 *153-5325 *153-5328 237-8140 *291-9854 *291-9869
293-9938
.START 026156 RG 36-1554 #416-13785
.STCLF 026306 RG 277-9357 277-9357 #418-13873
.STCLK 026300 RG 75-2920 75-2920 170-5844 170-5844 249-8491 249-8491 257-8750 257-8750 #418-13870
436-14410 436-14410 537-17614 537-17614
.STPCL = 000000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.STPKL 026330 RG 112-4074 112-4074 146-5110 146-5110 155-5393 155-5393 158-5488 158-5488 165-5671
165-5671 169-5819 169-5819 183-6245 183-6245 190-6459 190-6459 331-11272 331-11272
343-11590 343-11590 343-11603 343-11603 347-11704 347-11704 358-12031 358-12031 #420-13938
500-16436 500-16436 520-17090 520-17090 537-17611 537-17611
.STPXC 026354 RG 53-2165 53-2165 170-5863 170-5863 252-8587 252-8587 252-8600 252-8600 267-9026
267-9026 278-9366 278-9366 327-11126 327-11126 339-11476 339-11476 #422-14003 436-14407
436-14407 528-17336 528-17336
.STRCL = 001000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.STRTB 026412 RG #424-14044 426-14104
.STRTC 026430 RG 73-2848 #426-14098
.STRTT 026466 RG 424-14045 426-14101 #429-14177
.STRTU 026564 RG 424-14046 #431-14260
.STRTV 000134 RG #36-1553 238-8160 291-9870 295-10042 364-12243 463-15294
.STRUN 026636 RG 170-5867 170-5867 249-8485 249-8485 257-8733 257-8733 257-8744 257-8744 #433-14325
.STUCD 026656 RG 49-2036 49-2036 431-14273 431-14273 #436-14402
.SVESP 000136 RG #36-1555 *237-8133 416-13786 463-15293
.SVKLF 000140 RG #36-1557 *55-2255 *78-3016 *78-3018 *80-3097 *158-5495 *169-5822 *244-8318 257-8727
257-8736 *257-8756 295-10017 *343-11595 *347-11724 350-11793 *350-11798 *357-12013 *416-13788
*420-13941 *538-17650
.SYNXC 026760 RG 126-4490 252-8590 278-9381 278-9381 #438-14478 528-17338 528-17338
.TCRLF 031524 RG 84-3178 84-3178 108-3944 111-4056 111-4056 146-5119 146-5119 153-5336 155-5415
162-5597 165-5681 173-5948 173-5948 184-6278 209-7179 209-7179 238-8158 238-8158
284-9649 291-9855 291-9855 291-9860 291-9860 293-9943 293-9943 293-9948 293-9948
295-10033 295-10033 296-10052 296-10052 459-15152 459-15152 463-15276 463-15276 480-15896
482-15977 #483-15987 500-16463 500-16463 506-16680 506-16680 509-16780 512-16883 512-16883
512-16890 512-16890 518-17045 521-17132 533-17497 533-17497
.TFCHR 031456 RG 202-6903 202-6903 416-13805 416-13805 #481-15936
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 46
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
.TPADD 027362 RG 132-4651 132-4651 219-7501 225-7750 225-7750 #448-14780 452-14918 452-14918
.TPCLR 027234 RG 68-2697 68-2697 206-7029 206-7029 216-7413 216-7413 230-7902 230-7902 321-10947
321-10947 373-12551 373-12551 399-13259 399-13259 #444-14630 452-14900 452-14900 479-15847
479-15847
.TPCMP 027304 RG 112-4072 112-4072 442-14575 442-14575 #446-14706 537-17618 537-17618 538-17641 538-17641
.TPCOM 027244 RG 224-7691 224-7691 #445-14661 445-14669 445-14669
.TPDEC 027414 RG 93-3466 93-3466 132-4634 132-4634 #449-14820 456-15041 456-15041 537-17617
.TPDIV 027000 RG 221-7569 229-7871 229-7871 #441-14541 479-15850 479-15850
.TPINC 027402 RG 132-4639 132-4639 442-14580 442-14580 445-14670 #449-14813 456-15052 456-15052 537-17620
.TPMUL 027452 RG 221-7573 225-7747 225-7747 #452-14892
.TPNEG 027254 RG 224-7699 224-7699 #445-14668
.TPSHI 027636 RG 217-7432 217-7432 273-9224 273-9224 273-9231 273-9231 300-10191 300-10191 310-10527
310-10527 310-10534 310-10534 315-10693 315-10693 318-10804 318-10804 318-10811 318-10811
322-10962 322-10962 #454-14970 456-15039 456-15039 456-15050 456-15050
.TPSHL 027702 RG 221-7565 #455-15021
.TPSUB 027426 RG 132-4645 132-4645 219-7505 442-14577 442-14577 #450-14851
.TPTST 027340 RG 93-3458 93-3458 93-3467 93-3467 216-7419 216-7419 217-7441 217-7441 324-11051
324-11051 429-14185 429-14185 441-14546 441-14546 #447-14745 452-14894 452-14894 452-14897
452-14897 452-14925 452-14925 455-15027 455-15027 456-15042 456-15042 456-15053 456-15053
476-15748 476-15748 478-15825 478-15825
.TPXTN 027264 RG 441-14543 441-14543 441-14545 441-14545 #445-14673 455-15026 455-15026
.TRKWD 000142 RG #36-1560 118-4248 135-4771 135-4782 193-6551 196-6676 200-6808 *401-13301 526-17257
.TRPEC 000146 RG #36-1565 *295-10012 295-10034
.TRPIP 000150 RG #36-1567 *293-9935 *295-10007 *295-10028 295-10036 *295-10041 *296-10056
.TRPPC 000152 RG #36-1569 *291-9850 *295-10010
.TRPPS 000154 RG #36-1571 *291-9851 *295-10011
.TRPSB 000156 RG #36-1573 *295-10009 295-10015 295-10023 295-10038
.TRPTV 000160 RG #36-1575 *49-2029 295-10025 *295-10029
.TRP4V 000144 RG #36-1563 108-3932 153-5325
.TSCAN 030176 RG 92-3443 92-3443 101-3707 101-3707 107-3907 107-3907 110-4011 110-4011 152-5311
152-5311 161-5566 161-5566 188-6411 188-6411 206-7023 206-7023 331-11263 331-11263
357-11996 357-11996 360-12111 360-12111 376-12649 376-12649 380-12796 380-12796 385-12938
385-12938 405-13431 405-13431 426-14105 426-14105 #462-15232 495-16341 495-16341
.TYCHR 031472 RG 108-3936 108-3936 153-5332 153-5332 285-9663 285-9663 285-9676 285-9676 285-9679
285-9679 287-9717 287-9717 287-9721 287-9721 466-15390 466-15390 471-15532 471-15532
479-15863 480-15908 480-15908 481-15937 481-15937 #482-15972 483-15990 483-15990 483-15992
483-15992 488-16127 488-16127 490-16208 490-16208 491-16221 491-16221
.TYCOL 030604 RG #471-15503 491-16217 491-16217
.TYCOM 030614 RG 288-9758 288-9758 #471-15508 500-16459 500-16459 521-17126 521-17126
.TYDAT 030440 RG #466-15374 506-16676 506-16676 512-16880 512-16880 512-16887 512-16887
.TYELA 030672 RG 108-3934 108-3934 153-5330 153-5330 466-15380 466-15380 467-15398 467-15398 #472-15567
491-16216 491-16216 491-16224 491-16224 518-17044 518-17044
.TYELN 030676 RG 108-3939 108-3939 122-4370 122-4370 153-5335 153-5335 165-5680 165-5680 173-5947
173-5947 291-9859 291-9859 293-9947 293-9947 #472-15569
.TYINI 031610 RG 416-13790 416-13790 #485-16037
.TYKLA 031016 RG 111-4051 111-4051 141-4963 141-4963 162-5592 162-5592 #474-15656
.TYKLN 031066 RG 84-3177 84-3177 111-4055 111-4055 141-4967 141-4967 146-5118 146-5118 162-5596
162-5596 459-15150 459-15150 #475-15696 509-16778 509-16778
.TYLIN 031420 RG 122-4376 122-4376 141-4975 141-4975 155-5399 155-5399 172-5933 172-5933 293-9945
293-9945 296-10051 296-10051 463-15280 463-15280 463-15287 463-15287 #480-15894 497-16384
497-16384 497-16388 497-16388 500-16442 500-16442 500-16451 500-16451 501-16476 501-16476
501-16483 504-16581 506-16669 506-16669 506-16689 511-16867 511-16867 512-16876 512-16876
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 47
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
512-16898 512-16898 513-16916 513-16916 513-16921 516-16997 520-17096 520-17096 520-17104
520-17104 524-17210 526-17261
.TYMIN 030624 RG 466-15381 466-15381 466-15386 466-15386 #471-15513
.TYMSF 031426 RG 205-6990 205-6990 228-7844 228-7844 376-12644 376-12644 376-12653 376-12653 380-12790
380-12790 #480-15898
.TYMSG 031434 RG 84-3170 84-3170 122-4357 122-4357 122-4360 122-4360 141-4961 141-4961 146-5114
146-5114 155-5406 155-5406 155-5413 155-5413 165-5676 165-5676 173-5943 173-5943
183-6250 183-6250 184-6262 184-6262 184-6264 184-6264 184-6269 184-6269 184-6274
184-6274 286-9701 286-9701 287-9715 287-9715 287-9719 287-9719 287-9724 288-9757
288-9757 288-9768 288-9768 291-9857 291-9857 364-12236 364-12236 378-12705 378-12705
378-12711 378-12711 378-12719 378-12719 379-12760 379-12760 416-13793 416-13793 459-15140
459-15140 463-15278 463-15278 466-15385 466-15385 480-15895 480-15895 480-15899 480-15899
#480-15902 497-16382 497-16382 497-16386 497-16386 500-16444 500-16444 500-16458 500-16458
501-16471 501-16471 501-16478 501-16478 504-16571 504-16571 506-16673 506-16673 506-16682
506-16682 509-16775 509-16775 511-16855 511-16855 512-16878 512-16878 512-16885 512-16885
512-16893 512-16893 512-16900 512-16900 516-16991 516-16991 518-17042 518-17042 520-17098
520-17098 520-17106 520-17106 520-17110 520-17110 521-17125 521-17125 524-17204 524-17204
526-17255 526-17255 533-17484 533-17484
.TYNCM 031152 RG 473-15623 475-15712 #476-15740
.TYNUM 031270 RG 476-15753 476-15753 #478-15814 479-15842
.TYOBC 000162 RG #36-1577 *482-15976 *485-16039
.TYOBP 000164 RG #36-1579 482-15973 *482-15974 *485-16040
.TYOUT 031552 RG 481-15941 482-15980 #484-16023 533-17485 533-17485
.TYP3D 030742 RG 84-3173 84-3173 184-6267 184-6267 184-6272 184-6272 184-6277 184-6277 286-9699
286-9699 459-15145 459-15145 #473-15608
.TYR50 031710 RG 287-9731 287-9731 #488-16114
.TYSLS 030634 RG 84-3174 84-3174 111-4052 111-4052 141-4964 141-4964 146-5115 146-5115 162-5593
162-5593 165-5677 165-5677 173-5944 173-5944 459-15148 459-15148 #471-15518
.TYSPC 030644 RG 84-3175 84-3175 108-3937 108-3937 111-4053 111-4053 122-4361 122-4361 141-4965
141-4965 141-4968 141-4968 146-5116 146-5116 153-5333 153-5333 162-5594 162-5594
165-5678 165-5678 173-5941 173-5941 173-5945 173-5945 287-9722 287-9722 288-9759
288-9759 459-15149 459-15149 463-15286 463-15286 467-15400 #471-15523 491-16226 500-16460
500-16460 506-16674 506-16674 506-16677 506-16677 521-17127 521-17127
.TYTIM 031762 RG #490-16194 506-16679 506-16679 512-16882 512-16882 512-16889 512-16889
.TYUPA 030654 RG 285-9673 285-9673 #471-15528
.T50TB 001350 RG #42-1761 233-7988 488-16116
.VERNO = ****** GX 497-16387
.VFYFL 000166 RG #36-1581 112-4065
.WHATB 032120 RG #493-16272 495-16339
.WHATC 032232 RG 73-2850 #495-16338
.WHATV 032256 RG 493-16286 #497-16380
.WHCON 032556 RG 360-12134 493-16274 #504-16569
.WHDAT 032626 RG 370-12466 493-16275 #506-16656
.WHINC 033040 RG 373-12553 493-16276 #509-16764
.WHKLN 033126 RG 382-12871 493-16277 #511-16852
.WHMEM 033452 RG 385-12951 493-16278 #516-16989
.WHOFS 033504 RG 391-13065 493-16279 #518-17040
.WHRLD 033730 RG 397-13211 493-16281 #524-17202
.WHRPT 033052 RG 399-13261 493-16282 #509-16769
.WHTCA 032334 RG 358-12053 #500-16439
.WHTCL 032320 RG 493-16273 #500-16435
.WHTPA 033544 RG 358-12059 #520-17093
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 48
SYMBOL CROSS REFERENCE CREF
SYMBOL VALUE REFERENCES
.WHTPS 033530 RG 493-16280 #520-17089
.WHTRK 033762 RG 401-13302 493-16284 #526-17253
.WRAR1 034020 RG #528-17337
.WRMBX = 071000 #133-4714 #191-6508 #194-6615 #197-6742 #428-14169 #535-17559
.WRTAR 034014 RG 78-3015 78-3015 #528-17335
.XFRCK 034042 RG 84-3162 84-3162 #531-17399
.XFWCK 034060 RG 86-3244 86-3244 #531-17406
.XFXCK 034076 RG 88-3312 88-3312 #531-17413
.YEAR = ****** GX *370-12458
.YESNO 034130 RG 364-12237 364-12237 #533-17480
.ZEROC 034234 RG 73-2852 #536-17583
..DTP2 = ****** GX 49-2037 49-2037 409-13582 409-13582 429-14196
..STIN = ****** GX 381-12844 381-12844 382-12868 382-12868
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 49
MACRO CROSS REFERENCE CREF
MACRO NAME REFERENCES
ALUN$ #236-8105 239-8169 239-8174
CALL #4-116 #49-2030 #49-2036 #49-2037 #51-2100 #51-2101 #53-2165 #53-2169 #55-2248 #57-2324
#59-2402 #61-2462 #68-2687 #68-2697 #70-2767 #75-2912 #75-2920 #75-2923 #75-2927 #78-3001
#78-3002 #78-3007 #78-3008 #78-3012 #78-3015 #78-3017 #80-3081 #80-3086 #80-3098 #84-3160
#84-3161 #84-3162 #84-3168 #84-3170 #84-3173 #84-3174 #84-3175 #84-3177 #84-3178 #86-3242
#86-3243 #86-3244 #86-3251 #86-3252 #86-3255 #88-3310 #88-3311 #88-3312 #90-3374 #92-3443
#93-3456 #93-3458 #93-3466 #93-3467 #93-3476 #97-3558 #97-3562 #97-3566 #97-3570 #97-3580
#99-3626 #99-3630 #99-3634 #99-3638 #99-3649 #101-3707 #103-3775 #107-3904 #107-3907 #107-3911
#107-3915 #107-3916 #108-3925 #108-3934 #108-3936 #108-3937 #108-3939 #110-4008 #110-4011 #110-4016
#110-4017 #110-4020 #111-4027 #111-4049 #111-4051 #111-4052 #111-4053 #111-4055 #111-4056 #112-4064
#112-4069 #112-4072 #112-4074 #112-4075 #112-4076 #122-4357 #122-4360 #122-4361 #122-4370 #122-4376
#126-4475 #126-4480 #126-4482 #128-4547 #132-4633 #132-4634 #132-4638 #132-4639 #132-4643 #132-4645
#132-4649 #132-4651 #135-4769 #135-4773 #135-4780 #135-4784 #136-4810 #136-4811 #140-4935 #140-4940
#141-4961 #141-4963 #141-4964 #141-4965 #141-4967 #141-4968 #141-4975 #146-5104 #146-5110 #146-5111
#146-5112 #146-5114 #146-5115 #146-5116 #146-5118 #146-5119 #148-5179 #152-5308 #152-5311 #152-5315
#153-5322 #153-5330 #153-5332 #153-5333 #153-5335 #155-5392 #155-5393 #155-5394 #155-5395 #155-5399
#155-5406 #155-5413 #158-5486 #158-5488 #158-5490 #158-5492 #158-5493 #158-5494 #161-5563 #161-5566
#161-5571 #162-5578 #162-5590 #162-5592 #162-5593 #162-5594 #162-5596 #165-5669 #165-5671 #165-5672
#165-5674 #165-5676 #165-5677 #165-5678 #165-5680 #167-5741 #167-5742 #169-5819 #169-5821 #170-5838
#170-5840 #170-5841 #170-5844 #170-5847 #170-5857 #170-5863 #170-5867 #172-5925 #172-5929 #172-5933
#173-5941 #173-5943 #173-5944 #173-5945 #173-5947 #173-5948 #177-6052 #177-6056 #177-6060 #177-6064
#181-6174 #181-6178 #181-6182 #181-6186 #183-6243 #183-6245 #183-6246 #183-6247 #183-6250 #184-6262
#184-6264 #184-6267 #184-6269 #184-6272 #184-6274 #184-6277 #188-6411 #190-6458 #190-6459 #190-6465
#193-6553 #196-6678 #200-6810 #202-6897 #202-6903 #205-6990 #205-6991 #205-6993 #206-7017 #206-7020
#206-7023 #206-7029 #206-7030 #206-7032 #206-7039 #209-7179 #214-7343 #214-7344 #215-7372 #216-7410
#216-7413 #216-7414 #216-7417 #216-7419 #217-7432 #217-7439 #217-7440 #217-7441 #218-7488 #219-7515
#219-7518 #220-7548 #221-7583 #221-7586 #222-7626 #223-7654 #224-7685 #224-7690 #224-7691 #224-7696
#224-7699 #224-7704 #225-7747 #225-7750 #228-7844 #228-7847 #229-7854 #229-7857 #229-7863 #229-7866
#229-7871 #229-7879 #229-7883 #230-7899 #230-7902 #230-7903 #230-7909 #233-8005 #235-8073 #238-8158
#238-8159 #243-8286 #243-8289 #243-8297 #243-8302 #244-8319 #244-8320 #244-8323 #244-8328 #246-8400
#246-8402 #249-8485 #249-8488 #249-8491 #251-8568 #251-8571 #252-8579 #252-8587 #252-8600 #252-8604
#252-8605 #257-8733 #257-8735 #257-8744 #257-8750 #260-8824 #260-8827 #262-8891 #262-8893 #264-8966
#264-8968 #267-9026 #267-9029 #267-9035 #267-9038 #267-9043 #270-9129 #270-9135 #270-9141 #270-9145
#270-9150 #273-9216 #273-9218 #273-9224 #273-9227 #273-9231 #273-9234 #277-9355 #277-9357 #278-9366
#278-9367 #278-9369 #278-9374 #278-9378 #278-9381 #278-9383 #284-9646 #285-9658 #285-9663 #285-9669
#285-9673 #285-9676 #285-9679 #286-9694 #286-9699 #286-9701 #287-9715 #287-9717 #287-9719 #287-9721
#287-9722 #287-9729 #287-9731 #288-9748 #288-9749 #288-9757 #288-9758 #288-9759 #288-9768 #291-9852
#291-9855 #291-9857 #291-9859 #291-9860 #291-9865 #293-9943 #293-9945 #293-9947 #293-9948 #295-10013
#295-10019 #295-10033 #295-10035 #296-10051 #296-10052 #296-10058 #298-10121 #300-10189 #300-10191 #302-10252
#302-10260 #310-10525 #310-10527 #310-10532 #310-10534 #310-10539 #312-10603 #312-10612 #315-10691 #315-10693
#318-10802 #318-10804 #318-10809 #318-10811 #321-10939 #321-10947 #322-10957 #322-10962 #324-11049 #324-11051
#324-11053 #324-11055 #327-11124 #327-11126 #327-11130 #327-11131 #327-11132 #327-11133 #327-11137 #327-11142
#331-11261 #331-11263 #331-11267 #331-11271 #331-11272 #331-11273 #333-11334 #336-11405 #336-11408 #336-11410
#339-11476 #339-11477 #339-11480 #339-11482 #339-11485 #341-11542 #343-11590 #343-11592 #343-11593 #343-11594
#343-11602 #343-11603 #343-11604 #347-11704 #347-11717 #347-11720 #347-11722 #350-11795 #352-11856 #352-11857
#352-11860 #352-11861 #356-11972 #356-11977 #356-11979 #356-11980 #356-11984 #357-11994 #357-11996 #357-11997
#357-12011 #357-12012 #357-12014 #357-12021 #358-12030 #358-12031 #358-12032 #360-12109 #360-12111 #360-12112
#360-12116 #364-12236 #364-12237 #369-12407 #369-12411 #369-12415 #369-12422 #370-12450 #373-12540 #373-12541
#373-12549 #373-12551 #376-12634 #376-12644 #376-12647 #376-12649 #376-12653 #376-12655 #378-12705 #378-12709
#378-12711 #378-12714 #378-12719 #378-12723 #379-12760 #379-12763 #380-12790 #380-12793 #380-12794 #380-12796
#380-12798 #381-12844 #382-12868 #385-12936 #385-12938 #385-12939 #385-12946 #389-13022 #391-13061 #391-13063
#397-13209 #399-13253 #399-13255 #399-13259 #401-13295 #405-13419 #405-13426 #405-13431 #409-13567 #409-13580
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 50
MACRO CROSS REFERENCE CREF
MACRO NAME REFERENCES
#409-13582 #416-13790 #416-13793 #416-13805 #416-13807 #416-13810 #418-13872 #418-13876 #420-13942 #422-14010
#426-14099 #426-14105 #429-14174 #429-14178 #429-14184 #429-14185 #429-14187 #429-14190 #429-14193 #431-14261
#431-14266 #431-14267 #431-14271 #431-14273 #433-14329 #436-14406 #436-14407 #436-14409 #436-14410 #436-14413
#438-14482 #441-14543 #441-14545 #441-14546 #442-14575 #442-14577 #442-14580 #445-14669 #452-14894 #452-14897
#452-14900 #452-14918 #452-14925 #455-15026 #455-15027 #456-15039 #456-15041 #456-15042 #456-15050 #456-15052
#456-15053 #459-15140 #459-15145 #459-15148 #459-15149 #459-15150 #459-15152 #462-15233 #462-15234 #462-15244
#463-15274 #463-15276 #463-15278 #463-15280 #463-15286 #463-15287 #466-15380 #466-15381 #466-15385 #466-15386
#466-15390 #467-15398 #471-15532 #476-15748 #476-15753 #478-15825 #479-15847 #479-15850 #479-15852 #480-15895
#480-15899 #480-15908 #481-15937 #483-15990 #483-15992 #488-16120 #488-16127 #490-16199 #490-16203 #490-16208
#491-16216 #491-16217 #491-16221 #491-16224 #495-16340 #495-16341 #495-16342 #497-16382 #497-16384 #497-16386
#497-16388 #500-16436 #500-16437 #500-16438 #500-16442 #500-16444 #500-16451 #500-16458 #500-16459 #500-16460
#500-16463 #501-16471 #501-16476 #501-16478 #504-16571 #506-16657 #506-16669 #506-16673 #506-16674 #506-16676
#506-16677 #506-16679 #506-16680 #506-16682 #509-16775 #509-16778 #511-16853 #511-16855 #511-16867 #512-16876
#512-16878 #512-16880 #512-16882 #512-16883 #512-16885 #512-16887 #512-16889 #512-16890 #512-16893 #512-16898
#512-16900 #513-16916 #516-16991 #518-17042 #518-17044 #520-17090 #520-17091 #520-17092 #520-17096 #520-17098
#520-17104 #520-17106 #520-17110 #521-17125 #521-17126 #521-17127 #524-17204 #526-17255 #528-17336 #528-17338
#528-17341 #533-17484 #533-17485 #533-17487 #533-17491 #533-17495 #533-17497 #536-17584 #536-17589 #537-17607
#537-17609 #537-17611 #537-17614 #537-17618 #538-17641 #538-17643 #538-17645
CALLR #4-125 #53-2171 #76-2938 #84-3180 #86-3257 #88-3313 #90-3377 #93-3477 #97-3584 #99-3651
#101-3711 #101-3715 #101-3719 #103-3779 #103-3782 #107-3908 #108-3944 #110-4012 #118-4250 #126-4490
#148-5183 #148-5186 #152-5312 #153-5336 #155-5415 #158-5496 #161-5567 #162-5597 #165-5681 #167-5749
#169-5823 #177-6066 #181-6188 #184-6278 #188-6416 #190-6469 #210-7226 #235-8074 #238-8163 #252-8590
#260-8829 #262-8886 #264-8970 #281-9536 #284-9649 #287-9724 #295-10030 #298-10122 #307-10448 #331-11268
#333-11336 #343-11591 #343-11596 #343-11599 #345-11657 #347-11725 #352-11865 #357-12017 #357-12022 #358-12034
#360-12113 #360-12134 #360-12137 #370-12466 #373-12553 #382-12871 #385-12940 #385-12951 #389-13024 #391-13065
#397-13211 #399-13261 #401-13302 #405-13435 #409-13583 #426-14106 #429-14196 #445-14670 #467-15400 #485-16043
#491-16226 #495-16343 #501-16483 #504-16581 #506-16689 #509-16780 #513-16918 #513-16921 #516-16997 #518-17045
#521-17132 #524-17210 #526-17261
CLEF$S #54-2213 55-2253 #63-2524 64-2548 #236-8105 238-8151 238-8152 238-8153 #375-12629 381-12838
COMND$ #5-183 73-2826 73-2827 73-2828 73-2829 73-2830 73-2831 73-2832 73-2833 73-2834
73-2835 73-2836 73-2840 73-2841 73-2842 73-2843 73-2844 73-2845 73-2846 73-2847
73-2848 73-2849 73-2850 73-2851 73-2852 95-3514 95-3515 95-3516 95-3517 95-3518
114-4123 114-4124 114-4125 114-4126 114-4127 114-4128 114-4129 114-4130 175-6008 175-6009
175-6010 175-6011 175-6012 186-6327 186-6328 186-6329 186-6330 186-6331 186-6332 186-6333
186-6334 186-6335 186-6336 186-6338 186-6339 186-6340 186-6341 186-6342 186-6343 186-6344
186-6345 186-6346 186-6347 186-6348 186-6349 186-6350 186-6351 186-6352 186-6353 186-6354
186-6355 186-6356 186-6357 186-6358 254-8655 254-8656 254-8657 254-8661 254-8662 275-9278
275-9279 275-9280 275-9281 275-9282 275-9283 275-9284 275-9285 275-9286 275-9287 275-9288
275-9289 329-11193 329-11194 329-11195 329-11196 329-11197 329-11198 329-11199 329-11200 362-12176
362-12177 362-12178 362-12179 367-12330 367-12331 367-12332 367-12333 367-12334 367-12335 367-12336
367-12337 367-12338 367-12339 367-12340 387-12987 387-12988 395-13169 395-13170 395-13171 395-13172
395-13173 395-13174 395-13175 403-13348 403-13349 403-13350 403-13351 403-13352 403-13353 403-13354
403-13355 403-13356 403-13357 403-13358 403-13359 403-13361 424-14045 424-14046 493-16273 493-16274
493-16275 493-16276 493-16277 493-16278 493-16279 493-16280 493-16281 493-16282 493-16284 493-16286
DIR$ #55-2253 55-2253 #64-2548 64-2548 #69-2738 70-2763 #89-3348 90-3376 #115-4162 118-4244
#133-4712 136-4802 #178-6099 #179-6128 179-6128 #179-6129 179-6129 #191-6506 193-6539 #194-6613
196-6665 #197-6740 199-6771 #204-6968 #204-6975 204-6975 #209-7168 209-7175 #236-8105 #237-8140
237-8140 237-8142 237-8144 #238-8151 238-8151 #238-8152 238-8152 #238-8153 238-8153 #238-8154
238-8154 #243-8283 243-8283 #351-11830 352-11863 #381-12838 381-12838 #382-12869 382-12869 #422-14005
422-14005 #484-16021 484-16024 484-16026 484-16030 #506-16659 506-16659 #511-16850 513-16917 #535-17557
538-17639
ERCON$ #5-173
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 51
MACRO CROSS REFERENCE CREF
MACRO NAME REFERENCES
ERROR$ #5-155 53-2174 55-2259 58-2368 58-2371 59-2409 66-2632 76-2942 81-3106 93-3480
108-3947 112-4083 112-4086 112-4089 118-4259 126-4493 128-4552 132-4672 137-4830 137-4834
137-4837 137-4840 153-5339 162-5600 167-5752 170-5872 193-6558 196-6685 200-6816 207-7086
207-7089 207-7092 207-7095 210-7229 210-7232 215-7379 217-7460 223-7667 224-7707 226-7769
226-7772 230-7921 230-7924 244-8335 244-8338 252-8610 262-8903 324-11059 343-11607 348-11729
353-11879 353-11882 353-11885 358-12040 358-12043 358-12046 360-12140 371-12470 371-12473 371-12476
371-12479 377-12674 377-12677 377-12680 377-12684 379-12779 429-14199 436-14423 436-14426 443-14597
464-15299 464-15302 464-15305 531-17421 531-17424 538-17655 538-17658
ERR$ #55-2253 #64-2548 #70-2763 #90-3376 #118-4244 #136-4802 #179-6128 #179-6129 #193-6539 #196-6665
#199-6771 #204-6975 #209-7175 #237-8140 #237-8142 #237-8144 #238-8151 #238-8152 #238-8153 #238-8154
#243-8283 #352-11863 #381-12838 #382-12869 #422-14005 #484-16024 #484-16026 #484-16030 #506-16659 #513-16917
#538-17639
EXCH$ #6-218
EXIT$S #178-6099 179-6129
FATAL$ #5-164
GTIM$S #204-6968 #204-6975 #505-16630 #506-16659
IKL$ #8-246
IOKL$ #8-274 #345-11660 #345-11662 #345-11664 #345-11666 #348-11732 #348-11734
KLDR$ #191-6506 193-6576
KLDW$ #194-6613 196-6703
KLDX$ #197-6740 200-6835
MOV$ #55-2253 55-2253 #64-2548 64-2548 #179-6128 #179-6128 179-6128 179-6128 179-6128 179-6128
#204-6975 204-6975 #237-8140 237-8140 237-8140 #238-8151 238-8151 #238-8152 238-8152 #238-8153
238-8153 #238-8154 238-8154 #243-8283 243-8283 #381-12838 381-12838 #382-12869 382-12869 #422-14005
422-14005 #506-16659 506-16659
MRKT$ #69-2738 71-2786
MVB$ #179-6128 179-6128
NBL$ #239-8169 239-8169 #239-8174 239-8174
NSERR$ #6-195 #280-9425 #280-9427 #280-9429 #280-9430 #280-9431 #280-9432 #280-9433 #280-9434 #280-9435
#280-9440 #280-9441 #280-9442 #280-9443 #280-9444 #280-9445 #280-9446 #280-9447 #280-9449 #280-9450
#280-9451 #280-9452 #280-9453 #280-9454 #280-9456 #280-9457 #280-9458 #280-9459 #280-9460 #280-9461
#280-9463 #280-9464 #280-9465 #280-9466 #280-9467 #280-9469 #280-9471 #280-9472 #280-9473 #280-9474
#280-9475 #280-9476 #280-9478 #280-9479 #280-9481 #280-9483 #280-9485 #280-9486 #280-9487 #280-9488
#280-9490 #280-9491 #280-9493 #280-9495 #280-9497 #280-9499 #280-9501
OFF$ #71-2786 71-2786 71-2786 71-2786 71-2786 71-2786 #90-3380 90-3380 90-3380 90-3380
90-3380 90-3380 90-3380 #204-6975 204-6975 204-6975 204-6975 204-6975 204-6975 204-6975
204-6975 204-6975 #211-7238 211-7238 211-7238 211-7238 211-7238 211-7238 211-7238 211-7238
211-7238 #239-8169 239-8169 239-8169 239-8169 239-8169 #239-8174 239-8174 239-8174 239-8174
239-8174 #354-11907 354-11907 354-11907 354-11907 354-11907 354-11907 354-11907 #486-16049 486-16049
486-16049 486-16049 486-16049 486-16049 486-16049 486-16049 486-16049 #486-16058 486-16058 486-16058
486-16058 486-16058 486-16058 486-16058 486-16058 486-16058 #486-16063 486-16063 486-16063 486-16063
486-16063 486-16063 486-16063 486-16063 486-16063 #506-16659 506-16659 506-16659 506-16659 506-16659
506-16659 506-16659 506-16659 506-16659 #513-16924 513-16924 513-16924 513-16924 513-16924 513-16924
513-16924
PARVR$ #35-1440 42-1770 42-1770
POP #4-131 #49-2039 #59-2405 #66-2626 #68-2698 #70-2768 #78-3016 #80-3100 #84-3171 #86-3254
#97-3582 #107-3918 #108-3940 #108-3941 #111-4050 #111-4054 #112-4062 #122-4377 #126-4489 #135-4787
#141-4976 #158-5495 #162-5591 #162-5595 #165-5679 #169-5820 #169-5822 #173-5946 #190-6466 #196-6681
#200-6813 #206-7012 #206-7025 #206-7080 #210-7200 #217-7446 #217-7454 #219-7517 #221-7585 #223-7648
#223-7656 #224-7686 #225-7753 #226-7763 #230-7914 #230-7916 #233-8013 #233-8014 #241-8245 #244-8329
#249-8500 #252-8589 #257-8755 #262-8900 #267-9044 #273-9236 #278-9386 #284-9648 #286-9695 #287-9730
#291-9850 #291-9851 #291-9864 #296-10057 #300-10195 #303-10294 #310-10545 #315-10699 #318-10816 #327-11144
BIGPARSER CREATED BY MACRO ON 13-JAN-78 AT 09:24 PAGE 52
MACRO CROSS REFERENCE CREF
MACRO NAME REFERENCES
#336-11412 #339-11487 #341-11546 #343-11595 #347-11723 #347-11724 #352-11862 #357-12013 #373-12543 #373-12544
#373-12545 #380-12801 #380-12803 #380-12804 #380-12805 #380-12806 #380-12807 #380-12808 #381-12824 #399-13257
#407-13505 #418-13878 #422-14011 #433-14330 #436-14420 #438-14483 #442-14581 #442-14584 #442-14592 #452-14927
#453-14938 #453-14939 #453-14940 #453-14942 #454-14992 #456-15056 #456-15057 #459-15154 #462-15267 #462-15269
#467-15399 #471-15533 #476-15755 #479-15848 #479-15855 #480-15912 #483-15993 #488-16128 #488-16132 #491-16215
#491-16225 #501-16479 #528-17342 #534-17508 #537-17616
PRDP$ #133-4712 #138-4858 #535-17557 #538-17661
PREX$ #133-4712 #138-4876
PUSH #4-137 #49-2027 #49-2028 #59-2401 #66-2609 #66-2614 #66-2618 #68-2689 #68-2694 #70-2764
#75-2913 #78-3009 #84-3167 #86-3249 #92-3435 #92-3437 #92-3438 #97-3579 #103-3774 #107-3914
#108-3928 #108-3929 #111-4041 #111-4042 #111-4044 #111-4045 #111-4046 #122-4355 #126-4474 #135-4767
#135-4778 #141-4949 #146-5109 #148-5178 #158-5487 #162-5581 #162-5587 #165-5670 #165-5673 #169-5813
#169-5818 #169-5828 #170-5837 #172-5930 #190-6464 #196-6667 #202-6896 #204-6973 #205-6995 #206-7019
#209-7171 #216-7409 #217-7438 #219-7512 #219-7513 #221-7580 #221-7581 #223-7640 #223-7659 #225-7734
#225-7737 #225-7748 #228-7841 #229-7869 #229-7874 #233-7986 #241-8237 #243-8285 #249-8478 #251-8567
#257-8726 #260-8823 #262-8889 #267-9028 #273-9215 #277-9353 #284-9622 #286-9684 #286-9688 #286-9692
#287-9727 #288-9750 #291-9853 #293-9937 #295-10014 #300-10186 #302-10253 #310-10521 #315-10685 #318-10798
#318-10806 #321-10944 #327-11123 #336-11403 #339-11475 #339-11478 #339-11479 #341-11539 #343-11587 #347-11701
#347-11705 #347-11706 #347-11711 #347-11713 #347-11714 #352-11859 #357-12008 #357-12010 #376-12642 #407-13492
#409-13570 #409-13572 #409-13573 #409-13574 #409-13576 #409-13577 #418-13874 #422-14006 #433-14327 #436-14405
#438-14480 #441-14542 #442-14578 #452-14893 #452-14905 #452-14923 #454-14971 #455-15022 #455-15024 #458-15113
#458-15114 #458-15115 #458-15120 #458-15121 #458-15122 #458-15127 #458-15128 #462-15237 #462-15238 #462-15240
#466-15375 #471-15504 #471-15509 #471-15514 #471-15519 #471-155