Trailing-Edge
-
PDP-10 Archives
-
klad_sources
-
klad.sources/klddt.seq
There are no other files named klddt.seq in the archive.
;DDQDB
IDENTIFICATION
--------------
PRODUCT CODE: AH-7139L-DD
DIAGNOSTIC CODE: DDQDB
PRODUCT NAME: DDQDBL0 DECSYSTEM10
DIAGNOSTIC DDT
VERSION: 0.12
DATE RELEASED: MAY 1978
MAINTAINED BY: DIAGNOSTIC ENGINEERING
AUTHOR: JOHN R. KIRCHOFF
COPYRIGHT (C) 1975, 1978
DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A
SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE INCLUSION
OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR ANY OTHER
COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE
TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH SYSTEM AND TO ONE WHO
AGREES TO THESE LICENSE TERMS. TITLE TO AND OWNERSHIP OF THE
SOFTWARE SHALL AT ALL TIMES REMAIN IN DIGITAL EQUIPMENT
CORPORATION.
THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
EQUIPMENT CORPORATION.
DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE
USE OR RELIABILITY OF ITS SOFTWARE IN EQUIPMENT WHICH IS NOT
SUPPLIED BY DIGITAL EQUIPMENT CORPORATION.
MAINDEC-10-DDQDB.TXT (KLDDT)
PAGE 1 SEQ 0002
TABLE OF CONTENTS
-----------------
1.0 ABSTRACT
FULL DESCRIPTIONS AND OPERATING INSTRUCTIONS FOR KLDDT
ARE PROVIDED IN THE "DDT-10 PROGRAMMERS REFERENCE MANUAL".
KLDDT IS A DERIVITIVE OF THIS WITH THE APPROPRIATE CHANGES
MADE FOR OPERATION ON THE KL10 PROCESSOR.
2.0 HELP FILE
3.0 HISTORY FILE
4.0 LISTING
;KLDDT.HLP VER 0.12 5-MAY-78
SEQ 0003
1. TYPE-OUT MODES
$S SYMBOLIC INSTRUCTIONS
$C NUMERIC
$F FLOATING POINT
$T ASCII TEXT
$6T SIXBIT TEXT
$5T RADIX50
$H HALFWORDS
$NO BYTES
2. ADDRESS MODES
$R RELATIVE TO SYMBOLIC ADDRESS
$A ABSOLUTE NUMERIC ADDRESS
3. RADIX CHANGE
$NR N=RADIX
4. EXAMINING STORAGE WORDS
ADR/ OPEN AND EXAMINE
ADR! OPEN BUT INHIBIT TYPEOUT
ADR[ OPEN AND EXAMINE AS A NUMBER
ADR] OPEN AND EXAMINE AS SYMBOLIC INSTRUCTION
; RETYPE LAST QUANTITY
5. RELATED STORAGE WORDS
^ EXAMINE ADR-1
TAB EXAMINE LOCATION SPECIFIED BY ADDRESS
\ EXAMINE LOCATION SPECIFIED BY ADDRESS BUT DON'T CHANGE POINTER
CR CLOSE CURRENTLY OPEN LOCATION
6. RETYPING IN MODES OTHER THAN PREVAILING OR TEMPORARY
= REPEAT LAST TYPEOUT AS A NUMBER
_ REPEAT LAST TYPEOUT AS A SYMBOLIC INSTRUCTION
/ TYPEOUT LOCATION POINTED TO BUT DON'T CHANGE POINTER
[ TYPEOUT LOCATION POINTED TO AS A NUMBER
] TYPEOUT LOCATION POINTED TO AS A SYMBOLIC INSTRUCTION
LF EXAMINE ADR+1
;KLDDT.HLP VER 0.12 5-MAY-78
SEQ 0004
7. TYPING IN
INST TYPE IN SYMBOLIC INSTRUCTION
#,,# TYPE IN HALF WORDS
# TYPE IN OCTAL
#. TYPE IN DECIMAL
#.# TYPE IN FLOATING POINT
"/A/ TYPE IN ASCII
"A$ TYPE IN ONE ASCII CHAR
$"/A/ TYPE IN SIXBIT
$"A$ TYPE IN ONE SIXBIT CHAR
8. SYMBOLS
NAME$: OPEN PROGRAM SYMBOL TABLE
N<SYM: INSERT SYMBOL WITH VALUE N
SYM: INSERT SYMBOL WITH VALUE OF LOCATION POINTER
SYM$$K DELETE A SYMBOL FROM SYMBOL TABLE
SYM$K KILL A SYMBOL FOR TYPEOUT
$D PERFORM $K ON LAST SYMBOL TYPED OUT
SYM# DECLARE A SYMBOL WHOSE VALUE IS TO BE DEFINED LATER
? TYPE OUT A LIST OF UNDEFINED SYMBOLS
9. SPECIAL DDT SYMBOLS
. REPRESENTS THE ADDRESS OF THE LOCATION POINTER
$Q REPRESENTS THE LAST QUANTITY TYPED
$$Q REPRESENTS THE LAST QUANTITY TYPED, HALVES REVERSED
@ THE INDIRECT BIT
$M THE ADDRESS OF THE SEARCH MASK REGISTER
$I THE ADDRESS OF THE SAVED FLAGS, ETC.
$NB THE POINTERS ASSOCIATED WITH THE NTH BREAKPOINT
10. ARITHMETIC OPERATORS
+ ADDITION
- SUBTRACTION
* MULTIPLICATION
' DIVISION
;KLDDT.HLP VER 0.12 5-MAY-78
SEQ 0005
11. FIELD DELIMITERS IN SYMBOLIC TYPE IN
SPACE DELIMITS OP-CODE FIELDS
, DELIMITS ACCUMULATOR FIELD
L,,R DELIMIT HALF WORDS
() DELIMIT INDEX REGISTER
@ INDICATE INDIRECT ADDRESSING
12. BREAKPOINTS
ADR$NB SET A SPECIFIC BREAKPOINT
ADR$B SET THE NEXT BREAKPOINT
ADR$$B SET A BREAKPOINT WITH AUTO PROCEED
X,,ADR$B SET A BREAKPOINT WHICH WILL PRINT ADDRESS X
0$NB REMOVE A SPECIFIC BREAKPOINT
$B REMOVE ALL BREAKPOINTS
$NB/ CHECK THE STATUS OF BREAKPOINT N
$P PROCEED FROM A BREAKPOINT
N$P SET THE PROCEED COUNTER AND PROCEED
$$P PROCEED ALWAYS
13. CONDITIONAL BREAKPOINTS
$NB+1/INST INSERT A CONDITIONAL BREAKPOINT
14. STARTING THE PROGRAM
$G START A STARTING ADDRESS IN JOBSA
ADR$G START AT SPECIFIED ADDRESS
INST$X EXECUTE AN INSTRUCTION
15. SEARCHING
A<B>C$W SET LOWER (A), SET UPPER (B), SEARCH FOR WORD (C)
A<B>C$N SEARCH FOR A NOT-WORD
A<B>C$E SEARCH FOR AN EFFECTIVE ADDRESS
$M/ EXAMINE MASK USED IN SEARCHES
N$M INSERT ANOTHER QUANTITY IN MASK
16. ZEROING MEMORY
FIRST<LAST$$Z ZERO MEMORY FIRST THRU LAST
;KLDDT.HLP VER 0.12 5-MAY-78
SEQ 0006
17. SINGLE STEP EXECUTE
$X EXECUTE A SINGLE INSTRUCTION, THEN INCREMENT THE PC
THE OPERANDS ARE PRINTED AFTER EXECUTION
N$X REPEAT THE $X CYCLE N TIMES
N$$X SAME AS N$X EXCEPT PRINTING OCCURS ONLY FOR LAST CYCLE
$$X PERFORM A NON-PRINTING $X CYCLE UNTIL THE PC REACHES EITHER
.+1 OR .+2 ;USED FOR TREATING SUBROUTINE CALLS AS A SINGLE
INSTRUCTION.
18. PATCHING A PROGRAM
$< - PATCH BEFORE
$$< - PATCH AFTER
$> - END PATCH
ADR/CONTENTS $<
PATCH/ NEW INST
PATCH+1/ NEW INST$>
PATCH+2/ CONTENTS
PATCH+3/ JUMPA 1,ADR+1
PATCH+4/ JUMPA 2,ADR+2
A PATCH IS MADE BY OPENING AN ADDRESS, TYPING (ALTMODE)(ANGLE-BRACKET),
THIS SAVES THE CURRENT CONTENTS OF THE ADDRESS, OPENS THE PATCH AREA
FOR NEW INSTRUCTIONS, AFTER THE NEW INSTRUCTIONS ARE ENTERED THE
PATCHING IS CLOSED BY TYPING (ALTMODE)(ANGLE-BRACKET). THE ORIGINAL
CONTENTS ARE THEN PLACED IN THE PATCH AREA AND TWO JUMP INSTRUCTIONS
PLACED FOLLOWING WHICH WILL RETURN TO THE ORIGINAL ADDRESS +1 OR +2
DEPENDING ON WHETHER THE LAST INSTRUCTION IN THE PATCH SKIPS OR NOT.
19. SPECIAL EDITING CHARACTERS
RUBOUT DELETE LAST TYPED CHARACTER
^U (CONTROL U) DELETE LINE
^W (CONTROL W) DELETE LAST WORD, BACK TO DELIMITER
^R (CONTROL R) RETYPE LAST LINE
[END OF KLDDT.HLP]
DECSYSTEM10 DIAGNOSTICS DDT
MAINDEC-10-DDQDB SEQ 0007
--------------
VERSION 0.12
MAY 5,1978
HISTORY:
VERSION 0.12 MAKES CHANGES NECESSARY FOR APPROPRIATE MONITOR CALL
OPERATION DEPENDING ON WHICH MONITOR KLDDT IS RUNNING UNDER.
--------------
VERSION 0.11
APRIL 7,1977
VERSION 0.11 WAS CREATED FROM THE LATEST SYSTEM DDT WHICH INCLUDES
A CONSIDERABLE NUMBER OF NEW FEATURES.
-------------
VERSION 0.10
FEBRUARY 26,1976
HISTORY:
REV 0.10 MAKES AN EVOLUTIONARY CHANGE FROM PREVIOUS VERSIONS BECAUSE
OF THE MULTIPLE DTE20 SUPPORT ON KL10'S AND TO TIE TOGETHER THE VERSIONS
OF ALL THE SUPPORT PROGRAMS "KLDCP,SUBRTN,KLDDT,DIAMON,MAGMON".
REV 0.10 ALSO DISASSOCIATES THE DEC VERSION NUMBER FROM THE
KL10 HARDWARE REVISION LEVEL.
REV 0.10 WILL OPERATE ON KL10'S AT REV 7, 7A, 8 AND HOPEFULLY ON ALL
FUTURE REVISIONS.
PREVIOUS VERSION NOT ACCOUNTED FOR.
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 1
KLDDT MAC 5-May-78 12:59 SEQ 0008
1 ;MAINDEC-10-KLDDT
2
3
4
5 000012 DECVER=012
6 000000 MCNVER=000
7
8
9 TITLE KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12
10
11
12 ;RELEASED AS VERSION 0.12 MAY 5,1978
13 ;CORRECTED TOPS20 USER TERMINAL OPERATIONS (IF UNDER PA1050), MAY 5,1978
14 ;MODIFIED FOR APPROP MUUO/JSYS OPERATION, JUNE 20,1977
15 ;MODIFIED FROM <SYSTEM> DDT, APRIL 6,1977
16 ;CHANGED TO ALLOW EXEC TO USE USER SYMBOL TABLE POINTERS
17 ;AND ALLOW $G TO START PROGRAM FROM .JBSA
18 ;KL10 EXEC MODE OPERATION CHANGED TO CONFORM TO DIAGNOSTICS PROCEDURES
19
20
21 ;COPYRIGHT 1974,1975,1976,1977
22 ;DIGITAL EQUIPMENT CORPORATION
23 ;MARLBORO, MASS. 01752
24
25 ;JOHN R. KIRCHOFF
26
27 000137 LOC 137
28 000137 000000 000012 MCNVER,,DECVER
29
30 NOSYM
31 SALL
32
33 777777 777777 FTEXEC==-1
34 010000 000000 ABSDDT==10000,,0
35
36 000441 LOC 441
37 000441 254 00 0 00 010000 JRST DDT ;EPT DDT START ADDRESS
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 2
KLDDT MAC 5-May-78 12:59 DEFINITIONS SEQ 0009
38 SUBTTL DEFINITIONS
39
40 COMMENT \
41
42 TABLE OF CONTENTS FOR DDT
43
44 DEFINE DDT SYMBOLS
45 START DDT
46 DDT COMMAND PARSER
47 SYMBOL TABLE LOGIC
48 TEXT COMMANDS (" AND $")
49 REGISTER EXAMINATION LOGIC
50 MODE CONTROL SWITCHES
51 PATCH COMMAND -- PATCH BEGIN
52 PATCH COMMAND -- PATCH END
53 PAGE TABLE CONTROL ($U)
54 GO AND EXECUTE LOGIC
55 SINGLE STEP EXECUTE LOGIC
56 ENTER AND LEAVE DDT LOGIC
57 BREAK POINT LOGIC
58 MEMORY MANAGER SUBROUTINES
59 BINARY TO SYMBOLIC CONVERSION
60 SEARCH LOGIC
61 OUTPUT SUBROUTINES
62 PUNCH PAPER TAPE LOGIC
63 TELETYPE IO LOGIC
64 DDT COMMAND FILE LOGIC
65 DISPATCH TABLE
66 FANCY TERMINAL INPUT LOGIC
67 OP DECODER
68 VARIABLE STORAGE
69 STORAGE -- $X LOGIC AND PATCH COMMAND
70 STORAGE -- BREAKPOINTS
71 STORAGE -- SYMBOL TABLE LOGIC
72 STORAGE -- SAVE AREAS FOR PREVIOUS CONTEXT
73 STORAGE -- STATE VARIABLES
74 STORAGE -- PUSH DOWN LIST
75 \
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 3
KLDDT MAC 5-May-78 12:59 DEFINITIONS SEQ 0010
76
77 ;DDT VERSION IDENTIFICATION
78
79 000177 $EDITN==177 ;EDIT NUMBER
80 000037 $VERSN==37 ;VERSION NUMBER
81 003700 000177 %DDTVR==<$VERSN>B11+$EDITN ;COMPOSIT VERSION IDENT
82
83 ;SWITCHES FOR DDT FEATURES
84 ;FTEXEC ;EXEC MODE FACILITIES (ALSO RUNS IN USER MODE)
85 ;FTPTP ;PAPER TAPE FACILITIES (EXEC MODE ONLY)
86 ;FTFILE ;FILE DDT
87 ;FTYANK ;PAPER TAPE INPUT FACILITIES ($Y)
88 ;FTVMX ;BUILD DDT.VMX FOR TOPS10 VIRTUAL MEMORY
89 ;FTDEC20 ;DEC20 FACILITIES
90 ;FTMON ;DEC20 MONITOR DDT
91 ;FTEDIT ;INCLUDE FANCY EDITING FEATURES WITH DEC20 EDDT
92 ;ABSDDT ;RELOCATABLE ASSEMBLY IF 0, ABSOLUTE ASSEMBLY
93 ;WITH ORIGIN GIVEN BY B0-17 OTHERWISE
94
95 IFNDEF ABSDDT,<ABSDDT==0>
96 IFNDEF FTEXEC,<FTEXEC==0>
97 IFNDEF FTPTP,<FTPTP==0>
98 IFNDEF FTFILE,<FTFILE==0>
99 IFNDEF FTYANK,<FTYANK==0>
100 IFNDEF FTVMX,<FTVMX==0>
101 IFNDEF FTDEC20,<FTDEC20==0>
102 IFNDEF FTMON,<FTMON==0>
103 IFNDEF FTEDIT,<FTEDIT==0>
104
105 ;NORMALIZE ALL SWITCH VALUES TO 0 OR -1 SO BOOLEAN EXPRESSIONS IN
106 ;CONDITIONALS WORK CORRECTLY.
107
108 DEFINE ..N (SW)<
109 IRP SW,<
110 IFN SW,<SW==-1>>>
111
112 ..N <FTEXEC,FTPTP,FTFILE,FTYANK,FTVMX,FTDEC20,FTMON,FTEDIT>
113
114 ; IFN FTDEC20,<
115 SEARCH MONSYM,MACSYM
116 040000 000000 OPDEF CALL [040B8]
117 104000 000772 OPDEF MRPAC [JSYS 772] ;>
118
119 IFE FTFILE,<INTERN %DDTVR>
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 4
KLDDT MAC 5-May-78 12:59 DEFINITIONS SEQ 0011
120
121 EXTERN .JBREL,.JBSA,.JBHRL,.JBSYM,.JBFF,.JBHSM,.JBHNM,.JBUSY,.JBDA
122
123 IFE FTDEC20,<
124 IFN FTEXEC,<
125 ; TITLE EDDT -EXEC MODE DDT >
126 IFN FTEXEC!FTFILE,<
127 000036 XJBSYM==36
128 000032 XJBUSY==32
129 000040 XZLOW==40>
130
131 IFE FTEXEC,<
132 IFE FTFILE,<
133 TITLE UDDT -USER MODE DDT >
134 IFN FTFILE,<
135 TITLE FILDDT -FILE DDT
136 CT.RES==5 ;NUMBER OF PAGES TO KEEP IN CORE
137 MX.SIZ==^D1024 ;MAX PAGES IN FILE
138 T30SYM==131> ;SPMON (10/30)
139 > ;END IFE FTEXEC
140
141 000140 ZLOW==140
142
143 INTERNAL .JBVER,.JBDDT
144 000074 .JBDDT=74
145 000137 .JBVER=137
146 IFE FTEXEC,<
147 LOC .JBVER ;DO NOT SET IF EXEC DDT(OK USER OR FILDDT)
148 %DDTVR ;PUT VERSION # IN .JBVER
149 >
150
151 IFE FTFILE!FTVMX,<
152 000074 LOC .JBDDT
153 000074 016773 010000 XWD DDTEND,DDTX
154 >
155 000000' RELOC 0
156
157 010000 IFE FTVMX,<IFN ABSDDT&<XWD -1,0>,<LOC <ABSDDT>B53>>
158
159 047000 000145 OPDEF PAGE. [CALLI 145] ;PAGING UUO
160 000100 .GTUPM==100
161 > ;END IFE FTDEC20
162
163 IFN FTEXEC,<
164 331000 016717 OPDEF SKPUSR [SKIPL USRFLG] ;SKIP IN USER MODE
165 335000 016717 OPDEF SKPEXC [SKIPGE USRFLG] ;SKIP IN EXEC MODE
166 337000 016720 OPDEF SKPKA [SKIPG KAFLG] ;SKIP FOR KA10
167 332000 016720 OPDEF SKPKI [SKIPE KAFLG] ;SKIP FOR KI10
168 331000 016720 OPDEF SKPKL [SKIPL KAFLG] ;SKIP FOR KL10
169 335000 016720 OPDEF SKPNKL [SKIPGE KAFLG] ;SKIP NOT KL10
170 > ;END IFN FTEXEC
171 XLIST
172 LIST
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 7
KLDDT MAC 5-May-78 12:59 MAKE TOPS20 DDT SEQ 0012
173
174 SUBTTL DEFINE DDT SYMBOLS
175 IFN FTFILE,<
176 CM==2 ;DEFINE SOFTWARE CHANS.
177 DP==3
178 >
179 ;DEFINE ACCUMULATORS
180
181 000000 F=0 ;FLAGS
182 000017 P=17 ;PUSH DOWN (KLDDT)
183 000002 R=<A=2> ;POINTERS TO TABLES, CORE, ETC.
184 000003 S=<B=3>
185 000004 W=<C=4> ;CONTAINS DISPATCH ADDRESS IN WORD ASSEMBLER
186 000005 T=5 ;TRANSFER DATA
187 000006 W1=6
188 000007 W2=7
189 000010 SCH=10 ;MODE CONTROL SWITCH FOR OUTPUT
190 000011 AR=11 ;MODE CONTROL SWITCH FOR OUTPUT
191 000012 ODF=12 ;MODE CONTROL SWITCH FOR OUTPUT - CURRENT RADIX
192 000013 TT=13 ;TEMPORARY
193 000014 TT1=14 ;TEMPORARY
194 000015 TT2=15 ;TEMPORARY (USED FOR PTR INPUT ONLY)
195 ; AND FOR DTE COMMUNICATIONS
196
197 ;DEFINE PUSH DOWN LENGTH
198 000050 LPDL==50 ;MAX LENGTH PUSH DOWN LIST
199
200 010000 NXMKA==1B23 ;NON-EX-MEM FLAG FOR KA10
201 000100 NXMKI==1B29 ;NON-EX-MEM FLAG FOR KI10
202 002000 NXMKL==1B25 ;NON-EX-MEM FLAG FOR KL10
203
204 000010 NBP==^D8 ;NUMBER OF BREAKPOINTS
205
206 IFN FTDEC20,<
207 LPDL==100
208 P=17> ;OVERRIDES P=1 ABOVE
209 000001 T1=1
210 000002 T2=2
211 000003 T3=3
212
213 020000 TRPENB==1B22 ;SAYS PAGING TRAPS ENABLED
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 8
KLDDT MAC 5-May-78 12:59 DEFINE DDT SYMBOLS SEQ 0013
214
215 ;*** FLAGS IN F ***
216
217 400000 000000 FEF== 1B0 ;"E" FLAG
218 200000 000000 COMF== 1B1 ;COMMA TYPED
219 100000 000000 TIF== 1B2 ;TRUNCATE TO 18 BITS - SET BY SPACE OR COMMA
220 040000 000000 DVF== 1B3 ;DIVIDE
221 020000 000000 FPF== 1B4 ;"." TYPED
222 010000 000000 CCF== 1B5 ;"$$" TYPED
223 004000 000000 STF== 1B6 ;SUPPRESS TYPEOUT
224 002000 000000 SAF== 1B7 ;RIGHT ANGLEBRACKET TYPED
225 001000 000000 FAF== 1B8 ;LEFT ANGLEBRACKET TYPED
226 ;== 1B9 ;NOT USED
227 000200 000000 MLF== 1B10 ;MULTIPLY
228 000100 000000 PTF== 1B11 ;ARITHMETIC OPERATOR TYPED
229 000040 000000 CF== 1B12 ;"$" TYPED
230 000020 000000 LTF== 1B13 ;LETTER TYPED IN CURRENT SYLLABLE
231 000010 000000 ROF== 1B14 ;REGISTER OPEN
232 000004 000000 SF== 1B15 ;SYLLABLE
233 000002 000000 MF== 1B16 ;MINUS SIGN TYPED
234 000001 000000 QF== 1B17 ;QUANTITY TYPED IN TO WORD ASSEMBLER
235
236 ; 18-21 NOT USED
237 020000 MDLCLF==1B22 ;MULT DEF LOCAL SYMBOL (EVAL)
238 010000 PNAMEF==1B23 ;PROGRAM NAME SEEN IN SYM TABLE SEARCH
239 004000 POWF== 1B24 ;ARGUMENT FOR EXPONENT COMING
240 002000 LF1== 1B25 ;OUTPUT ONE REGISTER IN FORCED MODE
241 ;== 1B26 ;NOT USED
242 000400 CF1== 1B27 ;OUTPUT ONE REGISTER AS CONSTANT
243 000200 NAF== 1B28 ;NEGATIVE ADDRESSES PERMISSABLE
244 ; 29-32 NOT USED
245 000004 OUTF== 1B33 ;OUTPUT
246 000002 ITF== 1B34 ;INSTRUCTION TYPED
247 000001 Q2F== 1B35 ;NUMBER TYPED AFTER $
248
249 ;DEFINE SYMBOL TABLE SYMBOL TYPES
250 040000 000000 GLOBL==04B5 ;GLOBAL SYMBOL
251 100000 000000 LOCL==10B5
252 740000 000000 PNAME==74B5 ;PROGRAM NAME
253 200000 000000 DELI==20B5 ;DELETE INPUT
254 400000 000000 DELO==40B5 ;DELETE OUTPUT
255
256 ;DEFINE UNDEFINED SYMBOL TABLE (.JBUSY) TYPES
257
258 400000 000000 STADD==1B0 ;IF 1, THEN ADDITIVE REQUEST
259 200000 000000 STLH==1B1 ;IF 1, THEN REQUEST FOR LEFT HALF
260 020000 000000 STNEG==1B4 ;IF 1, THEN NEGATIVE REQUEST
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 9
KLDDT MAC 5-May-78 12:59 DEFINE DDT SYMBOLS SEQ 0014
261
262 IFE FTDEC20,<
263 IFE FTFILE,<
264 INTERN DDTEND ;DECLARE END OF DDT AS INTERNAL, FOR
265 ; USER TO SEE (USER MODE) AND ONCE ONLY CODE
266 ; (MONITOR)
267 IFE FTEXEC,< ENTRY DDT>
268 IFN FTEXEC,<
269 INTERNAL DDT
270 ENTRY DDTX>> ;NEEDED BY MONITOR
271
272 IFN FTEXEC!FTFILE,<
273
274 DEFINE OD(A,B),<
275 A=:<B,,0>>
276
277 ;KL10 "FUNNY" I/O INSTRUCTIONS
278 700000 000000 OD APRID,700000 ;READ APR ID
279 700100 000000 OD WRFIL,700100 ;WRITE CACHE REFIL ALGORITHM
280 700400 000000 OD RDERA,700400 ;READ ERROR ADDRESS REGISTER
281 700500 000000 OD SBDIAG,700500 ;S-BUS DIAG
282 702000 000000 OD RDPERF,702000 ;READ PERF. COUNTER
283 702040 000000 OD RDTIME,702040 ;READ TIME OF DAY
284 702400 000000 OD RDMACC,702400 ;READ MBOX ACCOUNTING
285 702440 000000 OD RDEACC,702440 ;READ EBOX ACCOUNTING
286 702100 000000 OD WRPAE,702100 ;WRITE PERF. ANALYSIS ENABLES
287 701440 000000 OD SWPIA,701440 ;SWEEP INVALIDATE ALL
288 701500 000000 OD SWPVA,701500 ; " VALIDATE ALL
289 701540 000000 OD SWPUA,701540 ; " UNLOAD ALL
290 701640 000000 OD SWPIO,701640 ; " INVALIDATE 1 PAGE
291 701700 000000 OD SWPVO,701700 ; " VALIDATE 1 PAGE
292 701740 000000 OD SWPUO,701740 ; " UNLOAD 1 PAGE
293 > ;END IFN FTEXEC!FTFILE
294 XLIST
295 LIST
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 11
KLDDT MAC 5-May-78 12:59 WRITE DDT.VMX SEQ 0015
296
297 SUBTTL START DDT
298
299 010000 DDTOFS: ;OFFSET BASE FOR DISPATCH TABLES
300
301 IFE FTFILE,<
302 010000 DDTX:
303 IFN FTYANK,<
304 SETZM COMAND ;INDICATE NO COMMAND FILE IF STARTING BY DDT COMMAND
305 >
306 REPEAT 0,<
307 DDT: IFN FTDEC20&<^-FTEXEC>,<
308 JRST .+2 ;SKIP SYMTAB PTRS
309 Z .DDSYM
310 JUMP .DDUSY
311 MOVEM T,SETRT1 ;SAVE AN AC
312 MOVE T,BP1+1
313 CAMN T,[JSA T,BCOM] ;VARIABLES AREA INITIALIZED?
314 JRST DDTIN1 ;YES
315 MOVE T,[PHVAR,,VARLOC] ;NO, DO IT
316 BLT T,VAREND-1
317 DDTIN1: MOVE T,SETRT1 ;RESTORE SCRATCH AC
318 > ;END IFN FTDEC20...
319 >
320 010000 254 00 0 00 010002 DDT: JRST .+2
321 010001 104 104 124 000 000 ASCII /DDT/
322 010002 264 00 0 00 016441 JSR SAVE
323 010003 260 17 0 00 013015 PUSHJ P,REMOVB
324 XLIST
325 LIST
326 010004 200 06 0 00 010001 MOVE W1,DDT+1
327 010005 260 17 0 00 014236 PUSHJ P,TEXT2 ;TYPE DDT MESSAGE
328 XLIST
329 LIST
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 23
KLDDT MAC 5-May-78 12:59 FILDDT -- COMMAND SCANNER SEQ 0016
330
331 SUBTTL DDT COMMAND PARSER
332
333 010006 260 17 0 00 014263 DD1: PUSHJ P,CRF
334 010007 621 00 0 00 000010 DD1.5: TLZ F,(ROF) ;CLOSE ANY OPEN REGISTER
335 010010 200 05 0 00 016046 MOVE T,[XWD SCHM,SCH]
336 010011 251 05 0 00 000012 BLT T,ODF ;LOAD ACS
337 010012 204 05 0 00 016047 MOVS T,[SVBTS,,PSVBTS]
338 010013 251 05 0 00 016510 BLT T,SVBTS+2
339 010014 402 00 0 00 016526 DD2: CLEARM PRNC ;PARENTHESES COUNT
340 010015 200 17 0 00 016050 MOVE P,[IOWD LPDL,PDL]
341 010016 402 00 0 00 016363 LIS: SETZM WAKALL ;SET WAKEUP SET TO PUNCT AND CTRLS
342 IFN FTDEC20,<
343 MOVEI R,.JBSYM ;VALIDATE JOB DATA AREA - CHECK .JBSYM
344 PUSHJ P,FETCH
345 SETZ T, ;CAN'T REF PAGE 0, NO JOBDAT
346 SKIPL T ;VALID SYMTAB PTR?
347 SETZM JDTFLG#> ;NO, NOTE NO JOBDAT
348 010017 335 02 1 00 016545 SKIPGE R,@USYMP ;GET UND SYM PTR, OK?
349 010020 260 17 0 00 013164 PUSHJ P,FETCH ;MAYBE, SEE IF CAN REFERENCE IT
350 010021 402 00 1 00 016545 SETZM @USYMP ;NO GOOD, FLUSH IT
351 010022 200 05 1 00 016545 MOVE T,@USYMP ;GET UNDEF SYMBOL POINTER
352 010023 321 05 0 00 010035 JUMPL T,LIS0B ;IF POINTER OK, TRANSFER
353 010024 335 05 1 00 016544 SKIPGE T,@SYMP ;IF POINTER NOT OK, USE .JBSYM ADR
354 010025 254 00 0 00 010033 JRST LIS0A ; SO LONG AS IT IS NEGATIVE
355 IFE FTFILE,<
356 010026 201 02 0 00 000000* MOVEI R,.JBHSM ;IF LO ADR NOT OK, TRY HIGH
357 010027 335 00 0 00 016717 IFN FTEXEC,<SKPEXC> ; UNLESS IN EXEC MODE
358 010030 260 17 0 00 013160 PUSHJ P,HFETCH> ;GET HIGH SYM TABLE POINTER
359 010031 201 05 0 00 000000 MOVEI T,0 ;IT DOESN'T EXIST
360 010032 327 05 0 00 010031 JUMPG T,.-1 ;IF POINTER .G. 0, GIVE 0 RESULT
361 010033 553 00 0 00 000005 LIS0A: HRRZS T ;USE ADR OF SYM TABLE TO INIT
362 010034 202 05 1 00 016545 MOVEM T,@USYMP ; UNDEFINED SYM TABLE POINTER
363 010035 202 05 0 00 016540 LIS0B: MOVEM T,ESTUT ;INIT UNDEFINED SYM ASSEMBLER
364 010036 621 00 0 00 773767 TLZ F,(-1B17-ROF-STF) ;CLEAR FLAGS EXCEPT ROF, STF
365 010037 620 00 0 00 002403 TRZ F,LF1+CF1+ITF+Q2F ;CLEAR FLAGS
366 010040 621 00 0 00 770767 LIS0: TLZ F,(-1B17-ROF-STF-FAF-SAF) ;CLEAR FLAGS EXCEPT ...
367 010041 620 00 0 00 000200 TRZ F,NAF ; ..
368 010042 402 00 0 00 016524 SETZM WRD
369 010043 402 00 0 00 016527 LIS1: SETZM FRASE
370 010044 201 05 0 00 000001 LIS2: MOVEI T,1
371 010045 202 05 0 00 016533 MOVEM T,FRASE1
372 010046 621 00 0 00 040200 TLZ F,(MLF+DVF)
373 010047 621 00 0 00 030044 L1: TLZ F,(CF+CCF+SF+FPF) ;TURN OFF CONTROL, SYL, PERIOD FLAG
374 010050 402 00 0 00 016530 L1A: SETZM SYL
375 010051 402 00 0 00 016543 L1RPR: SETZM SYM
376 010052 201 05 0 00 000006 MOVEI T,6
377 010053 202 05 0 00 016673 MOVEM T,TEM ;INIT SYMBOL COUNTER
378 010054 200 05 0 00 016051 MOVE T,[POINT 7,TXT]
379 010055 202 05 0 00 016520 MOVEM T,CHP ;SETUP FOR OPEVAL SYMBOL
380 010056 402 00 0 00 016534 SETZM DEN
381 010057 402 00 0 00 016525 SETZM WRD2
382
383 ;CONTINUED ON NEXT PAGE
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 24
KLDDT MAC 5-May-78 12:59 DDT COMMAND PARSER SEQ 0017
384
385 010060 260 17 0 00 014705 L2: PUSHJ P,TIN ;PICK UP CHARACTER
386 010061 301 05 0 00 000141 CAIL T,"A"+40 ;LOWER CASE A
387 010062 303 05 0 00 000172 CAILE T,"Z"+40 ;LOWER CASE Z
388 010063 254 00 0 00 010065 JRST .+2
389 010064 640 05 0 00 000040 TRC T,40 ;CHANGE LOWER CASE TO UPPER CASE
390 010065 603 00 0 00 000040 TLNE F,(CF) ;CONTROL FLAG
391 010066 254 00 0 00 010073 JRST L21
392 010067 307 05 0 00 000132 CAIG T,"Z" ;Z
393 010070 305 05 0 00 000101 CAIGE T,"A" ;A
394 010071 254 00 0 00 010073 JRST .+2
395 010072 254 00 0 00 010323 JRST LET
396 010073 200 02 0 00 000005 L21: MOVE R,T
397 010074 303 05 0 00 000137 CAILE T,137 ;DISPATCH TABLE HAS ENTRIES ONLY .LE. 137
398 010075 254 00 0 00 010166 JRST ERR
399 010076 231 02 0 00 000003 IDIVI R,3 ;REMAINDER GIVES COLUMN, QUOTIENT GIVES ROW
400 010077 135 04 0 03 015036 LDB W,BDISP(R+1) ;GET 12 BIT ADDRESS FROM DISPATCH TABLE
401 010100 305 04 0 00 001041 CAIGE W,MULT-DDTOFS ;FIRST EVAL ROUTINE
402 010101 254 00 0 04 010000 JRST DDTOFS(W)
403 010102 200 05 0 00 016530 MOVE T,SYL
404 010103 627 00 0 00 000020 TLZN F,(LTF)
405 010104 254 00 0 00 010375 JRST POWER
406 010105 306 04 0 00 001101 CAIN W,SPACE-DDTOFS ;IS TERMINATOR A SPACE?
407 010106 332 00 0 00 016524 SKIPE WRD ;IS CONSTRUCTED WORD SO FAR ZERO?
408 010107 334 05 0 00 016052 SKIPA T,[OPEVAL,,EVAL] ;SEARCH EVAL 1ST IFF: -SPACE .OR. (WRD).NE.0
409 010110 204 05 0 00 016052 MOVS T,[OPEVAL,,EVAL] ;SEARCH OPEVAL 1ST IFF: SPACE .AND. (WRD)=0
410 010111 202 05 0 00 016575 MOVEM T,SYMORD ;SAVE SYMBOL TABLE SEARCH ORDER
411 010112 254 00 0 00 010115 JRST L213
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 25
KLDDT MAC 5-May-78 12:59 DDT COMMAND PARSER SEQ 0018
412
413 010113 557 05 0 00 016575 L212: HLRZS T,SYMORD ;GET ADDRESS OF THE OTHER LOOKUP ROUTINE
414 010114 322 05 0 00 010201 JUMPE T,UND1 ;IF ADR=0, THEN SYMBOL UNDEFINED
415 010115 260 17 0 05 000000 L213: PUSHJ P,(T) ;CALL OPEVAL OR EVAL
416 010116 254 00 0 00 010113 JRST L212 ;SYMBOL NOT FOUND
417 010117 306 04 0 00 001044 CAIN W,ASSEM-DDTOFS ;DEFINED SYMBOL FOLLOWED BY #?
418 010120 254 00 0 00 010166 JRST ERR ;IF DEFINED, DON'T ALLOW #
419 010121 623 00 0 00 000002 L4: TLZE F,(MF)
420 010122 210 05 0 00 000005 MOVN T,T
421 010123 607 00 0 00 000004 TLNN F,(SF)
422 010124 302 04 0 00 001050 CAIE W,LPRN-DDTOFS
423 010125 254 00 0 00 010127 JRST .+2
424 010126 254 00 0 00 011050 JRST LPRN
425
426 010127 250 05 0 00 016533 EXCH T,FRASE1
427 010130 607 00 0 00 040000 TLNN F,(DVF)
428 010131 223 05 0 00 016533 IMULB T,FRASE1
429 010132 623 00 0 00 040000 TLZE F,(DVF)
430 010133 233 05 0 00 016533 IDIVB T,FRASE1
431 010134 305 04 0 00 001044 CAIGE W,ASSEM-DDTOFS
432 010135 254 00 0 04 010000 JRST DDTOFS(W) ;MULTIPLY OR DIVIDE
433 010136 273 05 0 00 016527 ADDB T,FRASE
434 010137 305 04 0 00 001101 CAIGE W,SPACE-DDTOFS
435 010140 254 00 0 04 010000 JRST DDTOFS(W) ; + - @ ,
436
437 010141 270 05 0 00 016524 ADD T,WRD
438 010142 603 00 0 00 100000 TLNE F,(TIF) ;TRUNCATE INDICATOR FLAG
439 010143 500 05 0 00 016524 HLL T,WRD ;TRUNCATE
440 010144 202 05 0 00 016524 MOVEM T,WRD
441 010145 607 00 0 00 000001 TLNN F,(QF)
442 010146 200 05 0 00 016531 MOVE T,LWT
443 010147 402 00 0 00 000002 SETZM R
444 010150 200 06 0 00 016540 MOVE W1,ESTUT
445 010151 316 06 1 00 016545 CAMN W1,@USYMP ;IF THERE ARE ANY UNDEFINED SYMBOLS IN
446 010152 254 00 0 00 010155 JRST L5 ;THE CURRENT EXPRESSION, ANYTHING EXCEPT
447 010153 303 04 0 00 001163 CAILE W,CARR-DDTOFS ;FURTHER EXPRESSION INPUT, OR DEPOSITING
448 010154 254 00 0 00 010166 JRST ERR ; INTO MEMORY IS ILLEGAL
449 010155 307 04 0 00 001105 L5: CAIG W,RPRN-DDTOFS
450 010156 254 00 0 04 010000 JRST DDTOFS(W)
451 010157 261 17 0 00 010634 PUSH P,KILRET ;WHEN INSIDE ( ), CURRENT EXPRESSION
452 010160 336 00 0 00 016526 SKIPN PRNC ;INVALID FOR ANYTHING OTHER
453 010161 254 00 0 04 010000 JRST DDTOFS(W) ; THAN MORE EXPRESSION INPUT
454 010162 254 00 0 00 010166 JRST ERR
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 26
KLDDT MAC 5-May-78 12:59 DDT COMMAND PARSER SEQ 0019
455
456 010163 200 06 0 00 016053 WRONG: MOVE W1,[ASCII /XXX/]
457 010164 260 17 0 00 014234 PUSHJ P,TEXT
458 010165 254 00 0 00 010174 JRST WRONG2
459
460 010166 205 06 0 00 374160 ERR: MOVSI W1,(BYTE (7)"?","G"-100) ;QUESTION-DING
461 010167 254 00 0 00 010171 JRST WRONG1
462
463 010170 201 06 0 00 000125 UNDEF: MOVEI W1,"U"
464 010171 200 17 0 00 016050 WRONG1: MOVE P,[IOWD LPDL,PDL]
465 010172 260 17 0 00 014234 PUSHJ P,TEXT
466 010173 260 17 0 00 014644 PUSHJ P,TTYCLR ;CLEAR INPUT BUFFER
467 010174 607 00 0 00 000010 WRONG2: TLNN F,(ROF) ;REGISTER OPEN?
468 010175 254 00 0 00 010006 JRST DD1 ;NO, CRLF. OTHERWISE, FALL INTO RET
469 010176 200 17 0 00 016050 RET: MOVE P,[IOWD LPDL,PDL]
470 010177 260 17 0 00 014266 PUSHJ P,LCT ;COMMON RETURN FOR TAB;,JRST LIS
471 010200 254 00 0 00 010014 JRST DD2
472
473
474 010201 200 02 0 00 016540 UND1: MOVE R,ESTUT ;UNDEFINED SYM ASSEMBLER
475 010202 322 02 0 00 010170 JUMPE R,UNDEF ;UNDEFINED IF NO UNDEF SYM TABLE
476 010203 574 03 0 00 016540 HLRE S,ESTUT
477 010204 240 03 0 00 777777 ASH S,-1 ;SETUP EVAL END TEST
478 010205 260 17 0 00 010472 PUSHJ P,EVAL2
479 010206 306 04 0 00 001044 CAIN W,ASSEM-DDTOFS
480 010207 607 00 0 00 000010 TLNN F,(ROF)
481 010210 254 00 0 00 010170 JRST UNDEF
482 010211 332 00 0 00 016526 SKIPE PRNC
483 010212 254 00 0 00 010170 JRST UNDEF
484 010213 201 05 0 00 000043 MOVEI T,"#"
485 010214 302 04 0 00 001044 CAIE W,ASSEM-DDTOFS
486 010215 260 17 0 00 014533 PUSHJ P,TOUT
487
488 010216 210 02 0 00 016054 MOVN R,[XWD 2,2]
489 010217 273 02 0 00 016540 ADDB R,ESTUT
490 010220 200 05 0 00 016543 MOVE T,SYM
491 010221 661 05 0 00 040000 TLO T,(GLOBL)
492 010222 260 17 0 00 013154 PUSHJ P,DSYMER ;DEPOSIT AND TYPE ? IF IT FAILS
493 010223 550 05 0 00 016553 HRRZ T,LLOCO
494 010224 603 00 0 00 000002 TLNE F,(MF)
495 010225 661 05 0 00 020000 TLO T,(STNEG) ;SET FLAG TO SHOW SUBTRACTIVE REQUEST
496 010226 661 05 0 00 400000 TLO T,(STADD) ;SET FLAG TO SHOW UNCHAINED REQUEST
497 010227 271 02 0 00 000001 ADDI R,1
498 010230 260 17 0 00 013154 PUSHJ P,DSYMER
499 010231 201 05 0 00 000000 MOVEI T,0
500 010232 254 00 0 00 010121 JRST L4
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 27
KLDDT MAC 5-May-78 12:59 DDT COMMAND PARSER SEQ 0020
501
502 010233 260 17 0 00 014263 QUESTN: PUSHJ P,CRF ;HERE FOR "?"
503 010234 603 00 0 00 000020 TLNE F,(LTF) ;HAS A SYMBOL BEEN TYPED?
504 010235 254 00 0 00 010253 JRST QLIST ;NO
505 010236 200 02 1 00 016545 MOVE R,@USYMP ;YES, LIST UNDEFINED SYMBOLS
506 010237 325 02 0 00 010006 QUEST1: JUMPGE R,DD1
507 010240 200 05 0 02 000000 MOVE T, (R)
508 010241 334 06 1 00 016545 SKIPA W1,@USYMP
509
510 010242 270 06 0 00 016054 QUEST2: ADD W1,[XWD 2,2]
511 010243 312 05 0 06 000000 CAME T,(W1)
512 010244 254 00 0 00 010242 JRST QUEST2
513 010245 312 02 0 00 000006 CAME R,W1
514 010246 254 00 0 00 010251 JRST QUEST4
515 010247 260 17 0 00 014075 PUSHJ P,SPT
516 010250 260 17 0 00 014263 PUSHJ P,CRF
517 010251 270 02 0 00 016054 QUEST4: ADD R,[XWD 2,2]
518 010252 254 00 0 00 010237 JRST QUEST1
519
520 010253 260 17 0 00 010537 QLIST: PUSHJ P,SYMSET ;LIST REFERENCES TO THE SYMBOL
521 010254 402 00 0 00 016576 QLIST1: SETZM QLPNT ;ZERO FLAG SHOWING REFERENCE
522 010255 200 05 0 02 000000 QLIST2: MOVE T,(R) ;PICK UP SYMBOL
523 010256 627 05 0 00 740000 TLZN T,(PNAME) ;A PROGRAM NAME?
524 010257 254 00 0 00 010271 JRST QLIST6 ;YES
525 010260 316 05 0 00 016543 CAMN T,SYM ;NO, IS AN OCCURANCE FOUND?
526 010261 552 02 0 00 016576 HRRZM R,QLPNT ;YES, REMEMBER WHERE
527 010262 253 02 0 00 010263 QLIST3: AOBJN R,.+1 ;LOOK THRU TABLE
528 010263 253 02 0 00 010267 AOBJN R,QLIST4 ;END OF TABLE SEGMENT?
529 IFE FTFILE,<
530 010264 606 02 0 00 400000 TRNN R,1B18 ;YES, WRAP AROUND
531 010265 331 02 0 00 016535 SKIPL R,SAVHSM
532 >
533 010266 200 02 1 00 016544 MOVE R,@SYMP
534 010267 343 03 0 00 010255 QLIST4: AOJLE S,QLIST2 ;THRU SEARCHING?
535 010270 254 00 0 00 010006 JRST DD1 ;YES
536
537 010271 336 00 0 00 016576 QLIST6: SKIPN QLPNT ;FOUND THE SYMBOL?
538 010272 254 00 0 00 010262 JRST QLIST3 ;NO
539 010273 260 17 0 00 014076 PUSHJ P,SPT1 ;YES, PRINT THE PROGRAM NAME
540 010274 200 05 1 00 016576 MOVE T,@QLPNT ;GET THE SYMBOL BACK AND
541 010275 607 05 0 00 040000 TLNN T,(GLOBL) ; TEST FOR A GLOBAL SYMBOL
542 010276 254 00 0 00 010302 JRST QLIST7 ;NOT GLOBAL
543 010277 260 17 0 00 014273 PUSHJ P,TSPC ;IS GLOBAL, TYPE " G"
544 010300 201 05 0 00 000107 MOVEI T,"G"
545 010301 260 17 0 00 014533 PUSHJ P,TOUT
546 010302 260 17 0 00 014263 QLIST7: PUSHJ P,CRF
547 010303 402 00 0 00 016576 SETZM QLPNT ;RESET FLAG
548 010304 254 00 0 00 010262 JRST QLIST3 ; AND SEARCH THE NEXT SET OF SYMBOLS
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 28
KLDDT MAC 5-May-78 12:59 DDT COMMAND PARSER SEQ 0021
549
550 010305 405 05 0 00 000017 NUM: ANDI T,17 ;T HOLDS CHARACTER
551 010306 603 00 0 00 020040 TLNE F,(CF+FPF)
552 010307 254 00 0 00 010355 JRST NM1
553 010310 200 04 0 00 016530 MOVE W,SYL
554 010311 242 04 0 00 000003 LSH W,3
555 010312 270 04 0 00 000005 ADD W,T
556 010313 202 04 0 00 016530 MOVEM W,SYL
557 010314 200 04 0 00 016534 MOVE W,DEN
558 010315 221 04 0 00 000012 IMULI W,12 ;CONVERT TO DECIMAL
559 010316 270 04 0 00 000005 ADD W,T
560 010317 202 04 0 00 016534 MOVEM W,DEN
561 010320 344 05 0 00 010337 AOJA T,LE1A
562
563 010321 334 05 0 00 016055 DOLLAR: SKIPA T,[46+101-13] ;RADIX 50 $ TO BE
564 010322 201 05 0 00 000135 PERC: MOVEI T,47+101-13 ;PERCENT SIGN
565 010323 641 00 0 00 020004 LET: TLC F,(SF+FPF) ;EXPONENT IFF (LTF)'*(FEF)'*(T=105)*(SF)*(FPF)=1
566 010324 627 00 0 00 420024 TLZN F,(LTF+FEF+SF+FPF)
567 010325 302 05 0 00 000105 CAIE T,105 ; E
568 010326 665 00 0 00 000020 TLOA F,(LTF)
569 010327 665 00 0 00 400000 TLOA F,(FEF)
570 010330 254 00 0 00 010336 JRST LET1
571 010331 627 00 0 00 000002 TLZN F,(MF)
572 010332 334 06 0 00 016530 SKIPA W1,SYL
573 010333 210 06 0 00 016530 MOVN W1,SYL
574 010334 202 06 0 00 016541 MOVEM W1,FSV
575 010335 402 00 0 00 016534 CLEARM DEN
576 010336 275 05 0 00 000066 LET1: SUBI T,101-13 ;FORM RADIX 50 SYMBOL
577 010337 661 00 0 00 000005 LE1A: TLO F,(SF+QF)
578 010340 375 00 0 00 016673 LE2: SOSGE TEM ;IGNORE CHARACS AFTER 6
579 010341 254 00 0 00 010060 JRST L2
580 010342 201 04 0 00 000050 MOVEI W,50
581 010343 222 04 0 00 016543 IMULM W,SYM ;MULTIPLY BY RADIX 50
582 010344 272 05 0 00 016543 ADDM T,SYM ; AND ADD NEW CHAR INTO SYM
583 010345 201 05 0 05 000066 MOVEI T,"A"-13(T) ;CONVERT LETTERS BACK TO ASCII
584 010346 136 05 0 00 016520 IDPB T,CHP
585 010347 254 00 0 00 010060 JRST L2
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 29
KLDDT MAC 5-May-78 12:59 DDT COMMAND PARSER SEQ 0022
586
587 010350 250 05 0 00 016525 NUM1: EXCH T,WRD2 ;FORM NUMBER AFTER $
588 010351 221 05 0 00 000012 IMULI T,12
589 010352 272 05 0 00 016525 ADDM T,WRD2
590 010353 660 00 0 00 000001 TRO F,Q2F
591 010354 254 00 0 00 010060 JRST L2
592
593 010355 603 00 0 00 000040 NM1: TLNE F,(CF)
594 010356 254 00 0 00 010350 JRST NUM1
595 010357 201 06 0 00 000006 MOVEI W1,6 ;FORM FLOATING POINT NUMBER
596 010360 350 00 0 00 016355 AOS NM1A
597 010361 256 00 0 00 016355 XCT NM1A ;MOVEI W2,..
598 010362 205 02 0 00 201400 MOVSI R,201400
599 010363 622 07 0 00 000001 NM1A1: TRZE W2,1
600 010364 164 02 0 06 014217 FMPR R,FT(W1)
601 010365 322 07 0 00 010370 JUMPE W2,NM1B
602 010366 242 07 0 00 777777 LSH W2,-1
603 010367 367 06 0 00 010363 SOJG W1,NM1A1
604 010370 205 06 0 05 211000 NM1B: MOVSI W1,211000(T)
605 010371 164 02 0 00 000006 FMPR R,W1 ;COMPUTE VALUE OF NEW DIGIT
606 010372 147 02 0 00 016542 FADRB R,FH ;ADD VALUE INTO FLOATING NO.
607 010373 202 02 0 00 016530 MOVEM R,SYL
608 010374 344 05 0 00 010337 AOJA T,LE1A
609
610 010375 607 00 0 00 400000 POWER: TLNN F,(FEF)
611 010376 254 00 0 00 010121 JRST L4 ;NO EXPONENT
612 010377 302 04 0 00 011046 CAIE W,PLUS
613 010400 306 04 0 00 011045 CAIN W,MINUS
614 010401 662 00 0 00 004000 TROE F,POWF
615 010402 624 00 0 00 004000 TRZA F,POWF
616 010403 254 00 0 04 000000 JRST (W) ; E+-
617
618 010404 200 07 0 00 016534 MOVE W2,DEN
619 010405 402 00 0 00 016527 CLEARM FRASE
620 010406 201 06 0 00 014216 MOVEI W1,FT-1
621 010407 623 00 0 00 000002 TLZE F,(MF)
622 010410 201 06 0 00 014225 MOVEI W1,FT01
623 010411 334 05 0 00 016541 SKIPA T,FSV
624 010412 242 07 0 00 777777 POW2: LSH W2,-1
625 010413 622 07 0 00 000001 TRZE W2,1
626 010414 164 05 0 06 000000 FMPR T,(W1)
627 010415 322 07 0 00 010121 JUMPE W2,L4
628 010416 364 06 0 00 010412 SOJA W1,POW2
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 30
KLDDT MAC 5-May-78 12:59 DDT COMMAND PARSER SEQ 0023
629
630 010417 200 05 0 00 016552 PERIOD: MOVE T,LLOC
631 010420 603 00 0 00 000004 TLNE F,(SF) ;SYLLABLE STARTED
632 010421 200 05 0 00 016534 MOVE T,DEN
633 010422 202 05 0 00 016530 MOVEM T,SYL
634 010423 603 00 0 00 020000 TLNE F,(FPF) ;HAS A PERIOD BEEN SEEN BEFORE?
635 010424 661 00 0 00 000020 TLO F,(LTF) ;YES, TWO PERIODS MAKES A SYMBOL
636 010425 667 00 0 00 020005 TLON F,(FPF+SF+QF)
637 010426 201 05 0 00 000000 MOVEI T,0
638 010427 231 05 0 00 000400 IDIVI T,400
639 010430 332 00 0 00 000005 SKIPE T
640 010431 641 05 0 00 243000 TLC T,243000
641 010432 641 06 0 00 233000 TLC W1,233000
642 010433 140 05 0 00 016056 FAD T,[0] ;NORMALIZE T AND W1
643 010434 140 06 0 00 016056 FAD W1,[0]
644 010435 144 05 0 00 000006 FADR T,W1
645 010436 202 05 0 00 016542 MOVEM T,FH
646 010437 513 00 0 00 016355 HLLZS NM1A
647 010440 201 05 0 00 000045 MOVEI T,45 ;RADIX 50 PERIOD
648 010441 254 00 0 00 010340 JRST LE2
649
650 IFE FTFILE,<
651 010442 201 05 0 00 016603 PILOC: MOVEI T,SAVPI> ;GET ADDRESS FOR $I
652 010443 QUANIN:;TLO T,(DDTINT) ;(FUTURE) FLAG DDT INTERNAL REGISTERS
653 010443 254 00 0 00 010447 JRST QUAN1
654
655 010444 607 00 0 00 010000 QUAN: TLNN F,(CCF) ;$Q OR $$Q, WHICH?
656 010445 334 05 0 00 016531 SKIPA T,LWT ;$Q STRAIGHT
657 010446 204 05 0 00 016531 QUANSW: MOVS T,LWT ;$$Q SWAPPED (ALSO FOR $V)
658 010447 202 05 0 00 016530 QUAN1: MOVEM T,SYL
659 010450 661 00 0 00 000005 QUAN2: TLO F,(SF+QF) ;WRD,SYL STARTED
660 010451 621 00 0 00 010040 TLZ F,(CF+CCF)
661 010452 254 00 0 00 010060 JRST L2
662
663 ;HERE WHEN ESC TYPED
664
665 010453 663 00 0 00 000040 CONTRO: TLOE F,(CF)
666 010454 661 00 0 00 010000 TLO F,(CCF)
667 010455 476 00 0 00 016363 SETOM WAKALL ;SET WAKEUP ON EVERYTHING
668 010456 254 00 0 00 010060 JRST L2
669
670 IFN FTFILE,<PILOC==ERR>
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 31
KLDDT MAC 5-May-78 12:59 DDT COMMAND PARSER SEQ 0024
671
672 SUBTTL SYMBOL TABLE LOGIC
673 ;SYMBOL EVALUATION ROUTINE
674
675 010457 260 17 0 00 013456 EVAL: PUSHJ P,CSHVER ;GO SEE IF CACHE IS USEFUL
676 010460 254 00 0 00 010471 JRST EVALC4 ;ITS NOT. GO DO OLD STYLE LOOKUP
677 010461 205 03 0 00 777760 MOVSI S,-NSYMCS ;SCAN SYMBOL CACHE FIRST
678 010462 336 02 0 03 016675 EVALC1: SKIPN R,SYMCSH(S) ;GET POINTER
679 010463 254 00 0 00 010470 JRST EVALC3 ;NOT IN USE
680 010464 200 05 0 02 000000 MOVE T,0(R) ;GET SYM
681 010465 621 05 0 00 740000 TLZ T,(PNAME) ;FLUSH BITS
682 010466 316 05 0 00 016543 CAMN T,SYM ;SAME?
683 010467 254 00 0 00 010517 JRST EVALC2 ;YES, DONE
684 010470 253 03 0 00 010462 EVALC3: AOBJN S,EVALC1 ;KEEP LOOKING
685 010471 260 17 0 00 010537 EVALC4: PUSHJ P,SYMSET ;SET UP SYM TABLE POINTER AND COUNT
686
687 ;CERTAIN CALLS ENTER HERE WITH S AND R ALREADY SETUP
688
689 010472 620 00 0 00 030000 EVAL2: TRZ F,PNAMEF!MDLCLF ;CLEAR FLAGS FOR EVAL
690 010473 402 00 0 00 016546 SETZM SYMPNT ;CLEAR LOCAL SYM POINTER
691 010474 322 03 0 00 010521 JUMPE S,CPOPJ ;XFER IF SYM TABLE EMPTY
692 010475 325 02 0 00 010521 JUMPGE R,CPOPJ ;XFER IF POINTER NOT VALID
693
694 010476 200 05 0 02 000000 EVAL3: MOVE T,0(R) ;GET SYM FROM SYM TABLE
695 010477 627 05 0 00 740000 TLZN T,(PNAME) ;PROGRAM NAME? ALSO CLEAR THE FLAGS
696 JRST [JUMPE T,EVAL4 ;YES, IGNORE IF SYMBOL IS NULL
697 TRO F,PNAMEF ;SET PROGRAM NAME FLAG
698 010500 254 00 0 00 016057 JRST EVAL4]
699 010501 316 05 0 00 016543 CAMN T,SYM ;SYMBOL MATCH?
700 010502 254 00 0 00 010522 JRST EVAL6 ;YES
701 010503 253 02 0 00 010504 EVAL4: AOBJN R,.+1 ;NO VALID MATCH, CONTINUE LOOKING
702 010504 253 02 0 00 010510 AOBJN R,EVAL4A ;POINTER EXPIRED?
703 IFE FTFILE,<
704 010505 606 02 0 00 400000 TRNN R,1B18 ;TEST FOR HIGH SEGMENT SYM TABLE
705 010506 331 02 0 00 016535 SKIPL R,SAVHSM ;WAS LOW SEG, GET HIGH SEG POINTER, IF ANY
706 >
707 010507 200 02 1 00 016544 MOVE R,@SYMP ;WRAP AROUND TO LOW SEG END OF TABLE
708 010510 343 03 0 00 010476 EVAL4A: AOJLE S,EVAL3 ;TRANSFER IF ANY SYMBOLS LEFT
709 010511 336 02 0 00 016546 SKIPN R,SYMPNT ;SEARCH FINISHED, ANY LOCAL SYMS OUTSIDE
710 010512 263 17 0 00 000000 POPJ P, ;CURRENT PROGRAM AREA?
711 010513 602 00 0 00 020000 TRNE F,MDLCLF ;YES, WITH A UNIQUE VALUE?
712 010514 254 00 0 00 010166 JRST ERR ;NO, AMBIGIOUS
713 010515 550 06 0 00 000002 EVAL5: HRRZ W1,R
714 010516 260 17 0 00 013451 PUSHJ P,SYMCSI ;ADD SYM TO CACHE
715 010517 200 05 0 02 000001 EVALC2: MOVE T,1(R) ;GET VALUE OF SYMBOL
716 010520 350 00 0 17 000000 CPOPJ1: AOS (P) ;FOUND SYMBOL, SKIP
717 010521 263 17 0 00 000000 CPOPJ: POPJ P,
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 32
KLDDT MAC 5-May-78 12:59 SYMBOL TABLE LOGIC SEQ 0025
718 010522 200 05 0 02 000000 EVAL6: MOVE T,(R) ;SYM MATCHES, GET FLAGS BACK
719 010523 603 05 0 00 200000 TLNE T,(DELI) ;IS SYMBOL DELETED FOR INPUT?
720 010524 254 00 0 00 010503 JRST EVAL4 ;YES
721 010525 607 05 0 00 040000 TLNN T,(GLOBL) ;GLOBAL SYMS VALID ANYWHERE
722 010526 606 00 0 00 010000 TRNN F,PNAMEF ;HAS SECOND PROGRAM TABLE BEEN STARTED?
723 010527 254 00 0 00 010515 JRST EVAL5 ;LOCALS ALWAYS VALID IN CURRENT PROGRAM
724 010530 336 05 0 00 016546 SKIPN T,SYMPNT ;LOCAL OUTSIDE OF CURRENT PROGRAM
725 010531 254 00 0 00 010535 JRST EVAL7 ;YES, AND THE 1ST ONE OF THEM
726 010532 200 05 0 05 000001 MOVE T,1(T) ;GET VALUE OF PREVIOUS LOCAL
727 010533 312 05 0 02 000001 CAME T,1(R) ;IS IT THE SAME VALUE?
728 010534 660 00 0 00 020000 TRO F,MDLCLF ;NO, MULTIPLY DEFINED
729 010535 202 02 0 00 016546 EVAL7: MOVEM R,SYMPNT ;SAVE POINTER TO THIS LOCAL
730 010536 254 00 0 00 010503 JRST EVAL4 ;CONTINUE LOOKING FOR GLOBALS
731
732 ;BIT 40 - DELETE OUTPUT
733 ; 20 - DELETE INPUT
734 ; 10 - LOCAL
735 ; 04 -GLOBAL
736 ; NO BITS - PROGRAM NAME
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 33
KLDDT MAC 5-May-78 12:59 SYMBOL TABLE LOGIC SEQ 0026
737
738 ;SYMBOL TABLE POINTER AND COUNT SET UP ROUTINE
739
740 010537 SYMSET: IFE FTFILE,<
741 010537 201 02 0 00 010026* MOVEI R,.JBHSM ;TRY TO GET HIGH SEG SYM TABLE POINTER
742 010540 335 00 0 00 016717 IFN FTEXEC,<SKPEXC> ;NO HI SYM TABLE POINTER IN EXEC MODE
743 010541 260 17 0 00 013160 PUSHJ P,HFETCH
744 010542 201 05 0 00 000000 MOVEI T,0 ;NO HIGH SEGMENT
745 010543 202 05 0 00 016535 MOVEM T,SAVHSM ;SAVE HIGH SEG POINTER (OR 0)
746 >
747 010544 510 03 1 00 016544 HLLZ S,@SYMP ;GET WORD COUNT FOR LOW SEG TABLE
748 IFE FTFILE,<
749 010545 335 00 0 00 000005 SKIPGE T ;IF .JBHSM .GT. 0, INVALID
750 010546 270 03 0 00 000005 ADD S,T ;ADD WORD COUNT FOR HIGH SEG TABLE
751 >
752 010547 240 03 0 00 777755 ASH S,-^D19 ;PUSH TO RIGHT HALF AND DIVIDE BY 2
753 010550 331 05 0 00 016537 SKIPL T,PRGM ;GET $: POINTER, GOOD ONLY IF .LT. 0
754 010551 254 00 0 00 010564 JRST SYMS4 ;NOT GOOD, USE .JBSYM
755 IFE FTFILE,<
756 010552 602 05 0 00 400000 TRNE T,1B18 ;POINTER FROM .JBSYM OR .JBHSM?
757 JRST [PUSH P,T ;SAVE T
758 MOVEI R,.JBHNM ;NAME WORD
759 PUSHJ P,HFETCH ;GET FROM HISEG
760 SETCM T,SEGNAM ;SHOULD NEVER FAIL
761 MOVE R,T ;SAVE IN BETTER AC
762 POP P,T ;RESTORE T
763 CAME R,SEGNAM ;SAME HISEG?
764 JRST SYMS4 ;NO
765 010553 254 00 0 00 016062 JRST SYMS2] ;YES
766 >
767 010554 331 05 1 00 016544 SKIPL T,@SYMP ;PRGM CAME FROM .JBSYM
768 010555 254 00 0 00 010565 JRST SYMS5 ;.JBSYM POINTER INVALID
769 010556 574 02 0 00 000005 SYMS2: HLRE R,T ;GET NEGATIVE LENGTH
770 010557 274 05 0 00 000002 SUB T,R ;GET LAST ADR OF TABLE
771 010560 204 02 0 00 016537 MOVS R,PRGM ;GET NEG. LENGTH FOR $: POINTER
772 010561 270 02 0 00 000005 ADD R,T ; AND CALCULATE STARTING ADR
773 010562 500 02 0 00 016537 HLL R,PRGM ; AND SET UP TABLE LENGTH
774 010563 321 02 0 00 010521 JUMPL R,CPOPJ ;NO, POINTER IS OK AS LONG AS IT IS .LT. 0
775 010564 331 02 1 00 016544 SYMS4: SKIPL R,@SYMP ;SET UP POINTER INTO LOW SEG TABLE
776 010565 SYMS5: IFE FTFILE,<
777 010565 200 02 0 00 016535 MOVE R,SAVHSM ;LOW SEG POINTER BAD, TRY HI SEG
778 >
779 IFN FTFILE,<
780 MOVEI R,0
781 >
782 010566 263 17 0 00 000000 POPJ P,
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 34
KLDDT MAC 5-May-78 12:59 SYMBOL TABLE LOGIC SEQ 0027
783
784 010567 402 00 0 00 016537 SETNAM: SETZM PRGM ;FORGET OLD PROGRAM
785 010570 260 17 0 00 013462 PUSHJ P,CLRCSH ;CLEAR SYMBOL CACHE
786 010571 335 02 1 00 016544 SKIPGE R,@SYMP ;LOOK UP PROGRAM NAME FOR $:
787 010572 260 17 0 00 010620 PUSHJ P,SETSUB ;SEARCH LO SEG SYM TABLE
788 010573 321 02 0 00 010611 JUMPL R,SETN2 ;XFER IF NAME FOUND
789 IFE FTFILE,<
790 010574 201 02 0 00 010537* MOVEI R,.JBHSM
791 010575 335 00 0 00 016717 IFN FTEXEC,<SKPEXC> ;NO HI SYM TABLE POINTER IN EXEC MODE
792 010576 260 17 0 00 013160 PUSHJ P,HFETCH ;GET .JBHSM
793 010577 254 00 0 00 010170 JRST UNDEF ;NO HI SEG, NAME$: UNDEFINED
794 010600 335 02 0 00 000005 SKIPGE R,T ;IS HI SEG POINTER GOOD?
795 010601 260 17 0 00 010620 PUSHJ P,SETSUB ;YES, LOOK THRU HI SYM TABLE
796 >
797 010602 325 02 0 00 010170 JUMPGE R,UNDEF ;UNDEFINED IF NOT IN HI SEG
798 IFE FTFILE,<
799 010603 541 04 0 00 400000 HRRI W,1B18 ;SET FLAG SHOWING HI SEGMENT
800 010604 201 02 0 00 000000* MOVEI R,.JBHNM ;GET ADR OF HI SEG PROGRAM NAME
801 010605 335 00 0 00 016717 IFN FTEXEC,<SKPEXC>
802 010606 260 17 0 00 013160 PUSHJ P,HFETCH ; AND GO GET THE NAME
803 010607 201 05 0 00 000000 MOVEI T,0 ;NO HI SEG NAME, OR EXEC MODE
804 010610 202 05 0 00 016536 MOVEM T,SEGNAM > ;SAVE HI SEG NAME
805 010611 202 04 0 00 016537 SETN2: MOVEM W,PRGM ;SAVE -WC IN LH, HISEG=1 FLAG IN RH
806 010612 254 00 0 00 010176 JRST RET ;DONE, THANK YOU
807
808 ;SUBROUTINE TO SEARCH A SYM TABLE FOR A PROGRAM NAME
809 010613 200 05 0 02 000000 SETSB1: MOVE T,(R) ;ENTRY POINT IS "SETSUB"
810 010614 316 05 0 00 016543 CAMN T,SYM ;MATCH FOR PROGRAM NAME?
811 010615 263 17 0 00 000000 POPJ P, ;YES, RETURN WITH "ANSWER" IN W
812 010616 270 02 0 00 016054 ADD R,[2,,2] ;GO TO NEXT ENTRY
813 010617 607 05 0 00 740000 TLNN T,(PNAME) ;WAS LAST ENTRY A PROG NAME?
814 010620 510 04 0 00 000002 SETSUB: HLLZ W,R ;(ENTRY POINT) YES, SAVE POINTER TO HERE
815 010621 321 02 0 00 010613 JUMPL R,SETSB1 ;XFER IF ANY SYMBOLS LEFT
816 010622 263 17 0 00 000000 POPJ P, ;SEARCH FAILED, RETURN
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 35
KLDDT MAC 5-May-78 12:59 SYMBOL TABLE LOGIC SEQ 0028
817
818 010623 607 00 0 00 000020 KILL: TLNN F,(LTF) ;DELETE SYMBOLS
819 010624 254 00 0 00 010166 JRST ERR
820 010625 260 17 0 00 010457 PUSHJ P,EVAL
821 010626 254 00 0 00 010635 JRST KILL1
822 010627 200 05 0 02 000000 MOVE T,(R) ;GET SYM WITH FLAGS
823 010630 661 05 0 00 400000 TLO T,(DELO) ;ASSUME DELETE OUTPUT
824 010631 603 00 0 00 010000 TLNE F,(CCF) ;$$K?
825 010632 205 05 0 00 637777 MOVSI T,(DELO!DELI!37777B17) ;MAKE SYM IMPOSSIBLE LOCAL, DELETED IN AND OUT
826 010633 260 17 0 00 013154 PUSHJ P,DSYMER ;DEPOSIT IF LEGAL, ELSE ?
827 010634 254 00 0 00 010176 KILRET: JRST RET ;USED AS A CONSTANT
828
829
830 010635 331 02 1 00 016545 KILL1: SKIPL R,@USYMP ;REMOVE UNDEFINED SYMS
831 010636 254 00 0 00 010170 JRST UNDEF
832 010637 574 03 0 00 000002 KILL1A: HLRE S,R ;GET LENGTH OF UNDEFINED TABLE, AND
833 010640 240 03 0 00 777777 ASH S,-1 ;DIVIDE BY 2 TO GET # OF ENTRIES
834 IFE FTFILE,<
835 010641 402 00 0 00 016535 SETZM SAVHSM ;LOOK ONLY IN LOW SEG
836 >
837 010642 260 17 0 00 010472 KILL2: PUSHJ P,EVAL2
838 010643 254 00 0 00 010176 JRST RET
839 REPEAT 0,< ;IF ASSEMBLED OUT, DON'T ZERO CHAINED ADDRESSES
840 PUSH P,R
841 SKIPL R,1(R) ;CHAINED REQUEST?
842 JRST KILL4 ;YES
843 KILL3: POP P,R >
844 010644 260 17 0 00 010650 PUSHJ P,REMUN
845 010645 254 00 0 00 010166 JRST ERR ;CAN'T MODIFY SYMTAB
846 010646 200 02 1 00 016545 MOVE R,@USYMP ;START TABLE SEARCH OVER
847 010647 254 00 0 00 010637 JRST KILL1A
848
849 REPEAT 0,< ;IF ASSEMBLED OUT, DON'T ZERO CHAINED ADDRESSES
850 KILL4A: SKIPE R,S ;GET CHAIN ADR, STOP IF 0
851 KILL4: PUSHJ P,FETCH ;GET NEXT ADR OF CHAIN
852 JRST KILL3 ;FAILED, QUIT SEARCHING LIST
853 HRRZ S,T ;SAVE CHAIN POINTER
854 HLLZS T ;GET RID OF CHAIN ADDRESS, AND
855 PUSHJ P,DEPMEM ; DEPOSIT BACK INTO MEMORY
856 JFCL ;IGNORE IF WRITE LOCKED SEG
857 JRST KILL4A >
858
859 010650 200 03 1 00 016545 REMUN: MOVE S,@USYMP ;REMOVE ONE UNDEFINED SYMBOL
860 010651 200 05 0 03 000000 MOVE T,(S) ;MOVE SYMBOL 2 LOCATIONS
861 010652 260 17 0 00 013112 PUSHJ P,DEPSYM
862 010653 263 17 0 00 000000 POPJ P, ;CAN'T MODIFY SYMTAB
863 010654 200 05 0 03 000001 MOVE T,1(S)
864 010655 271 02 0 00 000001 ADDI R,1
865 010656 260 17 0 00 013154 PUSHJ P,DSYMER
866 010657 275 02 0 00 000001 SUBI R,1
867 010660 200 03 0 00 016054 MOVE S,[2,,2]
868 010661 273 03 1 00 016545 ADDB S,@USYMP
869 010662 254 00 0 00 010520 JRST CPOPJ1
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 36
KLDDT MAC 5-May-78 12:59 SYMBOL TABLE LOGIC SEQ 0029
870
871 010663 607 00 0 00 000020 TAG: TLNN F,(LTF) ; NO LETTERS IS ERROR
872 010664 254 00 0 00 010166 JRST ERR ; GO SAY ERROR
873 010665 603 00 0 00 001000 TLNE F,(FAF) ; DEFINE SYMBOLS
874 010666 254 00 0 00 010673 JRST DEFIN ;A.LT.B:
875 010667 603 00 0 00 000040 TLNE F,(CF) ;DEFINE SYMBOL AS OPEN REGISTER
876 010670 254 00 0 00 010567 JRST SETNAM
877 010671 200 04 0 00 016553 MOVE W,LLOCO
878 010672 552 04 0 00 016550 HRRZM W,DEFV
879
880 010673 260 17 0 00 010457 DEFIN: PUSHJ P,EVAL ;DEFINED SYMBOL?
881 010674 254 00 0 00 010700 JRST DEF1 ;NO - DEFINE
882 010675 200 05 0 02 000000 MOVE T,0(R) ;YES, GET FLAGS FOR SYMBOL TYPE
883 010676 603 05 0 00 740000 TLNE T,(PNAME) ;PROGRAM NAME?
884 010677 254 00 0 00 010716 JRST DEF2 ;NO, REDEFINE SYMBOL
885
886 010700 331 02 1 00 016544 DEF1: SKIPL R,@SYMP ;DEFINE A NEW SYMBOL
887 IFE FTFILE,<
888 JRST [MOVEI R,.JBHSM
889 IFN FTEXEC,<SKPEXC> ;NO HI SYM POINTER IN EXEC MODE
890 PUSHJ P,HFETCH ;GET HI SEG SYM POINTER
891 JRST ERR ;THERE IS NO SYM POINTER ANYWHERE
892 SUB T,[2,,2] ;MAKE ROOM FOR ANOTHER ENTRY
893 PUSHJ P,DSYMER ; AND STORE IT BACK
894 MOVE R,T
895 010701 254 00 0 00 016073 JRST DEF1A]
896 >
897 IFN FTFILE,<
898 JRST ERR
899 >
900 010702 274 02 0 00 016054 SUB R,[2,,2]
901 010703 202 02 1 00 016544 MOVEM R,@SYMP ;DECREMENT LO SEG SYM POINTER
902 010704 331 00 1 00 016545 DEF1A: SKIPL @USYMP ;DOES AN UNDEFINED TABLE EXIST?
903 010705 254 00 0 00 010716 JRST DEF2 ;NO
904 010706 200 03 0 00 000002 MOVE S,R
905 010707 370 02 1 00 016545 SOS R,@USYMP ;MOVE HI NUMBERED ENTRY ON UNDEFINED
906 010710 200 05 0 03 000001 MOVE T,1(S) ; TABLE TO LOW END
907 010711 260 17 0 00 013154 PUSHJ P,DSYMER
908 010712 370 02 1 00 016545 SOS R,@USYMP ;SAME FOR SECOND WORD
909 010713 200 05 0 03 000000 MOVE T,(S)
910 010714 260 17 0 00 013154 PUSHJ P,DSYMER
911 010715 200 02 0 00 000003 MOVE R,S ;GET DEFINED SYM POINTER BACK
912 010716 205 05 0 00 040000 DEF2: MOVSI T,(GLOBL)
913 010717 437 05 0 00 016543 IORB T,SYM
914 010720 260 17 0 00 013154 PUSHJ P,DSYMER
915 010721 200 05 0 00 016550 MOVE T,DEFV
916 010722 201 02 0 02 000001 MOVEI R,1(R)
917 010723 260 17 0 00 013154 PUSHJ P,DSYMER
918 010724 200 02 1 00 016545 MOVE R,@USYMP
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 37
KLDDT MAC 5-May-78 12:59 SYMBOL TABLE LOGIC SEQ 0030
919
920 010725 325 02 0 00 010176 DEF3: JUMPGE R,RET ;PATCH IN VALUE FOR UNDEF SYM ENTRY
921 010726 200 05 0 00 016543 MOVE T,SYM
922 010727 661 05 0 00 040000 TLO T,(GLOBL) ;UNDEFINED TABLE HAS GLOBAL ENTRIES
923 010730 312 05 0 02 000000 CAME T,(R)
924 010731 254 00 0 00 010752 JRST DEF4
925 010732 261 17 0 00 000002 PUSH P,R ;SAVE POINTER INTO UNDEF TABLE
926 010733 331 02 0 02 000001 SKIPL R,1(R) ;IS ENTRY AN ADDITIVE REQUEST?
927 010734 254 00 0 00 010754 JRST DEF7 ;NO, CHAINED IN RIGHT HALF
928 010735 260 17 0 00 013164 PUSHJ P,FETCH ;GET OBJECT CELL
929 010736 254 00 0 00 010166 JRST ERR
930 010737 607 02 0 00 020000 TLNN R,(STNEG) ;ADDITIVE OR SUBTRACTIVE?
931 010740 334 03 0 00 016550 SKIPA S,DEFV ;ADDITIVE
932 010741 210 03 0 00 016550 MOVN S,DEFV ;SUBTRACTIVE
933 010742 603 02 0 00 200000 TLNE R,(STLH) ;RIGHT OR LEFT HALF?
934 JRST [HRLZS S ;LEFT HALF
935 ADD T,S ;ADD INTO LEFT HALF
936 010743 254 00 0 00 016103 JRST DEF5]
937 010744 270 03 0 00 000005 ADD S,T ;RIGHT HALF, ADD HALVES
938 010745 540 05 0 00 000003 HRR T,S ; AND REPLACE RIGHT HALF
939 010746 260 17 0 00 013155 DEF5: PUSHJ P,DMEMER ;STORE RESULT BACK INTO MEMORY
940 010747 262 17 0 00 000002 DEF6: POP P,R ;GET UNDEF TABLE POINTER BACK
941 010750 260 17 0 00 010650 PUSHJ P,REMUN
942 010751 254 00 0 00 010166 JRST ERR ;CAN'T MODIFY SYMTAB
943 010752 270 02 0 00 016054 DEF4: ADD R,[XWD 2,2] ;REMOVE THE NOW DEFINED SYMBOL
944 010753 254 00 0 00 010725 JRST DEF3
945
946 010754 322 02 0 00 010747 DEF7: JUMPE R,DEF6 ;JUMP IF ALL DONE
947 010755 260 17 0 00 013164 PUSHJ P,FETCH ;GET OBJECT CELL
948 010756 254 00 0 00 010166 JRST ERR
949 010757 550 03 0 00 000005 HRRZ S,T ;SAVE CHAIN POINTER
950 010760 540 05 0 00 016550 HRR T,DEFV ;REPLACE WITH NEW VALUE
951 010761 260 17 0 00 013155 PUSHJ P,DMEMER ; AND STORE BACK INTO MEMORY
952 010762 550 02 0 00 000003 HRRZ R,S ;LOOP TO END
953 010763 254 00 0 00 010754 JRST DEF7 ; OF CHAIN
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 38
KLDDT MAC 5-May-78 12:59 SYMBOL TABLE LOGIC SEQ 0031
954
955 SUBTTL TEXT COMMANDS (" AND $")
956
957 010764 622 00 0 00 000001 TEXI: TRZE F,Q2F ;QUANT AFTER $ ?
958 JRST [MOVE T,WRD2 ;YES
959 CAIE T,5 ; $5" ?
960 JRST ERR ;NO, ONLY CASE KNOWN
961 MOVE T,SYM ;YES, TAKE PREVIOUS SYL AS RADIX50
962 TLZ F,(FPF+FEF+LTF) ;REINIT SYL
963 010765 254 00 0 00 016106 JRST QUAN1]
964 010766 550 05 0 00 016553 HRRZ T,LLOCO ;GET ADR OF OPEN REG
965 010767 202 05 0 00 016673 MOVEM T,TEM ;SAVE IT FOR LOCAL USE
966 010770 260 17 0 00 011024 PUSHJ P,TEXIN0 ;GET TERMINATOR
967 010771 202 05 0 00 016530 MOVEM T,SYL ;SAVE TERMINATOR
968 010772 260 17 0 00 014704 PUSHJ P,TEXIN ;GET FIRST CHARACTER
969 010773 306 05 0 00 000033 CAIN T,33 ;ESC?
970 010774 254 00 0 00 010450 JRST QUAN2 ;YES, EQUALS ONE ASCII/SIXBIT CHAR
971 010775 260 17 0 00 011025 PUSHJ P,TEXIN1 ;CONVERT TO SIXBIT IF NECESSARY
972 010776 200 06 0 00 016114 TEXI4: MOVE W1,[POINT 7,W] ;SETUP TO BUILD WORD IN W
973 010777 603 00 0 00 000040 TLNE F,(CF) ;SIXBIT?
974 011000 505 06 0 00 440600 HRLI W1,(POINT 6,0) ;YES, MODIFY BYTE POINTER
975 011001 201 04 0 00 000000 MOVEI W,0 ;INIT WORD TO 0
976 011002 316 05 0 00 016530 TEXI2: CAMN T,SYL ;REACHED TERMINATOR?
977 JRST [MOVE T,W ;GET LAST WORD
978 HRRZ R,TEM
979 CAMN R,LLOCO ;MULTIPLE-WORD INPUT?
980 JRST QUAN1 ;NO, JUST RETURN QUANTITY
981 PUSHJ P,PSHLLC ;YES, SAVE OLD LOC
982 MOVEM R,LLOC ;SET LOC TO END OF INPUT
983 MOVEM R,LLOCO
984 011003 254 00 0 00 016115 JRST QUAN1] ;GO USE AS QUANTITY
985 011004 607 06 0 00 760000 TLNN W1,(76B5) ;ROOM FOR ANOTHER BYTE IN WORD?
986 011005 254 00 0 00 011011 JRST TEXI3 ;NO
987 011006 136 05 0 00 000006 IDPB T,W1 ;YES, STORE IT
988 011007 260 17 0 00 011024 PUSHJ P,TEXIN0 ;GET ANOTHER INPUT CHARACTER
989 011010 254 00 0 00 011002 JRST TEXI2
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 39
KLDDT MAC 5-May-78 12:59 TEXT COMMANDS (" AND $") SEQ 0032
990
991 ;HERE WHEN WORD FULL
992
993 011011 205 06 0 00 440000 TEXI3: MOVSI W1,(POINT 0,0)
994 011012 607 00 0 00 000010 TLNN F,(ROF) ;REGISTER OPEN?
995 011013 254 00 0 00 011002 JRST TEXI2 ;NO, LOSE ANY ADDITIONAL INPUT
996 011014 261 17 0 00 000005 PUSH P,T ;SAVE CHARACTER
997 011015 200 05 0 00 000004 MOVE T,W ;GET FULL WORD
998 011016 550 02 0 00 016673 HRRZ R,TEM ;GET LOC OF NEXT REGISTER
999 011017 260 17 0 00 013112 PUSHJ P,DEPMEM ;STORE WORD
1000 011020 254 00 0 00 010166 JRST ERR ;CAN'T
1001 011021 350 00 0 00 016673 AOS TEM ;BUMP LOC
1002 011022 262 17 0 00 000005 POP P,T ;RECOVER CHARACTER
1003 011023 254 00 0 00 010776 JRST TEXI4 ;GO REINIT WORD AND CONTINUE INPUT
1004
1005 ;GET INPUT CHARACTER, CONVERT TO SIXBIT IF NECESSARY
1006
1007 011024 260 17 0 00 014704 TEXIN0: PUSHJ P,TEXIN ;GET CHAR
1008 011025 607 00 0 00 000040 TEXIN1: TLNN F,(CF) ;SIXBIT MODE?
1009 011026 263 17 0 00 000000 POPJ P, ;NO
1010 011027 301 05 0 00 000141 CONV6: CAIL T,"A"+40 ;IS CHAR BETWEEN LOWER CASE "A" AND
1011 011030 303 05 0 00 000172 CAILE T,"Z"+40 ; LOWER CASE "Z"?
1012 011031 334 00 0 00 000000 SKIPA ;NO
1013 011032 640 05 0 00 000040 TRC T,40 ;YES, CONVERT TO UPPER CASE
1014 011033 301 05 0 00 000040 CAIL T," " ;IS CHAR IN SIXBIT SET?
1015 011034 303 05 0 00 000137 CAILE T,"_"
1016 011035 254 00 0 00 010166 JRST ERR ;NO
1017 011036 405 05 0 00 000077 ANDI T,77 ;YES, MASK TO 6 BITS
1018 011037 640 05 0 00 000040 TRC T,40 ;CONVERT TO SIXBIT FORM
1019 011040 263 17 0 00 000000 POPJ P,
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 40
KLDDT MAC 5-May-78 12:59 TEXT COMMANDS (" AND $") SEQ 0033
1020
1021 ;***ROUTINES BEYOND HERE EVALUATE THEIR ARGUMENT***
1022
1023 011041 665 00 0 00 000300 MULT: TLOA F,(PTF+MLF) ;*
1024 011042 661 00 0 00 040100 DIVD: TLO F,(DVF+PTF) ;SINGLE QUOTE
1025 011043 254 00 0 00 010047 JRST L1
1026
1027 011044 254 00 0 00 011046 ASSEM: JRST PLUS ;#
1028 011045 661 00 0 00 000002 MINUS: TLO F,(MF)
1029 011046 661 00 0 00 000100 PLUS: TLO F,(PTF)
1030 011047 254 00 0 00 010044 JRST LIS2
1031
1032 011050 261 17 0 00 000000 LPRN: PUSH P,F ;RECURSE FOR OPEN PAREN
1033 011051 261 17 0 00 016524 PUSH P,WRD
1034 011052 261 17 0 00 016527 PUSH P,FRASE
1035 011053 261 17 0 00 016533 PUSH P,FRASE1
1036 011054 350 00 0 00 016526 AOS,PRNC
1037 011055 254 00 0 00 010016 JRST LIS
1038
1039 011056 515 04 0 00 000020 INDIRE: HRLZI W,20 ;@
1040 011057 437 04 0 00 016524 IORB W,WRD
1041 011060 661 00 0 00 000001 TLO F,(QF)
1042 011061 254 00 0 00 010044 JRST LIS2
1043
1044 011062 200 02 0 00 000005 ACCF: MOVE R,T ;COMMA PROCESSOR
1045 011063 256 00 0 00 016356 XCT ACCCF ;MOVEI T,..
1046 011064 663 00 0 00 200000 TLOE F,(COMF) ;COMMA TYPED BEFORE?
1047 011065 254 00 0 00 011076 JRST ACCF1 ;YES
1048 011066 542 02 0 00 016356 HRRM R,ACCCF ;NO, SAVE LEFT HALF OF A,,B
1049 011067 510 05 0 00 000002 HLLZ T,R
1050 011070 135 06 0 00 016125 LDB W1,[POINT 3,WRD,2] ;CHECK FOR IO INSTRUCTION
1051 011071 231 06 0 00 000007 IDIVI W1,7
1052 011072 242 02 0 06 000027 LSH R,27(W1)
1053 011073 270 05 0 00 000002 ADD T,R
1054 011074 273 05 0 00 016524 ADDB T,WRD
1055 011075 254 00 0 00 011102 JRST SPAC1
1056
1057 011076 270 05 0 00 016524 ACCF1: ADD T,WRD ; FOR ",," GET LEFT HALF TOGETHER
1058 011077 516 05 0 00 016524 HRLZM T,WRD ; AND PUT IT IN LEFT HALF
1059 011100 254 00 0 00 011102 JRST SPAC1
1060
1061 011101 603 00 0 00 000001 SPACE: TLNE F,(QF)
1062 011102 661 00 0 00 100000 SPAC1: TLO F,(TIF)
1063 011103 621 00 0 00 000102 TLZ F,(MF+PTF)
1064 011104 254 00 0 00 010043 JRST LIS1
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 41
KLDDT MAC 5-May-78 12:59 TEXT COMMANDS (" AND $") SEQ 0034
1065
1066 011105 607 00 0 00 000001 RPRN: TLNN F,(QF) ;)
1067 011106 201 05 0 00 000000 MOVEI T,0
1068 011107 204 05 0 00 000005 MOVS T,T
1069 011110 375 00 0 00 016526 SOSGE,PRNC
1070 011111 254 00 0 00 010166 JRST ERR
1071 011112 262 17 0 00 016533 POP P,FRASE1
1072 011113 262 17 0 00 016527 POP P,FRASE
1073 011114 262 17 0 00 016524 POP P,WRD
1074 011115 262 17 0 00 000000 POP P,F
1075 011116 603 00 0 00 000100 TLNE F,(PTF)
1076 011117 603 00 0 00 000004 TLNE F,(SF)
1077 011120 254 00 0 00 011124 JRST RPRN1
1078 011121 202 05 0 00 016530 MOVEM T,SYL
1079 011122 661 00 0 00 000005 TLO F,(QF+SF)
1080 011123 254 00 0 00 010051 JRST L1RPR
1081 011124 273 05 0 00 016524 RPRN1: ADDB T,WRD
1082 011125 661 00 0 00 000001 TLO F,(QF)
1083 011126 254 00 0 00 010050 JRST L1A
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 42
KLDDT MAC 5-May-78 12:59 TEXT COMMANDS (" AND $") SEQ 0035
1084
1085 SUBTTL REGISTER EXAMINATION LOGIC
1086
1087 011127 260 17 0 00 011277 LINEF: PUSHJ P,DEPRA ;NEXT REGISTER
1088 011130 260 17 0 00 014261 PUSHJ P,CRN ;DO CR ONLY
1089 011131 350 05 0 00 016552 AOS T,LLOC ;BUMP LOC
1090 011132 LI1: ;PUSHJ P,LINCHK ;TRUNCATE ADRS (UNLESS INSIDE DDT)
1091 011132 552 05 0 00 016552 HRRZM T,LLOC
1092 011133 552 05 0 00 016553 HRRZM T,LLOCO
1093 011134 260 17 0 00 013572 PUSHJ P,PAD
1094 011135 201 05 0 00 000057 MOVEI T,"/"
1095 011136 312 10 0 00 016667 CAME SCH,SCHM ;TEMP MODE SAME AS PERM?
1096 JRST [CAIN SCH,FTOC ;NO, CONSTANT?
1097 MOVEI T,"[" ;YES
1098 CAIN SCH,PIN ;INSTRUCTION?
1099 MOVEI T,"]" ;YES
1100 011137 254 00 0 00 016126 JRST .+1] ;USE APPROPRIATE INDICATION
1101 011140 603 00 0 00 004000 TLNE F,(STF)
1102 011141 201 05 0 00 000041 MOVEI T,"!"
1103 011142 260 17 0 00 014533 PUSHJ P,TOUT
1104 011143 621 00 0 00 000010 LI2: TLZ F,(ROF)
1105 011144 260 17 0 00 014266 PUSHJ P,LCT
1106 011145 200 02 0 00 016553 MOVE R,LLOCO
1107 011146 260 17 0 00 013164 PUSHJ P,FETCH
1108 IFE FTDEC20,<
1109 011147 254 00 0 00 010166 JRST ERR>
1110 IFN FTDEC20,<
1111 JRST [TLO F,(ROF) ;SAY REGISTER OPENED
1112 MOVEI W1,"?" ;BUT ONLY TYPE "?"
1113 JRST TEXT]>
1114 011150 661 00 0 00 000010 TLO F,(ROF)
1115 011151 603 00 0 00 004000 TLNE F,(STF)
1116 011152 254 00 0 00 010014 JRST DD2
1117 011153 254 00 0 00 013466 JRST CONSYM ;RETURN IS A POPJ
1118
1119 ;CRLF AND OPEN NEXT REGISTER SUBROUTINE
1120
1121 011154 260 17 0 00 014263 LI0: PUSHJ P,CRF
1122 011155 350 05 0 00 016552 AOS T,LLOC
1123 011156 254 00 0 00 011132 JRST LI1
1124
1125 REPEAT 0,<
1126 LINCHK: CAML T,[DDTINT SAVPI] ;TRUNCATE ADDRESSES
1127 CAMLE T,[DDTINT BNADR+2]
1128 HRRZS T
1129 MOVEM T,LLOC
1130 MOVEM T,LLOCO
1131 POPJ P,
1132 >
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 43
KLDDT MAC 5-May-78 12:59 REGISTER EXAMINATION LOGIC SEQ 0036
1133 011157 260 17 0 00 011277 VARRW: PUSHJ P,DEPRA ;^
1134 011160 260 17 0 00 014263 PUSHJ P,CRF
1135 011161 370 05 0 00 016552 SOS T,LLOC
1136 011162 254 00 0 00 011132 JRST LI1
1137
1138 011163 260 17 0 00 011277 CARR: PUSHJ P,DEPRA ;CLOSE REGISTER
1139 011164 260 17 0 00 014705 PUSHJ P,TIN ;GLOBBLE UP FOLLOWING LINEFEED
1140 011165 402 00 0 00 016367 CARR1: SETZM CHINP ;REINIT INPUT LINE
1141 011166 402 00 0 00 016362 SETZM CHINC
1142 011167 550 05 0 00 016552 HRRZ T,LLOC ;GET CURRENT LOC
1143 011170 603 00 0 00 000040 TLNE F,(CF) ; $ PRECEEDED?
1144 011171 254 00 0 00 011132 JRST LI1 ;YES, GO OPEN REGISTER
1145 011172 254 00 0 00 010007 JRST DD1.5
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 44
KLDDT MAC 5-May-78 12:59 REGISTER EXAMINATION LOGIC SEQ 0037
1146
1147 011173 607 00 0 00 010000 SLASH: TLNN F,(CCF) ; $$/ ?
1148 011174 254 00 0 00 011210 JRST SLAS2 ;NO
1149 011175 462 00 0 00 016601 SETCMM EFAFLG ;YES, COMPLEMENT EFF ADR FLAG
1150 011176 254 00 0 00 010176 JRST RET ;OPEN NO REGISTER
1151
1152 011177 603 00 0 00 000001 OCON: TLNE F,(QF) ;QUANT TYPED?
1153 011200 201 10 0 00 014037 MOVEI SCH,FTOC ;YES, CHANGE TEMP MODE TO CONSTANT
1154 011201 660 00 0 00 002400 TRO F,LF1+CF1 ;OPEN AS CONSTANT
1155 011202 254 00 0 00 011210 JRST SLAS2 ;TYPE
1156
1157 011203 603 00 0 00 000001 OSYM: TLNE F,(QF) ;QUANT TYPED?
1158 011204 201 10 0 00 013473 MOVEI SCH,PIN ;YES, CHANGE TEMP MODE TO INSTRUCTION
1159 011205 620 00 0 00 000400 TRZ F,CF1 ;OPEN SYMBOLICALLY
1160 011206 664 00 0 00 002000 TROA F,LF1
1161 011207 665 00 0 00 004000 SUPTYO: TLOA F,(STF) ;SUPPRESS TYPEOUT
1162 011210 621 00 0 00 004000 SLAS2: TLZ F,(STF) ;TYPE OUT NOT SUPPRESSED
1163 011211 260 17 0 00 011233 SLASH2: PUSHJ P,CEFF ;COMPUTE EFF ADR
1164 011212 607 00 0 00 000001 TLNN F,(QF) ;WAS ANY QUANTITY TYPED?
1165 011213 254 00 0 00 011216 JRST SLAS1 ;NO. DO NOT CHANGE MAIN SEQUENCE
1166 011214 260 17 0 00 011261 PUSHJ P,PSHLLC ;PUSH OLD SEQUENCE
1167 011215 552 05 0 00 016552 HRRZM T,LLOC ;SETUP NEW SEQUENCE
1168 011216 552 05 0 00 016553 SLAS1: HRRZM T,LLOCO
1169 011217 254 00 0 00 011143 JRST LI2
1170
1171 011220 260 17 0 00 013104 ICON: PUSHJ P,DEPRS ;BACKSLASH
1172 011221 260 17 0 00 011233 PUSHJ P,CEFF ;COMPUTE EFF ADR
1173 011222 254 00 0 00 011216 JRST SLAS1
1174
1175 011223 260 17 0 00 013104 TAB: PUSHJ P,DEPRS ;OPEN REGISTER OF Q
1176 011224 260 17 0 00 011233 PUSHJ P,CEFF ;COMPUTE EFF ADR
1177 011225 201 05 0 05 777777 MOVEI T,-1(T)
1178 011226 260 17 0 00 011261 PUSHJ P,PSHLLC ;PUSH OLD SEQUENCE
1179 011227 202 05 0 00 016552 MOVEM T,LLOC ;SETUP NEW SEQUENCE
1180 011230 561 05 0 00 700000 HRROI T,700000 ;3 RUBOUTS
1181 011231 260 17 0 00 014233 PUSHJ P,TEXTT
1182 011232 254 00 0 00 011154 JRST LI0
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 45
KLDDT MAC 5-May-78 12:59 REGISTER EXAMINATION LOGIC SEQ 0038
1183
1184 ;ROUTINE TO COMPUTE EFFECTIVE ADDRESS OF QUANTITY IN T. COMPUTATION
1185 ;IS PERFORMED USING USER PROGRAM VARIABLES.
1186 ; T/ QUANTITY
1187 ; PUSHJ P,CEFF
1188 ; RETURN +1 ALWAYS, T/ EFFECTIVE ADDRESS IN RH
1189 ;PRINTS "??" AND BOMBS OUT IF INDIRECT WORD NOT ACCESSIBLE
1190
1191 011233 332 00 0 00 016601 CEFF: SKIPE EFAFLG ;PERMANENT MODE CHANGED?
1192 011234 641 00 0 00 000040 TLC F,(CF) ;YES, COMPLEMENT EFFECT OF ESC
1193 011235 627 00 0 00 000040 TLZN F,(CF) ;ESC BEFORE COMMAND?
1194 011236 263 17 0 00 000000 POPJ P, ;NO, USE RH ONLY
1195 011237 607 05 0 00 000017 TLNN T,17 ;INDEXING?
1196 011240 254 00 0 00 011250 JRST CEFF1 ;NO
1197 011241 261 17 0 00 000005 PUSH P,T ;YES, SAVE QUANTITY
1198 011242 135 02 0 00 016133 LDB R,[POINT 4,T,17] ;GET INDEX ADDRESS
1199 011243 260 17 0 00 013164 PUSHJ P,FETCH ;FETCH CONTENTS OF XR
1200 011244 255 00 0 00 000000 JFCL ;ASSUME AC'S ALWAYS ACCESSABLE
1201 011245 262 17 0 00 000002 POP P,R ;RECOVER ORIGINAL QUANTITY
1202 011246 270 05 0 00 000002 ADD T,R ;T=Y+C(XR)
1203 011247 500 05 0 00 000002 HLL T,R ;KEEP ORIGINAL LH
1204 011250 607 05 0 00 000020 CEFF1: TLNN T,(Z @0) ;HAVE INDIRECTION?
1205 011251 263 17 0 00 000000 POPJ P, ;NO, DONE
1206 011252 550 02 0 00 000005 HRRZ R,T ;YES, GET INDIRECT ADDRESS
1207 011253 260 17 0 00 013164 PUSHJ P,FETCH ;FETCH CONTENTS
1208 011254 254 00 0 00 011256 JRST CEFF2 ;FETCH FAILED
1209 011255 254 00 0 00 011233 JRST CEFF ;REPEAT USING INDIRECT WORD
1210
1211 011256 205 06 0 00 375760 CEFF2: MOVSI W1,(ASCII /??/) ;INDIRECT FETCH FAILED
1212 011257 260 17 0 00 014234 PUSHJ P,TEXT ;PRINT LOSS INDICATION
1213 011260 254 00 0 00 010006 JRST DD1 ;LEAVE REGISTER NOT OPEN, DO CRLF, ETC.
1214
1215 ;ROUTINES TO HANDLE RING BUFFER OF LOCATIONS
1216
1217 ;'PUSH' CURRENT LOCATION
1218
1219 011261 350 13 0 00 016554 PSHLLC: AOS TT,SAVLP ;BUMP POINTER
1220 011262 301 13 0 00 000020 CAIL TT,NSAVTB ;AT END OF TABLE?
1221 011263 403 13 0 00 016554 SETZB TT,SAVLP ;YES, WRAPAROUND
1222 011264 261 17 0 00 016552 PUSH P,LLOC ;GET CURRENT LOCATION
1223 011265 262 17 0 13 016555 POP P,SAVLTB(TT) ;ADD IT TO TABLE
1224 011266 263 17 0 00 000000 POPJ P,
1225
1226 ;'POP' CURRENT LOCATION
1227
1228 011267 200 13 0 00 016554 POPLLC: MOVE TT,SAVLP ;GET POINTER
1229 011270 200 13 0 13 016555 MOVE TT,SAVLTB(TT) ;REMOVE FROM TABLE
1230 011271 202 13 0 00 016552 MOVEM TT,LLOC ;SET AS CURRENT LOC
1231 011272 370 13 0 00 016554 SOS TT,SAVLP ;DECREMENT PTR
1232 011273 325 13 0 00 011276 JUMPGE TT,POPLC1 ;AT TOP OF TABLE?
1233 011274 201 13 0 00 000017 MOVEI TT,NSAVTB-1 ;YES, WRAPAROUND
1234 011275 202 13 0 00 016554 MOVEM TT,SAVLP
1235 011276 263 17 0 00 000000 POPLC1: POPJ P,
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 46
KLDDT MAC 5-May-78 12:59 REGISTER EXAMINATION LOGIC SEQ 0039
1236
1237 011277 603 00 0 00 000040 DEPRA: TLNE F,(CF) ;$ PRECEEDED?
1238 011300 260 17 0 00 011267 PUSHJ P,POPLLC ;YES, POP OLD SEQUENCE
1239 011301 603 00 0 00 000010 TLNE F,(ROF) ;IF REGISTER IS BEING CHANGED
1240 011302 607 00 0 00 000001 TLNN F,(QF) ;REMOVE ALL PREVIOUS UNDEFINED
1241 011303 254 00 0 00 013104 JRST DEPRS ;SYMBOL REFERENCES TO IT
1242 011304 200 02 1 00 016545 MOVE R,@USYMP ;GET POINTER TO ALL OLD UNDEF ITEMS
1243 011305 202 06 1 00 016545 MOVEM W1,@USYMP ;INCLUDE THE NEW ITEMS IN UNDEF LIST
1244 IFN FTFILE,<
1245 SKIPN CRASHS ;SEE IF /M
1246 JRST DEPRS ;YES--NO UNDEF FIXUPS
1247 >
1248 011306 202 05 0 00 016531 MOVEM T,LWT ;SAVE T IN LWT, DEPRS DOES IT ANYWAY
1249 011307 325 02 0 00 011322 DEPRA2: JUMPGE R,DEPRA5 ;IF JOBUSY SYM TABLE EDITED, STOP
1250 011310 261 17 0 00 000002 PUSH P,R
1251 011311 200 04 0 02 000001 MOVE W,1(R) ;GET FLAGS AND POINTER
1252 011312 327 04 0 00 011324 JUMPG W,DPRS3 ;1B0=0 IMPLIES CHAINING
1253 011313 262 17 0 00 000002 DEPRA4: POP P,R
1254 011314 550 05 0 02 000001 HRRZ T,1(R) ;GET ADDRESS OF FIXUP
1255 011315 332 00 0 00 000005 SKIPE T ;DELETE ENTRY IF ADR=0, OR
1256 011316 316 05 0 00 016553 CAMN T,LLOCO ; IF ADR IS BEING CHANGED
1257 JRST [PUSHJ P,REMUN ;REMOVE ENTRY FROM JOBUSY
1258 JRST DEPRA5 ;FAILED, NO UNDEF FIXUPS
1259 011317 254 00 0 00 016134 JRST .+1]
1260 011320 270 02 0 00 016054 ADD R,[2,,2] ;CONTINUE SEARCHING TABLE
1261 011321 254 00 0 00 011307 JRST DEPRA2
1262
1263 011322 200 05 0 00 016531 DEPRA5: MOVE T,LWT ;RESTORE QUANTITY
1264 011323 254 00 0 00 013104 JRST DEPRS ;DO THE STORE
1265
1266 011324 561 03 0 02 000001 DPRS3: HRROI S,1(R) ;GET 1ST CHAIN ADR FROM JOBUSY TABLE
1267 ; AND SET FLAG TO USE DEPSYM FIRST TIME
1268 011325 550 02 0 00 000004 DPRS4: HRRZ R,W ;GET NEXT ADR (AFTER ADR IN S)
1269 011326 322 02 0 00 011313 JUMPE R,DEPRA4 ;STOP ON 0 ADR
1270 011327 260 17 0 00 013164 PUSHJ P,FETCH ;GET CONTENTS OF ADR IN R
1271 011330 254 00 0 00 011313 JRST DEPRA4 ;****UNDEFINED SYMBOL TABLE OR FIXUP
1272 ; CHAIN POINTS TO ILL. MEM. TRY
1273 ; TO CONTINUE.
1274 011331 250 05 0 00 000004 EXCH T,W
1275 011332 250 03 0 00 000002 EXCH S,R
1276 011333 312 03 0 00 016553 CAME S,LLOCO ;IS THIS WORD BEING CHANGED?
1277 011334 254 00 0 00 011325 JRST DPRS4 ;NO, CONTINUE SEARCHING LIST
1278 011335 540 05 0 00 000004 HRR T,W ;PATCH CHAIN ADR AROUND ITEM
1279 011336 607 02 0 00 777777 TLNN R,-1 ;SEE IF NEED TO USE DEPSYM
1280 011337 634 14 0 00 000014 TDZA TT1,TT1 ;NO--USE DEPMEM
1281 011340 201 14 0 00 000000 MOVEI TT1,DEPSYM-DEPMEM ;YES. NOTE THAT R CAME FROM S
1282 ; WHICH HAS -1 IN LH FIRST TIME AROUND
1283 ; LOOP AND 0 OTHER TIMES.
1284 011341 260 17 0 14 013112 PUSHJ P,DEPMEM(TT1) ;CALL EITHER DEPMEM OR DEPSYM
1285 011342 254 04 0 00 011342 HALT .
1286 011343 254 00 0 00 011325 JRST DPRS4 ;CONTINUE DOWN CHAIN
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 47
KLDDT MAC 5-May-78 12:59 REGISTER EXAMINATION LOGIC SEQ 0040
1287
1288 SUBTTL MODE CONTROL SWITCHES
1289
1290 011344 201 02 0 00 000450 TEXO: MOVEI R,TEXTT-HLFW ;$T ASSUME 7 BIT ASCII
1291 011345 200 05 0 00 016525 MOVE T,WRD2
1292 011346 306 05 0 00 000006 CAIN T,6 ;CHECK FOR $6T
1293 011347 201 02 0 00 000466 MOVEI R,SIXBP-HLFW ;SET MODE SWITCH FOR SIXBIT
1294 011350 306 05 0 00 000005 CAIN T,5 ;CHECK FOR $5T
1295 011351 201 02 0 00 000460 MOVEI R,R50PNT-HLFW ;SET MODE SWITCH FOR RADIX 50
1296 011352 271 02 0 00 777440 HWRDS: ADDI R,HLFW-TFLOT ;H
1297 011353 271 02 0 00 000430 SFLOT: ADDI R,TFLOT-PIN ;F
1298 011354 271 02 0 00 777434 SYMBOL: ADDI R,PIN-FTOC ;S
1299 011355 271 02 0 00 014037 CON: ADDI R,FTOC ;C
1300 011356 552 02 0 00 000010 HRRZM R,SCH
1301 011357 254 00 0 00 011372 JRST BASE1
1302
1303 011360 622 00 0 00 000001 RELA: TRZE F,Q2F ;CHANGE ADDRESS MODE TO RELATIVE
1304 011361 254 00 0 00 011366 JRST BASECH
1305 011362 201 02 0 00 777535 MOVEI R,PADSO-TOC
1306 011363 271 02 0 00 014037 ABSA: ADDI R,TOC ;A
1307 011364 552 02 0 00 000011 HRRZM R,AR
1308 011365 254 00 0 00 011374 JRST BASE1S
1309
1310 011366 200 05 0 00 016525 BASECH: MOVE T,WRD2 ;$NR CHANGE OUTPUT RADIX TO N, N .GT. 1
1311 011367 305 05 0 00 000002 CAIGE T,2
1312 011370 254 00 0 00 010166 JRST ERR
1313 011371 552 05 0 00 000012 HRRZM T,ODF
1314 011372 332 03 0 00 016510 BASE1: SKIPE S,OLDAR
1315 011373 200 11 0 00 000003 MOVE AR,S
1316 011374 402 00 0 00 016510 BASE1S: SETZM OLDAR
1317 011375 204 03 0 00 016046 BASE1O: MOVS S,[XWD SCHM,SCH]
1318 011376 607 00 0 00 010000 TLNN F,(CCF)
1319 011377 254 00 0 00 010043 JRST LIS1
1320 011400 251 03 0 00 016671 BLT S,ODFM ;WITH $$, MAKE MODES PERMANENT
1321 011401 200 03 0 00 016047 MOVE S,[SVBTS,,PSVBTS]
1322 011402 251 03 0 00 016515 BLT S,PSVBTS+2
1323 011403 254 00 0 00 010176 JRST RET
1324
1325 011404 202 05 0 00 016531 SEMIC: MOVEM T,LWT ;SEMICOLON TYPES IN CURRENT MODE
1326 011405 254 00 1 00 000010 JRST @SCH
1327
1328 011406 664 00 0 00 002400 EQUAL: TROA F,LF1+CF1 ;=
1329 011407 620 00 0 00 000400 PSYM: TRZ F,CF1 ;@
1330 011410 660 00 0 00 002000 TRO F,LF1
1331 011411 260 17 0 00 013466 PUSHJ P,CONSYM
1332 011412 254 00 0 00 010176 JRST RET
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 48
KLDDT MAC 5-May-78 12:59 MODE CONTROL SWITCHES SEQ 0041
1333
1334 ;OPEN ANGBKT, CLOSE ANGBKT
1335
1336 011413 603 00 0 00 010040 FIRARG: TLNE F,(CF+CCF) ;$ PRECEEDED?
1337 011414 254 00 0 00 011427 JRST PTCH ;YES, PATCH COMMAND
1338 011415 202 05 0 00 016550 MOVEM T,DEFV ;NO, SET FIRST ARG
1339 011416 661 00 0 00 001000 TLO F,(FAF)
1340 011417 254 00 0 00 011424 JRST ULIM1
1341
1342 011420 603 00 0 00 010040 ULIM: TLNE F,(CF+CCF) ;$ PRECEEDED?
1343 011421 254 00 0 00 011475 JRST PTCHE ;YES, PATCH END COMMAND
1344 011422 661 00 0 00 002000 TLO F,(SAF) ;NO, SET SECOND ARG
1345 011423 552 05 0 00 016551 HRRZM T,ULIMIT
1346 011424 607 00 0 00 000001 ULIM1: TLNN F,(QF)
1347 011425 254 00 0 00 010166 JRST ERR
1348 011426 254 00 0 00 010040 JRST LIS0
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 49
KLDDT MAC 5-May-78 12:59 MODE CONTROL SWITCHES SEQ 0042
1349
1350 SUBTTL PATCH COMMAND -- PATCH BEGIN
1351
1352 011427 607 00 0 00 300102 PTCH: TLNN F,(TIF+COMF+PTF+MF) ;EXPRESSION TYPED?
1353 011430 607 00 0 00 000010 TLNN F,(ROF) ;NO REGISTER OPEN?
1354 011431 254 00 0 00 010166 JRST ERR ;YES, ERROR
1355 011432 603 00 0 00 000001 TLNE F,(QF) ;ANYTHING TYPED?
1356 JRST [PUSHJ P,EVAL ;YES, LOOKUP SYMBOL
1357 JRST ERR ;STRANGE TYPEIN, LOSE
1358 011433 254 00 0 00 016137 JRST PTCH4] ;FOUND, USE VALUE AS PATCH LOC
1359 011434 205 04 0 00 777775 MOVSI W,-NPSYM ;SETUP TO SCAN PATCH SYMBOLS
1360 011435 200 05 0 04 011472 PTCH1: MOVE T,PCHSYM(W) ;GET A POSSIBLITY
1361 011436 202 05 0 00 016543 MOVEM T,SYM ;SET IT UP FOR EVAL
1362 011437 260 17 0 00 010457 PUSHJ P,EVAL ;TRY TO FIND VALUE
1363 011440 253 04 0 00 011435 AOBJN W,PTCH1 ;NOT FOUND, TRY NEXT SYMBOL
1364 JUMPGE W,[MOVEI R,.JBFF ;NONE OF THE SYMBOLS EXIST, USE .JBFF
1365 HRRZ T,0(R)
1366 011441 325 04 0 00 016142 JRST PTCH2]
1367 011442 201 02 0 02 000001 PTCH4: MOVEI R,1(R) ;POINT TO VALUE WORD
1368 011443 305 05 0 00 000000* PTCH2: CAIGE T,.JBDA ;HAVE REASONABLE PATCH ADDRESS?
1369 011444 254 00 0 00 010166 JRST ERR ;NO
1370 011445 552 05 0 00 016436 HRRZM T,PTLOC ;YES, SAVE IT
1371 011446 506 02 0 00 016436 HRLM R,PTLOC ;SAVE WHERE IT CAME FROM
1372 011447 550 02 0 00 016553 HRRZ R,LLOCO ;LOC OF OPEN REGISTER
1373 011450 552 02 0 00 016437 HRRZM R,PTLLC ;SAVE IT
1374 011451 260 17 0 00 013164 PUSHJ P,FETCH ;GET CONTENTS
1375 011452 254 00 0 00 010166 JRST ERR ;FETCH FAILED
1376 011453 202 05 0 00 016440 MOVEM T,PTWRD ;SAVE ORIGINAL WORD
1377 011454 260 17 0 00 013155 PUSHJ P,DEPERR ;BE SURE IT CAN BE CHANGED, ERR IF NOT
1378 011455 603 00 0 00 010000 TLNE F,(CCF) ;SAVE BEFORE/AFTER FLAG
1379 011456 563 00 0 00 016437 HRROS PTLLC ;0 MEANS BEFORE, 1 (NEGATIVE) MEANS AFTER
1380 011457 331 00 0 00 016437 SKIPL PTLLC ;PATCH AFTER?
1381 011460 254 00 0 00 011464 JRST PTCH3 ;NO
1382 011461 550 02 0 00 016436 HRRZ R,PTLOC ;YES, MOVE INSTRUCTION TO PTLOC NOW
1383 011462 200 05 0 00 016440 MOVE T,PTWRD
1384 011463 260 17 0 00 013155 PUSHJ P,DEPERR ;STORE IT
1385 011464 260 17 0 00 014263 PTCH3: PUSHJ P,CRF ;OPEN REG AT PTLOC AND PRINT CONTENTS
1386 011465 550 05 0 00 016436 HRRZ T,PTLOC
1387 011466 260 17 0 00 011132 PUSHJ P,LI1
1388 011467 335 00 0 00 016437 SKIPGE PTLLC ;PATCH AFTER?
1389 011470 260 17 0 00 011154 PUSHJ P,LI0 ;YES, OPEN SECOND LOC IN PATCH AREA
1390 011471 263 17 0 00 000000 POPJ P, ;DONE FOR NOW
1391
1392 ;TABLE OF SYMBOLS IDENTIFYING PATCH AREAS
1393
1394 011472 000400 615632 PCHSYM: RADIX50 0,PATCH ;ANOTHER LIKELY POSSIBILITY
1395 011473 000400 617555 RADIX50 0,PAT.. ;USUAL LINK10 SYMBOL
1396 011474 000000 122126 RADIX50 0,PAT ;TOPS-10 SYMBOL
1397 000003 NPSYM==.-PCHSYM
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 50
KLDDT MAC 5-May-78 12:59 PATCH COMMAND -- PATCH BEGIN SEQ 0043
1398
1399 SUBTTL PATCH COMMAND -- PATCH END
1400
1401 011475 336 00 0 00 016436 PTCHE: SKIPN PTLOC ;PATCH IN PROGRESS?
1402 011476 254 00 0 00 010166 JRST ERR ;NO, ERROR
1403 011477 621 00 0 00 010040 TLZ F,(CF+CCF) ;FLUSH FLAGS BEFORE DEPRA
1404 011500 260 17 0 00 011277 PUSHJ P,DEPRA ;STORE LAST WORD IF ANY
1405 011501 335 00 0 00 016437 SKIPGE PTLLC ;PATCH BEFORE?
1406 011502 254 00 0 00 011510 JRST PTCHE1 ;NO
1407 011503 550 02 0 00 016552 HRRZ R,LLOC ;YES, MOVE ORIG INSTRUCTION NOW
1408 011504 350 00 0 00 000002 AOS R ;MOVE IT TO NEXT LOC
1409 011505 200 05 0 00 016440 MOVE T,PTWRD
1410 011506 260 17 0 00 013155 PUSHJ P,DEPERR ;STORE IT
1411 011507 260 17 0 00 011154 PUSHJ P,LI0 ;OPEN FOR USER TO SEE
1412 011510 550 02 0 00 016552 PTCHE1: HRRZ R,LLOC ;STORE JUMPA 1,ORIG+1
1413 011511 350 00 0 00 000002 AOS R ; IN NEXT LOC
1414 011512 550 05 0 00 016437 HRRZ T,PTLLC
1415 011513 270 05 0 00 016145 ADD T,[JUMPA 1,1]
1416 011514 260 17 0 00 013155 PUSHJ P,DEPERR
1417 011515 260 17 0 00 011154 PUSHJ P,LI0 ;OPEN FOR USER TO SEE
1418 011516 550 02 0 00 016552 HRRZ R,LLOC ;STORE JUMPA 2,ORIG+2
1419 011517 350 00 0 00 000002 AOS R ; IN NEXT LOC
1420 011520 550 05 0 00 016437 HRRZ T,PTLLC
1421 011521 270 05 0 00 016146 ADD T,[JUMPA 2,2]
1422 011522 260 17 0 00 013155 PUSHJ P,DEPERR
1423 011523 260 17 0 00 011154 PUSHJ P,LI0 ;OPEN FOR USER TO SEE
1424 011524 350 05 0 00 016552 AOS T,LLOC ;GET NEXT FREE PATCH LOC
1425 011525 554 02 0 00 016436 HLRZ R,PTLOC ;UPDATE WORD THAT PATLOC CAME FROM
1426 011526 542 05 0 02 000000 HRRM T,0(R)
1427 011527 550 02 0 00 016437 HRRZ R,PTLLC ;GET ORIG ADDRESS
1428 011530 550 05 0 00 016436 HRRZ T,PTLOC ;PUT JUMPA PATCH INTO IT
1429 011531 505 05 0 00 324000 HRLI T,(JUMPA 0,)
1430 011532 260 17 0 00 013155 PUSHJ P,DEPERR
1431 011533 260 17 0 00 014263 PUSHJ P,CRF
1432 011534 550 05 0 00 000002 HRRZ T,R ;NOW OPEN ORIG REGISTER FOR USER TO SEE
1433 011535 260 17 0 00 011132 PUSHJ P,LI1
1434 011536 402 00 0 00 016436 SETZM PTLOC ;SAY NO PATCH IN PROGRESS
1435 011537 263 17 0 00 000000 POPJ P, ;DONE
1436 010166 SETPAG==ERR
1437 XLIST
1438 LIST
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 52
KLDDT MAC 5-May-78 12:59 PATCH COMMAND -- PATCH END SEQ 0044
1439
1440 SUBTTL GO AND EXECUTE LOGIC
1441
1442 IFE FTFILE,<
1443 011540 CNTRLZ: IFN FTEXEC,<
1444 011540 331 00 0 00 016717 SKPUSR ;SEE IF USER MODE
1445 011541 254 00 0 00 010166 JRST ERR> ;NO--ERROR
1446 ; IFE FTDEC20,<
1447 011542 200 05 0 00 016147 MOVE T,[CALLI 1,12] ;> ;GET MONRET
1448 ; IFN FTDEC20,<
1449 011543 200 05 0 00 016150 MOVE T,[HALTF] ;> ;HALT THIS FORK
1450 011544 254 00 0 00 011557 JRST XEC0 ;GO EXECUTE IT
1451
1452 011545 505 05 0 00 254000 GO: HRLI T,(JRST) ;G
1453 011546 663 00 0 00 000001 TLOE F,(QF) ;DID USER TYPE AN ARG TO $G?
1454 011547 254 00 0 00 011553 JRST XEC ;YES, GO DO IT
1455 XLIST
1456 LIST
1457 011550 540 05 0 00 000000* HRR T,.JBSA
1458 011551 606 05 0 00 777777 TRNN T,-1 ;WAS C(.JBSA) NONZERO?
1459 011552 254 00 0 00 010166 JRST ERR ;NO, SO ERROR
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 53
KLDDT MAC 5-May-78 12:59 GO AND EXECUTE LOGIC SEQ 0045
1460
1461 011553 607 00 0 00 000001 XEC: TLNN F,(QF) ;SKIP IF QUANTITY TYPED
1462 011554 634 05 0 00 000005 TDZA T,T ;MAKE SURE COUNT IS ZERO
1463 011555 607 05 0 00 777000 TLNN T,777000 ;SKIP IF VALID INSTRUCTION
1464 011556 254 00 0 00 011601 JRST $X ;GOTO SINGLE STEP EXECUTE ROUTINE
1465 011557 202 05 0 00 016673 XEC0: MOVEM T,TEM
1466 011560 260 17 0 00 014263 PUSHJ P,CRF
1467 011561 260 17 0 00 013001 PUSHJ P,INSRTB
1468 011562 402 00 0 00 016600 SETZM SKPCT ;INIT SKIP COUNT
1469 011563 265 05 0 00 012520 JSP T,RESTORE
1470 011564 256 00 0 00 016673 XCT TEM
1471 011565 350 00 0 00 016600 XEC1: AOS SKPCT ;NOTE NOSKIP, SKIP, DOUBLE SKIP
1472 011566 350 00 0 00 016600 AOS SKPCT
1473 011567 264 00 0 00 016441 JSR SAVE ;SAVE CONTEXT
1474 011570 260 17 0 00 013015 PUSHJ P,REMOVB ;REMOVE BRKPTS
1475 011571 201 13 0 00 000003 MOVEI TT,3
1476 011572 274 13 0 00 016600 SUB TT,SKPCT ;COMPUTE AMOUNT OF PC INCREMENT
1477 IFE FTDEC20,<
1478 011573 307 13 0 00 000001 CAIG TT,1 ;INSTRUCTION SKIPPED?
1479 011574 254 00 0 00 010006 JRST DD1 ;NO
1480 011575 200 06 0 00 016151 MOVE W1,[ASCII "<SKP>"] ;MAKE SURE IT IS CLEAR
1481 011576 260 17 0 00 014236 PUSHJ P,TEXT2 ; THAT THIS WAS A SKIP
1482 011577 260 17 0 00 014263 PUSHJ P,CRF ;TYPE 2 CR-LFEEDS
1483 011600 254 00 0 00 010006 JRST DD1
1484 >
1485 IFN FTDEC20,<
1486 MOVEI W1,"$"
1487 PUSHJ P,TEXT ;PRINT $ FOR EACH INCREMENT
1488 SOJG TT,.-2
1489 JRST DD1>
1490 >
1491
1492 IFN FTFILE,<
1493 BCOM==<XEC==<GO==ERR>>
1494 >
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 54
KLDDT MAC 5-May-78 12:59 GO AND EXECUTE LOGIC SEQ 0046
1495
1496 SUBTTL SINGLE STEP EXECUTE LOGIC
1497
1498 IFE FTFILE,<
1499
1500 ;$X IS A FEATURE THAT OPERATES AS FOLLOWS:
1501 ; $X OR N$X OR $$X OR N$$X, WHERE N .LT. 2^27, WILL DISPATCH TO
1502 ; THIS CODE. THE FOLLOWING ACTIONS WILL BE PERFORMED:
1503 ;
1504 ; $X EXECUTE A SINGLE INSTRUCTION, THEN INCREMENT THE PC. THE
1505 ; OPERANDS TO THE INSTRUCTION WILL BE PRINTED OUT AS THEY
1506 ; EXIST **AFTER** EXECUTION OF THE INSTRUCTION. AN EXTRA
1507 ; LINE FEED WILL BE PRINTED IF THE INSTRUCTION SKIPPED OR
1508 ; JUMPED. THE NEXT INSTRUCTION WILL THEN BE PRINTED.
1509 ; $P WILL ALWAYS DO THE RIGHT THING AFTER ANY NUMBER OF $X'S.
1510 ;
1511 ; N$X REPEAT THE $X CYCLE N TIMES.
1512 ;
1513 ; N$$X SAME AS N$X EXCEPT THAT ALL PRINTOUT IS SUPPRESSED FOR
1514 ; ALL BUT THE LAST $X CYCLE.
1515 ;
1516 ; $$X PERFORM A NON-PRINTING $X CYCLE UNTIL THE PC REACHES EITHER
1517 ; .+1 OR .+2; I.E. UNTIL ONE OF THE NEXT 2 INSTRUCTIONS IS
1518 ; EXECUTED. THIS IS USEFUL FOR TREATING A SUBROUTINE CALL
1519 ; AS A SINGLE INSTRUCTION FOR THE PURPOSES OF $X.
1520
1521
1522 ;FLAGS USED IN $X LOGIC ONLY
1523
1524 000001 FAC== 1 ;SIGNALS AC TO BE PRINTED
1525 000002 DFAC== 2 ;SIGNALS INST THAT USES 2 AC'S
1526 000004 FLG== 4 ;INST MODIFIES FLAGS (JRST,JFCL)
1527 000010 IMM== 10 ;SIGNALS IMMEDIATE MODE INST
1528 000020 EA== 20 ;SIGNALS MEMORY REFERENCE INST
1529 000040 DEA== 40 ;SIGNALS INST THAT REFERENCES 2 MEM LOCS
1530 000100 FLA== 100 ;SIGNALS FLOATING AC OPERAND
1531 000200 FLE== 200 ;SIGNALS FLOATING MEM OPERAND
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 55
KLDDT MAC 5-May-78 12:59 SINGLE STEP EXECUTE LOGIC SEQ 0047
1532
1533 ;COME HERE FROM $X COMMAND, WITH T SET TO ZERO IF NO QUANTITY WAS
1534 ; TYPED.
1535
1536 011601 202 05 0 00 016431 $X: MOVEM T,XTEM ;STORE REPETITION COUNT
1537 011602 327 05 0 00 011610 JUMPG T,$X00 ;JUMP IF POSITIVE COUNT
1538 011603 550 05 0 00 016501 HRRZ T,PROC0 ;ZERO, FETCH CURRENT PC
1539 011604 202 05 0 00 016434 MOVEM T,LOCSAV ;AND REMEMBER IT
1540 011605 476 00 0 00 016431 SETOM XTEM ;SET REPETITION COUNT NEGATIVE
1541 011606 607 00 0 00 010000 TLNN F,(CCF) ;$$X WITH NO ARG?
1542 011607 213 00 0 00 016431 MOVNS XTEM ;NO, ONLY $X. TREAT AS 1$X
1543 011610 260 17 0 00 014263 $X00: PUSHJ P,CRF ;OUTPUT CRLF TO START
1544
1545 ;HERE ON REPEATED $X CYCLES
1546
1547 011611 376 00 0 00 016431 $X01: SOSN XTEM ;DECREMENT AND TEST COUNTER
1548 011612 621 00 0 00 010000 TLZ F,(CCF) ;CLEAR $$ FLAG TO END REPETITIONS
1549 011613 621 00 0 00 004041 TLZ F,(QF!CF!STF) ;TURN OFF QUANT, $, ! FLAGS
1550 011614 202 00 0 00 016433 MOVEM F,FLAGS ;SAVE REGULAR DDT FLAGS
1551 011615 551 05 0 00 000100 HRRZI T,100 ;SETUP MAX XCT DEPTH
1552 011616 552 05 0 00 016426 HRRZM T,XCTS
1553 011617 550 02 0 00 016501 HRRZ R,PROC0 ;FETCH ADR OF CURRENT INST
1554 011620 306 02 0 00 011565 CAIN R,XEC1 ;JUST HIT BREAKPOINT OR DID $X LAST?
1555 011621 254 00 0 00 010166 JRST ERR ;NO, JUST ENTERED DDT, SO ERROR
1556 011622 331 00 0 00 016431 SKIPL XTEM ;INDEFINITE $$X BEING EXECUTED?
1557 011623 202 02 0 00 016434 MOVEM R,LOCSAV ;NO, REMEMBER OLD PC FOR THIS INST
1558 011624 260 17 0 00 013164 $X02: PUSHJ P,FETCH ;FETCH CURRENT INSTRUCTION
1559 011625 254 00 0 00 010166 JRST ERR ;ERROR
1560 011626 202 05 0 00 016424 $XO3: MOVEM T,I.NST ;STORE CURRENT INSTRUCTION
1561 011627 264 00 0 00 016504 JSR SWAP ;SWAP TO USER CONTEXT
1562 011630 202 05 0 00 016435 MOVEM T,SAFETY ;SAVE T
1563 011631 201 05 1 00 016424 MOVEI T,@I.NST ;COMPUTE EFFECTIVE ADR OF INST
1564 011632 137 05 0 00 016152 DPB T,[POINT 23,I.NST,35] ;STORE COMPUTED ADR IN CURRENT INST
1565 011633 552 05 0 00 016430 HRRZM T,I.NSTEA ;REMEMBER IT AGAIN
1566 011634 200 05 0 00 016435 MOVE T,SAFETY ;RESTORE T
1567 011635 264 00 0 00 016504 JSR SWAP ;SWAP BACK TO DDT CONTEXT
1568 011636 135 06 0 00 016153 LDB W1,[POINT 4,I.NST,12] ;EXTRACT AC FIELD
1569 011637 202 06 0 00 016427 MOVEM W1,I.NSTAC ;STORE IT AWAY
1570 011640 205 05 0 00 777000 MOVSI T,777000 ;MASK FOR OPCODE
1571 011641 404 05 0 00 016424 AND T,I.NST ;FETCH OPCODE
1572 011642 554 00 0 00 000005 HLRZ F,T ;SAVE IN RH FOR LATER
1573 011643 313 05 0 05 011646 CAMLE T,$XTBL(T) ;IN RANGE OF CURRENT TABLE ENTRY?
1574 011644 344 05 0 00 011643 AOJA T,.-1 ;NO, KEEP SEARCHING
1575 011645 254 00 1 05 011646 JRST @$XTBL(T) ;YES, DISPATCH
1576
1577 IFE FTEXEC,<
1578 MONUI== JUSTI ;IF USER DDT, TREAT MONITOR UUOS
1579 MONUE== JUSTE ; AS HARDWARE INSTRUCTIONS
1580 MONUAI==SETI
1581 MONUAE==SETEA
1582 MONINI==ERR ;CANNOT TRACE INIT
1583 >
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 56
KLDDT MAC 5-May-78 12:59 SINGLE STEP EXECUTE LOGIC SEQ 0048
1584
1585 ;OPCODE DISPATCH TABLE.
1586 ; LH OF EACH ENTRY CONTAINS LARGEST OPCODE COVERED BY THAT ENTRY,
1587 ; RH CONTAINS DISPATCH ADDRESS.
1588
1589 011646 403 00 0 00 012204 $XTBL: SETZB SET ; 400-403 SETZX
1590 011647 473 00 0 00 012215 ORCBB CHECKI ; 404-473 ALL LOGICAL EXCEPT SETX
1591 011650 477 00 0 00 012204 SETOB SET ; 474-477 SETOX
1592 011651 577 00 0 00 012200 HLRES CHEKIS ; 500-577 HALFWORD
1593 011652 677 00 0 00 012167 TSON TESTS ; 600-677 TEST CLASS
1594 011653 777000 012173 777000,,IOTS ; 700-777 I/O INSTRUCTIONS
1595 011654 000000 010166 0 ,, ERR ; 000 ALWAYS ILLEGAL
1596 011655 037000 011760 037000,,USRUUO ; 001-037 USER UUOS
1597 011656 040 00 0 00 011750 CALL MONUAE ; 040 CALL
1598 011657 041 00 0 00 011756 INIT MONINI ; 041 INIT
1599 011660 047 00 0 00 011744 CALLI MONUAI ; 042-047 UNDEFINED AND CALLI
1600 011661 051 00 0 00 011751 TTCALL MONUE ; 050-051 OPEN,TTCALL
1601 011662 054000 011744 054000,,MONUAI ; 052-054 UNDEFINED
1602 011663 057 00 0 00 011751 OUT MONUE ; 055-057 RENAME,IN,OUT
1603 011664 061 00 0 00 011745 STATO MONUI ; 060-061 SETSTS,STATO
1604 011665 062 00 0 00 011751 GETSTS MONUE ; 062 GETSTS
1605 011666 065 00 0 00 011745 OUTBUF MONUI ; 063-065 STATZ,INBUF,OUTBUF
1606 011667 067 00 0 00 011751 OUTPUT MONUE ; 066-067 INPUT,OUTPUT
1607 011670 075 00 0 00 011745 USETO MONUI ; 070-075 CLOSE,RELEAS,MTAPE,UGETF,USETI,USETO
1608 011671 077 00 0 00 011751 ENTER MONUE ; 076-077 LOOKUP,ENTER
1609 011672 103000 012220 103000,,SETI ; 100-103 UNDEFINED
1610 011673 104000 012221 104000,,DOIT ; 104 JSYS
1611 011674 107000 012220 107000,,SETI ; 105-107 UNDEFINED
1612 011675 113 00 0 00 012141 DFDV DFLOT ; 110-113 DFAD,DFSB,DFMP,DFDV *** KI10
1613 011676 117000 012220 117000,,SETI ; 114-117 UNDEFINED
1614 011677 121 00 0 00 012142 DMOVN DMOV ; 120-121 DMOVE,DMOVN *** KI10
1615 011700 122 00 0 00 012144 FIX FXAFLE ; 122 FIX *** KI10
1616 011701 123000 012220 123000,,SETI ; 123 UNDEFINED
1617 011702 125 00 0 00 012142 DMOVNM DMOV ; 124-125 DMOVEM,DMOVNM *** KI10
1618 011703 126 00 0 00 012144 FIXR FXAFLE ; 126 FIXR *** KI10
1619 011704 127 00 0 00 012145 FLTR FLAFXE ; 127 FLTR *** KI10
1620 011705 130 00 0 00 011770 UFA IUFA ; 130 UFA
1621 011706 131 00 0 00 011771 DFN IDFN ; 131 DFN
1622 011707 132 00 0 00 012105 FSC IFSC ; 132 FSC
1623 011710 133 00 0 00 012164 IBP JUSTE ; 133 IBP
1624 011711 137 00 0 00 012217 DPB SETEA ; 134-137 XLDB,XDPB
1625 011712 177 00 0 00 011773 FDVRB FLOAT ; 140-177 FADXX,FSBXX,FMPXX,FDVXX
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 57
KLDDT MAC 5-May-78 12:59 SINGLE STEP EXECUTE LOGIC SEQ 0049
1626
1627 ;CONTINUATION OF OPCODE DISPATCH TABLE.
1628
1629 011713 217 00 0 00 012200 MOVMS CHEKIS ; 200-217 MOVXX
1630 011714 223 00 0 00 012215 IMULB CHECKI ; 220-223 IMULX
1631 011715 237 00 0 00 012212 DIVB MULDIV ; 224-237 MULX,XDIVX
1632 011716 242 00 0 00 012220 LSH SETI ; 240-242 ASH,ROT,LSH
1633 011717 243 00 0 00 012147 JFFO IJFFO ; 243 JFFO
1634 011720 246 00 0 00 012165 LSHC DBLI ; 244-246 ASHC,ROTC,LSHC
1635 011721 247000 012220 247000,,SETI ; 247 UNDEFINED
1636 011722 250 00 0 00 012217 EXCH SETEA ; 250 EXCH
1637 011723 251 00 0 00 012220 BLT SETI ; 251 BLT
1638 011724 253 00 0 00 012152 AOBJN IAOBJ ; 252-253 AOBJP,AOBJN
1639 011725 254 00 0 00 012002 JRST IJRST ; 254 JRST
1640 011726 255 00 0 00 012153 JFCL IJFCL ; 255 JFCL
1641 011727 256 00 0 00 012044 XCT IIXCT ; 256 XCT
1642 011730 257 00 0 00 012217 MAP SETEA ; 257 MAP *** KI10
1643 011731 260 00 0 00 012057 PUSHJ IIPUSHJ ; 260 PUSHJ
1644 011732 262 00 0 00 012217 POP SETEA ; 261-262 PUSH,POP
1645 011733 263 00 0 00 012071 POPJ IPOPJ ; 263 POPJ
1646 011734 264 00 0 00 012113 JSR I.JSR ; 264 JSR
1647 011735 265 00 0 00 012130 JSP I.JSP ; 265 JSP
1648 011736 266 00 0 00 012107 JSA I.JSA ; 266 JSA
1649 011737 267 00 0 00 012152 JRA IAOBJ ; 267 JRA
1650 011740 277 00 0 00 012215 SUBB CHECKI ; 270-277 ADDX,SUBX
1651 011741 307 00 0 00 012220 CAIG SETI ; 300-307 CAIXX
1652 011742 317 00 0 00 012217 CAMG SETEA ; 310-317 CAMXX
1653 011743 377 00 0 00 012150 SOSG JMPSKP ; 320-377 JUMPXX,SKIPXX,AOJXX,AOSXX,SOJXX,SOSXX
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 58
KLDDT MAC 5-May-78 12:59 SINGLE STEP EXECUTE LOGIC SEQ 0050
1654
1655 ;MONITOR UUO HANDLER
1656
1657 IFN FTEXEC,<
1658 011744 661 00 0 00 000001 MONUAI: TLO F,FAC ;REMEMBER TO PRINT AC
1659 011745 335 00 0 00 016717 MONUI: SKPEXC ;SKIP IF EXEC MODE
1660 011746 254 00 0 00 012176 JRST JUSTI ;USER MODE, TREAT UUO AS SINGLE INST
1661 011747 254 00 0 00 011751 JRST MONUE ;EXEC MODE, TRACE THE UUO
1662
1663 011750 661 00 0 00 000001 MONUAE: TLO F,FAC ;REMEMBER TO PRINT AC
1664 011751 335 00 0 00 016717 MONUE: SKPEXC ;SKIP IF EXEC MODE
1665 011752 254 00 0 00 012164 JRST JUSTE ;USER MODE, TREAT UUO AS SINGLE INST
1666 011753 337 00 0 00 016720 SKPKA ;CAN SIMULATE ON A KA
1667 011754 254 00 0 00 010166 JRST ERR ;PUNT ON A KL OR KI
1668 011755 254 00 0 00 011760 JRST USRUUO ;EXEC MODE, TRACE THE UUO
1669
1670 011756 335 00 0 00 016717 MONINI: SKPEXC ;SKIP IF EXEC MODE
1671 011757 254 00 0 00 010166 JRST ERR ;USER MODE, CAN'T FOLLOW AN INIT
1672 ;EXEC MODE, TRACE NORMALLY
1673 >
1674 ;USER UUO HANDLER
1675
1676 011760 201 02 0 00 000040 USRUUO: MOVEI R,40 ;SETUP JOBUUO
1677 011761 250 00 0 00 016433 EXCH F,FLAGS ;RESTORE REGULAR FLAGS
1678 011762 200 05 0 00 016424 MOVE T,I.NST ;FETCH INST WITH EFF ADR COMPUTED
1679 011763 260 17 0 00 013112 PUSHJ P,DEPMEM ;STORE USER UUO IN JOBUUO
1680 011764 254 00 0 00 010166 JRST ERR ;ERROR
1681 011765 250 00 0 00 016433 EXCH F,FLAGS ;RESTORE $X FLAGS
1682 011766 200 05 0 00 016154 MOVE T,[XCT 41] ;PRETEND INSTRUCTION WAS AN XCT
1683 011767 254 00 0 00 011626 JRST $XO3
1684
1685 ;INTERPRET UFA
1686
1687 011770 665 00 0 00 000302 IUFA: TLOA F,FLA+FLE+DFAC ;REMEMBER FLTG PT, USES 2 AC'S
1688
1689 ;INTERPRET DFN
1690
1691 011771 661 00 0 00 000300 IDFN: TLO F,FLA!FLE ;DFN, REMEMBER AC AND E FLOAT
1692 011772 254 00 0 00 012217 JRST SETEA
1693
1694 ;INTERPRET FLOATING POINT INSTRUCTIONS
1695
1696 011773 405 00 0 00 007000 FLOAT: ANDI F,7000 ;FLOATING PT, GET MODE
1697 011774 306 00 0 00 001000 CAIN F,1000 ;LONG MODE?
1698 011775 665 00 0 00 000002 TLOA F,DFAC ;YES, PRINT 2 AC'S
1699 011776 302 00 0 00 005000 CAIE F,5000 ;IMMEDIATE MODE?
1700 011777 665 00 0 00 000321 TLOA F,FLA+FLE+FAC+EA ;NO, PRINT AC AND E BOTH FLOATING
1701 012000 661 00 0 00 000311 FLOATI: TLO F,FLA+FLE+FAC+IMM ;YES, PRINT AC AND E IMMEDIATE FLTG
1702 012001 254 00 0 00 012221 JRST DOIT
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 59
KLDDT MAC 5-May-78 12:59 SINGLE STEP EXECUTE LOGIC SEQ 0051
1703
1704 ;INTERPRET JRST
1705
1706 012002 661 00 0 00 000010 IJRST: TLO F,IMM ;REMEMBER TO PRINT E
1707 012003 602 06 0 00 000002 TRNE W1,2 ;IS INSTRUCTION JRSTF?
1708 012004 661 00 0 00 000004 TLO F,FLG ;YES, REMEMBER TO PRINT FLAGS
1709 012005 260 17 0 00 013164 IJRST0: PUSHJ P,FETCH ;FETCH INST OR INDIRECT WORD
1710 012006 254 00 0 00 010166 JRST ERR ;ERROR
1711 012007 200 06 0 00 000005 MOVE W1,T ;COPY INTO W1
1712 012010 135 02 0 00 016133 LDB R,[POINT 4,T,17] ;LOAD INDEX FIELD
1713 012011 322 02 0 00 012016 JUMPE R,IJRST1 ;JUMP IF NO INDEXING TO PERFORM
1714 012012 200 05 0 02 016647 MOVE T,AC0(R) ;FETCH CONTENTS OF INDEX REGISTER
1715 012013 621 05 0 00 000037 TLZ T,(Z @(17)) ;CLEAR I AND X FIELDS IN INDEX REG
1716 012014 271 05 0 06 000000 ADDI T,(W1) ;COMPUTE INDEXED ADDRESS
1717 012015 621 05 0 00 000037 TLZ T,(Z @(17)) ;CLEAR ANY OVERFLOW
1718 012016 201 02 0 05 000000 IJRST1: MOVEI R,(T) ;COPY RESULTING ADDRESS
1719 012017 603 06 0 00 000020 TLNE W1,(@) ;INDIRECT?
1720 012020 254 00 0 00 012005 JRST IJRST0 ;YES, FOLLOW NEXT LEVEL OF INDIRECTION
1721
1722 ;LH OF T NOW CONTAINS FLAGS THAT WILL BE RESTORED
1723
1724 IFN FTEXEC!FTMON,<
1725 IFN FTEXEC,< ;DEC20 MONITOR DDT DOESN'T HAVE SKPEXC
1726 012021 335 00 0 00 016717 SKPEXC ;NOW IN EXEC MODE?
1727 012022 254 00 0 00 012034 JRST IJRST3 ;NO, USER MODE
1728 >
1729 012023 200 06 0 00 016427 MOVE W1,I.NSTAC ;YES, FETCH AC FIELD OF JRST INST
1730 012024 602 06 0 00 000001 TRNE W1,1 ;JUMP TO USER MODE?
1731 012025 254 00 0 00 012031 JRST JRSPRC ;YES, CAN'T TRACE. GO DO $P
1732 012026 602 06 0 00 000002 TRNE W1,2 ;JRSTF?
1733 012027 607 05 0 00 010000 TLNN T,(1B5) ;YES, GOING TO ENTER USER MODE?
1734 012030 254 00 0 00 012034 JRST IJRST3 ;NO TO EITHER, HANDLE NORMALLY
1735 012031 250 00 0 00 016433 JRSPRC: EXCH F,FLAGS ; $X OPERATION IMPOSSIBLE. RESTORE FLAGS
1736 012032 621 00 0 00 010001 TLZ F,(QF+CCF) ;CLEAR QUANT AND $$ FLAGS
1737 012033 254 00 0 00 012650 JRST PROCD1 ;AND EXECUTE $P TO GO INTO USER MODE
1738 >
1739
1740 012034 541 05 0 00 012232 IJRST3: HRRI T,NOSKIP ;MODIFY THE JRST EFFECTIVE ADR
1741 012035 202 05 0 00 016473 MOVEM T,BCOM ;STORE NEW FLAGS,,NOSKIP
1742 012036 200 05 0 00 016424 MOVE T,I.NST ;FETCH INST AGAIN
1743 012037 542 05 0 00 016501 HRRM T,PROC0 ;STORE EFF ADR AS NEW PC
1744 012040 541 05 0 00 016473 HRRI T,BCOM ;TURN INTO JRST @BCOM
1745 012041 661 05 0 00 000020 TLO T,(@)
1746 012042 202 05 0 00 016424 MOVEM T,I.NST ;AND STORE
1747 012043 254 00 0 00 012221 JRST DOIT ;DO IT
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 60
KLDDT MAC 5-May-78 12:59 SINGLE STEP EXECUTE LOGIC SEQ 0052
1748
1749 ;INTERPRET XCT
1750
1751 012044 IIXCT:
1752 IFN FTEXEC!FTMON,<
1753 012044 137 06 0 00 016155 DPB W1,[POINT 4,I.XCT,12]> ; USE IN XCT PAGED
1754 012045 200 00 0 00 016433 MOVE F,FLAGS ;GET BACK NORMAL DDT FLAGS
1755 012046 377 00 0 00 016426 SOSG XCTS ;CHECK XCT COUNTER
1756 012047 254 00 0 00 010166 JRST ERR ;ERROR - DEPTH EXCEEDED
1757 012050 603 00 0 00 010000 TLNE F,(CCF) ;$$X?
1758 012051 254 00 0 00 012055 JRST IIXCT1 ;YES, DON'T PRINT ANYTHING
1759 012052 550 05 0 00 016430 HRRZ T,I.NSTEA ;GET EFF ADR OF XCT
1760 012053 260 17 0 00 012355 PUSHJ P,PINST ;PRINT INST BEING XCT'ED
1761 012054 260 17 0 00 014263 PUSHJ P,CRF ;OUTPUT CRLF AFTER INST
1762 012055 550 02 0 00 016430 IIXCT1: HRRZ R,I.NSTEA ;GET EFF ADR OF XCT AGAIN
1763 012056 254 00 0 00 011624 JRST $X02 ;PROCESS EXECUTED INST
1764
1765 ;INTERPRET PUSHJ
1766
1767 012057 350 05 0 00 016501 IIPUSHJ:AOS T,PROC0 ;GET CURRENT PC +1
1768 012060 500 05 0 00 016603 HLL T,SAVPI ;PUT FLAGS IN LH
1769 012061 202 05 0 00 016432 MOVEM T,I.NSTPC ;STORE AWAY TO BE STACKED
1770 012062 205 05 0 00 020000 MOVSI T,(1B4) ;CLEAR BIS FLAG IN NEW PC WORD
1771 012063 412 05 0 00 016603 ANDCAM T,SAVPI
1772 012064 370 05 0 00 016424 SOS T,I.NST ;GET EFF ADR OF PUSHJ, -1 TO FOOL DOIT
1773 012065 542 05 0 00 016501 HRRM T,PROC0 ;STORE NEW PC -1
1774 012066 515 05 0 00 001000 HRLZI T,(<PUSH>-<PUSHJ>) ;WANT TO TURN PUSHJ INTO A PUSH
1775 012067 137 05 0 00 016156 DPB T,[POINT 5,I.NST,17] ;CLEAR I AND AC FIELD
1776 012070 254 00 0 00 012101 JRST IPOPJ2 ;REST OF CODE COMMON WITH POPJ
1777
1778 ;INTERPRET POPJ
1779
1780 012071 250 00 0 00 016433 IPOPJ: EXCH F,FLAGS ;POPJ, RESTORE NORMAL DDT FLAGS
1781 012072 550 02 0 06 016647 HRRZ R,AC0(W1) ;FETCH CONTENTS OF CORRECT USER AC
1782 012073 260 17 0 00 013164 PUSHJ P,FETCH ;FETCH PCWORD IT POINTS TO
1783 012074 254 00 0 00 010166 JRST ERR ;ERROR
1784 012075 250 00 0 00 016433 EXCH F,FLAGS ;RESTORE $X FLAGS
1785 012076 541 05 0 05 777777 HRRI T,-1(T) ;DECREMENT PC TO FOOL CODE AT DOIT
1786 012077 542 05 0 00 016501 HRRM T,PROC0 ;STORE AS CURRENT PC
1787 012100 515 05 0 00 777000 HRLZI T,(<POP>-<POPJ>) ;SETUP TO TURN POPJ INTO POP
1788
1789 ;COMMON CODE FOR PUSHJ, POPJ
1790
1791 012101 272 05 0 00 016424 IPOPJ2: ADDM T,I.NST ;TURN PUSHJ INTO PUSH OR POPJ INTO POP
1792 012102 551 05 0 00 016432 HRRZI T,I.NSTPC ;SETUP ADR OF PC WORD FOR PUSHJ
1793 012103 542 05 0 00 016424 HRRM T,I.NST
1794 012104 665 00 0 00 000001 TLOA F,FAC ;REMEMBER TO PRINT AC
1795
1796 ;INTERPRET FSC
1797
1798 012105 661 00 0 00 000111 IFSC: TLO F,FAC+FLA+IMM ;FLOATING AC, FIXED IMMEDIATE E
1799 012106 254 00 0 00 012221 JRST DOIT
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 61
KLDDT MAC 5-May-78 12:59 SINGLE STEP EXECUTE LOGIC SEQ 0053
1800
1801 ;INTERPRET JSA
1802
1803 012107 350 05 0 00 016501 I.JSA: AOS T,PROC0 ;JSA, SETUP RETURN PC
1804 012110 504 05 0 00 016430 HRL T,I.NSTEA ;PUT EFF ADR IN LH LIKE JSA DOES
1805 012111 250 05 0 06 016647 EXCH T,AC0(W1) ;STORE IN USER AC, GET OLD CONTENTS
1806 012112 254 00 0 00 012120 JRST I.JSR2 ;STORE OLD CONTENTS LIKE JSR, THEN JUMP
1807
1808 ;INTERPRET JSR
1809
1810 012113 350 05 0 00 016501 I.JSR: AOS T,PROC0 ;JSR, GET CURRENT PC
1811 012114 500 05 0 00 016603 HLL T,SAVPI ;SETUP LH OF PC WORD
1812 012115 661 00 0 00 000001 TLO F,FAC ;REMEMBER NOT TO PRINT AC FIELD
1813 012116 205 06 0 00 020000 MOVSI W1,(1B4) ;CLEAR BIS FLAG IN NEW PC WORD
1814 012117 412 06 0 00 016603 ANDCAM W1,SAVPI
1815 012120 661 00 0 00 000020 I.JSR2: TLO F,EA ;PRINT E NORMALLY
1816 012121 250 00 0 00 016433 EXCH F,FLAGS ;RESTORE NORMAL DDT FLAGS
1817 012122 550 02 0 00 016430 HRRZ R,I.NSTEA ;FETCH EFF ADR OF JSR OR JSA
1818 012123 260 17 0 00 013112 PUSHJ P,DEPMEM ;STORE PC WORD
1819 012124 254 00 0 00 010166 JRST ERR ;ERROR
1820 012125 250 00 0 00 016433 EXCH F,FLAGS ;RESTORE $X FLAGS
1821 012126 550 05 0 00 016430 HRRZ T,I.NSTEA ;GET EFF ADR AGAIN
1822 012127 344 05 0 00 012136 AOJA T,I.JSR4 ;INC PAST STORED PC WORD
1823
1824 ;INTERPRET JSP
1825
1826 012130 350 05 0 00 016501 I.JSP: AOS T,PROC0 ;JSP, SETUP RETURN PC
1827 012131 500 05 0 00 016603 HLL T,SAVPI ;SETUP LH OF PC WORD
1828 012132 202 05 0 06 016647 MOVEM T,AC0(W1) ;STORE IN USER AC
1829 012133 205 05 0 00 020000 MOVSI T,(1B4) ;CLEAR BIS FLAG IN NEW PC WORD
1830 012134 412 05 0 00 016603 ANDCAM T,SAVPI
1831 012135 550 05 0 00 016430 HRRZ T,I.NSTEA ;GET BACK EFF ADR
1832 012136 542 05 0 00 016501 I.JSR4: HRRM T,PROC0 ;STORE NEW PC
1833 012137 641 00 0 00 000001 TLC F,FAC ;REMEMBER TO PRINT AC
1834 012140 254 00 0 00 012235 JRST TELL ;GO PERFORM PRINTOUT
1835
1836
1837 ;INTERPRET KI10 INSTRUCTIONS
1838
1839 012141 661 00 0 00 000300 DFLOT: TLO F,FLA+FLE ;REMEMBER THAT AC AND E ARE FLOATING
1840 012142 661 00 0 00 000042 DMOV: TLO F,DFAC+DEA ;REMEMBER AC AND E BOTH DOUBLE
1841 012143 254 00 0 00 012217 JRST SETEA
1842
1843 012144 665 00 0 00 000200 FXAFLE: TLOA F,FLE ;REMEMBER THAT E FLOATS (FIX,FIXR)
1844 012145 661 00 0 00 000100 FLAFXE: TLO F,FLA ;REMEMBER THAT AC FLAOATS (FLTR)
1845 012146 254 00 0 00 012217 JRST SETEA
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 62
KLDDT MAC 5-May-78 12:59 SINGLE STEP EXECUTE LOGIC SEQ 0054
1846
1847 ;INTERPRET JFFO
1848
1849 012147 661 00 0 00 000002 IJFFO: TLO F,DFAC ;REMEMBER JFFO USES 2 AC'S
1850
1851 ;INTERPRET JUMP AND SKIP INSTRUCTIONS
1852
1853 012150 602 00 0 00 010000 JMPSKP: TRNE F,10000 ;JUMP/SKIP, WHICH IS IT?
1854 012151 254 00 0 00 012163 JRST SKP ;SKIP CLASS
1855
1856 ;INTERPRET AOBJN AND AOBJP
1857
1858 012152 665 00 0 00 000011 IAOBJ: TLOA F,FAC+IMM ;HANDLE AS IMMEDIATE MODE INST WITH AC
1859
1860 ;INTERPRET JFCL
1861
1862 012153 661 00 0 00 000004 IJFCL: TLO F,FLG ;REMEMBER TO PRINT FLAGS
1863 012154 201 05 0 00 012157 MOVEI T,JMP ;JUMP CLASS OR AOBJ, COME BACK TO $X
1864 012155 542 05 0 00 016424 HRRM T,I.NST ;STORE MODIFIED INST
1865 012156 254 00 0 00 012221 JRST DOIT ;GO EXECUTE CONDITIONAL INST
1866
1867 ;HERE AFTER EXECUTING CONDITIONAL JUMP INSTRUCTION THAT ACTUALLY
1868 ; DOES JUMP
1869
1870 012157 250 05 0 00 016430 JMP: EXCH T,I.NSTEA ;SAVE T, GET EFF ADR OF JUMP
1871 012160 542 05 0 00 016501 HRRM T,PROC0 ;STORE EFF ADR AS NEW PC
1872 012161 250 05 0 00 016430 EXCH T,I.NSTEA
1873 012162 254 00 0 00 012232 JRST NOSKIP ;NOW DO PRINTOUT
1874
1875 ;HERE FOR ALL SKIP INSTRUCTIONS
1876
1877 012163 326 06 0 00 012217 SKP: JUMPN W1,SETEA ;SKIP CLASS - AC FIELD ZERO?
1878 012164 665 00 0 00 000020 JUSTE: TLOA F,EA ;YES, JUST PRINT E
1879
1880 ;INTERPRET SHIFT COMBINED INSTRUCTIONS
1881
1882 012165 661 00 0 00 000013 DBLI: TLO F,FAC+DFAC+IMM ;REMEMBER 2 AC'S USED, IMMEDIATE
1883 012166 254 00 0 00 012221 JRST DOIT ;EXECUTE NORMALLY
1884
1885 ;INTERPRET TEST CLASS INSTRUCTIONS
1886
1887 012167 606 00 0 00 010000 TESTS: TRNN F,10000 ;SKIP ON TD OR TS BUT NOT ON TR OR TL
1888 012170 665 00 0 00 000011 TLOA F,FAC+IMM ;IMMEDIATE MODE
1889 012171 661 00 0 00 000021 TLO F,FAC+EA ;NORMAL MODE
1890 012172 254 00 0 00 012221 JRST DOIT
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 63
KLDDT MAC 5-May-78 12:59 SINGLE STEP EXECUTE LOGIC SEQ 0055
1891
1892 ;I/O INSTRUCTIONS
1893
1894 012173 602 06 0 00 000004 IOTS: TRNE W1,4 ;SKIP IF BLKI,DATAI,BLKO,DATAO
1895 012174 306 06 0 00 000005 CAIN W1,5 ;SKIP IF NOT CONI
1896 012175 665 00 0 00 000020 TLOA F,EA ;MEM REF INSTRUCTION
1897 012176 661 00 0 00 000010 JUSTI: TLO F,IMM ;IMMEDIATE INST
1898 012177 254 00 0 00 012221 JRST DOIT
1899
1900 ;ALL PATHS CONVERGE HERE
1901
1902 012200 640 00 0 00 003000 CHEKIS: TRC F,3000 ;HERE TO TEST FOR IMMEDIATE OR SELF MODE
1903 012201 642 00 0 00 003000 TRCE F,3000 ;SKIP IF SELF MODE
1904 012202 254 00 0 00 012215 JRST CHECKI ;NO, CHECK IMMEDIATE
1905 012203 254 00 0 00 012163 JRST SKP ;YES, GO TEST FOR NONZERO AC FIELD
1906 012204 405 00 0 00 003000 SET: ANDI F,3000 ;HERE FOR SETZX,SETOX
1907 012205 302 00 0 00 002000 CAIE F,2000 ;SETZM,SETOM?
1908 012206 661 00 0 00 000001 TLO F,FAC ;NO, AC IS ALWAYS AFFECTED
1909 012207 602 00 0 00 002000 TRNE F,2000 ;SETZM,SETZB,SETOM,SETOB?
1910 012210 661 00 0 00 000020 TLO F,EA ;YES, MEM IS ALWAYS AFFECTED
1911 012211 254 00 0 00 012221 JRST DOIT
1912
1913 ;FIXED POINT MULTIPLY AND DIVIDE (NOT INCLUDING IMULX)
1914
1915 012212 405 00 0 00 003000 MULDIV: ANDI F,3000 ;MASK MODE BITS
1916 012213 302 00 0 00 002000 CAIE F,2000 ;TO MEMORY ONLY?
1917 012214 661 00 0 00 000002 TLO F,DFAC ;NO, INST USES 2 AC'S
1918 012215 602 00 0 00 001000 CHECKI: TRNE F,1000 ;TEST FOR IMMEDIATE MODE INST
1919 012216 602 00 0 00 002000 TRNE F,2000
1920 012217 665 00 0 00 000021 SETEA: TLOA F,FAC+EA ;MEM REF INSTRUCTION
1921 012220 661 00 0 00 000011 SETI: TLO F,FAC+IMM ;IMMEDIATE MODE INSTRUCTION
1922 012221 250 00 0 00 016433 DOIT: EXCH F,FLAGS ;RESTORE NORMAL DDT FLAGS
1923 012222 260 17 0 00 014665 PUSHJ P,TTYLEV ;RESTORE STATUS OF CTY (EXEC MODE)
1924 012223 264 00 0 00 016504 JSR SWAP ;SWAP TO USER CONTEXT
1925 012224 256 00 0 00 016423 XCT I.XCT ;EXECUTE THE INSTRUCTION (IF IN EXEC MODE
1926 ; ON A KI10 THIS MAY BE EXECUTIVE XCT)
1927 012225 254 00 0 00 012231 JRST IXS1 ;NO SKIP, INCREMENT PC ONCE
1928 012226 254 00 0 00 012230 JRST IXS2 ;SKIP, INCREMENT PC TWICE
1929 012227 350 00 0 00 016501 AOS PROC0 ;DOUBLE SKIP, INCREMENT PC THRICE
1930 012230 350 00 0 00 016501 IXS2: AOS PROC0
1931 012231 350 00 0 00 016501 IXS1: AOS PROC0
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 64
KLDDT MAC 5-May-78 12:59 SINGLE STEP EXECUTE LOGIC SEQ 0056
1932
1933 ;HERE AFTER SIMULATING OR EXECUTING INSTRUCTION.
1934 ; PERFORM REQUIRED PRINTOUT.
1935
1936 012232 264 00 0 00 016504 NOSKIP: JSR SWAP ;RESTORE DDT CONTEXT
1937 012233 260 17 0 00 014613 PUSHJ P,TTYRET ;RESTORE DDT TTY MODES
1938 012234 254 00 0 00 012236 JRST .+2
1939 012235 250 00 0 00 016433 TELL: EXCH F,FLAGS ;GET DDT'S FLAGS
1940 IFN FTEXEC!FTMON,<
1941 012236 201 05 0 00 000000 MOVEI T,0 ;CLEAR THE AC FIELD OF I.XCT
1942 012237 137 05 0 00 016155 DPB T,[POINT 4,I.XCT,12] ;SO NEXT INSTRUCTION HAPPENS OK
1943 >
1944 012240 603 00 0 00 010000 TLNE F,(CCF) ;IF $$X, DON'T PRINT ANYTHING
1945 012241 254 00 0 00 012270 JRST NXTIT
1946 012242 250 00 0 00 016433 EXCH F,FLAGS ;RESTORE $X'S FLAGS
1947 012243 261 17 0 00 000010 PUSH P,SCH ;SAVE CURRENT OUTPUT MODE
1948 012244 603 00 0 00 000100 TLNE F,FLA ;FLOATING AC?
1949 012245 201 10 0 00 014123 MOVEI SCH,TFLOT ;YES, SETUP TO OUTPUT IN FLOATING PT
1950 012246 603 00 0 00 000001 TLNE F,FAC ;AC TO BE PRINTED?
1951 012247 260 17 0 00 012330 PUSHJ P,FAC0 ;YES, DO IT
1952 012250 603 00 0 00 000002 TLNE F,DFAC ;INST USE 2 AC'S?
1953 012251 260 17 0 00 012326 PUSHJ P,DBL0 ;YES, PRINT LOW-ORDER AC
1954 012252 603 00 0 00 000004 TLNE F,FLG ;INSTRUCTION ACCESS THE FLAGS?
1955 012253 260 17 0 00 012332 PUSHJ P,FLG0 ;YES, PRINT FLAGS
1956 012254 200 10 0 17 000000 MOVE SCH,(P) ;RESTORE OLD MODE
1957 012255 603 00 0 00 000200 TLNE F,FLE ;FLOATING MEMORY OPERAND?
1958 012256 201 10 0 00 014123 MOVEI SCH,TFLOT ;YES, SETUP FLTG OUTPUT
1959 012257 603 00 0 00 000010 TLNE F,IMM ;IMMEDIATE MODE?
1960 012260 260 17 0 00 012335 PUSHJ P,IMM0 ;YES, JUST PRINT E
1961 012261 603 00 0 00 000020 TLNE F,EA ;MEM REF INST?
1962 012262 260 17 0 00 012345 PUSHJ P,EA0 ;YES, PRINT C(E)
1963 012263 603 00 0 00 000040 TLNE F,DEA ;DOUBLE-WORD MEM OPERAND?
1964 012264 260 17 0 00 012344 PUSHJ P,DEA0 ;YES, OUTPUT 2ND WORD
1965 012265 262 17 0 00 000010 POP P,SCH ;RESTORE CURRENT OUTPUT MODE
1966 012266 250 00 0 00 016433 EXCH F,FLAGS ;RESTORE DDT FLAGS
1967 012267 260 17 0 00 014263 PUSHJ P,CRF ;OUTPUT CRLF
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 65
KLDDT MAC 5-May-78 12:59 SINGLE STEP EXECUTE LOGIC SEQ 0057
1968
1969 ;NOW TEST WHETHER TO CONTINUE, AND PRINT NEXT INST IF REQUIRED.
1970
1971 012270 550 05 0 00 016501 NXTIT: HRRZ T,PROC0 ;FETCH NEW PC
1972 012271 201 06 0 05 000001 MOVEI W1,1(T) ;COMPUTE PC+1
1973 012272 552 06 0 00 016473 HRRZM W1,BCOM ;STORE FOR $P
1974 012273 550 06 0 00 016434 HRRZ W1,LOCSAV ;FETCH OLD PC
1975 012274 331 00 0 00 016431 SKIPL XTEM ;INDEFINITE $$X IN PROGRESS?
1976 012275 254 00 0 00 012301 JRST NXT0 ;NO
1977 012276 302 05 0 06 000001 CAIE T,1(W1) ;YES, ARE WE NOW AT OLD PC +1?
1978 012277 306 05 0 06 000002 CAIN T,2(W1) ; OR +2?
1979 012300 254 00 0 00 012303 JRST $XQUIT ;YES, STOP ITERATION NOW
1980 012301 260 17 0 00 014572 NXT0: PUSHJ P,LISTEN ;NO, HAS USER TYPED ANYTHING?
1981 012302 254 00 0 00 012305 JRST NXT1 ;NO, CONTINUE
1982 012303 402 00 0 00 016431 $XQUIT: SETZM XTEM ;YES, STOP ITERATION BY ZEROING COUNTER
1983 012304 621 00 0 00 010000 TLZ F,(CCF) ; AND CLEARING CONTROL FLAG
1984 012305 603 00 0 00 010000 NXT1: TLNE F,(CCF) ;$$ STILL IN EFFECT?
1985 012306 254 00 0 00 012323 JRST NXT2 ;YES, DON'T PRINT ANYTHING
1986 012307 550 05 0 00 016501 HRRZ T,PROC0 ;NO, GET CURRENT PC AGAIN
1987 012310 306 05 0 06 000001 CAIN T,1(W1) ;DOES IT EQUAL OLD PC +1?
1988 012311 254 00 0 00 012317 JRST NXT1A ;YES--JUST CONTINUE
1989 012312 306 05 0 06 000002 CAIN T,2(W1) ;SKIP OR JUMP
1990 012313 334 06 0 00 016151 SKIPA W1,[ASCII "<SKP>"] ;SKIP
1991 012314 200 06 0 00 016157 MOVE W1,[ASCII "<JMP>"] ;JUMP
1992 012315 260 17 0 00 014236 PUSHJ P,TEXT2 ;SAY SKIP OR JUMP
1993 012316 260 17 0 00 014263 PUSHJ P,CRF ;ADD CRLF
1994 012317 550 05 0 00 016501 NXT1A: HRRZ T,PROC0 ;FETCH CURRENT PC AGAIN
1995 012320 260 17 0 00 012355 PUSHJ P,PINST ;PRINT INSTRUCTION ABOUT TO BE EXECUTED
1996 012321 332 00 0 00 016431 SKIPE XTEM ;ARE WE STILL LOOPING?
1997 012322 260 17 0 00 014263 PUSHJ P,CRF ;YES, PRINT CRLF AFTER INST
1998 012323 332 00 0 00 016431 NXT2: SKIPE XTEM ;SKIP IF REPEAT COUNTER IS ZERO
1999 012324 254 00 0 00 011611 JRST $X01 ;NONZERO, REPEAT $X CYCLE AGAIN
2000 012325 254 00 0 00 014644 JRST TTYCLR ;ZERO, FLUSH ANY WAITING INPUT CHARACTERS
2001 ; AND RETURN FROM $X INSTRUCTION
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 66
KLDDT MAC 5-May-78 12:59 SINGLE STEP EXECUTE LOGIC SEQ 0058
2002
2003 ;OUTPUT ROUTINES
2004
2005 ;ROUTINE TO PRINT SECOND ACCUMULATOR
2006
2007 012326 350 05 0 00 016427 DBL0: AOS T,I.NSTAC ;INCREMENT AC NUMBER
2008 012327 624 05 0 00 777760 TRZA T,777760 ;ENSURE 17 WRAPS AROUND TO 0
2009
2010 ;ROUTINE TO PRINT CONTENTS OF ACCUMULATOR
2011
2012 012330 200 05 0 00 016427 FAC0: MOVE T,I.NSTAC ;FETCH AC NUMBER
2013 012331 254 00 0 00 012346 JRST EA2
2014
2015 ;ROUTINE TO PRINT THE FLAGS
2016
2017 012332 260 17 0 00 014266 FLG0: PUSHJ P,LCT ;PRINT TAB
2018 012333 554 05 0 00 016603 HLRZ T,SAVPI ;GET LH OF PC WORD
2019 012334 254 00 0 00 012341 JRST IMM1 ;PRINT FLAGS
2020
2021 ;ROUTINE TO PRINT JUST E FOR AN IMMEDIATE MODE INSTRUCTION
2022
2023 012335 260 17 0 00 014266 IMM0: PUSHJ P,LCT ;PRINT TAB
2024 012336 550 05 0 00 016430 HRRZ T,I.NSTEA ;FETCH E
2025 012337 603 00 0 00 000200 TLNE F,FLE ;FLTG PT MEM OPERAND?
2026 012340 204 05 0 00 000005 MOVS T,T ;YES, IMMEDIATE SWAPS HALVES
2027 012341 250 00 0 00 016433 IMM1: EXCH F,FLAGS ;RESTORE DDT FLAGS
2028 012342 260 17 0 00 013466 PUSHJ P,CONSYM ;OUTPUT CONTENTS OF T
2029 012343 254 00 0 00 012353 JRST EA6 ;RESTORE $X FLAGS AND RETURN
2030
2031 ;ROUTINE TO PRINT 2ND MEMORY OPERAND
2032
2033 012344 350 00 0 00 016430 DEA0: AOS I.NSTEA ;INC TO ADR OF 2ND OPERAND
2034
2035 ;ROUTINE TO PRINT MEMORY OPERAND
2036
2037 012345 200 05 0 00 016430 EA0: MOVE T,I.NSTEA ;FETCH ADR OF MEM OPERAND
2038 012346 250 00 0 00 016433 EA2: EXCH F,FLAGS ;HERE FROM DBL0,FAC0
2039 012347 261 17 0 00 000005 PUSH P,T ;SAVE ARG
2040 012350 260 17 0 00 014266 PUSHJ P,LCT ;OUTPUT TAB
2041 012351 262 17 0 00 000005 POP P,T ;RESTORE ADR OF LOC TO BE PRINTED
2042 012352 260 17 0 00 011132 PUSHJ P,LI1 ;PRINT ADR/ CONTENTS
2043 012353 250 00 0 00 016433 EA6: EXCH F,FLAGS ;RESTORE $X FLAGS
2044 012354 263 17 0 00 000000 POPJ P,
2045
2046 ;ROUTINE TO PRINT INSTRUCTION ALWAYS IN SYMBOLIC DESPITE CURRENT MODE
2047
2048 012355 261 17 0 00 000010 PINST: PUSH P,SCH ;SAVE CURRENT OUTPUT MODE
2049 012356 201 10 0 00 013473 MOVEI SCH,PIN ;SET TO PRINT SYMBOLIC INST MODE
2050 012357 260 17 0 00 011132 PUSHJ P,LI1 ;OUTPUT INST
2051 012360 262 17 0 00 000010 POP P,SCH ;RESTORE CURRENT MODE
2052 012361 263 17 0 00 000000 POPJ P,
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 67
KLDDT MAC 5-May-78 12:59 SINGLE STEP EXECUTE LOGIC SEQ 0059
2053
2054 ;ROUTINE TO SWAP BETWEEN DDT AND USER CONTEXTS.
2055 ; AC'S AND FLAGS ARE SWAPPED, BUT BREAKPOINTS AND OTHER STUFF
2056 ; ARE NOT TOUCHED, SINCE CONTROL IS EXPECTED TO RETURN TO DDT SOON.
2057
2058 012362 250 00 0 00 016647 SWAPG: EXCH 0,AC0 ;SWAP AC 0
2059 012363 202 00 0 00 016425 MOVEM 0,SAV0 ;SAVE 0 FOR WORK
2060 012364 510 00 0 00 016504 HLLZ 0,SWAP ;GET CURRENT FLAGS
2061 012365 544 00 0 00 016603 HLR 0,SAVPI ;GET SAVED FLAGS
2062 012366 506 00 0 00 016504 HRLM 0,SWAP ;SWITCH FLAGS
2063 012367 502 00 0 00 016603 HLLM 0,SAVPI
2064 012370 200 00 0 00 016160 MOVE 0,[EXCH 1,AC0+1] ;SETUP INST FOR SWAPPING AC'S
2065 012371 256 00 0 00 000000 SWAPL: XCT 0 ;SWAP AN AC
2066 012372 270 00 0 00 016161 ADD 0,[Z 1,1] ;INC AC AND MEM FIELDS
2067 012373 607 00 0 00 001000 TLNN 0,1000 ;AC 20 REACHED?
2068 012374 254 00 0 00 012371 JRST SWAPL ;NO, LOOP
2069 012375 200 00 0 00 016425 MOVE 0,SAV0 ;YES, RESTORE SAVED AC
2070 012376 254 02 1 00 016504 JRSTF @SWAP ;RETURN, RESTORING NEW FLAGS
2071 > ;END IFE FTFILE
2072
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 68
KLDDT MAC 5-May-78 12:59 SINGLE STEP EXECUTE LOGIC SEQ 0060
2073
2074 SUBTTL ENTER AND LEAVE DDT LOGIC
2075
2076 ;SKIPS IF CONTEXT ALREADY SAVED
2077
2078 IFE FTFILE,<
2079 012377 SAVEG: ;SAVE THE ACS AND PI SYSTEM
2080 IFN FTEXEC,<
2081 012377 336 00 0 00 016614 SKIPN TRCON ;TRACE FACILITY IN USE?
2082 012400 254 00 0 00 012403 JRST SAVEG1 ;NO
2083 012401 7 004 04 0 00 016615 DATAI PI,TRCDMP ;YES, DUMP CURRENT POINTER
2084 012402 7 004 14 0 00 016056 DATAO PI,[0] ;TURN IT OFF
2085 012403 SAVEG1:
2086 012403 202 00 0 00 016673 MOVEM 0,TEM
2087 012404 402 00 0 00 016721 SETZM TOPS20
2088 012405 265 00 0 00 012406 JSP 0,.+1
2089 012406 607 00 0 00 010000 TLNN 0,(1B5)
2090 012407 254 00 0 00 012415 JRST .+6
2091 012410 200 00 0 00 016162 MOVE [112,,11]
2092 012411 047 00 0 00 000041 GETTAB
2093 012412 310 00 0 00 000000 CAM
2094 012413 306 00 0 00 040000 CAIN 40000
2095 012414 476 00 0 00 016721 SETOM TOPS20
2096 012415 200 00 0 00 016673 MOVE 0,TEM
2097 012416 202 05 0 00 016673 MOVEM T,TEM ;FREE AN AC
2098 ; IFE FTDEC20,<
2099 012417 332 00 0 00 016721 SKIPE TOPS20
2100 012420 254 00 0 00 012425 JRST SAVEG2
2101 012421 265 05 0 00 012422 JSP T,.+1 ;GET USR FLAG
2102 012422 430 05 0 00 016603 XOR T,SAVPI ;COMPARE WITH OLD USR FLAG(LAST DDT EXIT)
2103 012423 603 05 0 00 010000 TLNE T,(1B5) ;SAME?
2104 012424 402 00 0 00 016672 SETZM SARS ;> ;NO, SAVE AC'S AND PC FOR EXIT
2105 ; SO EXEC/USER MODE FLOP RESTORED AS ENTERED
2106 012425 265 05 0 00 012426 SAVEG2: JSP T,.+1 ;GET PC WORD AGAIN
2107 012426 241 05 0 00 000005 ROT T,5 ;ROTATE USER MODE BIT TO SIGN
2108 012427 202 05 0 00 016717 MOVEM T,USRFLG ; AND SAVE IT
2109 012430 200 05 0 00 016673 MOVE T,TEM ;RESTORE THE AC
2110 > ;END FTEXEC
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 69
KLDDT MAC 5-May-78 12:59 ENTER AND LEAVE DDT LOGIC SEQ 0061
2111 ;NOW SAVE USER STATUSES AND MODES AND SETUP DDT MODES. DON'T SAVE
2112 ;MODES IF ALREADY SAVED (I.E. WHEN REENTERING DDT), BUT DO SET DDT
2113 ;MODES IN CASE THEY WERE CHANGED.
2114
2115 012431 332 00 0 00 016672 SKIPE SARS ;ALREADY SAVED?
2116 012432 350 00 0 00 016441 AOS SAVE ;YES, SKIP RETURN
2117 IFN FTEXEC,<
2118 012433 335 00 0 00 016717 SKPEXC
2119 012434 254 00 0 00 012442 JRST SAV11
2120 012435 332 00 0 00 016672 SKIPE SARS ;ALREADY SAVED?
2121 012436 254 00 0 00 012441 JRST SAV3 ;YES
2122 012437 7 004 24 0 00 016603 CONI PI,SAVPI
2123 012440 553 00 0 00 016604 HRRZS SAVPI+1
2124 012441 7 004 20 1 00 016604 SAV3: CONO PI, @SAVPI+1>
2125 012442 332 00 0 00 016672 SAV11: SKIPE SARS ;ALREADY SAVED?
2126 012443 254 00 0 00 012451 JRST SAV5 ;YES
2127 012444 202 17 0 00 016666 MOVEM 17,AC17 ;SAVE ACS
2128 012445 551 17 0 00 016647 HRRZI 17,AC0
2129 012446 251 17 0 00 016665 BLT 17,AC0+16
2130 012447 200 05 0 00 016441 MOVE T,SAVE ;SAVE PC FLAGS
2131 012450 502 05 0 00 016603 HLLM T, SAVPI
2132 012451 200 17 0 00 016050 SAV5: MOVE P,[IOWD LPDL,PDL] ;SETUP STACK
2133 ; ..
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 70
KLDDT MAC 5-May-78 12:59 ENTER AND LEAVE DDT LOGIC SEQ 0062
2134
2135 ;IF EDDT, DETERMINE PROCESSOR
2136 ;TYPE. USER DDT DOES NOT NEED TO KNOW PROCESSOR TYPE
2137
2138 IFN FTEXEC,<
2139 012452 211 05 0 00 000001 MOVNI T,1 ;LOAD T WITH ALL ONES
2140 012453 253 05 0 00 012454 AOBJN T,.+1 ;ADD ONE TO BOTH HALFS
2141 012454 202 05 0 00 016720 MOVEM T,KAFLG ;0 MEANS KI10; 1,,0 MEANS KA10
2142 012455 400 05 0 00 000000 SETZ T, ;TEST FOR KL10
2143 012456 251 05 0 00 000000 BLT T,0 ;NOP BLT
2144 012457 316 05 0 00 016163 CAMN T,[1,,1] ;KL WILL STORE POINTER AS 1,,1
2145 012460 476 00 0 00 016720 SETOM KAFLG ;A KL10
2146 IFE FTDEC20,<
2147 012461 332 00 0 00 016721 SKIPE TOPS20
2148 012462 254 00 0 00 012501 JRST SAV20
2149 ; HRRI T,XJBSYM ;GET EXEC SYMBOL POINTER ADR
2150 ; SKPEXC ;EXEC MODE?
2151 012463 541 05 0 00 000000* HRRI T,.JBSYM ;NO, GET USER MODE SYM POINTER ADR
2152 012464 542 05 0 00 016544 HRRM T,SYMP ; AND SAVE IT
2153 ; HRRI T,XJBUSY ;GET EXEC UNDEF SYM TABLE POINTER ADR
2154 ; SKPEXC ;EXEC MODE?
2155 012465 541 05 0 00 000000* HRRI T,.JBUSY ;NO, GET USER MODE UNDEF SYM POINTER ADR
2156 012466 542 05 0 00 016545 HRRM T,USYMP ; AND SAVE RESULTING ADR
2157 012467 335 00 0 00 016717 SKPEXC
2158 012470 254 00 0 00 012512 JRST SAV12 ;TRANSFER IF IN USER MODE
2159 012471 337 00 0 00 016720 SKPKA ;IS THIS A KA10?
2160 012472 254 00 0 00 012512 JRST SAV12 ;NO--LEAVE APR ALONE
2161 012473 7 000 24 0 00 000005 CONI T ;GET APR FLAGS
2162 012474 602 05 0 00 010000 TRNE T,NXMKA ;TEST NXM FLAG AND
2163 012475 661 05 0 00 400000 TLO T,(1B0) ; MOVE IT TO BIT 0
2164 012476 621 05 0 00 000037 TLZ T,37 ;FLUSH I AND X SO INDIRECT WORKS
2165 012477 202 05 0 00 016602 MOVEM T,SAVAPR ;SAVE STATE OF APR REGISTER
2166 012500 254 00 0 00 012512 JRST SAV12
2167 >> ;END IFN EDDT
2168 ; ..
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 71
KLDDT MAC 5-May-78 12:59 ENTER AND LEAVE DDT LOGIC SEQ 0063
2169
2170 ;SAVE STATE AND SETUP DDT MODES...
2171
2172 ; IFN FTDEC20,<
2173 012501 476 00 0 00 016611 SAV20: SETOM LASTPG# ;FORGET LAST PAGE ACCESS
2174 IFN FTEXEC,<
2175 012502 331 00 0 00 016717 SKPUSR
2176 012503 254 00 0 00 012512 JRST SAV2>
2177 012504 205 05 0 00 400000 MOVSI T,(1B0)
2178 012505 201 01 0 00 400000 MOVEI T1,.FHSLF
2179 012506 104 00 0 00 000127 SKPIR ;PSI SYSTEM ON?
2180 012507 400 05 0 00 000000 SETZ T, ;NO
2181 012510 336 00 0 00 016672 SKIPN SARS ;SKIP IF ALREADY HAVE SAVED STATUS
2182 012511 202 05 0 00 016612 MOVEM T,SAVSTS# ;REMEMBER STATUS
2183 012512 SAV2: ;> ;END IFN FTDEC20
2184 012512 260 17 0 00 014613 SAV12: PUSHJ P,TTYRET ;INITIALIZE TTY
2185 REPEAT 0,< ;WAIT FOR 5.3 RELEASE FOR THIS TEST
2186 IFN FTYANK,<SKPEXC ;IF IN USER MODE, RETURNING FROM $G,$P
2187 SKIPN COMAND ;AND A COMMAND FILE WAS OPEN
2188 JRST SAV6
2189 MOVEIT T,CM ;MAKE SURE A RELEASE HASN'T BEEN DONE
2190 CALLI T,4 ;DEVCHR
2191 TRNN T,200000 ;DEVICE PAT STILL INITED?
2192 SETZM COMAND ;NO, DONT READ ANY MORE
2193 SAV6: > ;END IFN FTYANK
2194 > ;END OF REPEAT 0 CONDITIONAL
2195 012513 201 00 0 00 000000 MOVEI F,0 ;INIT FLAG REGISTER
2196 012514 476 00 0 00 016672 SETOM SARS ;FLAG PROTECTING SAVED REGISTERS
2197 012515 200 05 0 00 016046 MOVE T,[XWD SCHM,SCH]
2198 012516 251 05 0 00 000012 BLT T,ODF ;LOAD THE ACS WITH MODE SWITCHES
2199 012517 254 00 1 00 016441 JRST @SAVE
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 72
KLDDT MAC 5-May-78 12:59 ENTER AND LEAVE DDT LOGIC SEQ 0064
2200
2201 012520 RESTOR: ;RESTORE ACS AND PI SYSTEM
2202 012520 542 05 0 00 016441 HRRM T,SAVE
2203 012521 260 17 0 00 014665 PUSHJ P,TTYLEV ;RESTORE STATUS OF CONSOL TTY (EXEC MODE)
2204 012522 200 05 0 00 016603 MOVE T,SAVPI
2205 012523 621 05 0 00 010037 TLZ T,010037 ;DON'T TRY TO RESTORE USER MODE FLAG
2206 012524 502 05 0 00 016441 HLLM T, SAVE
2207 IFN FTEXEC,<
2208 012525 335 00 0 00 016717 SKPEXC
2209 012526 254 00 0 00 012533 JRST RESTR2
2210 012527 404 05 0 00 016604 AND T, SAVPI+1
2211 012530 435 05 0 00 002000 IORI T, 2000 ;TURN ON CHANNELS
2212 012531 620 05 0 00 001000 TRZ T,1000 ;MAKE SURE WE DON'T ASK FOR BOTH
2213 012532 552 05 0 00 016603 HRRZM T, SAVPI
2214 > ;END FTEXEC
2215 012533 515 17 0 00 016647 RESTR2: HRLZI 17,AC0
2216 012534 251 17 0 00 000017 BLT 17,17
2217 012535 402 00 0 00 016672 SETZM SARS
2218 IFN FTEXEC,<
2219 012536 335 00 0 00 016717 SKPEXC
2220 012537 254 00 0 00 012545 JRST RESTR3 ;TRANSFER IF IN USER MODE
2221 IFE FTDEC20,<
2222 012540 335 00 0 00 016602 SKIPGE SAVAPR ;WANT NXM SET?
2223 012541 203 00 0 00 777777 MOVES 777777 ;YES--ASSUME KA-10
2224 >
2225 012542 332 00 0 00 016614 SKIPE TRCON ;TRACE FACILITY ON?
2226 012543 7 004 14 0 00 016614 DATAO PI,TRCON ;YES, START TRACING
2227 012544 7 004 20 1 00 016603 CONO PI,@SAVPI
2228 012545 RESTR3:>
2229 012545 254 02 1 00 016441 JRST 2,@SAVE
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 73
KLDDT MAC 5-May-78 12:59 ENTER AND LEAVE DDT LOGIC SEQ 0065
2230
2231 SUBTTL BREAK POINT LOGIC
2232
2233 012546 262 05 0 00 016502 BCOMG: POP T,LEAV ;MOVE INSTRUCTION TO LEAV
2234 012547 201 05 0 05 000153 MOVEI T,B1SKP-B1INS+1(T)
2235 012550 542 05 0 00 016475 HRRM T,BCOM3 ;CONDITIONAL BREAK SETUP
2236 012551 201 05 0 05 000001 MOVEI T,B1CNT-B1SKP(T)
2237 012552 542 05 0 00 016476 HRRM T,BCOM2 ;PROCEED COUNTER SETUP
2238 012553 200 05 0 05 777623 MOVE T,BP1-B1CNT(T) ;GET PC WORD
2239 012554 502 05 0 00 016477 HLLM T,LEAV1 ;SAVE FLAGS FOR RESTORING
2240 012555 250 05 0 00 016473 EXCH T,BCOM ; ALSO SAVE PC WORD IN BCOM
2241
2242 012556 256 00 0 00 016475 XCT BCOM3 ;(SKIPE) CONDITIONAL BPT SETUP?
2243 012557 256 00 1 00 016475 XCT @BCOM3 ;YES, XCT IT
2244 012560 256 00 0 00 016476 XCT BCOM2 ;(SOSG) PROCEED COUNTER NOW 0?
2245 012561 254 00 0 00 012577 JRST BREAK
2246
2247 012562 202 05 0 00 016654 MOVEM T,AC0+T
2248 012563 135 05 0 00 016164 LDB T,[POINT 9,LEAV,8] ;GET INSTRUCTION
2249 012564 301 05 0 00 000264 CAIL T,264 ;JSR
2250 012565 303 05 0 00 000266 CAILE T,266 ;JSA,JSP
2251 012566 606 05 0 00 000700 TRNN T,700 ;UUO
2252 012567 254 00 0 00 012657 JRST PROC1 ;MUST BE INTERPRETED
2253 012570 302 05 0 00 000260 CAIE T,260 ;PUSHJ
2254 012571 306 05 0 00 000256 CAIN T,256 ;XCT
2255 012572 254 00 0 00 012657 JRST PROC1 ;MUST BE INTERPRETED
2256 IFN FTEXEC,<
2257 012573 205 05 0 00 010000 MOVSI T,010000 ;DON'T TRY TO RESTORE USER MODE BIT
2258 012574 412 05 0 00 016477 ANDCAM T,LEAV1 >
2259 012575 200 05 0 00 016654 MOVE T,AC0+T
2260 012576 254 02 1 00 016477 JRST 2,@LEAV1 ;RESTORE FLAGS, GO TO LEAVG
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 74
KLDDT MAC 5-May-78 12:59 BREAK POINT LOGIC SEQ 0066
2261
2262 BREAK: IFN FTDEC20,<
2263 SETZM SARS> ;BE SURE TO SAVE ACS ON BKPT
2264 012577 264 00 0 00 016441 JSR SAVE ;SAVE THE WORLD
2265 012600 260 17 0 00 013015 PUSHJ P,REMOVB ;REMOVE BREAKPOINTS
2266 012601 260 17 0 00 014644 PUSHJ P,TTYCLR ;FLUSH WAITING TTY CHARACTERS FOR INPUT
2267 012602 370 05 0 00 016475 SOS T,BCOM3
2268 012603 553 00 0 00 000005 HRRZS T ;GET ADR OF CONDITIONAL BREAK INST
2269 012604 275 05 0 00 016613 SUBI T,B1ADR-3 ;CHANGE TO ADDRESS OF $0B
2270 012605 231 05 0 00 000003 IDIVI T,3 ;QUOTIENT IS BREAK POINT NUMBER
2271 012606 542 05 0 00 016500 HRRM T,BREAK2 ;SAVE BREAK POINT #
2272 012607 200 06 0 00 016165 MOVE W1,[BYTE (7) "$","0","B",76,0] ;PRELIMINARY TYPEOUT MESSAGE
2273 REPEAT 0,<IFN FTEXEC,<
2274 SKPUSR
2275 TRC W1,7_^D15 ;IN EXEC MODE, TYPE "$NEG"
2276 >>
2277 012610 337 00 1 00 016476 SKIPG @BCOM2 ;TEST PROCEED COUNTER
2278 012611 660 06 0 00 000174 TRO W1,76_1 ;CHANGE T TO /$0BGG/
2279 012612 137 05 0 00 016166 DPB T,[POINT 4,W1,13] ;INSERT BREAK POINT # IN MESSAGE
2280 012613 260 17 0 00 014236 PUSHJ P,TEXT2
2281 012614 200 05 0 00 016473 MOVE T,BCOM
2282 012615 502 05 0 00 016603 HLLM T, SAVPI ;SAVE PROCESSOR FLAGS
2283 012616 201 05 0 05 777777 MOVEI T,-1(T)
2284 012617 260 17 0 00 011261 PUSHJ P,PSHLLC ;PUSH OLD SEQUENCE
2285 012620 202 05 0 00 016531 MOVEM T,LWT ;BKPT ADR BECOMES LAST WORD TYPED
2286 012621 202 05 0 00 016552 MOVEM T,LLOC ;BKPT ADR BECOMES CURRENT LOC
2287 012622 260 17 0 00 013572 PUSHJ P,PAD ;TYPE PC AT BREAK
2288 012623 550 05 1 00 016475 HRRZ T,@BCOM3
2289 012624 542 05 0 00 016501 HRRM T,PROC0 ;SETUP ADDRESS OF BREAK
2290 012625 554 05 1 00 016475 HLRZ T,@BCOM3
2291 012626 322 05 0 00 012633 JUMPE T,BREAK1 ;TEST FOR REGISTER TO EXAMINE
2292 012627 260 17 0 00 014266 PUSHJ P,LCT ;PRINT TAB
2293 012630 554 05 1 00 016475 HLRZ T,@BCOM3
2294 012631 202 05 0 00 016552 MOVEM T,LLOC ;EXAMINE ADR BECOMES CURRENT LOC
2295 012632 260 17 0 00 011132 PUSHJ P,LI1 ;EXAMINE REGISTER C($NB)LEFT
2296 012633 205 03 0 00 400000 BREAK1: MOVSI S,400000
2297 012634 256 00 0 00 016500 XCT BREAK2 ;ROT BY # OF BREAK POINT
2298 012635 260 17 0 00 014572 PUSHJ P,LISTEN ;DONT PROCEED IF TTY KEY HIT
2299 012636 616 03 0 00 016646 TDNN S,AUTOPI ;DONT PROCEED IF NOT AUTOMATIC
2300 012637 254 00 0 00 010176 JRST RET ;DONT PROCEED
2301 012640 254 00 0 00 012650 JRST PROCD1
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 75
KLDDT MAC 5-May-78 12:59 BREAK POINT LOGIC SEQ 0067
2302
2303 012641 550 13 0 00 016476 PROCED: HRRZ TT,BCOM2 ;SEE IF PROCEED POSSIBLE
2304 012642 322 13 0 00 010166 JUMPE TT,ERR ;JUMP IF NOT SETUP
2305 012643 607 00 0 00 000001 TLNN F,(QF) ;N$P ;PROCEED AT A BREAKPOINT
2306 012644 201 05 0 00 000001 MOVEI T,1
2307 012645 202 05 1 00 016476 MOVEM T,@BCOM2
2308 012646 550 02 0 00 016475 HRRZ R,BCOM3
2309 012647 260 17 0 00 013074 PUSHJ P,AUTOP
2310 012650 260 17 0 00 014263 PROCD1: PUSHJ P,CRF
2311 012651 256 00 0 00 016501 XCT PROC0 ;(HRRZI) GET ADR OF BPT
2312 012652 260 17 0 00 013164 PUSHJ P,FETCH
2313 012653 254 00 0 00 012742 JRST BPLUP1 ;ONLY GET HERE IF MEMORY SHRANK
2314 012654 202 05 0 00 016502 MOVEM T,LEAV
2315 012655 260 17 0 00 013001 PUSHJ P,INSRTB
2316 012656 254 00 0 00 012664 JRST PROC2
2317
2318 012657 200 05 0 00 016654 PROC1: MOVE T,AC0+T
2319 012660 264 00 0 00 016441 JSR SAVE
2320 012661 255 00 0 00 000000 JFCL
2321 012662 200 05 0 00 016473 MOVE T,BCOM ;STORE FLAGS WHERE "RESTORE"
2322 012663 502 05 0 00 016603 HLLM T,SAVPI ; CAN FIND THEM
2323 012664 201 04 0 00 000100 PROC2: MOVEI W,100
2324 012665 202 04 0 00 016674 MOVEM W,TEM1 ;SETUP MAX LOOP COUNT
2325 012666 513 00 0 00 016476 HLLZS BCOM2 ;CLEAR FLAG, PREVENT SECOND $P
2326 012667 254 00 0 00 012703 JRST IXCT5
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 76
KLDDT MAC 5-May-78 12:59 BREAK POINT LOGIC SEQ 0068
2327
2328 012670 IXCT4:
2329 012670 331 00 0 00 016717 IFN FTEXEC,< SKPUSR
2330 012671 254 00 0 00 012675 JRST IXCT41> ;INIT NOT SPECIAL CASE IN EXEC MODE
2331 012672 275 05 0 00 000041 SUBI T,041 ;IS UUO "INIT"?
2332 012673 322 05 0 00 012741 JUMPE T,BPLUP
2333 012674 345 05 0 00 012732 AOJGE T,IXCT6 ;DONT PROCEED FOR INIT
2334 ;DONT INTERPRET FOR SYSTEM UUOS
2335 012675 202 02 0 00 000040 IXCT41: MOVEM R,40 ;INTERPRET FOR NON-SYSTEM UUOS
2336 012676 201 02 0 00 000041 MOVEI R,41
2337 012677 371 00 0 00 016674 IXCT: SOSL TEM1
2338 012700 260 17 0 00 013164 PUSHJ P,FETCH
2339 012701 254 00 0 00 012741 JRST BPLUP ;BREAKPOINT LOOPING OR FETCH FAILED
2340 012702 202 05 0 00 016502 MOVEM T,LEAV
2341 012703 135 05 0 00 016164 IXCT5: LDB T,[POINT 9,LEAV,8] ;GET INSTRUCTION
2342 012704 306 05 0 00 000254 CAIN T,254 ;DON'T DO ANYTHING TO JRST
2343 012705 254 00 0 00 012732 JRST IXCT6
2344 012706 515 17 0 00 016647 IXCT51: HRLZI 17,AC0
2345 012707 251 17 0 00 000017 BLT 17,17
2346 012710 201 05 1 00 016502 MOVEI T,@LEAV
2347 012711 137 05 0 00 016167 DPB T,[POINT 23,LEAV,35] ;STORE EFFECTIVE ADDRESS
2348 012712 135 06 0 00 016170 LDB W1,[POINT 4,LEAV,12] ;PICK UP AC FIELD
2349 012713 135 05 0 00 016164 LDB T,[POINT 9,LEAV,8] ;PICK UP INSTRUCTION FIELD
2350 012714 200 17 0 00 016050 MOVE P,[IOWD LPDL,PDL]
2351 012715 306 05 0 00 000260 CAIN T,260
2352 012716 254 00 0 00 012745 JRST IPUSHJ ;INTERPRET PUSHJ
2353
2354 012717 306 05 0 00 000264 CAIN T,264
2355 012720 254 00 0 00 012761 JRST IJSR ;INTERPRET JSR
2356 012721 306 05 0 00 000265 CAIN T,265
2357 012722 254 00 0 00 012773 JRST IJSP ;INTERPRET JSP
2358 012723 306 05 0 00 000266 CAIN T,266
2359 012724 254 00 0 00 012755 JRST IJSA ;INTERPRET JSA
2360 012725 200 02 0 00 016502 MOVE R,LEAV
2361 012726 606 05 0 00 000700 TRNN T,700
2362 012727 254 00 0 00 012670 JRST IXCT4 ;INTERPRET UUO
2363 012730 306 05 0 00 000256 CAIN T,256
2364 JSP T,[JUMPE W1,IXCT ;INTERPRET XCT IF AC = 0
2365 TLNN T,(1B5) ;AC FIELD NOT 0 - IN EXEC MODE?
2366 JRST IXCT6 ;YES, DON'T INTERPRET MAPPED XCT
2367 012731 265 05 0 00 016171 JRST IXCT] ;NO, INTERPRET. IGNORE AC FIELD
2368 012732 265 05 0 00 012520 IXCT6: JSP T,RESTORE
2369 012733 256 00 0 00 016502 LEAVG: XCT LEAV ;DO BPT INSTRUCTION
2370 012734 254 00 1 00 016473 JRST @BCOM
2371 012735 334 00 0 00 000000 SKIPA ;SINGLE SKIP
2372 012736 350 00 0 00 016473 AOS BCOM ;DOUBLE SKIP
2373 012737 350 00 0 00 016473 AOS BCOM
2374 012740 254 00 1 00 016473 JRST @BCOM
2375
2376 012741 260 17 0 00 013015 BPLUP: PUSHJ P,REMOVB ;BREAKPOINT PROCEED ERROR
2377 012742 264 00 0 00 016441 BPLUP1: JSR SAVE
2378 012743 255 00 0 00 000000 JFCL
2379 012744 254 00 0 00 010166 JRST ERR
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 77
KLDDT MAC 5-May-78 12:59 BREAK POINT LOGIC SEQ 0069
2380
2381 012745 137 06 0 00 016175 IPUSHJ: DPB W1,[POINT 4,CPUSHP,12] ;STORE AC FIELD INTO A PUSH
2382 012746 500 05 0 00 016603 HLL T,SAVPI ;PICK UP FLAGS
2383 012747 502 05 0 00 016473 HLLM T,BCOM ;SET UP THE OLD PC WORD
2384 012750 205 05 0 00 020000 MOVSI T,(1B4) ;TURN OFF BIS FLAG IN NEW PC WORD
2385 012751 412 05 0 00 016603 ANDCAM T,SAVPI
2386 012752 265 05 0 00 012520 JSP T,RESTORE ;RESTORE THE MACHINE STATE
2387 012753 256 00 0 00 016503 XCT CPUSHP ;(PUSH ..,BCOM)
2388 012754 254 00 1 00 016502 JRST @LEAV ;JUMP TO "E" OF THE PUSHJ
2389
2390 012755 200 05 0 00 016473 IJSA: MOVE T,BCOM ;INTERPRET JSA
2391 012756 504 05 0 00 016502 HRL T,LEAV
2392 012757 250 05 0 06 016647 EXCH T,AC0(W1)
2393 012760 254 00 0 00 012765 JRST IJSR2
2394
2395 012761 200 05 0 00 016473 IJSR: MOVE T,BCOM ;INTERPRET JSR
2396 012762 500 05 0 00 016603 HLL T,SAVPI ;SET UP THE OLD PC WORD
2397 012763 205 04 0 00 020000 MOVSI W,(1B4) ;TURN OFF BIS IN NEW PC WORD
2398 012764 412 04 0 00 016603 ANDCAM W,SAVPI
2399 012765 200 02 0 00 016502 IJSR2: MOVE R,LEAV
2400 012766 260 17 0 00 013112 PUSHJ P,DEPMEM
2401 012767 254 00 0 00 012741 JRST BPLUP ;ERROR, CAN'T STORE
2402 012770 354 05 0 00 016502 AOSA T,LEAV
2403 012771 200 05 0 00 016502 IJSR3: MOVE T,LEAV
2404 012772 254 00 0 00 012520 JRST RESTORE
2405
2406 012773 200 04 0 00 016473 IJSP: MOVE W,BCOM ;INTERPRET JSP
2407 012774 500 04 0 00 016603 HLL W,SAVPI ;PICK UP PC WORD FLAGS
2408 012775 202 04 0 06 016647 MOVEM W,AC0(W1) ;INSERT OLD PC WORD INTO AC
2409 012776 205 05 0 00 020000 MOVSI T,(1B4) ;TURN OFF BIS FLAG IN NEW PC WORD
2410 012777 412 05 0 00 016603 ANDCAM T,SAVPI
2411 013000 254 00 0 00 012771 JRST IJSR3
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 78
KLDDT MAC 5-May-78 12:59 BREAK POINT LOGIC SEQ 0070
2412
2413 ;INSERT BREAKPOINTS
2414
2415 013001 200 03 0 00 016176 INSRTB: MOVE S,[JSR BP1]
2416 013002 332 02 0 03 000153 INSRT1: SKIPE R,B1ADR-BP1(S)
2417 013003 260 17 0 00 013164 PUSHJ P,FETCH
2418 013004 254 00 0 00 013011 JRST INSRT3
2419 013005 202 05 0 03 000002 MOVEM T,B1INS-BP1(S)
2420 013006 200 05 0 00 000003 MOVE T,S
2421 013007 260 17 0 00 013112 PUSHJ P,DEPMEM
2422 013010 255 00 0 00 000000 JFCL ;HERE ONLY IF CAN'T WRITE IN HIGH SEG
2423 013011 271 03 0 00 000003 INSRT3: ADDI S,3
2424 013012 317 03 0 00 016177 CAMG S,[JSR BPN]
2425 013013 254 00 0 00 013002 JRST INSRT1
2426 013014 263 17 0 00 000000 POPJ P,
2427
2428 ;REMOVE BREAKPOINTS
2429
2430 013015 201 03 0 00 016643 REMOVB: MOVEI S,BNADR
2431 013016 200 05 0 03 777627 REMOV1: MOVE T,B1INS-B1ADR(S)
2432 013017 332 02 0 03 000000 SKIPE R,(S)
2433 013020 260 17 0 00 013112 PUSHJ P,DEPMEM
2434 013021 255 00 0 00 000000 JFCL ;HERE ONLY IF NO WRITE IN HIGH SEG
2435 013022 275 03 0 00 000003 SUBI S,3
2436 013023 301 03 0 00 016616 CAIL S,B1ADR
2437 013024 254 00 0 00 013016 JRST REMOV1
2438 013025 263 17 0 00 000000 POPJ P,
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 79
KLDDT MAC 5-May-78 12:59 BREAK POINT LOGIC SEQ 0071
2439
2440 ;ALL $B COMMANDS GET HERE IN FORM: <A>$<N>B
2441
2442
2443 013026 623 00 0 00 000001 BPS: TLZE F,(QF) ;HAS <A> BEEN TYPED?
2444 013027 254 00 0 00 013036 JRST BPS1 ;YES
2445 013030 622 00 0 00 000001 TRZE F,Q2F ;NO, HAS <N> BEEN TYPED?
2446 013031 254 00 0 00 013045 JRST BPS2 ;YES
2447 013032 200 05 0 00 016200 MOVE T,[XWD B1ADR,B1ADR+1] ;NO, COMMAND IS $B - CLEAR ALL BREAKPOINTS
2448 013033 402 00 0 00 016616 CLEARM B1ADR
2449 013034 251 05 0 00 016646 BLT T,AUTOPI ;CLEAR OUT ALL BREAKPOINTS AND AUTO PROCEED REGISTER
2450 013035 254 00 0 00 010176 JRST RET
2451
2452 013036 200 02 0 00 000005 BPS1: MOVE R,T
2453 013037 260 17 0 00 013164 PUSHJ P,FETCH ;CAN BREAKPOINT BE INSERTED HERE?
2454 013040 254 00 0 00 010166 JRST ERR ;NO
2455 013041 260 17 0 00 013155 PUSHJ P,DEPERR ; AGAIN NO
2456 013042 626 00 0 00 000001 TRZN F,Q2F ;HAS <N> BEEN TYPED?
2457 013043 254 00 0 00 013057 JRST BPS3 ;NO
2458 013044 660 00 0 00 000002 TRO F,2 ;YES, PROCESS THE COMMAND A$NB
2459 013045 200 05 0 00 016525 BPS2: MOVE T,WRD2
2460 013046 301 05 0 00 000001 CAIL T,1
2461 013047 303 05 0 00 000010 CAILE T,NBP
2462 013050 254 00 0 00 010166 JRST ERR
2463 013051 221 05 0 00 000003 IMULI T,3
2464 013052 271 05 0 00 016613 ADDI T,B1ADR-3
2465 013053 626 00 0 00 000002 TRZN F,2
2466 013054 254 00 0 00 013657 JRST MASK2
2467 013055 250 02 0 00 000005 EXCH R,T
2468 013056 254 00 0 00 013071 JRST BPS5
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 80
KLDDT MAC 5-May-78 12:59 BREAK POINT LOGIC SEQ 0072
2469
2470 013057 200 05 0 00 000002 BPS3: MOVE T,R ;PUT THE BREAKPOINT ADR BACK IN T
2471 013060 201 02 0 00 016616 MOVEI R,B1ADR ;PROCESS THE COMMAND A$B
2472 013061 550 04 0 02 000000 BPS4: HRRZ W,(R)
2473 013062 302 04 0 05 000000 CAIE W,(T)
2474 013063 336 00 0 02 000000 SKIPN (R)
2475 013064 254 00 0 00 013071 JRST BPS5
2476 013065 271 02 0 00 000003 ADDI R,3
2477 013066 307 02 0 00 016643 CAIG R,BNADR
2478 013067 254 00 0 00 013061 JRST BPS4
2479 013070 254 00 0 00 010166 JRST ERR
2480 013071 202 05 0 02 000000 BPS5: MOVEM T,(R)
2481 013072 402 00 0 02 000001 SETZM 1(R)
2482 013073 402 00 0 02 000002 SETZM 2(R)
2483
2484 013074 275 02 0 00 016616 AUTOP: SUBI R,B1ADR ;AUTO PROCEED SETUP SUBROUTINE
2485 013075 231 02 0 00 000003 IDIVI R,3
2486 013076 201 03 0 00 000001 MOVEI S,1
2487 013077 242 03 0 02 000000 LSH S,(R)
2488 013100 412 03 0 00 016646 ANDCAM S,AUTOPI
2489 013101 603 00 0 00 010000 TLNE F,(CCF)
2490 013102 436 03 0 00 016646 IORM S,AUTOPI
2491 013103 263 17 0 00 000000 POPJ P,
2492
2493 > ;END FTFILE
2494
2495 IFN FTFILE,<BPS==<PROCEDE==ERR>>
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 81
KLDDT MAC 5-May-78 12:59 MEMORY MANAGER SUBROUTINES SEQ 0073
2496 SUBTTL MEMORY MANAGER SUBROUTINES
2497
2498 ;DEPOSIT INTO MEMORY SUBROUTINE
2499
2500 013104 202 05 0 00 016531 DEPRS: MOVEM T,LWT ;DEPOSIT REGISTER AND SAVE AS LWT
2501 013105 200 02 0 00 016553 MOVE R,LLOCO ;QUAN TYPED IN REGIS EXAM
2502 013106 623 00 0 00 000010 TLZE F,(ROF)
2503 013107 607 00 0 00 000001 TLNN F,(QF)
2504 013110 263 17 0 00 000000 POPJ P,0
2505 013111 254 00 0 00 013155 JRST DMEMER
2506
2507 ;DEPOSIT INTO MEMORY SUBROUTINE
2508
2509 IFE FTFILE,<
2510 013112 DEPSYM:
2511 013112 DEPMEM: IFE FTDEC20,<
2512 013112 332 00 0 00 016721 SKIPE TOPS20
2513 013113 254 00 0 00 013143 JRST DEPM20
2514 013114 260 17 0 00 013234 PUSHJ P,CHKPAG ;GET PAGE ACCESS BITS INTO TT1
2515 013115 321 14 0 00 010521 JUMPL TT1,CPOPJ ;ILLEGAL ADDRESS IF NEGATIVE
2516 013116 603 14 0 00 200000 TLNE TT1,(1B1) ;IS PAGE KNOWN TO BE WRITEABLE?
2517 013117 254 00 0 00 013123 JRST DEP1 ;YES--GO DO THE DEPOSIT RIGHT AWAY
2518 013120 326 14 0 00 013131 JUMPN TT1,DEP4 ;IF WE KNOW ANYTHING THEN IT MUST BE
2519 ; A WRITE LOCKED HISEG
2520 013121 265 14 0 00 013211 JSP TT1,CHKADR ;LEGAL ADDRESS?
2521 013122 254 00 0 00 013131 JRST DEP4 ;YES BUT IN HI SEGMENT
2522 013123 606 02 0 00 777760 DEP1: TRNN R,777760
2523 013124 254 00 0 00 013127 JRST DEPAC ;DEPOSIT IN AC
2524 013125 202 05 0 02 000000 MOVEM T,(R)
2525 013126 254 00 0 00 010520 JRST CPOPJ1 ;SKIP RETURN
2526
2527 013127 202 05 0 02 016647 DEPAC: MOVEM T,AC0(R) ;DEPOSIT IN AC
2528 013130 254 00 0 00 010520 JRST CPOPJ1 ;SKIP RETURN
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 82
KLDDT MAC 5-May-78 12:59 MEMORY MANAGER SUBROUTINES SEQ 0074
2529 013131 DEP4: IFN FTEXEC,<
2530 013131 331 00 0 00 016717 SKPUSR ;IN EXEC MODE WE CAN NOT DO
2531 013132 263 17 0 00 000000 POPJ P,0 ; SETUWP -- INDICATE ERROR
2532 >
2533 013133 201 14 0 00 000000 MOVEI TT1,0
2534 013134 047 14 0 00 000036 SETUWP TT1, ;IS HI SEGMENT PROTECTED? TURN OFF
2535 013135 263 17 0 00 000000 POPJ P, ;PROTECTED, NO SKIP RETURN
2536 013136 202 05 0 02 000000 MOVEM T,(R) ;STORE WORD IN HI SEGMENT
2537 013137 602 14 0 00 000001 TRNE TT1,1 ;WAS WRITE PROTECT ON?
2538 013140 047 14 0 00 000036 SETUWP TT1, ;YES, TURN IT BACK ON
2539 013141 255 00 0 00 000000 JFCL
2540 013142 254 00 0 00 010520 JRST CPOPJ1 ;SKIP RETURN
2541 ; > ;END IFE FTDEC20
2542 ; IFN FTDEC20,< ;DEPSYM, DEPMEM FOR DEC20
2543 013143 606 02 0 00 777760 DEPM20: TRNN R,777760 ;AC?
2544 JRST [MOVEM T,AC0(R) ;YES, DO IT
2545 013144 254 00 0 00 016201 JRST CPOPJ1]
2546 013145 260 17 0 00 013211 PUSHJ P,CHKADR ;GET ACCESS
2547 013146 322 13 0 00 013151 JUMPE TT,DEP2 ;EMPTY PAGE OK
2548 013147 607 13 0 00 040400 TLNN TT,(PM%WT+PM%CPY) ;WRITE OR COPY-WRITE?
2549 013150 263 17 0 00 000000 POPJ P, ;NO, FAIL
2550 013151 476 00 0 00 016611 DEP2: SETOM LASTPG ;WRITE MAY CHANGE ACCESS
2551 013152 202 05 0 02 000000 MOVEM T,0(R) ;DO IT
2552 013153 254 00 0 00 010520 JRST CPOPJ1
2553 ; > ;END IFN FTDEC20
2554
2555 013154 260 17 0 00 013462 DSYMER: PUSHJ P,CLRCSH ;DEPOSIT FOR SYM TABLE ROUTINES
2556 > ;END IFE FTFILE
2557 013155 DEPERR:
2558 013155 260 17 0 00 013112 DMEMER: PUSHJ P,DEPMEM ;DEPOSIT AND GO TO ERR IF IT FAILS
2559 013156 254 00 0 00 010166 JRST ERR
2560 013157 263 17 0 00 000000 POPJ P,
2561 XLIST
2562 LIST
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 87
KLDDT MAC 5-May-78 12:59 MEMORY MANAGER SUBROUTINES SEQ 0075
2563 ;FETCH FROM MEMORY SUBROUTINE
2564
2565 ;HFETCH GETS A WORD FROM THE HISEG GIVEN AN OFFSET INTO THE SEGMENT
2566 ;CALL WITH:
2567 ; R = HISEG OFFSET
2568 ; PUSHJ P,HFETCH
2569 ; NO HISEG RETURN
2570 ; HERE WITH WORD IN T
2571 ;
2572 013160 HFETCH:
2573 IFN FTEXEC,<
2574 ; SKPUSR ;NO HISEG SYMBOLS IN EXEC MODE (OR KLDDT)
2575 013160 263 17 0 00 000000 POPJ P,0> ; ..
2576 013161 260 17 0 00 013246 PUSHJ P,GETHSO ;GET START OF HISEG
2577 013162 322 05 0 00 010521 JUMPE T,CPOPJ ;EXIT IF NONE
2578 013163 270 02 0 00 000005 ADD R,T ;RELOCATE
2579 ;FALL INTO FETCH
2580
2581 ;SUBROTINE GET A WORD FROM MEMORY
2582 ;CALL WITH:
2583 ; R = JUNK,,ADDRESS
2584 ; PUSHJ P,FETCH
2585 ; HERE IF ADDRESS IS NOT VALID
2586 ; HERE WITH WORD IN T AND R UNCHANGED
2587 ;
2588 ;AC'S TT1 AND TT2 CHANGED
2589
2590 013164 FETCH: IFE FTDEC20,<
2591 IFE FTFILE,<
2592 013164 332 00 0 00 016721 SKIPE TOPS20
2593 013165 254 00 0 00 013201 JRST FET20
2594 013166 260 17 0 00 013234 PUSHJ P,CHKPAG ;GET ACCESS BITS FOR PAGE
2595 013167 321 14 0 00 010521 JUMPL TT1,CPOPJ ;ERROR IF PAGE DOES NOT EXIST
2596 013170 603 14 0 00 100000 TLNE TT1,(1B2) ;IS PAGE READABLE?
2597 013171 254 00 0 00 013175 JRST FET1 ;YES--GO READ IT
2598 013172 326 14 0 00 010521 JUMPN TT1,CPOPJ ;EXIT IF KNOW CONCEALED
2599 013173 265 14 0 00 013211 JSP TT1,CHKADR ;LEGAL ADDRESS?
2600 013174 255 00 0 00 000000 JFCL ;HIGH OR LOW OK FOR FETCH
2601 013175 606 02 0 00 777760 FET1: TRNN R,777760 ;ACCUMULATOR?
2602 013176 334 05 0 02 016647 SKIPA T,AC0(R) ;YES
2603 013177 200 05 0 02 000000 MOVE T,(R) ;NO
2604 013200 254 00 0 00 010520 JRST CPOPJ1> ;SKIP RETURN ONLY FOR LEGAL ADDRESS
2605 ; > ;END OF IFE FTDEC20
2606 ; IFN FTDEC20,< ;FETCH FOR DEC20
2607 013201 606 02 0 00 777760 FET20: TRNN R,777760 ;AC?
2608 JRST [MOVE T,AC0(R) ;YES, DO IT
2609 013202 254 00 0 00 016203 JRST CPOPJ1]
2610 013203 260 17 0 00 013211 PUSHJ P,CHKADR ;GET ACCESS
2611 013204 603 13 0 00 020000 TLNE TT,(PA%EX) ;EXISTS?
2612 013205 607 13 0 00 100000 TLNN TT,(PM%RD) ;HAVE READ?
2613 013206 263 17 0 00 000000 POPJ P, ;NO, FAIL
2614 013207 200 05 0 02 000000 MOVE T,0(R) ;YES, DO IT
2615 013210 254 00 0 00 010520 JRST CPOPJ1
2616 ; > ;END IFN FTDEC20
2617 XLIST
2618 LIST
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 90
KLDDT MAC 5-May-78 12:59 MEMORY MANAGER SUBROUTINES SEQ 0076
2619
2620 IFE FTDEC20,<
2621 013211 332 00 0 00 016721 CHKADR: SKIPE TOPS20
2622 013212 254 00 0 00 013261 JRST CHKA20
2623 013213 550 13 0 00 000000* HRRZ TT,.JBREL ;GET HIGHEST ADDRESS IN LOW SEGMENT
2624 IFN FTEXEC,<
2625 013214 331 00 0 00 016717 SKPUSR
2626 013215 254 00 0 00 013305 JRST CHKA4 ;DO MAP IN EXEC MODE
2627 >
2628 013216 301 13 0 02 000000 CAIL TT,(R) ;CHECK FOR WITHIN LOW SEGMENT
2629 013217 254 00 0 14 000001 JRST 1(TT1) ;ADDRESS IS OK IN LOW SEGMENT, SKIP RETURN
2630 013220 336 00 0 00 000000* SKIPN .JBHRL ;ANY HISEG?
2631 013221 263 17 0 00 000000 POPJ P,0 ;NO--ERROR
2632 013222 261 17 0 00 000005 PUSH P,T ;SAVE T
2633 013223 260 17 0 00 013246 PUSHJ P,GETHSO ;GET START OF HISEG
2634 013224 550 13 0 00 000002 HRRZ TT,R ;COPY DESIRED ADDRESS
2635 013225 274 13 0 00 000005 SUB TT,T ;GET OFFSET INTO HISEG
2636 013226 262 17 0 00 000005 POP P,T
2637 013227 321 13 0 00 010521 JUMPL TT,CPOPJ ;MUST BE POSITIVE
2638 013230 550 13 0 00 013220* HRRZ TT,.JBHRL ;TOP OF HISEG
2639 013231 305 13 0 02 000000 CAIGE TT,(R) ;IS ADDRESS TOO BIG?
2640 013232 263 17 0 00 000000 POPJ P,0 ;YES--ERROR
2641 013233 254 00 0 14 000000 JRST (TT1) ;NO--INDICATE HISEG
2642
2643 013234 CHKPAG: IFN FTEXEC,<
2644 013234 201 14 0 00 000000 MOVEI TT1,0 ;PRESET UNKNOWN ANSWER
2645 013235 331 00 0 00 016717 SKPUSR ;SKIP IF IN USER MODE
2646 013236 263 17 0 00 000000 POPJ P,0 ;DO NOT DO UUO'S IN EXEC MODE
2647 >
2648 013237 550 14 0 00 000002 HRRZ TT1,R ;COPY ADDRESS
2649 013240 242 14 0 00 777767 LSH TT1,-9 ;SHIFT LEFT 9 BITS
2650 013241 505 14 0 00 000006 HRLI TT1,6 ;FUNCTION TO GET ACCESS BITS
2651 013242 047 14 0 00 000145 PAGE. TT1, ;ASK THE MONITOR
2652 013243 634 14 0 00 000014 TDZA TT1,TT1 ;RETURN ZERO IF UNKNOWN
2653 013244 660 14 0 00 000001 TRO TT1,1 ;MAKE SURE NON-ZERO IF UUO WON
2654 013245 263 17 0 00 000000 POPJ P,0 ;ELSE RETURN GOOD STUFF
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 91
KLDDT MAC 5-May-78 12:59 MEMORY MANAGER SUBROUTINES SEQ 0077
2655
2656 013246 GETHSO: IFN FTEXEC,<
2657 013246 331 00 0 00 016717 SKPUSR
2658 JRST [MOVEI T,400000
2659 013247 254 00 0 00 016205 POPJ P,0]
2660 >
2661 013250 332 00 0 00 016721 SKIPE TOPS20
2662 013251 254 00 0 00 013327 JRST GETH20
2663 013252 200 05 0 00 016207 MOVE T,[-2,,.GTUPM]
2664 013253 047 05 0 00 000041 GETTAB T,
2665 013254 201 05 0 00 000000 MOVEI T,0
2666 013255 554 05 0 00 000005 HLRZ T,T
2667 013256 305 05 0 00 000777 CAIGE T,777
2668 013257 201 05 0 00 400000 MOVEI T,400000
2669 013260 263 17 0 00 000000 POPJ P,
2670 ; > ;END IFE FTDEC20
2671 ; IFN FTDEC20,<
2672 013261 CHKA20: IFN FTEXEC,<
2673 013261 331 00 0 00 016717 SKPUSR
2674 013262 254 00 0 00 013305 JRST CHKA4>
2675 013263 261 17 0 00 000002 PUSH P,T2
2676 013264 261 17 0 00 000002 PUSH P,R
2677 013265 550 02 0 17 000000 HRRZ T2,0(P) ;GET DESIRED ADDRESS
2678 013266 430 02 0 00 016611 XOR T2,LASTPG ;COMPARE WITH LAST ONE TESTED
2679 013267 606 02 0 00 777000 TRNN T2,777000 ;SAME PAGE?
2680 013270 254 00 0 00 013301 JRST CHKA1 ;YES, ALREADY HAVE ACCESS
2681 013271 432 02 0 00 016611 XORM T2,LASTPG ;NO, SET NEW LAST PAGE
2682 013272 265 01 0 00 013273 JSP T1,.+1 ;GET USER FLAG
2683 013273 607 01 0 00 010000 TLNN T1,(PC%USR) ;IN USER MODE?
2684 JRST [HRRZ T1,0(P) ;NO, MONITOR. GET ADDRESS
2685 MRPAC ;READ MONITOR PAGE ACCESS
2686 013274 254 00 0 00 016210 JRST CHKA2] ;RETURN IT
2687 013275 135 01 0 00 016213 LDB T1,[POINT 9,0(P),26] ;GET PAGE NUMBER
2688 013276 505 01 0 00 400000 HRLI T1,.FHSLF
2689 013277 104 00 0 00 000057 RPACS ;READ PAGE ACCESS
2690 013300 502 02 0 00 016611 CHKA2: HLLM T2,LASTPG ;SAVE ACCESS WITH ADDRESS
2691 013301 510 13 0 00 000002 CHKA1: HLLZ TT,T2 ;RETURN ACCESS IN TT
2692 013302 262 17 0 00 000002 POP P,R
2693 013303 262 17 0 00 000002 POP P,T2
2694 013304 263 17 0 00 000000 POPJ P,
2695 ; > ;END FTDEC20
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 92
KLDDT MAC 5-May-78 12:59 MEMORY MANAGER SUBROUTINES SEQ 0078
2696
2697 IFN FTEXEC,<
2698 013305 335 00 0 00 016720 CHKA4: SKPNKL ;KL10?
2699 JRST [MAP TT,0(R) ;YES, GET PAGING DATA
2700 TLNN TT,(1B8) ;MAPPED REF?
2701 JRST CHKA5 ;NO, ALLOW IT
2702 TLNN TT,(1B1) ;HARD PAGE FAIL?
2703 TLNN TT,(1B2) ;OR NO ACCESS?
2704 JRST CHKA3 ;YES
2705 TLNN TT,(1B3+1B4) ;WRITE ALLOWED?
2706 JRST CHKA7 ;NO
2707 013306 254 00 0 00 016214 JRST CHKA5] ;YES
2708 013307 332 00 0 00 016720 SKPKI ;KI10?
2709 013310 254 00 0 00 013322 JRST CHKA8 ;NO, NO MAP INSTRUCTION
2710 013311 257 13 0 02 000000 MAP TT,0(R) ;GET ACCESS BITS FOR PAGE
2711 013312 606 13 0 00 400000 TRNN TT,1B18 ;PAGE FAIL?
2712 013313 254 00 0 00 013316 JRST CHKA6 ;NO, GO INSPECT DATA
2713 013314 602 13 0 00 020000 TRNE TT,1B22 ;YES, HAVE MATCH?
2714 013315 254 00 0 00 013321 JRST CHKA3 ;NO, PAGE HAS NO ACCESS
2715 013316 606 13 0 00 120000 CHKA6: TRNN TT,1B20+1B22 ;WRITABLE OR NO MATCH? (UNMAPPED REF)
2716 IFN FTDEC20,<
2717 CHKA7: SKIPA TT,[PM%RD+PA%EX] ;NO
2718 CHKA8:
2719 CHKA5: MOVSI TT,(PM%RD+PM%WT+PA%EX) ;YES
2720 POPJ P,
2721
2722 CHKA3: MOVSI TT,(1B5) ;SAY NO ACCESS
2723 POPJ P,
2724 >
2725 IFE FTDEC20,<
2726 013317 254 00 0 14 000000 CHKA7: JRST (TT1) ;CAN NOT WRITE -- INDICATE HISEG
2727 013320 254 00 0 14 000001 CHKA5: JRST 1(TT1) ;CAN WRITE -- INDICATE LOWSEG
2728 013321 263 17 0 00 000000 CHKA3: POPJ P,0 ;PAGE FAIL -- INDICATE ERROR
2729 013322 7 000 20 0 00 010000 CHKA8: CONO APR,NXMKA ;CLEAR NXM FLAG
2730 013323 200 13 0 02 000000 MOVE TT,(R) ;SEE IF NXM SETS
2731 013324 7 000 34 0 00 010000 CONSO APR,NXMKA ;TEST NXM FLAG
2732 013325 254 00 0 14 000001 JRST 1(TT1) ;OK
2733 013326 263 17 0 00 000000 POPJ P,0 ;ERROR
2734 >> ;END FTEXEC AND FTDEC20
2735 ; IFN FTDEC20,<
2736 013327 GETH20: IFN FTEXEC,<
2737 013327 331 00 0 00 016717 SKPUSR
2738 013330 254 00 0 00 013331 JRST GETHSZ> ;NO HIGHSEG IN EXEC MODE
2739 ; SKIPN JDTFLG# ;JOB DATA AREA VALID?
2740 ; JRST GETHSZ ;NO, ASSUME NO HIGHSEG
2741 ; MOVE T,.JBHSO ;CHECK SPECIAL LOSEG CELL
2742 ; LSH T,^D9 ;MAKE PAGE INTO ADDRESS
2743 ; SKIPN T ;BUT IF NOTHING SETUP,
2744 ; MOVEI T,400000 ;ASSUME USUAL
2745 ; SKIPN .JBHRL ;ANY HIGHSEG?
2746 013331 400 05 0 00 000000 GETHSZ: SETZ T, ;NO, SAY NO HIGHSEG
2747 013332 263 17 0 00 000000 POPJ P, ; >;END IFN FTDEC20
2748 XLIST
2749 LIST
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 94
KLDDT MAC 5-May-78 12:59 MEMORY MANAGER SUBROUTINES SEQ 0079
2750
2751 SUBTTL BINARY TO SYMBOLIC CONVERSION
2752
2753 ; PUSHJ P,LOOK ;AC T CONTAINS BINARY TO BE INTERPRETED
2754 ; RETURN 1 ;NOTHING AT ALL FOUND THAT'S USEFUL
2755 ; RETURN 2 ;SOMETHING FOUND, BUT NO EXACT MATCH
2756 ; RETURN 3 ;EXACT MATCH FOUND AND PRINTED
2757
2758 013333 202 05 0 00 016673 LOOK: MOVEM T,TEM ;SAVE VALUE BEING LOOKED UP
2759 013334 260 17 0 00 013456 PUSHJ P,CSHVER ;SEE IF CACHE IS USEFUL
2760 013335 254 00 0 00 013345 JRST LOOKC2 ;ITS NOT. DO IT THE OLD WAY
2761 013336 200 05 0 00 016673 MOVE T,TEM ;RECOVER VALUE
2762 013337 205 02 0 00 777760 MOVSI R,-NSYMCS ;CHECK SYMBOL CACHE FIRST
2763 013340 332 06 0 02 016675 LOOKC1: SKIPE W1,SYMCSH(R) ;GET POINTER AND CHECK IN USE
2764 013341 312 05 0 06 000001 CAME T,1(W1) ;VALUE SAME?
2765 013342 334 00 0 00 000000 SKIPA ;NO. DON'T LOOK AT IT THEN
2766 JRST [MOVE W2,0(W1) ;CHECK SYMBOL
2767 TLNE W2,(DELI+DELO) ;DELETED?
2768 JRST .+1 ;YES, IGNORE IT
2769 MOVEM W1,SYMPNT ;GOOD ONE
2770 JUMPL W1,LOOKO2 ;WAS OUTSIDE LOCAL
2771 013343 254 00 0 00 016225 JRST LOOKO4] ;WAS GLOBAL OR PROGRAM
2772 013344 253 02 0 00 013340 AOBJN R,LOOKC1
2773 013345 260 17 0 00 010537 LOOKC2: PUSHJ P,SYMSET ;SET UP SYM SEARCH POINTER AND COUNT
2774 013346 402 00 0 00 016546 SETZM SYMPNT ;INIT "OUTSIDE LOCAL" FLAG
2775 013347 620 00 0 00 030000 TRZ F,MDLCLF!PNAMEF ;INIT FLAGS
2776 013350 621 00 0 00 400000 TLZ F,(1B0) ;CLEAR SYMBOL TYPED FLAG
2777 013351 200 05 0 00 016673 MOVE T,TEM ;RESTORE VALUE BEING LOOKED UP
2778 013352 325 02 0 00 010521 JUMPGE R,CPOPJ ;RETURN, NOTHING FOUND
2779
2780 013353 200 07 0 02 000000 LOOK1: MOVE W2,(R) ;GET FLAGS FOR SYMBOL
2781 013354 607 07 0 00 740000 TLNN W2,(PNAME) ;PROGRAM NAME?
2782 JRST [JUMPE W2,LOOK3 ;YES, IGNORE NULL PROGRAM NAMES
2783 TRO F,PNAMEF ;SET PROGRAM NAME FLAG
2784 013355 254 00 0 00 016233 JRST LOOK3] ;GET NEXT SYMBOL
2785 013356 311 05 0 02 000001 CAML T,1(R) ;VALUE TOO LARGE?
2786 013357 603 07 0 00 600000 TLNE W2,(DELI!DELO) ;DELETED?
2787 013360 254 00 0 00 013400 JRST LOOK3 ;YES, GET NEXT SYMBOL
2788 013361 607 07 0 00 040000 TLNN W2,(GLOBL) ;NOT PROGRAM NAME. GLOBAL SYMBOL?
2789 013362 606 00 0 00 010000 TRNN F,PNAMEF ;LOCAL SYMBOL. INSIDE SPECIFIED PROGRAM?
2790 013363 254 00 0 00 013432 JRST LOOK5 ;CHECK FOR BEST VALUE SO FAR
2791 013364 305 05 0 00 000020 CAIGE T,20 ;QUANT IS IN AC RANGE?
2792 013365 254 00 0 00 013400 JRST LOOK3 ;YES, IGNORE OUTSIDE LOCALS
2793 013366 200 04 0 02 000001 MOVE W,1(R) ;GET VALUE
2794 013367 430 04 0 00 000005 XOR W,T ;COMPARE
2795 013370 321 04 0 00 013400 JUMPL W,LOOK3 ;REJECT IF SIGNS DIFFERENT
2796 013371 336 07 0 00 016546 SKIPN W2,SYMPNT ;HAVE ANY OUTSIDE LOCAL NOW?
2797 013372 254 00 0 00 013376 JRST LOOK2 ;NO, USE THIS ONE
2798 013373 200 04 0 02 000001 MOVE W,1(R) ;COMPARE VALUES
2799 013374 274 04 0 07 000001 SUB W,1(W2)
2800 013375 323 04 0 00 013400 JUMPLE W,LOOK3 ;REJECT UNLESS BETTER
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 95
KLDDT MAC 5-May-78 12:59 BINARY TO SYMBOLIC CONVERSION SEQ 0080
2801
2802 013376 620 00 0 00 020000 LOOK2: TRZ F,MDLCLF ;NOTE NO AMBIGUITY NOW
2803 013377 552 02 0 00 016546 HRRZM R,SYMPNT ;SAVE POINTER TO SYMBOL
2804 013400 253 02 0 00 013401 LOOK3: AOBJN R,.+1
2805 013401 253 02 0 00 013405 AOBJN R,LOOK3A ;ADVANCE POINTER TO NEXT SYM. ANY LEFT?
2806 IFE FTFILE,<
2807 013402 606 02 0 00 400000 TRNN R,1B18 ;HIGH SEGMENT SEARCH?
2808 013403 331 02 0 00 016535 SKIPL R,SAVHSM ;NO, SEARCH HIGH SEG TABLE , IF ANY
2809 >
2810 013404 200 02 1 00 016544 MOVE R,@SYMP ;NO, WRAP AROUND END OF TABLE
2811 013405 343 03 0 00 013353 LOOK3A: AOJLE S,LOOK1 ;TRANSFER IF MORE SYMBOLS TO LOOK AT
2812 013406 332 07 0 00 016546 SKIPE W2,SYMPNT ;OUTSIDE LOCALS FOUND?
2813 013407 602 00 0 00 020000 TRNE F,MDLCLF ;THAT ARE NOT MULTIPLY SYMBOLED?
2814 013410 254 00 0 00 013426 JRST LOOK4 ;NO
2815 013411 325 00 0 00 013415 JUMPGE F,LOOKO1 ;JUMP IF NO REGULAR SYMBOL FOUND
2816 013412 200 04 0 07 000001 MOVE W,1(W2) ;GET OUTSIDE LOCAL VALUE
2817 013413 317 04 0 06 000001 CAMG W,1(W1) ;BETTER THAN REGULAR SYM VALUE?
2818 013414 254 00 0 00 013426 JRST LOOK4 ;NO, USE REGULAR SYM
2819 013415 505 06 0 00 400000 LOOKO1: HRLI W1,(1B0) ;FLAG OUTSIDE LOCAL
2820 013416 260 17 0 00 013451 PUSHJ P,SYMCSI ;ADD TO SYMBOL CACHE
2821 013417 200 06 0 00 016546 LOOKO2: MOVE W1,SYMPNT ;PICK UP POINTER TO SYMBOL
2822 013420 312 05 0 06 000001 CAME T,1(W1) ;VALUE IDENTICAL?
2823 JRST [SUB T,1(W1) ;NO, COMPUTE DIFFERENCE
2824 013421 254 00 0 00 016236 JRST CPOPJ1] ;RETURN INEXACT
2825 013422 260 17 0 00 014074 PUSHJ P,SPT0 ;YES, TYPE IT OUT
2826 013423 201 05 0 00 000043 MOVEI T,"#"
2827 013424 260 17 0 00 014533 PUSHJ P,TOUT ;TYPE # TO SHOW POSSIBLE AMBIGUITY
2828 013425 254 00 0 00 013447 JRST LOOKO3 ;DOUBLE SKIP RETURN
2829
2830 013426 402 00 0 00 016546 LOOK4: SETZM SYMPNT ;FORGET ANY OUTSIDE LOCAL SEEN
2831 013427 325 00 0 00 010521 JUMPGE F,CPOPJ ;RETURN 1 IF NO GOOD SYMBOLS FOUND
2832 013430 274 05 0 06 000001 SUB T,1(W1) ;SOMETHING FOUND, CALCULATE HOW FAR OFF
2833 013431 254 00 0 00 010520 JRST CPOPJ1 ;RETURN 2, SOMETHING FOUND BUT NOT EXACT
2834
2835 013432 200 07 0 02 000001 LOOK5: MOVE W2,1(R) ;GET VALUE FROM TABLE
2836 013433 430 07 0 00 000005 XOR W2,T ;COMPARE SIGNS
2837 013434 321 07 0 00 013400 JUMPL W2,LOOK3 ;REJECT IF SIGNS DIFFERENT
2838 013435 325 00 0 00 013441 JUMPGE F,LOOK6 ;TRANSFER IF NOTHING FOUND YET
2839 013436 200 04 0 02 000001 MOVE W,1(R) ;GET VALUE FROM TABLE
2840 013437 274 04 0 06 000001 SUB W,1(W1) ;COMPARE WITH BEST VALUE SO FAR
2841 013440 323 04 0 00 013400 JUMPLE W,LOOK3 ;REJECT IF WORSE
2842 013441 540 06 0 00 000002 LOOK6: HRR W1,R ;SAVE AS BEST VALUES SO FAR
2843 013442 661 00 0 00 400000 TLO F,(1B0) ;SET FLAG SHOWING SOMETHING FOUND
2844 013443 326 07 0 00 013400 JUMPN W2,LOOK3 ;IF NOT PERFECT, CONTINUE LOOKING
2845 013444 505 06 0 00 000000 HRLI W1,0 ;FLAG GLOBAL OR PROGRAM LOCAL
2846 013445 260 17 0 00 013451 PUSHJ P,SYMCSI ;ADD TO SYMBOL CACHE
2847 013446 260 17 0 00 014074 LOOKO4: PUSHJ P,SPT0 ;PERFECT, TYPE IT OUT
2848 013447 350 00 0 17 000000 LOOKO3: AOS (P) ;SKIP TWICE
2849 013450 254 00 0 00 010520 JRST CPOPJ1
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 96
KLDDT MAC 5-May-78 12:59 BINARY TO SYMBOLIC CONVERSION SEQ 0081
2850 ;ADD SYMBOL TO SYMBOL CACHE
2851
2852 013451 350 07 0 00 016715 SYMCSI: AOS W2,SYMCSP ;ROUND-ROBIN INSERT
2853 013452 301 07 0 00 000020 CAIL W2,NSYMCS ;WRAPAROUND?
2854 013453 403 07 0 00 016715 SETZB W2,SYMCSP ;YES
2855 013454 202 06 0 07 016675 MOVEM W1,SYMCSH(W2) ;STORE POINTER
2856 013455 263 17 0 00 000000 POPJ P,
2857
2858
2859 ;VERIFY CACHE IS NOW USEFUL, I.E. IT POINTS TO THE PROPER SYMBOL
2860 ;TABLE
2861
2862 013456 260 17 0 00 010537 CSHVER: PUSHJ P,SYMSET ;GET CURRENT POINTERS
2863 013457 316 02 0 00 016716 CAMN R,OLDSYM ;SAME AS PREVIOUS?
2864 013460 254 00 0 00 010520 JRST CPOPJ1 ;YES. GO USE IT
2865 013461 202 02 0 00 016716 MOVEM R,OLDSYM ;SAVE CURRENT SYMBOL POINTER
2866 ; AND FALL THROUGH TO FLUSH CACHE
2867 ;CLEAR SYMBOL CACHE
2868
2869 013462 200 14 0 00 016240 CLRCSH: MOVE TT1,[SYMCSH,,SYMCSH+1]
2870 013463 402 00 0 14 777777 SETZM -1(TT1)
2871 013464 251 14 0 00 016714 BLT TT1,SYMCSH+NSYMCS-1
2872 013465 263 17 0 00 000000 POPJ P,
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 97
KLDDT MAC 5-May-78 12:59 BINARY TO SYMBOLIC CONVERSION SEQ 0082
2873
2874 013466 202 05 0 00 016531 CONSYM: MOVEM T,LWT
2875 IFN FTFILE,<
2876 MOVEM T,POKER+1> ;STORE FOR /P/M LOGIC
2877 013467 606 00 0 00 002000 TRNN F,LF1
2878 013470 254 00 1 00 000010 JRST @SCH ;PIN OR FTOC
2879 013471 602 00 0 00 000400 TRNE F,CF1
2880 013472 254 00 0 00 014037 JRST FTOC
2881
2882 013473 641 05 0 00 700000 PIN: TLC T,700000 ;PRINT INSTRUCTION
2883 013474 647 05 0 00 700000 TLCN T,700000
2884 013475 254 00 0 00 013627 JRST INOUT ;IN-OUT INSTRUCTION OR NEG NUM
2885 013476 404 05 0 00 016241 AND T,[XWD 777000,0] ;EXTRACT OPCODE BITS
2886 013477 322 05 0 00 013563 JUMPE T,HLFW ;TYPE AS HALF WORDS
2887 ; IFN FTDEC20,<
2888 013500 603 05 0 00 700000 TLNE T,(700B8) ;NO BUILT-IN OPCODES .L. 100
2889 ;>
2890 013501 260 17 0 00 015726 PUSHJ P,OPTYPE
2891 ; IFN FTDEC20,<
2892 013502 602 00 0 00 000002 TRNE F,ITF ;INSTRUCTION TYPED?
2893 013503 254 00 0 00 013511 JRST PFULI1 ;YES
2894 013504 200 05 0 00 016531 MOVE T,LWT ;NO, GET WORD
2895 013505 260 17 0 00 013333 PUSHJ P,LOOK ;TRY FOR FULL WORD MATCH
2896 013506 254 00 0 00 013511 JRST PFULI1 ;NOT FOUND
2897 013507 254 00 0 00 013511 JRST PFULI1 ;CLOSE IS NOT GOOD ENOUGH
2898 013510 263 17 0 00 000000 POPJ P, ;FOUND AND PRINTED
2899
2900 013511 PFULI1: ;>
2901 013511 205 05 0 00 777000 MOVSI T,777000
2902 013512 404 05 0 00 016531 AND T,LWT
2903 013513 602 00 0 00 000002 TRNE F,ITF ;HAS INSTRUCTION BEEN TYPED?
2904 013514 254 00 0 00 013520 JRST PIN2 ;YES
2905 013515 260 17 0 00 013333 PUSHJ P,LOOK ;NO, LOOK IN SYMBOL TABLE
2906 013516 254 00 0 00 013563 JRST HLFW ;NOTHING FOUND, OUTPUT AS HALFWORDS
2907 013517 254 00 0 00 013563 JRST HLFW ;NO EXACT MATCH, OUTPUT AS HALFWORDS
2908 013520 660 00 0 00 000200 PIN2: TRO F,NAF ;EXACT MATCH TYPED, ALLOW NEG ADDRESSES
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 98
KLDDT MAC 5-May-78 12:59 BINARY TO SYMBOLIC CONVERSION SEQ 0083
2909
2910 013521 260 17 0 00 014273 PUSHJ P,TSPC
2911 013522 135 05 0 00 016242 LDB T,[XWD 270400,LWT] ;GET AC FIELD
2912 013523 322 05 0 00 013533 JUMPE T,PI4
2913 013524 554 04 0 00 016531 HLRZ W,LWT
2914 013525 301 04 0 00 254000 CAIL W,(JRST)
2915 013526 303 04 0 00 256777 CAILE W,256777 ;IS INST BETWEEN JRST AND XCT?
2916 JRST [PUSHJ P,PAD ;NO, PRINT SYMBOLIC AC
2917 013527 254 00 0 00 016243 JRST PI3A]
2918 013530 260 17 0 00 014037 PUSHJ P,TOC ;YES, PRINT NUMERIC AC
2919 013531 201 06 0 00 000054 PI3A: MOVEI W1,","
2920 013532 260 17 0 00 014234 PUSHJ P,TEXT
2921 013533 200 06 0 00 016531 PI4: MOVE W1,LWT
2922 013534 201 05 0 00 000100 MOVEI T,"@"
2923 013535 603 06 0 00 000020 TLNE W1,20 ;CHECK FOR INDIRECT BIT
2924 013536 260 17 0 00 014533 PUSHJ P,TOUT
2925 013537 550 05 0 00 016531 HRRZ T,LWT
2926 013540 135 04 0 00 016245 LDB W,[XWD 331100,LWT] ;INSTRUCTION BITS
2927 IFN FTDEC20,<
2928 MOVE W1,W ;GET COPY
2929 TRC W1,600
2930 TRNN W1,710 ;IS INST TRXX OR TLXX?
2931 JRST [PUSHJ P,TOC ;YES, PRINT ADDRESS NUMERIC
2932 JRST PI7]> ;END IFN FTDEC20
2933 013541 301 04 0 00 000240 CAIL W,240
2934 013542 303 04 0 00 000247 CAILE W,247
2935 013543 254 00 0 00 013561 JRST PI8 ;ALL (EXCEPT ASH,ROT,LSH) HAVE SYMBOLIC ADRS
2936 013544 607 06 0 00 000020 TLNN W1,20
2937 013545 306 04 0 00 000243 CAIN W,<JFFO>_-33
2938 013546 254 00 0 00 013561 JRST PI8 ;JFFO AND @ GET SYMBOLIC ADDRESSES
2939 013547 260 17 0 00 013621 PUSHJ P,PADS3A ;ONLY ABSOLUTE ADDRESSING FOR LSH, ASH, AND ROT
2940 013550 620 00 0 00 000200 PI7: TRZ F,NAF
2941 013551 135 02 0 00 016246 LDB R,[XWD 220400,LWT] ;INDEX REGISTER CHECK
2942 013552 322 02 0 00 010521 JUMPE R,CPOPJ ;EXIT
2943 013553 201 05 0 00 000050 MOVEI T,"("
2944 013554 260 17 0 00 014533 PUSHJ P,TOUT
2945 013555 200 05 0 00 000002 MOVE T,R
2946 013556 260 17 0 00 013572 PUSHJ P,PAD
2947 013557 201 05 0 00 000051 MOVEI T,")"
2948 013560 254 00 0 00 014533 JRST TOUT ;EXIT
2949
2950 013561 260 17 0 00 013572 PI8: PUSHJ P,PAD
2951 013562 254 00 0 00 013550 JRST PI7
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 99
KLDDT MAC 5-May-78 12:59 BINARY TO SYMBOLIC CONVERSION SEQ 0084
2952
2953 HLFW: REPEAT 0,< MOVE T,LWT
2954 CAML T,[DDTINT SAVPI]
2955 CAMLE T,[DDTINT BNADR+2]
2956 SKIPA
2957 JRST PAD>
2958 013563 554 05 0 00 016531 HLRZ T,LWT ;PRINT AS HALF WORDS
2959 013564 322 05 0 00 013571 JUMPE T,HLFW1 ;TYPE ONLY RIGHT ADR IF LEFT ADR=0
2960 013565 660 00 0 00 000200 TRO F,NAF ;ALLOW NEGATIVE ADDRESSES
2961 013566 260 17 0 00 013572 PUSHJ P,PAD
2962 013567 205 06 0 00 261300 MOVSI W1,(ASCII /,,/)
2963 013570 260 17 0 00 014236 PUSHJ P,TEXT2 ;TYPE ,,
2964 013571 550 05 0 00 016531 HLFW1: HRRZ T,LWT
2965
2966 ;PRINT ADDRESSES (ARG USUALLY 18 BITS BUT CAN BE 36 BITS)
2967
2968 013572 405 05 0 00 777777 PAD: ANDI T,-1
2969 013573 254 00 1 00 000011 JRST @AR ;PADSO OR PAD1
2970
2971 013574 322 05 0 00 014207 PADSO: JUMPE T,FP7B ;PRINT A ZERO
2972 013575 260 17 0 00 013333 PUSHJ P,LOOK
2973 013576 254 00 0 00 013620 JRST PADS3 ;NOTHING FOUND, TYPE NUMERIC
2974 013577 334 07 0 06 000001 SKIPA W2,1(W1) ;SOMETHING FOUND, GET VALUE
2975 013600 263 17 0 00 000000 POPJ P, ;EXACT MATCH FOUND AND TYPED
2976 IFN FTDEC20,<
2977 CAIGE T,1000>
2978 IFE FTDEC20,<
2979 IFE FTEXEC!FTFILE,<
2980 CAIGE T,100> ;IN USER MODE, PRINT NUMERIC IF SYMBOL OFF
2981 IFN FTEXEC!FTFILE,<
2982 013601 305 05 0 00 000200 CAIGE T,200> ; BY 100(8) OR MORE- 200(8) FOR KLDDT
2983 >
2984 013602 305 07 0 00 030000 CAIGE W2,30000 ;PRINT ADRS .LT. 30000 NUMERICALLY (KLDDT)
2985 013603 254 00 0 00 013620 JRST PADS3 ;PRINT ADDRESS NUMERICALLY
2986 013604 200 07 0 00 016673 MOVE W2,TEM ;GET ORIGINAL QUANTITY
2987 013605 301 07 0 00 777700 CAIL W2,-100 ;ADDRESS BETWEEN -100 AND -1?
2988 013606 254 00 0 00 013620 JRST PADS3 ;YES, PRINT NUMERICALLY
2989 013607 202 05 0 00 016673 MOVEM T,TEM
2990 013610 260 17 0 00 014074 PUSHJ P,SPT0
2991 013611 201 05 0 00 000043 MOVEI T,"#"
2992 013612 332 00 0 00 016546 SKIPE SYMPNT ;SYMBOL IS OUTSIDE LOCAL?
2993 013613 260 17 0 00 014533 PUSHJ P,TOUT ;YES, FLAG
2994 013614 201 05 0 00 000053 MOVEI T,"+"
2995 013615 260 17 0 00 014533 PADS1A: PUSHJ P,TOUT
2996 013616 550 05 0 00 016673 HRRZ T,TEM
2997 013617 254 00 0 00 014037 PAD1: JRST TOC ;EXIT
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 100
KLDDT MAC 5-May-78 12:59 BINARY TO SYMBOLIC CONVERSION SEQ 0085
2998 013620 200 05 0 00 016673 PADS3: MOVE T,TEM
2999 013621 602 00 0 00 000200 PADS3A: TRNE F,NAF
3000 013622 305 05 0 00 776000 CAIGE T,776000
3001 013623 254 00 0 00 014037 JRST TOC
3002 013624 212 05 0 00 016673 PADS3B: MOVNM T,TEM
3003 013625 201 05 0 00 000055 MOVEI T,"-"
3004 013626 254 00 0 00 013615 JRST PADS1A
3005
3006 013627 650 05 0 00 016247 INOUT: TDC T,[XWD -1,400000] ;IO INSTRUCTION OR NEG NUM
3007 013630 656 05 0 00 016247 TDCN T,[XWD -1,400000]
3008 013631 254 00 0 00 013624 JRST PADS3B ;TYPE AS NEG NUM
3009 013632 135 02 0 00 016250 LDB R,[POINT 7,T,9] ;PICK OUT IO DEVICE BITS
3010 013633 301 02 0 00 000160 CAIL R,700_-2 ;IF DEVICE .L. 700, THEN TYPE
3011 013634 254 00 0 00 013563 JRST HLFW ;TYPE AS HALF WORDS
3012 013635 135 02 0 00 016251 LDB R,[POINT 3,T,12]
3013 013636 137 02 0 00 016252 DPB R,[POINT 6,T,8] ;MOVE IO BITS OVER FOR OP DECODER
3014 013637 260 17 0 00 015726 PUSHJ P,OPTYPE
3015 013640 260 17 0 00 014273 PUSHJ P,TSPC
3016 013641 205 05 0 00 077400 MOVSI T,077400
3017 013642 404 05 0 00 016531 AND T,LWT
3018 013643 322 05 0 00 013533 JUMPE T,PI4
3019 013644 260 17 0 00 013333 PUSHJ P,LOOK ;LOOK FOR DEVICE NUMBER
3020 013645 254 00 0 00 013650 JRST INOUT2 ;NOTHING FOUND, PRINT AS OCTAL
3021 013646 254 00 0 00 013650 JRST INOUT2 ;NO EXACT MATCH, PRINT AS OCTAL
3022 013647 254 00 0 00 013531 JRST PI3A ;EXACT MATCH TYPED
3023 013650 200 05 0 00 016673 INOUT2: MOVE T,TEM
3024 013651 242 05 0 00 777750 LSH T,-30
3025 013652 260 17 0 00 014037 PUSHJ P,TOC
3026 013653 254 00 0 00 013531 JRST PI3A
3027
3028 013654 603 00 0 00 000001 MASK: TLNE F,(QF)
3029 013655 254 00 0 00 013662 JRST MASK1
3030 IFE FTFILE,<
3031 013656 201 05 0 00 016613 MOVEI T,MSK
3032 013657 201 04 0 00 000001 MASK2: MOVEI W,1
3033 013660 202 04 0 00 016533 MOVEM W,FRASE1
3034 013661 254 00 0 00 010443 JRST QUANIN
3035 >
3036 IFN FTFILE,<JRST ERR>
3037 013662 202 05 0 00 016613 MASK1: MOVEM T,MSK
3038 013663 254 00 0 00 010176 JRST RET
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 101
KLDDT MAC 5-May-78 12:59 BINARY TO SYMBOLIC CONVERSION SEQ 0086
3039
3040 SUBTTL SEARCH LOGIC
3041
3042 013664 661 00 0 00 000020 EFFEC: TLO F,(LTF)
3043 013665 550 05 0 00 000005 HRRZ T,T
3044 013666 201 02 0 00 774000 WORD: MOVEI R,322000-326000 ;JUMPE-JUMPN
3045 013667 271 02 0 00 326240 NWORD: ADDI R,326000+40*T ;JUMPN T,
3046 013670 506 02 0 00 016357 HRLM R,SEAR2
3047 013671 627 00 0 00 000001 TLZN F,(QF)
3048 013672 254 00 0 00 010166 JRST ERR
3049 013673 452 05 0 00 016524 SETCAM T,WRD
3050 013674 205 05 0 00 777772 MOVSI T,FRASE-DEN-1 ;PREVENT TYPE OUT OF DDT PARTS
3051 013675 462 00 0 05 016527 SETCMM FRASE(T)
3052 013676 253 05 0 00 013675 AOBJN T,.-1
3053 013677 200 05 0 00 016551 MOVE T,ULIMIT
3054 013700 603 00 0 00 002000 TLNE F,(SAF)
3055 013701 661 00 0 00 000001 TLO F,(QF) ;SIMULATE A $Q TYPED
3056 013702 260 17 0 00 013770 PUSHJ P,SETUP
3057 013703 260 17 0 00 014263 PUSHJ P,CRF
3058 013704 260 17 0 00 013164 SEAR1: PUSHJ P,FETCH
3059 IFE FTDEC20,<
3060 013705 254 00 0 00 013721 JRST SEAR2B>
3061 IFN FTDEC20,<
3062 JRST [MOVEI R,777 ;FETCH FAILED, BUMP TO NEXT PAGE
3063 IORB R,DEFV
3064 JRST SEAR2A]> ;CONTINUE SEARCH
3065 013706 603 00 0 00 000020 TLNE F,(LTF) ;CHECK FOR EFFECTIVE ADDRESS SEARCH
3066 013707 254 00 0 00 013745 JRST EFFEC0
3067 013710 444 05 0 00 016524 EQV T,WRD
3068 013711 404 05 0 00 016613 AND T,MSK
3069 013712 256 00 0 00 016357 SEAR2G: XCT SEAR2 ;(JUMPE T, OR JUMPN T,) TO SEAR3 IF FOUND
3070 013713 350 02 0 00 016550 SEAR2A: AOS R,DEFV ;GET NEXT LOCATION
3071 013714 606 02 0 00 000777 TRNN R,777 ;CHECK LISTEN ONLY ONCE PER PAGE
3072 013715 260 17 0 00 014572 PUSHJ P,LISTEN ;ANYTHING TYPED?
3073 013716 313 02 0 00 016551 CAMLE R,ULIMIT ;OR END OF SEARCH?
3074 013717 254 00 0 00 013725 JRST SEARFN ;YES
3075 013720 254 00 0 00 013704 JRST SEAR1 ;NO, LOOK SOME MORE
3076
3077 IFE FTDEC20,<
3078 013721 201 02 0 00 377777 SEAR2B: MOVEI R,400000-1 ;MOVE UP TO HI SEGMENT
3079 013722 437 02 0 00 016550 IORB R,DEFV ;PUT IN MEMORY TOO
3080 013723 606 02 0 00 400000 TRNN R,400000 ;ALREADY IN HI SEGMENT?
3081 013724 254 00 0 00 013713 JRST SEAR2A> ;NO
3082 013725 462 00 0 00 016531 SEARFN: SETCMM LWT ;COMPLEMENT BITS BACK AND STOP SEARCH
3083 013726 254 00 0 00 010006 JRST DD1
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 102
KLDDT MAC 5-May-78 12:59 SEARCH LOGIC SEQ 0087
3084
3085 013727 260 17 0 00 014572 SEAR3: PUSHJ P,LISTEN ;ANY TYPEIN?
3086 013730 334 00 0 00 000000 SKIPA ;NO
3087 013731 254 00 0 00 013725 JRST SEARFN ;YES, TERMINATE SEARCH
3088 013732 200 02 0 00 016550 MOVE R,DEFV
3089 013733 260 17 0 00 013164 PUSHJ P,FETCH
3090 013734 254 00 0 00 010166 JRST ERR
3091 013735 621 00 0 00 004000 TLZ F,(STF) ;GET RID OF SUPPRESS TYPEOUT MODE
3092 013736 200 05 0 00 016550 MOVE T,DEFV
3093 013737 260 17 0 00 011261 PUSHJ P,PSHLLC ;PUSH OLD LOCATION COUNTER
3094 013740 260 17 0 00 011132 PUSHJ P,LI1 ;CALL REGISTER EXAMINATION LOGIC TO TYPE OUT
3095 013741 260 17 0 00 014263 PUSHJ P,CRF
3096 013742 462 00 0 00 016531 SETCMM LWT
3097 013743 462 00 0 00 016673 SETCMM TEM
3098 013744 254 00 0 00 013713 SEAR4: JRST SEAR2A
3099
3100 013745 201 04 0 00 000100 EFFEC0: MOVEI W,100
3101 013746 202 04 0 00 016673 MOVEM W,TEM
3102 013747 200 04 0 00 000005 EFFEC1: MOVE W,T
3103 013750 135 02 0 00 016133 LDB R,[POINT 4,T,17] ;GET IR FIELD
3104 013751 322 02 0 00 013756 JUMPE R,EFFEC2
3105 013752 260 17 0 00 013164 PUSHJ P,FETCH
3106 013753 254 00 0 00 010166 JRST ERR
3107 013754 553 00 0 00 000005 HRRZS T ;GET RID OF BITS IN LEFT IN ORDER
3108 013755 271 05 0 04 000000 ADDI T,(W) ; PREVENT AROV WHEN ADDING ADDRESSES
3109 013756 540 02 0 00 000005 EFFEC2: HRR R,T
3110 013757 607 04 0 00 000020 TLNN W,20 ;INDIRECT BIT CHECK
3111 013760 254 00 0 00 013765 JRST EFFEC3
3112 013761 372 00 0 00 016673 SOSE,TEM
3113 013762 260 17 0 00 013164 PUSHJ P,FETCH
3114 013763 254 00 0 00 013744 JRST SEAR4
3115 013764 254 00 0 00 013747 JRST EFFEC1
3116 013765 444 05 0 00 016524 EFFEC3: EQV T,WRD
3117 013766 405 05 0 00 777777 ANDI T,777777
3118 013767 254 00 0 00 013712 JRST SEAR2G
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 103
KLDDT MAC 5-May-78 12:59 SEARCH LOGIC SEQ 0088
3119
3120 013770 607 00 0 00 000001 SETUP: TLNN F,(QF) ;QUANTITY TYPED?
3121 IFE FTDEC20,<
3122 013771 201 05 0 00 777777 MOVEI T,777777> ;NO, DEFAULT HIGH ADR IS TOP OF MEMORY
3123 IFN FTDEC20,<
3124 IFN FTEXEC,<
3125 HRRZ T,.JBFF> ;DEFAULT UPPER LIMIT
3126 IFE FTEXEC,<
3127 MOVEI T,777777>>
3128 013772 552 05 0 00 016551 HRRZM T,ULIMIT ;SAVE LAST ADDRESS OF SEARCH
3129 013773 553 02 0 00 016550 HRRZS R,DEFV ;GET 1ST ADDRESS
3130 013774 607 00 0 00 001000 TLNN F,(FAF) ;WAS A 1ST ADR SPECIFIED?
3131 013775 403 02 0 00 016550 SETZB R,DEFV ;NO, MAKE IT ZERO
3132 013776 313 02 0 00 016551 CAMLE R,ULIMIT ;LIMITS IN A REASONABLE ORDER?
3133 013777 254 00 0 00 010166 JRST ERR ;NO
3134 014000 263 17 0 00 000000 POPJ P, ;YES, RETURN
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 104
KLDDT MAC 5-May-78 12:59 SEARCH LOGIC SEQ 0089
3135
3136 014001 607 00 0 00 010000 ZERO: TLNN F,(CCF)
3137 014002 254 00 0 00 010166 JRST ERR
3138 014003 260 17 0 00 013770 PUSHJ P,SETUP
3139 014004 550 03 1 00 016544 HRRZ S,@SYMP ;GET 1ST ADR OF SYMBOL TABLE
3140 014005 574 06 1 00 016544 HLRE W1,@SYMP ;GET LENGTH OF SYM TABLE
3141 014006 274 06 0 00 000003 SUB W1,S ;GET NEG OF LAST ADR
3142 014007 213 00 0 00 000006 MOVNS W1 ;GET POS LAST ADR
3143 014010 201 05 0 00 000000 MOVEI T,0 ;0 TO STORE IN MEMORY
3144 014011 606 02 0 00 777760 ZERO1: TRNN R,777760
3145 014012 254 00 0 00 014027 JRST ZEROR ;OK TO ZERO AC'S
3146 IFE FTDEC20,<
3147 IFN FTEXEC,<
3148 014013 331 00 0 00 016717 SKPUSR
3149 >
3150 IFN FTEXEC!FTFILE,<
3151 JRST [CAIGE R,XZLOW
3152 MOVEI R,XZLOW ;IN EXEC MODE, DON'T ZERO 20-40
3153 014014 254 00 0 00 016253 JRST ZERO3 ] >
3154 >
3155 IFE FTFILE,<
3156 014015 305 02 0 00 000140 CAIGE R,ZLOW
3157 014016 201 02 0 00 000140 MOVEI R,ZLOW ;DON'T ZERO 20 THRU ZLOW
3158 014017 301 02 0 00 010000 ZERO3: CAIL R,DDTX
3159 014020 303 02 0 00 016773 CAILE R,DDTEND
3160 014021 254 00 0 00 014023 JRST .+2
3161 014022 201 02 0 00 016773 MOVEI R,DDTEND ;DON'T ZERO DDT
3162 IFE FTDEC20,<
3163 014023 311 02 0 00 000003 CAML R,S
3164 014024 313 02 0 00 000006 CAMLE R,W1>
3165 014025 254 00 0 00 014027 JRST .+2
3166 014026 550 02 0 00 000006 HRRZ R,W1 ;DON'T ZERO SYMBOL TABLE
3167 >
3168 IFN FTFILE,<
3169 ZERO3:>
3170 014027 313 02 0 00 016551 ZEROR: CAMLE R,ULIMIT ;ABOVE LIMITS?
3171 014030 254 00 0 00 010006 JRST DD1 ;YES, STOP
3172 014031 260 17 0 00 013112 PUSHJ P,DEPMEM ;DEPOSIT T
3173 IFE FTFILE,<
3174 014032 664 02 0 00 377777 TROA R,377777 ;
3175 014033 344 02 0 00 014011 AOJA R,ZERO1
3176 014034 606 02 0 00 400000 TRNN R,400000 ;HI SEGMENT?
3177 014035 344 02 0 00 014011 AOJA R,ZERO1 ;NO, KEEP GOING
3178 >
3179 014036 254 00 0 00 010006 JRST DD1 ;FINISH
3180 IFN FTFILE,<AOJA R,ZERO1>
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 105
KLDDT MAC 5-May-78 12:59 SEARCH LOGIC SEQ 0090
3181
3182 SUBTTL OUTPUT SUBROUTINES
3183
3184 014037 FTOC: ;NUMERIC OUTPUT SUBROUTINE
3185 014037 550 06 0 00 000012 TOC: HRRZ W1,ODF
3186 014040 306 06 0 00 000010 CAIN W1,10 ;IS OUPUT RADIX NOT OCTAL, OR
3187 014041 607 05 0 00 777777 TLNN T,-1 ;ARE THERE NO LEFT HALF BITS?
3188 014042 254 00 0 00 014051 JRST TOCA ;YES, DO NOTHING SPECIAL
3189 014043 542 05 0 00 016360 HRRM T,TOCS ;NO, TYPE AS HALF WORD CONSTANT
3190 014044 557 00 0 00 000005 HLRZS T ;GET LEFT HALF
3191 014045 260 17 0 00 014054 PUSHJ P,TOC0 ;TYPE LEFT HALF
3192 014046 205 06 0 00 261300 MOVSI W1,(ASCII /,,/)
3193 014047 260 17 0 00 014236 PUSHJ P,TEXT2 ;TYPE ,,
3194 014050 256 00 0 00 016360 XCT TOCS ;GET RIGHT HALF BACK
3195 014051 550 06 0 00 000012 TOCA: HRRZ W1,ODF ;IS OUTPUT RADIX DECIMAL?
3196 014052 306 06 0 00 000012 CAIN W1,12
3197 014053 254 00 0 00 014065 JRST TOC4 ;YES,TYPE SIGNED WITH PERIOD
3198 014054 246 05 0 00 777735 TOC0: LSHC T,-43
3199 014055 242 06 0 00 777777 LSH W1,-1 ;W1=T+1
3200 014056 235 05 1 00 000012 DIVI T,@ODF
3201 014057 506 06 0 17 000000 HRLM W1,0(P)
3202 014060 332 00 0 00 000005 SKIPE T
3203 014061 260 17 0 00 014054 PUSHJ P,TOC0
3204 014062 554 05 0 17 000000 HLRZ T,0(P)
3205 014063 271 05 0 00 000060 ADDI T,"0"
3206 014064 254 00 0 00 014533 JRST TOUT
3207
3208 014065 200 02 0 00 000005 TOC4: MOVE A,T ;TYPE AS SIGNED DECIMAL INTEGER
3209 014066 325 05 0 00 014071 JUMPGE T,TOC5
3210 014067 201 05 0 00 000055 MOVEI T,"-"
3211 014070 260 17 0 00 014533 PUSHJ P,TOUT
3212 014071 260 17 0 00 014200 TOC5: PUSHJ P,FP7 ;DECIMAL PRINT ROUTINE
3213 014072 201 05 0 00 000056 TOC6: MOVEI T,"."
3214 014073 254 00 0 00 014533 JRST TOUT
3215
3216 ;SYMBOL OUTPUT SUBROUTINE
3217
3218 014074 552 06 0 00 016547 SPT0: HRRZM W1,SPSAV ;SAVE POINTER TO TYPED SYM
3219 014075 SPT: ;RADIX 50 SYMBOL PRINT
3220 014075 135 05 0 00 016256 LDB T,[POINT 32,0(W1),35] ;GET SYMBOL
3221 014076 231 05 0 00 000050 SPT1: IDIVI T,50
3222 014077 506 06 0 17 000000 HRLM W1,0(P)
3223 014100 322 05 0 00 014102 JUMPE T,SPT2
3224 014101 260 17 0 00 014076 PUSHJ P,SPT1
3225 014102 554 05 0 17 000000 SPT2: HLRZ T,0(P)
3226 014103 322 05 0 00 010521 JUMPE T,CPOPJ ;FLUSH NULL CHARACTERS
3227 014104 271 05 0 00 000257 ADDI T,260-1
3228 014105 303 05 0 00 000271 CAILE T,271
3229 014106 271 05 0 00 000007 ADDI T,301-272
3230 014107 303 05 0 00 000332 CAILE T,332
3231 014110 275 05 0 00 000070 SUBI T,334-244
3232 014111 306 05 0 00 000243 CAIN T,243
3233 014112 201 05 0 00 000256 MOVEI T,256
3234 014113 254 00 0 00 014533 JRST TOUT
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 106
KLDDT MAC 5-May-78 12:59 OUTPUT SUBROUTINES SEQ 0091
3235
3236 014114 SYMD: ;$D ;DELETE LAST SYM & PRINT NEW
3237 014114 550 02 0 00 016547 HRRZ R,SPSAV ;PICK UP POINTER TO LAST SYM
3238 014115 322 02 0 00 010166 JUMPE R,ERR
3239 014116 200 05 0 02 000000 MOVE T,(R) ;PICK UP SYMBOL
3240 014117 661 05 0 00 400000 TLO T,(DELO) ;TURN ON "SUPPRESS OUTPUT" BIT
3241 014120 260 17 0 00 013154 PUSHJ P,DSYMER ;STORE BACK IN SYMBOL TABLE
3242 014121 200 05 0 00 016531 MOVE T,LWT
3243 014122 254 00 0 00 013466 JRST CONSYM ;PRINT OUT NEXT BEST SYMBOL
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 107
KLDDT MAC 5-May-78 12:59 OUTPUT SUBROUTINES SEQ 0092
3244
3245 ;FLOATING POINT OUTPUT
3246
3247 014123 200 02 0 00 000005 TFLOT: MOVE A,T
3248 014124 325 02 0 00 014133 JUMPGE A, TFLOT1
3249 014125 213 00 0 00 000002 MOVNS A
3250 014126 255 00 0 00 000000 JFCL ;PREVENT OVERFLOW MESSAGE
3251 ; FROM FORTRAN PROGRAMS
3252 014127 201 05 0 00 000055 MOVEI T,"-"
3253 014130 260 17 0 00 014533 PUSHJ P,TOUT
3254 014131 623 02 0 00 400000 TLZE A,400000
3255 014132 254 00 0 00 014142 JRST FP1A
3256 014133 607 02 0 00 000400 TFLOT1: TLNN A, 400
3257 014134 254 00 0 00 014071 JRST TOC5 ;IF UNNORMALIZED, TYPE AS DECIMAL INTEGER
3258
3259 014135 201 03 0 00 000000 FP1: MOVEI B,0
3260 014136 315 02 0 00 014225 CAMGE A,FT01
3261 014137 254 00 0 00 014162 JRST FP4
3262 014140 311 02 0 00 014213 CAML A,FT8
3263 014141 344 03 0 00 014162 AOJA B,FP4
3264 014142 201 04 0 00 000000 FP1A: MOVEI C,0
3265
3266 014143 225 02 0 00 000400 FP3: MULI A,400
3267 014144 244 03 0 02 777535 ASHC B,-243(A)
3268 014145 402 00 0 00 016674 SETZM TEM1 ;INIT 8 DIGIT COUNTER
3269 014146 332 02 0 00 000003 SKIPE A,B ;DON'T TYPE A LEADING 0
3270 014147 260 17 0 00 014200 PUSHJ P,FP7 ;PRINT INTEGER PART OF 8 DIGITS
3271 014150 260 17 0 00 014072 PUSHJ P,TOC6 ;PRINT DECIMAL POINT
3272 014151 211 02 0 00 000010 MOVNI A,10
3273 014152 270 02 0 00 016674 ADD A,TEM1
3274 014153 200 06 0 00 000004 MOVE W1,C
3275 014154 200 05 0 00 000006 FP3A: MOVE T,W1
3276 014155 225 05 0 00 000012 MULI T,12
3277 014156 260 17 0 00 014207 PUSHJ P,FP7B
3278 014157 332 00 0 00 000006 SKIPE,W1
3279 014160 341 02 0 00 014154 AOJL A,FP3A
3280 014161 263 17 0 00 000000 POPJ P,
3281
3282 014162 211 04 0 00 000006 FP4: MOVNI C,6
3283 014163 201 07 0 00 000000 MOVEI W2,0
3284 014164 240 07 0 00 000001 FP4A: ASH W2,1
3285 014165 256 00 0 03 014226 XCT,FCP(B)
3286 014166 254 00 0 00 014171 JRST FP4B
3287 014167 164 02 1 03 014227 FMPR A,@FCP+1(B)
3288 014170 435 07 0 00 000001 IORI W2,1
3289 014171 346 04 0 00 014164 FP4B: AOJN C,FP4A
3290 014172 261 17 0 00 000007 PUSH P,W2 ;SAVE EXPONENT
3291 014173 261 17 0 03 014231 PUSH P,FSGN(B) ;SAVE "E+" OR "E-"
3292 014174 260 17 0 00 014143 PUSHJ P,FP3 ;PRINT OUT FFF.FFF PART OF NUMBER
3293 014175 262 17 0 00 000006 POP P,W1 ;GET "E+" OR "E-" BACK
3294 014176 260 17 0 00 014234 PUSHJ P,TEXT
3295 014177 262 17 0 00 000002 POP P,A ;GET EXPONENT BACK
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 108
KLDDT MAC 5-May-78 12:59 OUTPUT SUBROUTINES SEQ 0093
3296
3297 014200 231 02 0 00 000012 FP7: IDIVI A,12 ;DECIMAL OUTPUT SUBROUTINE
3298 014201 217 00 0 00 000003 MOVMS B ;MAKE POSITIVE
3299 014202 350 00 0 00 016674 AOS TEM1
3300 014203 506 03 0 17 000000 HRLM B,(P)
3301 014204 322 02 0 00 014206 JUMPE A,FP7A1
3302 014205 260 17 0 00 014200 PUSHJ P,FP7
3303
3304 014206 554 05 0 17 000000 FP7A1: HLRZ T,(P)
3305 014207 271 05 0 00 000260 FP7B: ADDI T,260
3306 014210 254 00 0 00 014533 JRST TOUT
3307
3308 014211 353473 426555 353473426555 ;1.0E32
3309 014212 266434 157116 266434157116 ;1.0E16
3310 014213 233575 360400 FT8: 233575360400 ;1.0E8
3311 014214 216470 400000 216470400000 ;1.0E4
3312 014215 207620 000000 207620000000 ;1.0E2
3313 014216 204500 000000 204500000000 ;1.0E1
3314 014217 201400 000000 FT: 201400000000 ;1.0E0
3315 014220 026637 304365 026637304365 ;1.0E-32
3316 014221 113715 126246 113715126246 ;1.0E-16
3317 014222 146527 461671 146527461671 ;1.0E-8
3318 014223 163643 334273 163643334273 ;1.0E-4
3319 014224 172507 534122 172507534122 ;1.0E-2
3320 014225 175631 463146 FT01: 175631463146 ;1.0E-1
3321 014226 FT0=FT01+1
3322
3323 014226 313 02 0 04 014226 FCP: CAMLE A, FT0(C)
3324 014227 315 02 0 04 014217 CAMGE A, FT(C)
3325 014230 000 00 0 04 014226 Z FT0(C)
3326
3327 014231 105 055 000 000 000 FSGN: ASCII .E-.
3328 014232 105 053 000 000 000 ASCII .E+.
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 109
KLDDT MAC 5-May-78 12:59 OUTPUT SUBROUTINES SEQ 0094
3329
3330 014233 200 06 0 00 000005 TEXTT: MOVE W1,T
3331 014234 607 06 0 00 774000 TEXT: TLNN W1,774000 ;LEFT JUSTIFIED UNLESS LEFT CHAR IS NULL
3332 014235 242 06 0 00 000035 LSH W1,35
3333 014236 201 05 0 00 000000 TEXT2: MOVEI T,0 ;7 BIT ASCII TEXT OUTPUT SUBROUTINE
3334 014237 246 05 0 00 000007 LSHC T,7
3335 014240 260 17 0 00 014533 PUSHJ P,TOUT
3336 014241 326 06 0 00 014236 JUMPN W1,TEXT2
3337 014242 263 17 0 00 000000 POPJ P,
3338
3339 014243 242 05 0 00 777742 R50PNT: LSH T,-36 ;RADIX 50 SYMBOL PRINTER
3340 014244 620 05 0 00 000003 TRZ T,3
3341 014245 260 17 0 00 014037 PUSHJ P,TOC
3342 014246 260 17 0 00 014273 PUSHJ P,TSPC
3343 014247 201 06 0 00 016531 MOVEI W1,LWT ;SETUP FOR SPT
3344 014250 254 00 0 00 014075 JRST SPT
3345
3346 014251 211 07 0 00 000006 SIXBP: MOVNI W2,6 ;SIXBIT PRINTER
3347 014252 200 06 0 00 016531 MOVE W1,LWT
3348 014253 201 05 0 00 000000 SIXBP1: MOVEI T,0
3349 014254 245 05 0 00 000006 ROTC T,6
3350 014255 271 05 0 00 000040 ADDI T,40
3351 014256 260 17 0 00 014533 PUSHJ P,TOUT
3352 014257 341 07 0 00 014253 AOJL W2,SIXBP1
3353 014260 263 17 0 00 000000 POPJ P,
3354
3355 014261 201 05 0 00 000015 CRN: MOVEI T,15 ;CARRIAGE RETURN
3356 014262 254 00 0 00 014533 JRST TOUT
3357
3358
3359 014263 260 17 0 00 014261 CRF: PUSHJ P,CRN
3360 014264 201 05 0 00 000012 MOVEI T,12 ;LINE FEED
3361 014265 254 00 0 00 014533 JRST TOUT
3362
3363 014266 LCT: IFE FTDEC20,<
3364 014266 201 05 0 00 000011 MOVEI T,11
3365 IFN FTEXEC,<
3366 014267 335 00 0 00 016717 SKPEXC >
3367 014270 254 00 0 00 014533 JRST TOUT> ;IN USER MODE, TYPE A TAB
3368 IFN FTEXEC!FTDEC20,<
3369 014271 260 17 0 00 014273 PUSHJ P,TSPC
3370 014272 260 17 0 00 014273 PUSHJ P,TSPC >
3371
3372 014273 201 05 0 00 000040 TSPC: MOVEI T,40 ;SPACE
3373 014274 254 00 0 00 014533 JRST TOUT
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 110
KLDDT MAC 5-May-78 12:59 OUTPUT SUBROUTINES SEQ 0095
3374
3375 014275 201 02 0 00 014314 BITO: MOVEI R,BITT ;BYTE OUTPUT SUBROUTINE
3376 014276 336 00 0 00 016510 SKIPN OLDAR
3377 014277 202 11 0 00 016510 MOVEM AR,OLDAR
3378 014300 551 11 0 00 014037 HRRZI AR,TOC
3379 014301 626 00 0 00 000001 TRZN F,Q2F
3380 014302 254 00 0 00 010166 JRST ERR
3381 014303 200 05 0 00 016525 MOVE T,WRD2
3382 014304 202 05 0 00 016506 MOVEM T,SVBTS
3383 014305 201 05 0 00 000044 MOVEI T,^D36
3384 014306 230 05 0 00 016525 IDIV T,WRD2
3385 014307 332 00 0 00 000006 SKIPE T+1
3386 014310 271 05 0 00 000001 ADDI T,1
3387 014311 202 05 0 00 016507 MOVEM T,SVBTS2
3388 014312 550 10 0 00 000002 HRRZ SCH,R
3389 014313 254 00 0 00 011375 JRST BASE1O
3390
3391 014314 200 05 0 00 016507 BITT: MOVE T,SVBTS2
3392 014315 202 05 0 00 016512 MOVEM T,SVBT2
3393 014316 200 06 0 00 016531 MOVE T+1,LWT
3394 014317 202 06 0 00 016511 MOVEM T+1,SVBT3
3395 014320 261 17 0 00 016531 PUSH P,LWT
3396 014321 201 05 0 00 000000 BITT2: MOVEI T,0
3397 014322 200 07 0 00 016506 MOVE T+2,SVBTS
3398 014323 246 05 0 07 000000 LSHC T,(T+2)
3399 014324 202 05 0 00 016531 MOVEM T,LWT
3400 014325 202 06 0 00 016511 MOVEM T+1,SVBT3
3401 014326 302 11 0 00 013574 CAIE AR,PADSO
3402 014327 260 17 0 00 014051 PUSHJ P,TOCA
3403 014330 302 11 0 00 014037 CAIE AR,TOC
3404 014331 260 17 0 00 013473 PUSHJ P,PIN
3405 014332 377 00 0 00 016512 SOSG SVBT2
3406 014333 254 00 0 00 014340 JRST BITT4
3407 014334 201 05 0 00 000054 MOVEI T,","
3408 014335 260 17 0 00 014533 PUSHJ P,TOUT
3409 014336 200 06 0 00 016511 MOVE T+1,SVBT3
3410 014337 254 00 0 00 014321 JRST BITT2
3411
3412 014340 262 17 0 00 016531 BITT4: POP P,LWT
3413 014341 263 17 0 00 000000 POPJ P,
3414 XLIST
3415 LIST
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 115
KLDDT MAC 5-May-78 12:59 PUNCH PAPER TAPE LOGIC SEQ 0096
3416
3417 SUBTTL TELETYPE IO LOGIC
3418
3419 IFN FTEXEC,< ;EXECUTIVE MODE TELETYPE I/O
3420
3421 000200 DTE==200
3422 000142 DTEII=142 ;DTE20 INTERRUPT INST
3423 000143 DTEUNS=143 ;UNUSED
3424 000144 DTEEPW=144 ;EXAMINE PROTECTION WORD
3425 000145 DTEERW=145 ;EXAMINE RELOCATION WORD
3426 000146 DTEDPW=146 ;DEPOSIT PROTECTION WORD
3427 000147 DTEDRW=147 ;DEPOSIT RELOCATION WORD
3428 000444 DTEFLG=444
3429 000447 DTET11=447
3430 000450 DTEF11=450
3431 000451 DTECMD=451
3432 000453 DTEOPR=453
3433 000455 DTEMTD=455
3434 000456 DTEMTI=456
3435 004000 .DTMTO==10B27
3436 004400 .DTMMC==11B27
3437 005000 .DTNMC==12B27
3438
3439 000004 DTEN==4 ;MAX NUMBER OF DTE'S
3440 020000 TO11DB==1B22 ;TO 11 DOORBELL
3441 001000 CL11PT==1B26 ;CLEAR TO 10 DOORBELL
3442 000010 PI0ENB==1B32 ;PI CHANNEL 0 ENABLE
3443 000020 PIENB==1B31 ;ENABLE PI SETTING
3444 100000 DTEPRV==1B20 ;RESTRICTED BIT
3445 ;APR INTERNAL CLOCK SERVICE
3446
3447 ;CONI/CONO MTR,
3448
3449 000024 MTR==024 ;DEVICE CODE
3450
3451 400000 MTRLOD==1B18 ;LOAD BITS 21-23
3452 ; 19-20 ;UNUSED, MBZ
3453 040000 MTREPA==1B21 ;ENABLE EXEC PI ACCOUNTING
3454 020000 MTRENA==1B22 ;ENABLE EXEC NON-PI ACCOUNTING
3455 010000 MTRAMN==1B23 ;ACCOUNTING METERS ON
3456 004000 MTRTBF==1B24 ;TIME BASE OFF
3457 002000 MTRTBN==1B25 ;TIME BASE ON
3458 001000 MTRCTB==1B26 ;CLEAR TIME BASE
3459 ; 27-32 ;UNUSED, MBZ
3460 000007 MTRPIA==7B35 ;PI ASSIGNMENT
3461
3462 ;CONI/CONO TIM
3463
3464 000020 TIM==020 ;DEVICE ASSIGNMENT
3465
3466 400000 TIMCIC==1B18 ;CLEAR INTERVAL COUNTER
3467 ; 19-20 ;UNUSED, MBZ
3468 040000 TIMITO==1B21 ;INTERVAL TIMER ON
3469 020000 TIMDON==1B22 ;DONE/CLEAR DONE
3470 010000 TIMICO==1B23 ;COUNTER OVERFLOW
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 116
KLDDT MAC 5-May-78 12:59 TELETYPE IO LOGIC SEQ 0097
3471
3472 ;GET TYPEIN CHARACTER - EXEC MODE
3473
3474 014342 260 17 0 00 014421 XTIN: PUSHJ P,XLISTE ;TELETYPE CHARACTER INPUT
3475 014343 254 00 0 00 014342 JRST .-1
3476 014344 322 05 0 00 014342 JUMPE T,XTIN ;FILTER NULLS
3477 014345 302 05 0 00 000175 CAIE T,175
3478 014346 306 05 0 00 000176 CAIN T,176
3479 014347 201 05 0 00 000033 MOVEI T,33 ;CHANGE ALL ALT MODES TO NEW
3480 IFN FTDEC20&<^-FTEDIT>,< ;IF NO FANCY EDITING...
3481 CAIE T,"U"-100 ;^U?
3482 CAIN T,177 ;RUBOUT?
3483 JRST WRONG ;YES, TYPE XXX
3484 >
3485 IFE FTDEC20&<^-FTEDIT>,< ;IF FANCY EDITING...
3486 014350 302 05 0 00 000177 CAIE T,177 ;DON'T ECHO EDIT CHARACTERS
3487 014351 306 05 0 00 000025 CAIN T,"U"-100
3488 014352 254 00 0 00 014363 JRST XTIN1
3489 014353 302 05 0 00 000022 CAIE T,"R"-100
3490 014354 306 05 0 00 000027 CAIN T,"W"-100
3491 014355 254 00 0 00 014363 JRST XTIN1>
3492 014356 306 05 0 00 000015 CAIN T,15 ;CR?
3493 JRST [MOVEI T,12 ;YES, PRESET LF FOR NEXT TIME
3494 MOVEM T,XNXTCH
3495 MOVEI T,15 ;ECHO AND RETURN CR NOW
3496 014357 254 00 0 00 016257 JRST .+1]
3497 014360 336 00 0 00 016361 SKIPN TEXINF ;DON'T ECHO TAB UNLESS TEXT INPUT
3498 014361 302 05 0 00 000011 CAIE T,11
3499 014362 260 17 0 00 014535 PUSHJ P,ECHO ;ECHO THE CHAR
3500 014363 263 17 0 00 000000 XTIN1: POPJ P,
3501
3502 ;TYPEOUT CHARACTER FROM T
3503
3504 014364 335 00 0 00 016720 XTOUT: SKPNKL ;KL10?
3505 014365 254 00 0 00 014402 JRST KLXTYO ;YES
3506 014366 506 05 0 17 000000 HRLM T,(P)
3507 014367 221 05 0 00 200401 IMULI T,200401 ;GENERATE PARITY
3508 014370 404 05 0 00 016263 AND T,[11111111]
3509 014371 220 05 0 00 016263 IMUL T,[11111111]
3510 014372 544 05 0 17 000000 HLR T,(P)
3511 014373 603 05 0 00 000010 TLNE T,10
3512 014374 640 05 0 00 000200 TRC T,200 ;MAKE PARITY EVEN
3513 014375 7 120 30 0 00 000020 CONSZ TTY,20
3514 014376 254 00 0 00 014375 JRST .-1
3515 014377 7 120 14 0 00 000005 DATAO TTY,T
3516 014400 405 05 0 00 000177 ANDI T,177 ;FLUSH PARITY
3517 014401 263 17 0 00 000000 POPJ P,0
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 117
KLDDT MAC 5-May-78 12:59 TELETYPE IO LOGIC SEQ 0098
3518 XLIST
3519 LIST
3520 014402 261 17 0 00 000000 KLXTYO: PUSH P,0
3521 014403 200 00 0 00 000005 MOVE 0,T
3522 014404 260 17 0 00 014410 PUSHJ P,$DTEXX ;PRINT CHAR
3523 014405 262 17 0 00 000000 POP P,0
3524 014406 405 05 0 00 000177 ANDI T,177
3525 014407 263 17 0 00 000000 POPJ P,
3526
3527 014410 260 17 0 00 014531 $DTEXX: PUSHJ P,EBRIDX ;GET INDEX OF EBR IN TT2
3528 014411 402 00 0 15 000444 SETZM DTEFLG(TT2)
3529 014412 202 00 0 15 000451 MOVEM 0,DTECMD(TT2) ;LOAD COMMAND CODE
3530 014413 256 00 0 00 016606 XCT DING11 ;RING -11 DOORBELL
3531 014414 336 00 0 15 000444 SKIPN DTEFLG(TT2)
3532 014415 254 00 0 00 014414 JRST .-1 ;WAIT TILL DONE
3533 014416 200 00 0 15 000450 MOVE 0,DTEF11(TT2)
3534 014417 402 00 0 15 000444 SETZM DTEFLG(TT2)
3535 014420 263 17 0 00 000000 POPJ P,
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 118
KLDDT MAC 5-May-78 12:59 TELETYPE IO LOGIC SEQ 0099
3536 ;SKIP IF HAVE INPUT CHAR AND RETURN IT IN T
3537
3538 014421 332 05 0 00 016722 XLISTE: SKIPE T,XNXTCH ;PRESET CHAR?
3539 JRST [SETZM XNXTCH ;YES, RETURN IT ONCE
3540 014422 254 00 0 00 016264 JRST XLIST1]
3541 IFN FTYANK,<
3542 SKIPE COMAND ;COMAND FILE?
3543 JRST XPTRIN ;YES, READ IT
3544 >
3545 014423 335 00 0 00 016720 SKPNKL
3546 014424 254 00 0 00 014432 JRST KLXLIS ;DO KL10 INPUT
3547 014425 7 120 34 0 00 000040 CONSO TTY,40 ;NO, LISTEN FOR TTY
3548 014426 263 17 0 00 000000 POPJ P,
3549 014427 7 120 04 0 00 000005 DATAI TTY,T
3550 014430 405 05 0 00 000177 XLIST1: ANDI T,177
3551 014431 254 00 0 00 010520 JRST CPOPJ1
3552 XLIST
3553 LIST
3554 014432 261 17 0 00 000000 KLXLIS: PUSH P,0
3555 014433 201 00 0 00 003400 MOVEI 3400 ;SETUP DDT MODE INPUT REQ CODE
3556 014434 260 17 0 00 014410 PUSHJ P,$DTEXX ;REQUEST TTY INPUT FROM PDP-11
3557 014435 202 00 0 00 000005 MOVEM 0,T
3558 014436 262 17 0 00 000000 POP P,0
3559 014437 405 05 0 00 000177 ANDI T,177
3560 014440 306 05 0 00 000003 CAIN T,003 ;CONTROL C ?
3561 014441 254 00 0 00 014445 JRST KLCC ;YES
3562 014442 336 00 0 00 000005 SKIPN T ;ANY RESPONSE ?
3563 014443 263 17 0 00 000000 POPJ P, ;NO, NON-SKIP RETURN
3564 014444 254 00 0 00 014430 JRST XLIST1
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 119
KLDDT MAC 5-May-78 12:59 TELETYPE IO LOGIC SEQ 0100
3565 014445 200 05 0 00 016266 KLCC: MOVE T,[JRST KLCC1]
3566 014446 254 00 0 00 011557 JRST XEC0 ;RESTORE BP'S ETC.
3567
3568 014447 7 000 20 0 00 000000 KLCC1: CONO 0,0 ;CLEAR APR
3569 014450 202 00 0 00 016773 MOVEM 0,KLCC0#
3570 014451 7 010 24 0 00 000000 CONI 10,0
3571 014452 606 00 0 00 600000 TRNN 600000 ;IS CACHE ON ?
3572 014453 254 00 0 00 014457 JRST KLCC2 ;NO
3573 014454 7 014 10 0 00 000000 BLKO 14,0 ;YES, FLUSH CACHE
3574 014455 7 000 30 0 00 200000 CONSZ 0,200000
3575 014456 254 00 0 00 014455 JRST .-1 ;WAIT TILL BUSY GOES AWAY
3576
3577 014457 261 17 0 00 000015 KLCC2: PUSH P,TT2
3578 014460 260 17 0 00 014531 PUSHJ P,EBRIDX
3579 014461 201 00 0 00 000403 MOVEI 403
3580 014462 202 00 0 15 000451 MOVEM DTECMD(TT2) ;END OF PROGRAM CALL
3581 014463 262 17 0 00 000015 POP P,TT2
3582 014464 200 00 0 00 016773 MOVE 0,KLCC0
3583 014465 256 00 0 00 016606 XCT DING11 ;DOORBELL THE -11
3584 014466 254 00 0 00 014466 JRST . ;HANG UP, -11 WILL ABORT
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 120
KLDDT MAC 5-May-78 12:59 TELETYPE IO LOGIC SEQ 0101
3585 ;SAVE USER STATUS ('RETURN' TO DDT)
3586
3587 014467 335 00 0 00 016720 XTTYRE: SKPNKL
3588 014470 254 00 0 00 014517 JRST LTTYRE ;DO KL10 SAVE STATUS
3589 014471 332 00 0 00 016605 SKIPE SAVTTY ;ALREADY HAVE IT?
3590 014472 254 00 0 00 014504 JRST TTY1 ;YES
3591 014473 7 120 24 0 00 016605 CONI TTY,SAVTTY ;SAVE PI ASSMT
3592 014474 7 120 20 0 00 000000 CONO TTY,0 ;SET PI ASSMT TO 0
3593 014475 205 07 0 00 000001 MOVSI W2,(1000000)
3594 014476 7 120 30 0 00 000120 CONSZ TTY,120 ;WAIT FOR PREVIOUS ACTIVITY TO FINISH
3595 014477 367 07 0 00 014476 SOJG W2,.-1 ;BUT DON'T WAIT FOREVER
3596 014500 7 120 24 0 00 000007 CONI TTY,W2 ;UPDATE STATUS BITS
3597 014501 137 07 0 00 016267 DPB W2,[POINT 15,SAVTTY,32]
3598 014502 7 120 04 0 00 000007 DATAI TTY,W2
3599 014503 506 07 0 00 016605 HRLM W2,SAVTTY
3600 014504 7 120 20 0 00 003410 TTY1: CONO TTY,3410 ;INIT TTY FOR DDT
3601 014505 263 17 0 00 000000 POPJ P,
3602
3603 ;RESTORE USER STATUS ('LEAVE' DDT)
3604
3605 014506 335 00 0 00 016720 XTTYLE: SKPNKL
3606 014507 254 00 0 00 014526 JRST LTTYLE ;DO KL10 RESTORE STATUS
3607 014510 7 120 30 0 00 000120 CONSZ TTY,120 ;WAIT FOR LAST OUTPUT
3608 014511 254 00 0 00 014510 JRST .-1
3609 014512 7 120 20 0 00 001200 CONO TTY,1200 ;CLEAR DONE FLAGS
3610 014513 200 05 0 00 016605 MOVE T,SAVTTY
3611 014514 7 120 20 0 05 000000 CONO TTY,0(T) ;RESTORE USER STATE
3612 014515 402 00 0 00 016605 SETZM SAVTTY ;NOTE USER STATE NOW IN EFFECT
3613 014516 263 17 0 00 000000 POPJ P,
3614
3615 014517 402 00 0 00 000444 LTTYRE: SETZM DTEFLG
3616 014520 402 00 0 00 000447 SETZM DTET11
3617 014521 402 00 0 00 000450 SETZM DTEF11
3618 014522 200 05 0 00 000453 MOVE T,DTEOPR
3619 014523 434 05 0 00 016270 OR T,[CONO 200,TO11DB]
3620 014524 202 05 0 00 016606 MOVEM T,DING11
3621 014525 263 17 0 00 000000 POPJ P,
3622
3623 014526 201 05 0 00 003000 LTTYLE: MOVEI T,3000
3624 014527 260 17 0 00 014402 PUSHJ P,KLXTYO
3625 014530 254 00 0 00 014517 JRST LTTYRE
3626
3627 014531 402 00 0 00 000015 EBRIDX: SETZM TT2
3628 014532 263 17 0 00 000000 POPJ P,
3629 XLIST
3630 LIST
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 123
KLDDT MAC 5-May-78 12:59 TELETYPE IO LOGIC SEQ 0102
3631
3632 ;TELETYPE OUTPUT - COMMON START POINT
3633
3634 014533 402 00 0 00 016367 TOUT: SETZM CHINP ;RESET INPUT LINE
3635 014534 402 00 0 00 016362 SETZM CHINC
3636 014535 261 17 0 00 000005 ECHO: PUSH P,T ;SAVE ORIG CHAR
3637 014536 306 05 0 00 000033 CAIN T,33 ;CONVERT ESC
3638 JRST [MOVEI T,"$"
3639 014537 254 00 0 00 016271 JRST ECHO1]
3640 014540 302 05 0 00 000015 CAIE T,15 ;CR OR LF?
3641 014541 306 05 0 00 000012 CAIN T,12
3642 014542 254 00 0 00 014555 JRST ECHO1 ;YES, NO CONVERSION
3643 014543 306 05 0 00 000007 CAIN T,"G"-100 ;BELL?
3644 014544 254 00 0 00 014555 JRST ECHO1 ;NO CONVERSION
3645 014545 306 05 0 00 000011 CAIN T,11 ;TAB?
3646 IFE FTEXEC,<
3647 JRST ECHO1> ;NO CONVERSION OF TAB IN USER MODE
3648 IFN FTEXEC,<
3649 JRST [SKPEXC
3650 JRST ECHO1 ;DITTO
3651 MOVEI T," " ;CONVERT TAB TO SPACES IN EXEC MODE
3652 PUSHJ P,TOUT0
3653 MOVEI T," "
3654 PUSHJ P,TOUT0
3655 MOVEI T," "
3656 014546 254 00 0 00 016273 JRST ECHO1]
3657 > ;END FTEXEC
3658 014547 301 05 0 00 000040 CAIL T,40 ;CONTROL CHAR?
3659 014550 254 00 0 00 014555 JRST ECHO1 ;NO
3660 014551 201 05 0 00 000136 MOVEI T,"^" ;YES, INDICATE
3661 014552 260 17 0 00 014560 PUSHJ P,TOUT0
3662 014553 200 05 0 17 000000 MOVE T,0(P) ;RECOVER ORIG CHAR
3663 014554 271 05 0 00 000100 ADDI T,100 ;CONVERT TO PRINTING EQUIVALENT
3664 014555 260 17 0 00 014560 ECHO1: PUSHJ P,TOUT0 ;DO DEVICE-DEPENDENT OUTPUT
3665 014556 262 17 0 00 000005 POP P,T
3666 014557 263 17 0 00 000000 POPJ P,
3667
3668 IFE FTDEC20,<
3669 051000 000000 OPDEF TTCALL [51B8]
3670
3671 014560 TOUT0:
3672 014560 331 00 0 00 016717 IFN FTEXEC,< SKPUSR
3673 014561 254 00 0 00 014364 JRST XTOUT >
3674 IFN FTFILE,< SKIPE COMAND ;IS THERE A COMMAND FILE?
3675 JRST PUTCHR> ;YES
3676
3677 014562 332 00 0 00 016721 SKIPE TOPS20
3678 014563 254 00 0 00 014566 JRST .+3
3679 014564 051 01 0 00 000005 TTCALL 1,T ;OUTPUT A CHARACTER
3680 014565 263 17 0 00 000000 POPJ P,
3681 014566 250 01 0 00 000005 EXCH T1,T
3682 014567 104 00 0 00 000074 PBOUT
3683 014570 250 01 0 00 000005 EXCH T1,T
3684 014571 263 17 0 00 000000 POPJ P,
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 124
KLDDT MAC 5-May-78 12:59 TELETYPE IO LOGIC SEQ 0103
3685
3686 014572 LISTEN:
3687 014572 331 00 0 00 016717 IFN FTEXEC,< SKPUSR
3688 014573 254 00 0 00 014421 JRST XLISTE >
3689 IFE FTFILE,<
3690 IFN FTYANK,<
3691 SKIPE COMAND
3692 JRST PTRIN>>
3693 IFN FTFILE,< ;FILDDT?
3694 SKIPE COMAND ;STILL READING COMAND FILE?
3695 POPJ P,0 ; IF YES, DO NOT LOOK FOR INPUT
3696 ; 1. SPEED UP FILDDT AND
3697 ; 2. ALLOW USER TO TYPE AHEAD
3698 ; (ONE CONTROL C)
3699 >
3700 014574 373 00 0 00 016577 SOSLE LCNT ;TIME TO DO TTCALL
3701 014575 263 17 0 00 000000 POPJ P,0 ;NO--RETURN
3702 014576 201 05 0 00 000012 MOVEI T,12 ;YES--RESET COUNT
3703 014577 202 05 0 00 016577 MOVEM T,LCNT ; ..
3704 014600 332 00 0 00 016721 SKIPE TOPS20
3705 014601 254 00 0 00 014605 JRST .+4
3706 014602 051 02 0 00 000005 TTCALL 2,T ;GET NEXT CHAR, NO IO WAIT
3707 014603 263 17 0 00 000000 POPJ P, ;NO CHARACTER EXISTED, RETURN
3708 014604 254 00 0 00 010520 JRST CPOPJ1 ;CHARACTER WAS THERE, SKIP RETURN
3709 014605 250 01 0 00 000005 EXCH T1,T
3710 014606 201 01 0 00 000100 MOVEI T1,.PRIIN
3711 014607 104 00 0 00 000102 SIBE
3712 014610 350 00 0 17 000000 AOS (P)
3713 014611 250 01 0 00 000005 EXCH T1,T
3714 014612 263 17 0 00 000000 POPJ P,
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 125
KLDDT MAC 5-May-78 12:59 TELETYPE IO LOGIC SEQ 0104
3715 IFN FTEXEC,<
3716 014613 331 00 0 00 016717 TTYRET: SKPUSR
3717 014614 254 00 0 00 014467 JRST XTTYRET
3718 014615 336 00 0 00 016721 SKIPN TOPS20
3719 014616 263 17 0 00 000000 POPJ P,
3720 014617 332 00 0 00 016605 SKIPE SAVTTY ;ALREADY HAVE STATE ?
3721 014620 254 00 0 00 014627 JRST TTYR1 ;YES
3722 014621 201 01 0 00 000100 MOVEI T1,.PRIIN
3723 014622 104 00 0 00 000107 RFMOD ;GET MODES
3724 014623 202 02 0 00 016605 MOVEM T2,SAVTTY
3725 014624 104 00 0 00 000112 RFCOC ;GET CC MODES
3726 014625 202 02 0 00 016607 MOVEM T2,SAVTT2
3727 014626 202 03 0 00 016610 MOVEM T3,SAVTT3
3728 014627 201 01 0 00 000100 TTYR1: MOVEI T1,.PRIIN
3729 014630 104 00 0 00 000107 RFMOD
3730 014631 620 02 0 00 770300 TRZ T2,TT%WAK+TT%DAM
3731 014632 660 02 0 00 164100 TRO T2,TT%WKF+TT%WKN+TT%WKP+TT%ECO+01B29
3732 014633 104 00 0 00 000110 SFMOD
3733 014634 200 02 0 00 014642 MOVE T2,TTYCC2
3734 014635 200 03 0 00 014643 MOVE T3,TTYCC3
3735 014636 104 00 0 00 000113 SFCOC ;SETUP PROPER DDT MODES
3736 014637 201 01 0 00 400000 MOVEI T1,.FHSLF
3737 014640 104 00 0 00 000130 DIR
3738 014641 263 17 0 00 000000 POPJ P, >
3739
3740 014642 052531 553125 TTYCC2: BYTE (2) 0,1,1,1,1,1,1,2,1,2,3,1,1,2,1,1,1,1
3741 014643 252525 652400 TTYCC3: BYTE (2) 1,1,1,1,1,1,1,1,1,3,1,1,1,1
3742 IFE FTEXEC,<TTYRET==CPOPJ>
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 126
KLDDT MAC 5-May-78 12:59 TELETYPE IO LOGIC SEQ 0105
3743 014644 TTYCLR:
3744 014644 331 00 0 00 016717 IFN FTEXEC,< SKPUSR >
3745 014645 263 17 0 00 000000 POPJ P,
3746 014646 332 00 0 00 016721 SKIPE TOPS20
3747 014647 254 00 0 00 014654 JRST .+5
3748 014650 051 14 0 00 000000 TTCALL 14, ;CLEAR ^O, SKIP ON INPUT CHARS
3749 014651 263 17 0 00 000000 POPJ P, ;NO INPUT CHARS, OR EXEC MODE
3750 014652 051 11 0 00 000000 TTCALL 11, ;FLUSH ALL
3751 014653 254 00 0 00 014662 JRST .+7
3752 014654 201 01 0 00 000101 MOVEI 1,.PRIOU
3753 014655 104 00 0 00 000107 RFMOD
3754 014656 621 02 0 00 400000 TLZ 2,(TT%OSP)
3755 014657 104 00 0 00 000110 SFMOD
3756 014660 201 01 0 00 000100 MOVEI 1,.PRIIN
3757 014661 104 00 0 00 000100 CFIBF
3758 014662 260 17 0 00 014572 PUSHJ P,LISTEN
3759 014663 255 00 0 00 000000 JFCL
3760 014664 263 17 0 00 000000 POPJ P, ;WAITING INPUT CHARACTERS
3761
3762 IFN FTEXEC,<
3763 014665 331 00 0 00 016717 TTYLEV: SKPUSR
3764 014666 254 00 0 00 014506 JRST XTTYLEV
3765 014667 336 00 0 00 016721 SKIPN TOPS20
3766 014670 263 17 0 00 000000 POPJ P,
3767 014671 201 01 0 00 000100 MOVEI T1,.PRIIN
3768 014672 200 02 0 00 016605 MOVE T2,SAVTTY
3769 014673 104 00 0 00 000110 SFMOD ;RESTORE MODES
3770 014674 200 02 0 00 016607 MOVE T2,SAVTT2
3771 014675 200 03 0 00 016610 MOVE T3,SAVTT3
3772 014676 104 00 0 00 000113 SFCOC ;RESTORE CC MODES
3773 014677 201 01 0 00 400000 MOVEI 1,.FHSLF
3774 014700 335 00 0 00 016612 SKIPGE SAVSTS
3775 014701 104 00 0 00 000126 EIR
3776 014702 402 00 0 00 016605 SETZM SAVTTY
3777 014703 263 17 0 00 000000 POPJ P, >
3778
3779 IFE FTEXEC,<TTYLEV==CPOPJ>
3780 > ;END IFE FTDEC20
3781
3782 014704 354 00 0 00 016361 TEXIN: AOSA TEXINF ;NOTE TEXT INPUT
3783 014705 402 00 0 00 016361 TIN: SETZM TEXINF ;NOTE NOT TEXT INPUT
3784 IFN FTDEC20&FTEXEC&<^-FTEDIT>,<
3785 SKPUSR ;EXEC MODE?
3786 JRST XTIN> ;YES, SIMPLE INPUT
3787 014706 375 00 0 00 016362 TIN1: SOSGE CHINC ;CHARACTER LEFT IN LINE BUFFER?
3788 014707 254 00 0 00 014712 JRST CHIN1 ;NO, GO REFILL BUFFER
3789 014710 134 05 0 00 016367 ILDB T,CHINP ;GET CHARACTER
3790 014711 263 17 0 00 000000 POPJ P,
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 127
KLDDT MAC 5-May-78 12:59 TELETYPE IO LOGIC SEQ 0106
3791 ;REFILL LINE BUFFER WITH EDITING
3792
3793 014712 331 00 0 00 016717 CHIN1: SKPUSR ;EXEC MODE?
3794 014713 254 00 0 00 014762 JRST XCHIN1 ;YES, USE SIMULATION ROUTINES
3795 014714 336 00 0 00 016721 SKIPN TOPS20
3796 014715 254 00 0 00 014762 JRST XCHIN1 ;TOPS-10
3797 014716 332 01 0 00 016367 SKIPE T1,CHINP ;REINIT LINE?
3798 014717 254 00 0 00 014724 JRST CHIN2 ;NO
3799 014720 201 01 0 00 000144 MOVEI T1,NLINBF*5 ;YES, SETUP MAX CHAR COUNT
3800 014721 202 01 0 00 016370 MOVEM T1,LINSPC
3801 014722 200 01 0 00 016372 MOVE T1,LINBP ;SETUP POINTER
3802 014723 202 01 0 00 016367 MOVEM T1,CHINP
3803 014724 202 01 0 00 016374 CHIN2: MOVEM T1,TEXTIB+.RDBKL ;SET BACKUP LIMIT
3804 014725 337 00 0 00 016370 SKIPG LINSPC ;ROOM LEFT IN BUFFER?
3805 014726 254 00 0 00 010166 JRST ERR ;NO, TOO MUCH TYPIN
3806 014727 400 01 0 00 000000 SETZ T1,
3807 014730 332 00 0 00 016363 SKIPE WAKALL ;WAKEUP ON EVERYTHING?
3808 014731 201 01 0 00 015016 MOVEI T1,ONES4 ;YES, USE WAKEUP TABLE
3809 014732 202 01 0 00 016373 MOVEM T1,ETXTB
3810 014733 261 17 0 00 016370 PUSH P,LINSPC ;SAVE CURRENT SPACE
3811 014734 261 17 0 00 016367 PUSH P,CHINP ;AND POINTER
3812 014735 336 00 0 00 016361 SKIPN TEXINF ;TEXT INPUT?
3813 014736 260 17 0 00 015022 PUSHJ P,TTYTOF ;NO, SUPPRESS TAB ECHO
3814 014737 201 01 0 00 016364 MOVEI T1,TEXTIB ;POINT TO ARG BLOCK
3815 014740 104 00 0 00 000524 TEXTI ;INPUT TO NEXT BREAK CHAR
3816 014741 254 00 0 00 010166 JRST ERR ;BAD ARGS (IMPOSSIBLE)
3817 014742 260 17 0 00 015024 PUSHJ P,TTYTON ;RESTORE NORMAL TAB ECHO
3818 014743 262 17 0 00 016367 POP P,CHINP ;RESTORE POINTER TO CHARS JUST TYPED
3819 014744 200 01 0 00 016365 MOVE T1,TEXTIB+.RDFLG ;GET FLAGS
3820 014745 603 01 0 00 000030 TXNE T1,RD%BFE+RD%BLR ;DELETIONS?
3821 014746 254 00 0 00 014753 JRST CHIN3 ;YES
3822 014747 262 17 0 00 000001 POP P,T1 ;RECOVER OLD SPACE COUNT
3823 014750 274 01 0 00 016370 SUB T1,LINSPC ;COMPUTE NUMBER CHARS JUST TYPED
3824 014751 202 01 0 00 016362 MOVEM T1,CHINC ;SETUP COUNT
3825 014752 254 00 0 00 014706 JRST TIN1 ;GO RETURN NEXT CHAR
3826
3827 ;USER HAS DELETED BACK INTO TEXT ALREADY PROCESSED, THEREFORE
3828 ;LINE MUST BE REPROCESSED FROM BEGINNING. POSSIBLY ALL TEXT HAS BEEN
3829 ;DELETED.
3830
3831 014753 201 01 0 00 000144 CHIN3: MOVEI T1,NLINBF*5 ;COMPUTE NUMBER CHARS NOW IN LINE
3832 014754 274 01 0 00 016370 SUB T1,LINSPC
3833 014755 322 01 0 00 010163 JUMPE T1,WRONG ;JUMP IF WHOLE LINE DELETED
3834 014756 202 01 0 00 016362 MOVEM T1,CHINC ;LINE NOT NULL, SETUP CHAR COUNT
3835 014757 200 01 0 00 016372 MOVE T1,LINBP ;REINIT POINTER
3836 014760 202 01 0 00 016367 MOVEM T1,CHINP
3837 014761 254 00 0 00 010014 JRST DD2 ;CLEAR WORLD AND REDO LINE
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 128
KLDDT MAC 5-May-78 12:59 TELETYPE IO LOGIC SEQ 0107
3838
3839 IFN <^-FTDEC20>!<FTEXEC&FTEDIT>,<
3840 IFNDEF T1,<
3841 T1==A
3842 PURGT1==-1
3843 >
3844 014762 332 01 0 00 016367 XCHIN1: SKIPE T1,CHINP ;REINIT LINE?
3845 014763 254 00 0 00 014770 JRST XCHIN2 ;NO
3846 014764 201 01 0 00 000144 MOVEI T1,NLINBF*5 ;YES, SETUP MAX CHAR COUNT
3847 014765 202 01 0 00 016370 MOVEM T1,LINSPC
3848 014766 200 01 0 00 016372 MOVE T1,LINBP ;SETUP POINTER
3849 014767 202 01 0 00 016367 MOVEM T1,CHINP
3850 014770 202 01 0 00 016371 XCHIN2: MOVEM T1,LINDB ;SET BEGINNING OF DELETE BUFFER
3851 014771 337 00 0 00 016370 SKIPG LINSPC ;ROOM LEFT IN BUFFER?
3852 014772 254 00 0 00 010166 JRST ERR ;NO, TOO MUCH TYPIN
3853 014773 201 01 0 00 000006 MOVEI T1,LINBP-TEXTIB ;SIZE OF BLOCK
3854 014774 332 00 0 00 016363 SKIPE WAKALL ;WAKEUP ON EVERYTHING?
3855 014775 201 01 0 00 000007 MOVEI T1,ETXTB-TEXTIB ;YES, INCLUDE WAKEUP TABLE
3856 014776 202 01 0 00 016364 MOVEM T1,TEXTIB ;SET SIZE IN BLOCK
3857 014777 261 17 0 00 016370 PUSH P,LINSPC ;SAVE CURRENT SPACE
3858 015000 261 17 0 00 016367 PUSH P,CHINP ;AND POINTER
3859 015001 201 01 0 00 016364 MOVEI T1,TEXTIB ;POINT TO ARG BLOCK
3860 015002 260 17 0 00 015101 PUSHJ P,TXTI
3861 015003 254 00 0 00 010166 JRST ERR ;BAD ARGS (IMPOSSIBLE)
3862 015004 262 17 0 00 016367 POP P,CHINP ;RESTORE POINTER TO CHARS JUST TYPED
3863 015005 262 17 0 00 000001 POP P,T1 ;RECOVER OLD SPACE COUNT
3864 IFN FTYANK,<
3865 AOSN PTDFLG ;EOF ON COMMAND FILE
3866 JRST [SETZM CHINC
3867 SETZM CHINP
3868 JRST DD2] ;YES--GET BACK TO TOP LEVEL
3869 > ;END FTYANK
3870 015006 336 00 0 17 000000 SKIPN 0(P) ;REPROCESS NEEDED?
3871 JRST [MOVEI T1,NLINBF*5
3872 SUB T1,LINSPC ;YES, COMPUTE NUMBER CHARS IN LINE
3873 JUMPE T1,WRONG ;JUMP IF WHOLE LINE DELETED
3874 MOVEM T1,CHINC ;LINE NOT NULL, SETUP CHAR COUNT
3875 MOVE T1,LINBP ;REINIT POINTER
3876 MOVEM T1,CHINP
3877 015007 254 00 0 00 016303 JRST DD2] ;CLEAR WORLD AND REDO LINE
3878 015010 274 01 0 00 016370 SUB T1,LINSPC ;COMPUTE NUMBER CHARS JUST TYPED
3879 JUMPG T1,[MOVEM T1,CHINC ;SETUP COUNT
3880 015011 327 01 0 00 016312 JRST TIN1] ;GO RETURN NEXT CHAR
3881
3882 ;CONTINUED ON NEXT PAGE
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 129
KLDDT MAC 5-May-78 12:59 TELETYPE IO LOGIC SEQ 0108
3883
3884 ;USER HAS DELETED BACK INTO TEXT ALREADY PROCESSED, THEREFORE LINE
3885 ;MUST BE REPROCESSED FROM BEGINNING. POSSIBLY ALL TEXT HAS BEEN
3886 ;DELETED.
3887
3888 015012 260 17 0 00 015276 PUSHJ P,RDBKIN
3889 015013 402 00 0 17 000000 SETZM 0(P) ;REQUEST REPROCESS OF LINE
3890 015014 200 01 0 00 016372 MOVE T1,LINBP ;RESET DELETE BOUNDARY TO BEGINNING OF LINE
3891 015015 254 00 0 00 014770 JRST XCHIN2
3892
3893 IFDEF PURGT1,<IFL PURGT1,< PURGE PURGT1,T1>>
3894 > ;END IFN ^-FTDEC20...
3895
3896 015016 777777 777777 ONES4: OCT -1,-1,-1,-1 ;WAKEUP MASK
3897 015017 777777 777777
3898 015020 777777 777777
3899 015021 777777 777777
3900
3901 ;ROUTINES TO TURN TAB ECHO ON/OFF
3902
3903 015022 200 01 0 00 014642 TTYTOF: MOVE T1,TTYCC2 ;NORMAL MODE WORD
3904 015023 624 01 0 00 600000 TRZA T1,3B19 ;TURN TAB OFF
3905 015024 200 01 0 00 014642 TTYTON: MOVE T1,TTYCC2
3906 015025 261 17 0 00 000002 PUSH P,T2 ;PRESERVE REGS
3907 015026 261 17 0 00 000003 PUSH P,T3
3908 015027 202 01 0 00 000002 MOVEM T1,T2
3909 015030 201 01 0 00 000100 MOVEI T1,.PRIIN
3910 015031 200 03 0 00 014643 MOVE T3,TTYCC3
3911 015032 104 00 0 00 000113 SFCOC ;SET CONTROL CHAR MODES
3912 015033 262 17 0 00 000003 POP P,T3
3913 015034 262 17 0 00 000002 POP P,T2
3914 015035 263 17 0 00 000000 POPJ P,
3915 XLIST
3916 LIST
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 138
KLDDT MAC 5-May-78 12:59 DDT COMMAND FILE LOGIC SEQ 0109
3917
3918 SUBTTL DISPATCH TABLE
3919
3920 015036 30 14 0 02 015041 BDISP: POINT 12,DISP(R),11
3921 015037 14 14 0 02 015041 POINT 12,DISP(R),23
3922 015040 00 14 0 02 015041 POINT 12,DISP(R),35
3923 015041 DISP:
3924 DEFINE D (Z1,Z2,Z3)<
3925 BYTE (12) Z1-DDTOFS,Z2-DDTOFS,Z3-DDTOFS
3926 IFN <<Z1-DDTOFS>!<Z2-DDTOFS>!<Z3-DDTOFS>>&<-1,,770000>,
3927 <PRINTX Z1, Z2, OR Z3 TOO LARGE FOR DISPATCH TABLE> >
3928 ;THIS MACRO PACKS 3 ADDRESSES INTO ONE WORD; EACH ADR IS 12 BITS
3929
3930 010166 IFE FTYANK,<TAPIN=ERR>
3931 010166 IFE FTEXEC&FTPTP,< PUNCH==ERR
3932 010166 BLKEND==ERR
3933 010166 LOADER==ERR>
3934 IFN FTDEC20,<SETPAG==ERR>
3935
3936 015041 0166 0166 0166 D (ERR,ERR,ERR); (0)
3937 015042 1540 0166 0166 D (CNTRLZ,ERR,ERR); (3)
3938 015043 0166 0166 1157 D (ERR,ERR,VARRW); (6)
3939 015044 1223 1127 0166 D (TAB,LINEF,ERR); (11)
3940 015045 0166 1163 0166 D (ERR,CARR,ERR); (14)
3941 015046 0166 0166 0166 D (ERR,ERR,ERR); (17)
3942 015047 0166 0166 0166 D (PUNCH,ERR,ERR); (22)
3943 015050 0166 0166 0166 D (ERR,ERR,ERR); (25)
3944 015051 0166 0166 1540 D (ERR,ERR,CNTRLZ); (30)
3945 015052 0453 0166 0166 D (CONTROL,ERR,ERR); (33)
3946 015053 0166 0166 1101 D (ERR,ERR,SPACE); (36)
3947 015054 1207 0764 1044 D (SUPTYO,TEXI,ASSEM); (41)
3948 015055 0321 0322 0166 D (DOLLAR,PERC,ERR); (44)
3949 015056 1042 1050 1105 D (DIVD,LPRN,RPRN); (47)
3950 015057 1041 1046 1062 D (MULT,PLUS,ACCF); (52)
3951 015060 1045 0417 1173 D (MINUS,PERIOD,SLASH); (55)
3952 015061 0305 0305 0305 D (NUM,NUM,NUM); (60)
3953 015062 0305 0305 0305 D (NUM,NUM,NUM); (63)
3954 015063 0305 0305 0305 D (NUM,NUM,NUM); (66)
3955 015064 0305 0663 1404 D (NUM,TAG,SEMIC); (71)
3956 015065 1413 1406 1420 D (FIRARG,EQUAL,ULIM); (74)
3957 015066 0233 1056 1363 D (QUESTN,INDIRE,ABSA); (77)
3958 015067 3026 1355 4114 D (BPS,CON,SYMD); (102)
3959 015070 3664 1353 1545 D (EFFEC,SFLOT,GO); (105)
3960 015071 1352 0442 0166 D (HWRDS,PILOC,BLKEND); (110)
3961 015072 0623 0166 3654 D (KILL,LOADER,MASK); (113)
3962 015073 3667 4275 2641 D (NWORD,BITO,PROCEDE); (116)
3963 015074 0444 1360 1354 D (QUAN,RELA,SYMBOL); (121)
3964 015075 1344 0166 0166 D (TEXO,SETPAG,ERR); (124)
3965 015076 3666 1553 0166 D (WORD,XEC,TAPIN); (127)
3966 015077 4001 1177 1220 D (ZERO,OCON,ICON); (132)
3967 015100 1203 1157 1407 D (OSYM,VARRW,PSYM); (135)
3968
3969 ;THIS TABLE DOES NOT HAVE ENTRIES FOR CHARS .GE. 140; THESE
3970 ; ARE DETECTED AS ERRORS NEAR L21:
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 139
KLDDT MAC 5-May-78 12:59 DISPATCH TABLE SEQ 0110
3971
3972 SUBTTL FANCY TERMINAL INPUT LOGIC
3973
3974 IFN ^-FTDEC20!<FTEXEC&FTEDIT>,<
3975 015101 TXTI:
3976 015101 261 17 0 00 000002 DOTXTI: PUSH P,A ;SAVE ALL AC'S USED
3977 015102 261 17 0 00 000003 PUSH P,B
3978 015103 261 17 0 00 000004 PUSH P,C
3979 015104 261 17 0 00 000005 PUSH P,T
3980 015105 261 17 0 00 000006 PUSH P,W1
3981 015106 261 17 0 00 000007 PUSH P,W2
3982 015107 200 06 0 00 016370 MOVE W1,LINSPC ;COUNT OF BYTES IN DESTINATION
3983 015110 336 07 0 00 016371 SKIPN W2,LINDB ;WAS IT NON-ZERO?
3984 015111 200 07 0 00 016367 MOVE W2,CHINP ;NO. USE DEFAULT
3985
3986 ; VERIFY ALL OF THE STRING POINTERS
3987
3988 015112 200 02 0 00 016367 RDTXT1: MOVE A,CHINP ;HAVE A DEST POINTER?
3989 015113 260 17 0 00 015260 PUSHJ P,RDCBP ;YES. CHECK IT OUT
3990 015114 202 02 0 00 016367 MOVEM A,CHINP ;GET CONVERTED POINTER
3991 015115 336 02 0 00 016372 SKIPN A,LINBP ;HAVE A ^R BUFFER?
3992 015116 254 00 0 00 015121 JRST RDTOPM ;NO. GO AROUND THEN
3993 015117 260 17 0 00 015260 PUSHJ P,RDCBP ;YES. VERIFY IT
3994 015120 202 02 0 00 016372 MOVEM A,LINBP ;STORE VERIFIED POINTER
3995 015121 200 02 0 00 000007 RDTOPM: MOVE A,W2 ;GET TOP OF BUFFER
3996 015122 260 17 0 00 015260 PUSHJ P,RDCBP ;VERIFY IT
3997 015123 200 07 0 00 000002 MOVE W2,A ;ALL VERIFIED NOW
3998 015124 323 06 0 00 015151 JUMPLE W1,WRAP0 ;MAKE SURE COUNT HAS ROOM IN IT
3999 ; ..
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 140
KLDDT MAC 5-May-78 12:59 FANCY TERMINAL INPUT LOGIC SEQ 0111
4000
4001 ;MAIN LOOP - DOES INPUT OF BYTE AND DISPATCH ON CHARACTER CLASS
4002 ;ACTION ROUTINES EXIT TO:
4003 ; INSRT - APPEND CHARACTER AND CONTINUE
4004 ; NINSRT - CONTINUE WITHOUT APPENDING CHARACTER
4005 ; DING - BUFFER NOW EMPTY, POSSIBLE RETURN TO USER
4006 ; WRAP, WRAP0 - RETURNS TO USER
4007
4008 015125 202 06 0 00 016370 NINSRT: MOVEM W1,LINSPC ;STORE COUNT
4009 015126 260 17 0 00 015223 PUSHJ P,RDBIN ;DO BIN
4010 015127 200 02 0 00 000003 MOVE A,B ;SAVE BYTE
4011 015130 231 03 0 00 000011 IDIVI B,CHRWRD ;SETUP TO GET CHAR CLASS
4012 015131 135 03 0 04 015165 LDB B,CCBTAB(C) ;GET IT FROM BYTE TABLE
4013 015132 231 03 0 00 000002 IDIVI B,2 ;SETUP TO REF DISPATCH TABLE
4014 JUMPE C,[HLRZ T,DISPTC(B) ;GET LH ENTRY
4015 015133 322 04 0 00 016314 JRST .+2]
4016 015134 550 05 0 03 015176 HRRZ T,DISPTC(B) ;GET RH ENTRY
4017 015135 200 03 0 00 000002 MOVE B,A ;ROUTINES GET BYTE IN B
4018 015136 254 00 0 05 000000 JRST 0(T) ;DISPATCH TO ACTION ROUTINE
4019
4020 ;RETURN FROM ACTION ROUTINE TO APPEND CHARACTER AND CONTINUE.
4021 ; B/ CHARACTER
4022
4023 015137 332 00 0 00 016363 INSRT: SKIPE WAKALL ;BREAK ON EVERYTHING?
4024 015140 254 00 0 00 015147 JRST WRAP ;YES. WRAP IT UP THEN
4025 015141 136 03 0 00 016367 IDPB B,CHINP ;APPEND BYTE TO USER STRING
4026 015142 367 06 0 00 015125 SOJG W1,NINSRT ;CONTINUE IF STILL HAVE COUNT
4027 015143 254 00 0 00 015151 JRST WRAP0 ;COUNT EXHAUSTED, RETURN
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 141
KLDDT MAC 5-May-78 12:59 FANCY TERMINAL INPUT LOGIC SEQ 0112
4028
4029 ;RETURNS TO USER.
4030
4031 ;RETURN TO USER IF BUFFER EMPTY
4032
4033 015144 312 07 0 00 016367 NDING: CAME W2,CHINP ;BUFFER EMPTY?
4034 015145 254 00 0 00 015125 JRST NINSRT ;NO, GO GET MORE INPUT
4035 015146 254 00 0 00 015151 JRST WRAP0
4036
4037 ;APPEND LAST CHARACTER AND RETURN
4038
4039 015147 136 03 0 00 016367 WRAP: IDPB B,CHINP ;APPEND BYTE
4040 015150 275 06 0 00 000001 SUBI W1,1 ;UPDATE COUNT
4041
4042 ;STORE NULL ON STRING AND RETURN
4043
4044 015151 323 06 0 00 015155 WRAP0: JUMPLE W1,WRAP1 ;DON'T STORE NULL IF COUNT EXHAUSTED
4045 015152 400 03 0 00 000000 SETZ B,
4046 015153 200 02 0 00 016367 MOVE A,CHINP
4047 015154 136 03 0 00 000002 IDPB B,A ;STORE NULL WITHOUT CHANGING USER PTR
4048
4049 ;UPDATE USER VARIABLES AND RETURN
4050
4051 015155 202 06 0 00 016370 WRAP1: MOVEM W1,LINSPC ;UPDATE USER'S BYTE COUNT
4052 015156 262 17 0 00 000007 POP P,W2
4053 015157 262 17 0 00 000006 POP P,W1
4054 015160 262 17 0 00 000005 POP P,T
4055 015161 262 17 0 00 000004 POP P,C
4056 015162 262 17 0 00 000003 POP P,B
4057 015163 262 17 0 00 000002 POP P,A
4058 015164 254 00 0 00 010520 JRST CPOPJ1
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 142
KLDDT MAC 5-May-78 12:59 FANCY TERMINAL INPUT LOGIC SEQ 0113
4059
4060 ;PARAMETERS FOR CLASS TABLE
4061
4062 000004 CCBITS==4 ;BITS/BYTE
4063 000011 CHRWRD==^D36/CCBITS ;BYTES/WORD
4064
4065 ;DEFINED CHARACTER CLASSES:
4066
4067 000000 TOP==0 ;TOPS10 BREAK
4068 000001 BRK==1 ;REGULAR BREAK SET
4069 000002 ZER==2 ;NULL
4070 000003 EOLC==3 ;EOL
4071 000004 PUN==4 ;PUNCTUATION
4072 000005 SAFE==5 ;ALL OTHERS
4073 000006 RUBO==6 ;DELETE A CHARACTER
4074 000007 RTYP==7 ;RETYPE THE LINE
4075 000010 KLL==10 ;DELETE THE LINE
4076 000011 KWRD==11 ;DELETE A WORD
4077 000012 RDCRC==12 ;CARRIAGE RETURN
4078 000013 RDQTC==13 ;QUOTE CHARACTER
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 143
KLDDT MAC 5-May-78 12:59 FANCY TERMINAL INPUT LOGIC SEQ 0114
4079
4080 ;TABLE OF BYTE PTRS TO REFERENCE CLASS TABLE
4081
4082 000003 XX==CCBITS-1
4083 XALL
4084 CCBTAB: REPEAT CHRWRD,<
4085 POINT CCBITS,CTBL(B),XX
4086 XX=XX+CCBITS>
4087
4088 015165 40 04 0 03 015204 POINT CCBITS,CTBL(B),XX
4089 000007 XX=XX+CCBITS
4090
4091 015166 34 04 0 03 015204 POINT CCBITS,CTBL(B),XX
4092 000013 XX=XX+CCBITS
4093
4094 015167 30 04 0 03 015204 POINT CCBITS,CTBL(B),XX
4095 000017 XX=XX+CCBITS
4096
4097 015170 24 04 0 03 015204 POINT CCBITS,CTBL(B),XX
4098 000023 XX=XX+CCBITS
4099
4100 015171 20 04 0 03 015204 POINT CCBITS,CTBL(B),XX
4101 000027 XX=XX+CCBITS
4102
4103 015172 14 04 0 03 015204 POINT CCBITS,CTBL(B),XX
4104 000033 XX=XX+CCBITS
4105
4106 015173 10 04 0 03 015204 POINT CCBITS,CTBL(B),XX
4107 000037 XX=XX+CCBITS
4108
4109 015174 04 04 0 03 015204 POINT CCBITS,CTBL(B),XX
4110 000043 XX=XX+CCBITS
4111
4112 015175 00 04 0 03 015204 POINT CCBITS,CTBL(B),XX
4113 000047 XX=XX+CCBITS
4114 SALL
4115
4116 ;CLASS DISPATCH TABLE
4117
4118 015176 015147 015147 DISPTC: WRAP,,WRAP
4119 015177 015324 015343 ZNULL,,EOL1
4120 015200 015147 015137 WRAP,,INSRT
4121 015201 015352 015434 DELC,,RTYPE
4122 015202 015402 015411 DELIN,,KLWORD
4123 015203 015327 015344 RDCR,,RDQT
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 144
KLDDT MAC 5-May-78 12:59 FANCY TERMINAL INPUT LOGIC SEQ 0115
4124
4125 ;CHARACTER CLASS TABLE
4126
4127 DEFINE CCN (A,B)<
4128 REPEAT B,<
4129 CC1 (A)>>
4130
4131 DEFINE CC1 (C)<
4132 QQ=QQ+CCBITS
4133 IFG QQ-^D35,<
4134 QW
4135 QW=0
4136 QQ=CCBITS-1>
4137 QW=QW+<C>B<QQ>>
4138
4139 000000 QW==0
4140 777777 777777 QQ==-1
4141
4142 100000 000000 CTBL: CC1(ZER) ;0
4143 110421 042000 CCN(PUN,6) ;1-6
4144 110421 042000 CC1(TOP) ;7
4145 015204 110421 042004 CCN(PUN,2) ;10-11
4146 206000 000000 CC1(EOLC) ;12
4147 206400 000000 CC1(PUN) ;VT
4148 206400 000000 CC1(TOP) ;FF
4149 206402 400000 CC1(RDCRC) ;CR
4150 206402 442104 CCN(PUN,4) ;16-21 (^N-^Q)
4151 015205 206402 442104 CC1(RTYP) ;^R
4152 350400 000000 CCN(PUN,2) ;^S,^T
4153 350440 000000 CC1(KLL) ;^U
4154 350442 600000 CC1(RDQTC) ;^V
4155 350442 710000 CC1(KWRD) ;^W
4156 350442 712100 CCN(PUN,2) ;^X,^Y
4157 015206 350442 712101 CCN(BRK,2) ;^Z,$
4158 050421 000000 CCN(PUN,4) ;34-37
4159 015207 050421 042104 CCN(PUN,^D16) ;40-/
4160 015210 210421 042104
4161 015211 210425 252525 CCN(SAFE,^D10) ;0-9
4162 015212 252525 042104 CCN(PUN,7) ;:-@
4163 015213 210525 252525 CCN(SAFE,^D26) ;A-Z
4164 015214 252525 252525
4165 015215 252525 252525
4166 250421 042000 CCN(PUN,6) ;]-140
4167 015216 250421 042125 CCN(SAFE,^D26) ;A-Z
4168 015217 252525 252525
4169 015220 252525 252525
4170 015221 252525 252104 CCN(PUN,4) ;173-176
4171 214000 000000 CC1(RUBO) ;177
4172 015222 214000 000000 QW ;GET LAST WORD IN
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 145
KLDDT MAC 5-May-78 12:59 FANCY TERMINAL INPUT LOGIC SEQ 0116
4173
4174 ;LOCAL ROUTINES TO DO LOGICAL BIN AND BOUT.
4175
4176 015223 332 03 0 00 016375 RDBIN: SKIPE B,SAVCHR ;WANT TO BACK UP?
4177 JRST [SETZM SAVCHR ;ONLY ONCE
4178 015224 254 00 0 00 016316 POPJ P,0] ;RETURN
4179 IFN FTEXEC,<
4180 015225 331 00 0 00 016717 SKPUSR
4181 JRST [PUSH P,T ;SAVE T
4182 IFN FTYANK,<
4183 SKIPE COMAND
4184 PUSHJ P,XPTRIN>
4185 PUSHJ P,XTIN ;GET A BYTE
4186 MOVE B,T ;PUT IN CORRECT PLACE
4187 POP P,T ;RESTORE T
4188 015226 254 00 0 00 016320 JRST RDBIN1] ;SKIP NEXT INST
4189 >
4190 IFN FTDEC20,<HALT DDT> ;SHOULD NOT BE HERE IN USER MODE
4191 IFE FTDEC20,<
4192 IFN FTYANK,<
4193 PUSH P,T ;SAVE AN AC
4194 SKIPE COMAND ;COMMAND FILE OPEN?
4195 PUSHJ P,PTRIN ;READ COMMAND FILE
4196 JRST [MOVEI T," " ;ASSUME EOF
4197 SKIPL PTDFLG ;WAS IT EOF?
4198 INCHRW T ;NO--READ A BYTE
4199 JRST .+1] ;CONTINUE
4200 MOVE B,T ;COPY BYTE
4201 POP P,T> ;RESTORE T
4202 015227 332 00 0 00 016721 SKIPE TOPS20
4203 015230 254 00 0 00 015233 JRST .+3
4204 015231 051 00 0 00 000003 IFE FTYANK,<INCHRW B>> ;READ BYTE UNDER TOPS-10
4205 015232 254 00 0 00 015237 JRST RDBIN1
4206 015233 261 17 0 00 000001 PUSH P,1
4207 015234 104 00 0 00 000073 PBIN
4208 015235 200 03 0 00 000001 MOVE B,1
4209 015236 262 17 0 00 000001 POP P,1
4210 015237 202 03 0 00 016376 RDBIN1: MOVEM B,LASCHR ;SAVE LAST CHAR READ
4211 015240 263 17 0 00 000000 POPJ P,0 ;RETURN
4212
4213
4214 ;RDBOUT
4215 ; B/ BYTE
4216 ; PUSHJ P,RDBOUT
4217 ; RETURN +1 ALWAYS
4218
4219 015241 261 17 0 00 000005 RDBOUT: PUSH P,T ;SAVE AN AC
4220 015242 261 17 0 00 016362 PUSH P,CHINC
4221 015243 261 17 0 00 016367 PUSH P,CHINP
4222 015244 200 05 0 00 000003 MOVE T,B ;SET FOR ECHO
4223 015245 260 17 0 00 014533 PUSHJ P,TOUT ;TYPE IT
4224 015246 262 17 0 00 016367 POP P,CHINP
4225 015247 262 17 0 00 016362 POP P,CHINC
4226 015250 262 17 0 00 000005 POP P,T
4227 015251 263 17 0 00 000000 POPJ P,0
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 146
KLDDT MAC 5-May-78 12:59 FANCY TERMINAL INPUT LOGIC SEQ 0117
4228
4229 ;RDSOUT - OUTPUT STRING ALA RDBOUT
4230 ; B/ STRING PTR
4231 ; PUSHJ P,RDSOUT
4232 ; RETURN +1 ALWAYS
4233
4234 015252 200 02 0 00 000003 RDSOUT: MOVE A,B ;COPY POINTER
4235 015253 260 17 0 00 015260 PUSHJ P,RDCBP
4236 015254 134 03 0 00 000002 RDSL: ILDB B,A
4237 015255 322 03 0 00 010521 JUMPE B,CPOPJ ;EXIT ON NULL
4238 015256 260 17 0 00 015241 PUSHJ P,RDBOUT
4239 015257 254 00 0 00 015254 JRST RDSL
4240
4241 ;CHECK BYTE POINTER GIVEN AS ARGUMENT
4242 ; A/ BYTE POINTER
4243 ; PUSHJ P,RDCBP
4244 ; RETURN +1: OK, LH INITIALIZED IF NECESSARY
4245
4246 015260 554 03 0 00 000002 RDCBP: HLRZ B,A ;GET LH
4247 015261 306 03 0 00 777777 CAIN B,-1 ;IS DEFAULT?
4248 015262 505 02 0 00 440700 HRLI A,(<POINT 7,0>) ;YES, FILL IN 7-BIT
4249 015263 135 03 0 00 016325 LDB B,[POINT 6,A,11] ;CHECK BYTE SIZE
4250 015264 305 03 0 00 000007 CAIGE B,7 ;7 OR GREATER?
4251 015265 254 04 0 00 015265 HALT . ;BAD BYTE SIZE
4252 015266 133 00 0 00 000002 IBP A ;INCR IT AND DECR IT ONCE SO WILL
4253 015267 254 00 0 00 015460 JRST DBP ; BE IN KNOWN STATE FOR COMPARES
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 147
KLDDT MAC 5-May-78 12:59 FANCY TERMINAL INPUT LOGIC SEQ 0118
4254
4255 ;LOCAL ROUTINES FOR EDITING FUNCTIONS
4256
4257 ;DELETE CHARACTER FROM DESTINATION - BACKUP PTR AND CHECK
4258 ;FOR TOP OF BUFFER
4259 ; PUSHJ P,BACK
4260 ; RETURN +1: AT TOP OF BUFFER, NO CHARACTER TO DELETE
4261 ; RETURN +2: CHARACTER DELETED
4262
4263 015270 316 07 0 00 016367 BACK: CAMN W2,CHINP ;AT TOP OF BUFFER?
4264 015271 263 17 0 00 000000 POPJ P,0 ;YES
4265 015272 200 02 0 00 016367 MOVE A,CHINP ;GET DEST PTR
4266 015273 260 17 0 00 015460 PUSHJ P,DBP ;DECREMENT IT
4267 015274 202 02 0 00 016367 MOVEM A,CHINP ;PUT IT BACK
4268 015275 344 06 0 00 010520 AOJA W1,CPOPJ1 ;UPDATE COUNT AND RETURN
4269
4270 ;PUT BYTE BACK INTO SOURCE
4271 ; B/ BYTE
4272 ; PUSHJ P,RDBKIN
4273 ; RETURN +1 ALWAYS
4274
4275 015276 RDBKIN:
4276 015276 200 02 0 00 016376 DOBKIN: MOVE A,LASCHR ;GET LAST BYTE READ
4277 015277 202 02 0 00 016375 MOVEM A,SAVCHR ;MAKE NEXT BYTE READ
4278 015300 263 17 0 00 000000 POPJ P,0
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 148
KLDDT MAC 5-May-78 12:59 FANCY TERMINAL INPUT LOGIC SEQ 0119
4279
4280 ;FIND BEGINNING OF CURRENT LINE.
4281 ; PUSHJ P,FNDLIN
4282 ; RETURN +1: AT TOP OF BUFFER
4283 ; RETURN +2: A/ BACKED-UP BYTE PTR TO BEGINNING OF LINE
4284 ; B/ BYTE COUNT CONSISTENT WITH CHINP IN A
4285
4286 015301 316 07 0 00 016367 FNDLIN: CAMN W2,CHINP ;AT TOP OF BUFFER?
4287 015302 263 17 0 00 000000 POPJ P,0 ;YES
4288 015303 261 17 0 00 016367 PUSH P,CHINP ;SAVE CURRENT LINE VARIABLES
4289 015304 261 17 0 00 000006 PUSH P,W1
4290 015305 200 02 0 00 016367 FNDLN1: MOVE A,CHINP ;BACKUP ONE CHARACTER
4291 015306 260 17 0 00 015460 PUSHJ P,DBP
4292 015307 202 02 0 00 016367 MOVEM A,CHINP
4293 015310 271 06 0 00 000001 ADDI W1,1
4294 015311 316 07 0 00 016367 CAMN W2,CHINP ;NOW AT TOP OF BUFFER?
4295 015312 254 00 0 00 015317 JRST FNDLN2 ;YES, RETURN
4296 015313 135 03 0 00 016367 LDB B,CHINP ;NO, LOOK AT NEXT CHAR TO BE DELETED
4297 015314 306 03 0 00 000012 CAIN B,12 ;EOL OR LF?
4298 015315 254 00 0 00 015317 JRST FNDLN2 ;YES, RETURN
4299 015316 254 00 0 00 015305 JRST FNDLN1 ;NO, KEEP LOOKING
4300
4301 015317 200 02 0 00 016367 FNDLN2: MOVE A,CHINP ;RETURN NEW LINE VARIABLES
4302 015320 200 03 0 00 000006 MOVE B,W1
4303 015321 262 17 0 00 000006 POP P,W1 ;RESTORE OLD LINE VARIABLES
4304 015322 262 17 0 00 016367 POP P,CHINP
4305 015323 254 00 0 00 010520 JRST CPOPJ1
4306
4307 ;ACTION ROUTINES
4308
4309 ;ZERO BYTE
4310
4311 015324 332 00 0 00 016363 ZNULL: SKIPE WAKALL ;USER HAVE A MASK?
4312 015325 254 00 0 00 015137 JRST INSRT ;YES. GO SEE ABOUT IT THEN
4313 015326 254 00 0 00 015151 JRST WRAP0 ;NO. ALWAYS BREAK THEN
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 149
KLDDT MAC 5-May-78 12:59 FANCY TERMINAL INPUT LOGIC SEQ 0120
4314
4315 ;CARRIAGE RETURN - IF LINE FEED FOLLOWS, TREAT LIKE EOL
4316
4317 015327 305 06 0 00 000002 RDCR: CAIGE W1,2 ;ROOM FOR CR AND LF?
4318 JRST [PUSHJ P,RDBKIN ;NO, PUT THE CR BACK
4319 015330 254 00 0 00 016326 JRST WRAP0] ;WILL GET IT NEXT TIME
4320 015331 260 17 0 00 015223 PUSHJ P,RDBIN ;GET THE NEXT CHAR
4321 015332 306 03 0 00 000012 CAIN B,12 ;LF?
4322 015333 254 00 0 00 015337 JRST RDCR1 ;YES, NORMAL NEWLINE
4323 015334 260 17 0 00 015276 PUSHJ P,RDBKIN ;NO, PUT BACK THE SECOND BYTE
4324 015335 201 03 0 00 000015 MOVEI B,15 ;APPEND A REAL CR
4325 015336 254 00 0 00 015147 JRST WRAP
4326
4327 015337 201 03 0 00 000015 RDCR1: MOVEI B,15
4328 015340 136 03 0 00 016367 IDPB B,CHINP ;APPEND CR
4329 015341 370 00 0 00 000006 SOS W1
4330 015342 201 03 0 00 000012 RDCR2: MOVEI B,12
4331 015343 254 00 0 00 015147 EOL1: JRST WRAP ;YES
4332
4333 ;QUOTE CHARACTER (^V) - INHIBITS EDITING ACTION OF FOLLOWING CHARACTER
4334
4335 015344 305 06 0 00 000002 RDQT: CAIGE W1,2 ; ROOM FOR BOTH?
4336 JRST [PUSHJ P,RDBKIN ; NO. BACK UP
4337 015345 254 00 0 00 016326 JRST WRAP0] ; AND WAIT FOR NEXT TIME
4338 015346 136 03 0 00 016367 IDPB B,CHINP ;STORE QUOTE
4339 015347 370 00 0 00 000006 SOS W1 ; ONE LESS
4340 015350 260 17 0 00 015223 PUSHJ P,RDBIN ;GET THE NEXT CHAR
4341 015351 254 00 0 00 015147 JRST WRAP ;YES
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 150
KLDDT MAC 5-May-78 12:59 FANCY TERMINAL INPUT LOGIC SEQ 0121
4342
4343 ;DELETE CHARACTER (RUBOUT)
4344
4345 015352 260 17 0 00 015270 DELC: PUSHJ P,BACK ;BACKUP PTR
4346 015353 254 00 0 00 015151 JRST WRAP0 ;NOTHING LEFT IN BUFFER
4347 015354 200 05 0 00 016367 MOVE T,CHINP
4348 015355 134 03 0 00 000005 ILDB B,T ;GET CHAR JUST DELETED
4349 015356 306 03 0 00 000012 CAIN B,12 ;WAS IT LF?
4350 015357 254 00 0 00 015370 JRST DELC2 ;YES
4351 015360 261 17 0 00 000003 PUSH P,B
4352 015361 201 03 0 00 000134 MOVEI B,"\"
4353 015362 260 17 0 00 015241 PUSHJ P,RDBOUT
4354 015363 262 17 0 00 000003 POP P,B
4355 015364 260 17 0 00 015241 PUSHJ P,RDBOUT ;TYPE IT OUT
4356 015365 201 03 0 00 000134 MOVEI B,"\" ;INDICATE DELETION
4357 015366 260 17 0 00 015241 PUSHJ P,RDBOUT
4358 015367 254 00 0 00 015125 DELC4: JRST NINSRT ;CONTINUE INPUT UNLESS BUFFER EMPTY ETC.
4359
4360 015370 316 07 0 00 016367 DELC2: CAMN W2,CHINP ;AT BEGINNING OF DEST BUFFER?
4361 015371 254 00 0 00 015377 JRST DELC1 ;YES
4362 015372 135 03 0 00 016367 LDB B,CHINP ;NO, CHECK CHARACTER PRECEEDING LF
4363 015373 302 03 0 00 000015 CAIE B,15 ;A CR?
4364 015374 254 00 0 00 015377 JRST DELC1 ;NO, LEAVE IT ALONE
4365 015375 260 17 0 00 015270 PUSHJ P,BACK ;YES, DELETE IT ALSO
4366 015376 254 00 0 00 015147 JRST WRAP ;(CAN'T HAPPEN)
4367 015377 DELC1: HRROI B,[ASCIZ /
4368 015377 561 03 0 00 016330 /]
4369 015400 260 17 0 00 015252 PUSHJ P,RDSOUT ;DO CRLF WHEN DELETING EOL OR CRLF
4370 015401 254 00 0 00 015367 JRST DELC4
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 151
KLDDT MAC 5-May-78 12:59 FANCY TERMINAL INPUT LOGIC SEQ 0122
4371
4372 ;DELETE LINE (CONTROL-U)
4373
4374 015402 201 04 0 00 000000 DELIN: MOVEI C,0
4375 015403 260 17 0 00 015301 PUSHJ P,FNDLIN ;FIND BEGINNING OF LINE
4376 015404 254 00 0 00 015144 JRST NDING ;NOTHING IN BUFFER
4377 015405 135 04 0 00 016367 LDB C,CHINP ;GET LAST CHAR IN BUFFER
4378 015406 202 02 0 00 016367 MOVEM A,CHINP ;SET LINE VARIABLES TO BEGINNING
4379 015407 202 03 0 00 000006 MOVEM B,W1
4380 015410 254 00 0 00 015144 JRST NDING ;CONTINUE INPUT UNLESS BUFFER EMPTY ETC.
4381
4382 ;DELETE WORD (CONTROL-W)
4383
4384 015411 260 17 0 00 015270 KLWORD: PUSHJ P,BACK ;DELETE AT LEAST ONE CHARACTER
4385 015412 254 00 0 00 015151 JRST WRAP0 ;WASN'T ONE
4386 015413 200 05 0 00 016367 MOVE T,CHINP
4387 015414 134 03 0 00 000005 ILDB B,T ;GET CHAR JUST DELETED
4388 015415 306 03 0 00 000012 CAIN B,12 ;LF OR EOL?
4389 015416 254 00 0 00 015427 JRST BWRD3 ;YES, DON'T DELETE
4390 015417 260 17 0 00 015270 BWRD1: PUSHJ P,BACK ;DELETE NEXT CHARACTER
4391 015420 254 00 0 00 015431 JRST BWRD2 ;NO MORE LEFT
4392 015421 200 05 0 00 016367 MOVE T,CHINP ;LOOK AT CHARACTER JUST DELETED
4393 015422 134 03 0 00 000005 ILDB B,T
4394 015423 231 03 0 00 000011 IDIVI B,CHRWRD ;GET ITS CHARACTER CLASS
4395 015424 135 03 0 04 015165 LDB B,CCBTAB(C)
4396 015425 306 03 0 00 000005 CAIN B,SAFE ;IS IT A WORD SEPARATOR?
4397 015426 254 00 0 00 015417 JRST BWRD1 ;KEEP DELETING
4398 015427 133 00 0 00 016367 BWRD3: IBP CHINP ;YES, KEEP THAT CHARACTER
4399 015430 275 06 0 00 000001 SUBI W1,1
4400 015431 201 03 0 00 000137 BWRD2: MOVEI B,"_" ;INDICATE WORD DELETION
4401 015432 260 17 0 00 015241 PUSHJ P,RDBOUT
4402 015433 254 00 0 00 015125 JRST NINSRT ;CONTINUE INPUT UNLESS BUFFER EMPTY ETC.
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 152
KLDDT MAC 5-May-78 12:59 FANCY TERMINAL INPUT LOGIC SEQ 0123
4403
4404 ;RETYPE LINE (CONTROL-R)
4405
4406 015434 260 17 0 00 015436 RTYPE: PUSHJ P,RTYPES ;DO THE WORK
4407 015435 254 00 0 00 015125 JRST NINSRT
4408
4409 ;SUBROUTINE TO RETYPE LINE
4410
4411 015436 RTYPES: HRROI B,[ASCIZ /
4412 015436 561 03 0 00 016330 /]
4413 015437 260 17 0 00 015252 PUSHJ P,RDSOUT ;NON-DISPLAY, GET CLEAN LINE
4414 015440 260 17 0 00 015301 PUSHJ P,FNDLIN ;FIND BEGINNING OF LINE
4415 015441 200 02 0 00 000007 MOVE A,W2 ;AT TOP OF BUFFER - USE IT
4416 015442 200 05 0 00 000002 MOVE T,A ;SAVE PTR TO BEGINNING OF LINE
4417 015443 312 05 0 00 000007 CAME T,W2 ;BEG OF LINE IS TOP OF BUFFER?
4418 015444 254 00 0 00 015453 JRST RTYP1 ;NO, DON'T TYPE ^R BFR
4419 015445 332 05 0 00 016372 SKIPE T,LINBP ;GET ^R BFR IF ANY
4420 015446 316 05 0 00 000007 RTYW1: CAMN T,W2 ;UP TO TOP OF BFR?
4421 015447 254 00 0 00 015452 JRST RTYP4 ;YES, DONE WITH ^R BFR
4422 015450 134 03 0 00 000005 ILDB B,T ;GET CHAR FROM ^R BFR
4423 JUMPN B,[PUSHJ P,RDBOUT ;TYPE IT
4424 015451 326 03 0 00 016331 JRST RTYW1]
4425 015452 200 05 0 00 000007 RTYP4: MOVE T,W2 ;DONE WITH ^R BFR, NOW DO MAIN BFR
4426 015453 316 05 0 00 016367 RTYP1: CAMN T,CHINP ;BACK TO END OF LINE?
4427 015454 263 17 0 00 000000 POPJ P,0 ;YES
4428 015455 134 03 0 00 000005 ILDB B,T ;NO, GET NEXT BYTE
4429 015456 260 17 0 00 015241 PUSHJ P,RDBOUT ;TYPE IT
4430 015457 254 00 0 00 015453 JRST RTYP1 ;LOOP UNTIL AT END OF BUFFER
4431
4432 ;DECREMENT BYTE POINTER
4433 ; A/ BYTE PTR
4434 ; PUSHJ P,DBP
4435 ; RETURNS +1, CLOBBERS B AND C
4436
4437 015460 135 03 0 00 016333 DBP: LDB B,[POINT 6,A,5] ;GET P
4438 015461 135 04 0 00 016325 LDB C,[POINT 6,A,11] ;GET S
4439 015462 270 03 0 00 000004 ADD B,C ;NEW P = P + S
4440 015463 305 03 0 00 000044 CAIGE B,^D36 ;NEW P .GE 36?
4441 015464 254 00 0 00 015471 JRST DBP1 ;NO, BYTE IS IN SAME WORD.
4442 015465 541 02 0 02 777777 HRRI A,-1(A) ;DECREMENT ADDRESS
4443 015466 201 03 0 00 000044 MOVEI B,^D36 ;MAKE P = REMAINDER (36,S)
4444 015467 230 03 0 00 000004 IDIV B,C
4445 015470 201 03 0 04 000000 MOVEI B,0(C)
4446 015471 137 03 0 00 016333 DBP1: DPB B,[POINT 6,A,5]
4447 015472 263 17 0 00 000000 POPJ P,0
4448 > ;END IFN ^-FTDEC20...
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 153
KLDDT MAC 5-May-78 12:59 FANCY TERMINAL INPUT LOGIC SEQ 0124
4449
4450 SUBTTL OP DECODER
4451
4452 ;DESCRIPTION OF OP DECODER FOR DDT:
4453 ;
4454 ; THE ENTIRE INSTRUCTION SET FOR THE PDP-10 CAN BE COMPACTED INTO
4455 ;A SPACE MUCH SMALLER THAN ONE REGISTER FOR EVERY SYMBOL. THIS OCCURS
4456 ;BECAUSE OF THE MACHINE ORGANIZATION AND INSTRUCTION MNEMONICS CHOSEN
4457 ;FOR THE PDP-10. FOR EXAMPLE, IF BITS (0-2) OF AN INSTRUCTION EQUAL
4458 ;101(2) THE INSTRUCTION IS A HALF WORD INSTRUCTION AND AN "H" MAY
4459 ;BE ASSUMED. "T" MAY BE ASSUMED FOR ALL TEST INSTRUCTIONS (WHICH
4460 ;BEGIN WITH 110(2).
4461 ;
4462 ; THE TABLE TBL IN DDT CONSISTS OF 9 BIT BYTES, 4 TO A WORD.
4463 ;THE NUMBERS IN THE BYTES HAVE THE FOLLOWING SIGNIFICANCE:
4464 ;0-37(8): THIS IS A DISPATCH COMMAND FOR THE OP-DECODER INTERPRETER.
4465 ; LET THE RIGHT MOST TWO BITS EQUAL N; LET THE NEXT 3 BITS
4466 ; EQUAL P.
4467 ;
4468 ; THE CONTENTS OF INST (INSTRUCTION) CONTAIN IN THE RIGHT
4469 ; MOST NINE BITS THE BINARY FOR THE MACHINE INSTRUCTION.
4470 ; P AND N REFER TO THE CONTENTS OF INST, AND THE OP DECODER
4471 ; WILL PRODUCE AN ANSWER D GIVEN P, N, AND THE CONTENTS
4472 ; OF INSTX N+1 GIVES THE NUMBER OF BITS IN INST; P GIVES THE
4473 ; POSITION (FROM THE RIGHT EDGE) OF THE N+1 BITS.
4474 ;
4475 ; EXAMPLE: P = 6
4476 ; N = 2
4477 ;
4478 ;; C(INST) = .010 101 100(2)
4479 ;
4480 ; THE RESULT = D = 010(2) = 2(8)
4481 ;
4482 ; D IS USED AS A DISPATCH ON THE NEXT BYTES IN THE TABLE.
4483 ; IF D = 5, 5 BYTES IN THE TABLE (DON'T COUNT THE BYTES WHICH
4484 ; PRINT TEXT OR ARE THE EXTEND BYTE, 41-73(8))
4485 ; ARE SKIPPED OVER AND THE 6TH BYTE RESUMES
4486 ; THE INTERPRETATION.
4487 ;
4488 ;40(8) THIS IS A STOP CODE; WHEN THIS IS REACHED INTERPRETATION
4489 ; IS FINISHED.
4490 ;41(8)-72(8) THE ALPHABET IS ENCODED INTO THIS RANGE.
4491 ; 41- A
4492 ; 42- B
4493 ; 72- Z
4494 ; WHEN A BYTE IN THIS RANGE IS REACHED, ITS CORRESPONDING
4495 ; LETTER IS TYPED.
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 154
KLDDT MAC 5-May-78 12:59 OP DECODER SEQ 0125
4496
4497 ;73(8) THIS IS THE "EXTEND" BYTE. THE NEXT BYTE IN THE TABLE
4498 ; IS A TRANSFER BYTE BUT MUST HAVE THE ADDRESS EXTENDED
4499 ; BY <1000-74*2+FIR.> FIRST.
4500 ;
4501 ;74(8)-777(8) THIS IS A TRANSFER BYTE. IF THE BYTE IN THIS RANGE IS
4502 ; CONSIDERED TO BE A, TRANSFER INTERPRETATION TO THE
4503 ; <A-74(8)+FIR.>RD BYTE IN THE TABLE.
4504 ;
4505 ;MACROS ASSEMBLE THE TABLE TBL:
4506 ; 1. A NUMBER FOLLOWED BY ^ ASSEMBLES A DISPATCH BYTE. THE FIRST
4507 ; DIGIT IS THE POSITION; THE SECOND DIGIT IS THE SIZE.
4508 ; 2. A POINT (.) ASSEMBLES A STOP CODE.
4509 ; 3. A NAME FOLLOWED BY A SLASH ASSEMBLES A TRANSFER TO THE
4510 ; SYMBOLICALLY NAMED BYTE.
4511 ; 4. A STRING OF LETTERS TERMINATED BY A SPACE, COMMA, OR POINT,
4512 ; ASSEMBLE INTO A STRING OF BYTES, EACH BYTE BEING ONE LETTER.
4513 ;
4514 ;EXAMPLE OF BINARY TO SYMBOLIC DECODING:
4515 ; THE MACHINE CODE FOR JRST IS 254
4516 ; INST 0 1 0 1 0 1 1 0 0
4517 ; THE INTERPRETER STARTS WITH THE FIRST BYTE IN THE TABLE (63^).
4518 ; THE RESULT OF APPLYING THIS TO C(INST) GIVES 2. SKIPPING OVER
4519 ; 2 BYTES IN THE TABLE AND INTERPRETING THE THIRD RESULTS IN
4520 ; HAK/ BEING INTERPRETED. AT HAK:, THERE IS A 33^. APPLYING
4521 ; THIS TO C(INST) RESULTS IN 5 NON PRINTING BYTES BEING SKIPPED
4522 ; OVER:
4523 ; 1. MV/
4524 ; MOV PRINTING TEXT
4525 ; 2. MO/
4526 ; 3. ML/
4527 ; 4. DV/
4528 ; 5. SH/
4529 ;
4530 ;H1/ IS THE NEXT BYTE INTERPRETER. AT H1: 03^ IS FOUND SO
4531 ;4 BYTES ARE SKIPPED OVER:
4532 ; EXC PRINTING TEXT
4533 ; 1. S3/
4534 ; BL PRINTING TEXT
4535 ; T PRINTING TEXT
4536 ; 2. .
4537 ; 3. AO/
4538 ; 4. AOB/
4539 ; THE NEXT LETTERS JRS ARE TYPED OUT. THEN T/ IS FOUND. AT
4540 ;T; A T IS TYPED OUT; THEN A "." IS FOUND AND EVERYTHING STOPS.
4541 ;
4542 ; THE TABLE IS ALSO USED GOING FROM SYMBOLIC TO BINARY BUT A
4543 ; TREE SEARCH METHOD IS USED.
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 155
KLDDT MAC 5-May-78 12:59 OP DECODER SEQ 0126
4544
4545 REPEAT 0,<
4546
4547 DEFINE REDEF (XX)<
4548 DEFINE INFO (AA,BB)<
4549 AA XX'BB>>
4550
4551
4552 DEFINE BYT9 (L)<
4553 XLIST
4554 REDEF %
4555 ZZ==0
4556 ZZZ==0
4557 ZZM==1
4558
4559 IRPC L,<
4560 Z=="L"
4561 IFE Z-":",<INFO <>,<==CLOC>
4562 IFNDEF FIR.,<FIR.==CLOC>
4563 IFGE CLOC+73-1000-FIR.,<PRINTX OPTABLE TOO LONG>
4564 Z==0>
4565 IFE Z-"/",<IF1 <OUTP 1>
4566 IF2,<INFO OUTP,+73-FIR.>
4567 Z==0>
4568 IFE Z-"^",<OUTP <ZZ&70/2+ZZ&7-1>
4569 Z==0>
4570 IFE <Z-",">*<Z-".">*<Z-40>,<IFN ZZZ,<
4571 REPEAT 5,<ZZ==ZZZ&77
4572 IFN ZZ,<OUTP ZZ>
4573 ZZZ==ZZZ/100>>
4574 IFE Z-".",<OUTP 40>
4575 Z==0>
4576 IFN Z,<INFO REDEF,L
4577 ZZ==ZZ*10+Z&7
4578 ZZZ==ZZZ+<Z-40>*ZZM
4579 ZZM==ZZM*100>
4580 IFE Z,<REDEF %
4581 ZZ==0
4582 ZZZ==0
4583 ZZM==1>>
4584 LIST>
4585
4586 DEFINE OUTP (A)<
4587 BINRY==BINRY*400+BINRY*400+A
4588 BINC==BINC-1
4589 IFE BINC,<EXP BINRY
4590 BINRY==0
4591 BINC==4>
4592 CLOC==CLOC+1>
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 156
KLDDT MAC 5-May-78 12:59 OP DECODER SEQ 0127
4593
4594 TBL: ;OPDECODER BYTE TABLE
4595 .XCREF ;KEEP THIS MESS OUT OF CREF
4596
4597 BINRY==0
4598 CLOC==0 ;SET BYTE LOCATION COUNTER TO 0
4599 BINC==4 ;INIT BYTES/WORD COUNTER
4600
4601 BYT9 <63^UUO/FLO/HAK/ACCP/BOOLE/H HWT/T ACBM/>
4602
4603 ;IO INSTRUCTIONS
4604 BYT9 <21^BD/CON,11^OI/S,01^Z/O/>
4605 BYT9 <BD:01^BLK,IO/DATA,IO:11^I/O/OI:01^O/I/>
4606
4607 ;UUOS
4608 BYT9 <UUO:51^.,32^U40/U50/U60/21^U703/11^USET/01^>
4609 BYT9 <LOOKU,P/ENTE,R/USET:USET,01^I/O/>
4610 BYT9 <U40:03^CAL/INI T/.....,CALL I/>
4611 BYT9 <U60:21^U603/01^IN,BPUT/OUT,BPUT:11^BU,F:F.,PU,T/>
4612 BYT9 <U603:01^U6062/STAT,11^O:O.,Z:Z.,U6062:11^S,U62/G,U62:ETST,S/>
4613 ;BYTE AND FLOATING INSTRUCTIONS
4614
4615 BYT9 <FLO:51^BYTE/F 32^ AD A/SB A/MP A/DV A:>
4616 BYT9 <21^LMB/R,IMB/LMB:02^.,L:L.,M:M.,B:B.,BYTE:32^.,I110//,I120/,03^UF,PA/DF,N/>
4617 BYT9 <FS C/IB P:P.,I LD/LD:LD B/I DP/DP:DP B/>
4618
4619 ;FWT,FIXED POINT ARITH,MISC.
4620
4621 BYT9 <HAK:33^MV/MV:MOV MO/ML/DV/SH/H1/JP/>
4622 BYT9 <21^ADD IMB/SU BIMB:B IMB:02^.,I:I.,M/B/MO:22^>
4623 BYT9 <EIMS:E IMS/S IMS/N IMS/M IMS:02^.,I/M/S:S.,>
4624 BYT9 <ML:21^I ML1/ML1:MUL IMB/DV:21^I DV1/DV1:>
4625 BYT9 <DI DV2:V IMB/H1:03^EXC S3/BL T:T.,AO/AO:AOBJ,>
4626 BYT9 <AOB/JRS T/JFC L/XC T/.AOB:01^P/N/>
4627 BYT9 <JP:03^PU/PU:PUSH PUS/PO/PO:POP POP/JS,R:R.,>
4628 BYT9 <JS P/JS PA:A.,JR PA/PUS:01^J:J..,POP:>
4629 BYT9 <01^.,J/SH:02^A S2/ROT S1/L S2:S S3:H S1/21^JFF O/.,S1:21^.,C:C.,>
4630
4631 ;ARITH COMP,SKIP,JUMP
4632
4633 BYT9 <ACCP:42^CA CA1/SJ/A JS/S JS:O 31^>
4634 BYT9 <J COMP/S COMP/CA1:31^I COMP/M COMP/>
4635 BYT9 <SJ:31^JUM PSJ/SKI PSJ:P COMP:>
4636 BYT9 <03^.,L/E:E.,L E/PA/G E/N:N.,G.,>
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 157
KLDDT MAC 5-May-78 12:59 OP DECODER SEQ 0128
4637
4638 ;HALF WORDS
4639
4640 BYT9 <HWT:51^HW1/21^R HW2/L HW2:R HW3/HW1:>
4641 BYT9 <21^L HW4/R HW4:L HW3:32^IMS/Z IMS/O IMS/EIMS/>
4642
4643 ;TEST INSTRUCTIONS
4644
4645 BYT9 <ACBM:31^AC1/01^D AC2/S AC2/AC1:01^R AC2/L,>
4646 BYT9 <AC2:42^N EAN/Z EAN/C EAN/O EAN:12^.,E/PA/N/>
4647
4648
4649 ;BOOLEAN
4650
4651 BYT9 <BOOLE:24^ST/AN:AND B2/AN/ST/AN/ST/>
4652 BYT9 <X OR:OR B2/I OR/AN/EQ DV2/ST/OR/ST/OR/OR/>
4653 BYT9 <ST:SET B2:24^Z IMB/IMB/CA:C TA/TM:M IMB/>
4654 BYT9 <CM:C TM/TA:A IMB/IMB/IMB/CB:C BIMB/IMB/CA/>
4655 BYT9 <CA/CM/CM/CB/O IMB/>
4656
4657 ;INSTRUCTION GROUP 120
4658 BYT9 <I120:11^ DMOV/ 01^ FIX,FIX2/ 21^.,FLT,FIX2: 21^. R/>
4659 BYT9 <DMOV:DMOV,01^ E,EM// N,EM:21^. M/>
4660
4661 ;MORE UUO'S
4662 BYT9 <U50:03^OPE,N/TT,CAL:CAL L/...,RENAM,E/I,N/OU,T/>
4663 BYT9 <U703:02^CLOS,E/RELEA,S/MTAP,E/UGET,F/>
4664
4665 ;INSTRUCTION GROUP 110 - DF ARITHMETIC
4666 BYT9 <I110:21^DF DF// ., DF:02^AD.,SB.,M P/ DV.>
4667
4668 REPEAT BINC,<BINRY==BINRY*400+BINRY*400>
4669 IFN BINRY,<EXP BINRY>
4670 .CREF ;TURN CREF BACK ON
4671 > ;END OF REPEAT 0
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 158
KLDDT MAC 5-May-78 12:59 OP DECODER SEQ 0129
4672
4673 ;THE FOLLOWING IS AN ALTERNATE SET OF MACROS FOR BUILDING THE OP
4674 ;TABLE. THEY ASSEMBLE MUCH FASTER THAN THE ONES ABOVE. THEY ARE:
4675 ;.ADR - DECLARE TAG; .TRA - TRANSFER BYTE; .TRAX - EXTENDED TRANSFER
4676 ;BYTE; .DIS - DISPATCH BYTE; .TXT - TEXT BYTES; .END - TEXT BYTES
4677 ;FOLLOWED BY STOP BYTE.
4678
4679 DEFINE BYT9 (A) <
4680 XLIST
4681 IRP A,<
4682 A>
4683 LIST>
4684
4685 IF1,<
4686
4687 DEFINE .ADR (A) <
4688 %'A== CLOC
4689 FIR.== CLOC
4690 DEFINE .ADR (B) <
4691 %'B== CLOC
4692 LASTB==CLOC+74-FIR.>>
4693
4694 DEFINE .TRA (A)<CLOC==CLOC+1>
4695 DEFINE .TRAX (A)<CLOC==CLOC+2>
4696
4697 SYN .TRA, .DIS
4698
4699 DEFINE .TXT (A) <
4700 IFNB <A>, <IRPC A,<CLOC==CLOC+1>>>
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 159
KLDDT MAC 5-May-78 12:59 OP DECODER SEQ 0130
4701 DEFINE .END (A) <
4702 IFNB <A>, <IRPC A,<CLOC==CLOC+1>>
4703 CLOC== CLOC+1>
4704
4705 > ;END OF IF1
4706 IF2,<
4707
4708 DEFINE .ADR (A)<IFN %'A-CLOC,<PRINTX PHASE ERR AT: %'A>>
4709
4710 DEFINE .TRA (A) <OUTP %'A+74-FIR.>
4711
4712 DEFINE .TRAX (A),<OUTP 73
4713 OUTP 74+<Z1==%'A-FIR.-1000+74>
4714 IFL Z1,<PRINTX "A" TOO SMALL FOR .TRAX>>
4715
4716 DEFINE .DIS (A) <OUTP A&70/2+A&7-1>
4717
4718 DEFINE .TXT (A) <IFNB <A>,<IRPC A,<OUTP "A"-40>>>
4719
4720 DEFINE .END (A) <
4721 IFNB <A>, <IRPC A,<OUTP "A"-40>>
4722 OUTP 40>
4723
4724 DEFINE OUTP (A)<
4725 IFGE <A>-1000,<PRINTX OPTABLE BYTE "A" TOO BIG>
4726 IFE <BINC==BINC-9>-^D27,<BINR1==A>
4727 IFE BINC-^D18,<BINR2==A>
4728 IFE BINC-9,<BINR3==A>
4729 IFE BINC,< BYTE (9) BINR1,BINR2,BINR3,<A>
4730 BINC==^D36>
4731 CLOC==CLOC+1 >
4732 >
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 160
KLDDT MAC 5-May-78 12:59 OP DECODER SEQ 0131
4733
4734 015473 TBL: .XCREF ;OPDECODER BYTE TABLE
4735
4736 000000 CLOC== 0 ;SET BYTE LOCATION COUNTER TO 0
4737 000044 BINC== ^D36 ;INIT BYTES/WORD COUNTER
4738
4739 ;**********THE ARGUMENT FOR THE FOLLOWING "BYT9" MACRO
4740 ;**************TERMINATES AT THE NEXT COMMENT WITH: **************
4741
4742 IFN FTDEC20,<
4743 BYT9 <
4744 .DIS 63,.END,.TRA FLO,.TRA HAK,.TRA ACCP,.TRA BOOLE
4745 .TXT H,.TRA HWT,.TXT T,.TRA ACBM>
4746 > ;END FTDEC20
4747
4748 IFE FTDEC20,<
4749 BYT9 <
4750 .DIS 63,.TRA UUO,.TRA FLO,.TRA HAK,.TRA ACCP,.TRA BOOLE
4751 .TXT H,.TRA HWT,.TXT T,.TRA ACBM>
4752 > ;END FTDEC20
4753
4754 BYT9 <
4755
4756 ;IO INSTRUCTIONS
4757
4758 .DIS 21,.TRA BD,.TXT CON,.DIS 11,.TRA OI,.TXT S,.DIS 01,.TRA Z,.TRA O
4759 .ADR BD,.DIS 01,.TXT BLK,.TRA IO,.TXT DATA,.ADR IO,.DIS 11,.TRA I,.TRA O
4760 .ADR OI,.DIS 01,.TRA O,.TRA I
4761 ;UUOS
4762
4763 .ADR UUO,.DIS 51,.END,.TXT,.DIS 32,.TRA U40,.TRAX U50,.TRA U60
4764 .DIS 21,.TRAX U703,.DIS 11,.TRA USET,.DIS 01
4765 .TXT LOOKU,.TRA P,.TXT ENTE,.TRA R,.ADR USET,.TXT USET,.DIS 01,.TRA I,.TRA O
4766 .ADR U40,.DIS 03,.TRAX CAL,.TXT INI,.TRA T,.END,.END,.END,.END,.END,.TXT CALL,.TRA I
4767 .ADR U60,.DIS 21,.TRA U603,.DIS 01,.TXT IN,.TRA BPUT,.TXT OUT
4768 .ADR BPUT,.DIS 11,.TXT BU,.ADR F,.END F,.TXT,.TXT PU,.TRA T
4769 .ADR U603,.DIS 01,.TRA U6062,.TXT STAT,.DIS 11,.ADR O,.END O,.TXT,.ADR Z,.END Z,.TXT
4770 .ADR U6062,.DIS 11,.TXT S,.TRA U62,.TXT G,.ADR U62,.TXT ETST,.TRA S
4771
4772 ;BYTE AND FLOATING INSTRUCTIONS
4773
4774 .ADR FLO,.DIS 51,.TRA BYTE,.TXT F,.DIS 32,.TXT,.TXT AD,.TRA A,.TXT SB
4775 .TRA A,.TXT MP,.TRA A,.TXT DV,.ADR A
4776 .DIS 21,.TRA LMB,.TXT R,.TRA IMB,.ADR LMB,.DIS 02,.END,.TXT
4777 .ADR L,.END L,.TXT,.ADR M,.END M,.TXT
4778 .ADR B,.END B,.TXT,.ADR BYTE,.DIS 32,.TRAX I100,.TRAX I110,.TRA I120,.TXT
4779 .DIS 03,.TXT UF,.TRA PA,.TXT DF,.TRA N
4780 .TXT FS,.TRA C,.TXT IB,.ADR P,.END P,.TXT,.TXT I,.TRA LD
4781 .ADR LD,.TXT LD,.TRA B,.TXT I,.TRA DP,.ADR DP,.TXT DP,.TRA B
4782
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 161
KLDDT MAC 5-May-78 12:59 OP DECODER SEQ 0132
4783
4784 ;FWT-FIXED POINT ARITH-MISC
4785
4786 .ADR HAK,.DIS 33,.TRA MV,.ADR MV,.TXT MOV,.TRA MO,.TRA ML,.TRA DV
4787 .TRA SH,.TRA H1,.TRA JP
4788 .DIS 21,.TXT ADD,.TRA IMB,.TXT SU,.ADR BIMB,.TXT B,.ADR IMB,.DIS 02,.END,.TXT
4789 .ADR I,.END I,.TXT,.TRA M,.TRA B,.ADR MO,.DIS 22
4790 .ADR EIMS,.TXT E,.TRA IMS,.TXT S,.TRA IMS,.TXT N,.TRA IMS,.TXT M
4791 .ADR IMS,.DIS 02,.END,.TXT,.TRA I,.TRA M,.ADR S,.END S,.TXT
4792 .ADR ML,.DIS 21,.TXT I,.TRA ML1,.ADR ML1,.TXT MUL,.TRA IMB
4793 .ADR DV,.DIS 21,.TXT I,.TRA DV1
4794 .ADR DV1,.TXT DI,.ADR DV2,.TXT V,.TRA IMB,.ADR H1,.DIS 03,.TXT EXC,.TRA S3,.TXT BL
4795 .ADR T,.END T,.TXT,.TRA AO,.ADR AO,.TXT AOBJ
4796 .TRA AOB,.TXT JRS,.TRA T,.TXT JFC,.TRA L,.TXT XC,.TRA T,.TXT MA,.TRA P
4797 .ADR AOB,.DIS 01,.TRA P,.TRA N
4798 .ADR JP,.DIS 03,.TRA PU,.ADR PU,.TXT PUSH,.TRA PUS,.TRA PO
4799 .ADR PO,.TXT POP,.TRA POP,.TXT JS,.ADR R,.END R,.TXT
4800 .TXT JS,.TRA P,.TXT JS,.ADR PA,.END A,.TXT,.TXT JR,.TRA PA
4801 .ADR PUS,.DIS 01,.ADR J,.END J,.END,.TXT,.ADR POP
4802 .DIS 01,.END,.TXT,.TRA J,.ADR SH,.DIS 02,.TXT A,.TRA S2,.TXT ROT,.TRA S1,.TXT L
4803 .ADR S2,.TXT S,.ADR S3,.TXT H,.TRA S1,.DIS 21,.TXT JFF,.TRA O,.END
4804 .ADR S1,.DIS 21,.END,.TXT,.ADR C,.END C,.TXT
4805
4806 ;ARITH COMP-SKIP-JUMP
4807
4808 .ADR ACCP,.DIS 42,.TXT CA,.TRA CA1,.TRA SJ,.TXT A,.TRA JS,.TXT S
4809 .ADR JS,.TXT O,.DIS 31
4810 .TXT J,.TRA COMP,.TXT S,.TRA COMP,.ADR CA1,.DIS 31,.TXT I,.TRA COMP,.TXT M,.TRA COMP
4811 .ADR SJ,.DIS 31,.TXT JUM,.TRA PSJ,.TXT SKI,.ADR PSJ,.TXT P,.ADR COMP
4812 .DIS 03,.END,.TXT,.TRA L,.ADR E,.END E,.TXT,.TXT L,.TRA E,.TRA PA,.TXT G,.TRA E
4813 .ADR N,.END N,.TXT,.END G,.TXT
4814
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 162
KLDDT MAC 5-May-78 12:59 OP DECODER SEQ 0133
4815
4816 ;HALF WORDS
4817
4818 .ADR HWT,.DIS 51,.TRA HW1,.DIS 21,.TXT R,.TRA HW2,.TXT L,.ADR HW2,.TXT R,.TRA HW3
4819 .ADR HW1,.DIS 21,.TXT L,.TRA HW4,.TXT R,.ADR HW4,.TXT L
4820 .ADR HW3,.DIS 32,.TRA IMS,.TXT Z,.TRA IMS,.TXT O,.TRA IMS,.TRA EIMS
4821
4822 ;TEST INSTRUCTIONS
4823
4824 .ADR ACBM,.DIS 31,.TRA AC1,.DIS 01,.TXT D,.TRA AC2,.TXT S,.TRA AC2
4825 .ADR AC1,.DIS 01,.TXT R,.TRA AC2,.TXT L
4826 .ADR AC2,.DIS 42,.TXT N,.TRA EAN,.TXT Z,.TRA EAN,.TXT C,.TRA EAN,.TXT O
4827 .ADR EAN,.DIS 12,.END,.TXT,.TRA E,.TRA PA,.TRA N
4828
4829 ;BOOLEAN
4830
4831 .ADR BOOLE,.DIS 24,.TRA ST,.ADR AN,.TXT AND,.TRA B2,.TRA AN,.TRA ST,.TRA AN,.TRA ST
4832 .TXT X,.ADR OR,.TXT OR,.TRA B2,.TXT I,.TRA OR,.TRA AN,.TXT EQ
4833 .TRA DV2,.TRA ST,.TRA OR,.TRA ST,.TRA OR,.TRA OR
4834 .ADR ST,.TXT SET,.ADR B2,.DIS 24,.TXT Z,.TRA IMB,.TRA IMB
4835 .ADR CA,.TXT C,.TRA TA,.ADR TM,.TXT M,.TRA IMB
4836 .ADR CM,.TXT C,.TRA TM,.ADR TA,.TXT A,.TRA IMB,.TRA IMB,.TRA IMB
4837 .ADR CB,.TXT C,.TRA BIMB,.TRA IMB,.TRA CA
4838 .TRA CA,.TRA CM,.TRA CM,.TRA CB,.TXT O,.TRA IMB
4839
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 163
KLDDT MAC 5-May-78 12:59 OP DECODER SEQ 0134
4840
4841 ;INSTRUCTION GROUP 120
4842 .ADR I120,.DIS 11,.TRAX DMOV,.DIS 01,.TXT FIX,.TRAX FIX2,.DIS 21,.END EXTEND
4843 .TXT FLT,.ADR FIX2,.DIS 21,.END,.TRA R
4844 .ADR DMOV,.TXT DMOV,.DIS 01,.TXT E,.TRAX EM,.TXT N
4845 .ADR EM,.DIS 21,.END,.TRA M
4846
4847 ;MORE UUO'S
4848
4849 .ADR U50,.DIS 03,.TXT OPE,.TRA N,.TXT TT,.ADR CAL,.TXT CAL,.TRA L,.END,.END,.END
4850 .TXT,.TXT RENAM,.TRA E,.TXT I,.TRA N,.TXT OU,.TRA T
4851 .ADR U703,.DIS 02,.TXT CLOS,.TRA E,.TXT RELEA,.TRA S
4852 .TXT MTAP,.TRA E,.TXT UGET,.TRA F
4853
4854 ;INSTRUCTION GROUP 110 - DF ARITHMETIC
4855 .ADR I110,.DIS 21,.TXT DF,.TRAX DF,.TXT D,.TRAX FXDP,.ADR DF,.DIS 02
4856 .END AD,.END SB,.TXT M,.TRA P,.END DV
4857
4858 ;KL10 FIXED POINT DOUBLE PRECISION OPERATIONS
4859 .ADR FXDP,.DIS 02,.END ADD,.END SUB,.END MUL,.END DIV
4860
4861 ;OPCODES 100 TO 107 COME HERE
4862 .ADR I100,.DIS 21,.END,.DIS 02,.END,.END ADJSP,.END,.END
4863 ;**********THIS TERMINATES THE "BYT9" MACRO ARGUMENT******
4864 >
4865
4866 IF1,< BLOCK <CLOC+3>/4>
4867 015715 040 040 060 000 IF2,< IFN BINC-^D36,<BYTE (9) BINR1,BINR2,BINR3,0> >
4868
4869 IFNDEF CLOC.,<CLOC.==CLOC>
4870 IFN CLOC.-CLOC,<PRINTX PHASE ERROR IN OPTABLE>
4871
4872 .CREF ;TURN CREF BACK ON
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 164
KLDDT MAC 5-May-78 12:59 OP DECODER SEQ 0135
4873
4874 015716 44 11 0 00 015473 BTAB: POINT 9,TBL ;TABLE USED TO GET NEXT BYTE POINTER
4875 015717 33 11 0 00 015473 POINT 9,TBL,8 ;FOR TRANSFER BYTE
4876 015720 22 11 0 00 015473 POINT 9,TBL,17
4877 015721 11 11 0 00 015473 POINT 9,TBL,26
4878
4879 015722 201 05 0 00 000000 OPEVAL: MOVEI T,0 ;EVALUATE FOR AN OP CODE
4880 015723 136 05 0 00 016520 IDPB T,CHP ;INSERT NULL IN TEXT FOR SYMBOL
4881 015724 202 17 0 00 016523 MOVEM P,SAVPDL
4882 015725 624 00 0 00 000004 TRZA F,OUTF
4883 015726 660 00 0 00 000004 OPTYPE: TRO F,OUTF ;TYPE AN OPCODE SYMBOLICALLY
4884 015727 242 05 0 00 777745 LSH T,-33
4885 015730 202 05 0 00 016517 MOVEM T,INST ;GET OPCODE INTO RIGHT 9 BITS
4886 015731 200 05 0 00 016051 MOVE T,[XWD 440700,TXT]
4887 015732 202 05 0 00 016520 MOVEM T,CHP ;FOR OPEVAL,SETUP POINTER TO INPUT TEXT
4888 015733 620 00 0 00 000002 TRZ F,ITF ;CLEAR INSTRUCTION TYPED FLAG
4889 015734 403 02 0 00 000006 CLEARB R,W1
4890 015735 200 07 0 00 015716 MOVE W2,BTAB
4891 015736 134 05 0 00 000007 DC1: ILDB T,W2 ;GET NEXT BYTE IN TBL
4892 015737 303 05 0 00 000040 CAILE T,40
4893 015740 301 05 0 00 000074 CAIL T,74
4894 015741 365 02 0 00 015736 SOJGE R,DC1 ;SKIP OVER # BYTES = C(R)
4895 015742 327 02 0 00 015736 JUMPG R,DC1 ;SKIP OVER ALPHA TEXT (AND EXTEND BYTES) WITHOUT COUNTING
4896 015743 275 05 0 00 000040 SUBI T,40
4897 015744 322 05 0 00 015776 JUMPE T,DECX ;TRANSFER ON ASTOP CODE
4898 015745 327 05 0 00 015756 JUMPG T,DC2
4899 015746 137 05 0 00 016334 DPB T,[XWD 340500,PNTR] ;SETUP R ON A DISPATCH BYTE
4900 015747 620 05 0 00 777774 TRZ T,-4
4901 015750 350 00 0 00 000005 AOS T
4902 015751 137 05 0 00 016335 DPB T,[XWD 300600,PNTR]
4903 015752 606 00 0 00 000004 TRNN F,OUTF
4904 015753 254 00 0 00 016015 JRST DC6 ;FOR OPEVAL ONLY
4905 015754 135 02 0 00 016516 LDB R,PNTR ;GET # BYTES TO SKIP OVER
4906 015755 254 00 0 00 015736 JRST DC1
4907
4908 015756 571 05 0 05 777745 DC2: HRREI T,-33(T) ;TOTAL SUBTRACTED NOW IS 73
4909 015757 321 05 0 00 015770 JUMPL T,DECT ;TYPE OUT A LETTER
4910 015760 327 05 0 00 015763 JUMPG T,DC3 ;XFER IF BYTE .GE. 74
4911 015761 134 05 0 00 000007 ILDB T,W2 ;BYTE IS EXTEND BYTE (73), GET NEXT
4912 015762 201 05 0 05 000611 MOVEI T,1000-74*2+1(T) ; BYTE AND ADD IN EXTENSION (-OFFSET)
4913 015763 201 06 0 05 000024 DC3: MOVEI W1,FIR.-1(T) ;BYTE IS AN XFER (1ST XFER IS 74)
4914 015764 231 06 0 00 000004 IDIVI W1,4
4915 015765 200 07 0 07 015716 MOVE W2,BTAB(W2) ;CALCULATE POINTER TO NEXT BYTE
4916 015766 271 07 0 06 000000 ADDI W2,(W1)
4917 015767 254 00 0 00 015736 JRST DC1
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 165
KLDDT MAC 5-May-78 12:59 OP DECODER SEQ 0136
4918
4919 015770 602 00 0 00 000004 DECT: TRNE F,OUTF
4920 015771 254 00 0 00 016041 JRST DC8 ;TYPE OUT A LETTER
4921 015772 134 06 0 00 016520 ILDB W1,CHP ;GET NEXT INPUT LETTER
4922 015773 302 06 0 05 000133 CAIE W1,133(T) ;COMPARE WITH ASSUMED NEXT LETTER
4923 015774 254 00 0 00 016002 JRST NOMAT ;DOESNT MATCH
4924 015775 254 00 0 00 015736 JRST DC1 ;MATCHES, TRY NEXT
4925
4926 015776 602 00 0 00 000004 DECX: TRNE F,OUTF ;STOP (CODE 40) HAS BEEN SEEN
4927 015777 263 17 0 00 000000 POPJ P, ;IF FOR OUTPUT, RETURN
4928 016000 134 06 0 00 016520 ILDB W1,CHP ;GET NEXT INPUT CHAR IF ANY
4929 016001 322 06 0 00 016031 JUMPE W1,DC7 ;DOES # OF CHARS MATCH
4930 016002 262 17 0 00 000002 NOMAT: POP P,R ;NO, BACK UP AND TRY SOME MORE
4931 016003 262 17 0 00 000007 POP P,W2
4932 016004 262 17 0 00 016516 POP P,PNTR
4933 016005 262 17 0 00 016520 POP P,CHP
4934 016006 350 00 0 00 000002 NOMAT1: AOS R ;ASSUME NEXT NUMBER FOR BIN VALUE
4935 016007 137 02 0 00 016516 DPB R,PNTR ;STUFF INTO ANSWER
4936 016010 135 02 0 00 016516 LDB R,PNTR
4937 016011 326 02 0 00 016017 JUMPN R,DC6AA ;IF =0, BYTE WAS TOO BIG
4938 016012 312 17 0 00 016523 CAME P,SAVPDL
4939 016013 254 00 0 00 016002 JRST NOMAT ;NOT AT TOP LEVEL
4940 016014 263 17 0 00 000000 POPJ P, ;UNDEFINED, FINALLY
4941
4942 016015 201 02 0 00 000000 DC6: MOVEI R,0 ;ASSUME 0 FOR INITIAL BINARY VALUE
4943 016016 137 02 0 00 016516 DPB R,PNTR
4944 016017 316 17 0 00 016523 DC6AA: CAMN P,SAVPDL
4945 016020 254 00 0 00 016024 JRST DC6BB
4946 016021 135 05 0 17 777776 LDB T,-2(P) ;OLD VALUE OF PNTR
4947 016022 312 05 0 17 000000 CAME T,(P)
4948 016023 254 00 0 00 016006 JRST NOMAT1
4949 016024 261 17 0 00 016520 DC6BB: PUSH P,CHP
4950 016025 261 17 0 00 016516 PUSH P,PNTR
4951 016026 261 17 0 00 000007 PUSH P,W2
4952 016027 261 17 0 00 000002 PUSH P,R
4953 016030 254 00 0 00 015736 JRST DC1
4954
4955 016031 200 17 0 00 016523 DC7: MOVE P,SAVPDL ;RESTORE PUSH DOWN POINTER
4956 016032 200 05 0 00 016517 MOVE T,INST
4957 016033 242 05 0 00 000033 LSH T,33 ;PUSH BINARY INTO POSITION FOR OPEVAL
4958 016034 135 02 0 00 016336 LDB R,[POINT 3,T,8]
4959 016035 641 05 0 00 700000 TLC T,700000
4960 016036 647 05 0 00 700000 TLCN T,700000
4961 016037 137 02 0 00 016337 DPB R,[POINT 10,T,12] ;ONLY DONE FOR IO INSTRUCTIONS
4962 016040 254 00 0 00 010520 JRST CPOPJ1 ;SYMBOL FOUND, SKIP RETURN
4963
4964 016041 660 00 0 00 000002 DC8: TRO F,ITF ;SET INSTRUCTION TYPED FLAG
4965 016042 201 05 0 05 000133 MOVEI T,133(T)
4966 016043 260 17 0 00 014533 PUSHJ P,TOUT ;OUTPUT A LETTER
4967 016044 402 00 0 00 016547 CLEARM SPSAV ;SO $D WONT TRY TO DELETE OP CODES
4968 016045 254 00 0 00 015736 JRST DC1
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 166
KLDDT MAC 5-May-78 12:59 OP DECODER SEQ 0137
4969
4970 ;*** LITERALS XLISTED ***
4971
4972 XLIST
4973 LIST
4974 016355 END.C: ;END OF CODE
4975
4976 SUBTTL VARIABLE STORAGE
4977
4978 IFN FTDEC20,< IFDEF VARLOC,<
4979 PHVAR: PHASE VARLOC>> ;PHASE VARIABLES FOR UDDT AND MDDT
4980
4981 016355 BEG.V: ;BEGINNING OF VARIABLES
4982 016355 201 07 0 00 000000 NM1A: MOVEI W2,0
4983 016356 201 05 0 00 000000 ACCCF: MOVEI T,.-. ;LEFT HALF OF A,,B
4984 016357 322 05 0 00 013727 SEAR2: JUMPE T,SEAR3 ;OR JUMPN T
4985 016360 201 05 0 00 000000 TOCS: MOVEI T,.-. ;GET RIGHT HALF BACK
4986
4987 ;VARIABLES FOR LINE BUFFER INPUT
4988
4989 016361 000000 000000 TEXINF: 0 ;NON-0 FOR TEXT INPUT MODE
4990 016362 000000 000000 CHINC: 0 ;COUNT OF CHARACTERS
4991 016363 000000 000000 WAKALL: 0 ;NON-0 TO WAKEUP ON EVERYTHING
4992 ;*** DO NOT REORDER THE FOLLOWING ***
4993 016364 000000 000010 TEXTIB: 10 ;TEXTI ARG BLOCK - SIZE
4994 ; IFN FTDEC20,<
4995 016365 715100 000000 RD%BRK+RD%TOP+RD%PUN+RD%RND+RD%JFN+RD%BBG+RD%SUI ;FLAGS
4996 016366 000100 000101 .PRIIN,,.PRIOU ;INPUT/OUTPUT JFNS
4997 ; >
4998 016367 000000 000000 CHINP: 0 ;POINTER TO NEXT CHAR
4999 016370 000000 000000 LINSPC: 0 ;FREE SPACE COUNT
5000 016371 44 07 0 00 016377 LINDB: POINT 7,LINBF ;BEGINNING OF BUFFER
5001 016372 44 07 0 00 016377 LINBP: POINT 7,LINBF ;BEGINNING OF ^R BUFFER
5002 016373 000000 000000 ETXTB: 0 ;WAKEUP TABLE (ALL ONES)
5003 016374 000000 000000 0 ;BACKUP LIMIT POINTER
5004 ;***END OF "DO NOT REORDER" BLOCK***
5005
5006 IFN ^-FTDEC20!<FTEXEC&FTEDIT>,<
5007 016375 000000 000000 SAVCHR: 0 ;PRESET RESULT FOR NEXT CALL TO RDBIN
5008 016376 000000 000000 LASCHR: 0 ;ANSWER FROM LAST CALL TO RDBIN
5009 >
5010
5011 000024 NLINBF==^D20
5012 016377 LINBF: BLOCK NLINBF ;LINE BUFFER
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 167
KLDDT MAC 5-May-78 12:59 VARIABLE STORAGE SEQ 0138
5013
5014 SUBTTL STORAGE -- $X LOGIC AND PATCH COMMAND
5015
5016 IFE FTFILE,<
5017 ;VARIABLES USED IN $X LOGIC
5018
5019 016423 256 00 0 00 016424 I.XCT: XCT I.NST
5020 016424 000000 000000 I.NST: 0 ;INSTRUCTION BEING EXECUTED
5021 016425 000000 000000 SAV0: 0 ;SAVES AC 0 IN SWAP ROUTINE
5022 016426 000000 000000 XCTS: 0 ;XCT DEPTH COUNTER
5023 016427 000000 000000 I.NSTAC:0 ;AC FIELD OF INST BEING EXECUTED
5024 016430 000000 000000 I.NSTEA:0 ;E FIELD OF INST BEING EXECUTED
5025 016431 000000 000000 XTEM: 0 ;$X REPEAT COUNTER
5026 016432 000000 000000 I.NSTPC:0 ;PC OF INST BEING EXECUTED
5027 016433 000000 000000 FLAGS: 0 ;SAVES DDT FLAG REGISTER
5028 016434 000000 000000 LOCSAV: 0 ;SAVES LOCATION OF INST BEING EXECUTED
5029 016435 000000 000000 SAFETY: 0 ;SAVES T
5030 > ;END FTFILE
5031
5032 ;VARIABLES FOR PATCH COMMAND
5033
5034 016436 000000 000000 PTLOC: 0 ; SOURCE OF PATCH ADR ,, PATCH ADR
5035 016437 000000 000000 PTLLC: 0 ; BEFORE/AFTER FLAG ,, OLD LLOCO
5036 016440 000000 000000 PTWRD: 0 ; ORIGINAL WORD AT OLD LLOCO
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 168
KLDDT MAC 5-May-78 12:59 STORAGE -- $X LOGIC AND PATCH COMMAND SEQ 0139
5037
5038 SUBTTL STORAGE -- BREAKPOINTS
5039 IFE FTFILE,<
5040 016441 000000 000000 SAVE: 0 ;SAVE THE ACS AND PI SYSTEM
5041 016442 254 00 0 00 012377 JRST SAVEG
5042
5043 BP1: REPEAT NBP,<
5044 0 ;JSR TO HERE FOR BREAKPOINT
5045 JSA T, BCOM
5046 0 ;HOLDS INSTRUCTION WHILE BREAKPOINT IS IN PLACE
5047 016443 000000 000000 >
5048 016444 266 05 0 00 016473
5049 016445 000000 000000
5050 016446 000000 000000
5051 016447 266 05 0 00 016473
5052 016450 000000 000000
5053 016451 000000 000000
5054 016452 266 05 0 00 016473
5055 016453 000000 000000
5056 016454 000000 000000
5057 016455 266 05 0 00 016473
5058 016456 000000 000000
5059 016457 000000 000000
5060 016460 266 05 0 00 016473
5061 016461 000000 000000
5062 016462 000000 000000
5063 016463 266 05 0 00 016473
5064 016464 000000 000000
5065 016465 000000 000000
5066 016466 266 05 0 00 016473
5067 016467 000000 000000
5068 016470 000000 000000
5069 016471 266 05 0 00 016473
5070 016472 000000 000000
5071
5072 016445 B1INS=BP1+2
5073 016470 BPN=.-3
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 169
KLDDT MAC 5-May-78 12:59 STORAGE -- BREAKPOINTS SEQ 0140
5074
5075 016473 000000 000000 BCOM: 0
5076 016474 254 00 0 00 012546 JRST BCOMG
5077 016475 332 00 0 00 000000 BCOM3: SKIPE 0 ;ADDR MOD TO LOOK AT COND. INST.
5078 016476 377 00 0 00 000000 BCOM2: SOSG 0 ;ADDR MOD TO LOOK AT PROCEED COUNTER
5079 016477 000000 012733 LEAV1: XWD 0,LEAVG
5080 016500 241 03 0 00 000000 BREAK2: ROT S,.-. ;ROT BY # OF BREAK POINT
5081 016501 551 02 0 00 011565 PROC0: HRRZI R,XEC1 ;MODIFIED TO ADDR OF BREAKPOINT
5082 016502 000000 000000 LEAV: 0 ;INSTRUCTION MODIFIED
5083 016503 261 00 0 00 016473 CPUSHP: PUSH .-.,BCOM ;GETS MODIFIED IN AC FIELD
5084 016504 000000 000000 SWAP: 0
5085 016505 254 00 0 00 012362 JRST SWAPG
5086 > ;END IFE FTFILE
5087
5088 016506 000000 000000 SVBTS: 0
5089 016507 000000 000000 SVBTS2: 0
5090 016510 000000 000000 OLDAR: 0
5091 016511 000000 000000 SVBT3: 0
5092 016512 000000 000000 SVBT2: 0
5093 016513 PSVBTS: BLOCK 3
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 170
KLDDT MAC 5-May-78 12:59 STORAGE -- BREAKPOINTS SEQ 0141
5094
5095 SUBTTL STORAGE -- SYMBOL TABLE LOGIC
5096
5097 016516 000000 016517 PNTR: EXP INST ;POINTER TO BITS IN INST
5098 016517 000000 000000 INST: 0 ;BINARY FOR INSTRUCTION
5099 016520 000000 000000 CHP: 0 ;CHAR POINTER INTO TXT, TXT+1
5100 016521 TXT: BLOCK 2 ;STORE INPUT TEXT FOR OPEVAL
5101 016523 000000 000000 SAVPDL: 0 ;SAVE PUSH DOWN LIST POINTER
5102 016524 000000 000000 WRD: 0
5103 016525 000000 000000 WRD2: 0
5104 016526 000000 000000 PRNC: 0
5105
5106 016527 000000 000000 FRASE: 0 ;DONT CHANGE ORDER, SEE SEARC+3
5107 016530 000000 000000 SYL: 0
5108 016531 000000 000000 LWT: 0
5109 016532 000000 000000 TEM2: 0
5110 016533 FRASE1:
5111 016533 000000 000000 TEM3: 0
5112 016534 000000 000000 DEN: 0
5113
5114 016535 SAVHSM: BLOCK 1 ;C(.JBHSM), USED BY EVAL, LOOK
5115 016536 000000 000000 SEGNAM: 0 ;THE HIGH SEGMENT NAME (OR 0)
5116 ;WHEN $: IS SUCCESSFULLY DONE
5117 016537 000000 000000 PRGM: 0
5118 016540 000000 000000 ESTUT: 0
5119 016541 000000 000000 FSV: 0
5120 016542 000000 000000 FH: 0
5121 016543 000000 000000 SYM: 0
5122 IFE FTDEC20,<
5123 IFE FTFILE,<
5124 016544 000 00 0 00 012463* SYMP: Z .JBSYM ;POINTS TO LOW SEG SYM TABLE POINTER
5125 016545 000 00 0 00 012465* USYMP: Z .JBUSY ;POINTS TO UNDEF SYM TABLE POINTER
5126 >
5127 IFN FTFILE,<
5128 SYMP: Z FISPTR
5129 USYMP: Z FIUPTR
5130 >>
5131 IFN FTDEC20,<
5132 IFN FTEXEC,<
5133 SYMP: Z .JBSYM
5134 USYMP: Z .JBUSY>
5135 IFE FTEXEC,<
5136 SYMP: Z .DDSYM
5137 USYMP: Z .DDUSY
5138 >
5139 JDTFLG: -1 ;JOB DATA AREA VALID IF NON-0
5140 > ;END IFN FTDEC20
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 171
KLDDT MAC 5-May-78 12:59 STORAGE -- SYMBOL TABLE LOGIC SEQ 0142
5141
5142 016546 000000 000000 SYMPNT: 0 ;USED BY SYM TABLE SEARCHES
5143 016547 000000 000000 SPSAV: 0 ;POINTER TO LAST SYMBOL TYPED
5144 016550 000000 000000 DEFV: 0
5145 016551 000000 000000 ULIMIT: 0
5146 016552 000000 000000 LLOC: 0
5147 016553 000000 000000 LLOCO: 0
5148 016554 000000 000000 SAVLP: 0 ;POINTER TO SAVLOC TABLE
5149 000020 NSAVTB==20 ;SIZE OF SAVLOC TABLE (RING BUFFER)
5150 016555 SAVLTB: BLOCK NSAVTB ;SAVLOC TABLE
5151 016575 000000 000000 SYMORD: 0 ;HOLDS ADDRESSES OF EVAL-OPEVAL ROUTINES
5152 ;SPECIFYING WHICH ORDER TO SEARCH THEM FOR SYMBOLS
5153 016576 000000 000000 QLPNT: 0 ;USED IN "QLIST" AS POINTER TO A SYMBOL
5154 016577 000000 000012 LCNT: 12 ;USED IN LISTEN
5155 016600 000000 000000 SKPCT: 0 ;SKIP COUNT FOR XCT
5156 016601 000000 000000 EFAFLG: 0 ;EFF ADR COMP MODE
5157 IFN FTEXEC!FTFILE,<
5158 ;EPTUPT: 0 ;LH - EPT POINTER , RH - UPT POINTER
5159 >
5160 IFN FTYANK,<
5161 PTDFLG: 0 ;EOF SEEN ON COMMAND FILE
5162 >
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 172
KLDDT MAC 5-May-78 12:59 STORAGE -- SYMBOL TABLE LOGIC SEQ 0143
5163
5164 SUBTTL STORAGE -- SAVE AREAS FOR PREVIOUS CONTEXT
5165
5166 IFE FTFILE,<
5167 016602 000000 000000 SAVAPR: 0 ;USED TO SAVE APR REGISTER IN EXEC MODE
5168 016603 000000 000000 SAVPI: 0
5169 016604 000000 001177 1177
5170
5171 ;THESE LOCATIONS MUST BE IN ORDER - THEY ARE USED TO SAVE AND
5172 ;RESTORE THE STATE OF DTE FOR KL10
5173
5174 016605 000000 000000 SAVTTY: 0
5175 IFN FTEXEC,<
5176 ;SAVUNS: 0
5177 ;SAVEPW: 0
5178 ;SAVERW: 0
5179 ;SAVDPW: 0
5180 ;SAVDRW: 0
5181
5182 ;SAVEBR: 0 ;SAVED EXEC BASE REG
5183 ;MTRCNI: 0 ;RESULT OF CONI MTR,
5184 ;TIMCNI: 0 ;RESULT OF CONI TIM,
5185 ;MSTRDT: 0 ;ID OF MASTER -11
5186 016606 000000 000000 DING11: 0 ;PROTOTYPE CONO WORD FOR DTE
5187 > ;END IFN EDDT
5188
5189 ; IFN FTDEC20,<
5190 016607 000000 000000 SAVTT2: 0
5191 016610 000000 000000 SAVTT3: 0
5192 016611 000000 000000 LASTPG: 0
5193 016612 000000 000000 SAVSTS: 0
5194 ; > ;END IFN FTDEC20
5195 > ;END IFE FTFILE
5196 016613 777777 777777 MSK: XWD -1,-1
5197 IFN FTEXEC,< ;CELLS FOR TRACE FACILITY
5198 016614 000000 000000 TRCON: 0 ;ASSUMED AT $M+1
5199 016615 000000 000000 TRCDMP: 0> ;ASSUMED AT $M+2
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 173
KLDDT MAC 5-May-78 12:59 STORAGE -- SAVE AREAS FOR PREVIOUS CONTEXT SEQ 0144
5200
5201 IFE FTFILE,<
5202 016616 000000 000000 B1ADR: 0
5203 016617 000000 000000 B1SKP: 0
5204 016620 000000 000000 B1CNT: 0
5205
5206 016621 000000 000000 REPEAT NBP*3-3, < 0>
5207 016622 000000 000000
5208 016623 000000 000000
5209 016624 000000 000000
5210 016625 000000 000000
5211 016626 000000 000000
5212 016627 000000 000000
5213 016630 000000 000000
5214 016631 000000 000000
5215 016632 000000 000000
5216 016633 000000 000000
5217 016634 000000 000000
5218 016635 000000 000000
5219 016636 000000 000000
5220 016637 000000 000000
5221 016640 000000 000000
5222 016641 000000 000000
5223 016642 000000 000000
5224 016643 000000 000000
5225 016644 000000 000000
5226 016645 000000 000000
5227
5228 016643 BNADR=.-3
5229 016646 000000 000000 AUTOPI: 0
5230
5231 016647 AC0: BLOCK 17
5232
5233 016666 000000 000000 AC17: 0
5234 >
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 174
KLDDT MAC 5-May-78 12:59 STORAGE -- SAVE AREAS FOR PREVIOUS CONTEXT SEQ 0145
5235
5236 SUBTTL STORAGE -- STATE VARIABLES
5237
5238 016667 000000 013473 SCHM: EXP PIN ;DO NOT CHANGE ORDER
5239 016670 000000 013574 ARM: EXP PADSO
5240 016671 000000 000010 ODFM: EXP 10
5241
5242 016672 000000 000000 SARS: 0
5243 016673 000000 000000 TEM: 0
5244 016674 000000 000000 TEM1: 0
5245
5246 000020 NSYMCS==20 ;SIZE OF SYMBOL TABLE CACHE
5247 016675 SYMCSH: BLOCK NSYMCS ;SYMBOL TABLE CACHE
5248 016715 SYMCSP: BLOCK 1 ;POINTER TO NEXT FREE ENTRY
5249 016716 OLDSYM: BLOCK 1 ;REMEMBER CACHE SYMBOL TABLE
5250 IFN FTEXEC,<
5251 016717 000000 000000 USRFLG: 0 ;-1 IN USER MODE, 0 IN EXEC MODE
5252 016720 000000 000000 KAFLG: 0 ;0 FOR KI10; 1,,0 FOR KA10 OR PDP-6
5253 016721 000000 000000 TOPS20: 0 ;0 FOR TOPS10, -1 FOR TOPS20
5254 016722 000000 000000 XNXTCH: 0 ;PRESET INPUT CHAR AT XLISTE
5255 > ;END IFN FTEXEC
5256 XLIST
5257 LIST
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 176
KLDDT MAC 5-May-78 12:59 STORAGE -- STATE VARIABLES SEQ 0146
5258
5259 SUBTTL STORAGE -- PUSH DOWN LIST
5260
5261 016723 PDL: BLOCK LPDL ;STORAGE FOR PUSH DOWN LIST
5262
5263 016773 END.V==.
5264 IFN FTDEC20,< IFE FTEXEC,<
5265 VAREND: ;END OF INITIALIZED VARIABLES AREA
5266 .DDSYM: 0 ;SYMTAB PTR (COPIED FROM .JBSYM USUALLY)
5267 .DDUSY: 0 ;UNDEF SYMTAB PTR (COPIED FROM .JBUSY " )
5268
5269 SETRT1: 0 ;SCRATCH FOR VARIABLE INITIALIZATION
5270 END.V==.
5271 DEPHASE
5272 >>
5273
5274 016773 DDTEND:
5275
5276 IFDEF VARLOC,< IFDEF RUNLOC,< IFDEF PHDDT,<
5277 IFL <VARLOC-RUNLOC>-<DDTEND-PHDDT>,<
5278 PRINTX ?VARIABLES OVERLAP CODE
5279 >>>>
5280
5281 DEFINE PRSIZE(CODEN,DATAN),<
5282 IF2,< PRINTX [ CODEN WORDS CODE + DATAN WORDS DATA]
5283 >>
5284
5285 RADIX 10
5286 PRSIZE(\<END.C-DDT>,\<END.V-BEG.V>)
5287 RADIX 8
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 177
KLDDT MAC 5-May-78 12:59 STORAGE -- PUSH DOWN LIST SEQ 0147
5288
5289 ;THE FOLLOWING DEFINES CERTAIN SYMBOLS RELEVANT TO HARDWARE OR TO
5290 ;DDT ITSELF. THESE ARE *NOT* NEEDED FOR THE ASSEMBLY OF DDT AND
5291 ;IN FACT MAY BE IN CONFLICT WITH DEFINITIONS WHICH ARE USED
5292 ;DURING ASSEMBLY (E.G. TTY). HENCE, THESE DEFINITIONS ARE ASSEMBLED
5293 ;LAST AND ON PASS 2 ONLY. THE SYMBOLS ARE ALL DECLARED INTERNAL
5294 ;SO THAT THEY WILL BE KEPT IN THE PROGRAM SYMBOL TABLE AFTER
5295 ;LOADING. THESE SYMBOLS ARE THEN USED DURING DDT INSTRUCTION
5296 ;ASSEMBLY OR DEASSEMBLY ONLY.
5297
5298 IFE FTDEC20,< ;DDT SYMTAB NEVER USED ON DEC20
5299 IF2,<
5300 DEFINE XP (SS,VV)<
5301 SS=VV
5302 INTERN SS>
5303
5304 000000 OPDEF DDTINT [Z 0,] ;ADDRESS FLAG FOR INTERNAL REGISTERS
5305
5306 ;DEFINE $ SYMBOLS INTERNAL TO DDT
5307
5308 IFE FTFILE,<
5309 RADIX 10
5310
5311 DEFINE DBPNT (Z.)<XP $'Z.'B,<DDTINT B1ADR+3*Z.-3>>
5312
5313 000000 ZZ==0
5314 REPEAT NBP,<DBPNT \<ZZ==ZZ+1>>
5315 RADIX 8
5316
5317 XP $M,<DDTINT MSK>
5318 XP $I,<DDTINT SAVPI>
5319 > ;END FTFILE
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 178
KLDDT MAC 5-May-78 12:59 STORAGE -- PUSH DOWN LIST SEQ 0148
5320
5321 ;DEFINE I/O DEVICE MNEMONICS
5322
5323 IFN FTEXEC,<
5324
5325 XP PI,004B11
5326 XP PAG,010B11
5327 XP CCI,014B11
5328 XP DLB,060B11
5329 XP DLC,064B11
5330 XP CLK,070B11
5331 XP PTP,100B11
5332 XP PTR,104B11
5333 XP CDP,110B11
5334 XP CDR,114B11
5335 XP TTY,120B11
5336 XP LPT,124B11
5337 XP DIS,130B11
5338 XP PLT,140B11
5339 XP CR,150B11
5340 XP DSK,170B11
5341 XP DTE,200B11
5342 XP UTC,210B11
5343 XP UTS,214B11
5344 XP MTC,220B11
5345 XP MTS,224B11
5346 XP MTM,230B11
5347 XP DLS,240B11
5348 XP DPC,250B11
5349 XP DCSA,300B11
5350 XP DCSB,304B11
5351 XP DTC,320B11
5352 XP DTS,324B11
5353 XP TMC,340B11
5354 XP TMS,344B11 >
5355
5356 ;DEFINE EXTENDED OPERATIONS
5357
5358 IFE FTFILE,<
5359 XP JOV,2554B11
5360 XP JEN,2545B11
5361 XP HALT,2542B11 >
5362 > ;END IF2
5363 > ;END IFE FTDEC20
KLDDT DECSYSTEM DIAGNOSTICS DDT, VERSION 0.12 MACRO %53(1020) 12:59 5-May-78 Page 179
KLDDT MAC 5-May-78 12:59 STORAGE -- PUSH DOWN LIST SEQ 0149
5364
5365 ;ONLY STARTING ADDRESS FOR FILDDT AND VMDDT
5366 ;NO START ADDRESS FOR EXEC OR USER DDT
5367 ;BECAUSE USER PROGRAMS AND MONITOR ARE LOADED
5368 ;WITH EXEC OR USER DDT
5369 ;BUT STILL WANT TO BE STARTED AT THEIR OWN START ADDRESSES
5370
5371 REPEAT 0,<
5372 IFN FTVMX,<END MAKDDT>
5373 IFN FTFILE,<END DDT>
5374
5375 IFE FTEXEC,<
5376 IFN FTDEC20,<
5377 IFE FTMON,<
5378 END BLTDDT>>> ;UDDT HAS SPECIAL START ADR
5379 >
5380
5381 ; END
5382 010000 END DDT ;KLDDT HAS START ADDRESS
NO ERRORS DETECTED
PROGRAM BREAK IS 000000
ABSOLUTE BREAK IS 016774
CPU TIME USED 00:31.529
68P CORE USED
A 183# 3208 3247 3248 3249 3254 3256 3260 3262 3266 3267 3269 3272 3273
3279 3287 3295 3297 3301 3323 3324 3976 3988 3990 3991 3994 3995 3997 SEQ 0150
4010 4017 4046 4047 4057 4234 4236 4246 4248 4249 4252 4265 4267 4276
4277 4290 4292 4301 4378 4415 4416 4437 4438 4442 4446
ABSA 1306# 3957 3958
ABSDDT 34# 95 157
AC0 1714 1781 1805 1828 2058 2064 2128 2129 2215 2247 2259 2318 2344 2392
2408 2527 2544 2602 2608 5231#
AC17 2127 5233#
ACCCF 1045 1048 4983#
ACCF 1044# 3950 3951
ACCF1 1047 1057#
APR 2729 2731
APRID 278#
AR 190# 1307 1315 2969 3377 3378 3401 3403
ARM 5239#
ASSEM 417 431 479 485 1027# 3947 3948
AUTOP 2309 2484#
AUTOPI 2299 2449 2488 2490 5229#
B 184# 3259 3263 3267 3269 3285 3287 3291 3298 3300 3977 4010 4011 4012
4013 4014 4016 4017 4025 4039 4045 4047 4056 4088 4091 4094 4097 4100
4103 4106 4109 4112 4176 4186 4204 4208 4210 4222 4234 4236 4237 4246
4247 4249 4250 4296 4297 4302 4321 4324 4327 4328 4330 4338 4348 4349
4351 4352 4354 4356 4362 4363 4367 4379 4387 4388 4393 4394 4395 4396
4400 4411 4422 4423 4428 4437 4439 4440 4443 4444 4445 4446
B1ADR 2269 2416 2431 2436 2447 2448 2464 2471 2484 5202# 5314
B1CNT 2236 2238 5204#
B1INS 2234 2419 2431 5072#
B1SKP 2234 2236 5203#
BACK 4263# 4345 4365 4384 4390
BASE1 1301 1314#
BASE1O 1317# 3389
BASE1S 1308 1316#
BASECH 1304 1310#
BCOM 1741 1744 1973 2240 2281 2321 2370 2372 2373 2374 2383 2390 2395 2406
5048 5051 5054 5057 5060 5063 5066 5069 5075# 5083
BCOM2 2237 2244 2277 2303 2307 2325 5078#
BCOM3 2235 2242 2243 2267 2288 2290 2293 2308 5077#
BCOMG 2233# 5076
BDISP 400 3920#
BEG.V 4981# 5286
BITO 3375# 3962 3963
BITT 3375 3391#
BITT2 3396# 3410
BITT4 3406 3412#
BLKEND 3932# 3960 3961
BNADR 2430 2477 5228#
BP1 2238 2415 2416 2419 5043# 5072
BPLUP 2332 2339 2376# 2401
BPLUP1 2313 2377#
BPN 2424 5073#
BPS 2443# 3958 3959
BPS1 2444 2452#
BPS2 2446 2459#
BPS3 2457 2470# SEQ 0151
BPS4 2472# 2478
BPS5 2468 2475 2480#
BREAK 2245 2262#
BREAK1 2291 2296#
BREAK2 2271 2297 5080#
BRK 4068# 4157 4158
BTAB 4874# 4890 4915
BWRD1 4390# 4397
BWRD2 4391 4400#
BWRD3 4389 4398#
C 185# 3264 3274 3282 3289 3323 3324 3325 3978 4012 4014 4055 4374 4377
4395 4438 4439 4444 4445
CARR 447 1138# 3940 3941
CARR1 1140#
CCBITS 4062# 4063 4082 4088 4089 4091 4092 4094 4095 4097 4098 4100 4101 4103
4104 4106 4107 4109 4110 4112 4113 4142 4143 4144 4145 4146 4147 4148
4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162
4163 4164 4165 4166 4167 4168 4169 4170 4171
CCBTAB 4012 4084# 4395
CCF 222# 373 655 660 666 824 1147 1318 1336 1342 1378 1403 1541 1548
1736 1757 1944 1983 1984 2489 3136
CCI 5327# 5327
CDP 5333# 5333
CDR 5334# 5334
CEFF 1163 1172 1176 1191# 1209
CEFF1 1196 1204#
CEFF2 1208 1211#
CF 229# 373 390 551 593 660 665 875 973 1008 1143 1192 1193 1237
1336 1342 1403 1549
CF1 242# 365 1154 1159 1328 1329 2879
CHECKI 1590 1630 1650 1904 1918#
CHEKIS 1592 1629 1902#
CHIN1 3788 3793#
CHIN2 3798 3803#
CHIN3 3821 3831#
CHINC 1141 3635 3787 3824 3834 3874 3879 4220 4225 4990#
CHINP 1140 3634 3789 3797 3802 3811 3818 3836 3844 3849 3858 3862 3876 3984
3988 3990 4025 4033 4039 4046 4221 4224 4263 4265 4267 4286 4288 4290
4292 4294 4296 4301 4304 4328 4338 4347 4360 4362 4377 4378 4386 4392
4398 4426 4998#
CHKA1 2680 2691#
CHKA2 2686 2690#
CHKA20 2622 2672#
CHKA3 2704 2714 2728#
CHKA4 2626 2674 2698#
CHKA5 2701 2707 2727#
CHKA6 2712 2715#
CHKA7 2706 2726#
CHKA8 2709 2729#
CHKADR 2520 2546 2599 2610 2621#
CHKPAG 2514 2594 2643#
CHP 379 584 4880 4887 4921 4928 4933 4949 5099#
CHRWRD 4011 4063# 4084 4394 SEQ 0152
CL11PT 3441#
CLK 5330# 5330
CLRCSH 785 2555 2869#
CNTRLZ 1443# 3937 3938 3944 3945
COMF 218# 1046 1352
CON 1299# 3958 3959
CONSYM 1117 1331 2028 2874# 3243
CONTRO 665# 3945 3946
CONV6 1010#
CPOPJ 691 692 717# 774 2515 2577 2595 2598 2637 2778 2831 2942 3226 4237
CPOPJ1 716# 869 2525 2528 2540 2545 2552 2604 2609 2615 2824 2833 2849 2864
3551 3708 4058 4268 4305 4962
CPUSHP 2381 2387 5083#
CR 5339# 5339
CRF 333 502 516 546 1121 1134 1385 1431 1466 1482 1543 1761 1967 1993
1997 2310 3057 3095 3359#
CRN 1088 3355# 3359
CSHVER 675 2759 2862#
CTBL 4088 4091 4094 4097 4100 4103 4106 4109 4112 4142#
DBL0 1953 2007#
DBLI 1634 1882#
DBP 4253 4266 4291 4437#
DBP1 4441 4446#
DC1 4891# 4894 4895 4906 4917 4924 4953 4968
DC2 4898 4908#
DC3 4910 4913#
DC6 4904 4942#
DC6AA 4937 4944#
DC6BB 4945 4949#
DC7 4929 4955#
DC8 4920 4964#
DCSA 5349# 5349
DCSB 5350# 5350
DD1 333# 468 506 535 1213 1479 1483 3083 3171 3179
DD1.5 334# 1145
DD2 339# 471 1116 3837 3877
DDT 37 269 320# 326 5286 5382
DDTEND 153 264 3159 3161 5274#
DDTOFS 299# 401 402 406 417 422 431 432 434 435 447 449 450 453
479 485 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947
3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961
3962 3963 3964 3965 3966 3967 3968
DDTX 153 270 302# 3158
DEA 1529# 1840 1963
DEA0 1964 2033#
DECT 4909 4919#
DECVER 5# 28
DECX 4897 4926#
DEF1 881 886#
DEF1A 895 902#
DEF2 884 903 912#
DEF3 920# 944
DEF4 924 943# SEQ 0153
DEF5 936 939#
DEF6 940# 946
DEF7 927 946# 953
DEFIN 874 880#
DEFV 878 915 931 932 950 1338 3070 3079 3088 3092 3129 3131 5144#
DELC 4121 4345#
DELC1 4361 4364 4367#
DELC2 4350 4360#
DELC4 4358# 4370
DELI 253# 719 825 2767 2786
DELIN 4122 4374#
DELO 254# 823 825 2767 2786 3240
DEN 380 557 560 575 618 632 3050 5112#
DEP1 2517 2522#
DEP2 2547 2550#
DEP4 2518 2521 2529#
DEPAC 2523 2527#
DEPERR 1377 1384 1410 1416 1422 1430 2455 2557#
DEPM20 2513 2543#
DEPMEM 999 1281 1284 1679 1818 2400 2421 2433 2511# 2558 3172
DEPRA 1087 1133 1138 1237# 1404
DEPRA2 1249# 1261
DEPRA4 1253# 1269 1271
DEPRA5 1249 1258 1263#
DEPRS 1171 1175 1241 1264 2500#
DEPSYM 861 1281 2510#
DFAC 1525# 1687 1698 1840 1849 1882 1917 1952
DFLOT 1612 1839#
DING11 3530 3583 3620 5186#
DIS 5337# 5337
DISP 3920 3921 3922 3923#
DISPTC 4014 4016 4118#
DIVD 1024# 3949 3950
DLB 5328# 5328
DLC 5329# 5329
DLS 5347# 5347
DMEMER 939 951 2505 2558#
DMOV 1614 1617 1840#
DOBKIN 4276#
DOIT 1610 1702 1747 1799 1865 1883 1890 1898 1911 1922#
DOLLAR 563# 3948 3949
DOTXTI 3976#
DPC 5348# 5348
DPRS3 1252 1266#
DPRS4 1268# 1277 1286
DSK 5340# 5340
DSYMER 492 498 826 865 893 907 910 914 917 2555# 3241
DTC 5351# 5351
DTE 3421# 5341# 5341
DTECMD 3431# 3529 3580
DTEDPW 3426#
DTEDRW 3427#
DTEEPW 3424# SEQ 0154
DTEERW 3425#
DTEF11 3430# 3533 3617
DTEFLG 3428# 3528 3531 3534 3615
DTEII 3422#
DTEMTD 3433#
DTEMTI 3434#
DTEN 3439#
DTEOPR 3432# 3618
DTEPRV 3444#
DTET11 3429# 3616
DTEUNS 3423#
DTS 5352# 5352
DVF 220# 372 427 429 1024
EA 1528# 1700 1815 1878 1889 1896 1910 1920 1961
EA0 1962 2037#
EA2 2013 2038#
EA6 2029 2043#
EBRIDX 3527 3578 3627#
ECHO 3499 3636#
ECHO1 3639 3642 3644 3650 3656 3659 3664#
EFAFLG 1149 1191 5156#
EFFEC 3042# 3959 3960
EFFEC0 3066 3100#
EFFEC1 3102# 3115
EFFEC2 3104 3109#
EFFEC3 3111 3116#
END.C 4974# 5286
END.V 5263# 5286
EOL1 4119 4331#
EOLC 4070# 4146
EQUAL 1328# 3956 3957
ERR 398 418 448 454 460# 712 819 845 872 891 929 942 948 960
1000 1016 1070 1109 1312 1347 1354 1357 1369 1375 1402 1436 1445 1459
1555 1559 1595 1667 1671 1680 1710 1756 1783 1819 2304 2379 2454 2462
2479 2559 3048 3090 3106 3133 3137 3238 3380 3805 3816 3852 3861 3930
3931 3932 3933 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946
3947 3948 3949 3964 3965
ESTUT 363 444 474 476 489 5118#
ETXTB 3809 3855 5002#
EVAL 408 409 675# 820 880 1356 1362
EVAL2 478 689# 837
EVAL3 694# 708
EVAL4 696 698 701# 720 730
EVAL4A 702 708#
EVAL5 713# 723
EVAL6 700 718#
EVAL7 725 729#
EVALC1 678# 684
EVALC2 683 715#
EVALC3 679 684#
EVALC4 676 685#
F 181# 334 364 365 366 367 372 373 390 404 419 421 427 429
438 441 467 480 494 503 551 565 566 568 569 571 577 590 SEQ 0155
593 610 614 615 621 631 634 635 636 655 659 660 665 666
689 697 711 722 728 818 824 871 873 875 957 962 973 994
1008 1023 1024 1028 1029 1032 1041 1046 1061 1062 1063 1066 1074 1075
1076 1079 1082 1101 1104 1114 1115 1143 1147 1152 1154 1157 1159 1160
1161 1162 1164 1192 1193 1237 1239 1240 1303 1318 1328 1329 1330 1336
1339 1342 1344 1346 1352 1353 1355 1378 1403 1453 1461 1541 1548 1549
1550 1572 1658 1663 1677 1681 1687 1691 1696 1697 1698 1699 1700 1701
1706 1708 1735 1736 1754 1757 1780 1784 1794 1798 1812 1815 1816 1820
1833 1839 1840 1843 1844 1849 1853 1858 1862 1878 1882 1887 1888 1889
1896 1897 1902 1903 1906 1907 1908 1909 1910 1915 1916 1917 1918 1919
1920 1921 1922 1939 1944 1946 1948 1950 1952 1954 1957 1959 1961 1963
1966 1983 1984 2025 2027 2038 2043 2195 2305 2443 2445 2456 2458 2465
2489 2502 2503 2775 2776 2783 2789 2802 2813 2815 2831 2838 2843 2877
2879 2892 2903 2908 2940 2960 2999 3028 3042 3047 3054 3055 3065 3091
3120 3130 3136 3379 4882 4883 4888 4903 4919 4926 4964
FAC 1524# 1658 1663 1700 1701 1794 1798 1812 1833 1858 1882 1888 1889 1908
1920 1921 1950
FAC0 1951 2012#
FAF 225# 366 873 1339 3130
FCP 3285 3287 3323#
FEF 217# 566 569 610 962
FET1 2597 2601#
FET20 2593 2607#
FETCH 349 928 947 1107 1199 1207 1270 1374 1558 1709 1782 2312 2338 2417
2453 2590# 3058 3089 3105 3113
FH 606 645 5120#
FIR. 4913
FIRARG 1336# 3956 3957
FLA 1530# 1687 1691 1700 1701 1798 1839 1844 1948
FLAFXE 1619 1844#
FLAGS 1550 1677 1681 1735 1754 1780 1784 1816 1820 1922 1939 1946 1966 2027
2038 2043 5027#
FLE 1531# 1687 1691 1700 1701 1839 1843 1957 2025
FLG 1526# 1708 1862 1954
FLG0 1955 2017#
FLOAT 1625 1696#
FLOATI 1701#
FNDLIN 4286# 4375 4414
FNDLN1 4290# 4299
FNDLN2 4295 4298 4301#
FP1 3259#
FP1A 3255 3264#
FP3 3266# 3292
FP3A 3275# 3279
FP4 3261 3263 3282#
FP4A 3284# 3289
FP4B 3286 3289#
FP7 3212 3270 3297# 3302
FP7A1 3301 3304#
FP7B 2971 3277 3305#
FPF 221# 373 551 565 566 634 636 962
FRASE 369 433 619 1034 1072 3050 3051 5106#
FRASE1 371 426 428 430 1035 1071 3033 5110# SEQ 0156
FSGN 3291 3327#
FSV 574 623 5119#
FT 600 620 3314# 3324
FT0 3321# 3323 3325
FT01 622 3260 3320# 3321
FT8 3262 3310#
FTDEC2 101 112 123 172 206 262 342 1108 1110 1477 1485 2146 2221 2262
2511 2590 2620 2716 2725 2927 2976 2978 3059 3061 3077 3121 3123 3146
3162 3363 3368 3480 3485 3668 3784 3839 3916 3934 3974 4190 4191 4978
5006 5122 5131 5264 5298
FTEDIT 103 112 3480 3485 3784 3839 3974 5006
FTEXEC 33# 96 112 112# 124 126 131 146 163 267 268 272 357 742
791 801 889 1443 1577 1657 1724 1725 1752 1940 2080 2117 2138 2174
2207 2218 2256 2329 2529 2573 2624 2643 2656 2672 2697 2736 2979 2981
3147 3150 3365 3368 3419 3646 3648 3672 3687 3715 3742 3744 3762 3779
3784 3839 3931 3974 4179 5006 5157 5175 5197 5250 5323
FTFILE 98 112 119 126 151 175 263 272 301 329 355 529 650 670
703 740 748 755 776 779 789 798 834 887 897 1244 1442 1492
1498 2078 2495 2509 2562 2591 2618 2749 2806 2875 2979 2981 3030 3036
3150 3155 3168 3173 3180 3674 3689 3693 3916 5016 5039 5123 5127 5157
5166 5201 5257 5308 5358
FTMON 102 112 1724 1752 1940
FTOC 1096 1153 1298 1299 2880 3184#
FTPTP 97 112 3415 3931
FTVMX 100 112 151 157 295 325
FTYANK 99 112 303 3541 3690 3864 3916 3930 4182 4192 4204 5160
FXAFLE 1615 1618 1843#
GETH20 2662 2736#
GETHSO 2576 2633 2656#
GETHSZ 2738 2746#
GLOBL 250# 491 541 721 912 922 2788
GO 1452# 3959 3960
HALT 5361# 5361
HFETCH 358 743 759 792 802 890 2572#
HLFW 1290 1293 1295 1296 2886 2906 2907 2953# 3011
HLFW1 2959 2964#
HWRDS 1296# 3960 3961
I.JSA 1648 1803#
I.JSP 1647 1826#
I.JSR 1646 1810#
I.JSR2 1806 1815#
I.JSR4 1822 1832#
I.NST 1560 1563 1564 1568 1571 1678 1742 1746 1772 1775 1791 1793 1864 5019
5020#
I.NSTA 1569 1729 2007 2012 5023#
I.NSTE 1565 1759 1762 1804 1817 1821 1831 1870 1872 2024 2033 2037 5024#
I.NSTP 1769 1792 5026#
I.XCT 1753 1925 1942 5019#
IAOBJ 1638 1649 1858#
ICON 1171# 3966 3967
IDFN 1621 1691#
IFSC 1622 1798#
IIPUSH 1643 1767# SEQ 0157
IIXCT 1641 1751#
IIXCT1 1758 1762#
IJFCL 1640 1862#
IJFFO 1633 1849#
IJRST 1639 1706#
IJRST0 1709# 1720
IJRST1 1713 1718#
IJRST3 1727 1734 1740#
IJSA 2359 2390#
IJSP 2357 2406#
IJSR 2355 2395#
IJSR2 2393 2399#
IJSR3 2403# 2411
IMM 1527# 1701 1706 1798 1858 1882 1888 1897 1921 1959
IMM0 1960 2023#
IMM1 2019 2027#
INDIRE 1039# 3957 3958
INOUT 2884 3006#
INOUT2 3020 3021 3023#
INSRT 4023# 4120 4312
INSRT1 2416# 2425
INSRT3 2418 2423#
INSRTB 1467 2315 2415#
INST 4885 4956 5097 5098#
IOTS 1594 1894#
IPOPJ 1645 1780#
IPOPJ2 1776 1791#
IPUSHJ 2352 2381#
ITF 246# 365 2892 2903 4888 4964
IUFA 1620 1687#
IXCT 2337# 2364 2367
IXCT4 2328# 2362
IXCT41 2330 2335#
IXCT5 2326 2341#
IXCT51 2344#
IXCT6 2333 2343 2366 2368#
IXS1 1927 1931#
IXS2 1928 1930#
JEN 5360# 5360
JMP 1863 1870#
JMPSKP 1653 1853#
JOV 5359# 5359
JRSPRC 1731 1735#
JUSTE 1623 1665 1878#
JUSTI 1660 1897#
KAFLG 166 167 168 169 2141 2145 5252#
KILL 818# 3961 3962
KILL1 821 830#
KILL1A 832# 847
KILL2 837#
KILRET 451 827#
KLCC 3561 3565#
KLCC0 3569# 3569 3582 SEQ 0158
KLCC1 3565 3568#
KLCC2 3572 3577#
KLL 4075# 4153
KLWORD 4122 4384#
KLXLIS 3546 3554#
KLXTYO 3505 3520# 3624
KWRD 4076# 4155
L1 373# 1025
L1A 374# 1083
L1RPR 375# 1080
L2 385# 579 585 591 661 668
L21 391 396#
L212 413# 416
L213 411 415#
L4 419# 500 611 627
L5 446 449#
LASCHR 4210 4276 5008#
LASTPG 2173# 2173 2550 2678 2681 2690 5192#
LCNT 3700 3703 5154#
LCT 470 1105 2017 2023 2040 2292 3363#
LE1A 561 577# 608
LE2 578# 648
LEAV 2233 2248 2314 2340 2341 2346 2347 2348 2349 2360 2369 2388 2391 2399
2402 2403 5082#
LEAV1 2239 2258 2260 5079#
LEAVG 2369# 5079
LET 395 565#
LET1 570 576#
LF1 240# 365 1154 1160 1328 1330 2877
LI0 1121# 1182 1389 1411 1417 1423
LI1 1090# 1123 1136 1144 1387 1433 2042 2050 2295 3094
LI2 1104# 1169
LINBF 5000 5001 5012#
LINBP 3801 3835 3848 3853 3875 3890 3991 3994 4419 5001#
LINDB 3850 3983 5000#
LINEF 1087# 3939 3940
LINSPC 3800 3804 3810 3823 3832 3847 3851 3857 3872 3878 3982 4008 4051 4999#
LIS 341# 1037
LIS0 366# 1348
LIS0A 354 361#
LIS0B 352 363#
LIS1 369# 1064 1319
LIS2 370# 1030 1042
LISTEN 1980 2298 3072 3085 3686# 3758
LLOC 630 982 1089 1091 1122 1135 1142 1167 1179 1222 1230 1407 1412 1418
1424 2286 2294 5146#
LLOCO 493 877 964 979 983 1092 1106 1168 1256 1276 1372 2501 5147#
LOADER 3933# 3961 3962
LOCL 251#
LOCSAV 1539 1557 1974 5028#
LOOK 2758# 2895 2905 2972 3019
LOOK1 2780# 2811
LOOK2 2797 2802# SEQ 0159
LOOK3 2782 2784 2787 2792 2795 2800 2804# 2837 2841 2844
LOOK3A 2805 2811#
LOOK4 2814 2818 2830#
LOOK5 2790 2835#
LOOK6 2838 2842#
LOOKC1 2763# 2772
LOOKC2 2760 2773#
LOOKO1 2815 2819#
LOOKO2 2770 2821#
LOOKO3 2828 2848#
LOOKO4 2771 2847#
LPDL 198# 340 464 469 2132 2350 5261
LPRN 422 424 1032# 3949 3950
LPT 5336# 5336
LTF 230# 404 503 566 568 635 818 871 962 3042 3065
LTTYLE 3606 3623#
LTTYRE 3588 3615# 3625
LWT 442 656 657 1248 1263 1325 2285 2500 2874 2894 2902 2911 2913 2921
2925 2926 2941 2958 2964 3017 3082 3096 3242 3343 3347 3393 3395 3399
3412 5108#
MASK 3028# 3961 3962
MASK1 3029 3037#
MASK2 2466 3032#
MCNVER 6# 28
MDLCLF 237# 689 711 728 2775 2802 2813
MF 233# 419 494 571 621 1028 1063 1352
MINUS 613 1028# 3951 3952
MLF 227# 372 1023
MONINI 1598 1670#
MONUAE 1597 1663#
MONUAI 1599 1601 1658#
MONUE 1600 1602 1604 1606 1608 1661 1664#
MONUI 1603 1605 1607 1659#
MSK 3031 3037 3068 5196# 5317
MTC 5344# 5344
MTM 5346# 5346
MTR 3449#
MTRAMN 3455#
MTRCTB 3458#
MTRENA 3454#
MTREPA 3453#
MTRLOD 3451#
MTRPIA 3460#
MTRTBF 3456#
MTRTBN 3457#
MTS 5345# 5345
MULDIV 1631 1915#
MULT 401 1023# 3950 3951
NAF 243# 367 2908 2940 2960 2999
NBP 204# 2461 5043 5206 5314
NDING 4033# 4376 4380
NINSRT 4008# 4026 4034 4358 4402 4407
NLINBF 3799 3831 3846 3871 5011# 5012 SEQ 0160
NM1 552 593#
NM1A 596 597 646 4982#
NM1A1 599# 603
NM1B 601 604#
NOMAT 4923 4930# 4939
NOMAT1 4934# 4948
NOSKIP 1740 1873 1936#
NPSYM 1359 1397#
NSAVTB 1220 1233 5149# 5150
NSYMCS 677 2762 2853 2871 5246# 5247
NUM 550# 3952 3953 3954 3955 3956
NUM1 587# 594
NWORD 3045# 3962 3963
NXMKA 200# 2162 2729 2731
NXMKI 201#
NXMKL 202#
NXT0 1976 1980#
NXT1 1981 1984#
NXT1A 1988 1994#
NXT2 1985 1998#
NXTIT 1945 1971#
OCON 1152# 3966 3967
ODF 191# 336 1313 2198 3185 3195 3200
ODFM 1320 5240#
OLDAR 1314 1316 3376 3377 5090#
OLDSYM 2863 2865 5249#
ONES4 3808 3896#
OPEVAL 408 409 4879#
OPTYPE 2890 3014 4883#
OSYM 1157# 3967 3968
OUTF 245# 4882 4883 4903 4919 4926
P 182# 323 327 333 340 349 358 385 415 451 457 464 465 466
469 470 478 486 492 498 502 515 516 520 539 543 545 546
675 685 710 714 716 717 743 757 759 762 782 785 787 792
795 802 811 816 820 826 837 844 861 862 865 880 890 893
907 910 914 917 925 928 939 940 941 947 951 966 968 971
981 988 996 999 1002 1007 1009 1019 1032 1033 1034 1035 1071 1072
1073 1074 1087 1088 1093 1103 1105 1107 1121 1133 1134 1138 1139 1163
1166 1171 1172 1175 1176 1178 1181 1194 1197 1199 1201 1205 1207 1212
1222 1223 1224 1235 1238 1250 1253 1257 1270 1284 1331 1356 1362 1374
1377 1384 1385 1387 1389 1390 1404 1410 1411 1416 1417 1422 1423 1430
1431 1433 1435 1466 1467 1474 1481 1482 1543 1558 1679 1709 1760 1761
1782 1818 1923 1937 1947 1951 1953 1955 1956 1960 1962 1964 1965 1967
1980 1992 1993 1995 1997 2017 2023 2028 2039 2040 2041 2042 2044 2048
2050 2051 2052 2132 2184 2203 2265 2266 2280 2284 2287 2292 2295 2298
2309 2310 2312 2315 2338 2350 2376 2400 2417 2421 2426 2433 2438 2453
2455 2491 2504 2514 2531 2535 2546 2549 2555 2558 2560 2575 2576 2594
2610 2613 2631 2632 2633 2636 2640 2646 2654 2659 2669 2675 2676 2677
2684 2687 2692 2693 2694 2728 2733 2747 2759 2773 2820 2825 2827 2846
2847 2848 2856 2862 2872 2890 2895 2898 2905 2910 2916 2918 2920 2924
2939 2944 2946 2950 2961 2963 2972 2975 2990 2993 2995 3014 3015 3019
3025 3056 3057 3058 3072 3085 3089 3093 3094 3095 3105 3113 3134 3138
3172 3191 3193 3201 3203 3204 3211 3212 3222 3224 3225 3241 3253 3270 SEQ 0161
3271 3277 3280 3290 3291 3292 3293 3294 3295 3300 3302 3304 3335 3337
3341 3342 3351 3353 3359 3369 3370 3395 3402 3404 3408 3412 3413 3474
3499 3500 3506 3510 3517 3520 3522 3523 3525 3527 3535 3548 3554 3556
3558 3563 3577 3578 3581 3601 3613 3621 3624 3628 3636 3652 3654 3661
3662 3664 3665 3666 3680 3684 3701 3707 3712 3714 3719 3738 3745 3749
3758 3760 3766 3777 3790 3810 3811 3813 3817 3818 3822 3857 3858 3860
3862 3863 3870 3888 3889 3906 3907 3912 3913 3914 3976 3977 3978 3979
3980 3981 3989 3993 3996 4009 4052 4053 4054 4055 4056 4057 4178 4181
4185 4187 4206 4209 4211 4219 4220 4221 4223 4224 4225 4226 4227 4235
4238 4264 4266 4278 4287 4288 4289 4291 4303 4304 4318 4320 4323 4336
4340 4345 4351 4353 4354 4355 4357 4365 4369 4375 4384 4390 4401 4406
4413 4414 4423 4427 4429 4447 4881 4927 4930 4931 4932 4933 4938 4940
4944 4946 4947 4949 4950 4951 4952 4955 4966
PA%EX 2611
PAD 1093 2287 2916 2946 2950 2961 2968#
PAD1 2997#
PADS1A 2995# 3004
PADS3 2973 2985 2988 2998#
PADS3A 2939 2999#
PADS3B 3002# 3008
PADSO 1305 2971# 3401 5239
PAG 5326# 5326
PC%USR 2683
PCHSYM 1360 1394# 1397
PDL 340 464 469 2132 2350 5261#
PERC 564# 3948 3949
PERIOD 630# 3951 3952
PFULI1 2893 2896 2897 2900#
PI 2083 2084 2122 2124 2226 2227 5325# 5325
PI0ENB 3442#
PI3A 2917 2919# 3022 3026
PI4 2912 2921# 3018
PI7 2940# 2951
PI8 2935 2938 2950#
PIENB 3443#
PILOC 651# 3960 3961
PIN 1098 1158 1297 1298 2049 2882# 3404 5238
PIN2 2904 2908#
PINST 1760 1995 2048#
PLT 5338# 5338
PLUS 612 1027 1029# 3950 3951
PM%CPY 2548
PM%RD 2612
PM%WT 2548
PNAME 252# 523 681 695 813 883 2781
PNAMEF 238# 689 697 722 2775 2783 2789
PNTR 4899 4902 4905 4932 4935 4936 4943 4950 5097#
POPLC1 1232 1235#
POPLLC 1228# 1238
POW2 624# 628
POWER 405 610#
POWF 239# 614 615
PRGM 753 771 773 784 805 5117# SEQ 0162
PRNC 339 452 482 1036 1069 5104#
PROC0 1538 1553 1743 1767 1773 1786 1803 1810 1826 1832 1871 1929 1930 1931
1971 1986 1994 2289 2311 5081#
PROC1 2252 2255 2318#
PROC2 2316 2323#
PROCD1 1737 2301 2310#
PROCED 2303# 3962 3963
PSHLLC 981 1166 1178 1219# 2284 3093
PSVBTS 337 1321 1322 5093#
PSYM 1329# 3967 3968
PTCH 1337 1352#
PTCH1 1360# 1363
PTCH2 1366 1368#
PTCH3 1381 1385#
PTCH4 1358 1367#
PTCHE 1343 1401#
PTCHE1 1406 1412#
PTF 228# 1023 1024 1029 1063 1075 1352
PTLLC 1373 1379 1380 1388 1405 1414 1420 1427 5035#
PTLOC 1370 1371 1382 1386 1401 1425 1428 1434 5034#
PTP 5331# 5331
PTR 5332# 5332
PTWRD 1376 1383 1409 5036#
PUN 4071# 4143 4145 4146 4147 4150 4152 4156 4158 4159 4160 4161 4162 4163
4166 4170 4171
PUNCH 3931# 3942 3943
PURGT1 3893
Q2F 247# 365 590 957 1303 2445 2456 3379
QF 234# 441 577 636 659 1041 1061 1066 1079 1082 1152 1157 1164 1240
1346 1355 1453 1461 1549 1736 2305 2443 2503 3028 3047 3055 3120
QLIST 504 520#
QLIST1 521#
QLIST2 522# 534
QLIST3 527# 538 548
QLIST4 528 534#
QLIST6 524 537#
QLIST7 542 546#
QLPNT 521 526 537 540 547 5153#
QQ 4140# 4142 4142# 4143 4143# 4144 4144# 4145 4145# 4146# 4146 4147 4147# 4148
4148# 4149 4149# 4150 4150# 4151 4151# 4152# 4152 4153 4153# 4154 4154# 4155
4155# 4156 4156# 4157 4157# 4158# 4158 4159 4159# 4160# 4160 4161# 4161 4162#
4162 4163# 4163 4164# 4164 4165# 4165 4166# 4166 4167 4167# 4168# 4168 4169#
4169 4170# 4170 4171# 4171
QUAN 655# 3963 3964
QUAN1 653 658# 963 980 984
QUAN2 659# 970
QUANIN 652# 3034
QUANSW 657#
QUEST1 506# 518
QUEST2 510# 512
QUEST4 514 517#
QUESTN 502# 3957 3958
QW 4139# 4142 4142# 4143 4143# 4144 4144# 4145 4145# 4146# 4146 4147 4147# 4148 SEQ 0163
4148# 4149 4149# 4150 4150# 4151 4152# 4152 4153 4153# 4154 4154# 4155 4155#
4156 4156# 4157 4157# 4158# 4158 4159 4159# 4160# 4160 4161# 4161 4162# 4162
4163# 4163 4164# 4164 4165# 4165 4166# 4166 4167 4167# 4168# 4168 4169# 4169
4170# 4170 4171# 4171 4172
R 183# 348 356 396 399 400 443 474 475 488 489 497 505 506
507 513 517 522 526 527 528 530 531 533 598 600 605 606
607 678 680 692 694 701 702 704 705 707 709 713 715 718
727 729 741 758 761 763 769 770 771 772 773 774 775 777
786 788 790 794 797 800 809 812 814 815 822 830 832 846
864 866 882 886 888 894 900 901 904 905 908 911 916 918
920 923 925 926 930 933 940 943 946 952 978 979 982 983
998 1044 1048 1049 1052 1053 1106 1198 1201 1202 1203 1206 1242 1249
1250 1251 1253 1254 1260 1266 1268 1269 1275 1279 1290 1293 1295 1296
1297 1298 1299 1300 1305 1306 1307 1364 1365 1367 1371 1372 1373 1382
1407 1408 1412 1413 1418 1419 1425 1426 1427 1432 1553 1554 1557 1676
1712 1713 1714 1718 1762 1781 1817 2308 2335 2336 2360 2399 2416 2432
2452 2467 2470 2471 2472 2474 2476 2477 2480 2481 2482 2484 2485 2487
2501 2522 2524 2527 2536 2543 2544 2551 2578 2601 2602 2603 2607 2608
2614 2628 2634 2639 2648 2676 2692 2699 2710 2730 2762 2763 2772 2778
2780 2785 2793 2798 2803 2804 2805 2807 2808 2810 2835 2839 2842 2863
2865 2941 2942 2945 3009 3010 3012 3013 3044 3045 3046 3070 3071 3073
3078 3079 3080 3088 3103 3104 3109 3129 3131 3132 3144 3151 3152 3156
3157 3158 3159 3161 3163 3164 3166 3170 3174 3175 3176 3177 3237 3238
3239 3375 3388 3920 3921 3922 4889 4894 4895 4905 4930 4934 4935 4936
4937 4942 4943 4952 4958 4961 5081
R50PNT 1295 3339#
RD%BBG 4995
RD%BFE 3820
RD%BLR 3820
RD%BRK 4995
RD%JFN 4995
RD%PUN 4995
RD%RND 4995
RD%SUI 4995
RD%TOP 4995
RDBIN 4009 4176# 4320 4340
RDBIN1 4188 4205 4210#
RDBKIN 3888 4275# 4318 4323 4336
RDBOUT 4219# 4238 4353 4355 4357 4401 4423 4429
RDCBP 3989 3993 3996 4235 4246#
RDCR 4123 4317#
RDCR1 4322 4327#
RDCR2 4330#
RDCRC 4077# 4149
RDEACC 285#
RDERA 280#
RDMACC 284#
RDPERF 282#
RDQT 4123 4335#
RDQTC 4078# 4154
RDSL 4236# 4239
RDSOUT 4234# 4369 4413
RDTIME 283# SEQ 0164
RDTOPM 3992 3995#
RDTXT1 3988#
RELA 1303# 3963 3964
REMOV1 2431# 2437
REMOVB 323 1474 2265 2376 2430#
REMUN 844 859# 941 1257
RESTOR 1469 2201# 2368 2386 2404
RESTR2 2209 2215#
RESTR3 2220 2228#
RET 469# 806 827 838 920 1150 1323 1332 2300 2450 3038
ROF 231# 334 364 366 467 480 994 1104 1114 1239 1353 2502
RPRN 449 1066# 3949 3950
RPRN1 1077 1081#
RTYP 4074# 4152
RTYP1 4418 4426# 4430
RTYP4 4421 4425#
RTYPE 4121 4406#
RTYPES 4406 4411#
RTYW1 4420# 4424
RUBO 4073# 4171
S 184# 476 477 534 677 678 684 691 708 747 750 752 832 833
859 860 863 867 868 904 906 909 911 931 932 934 935 937
938 949 952 1266 1275 1276 1314 1315 1317 1320 1321 1322 2296 2299
2415 2416 2419 2420 2423 2424 2430 2431 2432 2435 2436 2486 2487 2488
2490 2811 3139 3141 3163 5080
SAF 224# 366 1344 3054
SAFE 4072# 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4396
SAFETY 1562 1566 5029#
SARS 2104 2115 2120 2125 2181 2196 2217 5242#
SAV0 2059 2069 5021#
SAV11 2119 2125#
SAV12 2158 2160 2166 2184#
SAV2 2176 2183#
SAV20 2148 2173#
SAV3 2121 2124#
SAV5 2126 2132#
SAVAPR 2165 2222 5167#
SAVCHR 4176 4177 4277 5007#
SAVE 322 1473 2116 2130 2199 2202 2206 2229 2264 2319 2377 5040#
SAVEG 2079# 5041
SAVEG1 2082 2085#
SAVEG2 2100 2106#
SAVHSM 531 705 745 777 835 2808 5114#
SAVLP 1219 1221 1228 1231 1234 5148#
SAVLTB 1223 1229 5150#
SAVPDL 4881 4938 4944 4955 5101#
SAVPI 651 1768 1771 1811 1814 1827 1830 2018 2061 2063 2102 2122 2123 2124
2131 2204 2210 2213 2227 2282 2322 2382 2385 2396 2398 2407 2410 5168#
5318
SAVSTS 2182# 2182 3774 5193#
SAVTT2 3726 3770 5190#
SAVTT3 3727 3771 5191#
SAVTTY 3589 3591 3597 3599 3610 3612 3720 3724 3768 3776 5174# SEQ 0165
SBDIAG 281#
SCH 189# 335 1095 1096 1098 1153 1158 1300 1317 1326 1947 1949 1956 1958
1965 2048 2049 2051 2197 2878 3388
SCHM 335 1095 1317 2197 5238#
SEAR1 3058# 3075
SEAR2 3046 3069 4984#
SEAR2A 3070# 3081 3098
SEAR2B 3060 3078#
SEAR2G 3069# 3118
SEAR3 3085# 4984
SEAR4 3098# 3114
SEARFN 3074 3082# 3087
SEGNAM 760 763 804 5115#
SEMIC 1325# 3955 3956
SET 1589 1591 1906#
SETEA 1624 1636 1642 1644 1652 1692 1841 1845 1877 1920#
SETI 1609 1611 1613 1616 1632 1635 1637 1651 1921#
SETN2 788 805#
SETNAM 784# 876
SETPAG 1436# 3964 3965
SETSB1 809# 815
SETSUB 787 795 814#
SETUP 3056 3120# 3138
SF 232# 373 421 565 566 577 631 636 659 1076 1079
SFLOT 1297# 3959 3960
SIXBP 1293 3346#
SIXBP1 3348# 3352
SKP 1854 1877# 1905
SKPCT 1468 1471 1472 1476 5155#
SLAS1 1165 1168# 1173
SLAS2 1148 1155 1162#
SLASH 1147# 3951 3952
SLASH2 1163#
SPAC1 1055 1059 1062#
SPACE 406 434 1061# 3946 3947
SPSAV 3218 3237 4967 5143#
SPT 515 3219# 3344
SPT0 2825 2847 2990 3218#
SPT1 539 3221# 3224
SPT2 3223 3225#
STADD 258# 496
STF 223# 364 366 1101 1115 1161 1162 1549 3091
STLH 259# 933
STNEG 260# 495 930
SUPTYO 1161# 3947 3948
SVBT2 3392 3405 5092#
SVBT3 3394 3400 3409 5091#
SVBTS 337 338 1321 3382 3397 5088#
SVBTS2 3387 3391 5089#
SWAP 1561 1567 1924 1936 2060 2062 2070 5084#
SWAPG 2058# 5085
SWAPL 2065# 2068
SWPIA 287# SEQ 0166
SWPIO 290#
SWPUA 289#
SWPUO 292#
SWPVA 288#
SWPVO 291#
SYL 374 403 553 556 572 573 607 633 658 967 976 1078 5107#
SYM 375 490 525 581 582 682 699 810 913 921 961 1361 5121#
SYMBOL 1298# 3963 3964
SYMCSH 678 2763 2855 2869 2871 5247#
SYMCSI 714 2820 2846 2852#
SYMCSP 2852 2854 5248#
SYMD 3236# 3958 3959
SYMORD 410 413 5151#
SYMP 353 533 707 747 767 775 786 886 901 2152 2810 3139 3140 5124#
SYMPNT 690 709 724 729 2769 2774 2796 2803 2812 2821 2830 2992 5142#
SYMS2 765 769#
SYMS4 754 764 775#
SYMS5 768 776#
SYMSET 520 685 740# 2773 2862
T 186# 335 336 337 338 351 352 353 359 360 361 362 363 370
371 376 377 378 379 386 387 389 392 393 396 397 403 408
409 410 413 414 415 420 426 428 430 433 437 439 440 442
484 490 491 493 495 496 499 507 511 522 523 525 540 541
544 550 555 559 561 563 564 567 576 582 583 584 587 588
589 604 608 623 626 630 632 633 637 638 639 640 642 644
645 647 651 656 657 658 680 681 682 694 695 696 699 715
718 719 721 724 726 727 744 745 749 750 753 756 757 760
761 762 767 769 770 772 794 803 804 809 810 813 822 823
825 860 863 882 883 892 894 906 909 912 913 915 921 922
923 935 937 938 949 950 958 959 961 964 965 967 969 976
977 987 996 997 1002 1010 1011 1013 1014 1015 1017 1018 1044 1049
1053 1054 1057 1058 1067 1068 1078 1081 1089 1091 1092 1094 1097 1099
1102 1122 1135 1142 1167 1168 1177 1179 1180 1195 1197 1198 1202 1203
1204 1206 1248 1254 1255 1256 1263 1274 1278 1291 1292 1294 1310 1311
1313 1325 1338 1345 1360 1361 1365 1368 1370 1376 1383 1386 1409 1414
1415 1420 1421 1424 1426 1428 1429 1432 1447 1449 1452 1457 1458 1462
1463 1465 1469 1536 1537 1538 1539 1551 1552 1560 1562 1563 1564 1565
1566 1570 1571 1572 1573 1574 1575 1678 1682 1711 1712 1714 1715 1716
1717 1718 1733 1740 1741 1742 1743 1744 1745 1746 1759 1767 1768 1769
1770 1771 1772 1773 1774 1775 1785 1786 1787 1791 1792 1793 1803 1804
1805 1810 1811 1821 1822 1826 1827 1828 1829 1830 1831 1832 1863 1864
1870 1871 1872 1941 1942 1971 1972 1977 1978 1986 1987 1989 1994 2007
2008 2012 2018 2024 2026 2037 2039 2041 2097 2101 2102 2103 2106 2107
2108 2109 2130 2131 2139 2140 2141 2142 2143 2144 2151 2152 2155 2156
2161 2162 2163 2164 2165 2177 2180 2182 2197 2198 2202 2204 2205 2206
2210 2211 2212 2213 2233 2234 2235 2236 2237 2238 2239 2240 2247 2248
2249 2250 2251 2253 2254 2257 2258 2259 2267 2268 2269 2270 2271 2279
2281 2282 2283 2285 2286 2288 2289 2290 2291 2293 2294 2306 2307 2314
2318 2321 2322 2331 2332 2333 2340 2341 2342 2346 2347 2349 2351 2354
2356 2358 2361 2363 2364 2365 2368 2382 2383 2384 2385 2386 2390 2391
2392 2395 2396 2402 2403 2409 2410 2419 2420 2431 2447 2449 2452 2459
2460 2461 2463 2464 2467 2470 2473 2480 2500 2524 2527 2536 2544 2551
2577 2578 2602 2603 2608 2614 2632 2635 2636 2658 2663 2664 2665 2666 SEQ 0167
2667 2668 2746 2758 2761 2764 2777 2785 2791 2794 2822 2823 2826 2832
2836 2874 2882 2883 2885 2886 2888 2894 2901 2902 2911 2912 2922 2925
2943 2945 2947 2958 2959 2964 2968 2971 2982 2989 2991 2994 2996 2998
3000 3002 3003 3006 3007 3009 3012 3013 3016 3017 3018 3023 3024 3031
3037 3043 3045 3049 3050 3051 3052 3053 3067 3068 3092 3102 3103 3107
3108 3109 3116 3117 3122 3128 3143 3187 3189 3190 3198 3200 3202 3204
3205 3208 3209 3210 3213 3220 3221 3223 3225 3226 3227 3228 3229 3230
3231 3232 3233 3239 3240 3242 3247 3252 3275 3276 3304 3305 3330 3333
3334 3339 3340 3348 3349 3350 3355 3360 3364 3372 3381 3382 3383 3384
3385 3386 3387 3391 3392 3393 3394 3396 3397 3398 3399 3400 3407 3409
3476 3477 3478 3479 3486 3487 3489 3490 3492 3493 3494 3495 3498 3506
3507 3508 3509 3510 3511 3512 3515 3516 3521 3524 3538 3549 3550 3557
3559 3560 3562 3565 3610 3611 3618 3619 3620 3623 3636 3637 3638 3640
3641 3643 3645 3651 3653 3655 3658 3660 3662 3663 3665 3679 3681 3683
3702 3703 3706 3709 3713 3789 3979 4014 4016 4018 4054 4181 4186 4187
4219 4222 4226 4347 4348 4386 4387 4392 4393 4416 4417 4419 4420 4422
4425 4426 4428 4879 4880 4884 4885 4886 4887 4891 4892 4893 4896 4897
4898 4899 4900 4901 4902 4908 4909 4910 4911 4912 4913 4922 4946 4947
4956 4957 4958 4959 4960 4961 4965 4983 4984 4985 5048 5051 5054 5057
5060 5063 5066 5069
T1 209# 2178 2682 2683 2684 2687 2688 3681 3683 3709 3710 3713 3722 3728
3736 3767 3797 3799 3800 3801 3802 3803 3806 3808 3809 3814 3819 3820
3822 3823 3824 3831 3832 3833 3834 3835 3836 3840 3844 3846 3847 3848
3849 3850 3853 3855 3856 3859 3863 3871 3872 3873 3874 3875 3876 3878
3879 3890 3903 3904 3905 3908 3909
T2 210# 2675 2677 2678 2679 2681 2690 2691 2693 3724 3726 3730 3731 3733
3768 3770 3906 3908 3913
T3 211# 3727 3734 3771 3907 3910 3912
TAB 1175# 3939 3940
TAG 871# 3955 3956
TAPIN 3930# 3965 3966
TBL 4734# 4874 4875 4876 4877
TELL 1834 1939#
TEM 377 578 965 978 998 1001 1465 1470 2086 2096 2097 2109 2758 2761
2777 2986 2989 2996 2998 3002 3023 3097 3101 3112 5243#
TEM1 2324 2337 3268 3273 3299 5244#
TEM2 5109#
TEM3 5111#
TESTS 1593 1887#
TEXI 957# 3947 3948
TEXI2 976# 989 995
TEXI3 986 993#
TEXI4 972# 1003
TEXIN 968 1007 3782#
TEXIN0 966 988 1007#
TEXIN1 971 1008#
TEXINF 3497 3782 3783 3812 4989#
TEXO 1290# 3964 3965
TEXT 457 465 1212 2920 3294 3331#
TEXT2 327 1481 1992 2280 2963 3193 3333# 3336
TEXTIB 3803 3814 3819 3853 3855 3856 3859 4993#
TEXTT 1181 1290 3330#
TFLOT 1296 1297 1949 1958 3247# SEQ 0168
TFLOT1 3248 3256#
TIF 219# 438 1062 1352
TIM 3464#
TIMCIC 3466#
TIMDON 3469#
TIMICO 3470#
TIMITO 3468#
TIN 385 1139 3783#
TIN1 3787# 3825 3880
TMC 5353# 5353
TMS 5354# 5354
TO11DB 3440# 3619
TOC 1305 1306 2918 2997 3001 3025 3185# 3341 3378 3403
TOC0 3191 3198# 3203
TOC4 3197 3208#
TOC5 3209 3212# 3257
TOC6 3213# 3271
TOCA 3188 3195# 3402
TOCS 3189 3194 4985#
TOP 4067# 4144 4148
TOPS20 2087 2095 2099 2147 2512 2592 2621 2661 3677 3704 3718 3746 3765 3795
4202 5253#
TOUT 486 545 1103 2827 2924 2944 2948 2993 2995 3206 3211 3214 3234 3253
3306 3335 3351 3356 3361 3367 3373 3408 3634# 4223 4966
TOUT0 3652 3654 3661 3664 3671#
TRCDMP 2083 5199#
TRCON 2081 2225 2226 5198#
TRPENB 213#
TSPC 543 2910 3015 3342 3369 3370 3372#
TT 192# 1219 1220 1221 1223 1228 1229 1230 1231 1232 1233 1234 1475 1476
1478 2303 2304 2547 2548 2611 2612 2623 2628 2634 2635 2637 2638 2639
2691 2699 2700 2702 2703 2705 2710 2711 2713 2715 2730
TT%DAM 3730
TT%ECO 3731
TT%OSP 3754
TT%WAK 3730
TT%WKF 3731
TT%WKN 3731
TT%WKP 3731
TT1 193# 1280 1281 1284 2515 2516 2518 2520 2533 2534 2537 2538 2595 2596
2598 2599 2629 2641 2644 2648 2649 2650 2651 2652 2653 2726 2727 2732
2869 2870 2871
TT2 194# 3528 3529 3531 3533 3534 3577 3580 3581 3627
TTY 3513 3515 3547 3549 3591 3592 3594 3596 3598 3600 3607 3609 3611 5335#
5335
TTY1 3590 3600#
TTYCC2 3733 3740# 3903 3905
TTYCC3 3734 3741# 3910
TTYCLR 466 2000 2266 3743#
TTYLEV 1923 2203 3763#
TTYR1 3721 3728#
TTYRET 1937 2184 3716#
TTYTOF 3813 3903# SEQ 0169
TTYTON 3817 3905#
TXT 378 4886 5100#
TXTI 3860 3975#
ULIM 1342# 3956 3957
ULIM1 1340 1346#
ULIMIT 1345 3053 3073 3128 3132 3170 5145#
UND1 414 474#
UNDEF 463# 475 481 483 793 797 831
USRFLG 164 165 2108 5251#
USRUUO 1596 1668 1676#
USYMP 348 350 351 362 445 505 508 830 846 859 868 902 905 908
918 1242 1243 2156 5125#
UTC 5342# 5342
UTS 5343# 5343
VARLOC 5276
VARRW 1133# 3938 3939 3967 3968
W 185# 400 401 402 406 417 422 431 432 434 435 447 449 450
453 479 485 553 554 555 556 557 558 559 560 580 581 612
613 616 799 805 814 877 878 972 975 977 997 1039 1040 1251
1252 1268 1274 1278 1359 1360 1363 1364 2323 2324 2397 2398 2406 2407
2408 2472 2473 2793 2794 2795 2798 2799 2800 2816 2817 2839 2840 2841
2913 2914 2915 2926 2933 2934 2937 3032 3033 3100 3101 3102 3108 3110
W1 187# 326 444 445 456 460 463 508 510 511 513 572 573 574
595 600 603 604 605 620 622 626 628 641 643 644 713 972
974 985 987 993 1050 1051 1052 1211 1243 1480 1568 1569 1707 1711
1716 1719 1729 1730 1732 1753 1781 1805 1813 1814 1828 1877 1894 1895
1972 1973 1974 1977 1978 1987 1989 1990 1991 2272 2278 2279 2348 2364
2381 2392 2408 2763 2764 2766 2769 2770 2817 2819 2821 2822 2823 2832
2840 2842 2845 2855 2919 2921 2923 2936 2962 2974 3140 3141 3142 3164
3166 3185 3186 3192 3195 3196 3199 3201 3218 3220 3222 3274 3275 3278
3293 3330 3331 3332 3336 3343 3347 3980 3982 3998 4008 4026 4040 4044
4051 4053 4268 4289 4293 4302 4303 4317 4329 4335 4339 4379 4399 4889
4913 4914 4916 4921 4922 4928 4929
W2 188# 599 601 602 618 624 625 627 2766 2767 2780 2781 2782 2786
2788 2796 2799 2812 2816 2835 2836 2837 2844 2852 2853 2854 2855 2974
2984 2986 2987 3283 3284 3288 3290 3346 3352 3593 3595 3596 3597 3598
3599 3981 3983 3984 3995 3997 4033 4052 4263 4286 4294 4360 4415 4417
4420 4425 4890 4891 4911 4915 4916 4931 4951 4982
WAKALL 341 667 3807 3854 4023 4311 4991#
WORD 3044# 3965 3966
WRAP 4024 4039# 4118 4120 4325 4331 4341 4366
WRAP0 3998 4027 4035 4044# 4313 4319 4337 4346 4385
WRAP1 4044 4051#
WRD 368 407 437 439 440 1033 1040 1050 1054 1057 1058 1073 1081 3049
3067 3116 5102#
WRD2 381 587 589 958 1291 1310 2459 3381 3384 5103#
WRFIL 279#
WRONG 456# 3833 3873
WRONG1 461 464#
WRONG2 458 467#
WRPAE 286#
XCHIN1 3794 3796 3844#
XCHIN2 3845 3850# 3891 SEQ 0170
XCTS 1552 1755 5022#
XEC 1454 1461# 3965 3966
XEC0 1450 1465# 3566
XEC1 1471# 1554 5081
XJBSYM 127#
XJBUSY 128#
XLIST1 3540 3550# 3564
XLISTE 3474 3538# 3688
XNXTCH 3494 3538 3539 5254#
XTEM 1536 1540 1542 1547 1556 1975 1982 1996 1998 5025#
XTIN 3474# 3476 4185
XTIN1 3488 3491 3500#
XTOUT 3504# 3673
XTTYLE 3605# 3764
XTTYRE 3587# 3717
XX 4082# 4088 4089 4089# 4091 4092 4092# 4094 4095 4095# 4097 4098 4098# 4100
4101 4101# 4103 4104 4104# 4106 4107 4107# 4109 4110 4110# 4112 4113 4113#
XZLOW 129# 3151 3152
ZER 4069# 4142
ZERO 3136# 3966 3967
ZERO1 3144# 3175 3177
ZERO3 3153 3158#
ZEROR 3145 3170#
ZLOW 141# 3156 3157
ZNULL 4119 4311#
ZZ 5313# 5314 5314#
$1B 5314# 5314
$2B 5314# 5314
$3B 5314# 5314
$4B 5314# 5314
$5B 5314# 5314
$6B 5314# 5314
$7B 5314# 5314
$8B 5314# 5314
$DTEXX 3522 3527# 3556
$EDITN 79# 81
$I 5318# 5318
$M 5317# 5317
$VERSN 80# 81
$X 1464 1536#
$X00 1537 1543#
$X01 1547# 1999
$X02 1558# 1763
$XO3 1560# 1683
$XQUIT 1979 1982#
$XTBL 1573 1575 1589#
%DDTVR 81# 119
..TX1 3820# 3820 3821
..TX2 3820# 3820 3821
.DTMMC 3436#
.DTMTO 3435#
.DTNMC 3437#
.FHSLF 2178 2688 3736 3773 SEQ 0171
.GTUPM 160# 2663
.JBDA 121# 1368
.JBDDT 143 144# 152
.JBFF 121# 1364
.JBHNM 121# 758 800
.JBHRL 121# 2630 2638
.JBHSM 121# 356 741 790 888
.JBREL 121# 2623
.JBSA 121# 1457
.JBSYM 121# 2151 5124
.JBUSY 121# 2155 5125
.JBVER 143 145#
.PRIIN 3710 3722 3728 3756 3767 3909 4996
.PRIOU 3752 4996
.PSECT 3820 3821
.RDBKL 3803
.RDFLG 3819
BYT9 4679#
CALL 116# 1597 SEQ 0172
CC1 4131# 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154
4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168
4169 4170 4171
CCN 4127# 4143 4145 4150 4152 4156 4157 4158 4159 4161 4162 4163 4166 4167
4170
CFIBF 3757
D 3924# 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948
3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962
3963 3964 3965 3966 3967
DBPNT 5311# 5314
DDTINT 5304# 5314 5317 5318
DIR 3737
EIR 3775
GETTAB 2092 2664
HALTF 1449
INCHRW 4204
JSYS 117
MRPAC 117# 2685
OD 274# 278 279 280 281 282 283 284 285 286 287 288 289 290
291 292
OUTP 4724#
PAGE. 159# 2651
PBIN 4207
PBOUT 3682
PRSIZE 5281# 5286
RFCOC 3725
RFMOD 3723 3729 3753
RPACS 2689
SETUWP 2534 2538
SFCOC 3735 3772 3911
SFMOD 3732 3755 3769
SIBE 3711
SKPEXC 165# 357 742 791 801 889 1659 1664 1670 1726 2118 2157 2208 2219
3366 3649
SKPIR 2179
SKPKA 166# 1666 2159
SKPKI 167# 2708
SKPKL 168#
SKPNKL 169# 2698 3504 3545 3587 3605
SKPUSR 164# 1444 2175 2329 2530 2625 2645 2657 2673 2737 3148 3672 3687 3716
3744 3763 3793 4180
TEXTI 3815
TTCALL 1600 3669# 3679 3706 3748 3750
TXNE 3820
XP 5300# 5314 5317 5318 5325 5326 5327 5328 5329 5330 5331 5332 5333 5334
5335 5336 5337 5338 5339 5340 5341 5342 5343 5344 5345 5346 5347 5348
5349 5350 5351 5352 5353 5354 5359 5360 5361
..N 108# 112
..TX 3820
.ADR 4708#
.DIS 4716#
.END 4720#
.TRA 4710# SEQ 0173
.TRAX 4712#
.TXT 4718#