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