Trailing-Edge
-
PDP-10 Archives
-
bb-m403a-bk
-
ddt11.lst
There are no other files named ddt11.lst in the archive.
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 1
DDT11 MAC 18-May-81 17:27 DMCC et al
1 TITLE DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT
2 SUBTTL DMCC et al
3
4 ;THIS VERSION OF DDT11 WILL
5 ; RUN ON A KS10 STANDALONE AND CONTROL ALL I/O
6 ; RUN UNDER TOPS-10, TALKING TO DN8x, DN6x, DC7x, DN9x, and RSX20F
7 ; AND READING DUMPS FROM RSX20F, DTELDR, NETLDR, AND BOOT11
8 ; READING THE OUTPUT OF MACDLX, PAL10, AND RSXFMT (RSX20F.MAP)
9 ; RUN UNDER TOPS-20, TALKING TO RSX20F
10 ; AND READING DUMPS FROM RSX20F, DN6x
11 ; READING THE OUTPUT FROM MACDLX, AND RSXFMT (RSX20F.MAP)
12
13 SEARCH JOBDAT,MACTEN,UUOSYM
14
15 SALL ;GET NICE LISTINGS FOR A CHANGE
16 .HWFRMT ;AND SKIP THE FANCY BITS
17 .DIRECTIVE LITLST,FLBLST
18
19 ;DDT11 VERSION NUMBER
20
21 000000 VWHO== 0
22 000005 VDDT11==5
23 000000 VMINOR==0
24 000053 VEDIT== 53
25
26 000500 000053 %%DDT11==:<BYTE (3)VWHO(9)VDDT11(6)VMINOR(18)VEDIT>
27
28 000137 LOC .JBVER
29 000137 000500 000053 %%DDT11
30 000000' RELOC 0
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 2
DDT11 MAC 18-May-81 17:27 DMCC et al
31 000140 EXMAX== 140 ;MAXIMUM NUMBER OF BYTES TO EXAMINE AT ONCE
32
33 IFNDEF MASKSZ,<MASKSZ==10> ;NUMBER OF WORDS IN MASK
34 IFNDEF CMDSIZ,<CMDSIZ==300> ;LARGEST COMMAND
35 IFNDEF NUMBUF,<NUMBUF==1> ;NUMBER OF BUFFERS FOR READING DUMPS, ETC.
36 ; SETTING LARGER THAN 1 MAY CAUSE %GOTO TO FAIL
37
38 SEARCH MONSYM,MACSYM
39
40 001000 IO.RLB==1000
41 000400 IO.WLB==400
42
43 ;TTYBIT FLAGS
44 200000 000000 TF.RUB==1B1 ;DO RUBOUTS WITH BACKSPACE-SPACE-BACKSPACE
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 3
DDT11 MAC 18-May-81 17:27 DMCC et al
45 ;REGISTER USAGE
46
47 000001 AC1= 1
48 000002 AC2= AC1+1
49 000003 AC3= AC2+1
50 000004 AC4= AC3+1
51 000005 SYM= 5 ;POINTER TO SYMBOL BLOCK
52 000006 STATE= 6
53 000007 DOT= 7 ;CURRENT LOCATION
54 ; IF LH IS NONZERO IS A REGISTER ADR
55 000010 FLG= 10
56 000011 T1= 11
57 000012 T2= T1+1
58 000013 T3= T2+1
59 000014 T4= T3+1
60 000015 T5= T4+1
61 000017 P= 17
62 .XCREF AC1,AC2,AC3,AC4,SYM,STATE,DOT,FLG,T1,T2,T3,T4,T5,P
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 4
DDT11 MAC 18-May-81 17:27 DMCC et al
63 000001 F.FLIP==1B35 ;LOCAL FLAG
64 ; USED BY $V TO FLAG 1ST PASS
65 ; USED BY $N TO DISTINGUISH FROM $W
66 ; USED BY OPNFIL TO DEMAND PROMPT
67 ; USED BY $D TO REMEMBER DOING COMMAND LOGGING
68 ; USED WHEN READING BINARY FILE
69 000002 F.FLOP==1B34 ;LOCAL FLAG
70 ; SET IF USER SAYES /BINARY IN INITIAL COMMAND
71 ; SET IF READING A PACKED FILE
72 000004 F..FOO==1B33 ;LOCAL FLAG WHEN SET MEANS
73 ; DUMP IS DISASSEMBLY
74 ; READING A DTELDR DUMP
75 000010 F.LOPN==1B32 ;CURRENT LOCATION IS OPEN
76 000020 F.MOPN==1B31 ;MASK OPEN
77 000040 F.MASK==1B30 ;ESCAPE M TYPED
78 000100 F.TEXT==1B29 ;ASSEMBLING TEXT
79 000200 F.IOCT==1B28 ;ASSEMBLING AN OCTAL NUMBER
80 000400 F.IDEC==1B27 ;ASSEMBLING A DECIMAL NUMBER
81 001000 F.IHEX==1B26 ;ASSEMBLING A HEX NUMBER
82 002000 F.SYMB==1B25 ;ASSEMBLING A SYMBOL
83 004000 F.CACH==1B24 ;USE CACHE IF POSSIBLE
84 010000 F.WRIT==1B23 ;WE ARE OPENING FILE FOR OUTPUT
85 020000 F.APND==1B22 ;APPEND TO TO FILE IF ALREADY EXISTS
86 040000 F.LOCK==1B21 ;PROGRAM IS LOCKED
87 100000 F.WENB==1B20 ;PATCHING WAS ENABLED WITH /PATCH
88 200000 F..ESC==1B19 ;TYPED ESCAPE TWICE
89 400000 F.PACK==1B18 ;BINARY FILE IS PACKED
90 000001 000000 F.LBKT==1B17 ;LOCATION OPENED WITH A LEFT BRACKET
91 000002 000000 F.HASH==1B16 ;OPCODE PRECEEDED BY A # SIGN
92 000004 000000 F.PERC==1B15 ;OPCODE PRECEEDED BY A % SIGN
93 000010 000000 F.LPAR==1B14 ;OPCODE PRECEEDED BY A ( SIGN
94 000020 000000 F.SYML==1B13 ;SYM HAS BEEN LOADED . SET BY GETEXP
95 000040 000000 F.GEXP==1B12 ;GOT AN EXPRESSION . SET BY GETEXP
96 000100 000000 F.TOPN==1B11 ;DID OPEN ON TTY(TO CONTROL ECHO)
97 000200 000000 F.SVIO==1B10 ;HIT A STACK VIOLATION
98 000400 000000 F.SREG==1B9 ;SYMBOLIC TYPEIN WAS A REGISTER NAME
99 001000 000000 F..SIM==1B8 ;AM RUNNING SIMULATION
100 002000 000000 F.EXEC==1B7 ;RUNNING IN EXEC MODE
101 004000 000000 F.RUNF==1B6 ;RUN FLOP FOR SIMULATION
102 010000 000000 F.CERR==1B5 ;HIT AN ERROR IN COMMAND FILE
103 020000 000000 F.FELE==1B4 ;HAVE DONE FIRST ELEMENT OF EXPRESSION
104 040000 000000 F.HALT==1B3 ;JUST DID A HALT
105
106
107 ;FLAGS FOR TYPE OF OPERATING SYSTEM
108
109 400000 000000 T.OTHER==1B0 ;THIS IS OTHER
110
111 200000 000000 T.TOP10==1B1 ;THIS IS TOPS-10
112 100000 000000 T.ITS==1B2 ;THIS IS ITS
113 040000 000000 T.TENEX==1B3 ;THIS IS TENEX
114 020000 000000 T.TOP20==1B4 ;THIS IS TOPS-20
115 010000 000000 T.EXEC==1B5 ;THIS IS EXEC MODE
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 5
DDT11 MAC 18-May-81 17:27 DMCC et al
116 ;SOME MACROS ETC
117
118 260740 000000 OPDEF CALL [PUSHJ P,]
119 300000 000000 OPDEF NOP [CAI]
120 263740 000000 OPDEF RET [POPJ P,]
121
122 DEFINE TYPE (X) <
123 MOVEI T1,[ASCIZ \X\]
124 CALL TYPSTR
125 >;DEFINE TYPE
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 6
DDT11 MAC 18-May-81 17:27 DMCC et al
126 ;DEFINE THE TYPES OF EXAMINES WE CAN DO
127
128 000000 EX.MEM== 0 ;MEMORY
129 000001 EX.PORT== 1 ;CALL11 UUO
130 000002 EX.NODE== 2 ;NODE UUO
131 000003 EX.FE0== 3 ;RSX20F EXAMINE
132 000004 EX.D61== 4 ;DN60 ON TOPS-10
133 000005 EX.D62== 5 ;DN60 ON TOPS-20
134 000006 EX.MCB== 6 ;DN20 DECNET 20 EXAMINE
135 000007 EX.FE1== 7 ;RSX20F/TOPS-10
136 000040 FE.MAX==40 ;Max data bytes 20F allows for ME msg
137
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 7
DDT11 MAC 18-May-81 17:27 DMCC et al
138
139 700000 000000 OPDEF APRID [700000,,0] ;READ MICROCODE VERSION AND CPU SERIAL NU
140 700200 000000 OPDEF WRAPR [700200,,0] ;WRITE APR
141 ;1B19 ;IO RESET
142 ;1B20 ;ENABLE SELECTED CONDITIONS
143 ;1B21 ;DISABLE SELECTED CONDITIONS
144 ;1B22 ;CLEAR SELECTED CONDITIONS
145 ;1B23 ;SET SELECTED CONDITIONS
146 ;1B25 ;INTERRUPT 8080
147 ;1B26 ;POWER FAIL
148 ;1B27 ;NXM
149 ;1B28 ;BAD MOS DATA
150 ;1B29 ;CORRECTED MOS DATA
151 ;1B30 ;TIMER
152 ;1B31 ;8080 INTERRUPT
153 ;1B32 ;GENERATE APR INTERRUPT
154 ;7B35 ;APR LEVEL
155 700240 000000 OPDEF RDAPR [700240,,0] ;READ APR
156 700600 000000 OPDEF WRPI [700600,,0] ;WRITE PI
157 700600 000400 OPDEF PIOFF [700600,,400]
158 700600 000200 OPDEF PION [700600,,200]
159 700640 000000 OPDEF RDPI [700640,,0] ;READ PI
160 701140 000000 OPDEF WRUBR [701140,,0] ;WRITE USER BASE REGISTER
161 701100 000000 OPDEF CLRPT [701100,,0] ;CLEAR PAGE TABLE
162 701040 000000 OPDEF RDUBR [701040,,0] ;READ USER BASE REGISTER
163 701200 000000 OPDEF WREBR [701200,,0] ;WRITE
164 701240 000000 OPDEF RDEBR [701240,,0] ;READ
165 710000 000000 OPDEF TIOE [710000,,0] ;TEST UNIBUS, SKIP EQUAL
166 720000 000000 OPDEF TIOEB [720000,,0] ;TEST UNIBUS, SKIP EQUAL
167 711000 000000 OPDEF TION [711000,,0] ;TEST UNIBUS, SKIP NOT EQUAL
168 721000 000000 OPDEF TIONB [721000,,0] ;TEST UNIBUS, SKIP NOT EQUAL
169 712000 000000 OPDEF RDIO [712000,,0] ;READ UNIBUS
170 722000 000000 OPDEF RDIOB [722000,,0] ;READ UNIBUS BYTE
171 713000 000000 OPDEF WRIO [713000,,0] ;WRITE UNIBUS
172 723000 000000 OPDEF WRIOB [723000,,0] ;WRITE UNIBUS BYTE
173 714000 000000 OPDEF BSIO [714000,,0] ;BIT SET TO UNIBUS
174 724000 000000 OPDEF BSIOB [724000,,0] ;BIT SET TO UNIBUS BYTE
175 715000 000000 OPDEF BCIO [715000,,0] ;BIT CLEAR TO UNIBUS
176 725000 000000 OPDEF BCIOB [725000,,0] ;BIT CLEAR TO UNIBUS BYTE
177 702400 000000 OPDEF WRSPB [702400,,0] ;WRITE SPT BASE REGISTER
178 702000 000000 OPDEF RDSPB [702000,,0] ;READ SPT BASE REGISTER
179 702440 000000 OPDEF WRCSB [702440,,0] ;WRITE CORE STATUS TABLE BASE REGISTER
180 702040 000000 OPDEF RDCSB [702040,,0] ;READ CORE STATUS TABLE BASE REGISTER
181 702500 000000 OPDEF WRPUR [702500,,0] ;WRITE PROCESS USE REGISTER
182 702100 000000 OPDEF RDPUR [702100,,0] ;READ PROCESS USE REGISTER
183 702540 000000 OPDEF WRCSTM [702540,,0] ;WRITE CST MASK REGISTER
184 702140 000000 OPDEF RDCSTM [702140,,0] ;READ CST MASK REGISTER
185 702600 000000 OPDEF WRTIME [702600,,0] ;WRITE TIME BASE
186 702200 000000 OPDEF RDTIME [702200,,0] ;READ TIME BASE
187 702640 000000 OPDEF WRINT [702640,,0] ;WRITE INTERVAL TIMER
188 702240 000000 OPDEF RDINT [702240,,0] ;READ THE INTERVAL REGISTER
189 704000 000000 OPDEF UMOVE [704000,,0] ;MOVE FROM PREVIOUS CONTEXT
190 705000 000000 OPDEF UMOVEM [705000,,0] ;MOVE TO PREVIOUS CONTEXT
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 8
DDT11 MAC 18-May-81 17:27 DMCC et al
191 ;EPT - EXECUTIVE PROCESS TABLE
192 ;0-37 CHANNEL LOGOUT AREA
193 ;40-41
194 000042 EPTINT==42 ;42-57 INTERRUPT LOCATIONS
195 ;60-77 (KL10 - DTE AREA)
196 000100 EPTVEC==100 ;100 128 WORD TABLE OF VECTORS
197 ;101-177 RESERVERED FOR FUTURE USE
198 ;200-377 EXEC PAGE 400-777
199 ;400-420
200 000421 EPTAOV==421 ;421 EXEC ARITH OVERFLOW TRAP INS
201 000422 EPTPDO==422 ;422 EXEC PUSHDOWN OVFL INS
202 000423 EPTTP3==423 ;423 EXEC TRAP-3 INS
203 ;424-427 HALT STATUS AREA
204 ;430-437
205 ;460-507
206 ;510 TIME BASE HIGH-ORDER WORD
207 ;511 TIME BASE LOW-ORDER WORD
208 ;512 PERF ANA COUNTER HIGH-ORDER WORD
209 ;513 " LOW-ORDER WORD
210 ;514 INTERVAL TIMER VEC INT LOC
211 ;515-577 RES FOR USE BY HDW
212 000540 EPTSTP==540 ;540-557 SECTION TABLE POINTER FOR SECTION 0-17
213 000600 EPM000==600 ;600-757 EXEC PAGE 0-337
214 ;760-777 RESERVED
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 9
DDT11 MAC 18-May-81 17:27 DMCC et al
215 ;UPT - USER PAGE TABLE
216 ;0-377 USER PAGE 0-777
217 ;400-417 EXEC PAGE 340-377
218 ;420 FREE
219 ;421 USER ARTIH OVFLW TRAP INST
220 ;422 USER PUSHDOWN OVFLW TRAP INS
221 ;423 USER TRAP-3 INS
222 001424 .UPMUO==1424 ;424 USERS FLAGS,,MUUO OPCODE
223 001425 .UPMUP==1425 ;425 PC WORD OF MUUO STORED HERE
224 ;426 MUUO EFFECTIVE ADDR
225 ;427 PROCESSOR CONTEXT
226 ;430 KERNEL NO TRAP MUUO NEW PC WORD
227 ;431 KERNEL TRAP MUUO NEW PC WORD
228 ;432 SUPERVISOR TRAP MUUO NEW PC WORD
229 ;433 SUPERVISOR NO TRAP MUUO NEW PC WORD
230 ;434 CONCEALED TRAP MUUO NEW PC WORD
231 ;435 CONCEALED NO TRAP MUUO NEW PC WORD
232 ;436 PUBLIC TRAP MUUO NEW PC WORD
233 ;437 PUBLIC NO TRAP MUUO NEW PC WORD
234 ;440-477 FREE
235 001500 UPTPFW==1500 ;500 EXEC OR USER PAGE FAILWORD STORED HERE
236 ;B0 USER MODE
237 ;B1 IO = ADAPTER
238 001501 UPTPFL==1501 ;501 PAGE FAIL OLD FLAGS WORD
239 001502 UPTPFO==1502 ;502 PAGE FAIL OLD PC WORD
240 001503 UPTPFN==1503 ;503 PAGE FAIL NEW PC WORD
241 ;504 EBOX CLOCK TICKMETER HIGH ORDER WORD
242 ;505 EBOX CLOCK TICKMETER LOW-ORDER WORD
243 ;506 MBOX CYCLEMETER HIGH ORDER WORD
244 ;507 MBOX CYCLEMETER LOW-ORDER WORD
245 ;510-577 RESERVED FOR HDW
246 ;600-777 FREE
247
248 ; PAGE TABLE WORDS
249 ;400000 ACCESS ALLOWED
250 ;200000 PUBLIC
251 ;100000 WRITABLE
252 ;040000 SOFTWARE
253 ;020000 CACHE ENABLED
254 ;017777 PHYSICAL PAGE ADR BITS 14-26
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 10
DDT11 MAC 18-May-81 17:27 DMCC et al
255
256 ;UNIBUS ADAPTER
257 763000 UBAMAP= 763000 ;MAPPING REGISTERS
258 400000 UB.RPW==400000 ;MAINTENANCE PAUSE FOR EVEN AND ODD MEMORY WRITE
259 200000 UB.16B==200000 ;DISABLE UPPER TWO BITS ON TRANSFER
260 100000 UB.FST==100000 ;FAST XFER
261 040000 UB.VLD==040000 ;VALID
262 ;003777 ;PAGE NUMBER
263 763100 UBA.SR= 763100 ;STATUS REGISTER
264 ;400000 ;TIMEOUT
265 ;200000 ;BAD MEMORY ON NPR TRANSFER
266 ;100000 ;SM10 BACKPANEL BUS ERROR
267 ;040000 ;CPU ADDRESSED NONEXISTENT DEVICE
268 ;004000 ;BR6 OR BR7
269 ;002000 ;BR5 OR BR4
270 ;001000 ;AC OR DC LOW
271 ;000200 ;DISABLE TRANSFER ON UNCORRECTABLE DATA
272 ;000100 ;UBA INITIALIZE
273 000230 UBA.B7==1B28+BR7LVL*10
274 000204 UBA.B5==1B28+BR5LVL
275 000234 UBALVL==1B28+BR7LVL*10+BR5LVL ;PI LVL ASSIGNMENTS
276 763200 UBA.IR= 763200 ;VECTOR REGISTER
277 763101 UBA.MR= 763101 ;MAINTENANCE REGISTER
278 ;000001 ;CHANGE NPR REQUEST
279 ;000002 ;ENABLE NPR WRAP AROUND
280 ;DZ11
281 000000 DZ.CSR==0 ;CONTROL AND STATUS REGISTER
282 000002 DZ.RBF==2 ;READER BUFFER
283 000002 DZ.LPR==2 ;LINE PARAMETER REGISTER
284 000004 DZ.TCR==4 ;TRANSMIT CONTROL REGISTER
285 000006 DZ.MSR==6 ;MODEM STATUS REGISTER
286 000006 DZ.TDR==6 ;TRANSMIT DATA REGISTER
287 ;RJP04
288 776700 RPCS1== 776700
289 776702 RPWC== 776702
290 776704 RPBA== 776704
291 776706 RPDA== 776706
292 776710 RPCS2== 776710
293 776712 RPDS== 776712
294 776714 RPER1== 776714
295 776716 RPAS== 776716
296 776720 RPLA== 776720
297 776722 RPDB== 776722
298 776724 RPMR== 776724
299 776726 RPDT== 776726
300 776730 RPSN== 776730
301 776732 RPOF== 776732
302 776734 RPDC== 776734
303 776736 RPCC== 776736
304 776740 RPER2== 776740
305 776742 RPER3== 776742
306 776744 RPEC1== 776744
307 776746 RPEC2== 776746
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 11
DDT11 MAC 18-May-81 17:27 DMCC et al
308 ;INTERPROCESSOR COMMUNICATIONS AREA
309 ;WORD 31 - KEEP ALIVE AND STATUS WORD
310 000031 FEWSTS= 31
311 ;WORD 32 - KS-10 INPUT WORD
312 000032 FEWINP= 32
313 ;BITS 20-27 = 0 NO ACTION
314 ;BITS 20-27 = 1 CTY CHAR
315 ;BITS 28-35 = CHAR
316 ;WORD 33 - KS-10 OUTPUT WORD
317 000033 FEWOUT= 33
318 ;BITS 20-27 = 0 NO ACTION
319 ;BITS 20-27 = 1 CTY CHAR
320 ;BITS 28-35 = CHAR
321 ;WORD 34 - KS-10 KLINIK LINE INPUT WORD
322 ;WORD 35 - KS-10 KLINIK LINE OUTPUT WORD
323
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 12
DDT11 MAC 18-May-81 17:27 DMCC et al
324 ;FORMAT OF PDP-11 BINARY TAPES
325 ;
326 ; FRAME -1 001
327 ; -2 000
328 ; -3 BYTE COUNT - LOWER ORDER
329 ; -4 BYTE COUNT - HIGHER ORDER
330 ; -5 LOAD ADDRESS - LOWER ORDER
331 ; -6 LOAD ADDRESS - HIGHER ORDER
332 ; DATA
333 ; CHKSUM
334 ;
335 ; THE BYTE COUNT COUNTS FRAME-1 THROUGH ALL DATA
336 ; IF THE BYTE COUNT IS EQUAL TO 6 THE LOAD ADDRESS IS THE START ADDRESS
337 ; UNLESS ODD.
338 ; IF THE BYTE COUNT IS > 6, DATA WILL BE LOADED INTO MEMORY
339 ; WHEN CHKSUM IS ADDED TO SUM OF PREVIOUS FRAMES RESULT IS 0
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 13
DDT11 MAC 18-May-81 17:27 DMCC et al
340 ;PDP11 ADDRESSING MODES
341 ;
342 ; 0 Rn REGISTER
343 ; 1 @Rn REGISTER DEFERRED
344 ; 2 (Rn)+ AUTO-INCREMENT
345 ; 3 @(Rn)+ AUTO-INCREMENT DEFERRED
346 ; 4 -(Rn) AUTO-DECREMENT
347 ; 5 @-(Rn) AUTO-DECREMENT DEFERRED
348 ; 6 X(Rn) INDEX
349 ; 7 @X(Rn) INDEX DEFERRED
350 ;
351 ; 27 #X IMMEDIATE
352 ; 37 @#X ABSOLUTE
353 ; 67 X RELATIVE
354 ; 77 @X RELATIVE DEFERRED
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 14
DDT11 MAC 18-May-81 17:27 DMCC et al
355 ;MACRO TO DEFINE SYMBOLS FOR INSTRUCTIONS
356 ; 1ST ARGUMENT IS VALUE OF INSTRUCTION
357 ; 2ND ARG IS MASK FOR VALUE
358 ; 3RD ARG IS MNEMONIC
359 ; 4TH ARG IS FLAG BITS
360 ; 5TH ARG IS SIMULATION
361
362 DEFINE INSTRU <
363 XLIST
364 X 000000,007000,AND,<SMF.IN!SMF.P8>
365 X 000000,177777,HALT,<SMF.IN!SMF.11>
366 X 000000,177777,R0,<SMF.RG!SMF.11>
367 X 000001,177777,R1,<SMF.RG!SMF.11>
368 X 000001,177777,WAIT,<SMF.IN!SMF.11>
369 X 000002,177777,R2,<SMF.RG!SMF.11>
370 X 000002,177777,RTI,<SMF.IN!SMF.11>
371 X 000003,177777,BPT,<SMF.IN!SMF.11>
372 X 000003,177777,R3,<SMF.RG!SMF.11>
373 X 000004,177777,IOT,<SMF.IN!SMF.11>
374 X 000004,177777,R4,<SMF.RG!SMF.11>
375 X 000005,177777,R5,<SMF.RG!SMF.11>
376 X 000005,177777,RESET,<SMF.IN!SMF.11>
377 X 000006,177777,RTT,<SMF.IN!SMF.11>
378 X 000006,177777,SP,<SMF.RG!SMF.11>
379 X 000007,177777,PC,<SMF.RG!SMF.11>
380 X 000100,177700,JMP,<SMF.IN!SMF.DD!SMF.11>
381 X 000200,177770,RTS,<SMF.IN!SMF.RT!SMF.11>
382 X 000230,177770,SPL,<SMF.IN!SMF.PL!SMF.11>
383 X 000240,177777,NOP,<SMF.IN!SMF.11>
384 X 000241,177777,CLC,<SMF.IN!SMF.11>
385 X 000242,177777,CLV,<SMF.IN!SMF.11>
386 X 000244,177777,CLZ,<SMF.IN!SMF.11>
387 X 000250,177777,CLN,<SMF.IN!SMF.11>
388 X 000257,177777,CCC,<SMF.IN!SMF.11>
389 X 000261,177777,SEC,<SMF.IN!SMF.11>
390 X 000262,177777,SEV,<SMF.IN!SMF.11>
391 X 000264,177777,SEZ,<SMF.IN!SMF.11>
392 X 000270,177777,SEN,<SMF.IN!SMF.11>
393 X 000277,177777,SCC,<SMF.IN!SMF.11>
394 X 000300,177700,SWAB,<SMF.IN!SMF.DD!SMF.11>
395 X 000400,177400,BR,<SMF.IN!SMF.BR!SMF.11>
396 X 001000,177400,BNE,<SMF.IN!SMF.BR!SMF.11>
397 X 001000,007000,TAD,<SMF.IN!SMF.P8>
398 X 001400,177400,BEQ,<SMF.IN!SMF.BR!SMF.11>
399 X 002000,177400,BGE,<SMF.IN!SMF.BR!SMF.11>
400 X 002000,007000,ISZ,<SMF.IN!SMF.P8>
401 X 002400,177400,BLT,<SMF.IN!SMF.BR!SMF.11>
402 X 003000,177400,BGT,<SMF.IN!SMF.BR!SMF.11>
403 X 003000,007000,DCA,<SMF.IN!SMF.P8>
404 X 003400,177400,BLE,<SMF.IN!SMF.BR!SMF.11>
405 X 004000,177000,JSR,<SMF.IN!SMF.DD!SMF.JS!SMF.11>
406 X 004000,007000,JMS,<SMF.IN!SMF.P8>
407 X 005000,177700,CLR,<SMF.IN!SMF.DD!SMF.11>
408 X 005000,007000,JMP,<SMF.IN!SMF.P8>
409 X 005100,177700,COM,<SMF.IN!SMF.DD!SMF.11>
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 14-1
DDT11 MAC 18-May-81 17:27 DMCC et al
410 X 005200,177700,INC,<SMF.IN!SMF.DD!SMF.11>
411 X 005300,177700,DEC,<SMF.IN!SMF.DD!SMF.11>
412 X 005400,177700,NEG,<SMF.IN!SMF.DD!SMF.11>
413 X 005500,177700,ADC,<SMF.IN!SMF.DD!SMF.11>
414 X 005600,177700,SBC,<SMF.IN!SMF.DD!SMF.11>
415 X 005700,177700,TST,<SMF.IN!SMF.DD!SMF.11>
416 X 006000,177700,ROR,<SMF.IN!SMF.DD!SMF.11>
417 X 006000,007000,IOT,<SMF.IN!SMF.P8>
418 X 006100,177700,ROL,<SMF.IN!SMF.DD!SMF.11>
419 X 006200,177700,ASR,<SMF.IN!SMF.DD!SMF.11>
420 X 006300,177700,ASL,<SMF.IN!SMF.DD!SMF.11>
421 X 006400,177700,MARK,<SMF.IN!SMF.MK!SMF.11>
422 X 006700,177700,SXT,<SMF.IN!SMF.DD!SMF.11>
423 X 007000,007777,NOP,<SMF.IN!SMF.P8>
424 X 007001,007401,IAC,<SMF.IN!SMF.P8>
425 X 007002,007416,BSW,<SMF.IN!SMF.P8>
426 X 007004,007406,RAL,<SMF.IN!SMF.P8>
427 X 007006,007406,RTL,<SMF.IN!SMF.P8>
428 X 007010,007412,RAR,<SMF.IN!SMF.P8>
429 X 007012,007412,RTR,<SMF.IN!SMF.P8>
430 X 007020,007420,CML,<SMF.IN!SMF.P8>
431 X 007040,007440,CMA,<SMF.IN!SMF.P8>
432 X 007100,007500,CLL,<SMF.IN!SMF.P8>
433 X 007200,007600,CLA,<SMF.IN!SMF.P8>
434 X 007400,007777,NOP,<SMF.IN!SMF.P8>
435 X 007401,007777,NOP,<SMF.IN!SMF.P8>
436 X 007402,007403,HLT,<SMF.IN!SMF.P8>
437 X 007404,007405,OSR,<SMF.IN!SMF.P8>
438 X 007410,007571,SKP,<SMF.IN!SMF.P8>
439 X 007420,007431,SNL,<SMF.IN!SMF.P8>
440 X 007421,007521,MQL,<SMF.IN!SMF.P8>
441 X 007430,007431,SZL,<SMF.IN!SMF.P8>
442 X 007440,007451,SZA,<SMF.IN!SMF.P8>
443 X 007450,007451,SNA,<SMF.IN!SMF.P8>
444 X 007500,007511,SMA,<SMF.IN!SMF.P8>
445 X 007501,007521,MQA,<SMF.IN!SMF.P8>
446 X 007510,007511,SPA,<SMF.IN!SMF.P8>
447 X 007521,007521,SWP,<SMF.IN!SMF.P8>
448 X 007600,007601,CLA,<SMF.IN!SMF.P8>
449 X 007601,007601,CLA,<SMF.IN!SMF.P8>
450 X 010000,170000,MOV,<SMF.IN!SMF.SS!SMF.11>
451 X 020000,170000,CMP,<SMF.IN!SMF.SS!SMF.11>
452 X 030000,170000,BIT,<SMF.IN!SMF.SS!SMF.11>
453 X 040000,170000,BIC,<SMF.IN!SMF.SS!SMF.11>
454 X 050000,170000,BIS,<SMF.IN!SMF.SS!SMF.11>
455 X 060000,170000,ADD,<SMF.IN!SMF.SS!SMF.11>
456 X 070000,177000,MUL,<SMF.IN!SMF.EI!SMF.11>
457 X 071000,177000,DIV,<SMF.IN!SMF.EI!SMF.11>
458 X 072000,177000,ASH,<SMF.IN!SMF.EI!SMF.11>
459 X 073000,177000,ASHC,<SMF.IN!SMF.EI!SMF.11>
460 X 074000,177000,XOR,<SMF.IN!SMF.JS!SMF.DD!SMF.11>
461 X 075000,177770,FADD,<SMF.IN!SMF.RT!SMF.11>
462 X 075010,177770,FSUB,<SMF.IN!SMF.RT!SMF.11>
463 X 075020,177770,FMUL,<SMF.IN!SMF.RT!SMF.11>
464 X 075030,177770,FDIV,<SMF.IN!SMF.RT!SMF.11>
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 14-2
DDT11 MAC 18-May-81 17:27 DMCC et al
465 X 077000,177000,SOB,<SMF.IN!SMF.SB!SMF.11>
466 X 100000,177400,BPL,<SMF.IN!SMF.BR!SMF.11>
467 X 100400,177400,BMI,<SMF.IN!SMF.BR!SMF.11>
468 X 101000,177400,BHI,<SMF.IN!SMF.BR!SMF.11>
469 X 101400,177400,BLOS,<SMF.IN!SMF.BR!SMF.11>
470 X 102000,177400,BVC,<SMF.IN!SMF.BR!SMF.11>
471 X 102400,177400,BVS,<SMF.IN!SMF.BR!SMF.11>
472 X 103000,177400,BCC,<SMF.IN!SMF.BR!SMF.11>
473 X 103000,177400,BHIS,<SMF.IN!SMF.BR!SMF.11>
474 X 103400,177400,BCS,<SMF.IN!SMF.BR!SMF.11>
475 X 103400,177400,BLO,<SMF.IN!SMF.BR!SMF.11>
476 X 104000,177400,EMT,<SMF.IN!SMF.EM!SMF.11>
477 X 104400,177400,TRAP,<SMF.IN!SMF.EM!SMF.11>
478 X 105000,177700,CLRB,<SMF.IN!SMF.DD!SMF.BY!SMF.11>
479 X 105100,177700,COMB,<SMF.IN!SMF.DD!SMF.BY!SMF.11>
480 X 105200,177700,INCB,<SMF.IN!SMF.DD!SMF.BY!SMF.11>
481 X 105300,177700,DECB,<SMF.IN!SMF.DD!SMF.BY!SMF.11>
482 X 105400,177700,NEGB,<SMF.IN!SMF.DD!SMF.BY!SMF.11>
483 X 105500,177700,ADCB,<SMF.IN!SMF.DD!SMF.BY!SMF.11>
484 X 105600,177700,SBCB,<SMF.IN!SMF.DD!SMF.BY!SMF.11>
485 X 105700,177700,TSTB,<SMF.IN!SMF.DD!SMF.BY!SMF.11>
486 X 106000,177700,RORB,<SMF.IN!SMF.DD!SMF.BY!SMF.11>
487 X 106100,177700,ROLB,<SMF.IN!SMF.DD!SMF.BY!SMF.11>
488 X 106200,177700,ASRB,<SMF.IN!SMF.DD!SMF.BY!SMF.11>
489 X 106300,177700,ASLB,<SMF.IN!SMF.DD!SMF.BY!SMF.11>
490 X 110000,170000,MOVB,<SMF.IN!SMF.SS!SMF.BY!SMF.11>
491 X 120000,170000,CMPB,<SMF.IN!SMF.SS!SMF.BY!SMF.11>
492 X 130000,170000,BITB,<SMF.IN!SMF.SS!SMF.BY!SMF.11>
493 X 140000,170000,BICB,<SMF.IN!SMF.SS!SMF.BY!SMF.11>
494 X 150000,170000,BISB,<SMF.IN!SMF.SS!SMF.BY!SMF.11>
495 X 160000,170000,SUB,<SMF.IN!SMF.SS!SMF.11>
496 X 163000,177777,UBAMAP,<SMF.11>
497 X 163100,177777,UBA.SR,<SMF.11>
498 ;X 163200,177777,UBA.VC,<SMF.11>
499 X 163300,177777,UBA.MR,<SMF.11>
500 X 177570,177777,SW,<SMF.11>
501 X 177776,177777,PS,<SMF.11>
502 LIST ;TURN LISTINGS BACK ON
503 >;DEFINE INSTRU
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 15
DDT11 MAC 18-May-81 17:27 INITIALIZATION
504 SUBTTL INITIALIZATION
505
506 000000' 300000 000000 DDT11: NOP
507 000001' 264000 000027' JSR INIALL ;GET PROCESSOR FLAGS, AND RESET WORLD
508 000002' 260740 007701' CALL IDTYPE ;IDENTIFY OURSELF
509 000003' 260740 007621' CALL CRLTYP ;END WITH A FLOURISH
510
511 000000 000000 MOVE T1,[0,,0] ;DEFAULT OUTPUT MODE IS SYMBOLIC
512 000004' 200440 042177'
513 000005' 202440 040535' MOVEM T1,O.MODE
514 000006' 402000 040710' SETZM CACHEL ;HIGHEST ADDR IN CACHE
515 000007' 402000 040456' SETZM NODE ;HAVEN'T SPECIFIED NODE YET
516 000010' 402000 040706' SETZM CMDCON ;NO COMAND CONFLICTS YET
517 000011' 402000 040457' SETZM LINE ;OR LINE ON NODE
518 000012' 254000 000016' JRST INI.03
519 INI.00: TYPE <
520 064252 262746 Respond with file spec and/or switches>
521 000013' 201440 042200'
522 000014' 260740 007655'
523 000015' 051440 000000 CLRBFI ;FLUSH TYPEAHEAD
524 INI.03: TYPE <
525 064251 167340 Input: >
526 000016' 201440 042211'
527 000017' 260740 007655'
528 000020' 400440 000000 SETZ T1, ;NO DEFAULT FILE NAME
529 546344 425156 MOVE T2,[SIXBIT /LSDBIN/] ;DEFAULT EXTENSION
530 000021' 200500 042213'
531 040601' 040547' MOVE T3,[SW.DSP,,SW.LST]
532 000022' 200540 042214'
533 400000 010633' MOVE T4,[400000,,RDDUMP] ;DEFAULT LAST SWITCH
534 000023' 200600 042215'
535 000024' 260740 005642' CALL OPNFL0
536 000025' 254000 000013' JRST INI.00 ;TELL HIM THATS NOT NICE
537 000026' 254000 000016' JRST INI.03
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 16
DDT11 MAC 18-May-81 17:27 INITIALIZATION
538 000027' 000000 000000 INIALL: Z
539 000030' 400000 000000 SETZ 0 ;ZERO 1ST AC
540 000031' 201740 000001 MOVEI 17,1 ;MAKE BLT POINTER
541 000032' 251740 000017 BLT 17,17 ;CLEAR ALL AC'S
542 777740 041011' MOVE P,[IOWD PDLEN,PDL]
543 000033' 200740 042216'
544 000034' 261740 000027' PUSH P,INIALL
545 000035' 402000 006461' SETZM OHD
546 000036' 402000 003275' SETZM CMDFIL
547 000037' 200400 040705' MOVE FLG,FLGSAV ;SETUP FLAGS
548 003100 140000 TXZ FLG,F.EXEC!F.TOPN!F.LOCK!F..SIM!F.WENB
549 000040' 630400 042217'
550 000041' 402000 042172' SETZM MRGFLG
551 000042' 561340 000000 HRROI DOT,0
552 000043' 200440 000027' MOVE T1,INIALL
553 000044' 607440 010000 TLNN T1,010000 ;CHECK USER MODE FLAG
554 000045' 661400 002000 TXO FLG,F.EXEC ;WE ARE IN EXEC MODE
555 000046' 260740 036737' CALL MAPCOR ;SETUP EPT AND UNIBUS MAPPING
556 000047' 402000 037153' SETZM UPTIME ;HAVEN'T STARTED THE CLOCK YET
557 000050' 400500 000000 SETZ T2,
558 000051' 603400 002000 TXNE FLG,F.EXEC ;IF NOT IN EXEC MODE
559 000052' 254000 000061' JRST INIAL1
560 000112 000011 MOVE T1,[XWD 112,11] ;GET THE MONITOR TYPE
561 000053' 200440 042220'
562 000054' 047440 000041 CALLI T1,41 ;A GETTAB IN HIDING
563 000055' 400440 000000 SETZ T1, ;ALWAYS A 0 IF IT FAILS
564 000056' 242440 777764 LSH T1,-^D12 ;MOVE THE TYPE OVER
565 000057' 405440 000017 ANDI T1,17 ;MASK ANY UNWANTED BITS
566 400000 000000 MOVE T2,[T.OTHER ;FREE INDEX
567 200000 000000 T.TOP10 ;TOPS-10
568 100000 000000 T.ITS ;ITS
569 040000 000000 T.TENEX ;TENEX
570 020000 000000 T.TOP20 ;TOPS-20
571 400000 000000 T.OTHER
572 400000 000000 T.OTHER
573 400000 000000 T.OTHER
574 400000 000000 T.OTHER
575 400000 000000 T.OTHER
576 400000 000000 T.OTHER
577 400000 000000 T.OTHER
578 400000 000000 T.OTHER
579 400000 000000 T.OTHER
580 400000 000000 T.OTHER
581 000060' 200511 042221' T.OTHER](T1) ;GET THE TYPE
582 000061' 603400 002000 INIAL1: TXNE FLG,F.EXEC
583 000062' 661500 010000 TXO T2,T.EXEC
584 000063' 202500 041112' MOVEM T2,OSTYPE ;AND SAVE FOR LATER USE
585 000064' 047000 000000 RESET
586 000065' 402000 011607' SETZM INSRUN ;HAVEN'T DONE ANY INSTRCUTIONS YET
587 000066' 402000 011610' SETZM WAITIM ;AND HAVEN'T WAITED YET
588 000067' 047500 000024 GETPPN T2, ; SEE WHO WE ARE
589 000070' 255000 000000 JFCL ; BLOODY JACCT BIT
590 000071' 202500 040707' MOVEM T2,MYPPN ; SAVE FOR PPN DEFAULTING
591 000072' 263740 000000 RET
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 17
DDT11 MAC 18-May-81 17:27 INITIALIZATION
592 ;HERE BECAUSE FILE TO BE READ IS BINARY TAPE
593 000073' 660400 000002 SETBIN: TXO FLG,F.FLOP
594 000074' 201440 000000 MOVEI T1,EX.MEM
595 000075' 202440 040431' MOVEM T1,ETYPE
596 000076' 254000 005177' RETSKP
597
598
599 ;HERE FOR CORE ARGUMENT
600 000077' 260740 007051' SETCOR: CALL DECINP ;GET THE CORE SIZE
601 000100' 263740 000000 RET
602 000101' 302640 000113 CAIE T5,"K" ;UPPERCASE K
603 000102' 306640 000153 CAIN T5,"K"+40 ;LOWERCASE K ?
604 221440 002000 JRST [IMULI T1,2000 ;CONVERT TO NUMBER OF WORDS
605 201640 000040 MOVEI T5,40 ;FAKE BREAK CHAR
606 254000 000104' JRST .+1 ]
607 000103' 254000 042241'
608 000104' 552440 040460' HRRZM T1,CORARG
609 000105' 201440 000000 MOVEI T1,EX.MEM
610 000106' 202440 040431' MOVEM T1,ETYPE
611 000107' 254000 005177' RETSKP
612
613
614 ;HERE TO EFFECT THE /CORE:#
615 000110' 336000 040432' STCOR1: SKIPN PDP8F
616 000111' 336500 040460' SKIPN T2,CORARG ;WAS THERE A CORE ARGUMENT ?
617 000112' 254000 005177' RETSKP ;NO SO WER'E DONE
618 000113' 242500 000001 LSH T2,1 ;CONVERT BYTES TO WORDS
619 000114' 271500 017777 ADDI T2,017777 ;ROUND TO NEXT 4K WORD BOUNDRY
620 000115' 405500 160000 ANDI T2,160000 ;MASK TO RIGHT SIZE
621 000116' 370000 000012 SOS T2 ;NEW MEMLIM IS ONE LESS
622 000117' 202500 040460' MOVEM T2,CORARG
623 000120' 336000 011147' SKIPN MEMORY ;ANY CORE ASSIGNED YET ?
624 000121' 254000 000124' JRST STCOR2 ;NONE YET SO GET IT
625 000122' 317500 011150' CAMG T2,MEMLIM ;DO WE HAVE ENOUGH YET ?
626 000123' 254000 000126' JRST STCOR3 ;WE HAVE ENOUGH
627 000124' 400440 000000 STCOR2: SETZ T1,
628 000125' 260740 004177' CALL PUTFOO ;MAKE SURE WE HAVE THAT LOCATION
629 000126' 200440 040460' STCOR3: MOVE T1,CORARG ;GET CORE ARGUMENT
630 000127' 250440 011150' EXCH T1,MEMLIM ;WHICH IS NEW MEMLIM
631 000130' 274440 011150' SUB T1,MEMLIM ;HOW MANY BYTES TO DELETE
632 000131' 322440 000145' JUMPE T1,STCOR9 ;IF NONE WER'E DONE
633 000132' 242440 777776 LSH T1,-2 ;NUMBER OF WORDS TO SHIFT SYMBOL TABLE
634 000133' 504500 041115' HRL T2,SYMBEG ;GET BEGINING OF SYMBOL TABLE
635 000134' 540500 041115' HRR T2,SYMBEG ;BUILD BLT POINTER
636 000135' 274500 000011 SUB T2,T1
637 000136' 542500 041115' HRRM T2,SYMBEG
638 000137' 200540 041116' MOVE T3,SYMEND
639 000140' 274540 000011 SUB T3,T1 ;NEW END OF SYMBOL TABLE
640 000141' 202540 041116' MOVEM T3,SYMEND
641 000142' 251513 000000 BLT T2,(T3)
642 000143' 552540 000000* HRRZM T3,.JBFF##
643 000144' 506540 000000* HRLM T3,.JBSA##
644 000145' 402000 040460' STCOR9: SETZM CORARG ;DONE WITH ARGUMENT
645 000146' 254000 005177' RETSKP
646
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 17-1
DDT11 MAC 18-May-81 17:27 INITIALIZATION
647
648 ;HERE BECAUSE FILE TO BE READ IS NETLDR (OR EQUIVALENT) DUMP
649 000147' 620400 000004 SETDMP: TXZ FLG,F..FOO
650 000150' 201440 000000 MOVEI T1,EX.MEM
651 000151' 202440 040431' MOVEM T1,ETYPE
652 000152' 254000 005177' RETSKP
653
654
655 ;HERE TO SET F..FOO FOR /DISASSEMBLY OR /DTELDR
656 000153' 660400 000004 SETFOO: TXO FLG,F..FOO
657 000154' 201440 000000 MOVEI T1,EX.MEM
658 000155' 202440 040431' MOVEM T1,ETYPE
659 000156' 254000 005177' RETSKP
660
661
662 ;HERE IF USERS TYPES /FE:
663 000157' 200440 041112' SET.FE: MOVE T1,OSTYPE ;GET SYSTEM TYPE
664 000160' 607440 220000 TXNN T1,T.TOP20!T.TOP10 ;SEE IF IT IS ALLOWED
665 JRST [ TYPE <
666 064247 744730 ?Illegal FE device when not on TOPS-10/20>
667 201440 042244'
668 260740 007655'
669 263740 000000 RET]
670 000161' 254000 042255'
671 000162' 260740 007051' CALL DECINP ;GET THE FRONTEND #
672 JRST [ TYPE <
673 064247 743344 ?Front End number required for the /FE switch>
674 201440 042260'
675 260740 007655'
676 263740 000000 RET]
677 000163' 254000 042272'
678 000164' 200500 041112' MOVE T2,OSTYPE ;GET OPS TYPE
679 000165' 603500 200000 TXNE T2,T.TOP10 ;IF TOPS-10, DO DIFFERENTLY (BETTER)
680 321440 005200' JRST [JUMPL T1,R ;DISALLOW JUNK
681 231440 000012 IDIVI T1,^D10 ;SPLIT CPU/DTE
682 307440 000005 CAIG T1,5 ;IF CPU TOO BIG
683 303500 000003 CAILE T2,3 ;OR DTE TOO BIG
684 263740 000000 RET ;DON'T EVEN TRY
685 505511 000000 HRLI T2,(T1) ;CPU,,DTE
686 202500 040451' MOVEM T2,FE.CPU ;SAVE FOR DTE. UUOS
687 402000 040452' SETZM FE.FED ;START WITH FED # 0
688 476000 040434' SETOM FENAME ;CONFUSE TOPS-20
689 400000 000231' MOVE T1,[400K,,OPNF10] ;THIS IS AN ACTION SWITCH
690 200440 042275'
691 202440 040420' MOVEM T1,LASTSW
692 201440 000007 MOVEI T1,EX.FE1 ;TOPS-10 20F
693 202440 040431' MOVEM T1,ETYPE ;SAVE FOR EXAMINE CODE
694 254000 005177' RETSKP]
695 000166' 254000 042276'
696 000167' 307440 000011 CAIG T1,^D9 ;BE SURE NOT TOO LARGE
697 000170' 305440 000000 CAIGE T1,0 ;BE SURE POSITIVE
698 JRST [ TYPE <
699 064247 747352 ?Number typed for /FE: not in range of 0-9>
700 201440 042314'
701 260740 007655'
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 17-2
DDT11 MAC 18-May-81 17:27 INITIALIZATION
702 263740 000000 RET]
703 000171' 254000 042325'
704 000000 000003 SKIPA T2,[EX.FE0]
705 000172' 334500 042330'
706 000173' 201500 000005 SETD62: MOVX T2,EX.D62 ; set DN62 type FE
707
708 000174' 202500 040431' SETFET: MOVEM T2,ETYPE ; T1/FE number, T2/fe type
709 000175' 242440 000017 LSH T1,17
710 432126 035000 IOR T1,[ASCII \FE0:\]
711 000176' 434440 042331'
712 000177' 202440 040434' MOVEM T1,FENAME ;REMEMBER WE'RE DOING FRONT END STUFF
713 400000 000203' MOVE T1,[400000,,OPENFE]
714 000200' 200440 042332'
715 000201' 202440 040420' MOVEM T1,LASTSW
716 000202' 254000 005177' RETSKP
717
718 000203' 205040 100001 OPENFE: MOVX AC1,GJ%SHT!GJ%OLD
719 000204' 561100 040434' HRROI AC2,FENAME ;NAME OF FRONT END
720 000205' 104000 000020 GTJFN ;GET A JFN FOR THE FRONT END
721 ERJMP [ TYPE <
722 064247 743650 ?GTJFN for the FE device failed because:>
723 201440 042333'
724 260740 007655'
725 254000 000223' JRST OPNFE9]
726 000206' 320700 042344'
727 000207' 202040 040435' MOVEM AC1,FE.JFN ;SAVE JFN
728 000210' 200100 040431' MOVE AC2,ETYPE ;check which type of FE
729 000211' 302100 000005 CAIE AC2,EX.D62
730 200000 300000 SKIPA AC2,[200000,,OF%WR!OF%RD]
731 000212' 334100 042347'
732 100000 300000 MOVE AC2,[100000,,OF%WR!OF%RD] ;DN62 uses 8 bit bytes
733 000213' 200100 042350'
734 000214' 104000 000021 OPENF
735 ERJMP [ TYPE <
736 064247 747640 ?OPENF for the FE device failed because:>
737 201440 042351'
738 260740 007655'
739 254000 000223' JRST OPNFE9]
740 000215' 320700 042362'
741 000216' 201100 000004 MOVEI AC2,.MODTE ;OPEN DTE
742 000217' 400140 000000 SETZ AC3,
743 000220' 104000 000077 MTOPR
744 000221' 402000 011147' OPNFE8: SETZM MEMORY ;NOT USING MEMORY
745 000222' 254000 000435' JRST LEVL.0
746
747 000223' 201040 000101 OPNFE9: MOVEI AC1,.PRIOU ;OUTPUT ON TTY
748 000224' 525100 400000 HRLOI AC2,.FHSLF ;FOR OURSELVES
749 000225' 400140 000000 SETZ AC3,
750 000226' 104000 000011 ERSTR
751 000227' 402000 040434' SETZM FENAME
752 000230' 254000 000000' JRST DDT11 ;TRY AGAIN
753
754
755 ;HERE TO GET A FE DEVICE ON TOPS-10
756
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 17-3
DDT11 MAC 18-May-81 17:27 INITIALIZATION
757 000011 040451' OPNF10: MOVE T1,[.DTEGF,,FE.CPU] ;TRY TO GET A FED
758 000231' 200440 042365'
759 000232' 047440 000170 DTE. T1, ;PLEASE...
760 306440 000015 JRST [CAIN T1,DTENF% ;DOESN'T EXIST?
761 JRST [TYPE <
762 064247 720234 ? No FE devices available>
763 201440 042366'
764 260740 007655'
765 254000 000000' JRST DDT11]
766 254000 042374'
767 302440 000014 CAIE T1,DTEFB% ;THIS ONE BUSY?
768 254000 000000* JRST DTEERR ;NO, CONFUSED
769 350000 040452' AOS FE.FED ;TRY NEXT
770 254000 000231' JRST OPNF10]
771 000233' 254000 042377'
772 000234' 476000 040435' SETOM FE.JFN ;CONFUSE THE TOPS-20 CODE
773 000235' 254000 000221' JRST OPNFE8 ;AND GO FINISH UP
774
775 ;HERE IF USER TYPES /GO
776 400000 000435' SETGO: MOVE T1,[400000,,LEVL.0]
777 000236' 200440 042405'
778 000237' 202440 040420' MOVEM T1,LASTSW
779 000240' 201440 000000 MOVEI T1,EX.MEM
780 000241' 202440 040431' MOVEM T1,ETYPE
781 000242' 254000 005177' RETSKP
782
783
784 ;HERE FOR A /MERGE
785 000243' 476000 042172' SETMRG: SETOM MRGFLG# ;WANT TO MERGE OTHER FILES
786 000244' 201440 000000 MOVEI T1,EX.MEM
787 000245' 202440 040431' MOVEM T1,ETYPE
788 000246' 254000 005177' RETSKP
789
790
791 ;HERE FOR /PATCH
792 000247' 660400 100000 SETWEN: TXO FLG,F.WENB ;ENABLE PATCHING
793 000250' 254000 005177' RETSKP
794
795
796 ;HERE FOR /LINE IN COMMAND LINE
797 000251' 200440 041112' SETLIN: MOVE T1,OSTYPE
798 000252' 607440 200000 TXNN T1,T.TOP10
799 JRST [ TYPE <
800 064247 744730 ?Illegal /LINE switch when not on TOPS-10>
801 201440 042406'
802 260740 007655'
803 263740 000000 RET]
804 000253' 254000 042417'
805 000254' 260740 006776' CALL SIXIN ;GET LINE ARGUMENT
806 JRST [ TYPE <
807 064247 744730 ?Illegal argument for /LINE switch>
808 201440 042422'
809 260740 007655'
810 263740 000000 RET]
811 000255' 254000 042432'
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 17-4
DDT11 MAC 18-May-81 17:27 INITIALIZATION
812 000256' 260740 007034' CALL SIXOCT ;CONVERT TO NUMBER
813 JRST [ TYPE <
814 064247 744730 ?Illegal value for the /LINE switch>
815 201440 042435'
816 260740 007655'
817 263740 000000 RET]
818 000257' 254000 042445'
819 000260' 350000 000011 AOS T1
820 000261' 202440 040457' MOVEM T1,LINE
821 000262' 201440 000002 MOVEI T1,EX.NOD
822 000263' 202440 040431' MOVEM T1,ETYPE
823 000264' 254000 005177' RETSKP
824
825
826 ;HERE BECAUSE USER TYPED /PDP11 OR /11
827 000265' 402000 040432' SETP11: SETZM PDP8F ;CLEAR PDP8 FLAG
828 000266' 254000 005177' RETSKP
829
830
831 ;HERE BECAUSE USER TYPED /PDP8 OR /8
832 000267' 476000 040432' SETPD8: SETOM PDP8F
833 000270' 254000 005177' RETSKP
834
835
836 ;HERE BECAUSE USER TYPED /FESYM WITH /SYMBOL
837 554160 637155 SETFES: MOVE T1,[SIXBIT /MAPSYM/] ;DEFAULT EXTENSIONS
838 000271' 200440 042450'
839 000272' 202440 006212' MOVEM T1,DEFEXT
840 400000 005542' MOVE T1,[400000,,RDSYMA] ;FLAG TO READ IN FE FORMAT
841 000273' 200440 042451'
842 000274' 202440 040420' MOVEM T1,LASTSW
843 000275' 254000 005177' RETSKP
844
845
846 ;HERE FOR A /LA36 IN COMMAND LINE
847 000276' 402000 040704' SETLA3: SETZM TTYBIT
848 000277' 254000 005177' RETSKP
849
850
851 ;HERE ON A /RELOCATION:VAL SWITCH
852 000300' 260740 006776' SETREL: CALL SIXIN ;READ VALUE
853 JRST [ TYPE <
854 064247 744730 ?Illegal argument for /RELOCATE switch>
855 201440 042452'
856 260740 007655'
857 263740 000000 RET]
858 000301' 254000 042463'
859 000302' 261740 000011 PUSH P,T1 ;SAVE IF WE NEED IT LATER
860 000303' 260740 007034' CALL SIXOCT ;CONVERT IT TO AN OCTAL NUMBER
861 262740 000011 JRST [ POP P,T1 ;GET TYPIN BACK
862 260740 005153' CALL SYMFND ;FIND IF WE HAVE A SYMBOL TO MATCH IT
863 JRST [ TYPE <
864 064247 752734 ?Unknown symbol as argument to /RELOCATE switch>
865 201440 042466'
866 260740 007655'
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 17-5
DDT11 MAC 18-May-81 17:27 INITIALIZATION
867 263740 000000 RET]
868 254000 042500'
869 550445 000001 HRRZ T1,1(SYM) ;GET THE VALUE FIELD
870 202440 040454' MOVEM T1,RELOFF ;SAVE FOR THE READ CODE
871 254000 005177' RETSKP] ;RETURN
872 000304' 254000 042503'
873 000305' 202440 040454' MOVEM T1,RELOFF ;SAVE THE NEW OFFSET
874 000306' 254000 005176' JRST TPOPJ1 ;CLEAN STACK, SKIP RETURN
875
876
877 ;HERE FOR /NODE IN COMMAND LINE
878 000307' 200440 041112' SETNOD: MOVE T1,OSTYPE
879 000310' 607440 200000 TXNN T1,T.TOP10
880 JRST [ TYPE <
881 064247 744730 ?Illegal /NODE: when not on TOPS-10>
882 201440 042511'
883 260740 007655'
884 263740 000000 RET]
885 000311' 254000 042521'
886 000312' 260740 006776' CALL SIXIN ;GET NODE ARGUMENT
887 JRST [ TYPE <
888 064247 744730 ?Illegal argument for the /NODE switch>
889 201440 042524'
890 260740 007655'
891 263740 000000 RET]
892 000313' 254000 042535'
893 000314' 260740 007034' CALL SIXOCT ;CONVERT TO NUMBER
894 JRST [ TYPE <
895 064247 744730 ?Illegal value for the /NODE switch>
896 201440 042540'
897 260740 007655'
898 263740 000000 RET]
899 000315' 254000 042550'
900 000316' 202440 040456' MOVEM T1,NODE ;SAVE NODE NAME
901 000317' 402000 040435' SETZM FE.JFN ;NOT DOING /FE STUFF
902 000320' 260740 000354' CALL CLRMEM ;FORGET ANYTHING ALREADY READ
903 400000 000435' MOVE T1,[400000,,LEVL.0]
904 000321' 200440 042405'
905 000322' 202440 040420' MOVEM T1,LASTSW
906 000323' 201440 000002 MOVEI T1,EX.NOD
907 000324' 202440 040431' MOVEM T1,ETYPE
908 000325' 254000 005177' RETSKP
909
910
911 ;HERE FOR /LOCK
912 000326' 200440 041112' SETLOK: MOVE T1,OSTYPE
913 000327' 607440 200000 TXNN T1,T.TOP10
914 JRST [ TYPE <
915 064247 744730 ?Illegal /LOCK when not on TOPS-10>
916 201440 042553'
917 260740 007655'
918 263740 000000 RET]
919 000330' 254000 042563'
920 000331' 201440 000003 MOVEI T1,LK.LLS!LK.LNE;CODE TO LOCK
921 000332' 047440 000060 LOCK T1,
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 17-6
DDT11 MAC 18-May-81 17:27 INITIALIZATION
922 000333' 254000 005121' JRST LOCKER ;REPORT ERROR
923 000334' 660400 040000 TXO FLG,F.LOCK ;REMEMBER WE DID
924 000335' 254000 005177' RETSKP
925
926
927 ;HERE FOR /PORT
928 000336' 260740 006776' SETPRT: CALL SIXIN ;GET SIXBIT ARGUMENT
929 JRST [ TYPE <
930 064247 744730 ?Illegal argument for the /PORT switch>
931 201440 042566'
932 260740 007655'
933 263740 000000 RET]
934 000337' 254000 042577'
935 000340' 260740 007034' CALL SIXOCT ;CONVERT TO OCTAL
936 JRST [ TYPE <
937 064247 744730 ?Illegal value for the /PORT switch>
938 201440 042602'
939 260740 007655'
940 263740 000000 RET]
941 000341' 254000 042612'
942 000342' 405440 000017 ANDI T1,17 ;ALLOW FOR 8 DL10 PORTS PLUS 8 DN6X
943 000343' 562440 040455' HRROM T1,PORT ;SAVE PORT NUMBER
944 000344' 200500 041112' MOVE T2,OSTYPE ; check monitor type
945 000345' 603500 020000 TXNE T2,T.TOP20 ; if TOPS-20 then have to do FE type io
946 260740 004716' JRST [CALL CPUTYP ; determine cpu type to dsitinguish DN20,DN22
947 260740 004666' CALL QUED60 ; set up enqueue string
948 405440 000007 ANDI T1,7 ; remove dte offset to get FE number
949 254000 000173' JRST SETD62] ; now go set type DN62
950 000346' 254000 042615'
951 400000 000435' MOVE T1,[400000,,LEVL.0]
952 000347' 200440 042405'
953 000350' 202440 040420' MOVEM T1,LASTSW
954 000351' 201440 000001 MOVEI T1,EX.PORT
955 000352' 202440 040431' MOVEM T1,ETYPE
956 000353' 254000 005177' RETSKP
957
958 000354' 336440 011147' CLRMEM: SKIPN T1,MEMORY ;DID WE READ INTO MEMORY BEFORE ?
959 000355' 254000 005177' RETSKP
960 000356' 504440 041115' HRL T1,SYMBEG ;BUILD BLT POINTER
961 000357' 550500 041116' HRRZ T2,SYMEND
962 000360' 271511 000000 ADDI T2,(T1)
963 000361' 274500 041115' SUB T2,SYMBEG
964 000362' 552440 041115' HRRZM T1,SYMBEG ;NEW BEGINNING OF SYMBOL TABLE
965 000363' 251452 000000 BLT T1,(T2)
966 000364' 200440 000143* MOVE T1,.JBFF##
967 000365' 316440 041116' CAMN T1,SYMEND
968 000366' 200440 000012 MOVE T1,T2 ;THIS IS NEW .JBFF##
969 000367' 202500 041116' MOVEM T2,SYMEND
970 000370' 552440 000364* HRRZM T1,.JBFF##
971 000371' 506440 000144* HRLM T1,.JBSA##
972 000372' 047440 000011 CORE T1,
973 000373' 254000 005407' JRST CORERR
974 000374' 402000 011147' SETZM MEMORY
975 000375' 476000 011150' SETOM MEMLIM
976 000376' 254000 005177' RETSKP
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 17-7
DDT11 MAC 18-May-81 17:27 INITIALIZATION
977
978
979 ;HERE FOR A /SYMBOL
980 400000 005412' SETSYM: MOVE T1,[400000,,RDSYMB]
981 000377' 200440 042621'
982 000400' 202440 040420' MOVEM T1,LASTSW
983 546364 436246 MOVE T1,[SIXBIT \LSTCRF\] ;RESET DEFAULT EXTENSION
984 000401' 200440 042622'
985 000402' 202440 006212' MOVEM T1,DEFEXT
986 000403' 402000 040461' SETZM USETIT ;ALWAYS START AT 0
987 000404' 302640 000072 CAIE T5,":" ;GIVEN A BLOCK TO START ON ?
988 000405' 254000 005177' RETSKP ;NO, ITS OK
989 000406' 260740 007051' CALL DECINP ;GET BLOCK TO START READING AT
990 JRST [ TYPE <
991 064247 744730 ?Illegal value for the /SYMBOL switch>
992 201440 042623'
993 260740 007655'
994 263740 000000 RET]
995 000407' 254000 042633'
996 000410' 552440 040461' HRRZM T1,USETIT ;REMEMBER WHERE TO START READING
997 000411' 254000 005177' RETSKP
998
999
1000 ;HERE FOR A /UBA COMMAND LINE
1001 000412' 607400 002000 SETUBA: TXNN FLG,F.EXEC
1002 JRST [ TYPE <
1003 064247 744730 ?Illegal /UBA switch when not in EXEC mode>
1004 201440 042636'
1005 260740 007655'
1006 263740 000000 RET]
1007 000413' 254000 042647'
1008 000414' 306640 000072 CAIN T5,":" ;WAS BREAK A COLON ?
1009 000415' 260740 007051' CALL DECINP ;GET ADAPTER NUMBER TO USE
1010 JRST [ TYPE <
1011 064247 744730 ?Illegal argument for the /UBA switch>
1012 201440 042652'
1013 260740 007655'
1014 263740 000000 RET]
1015 000416' 254000 042662'
1016 000417' 514540 000011 HRLZ MA,T1 ;COPY NEW UBA NUMBER
1017 000420' 603400 002000 TXNE FLG,F.EXEC ;RUNNING EXEC MODE ?
1018 000421' 712453 763100 RDIO T1,UBA.SR(MA) ;SEE IT THERE IS SUCH A UBA
1019 202540 041114' JRST [ MOVEM MA,UBACTL ;SAVE IT
1020 254000 005177' RETSKP]
1021 000422' 254000 042665'
1022 TYPE <
1023 064247 744730 ?Illegal value for the /UBA switch>
1024 000423' 201440 042667'
1025 000424' 260740 007655'
1026 000425' 263740 000000 RET
1027
1028
1029 ;HERE FOR A /VT52 IN COMMAND LINE
1030 000426' 205440 200000 SETVTX: MOVX T1,TF.RUB ;BIT TO GET RIGHT KIND OF RUBOUTS
1031 000427' 202440 040704' MOVEM T1,TTYBIT
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 17-8
DDT11 MAC 18-May-81 17:27 INITIALIZATION
1032 000430' 254000 005177' RETSKP
1033
1034
1035 ;HERE FOR A /READSTB IN THE COMMAND LINE
1036 000431' 254000 005177' SETRST: RETSKP
1037
1038
1039 ;HERE FOR A /WRITESTB IN THE COMMAND LINE
1040 000432' 254000 005177' SETWST: RETSKP
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 18
DDT11 MAC 18-May-81 17:27 MAJOR LOOP
1041 SUBTTL MAJOR LOOP
1042
1043 ;HERE ON A REENTER
1044 000433' 300000 000000 RSTART: NOP
1045 000434' 264000 000027' JSR INIALL ;DO RESET, ETC.
1046
1047 ;HERE AFTER INITIAL DIALOGUE
1048 777740 041011' LEVL.0: MOVE P,[IOWD PDLEN,PDL]
1049 000435' 200740 042216'
1050 000436' 260740 000110' CALL STCOR1 ;HANDLE /CORE:#
1051 000437' 260740 036737' CALL MAPCOR ;UPDATE MEMORY MAP
1052 000440' 402000 006461' SETZM OHD
1053 000441' 402000 003275' SETZM CMDFIL ;NO MORE COMMAND FILE
1054 000442' 260740 007621' CALL CRLTYP
1055 000443' 402000 040632' SETZM CMDTKR
1056
1057 000001 014070 LEVEL0: TXZ FLG,F.LOPN!F.MASK!F.MOPN!F.CACH!F.WRIT!F.LBKT
1058 000444' 630400 042677'
1059 000445' 202400 040705' MOVEM FLG,FLGSAV ;SAVE IN CASE OF REENTER
1060 000446' 547000 040536' HLRS ORADIX ;RESET OUTPUT RADIX
1061 000447' 547000 040535' HLRS O.MODE ;RESET CURRENT OUTPUT MODE FROM PERMANENT
1062 000450' 547000 040534' HLRS BYTCNT ;RESET REPETITION COUNT
1063 000451' LEVEL1:
1064 777740 041011' LEVEL2: MOVE P,[IOWD PDLEN,PDL]
1065 000451' 200740 042216'
1066 000452' 620400 003700 TXZ FLG,F.SYMB!F.TEXT!F.IOCT!F.IDEC!F.IHEX
1067 440700 040635' MOVE T1,[POINT 7,CMDLIN]
1068 000453' 200440 042700'
1069 000454' 202440 040634' MOVEM T1,CMDPTR ;SAVE NEW COMMAND PUTTER
1070 000012 040120' MOVE STATE,[T2,,STATE0] ;DISPATCH TABLE WHEN IDLE
1071 000455' 200300 042701'
1072 441000 040464' MOVE T1,[POINT 8,DATA]
1073 000456' 200440 042702'
1074 000457' 332000 040432' SKIPE PDP8F
1075 441400 040464' MOVE T1,[POINT 12,DATA]
1076 000460' 200440 042703'
1077 000461' 202440 040421' MOVEM T1,DAT ;POINTER TO DATA AREA
1078 000462' 402000 040423' SETZM DTFINP
1079 040534' 040537' MOVE T1,[BYTCNT,,ESCSAV] ;SPECIAL CARE OF THINGS SET
1080 000463' 200440 042704'
1081 000464' 251440 040541' BLT T1,ESCSAV+2 ; WITH ESCAPE COMMANDS
1082 000465' 402000 040430' SETZM LFTSAV ;NO PARTIAL X<Y>
1083 000466' 260740 001075' LEVEL3: CALL GETEXP ;GET AN EXPRESSION
1084 000467' 254000 000567' JRST COMAND ;CHECK FOR COMMAND FILE
1085 000470' 135440 040634' LDB T1,CMDPTR ;GET LAST CHARACTER
1086 000471' 302440 000040 CAIE T1,40 ;WAS IT A SPACE ?
1087 000472' 254000 000542' JRST LEVEL8
1088 000473' 332000 040432' SKIPE PDP8F ;DOING PDP8 INSTRUCTIONS ?
1089 000474' 254000 000541' JRST LEVEL6
1090 000475' 603400 000020 TXNE FLG,F.SYML ;DID WE HAVE A SYMBOL ?
1091 000476' 607240 000004 TLNN SYM,SMF.IN ;WAS IT AN INSTRUCTION ?
1092 000477' 254000 000542' JRST LEVEL8
1093 000500' 200440 040426' MOVE T1,EXPRESS ;GET EXPRESSION
1094 000501' 136440 040421' IDPB T1,DAT ;SAVE IT
1095 000502' 261740 040421' PUSH P,DAT ;SAVE POINTER TO OPCODE
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 18-1
DDT11 MAC 18-May-81 17:27 MAJOR LOOP
1096 000503' 241440 777770 ROT T1,-^D8
1097 000504' 136440 040421' IDPB T1,DAT
1098 000505' 260740 001664' CALL NDTFIN ;SET NEXT DTFINP
1099 000506' 261740 000005 PUSH P,SYM ;SAVE SYMBOL POINTER
1100 000507' 603240 000010 TLNE SYM,SMF.EI ;WAS THIS AN EIS INSTRUCTION ?
1101 400440 000000 JRST [SETZ T1, ;ARG FOR LEVEL5
1102 260740 000767' CALL LEVEL5
1103 135440 040634' LDB T1,CMDPTR ;GET BREAK CHARACTER
1104 302440 000054 CAIE T1,","
1105 254000 000536' JRST LEVEL7
1106 200257 000000 MOVE SYM,(P) ;RESTORE SYMBOL POINTER
1107 254000 000511' JRST .+1 ]
1108 000510' 254000 042705'
1109 000511' 603240 001210 TLNE SYM,SMF.JS!SMF.SB!SMF.EI ;WAS THIS A JSR OR SOB OR EIS ?
1110 260740 001065' JRST [ CALL GETREG ;GET REGISTER NAME ARGUMENT
1111 200557 777777 MOVE T3,-1(P) ;GET POINTER TO OPCODE
1112 135500 000013 LDB T2,T3 ;GET LOW ORDER BITS
1113 134540 000013 ILDB T3,T3 ;GET HIGH ORDER BITS
1114 101000 000012 DPB T3,[POINT 8,T2,27]
1115 137540 042714'
1116 060300 000012 DPB T1,[POINT 3,T2,29]
1117 137440 042715'
1118 200557 777777 MOVE T3,-1(P) ;GET POINTER TO OPCODE AGAIN
1119 137500 000013 DPB T2,T3 ;RESTORE LOW ORDER BITS
1120 242500 777770 LSH T2,-^D8
1121 136500 000013 IDPB T2,T3
1122 200257 000000 MOVE SYM,(P) ;RESTORE SYM POINTER
1123 603240 000010 TLNE SYM,SMF.EI ;IF EIS DON'T CHECK ","
1124 254000 000513' JRST .+1
1125 135440 040634' LDB T1,CMDPTR
1126 302440 000054 CAIE T1,"," ;PROPER BREAK ?
1127 254000 000536' JRST LEVEL7
1128 254000 000513' JRST .+1]
1129 000512' 254000 042716'
1130 000513' 201440 000006 MOVEI T1,^D6 ;ARG FOR LEVEL5
1131 000514' 603240 000040 TLNE SYM,SMF.SS
1132 260740 000767' JRST [CALL LEVEL5
1133 135440 040634' LDB T1,CMDPTR;GET BREAK CHARACTER
1134 302440 000054 CAIE T1,","
1135 254000 000536' JRST LEVEL7
1136 200257 000000 MOVE SYM,(P) ;RELOAD POINTER TO SYMBOL
1137 254000 000516' JRST .+1]
1138 000515' 254000 042737'
1139 000516' 400440 000000 SETZ T1, ;ARG FOR LEVEL5
1140 000517' 603240 000060 TLNE SYM,SMF.DD!SMF.SS
1141 000520' 260740 000767' CALL LEVEL5
1142 000521' 200257 000000 MOVE SYM,(P) ;GET FLAGS AGAIN
1143 000522' 603240 000100 TLNE SYM,SMF.BR ;WAS THIS A BRANCH TYPE INSTRUCTION ?
1144 260740 001075' JRST [CALL GETEXP ;GET BRANCH ADR
1145 254000 001640' JRST ILLCHR
1146 200440 040426' MOVE T1,EXPRESS;GET DESTINATION ADR
1147 562440 040543' HRROM T1,LSTIAD;SAVE LAST ADR TYPED IN
1148 274440 040423' SUB T1,DTFINP
1149 240440 777777 ASH T1,-1
1150 370000 000011 SOS T1
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 18-2
DDT11 MAC 18-May-81 17:27 MAJOR LOOP
1151 405440 177777 ANDI T1,177777
1152 301440 000200 CAIL T1,200
1153 301440 177600 CAIL T1,177600
1154 624440 777400 TRZA T1,777400
1155 254000 001640' JRST ILLCHR
1156 137457 777777 DPB T1,-1(P)
1157 254000 000536' JRST LEVEL7 ]
1158 000523' 254000 042745'
1159 000524' 603240 010000 TLNE SYM,SMF.MK ;WAS THIS A MARK ?
1160 260740 001075' JRST [CALL GETEXP ;GET ARGUMENT
1161 254000 001640' JRST ILLCHR
1162 200440 040426' MOVE T1,EXPRESS
1163 135517 777777 LDB T2,-1(P) ;GET LOW ORDER BITS OF OPCODE
1164 000600 000012 DPB T1,[POINT 6,T2,35]
1165 137440 042763'
1166 137517 777777 DPB T2,-1(P) ;PUT OPCODE BACK IN DATA
1167 254000 000536' JRST LEVEL7 ]
1168 000525' 254000 042764'
1169 000526' 603240 002000 TLNE SYM,SMF.EM ;EMT TYPE INSTRUCTION ?
1170 260740 001075' JRST [CALL GETEXP ;GET OPERAND
1171 254000 001640' JRST ILLCHR
1172 200440 040426' MOVE T1,EXPRESS ;GET OPERAND
1173 137457 777777 DPB T1,-1(P) ;PUT OPERAND IN INSTRUCTION
1174 254000 000536' JRST LEVEL7 ]
1175 000527' 254000 042773'
1176 000530' 603240 000400 TLNE SYM,SMF.RT ;RTS TYPE INSTRUCTION ?
1177 260740 001065' JRST [CALL GETREG ;GET REGISTER NAME
1178 135517 777777 LDB T2,-1(P) ;GET LOW ORDER BITS OF OPCODE
1179 000300 000012 DPB T1,[POINT 3,T2,35]
1180 137440 043000'
1181 137517 777777 DPB T2,-1(P)
1182 254000 000536' JRST LEVEL7 ]
1183 000531' 254000 043001'
1184 000532' 603240 020000 TLNE SYM,SMF.PL ;WAS THIS A SPL TYPE ?
1185 260740 001075' JRST [CALL GETEXP ;GET ARGUMENT
1186 254000 001640' JRST ILLCHR
1187 200440 040426' MOVE T1,EXPRESS
1188 135517 777777 LDB T2,-1(P) ;GET LOWORDER BITS OF OPCODE
1189 000300 000012 DPB T1,[POINT 3,T2,35]
1190 137440 043000'
1191 137517 777777 DPB T2,-1(P)
1192 254000 000536' JRST LEVEL7 ]
1193 000533' 254000 043006'
1194 000534' 603240 000200 TLNE SYM,SMF.SB ;WAS THIS A SOB ?
1195 260740 001075' JRST [CALL GETEXP ;GET ADDRESS
1196 254000 001640' JRST ILLCHR
1197 200440 040426' MOVE T1,EXPRESS
1198 562440 040543' HRROM T1,LSTIAD ;IN CASE ENDS WITH A TAB
1199 550500 040423' HRRZ T2,DTFINP
1200 275511 777776 SUBI T2,-2(T1)
1201 405500 177777 ANDI T2,177777
1202 242500 777777 LSH T2,-1
1203 301500 000100 CAIL T2,100
1204 254000 001640' JRST ILLCHR ;OUT OF RANGE
1205 135457 777777 LDB T1,-1(P) ;GET LOW ORDER BITS OF OPCODE
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 18-3
DDT11 MAC 18-May-81 17:27 MAJOR LOOP
1206 000600 000011 DPB T2,[POINT 6,T1,35]
1207 137500 043015'
1208 137457 777777 DPB T1,-1(P) ;RESTORE
1209 254000 000536' JRST LEVEL7 ]
1210 000535' 254000 043016'
1211 000536' 262740 000005 LEVEL7: POP P,SYM
1212 000537' 262740 000011 POP P,T1
1213 000540' 254000 000556' JRST LEVEL9
1214 000541' 254000 000556' LEVEL6: JRST LEVEL9
1215
1216 000542' 607400 000040 LEVEL8: TXNN FLG,F.GEXP ;DID WE GET ANYTHING ?
1217 000543' 254000 000556' JRST LEVEL9 ;NO
1218 000544' 200440 040426' MOVE T1,EXPRESS
1219 000545' 505440 400000 HRLI T1,400000 ;ASSUME REGISTER
1220 000546' 603400 000020 TXNE FLG,F.SYML ;WAS THERE A SYMBOL IN EXPRESSION ?
1221 000547' 607240 000002 TLNN SYM,SMF.RG ;WAS THAT A REGISTER NAME ?
1222 000550' 563000 000011 HRROS T1 ;MEMORY ADR
1223 000551' 202440 040543' MOVEM T1,LSTIAD ;SAVE LAST ADR TYPED IN
1224 000552' 136440 040421' IDPB T1,DAT
1225 000553' 242440 777770 LSH T1,-^D8
1226 000554' 136440 040421' IDPB T1,DAT
1227 000555' 260740 001664' CALL NDTFIN ;ADVANCE DTFINP
1228 441000 040464' LEVEL9: MOVE T4,[POINT 8,DATA] ;POINTER TO DATA
1229 000556' 200600 042702'
1230 000557' 332000 040432' SKIPE PDP8F
1231 000560' 505600 441400 HRLI T4,(POINT 12)
1232 000561' 135440 040634' LDB T1,CMDPTR ;GET BREAK CHARACTER
1233 000562' 241440 777777 ROT T1,-1
1234 000563' 603440 400000 TLNE T1,400000
1235 000564' 334511 040320' SKIPA T2,STATEB(T1)
1236 000565' 554511 040320' HLRZ T2,STATEB(T1)
1237 000566' 254012 000000 JRST (T2) ;DISPATCH ON BREAK CHARACTER
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 19
DDT11 MAC 18-May-81 17:27 MAJOR LOOP
1238 ;HERE IF FIRST GETEXP GIVES ERROR RETURN
1239
1240 360600 040463' COMAND: LDB T1,[POINT 6,SYMBOL,5] ;GET FIRST CHAR OF SYMBOL
1241 000567' 135440 043034'
1242 000570' 302440 000005 CAIE T1,' %'
1243 000571' 254000 000451' JRST LEVEL2 ;PUNT
1244 ;SKIPN CMDFIL
1245 ; JRST ILLCHR
1246 000572' 200440 040463' MOVE T1,SYMBOL ;GET SYMBOL
1247 054757 645700 CAMN T1,[SIXBIT \%GOTO\]
1248 000573' 316440 043035'
1249 000574' 254000 000600' JRST %GOTO
1250 055146 000000 CAMN T1,[SIXBIT \%IF\]
1251 000575' 316440 043036'
1252 000576' 254000 000645' JRST %IF
1253 000577' 254000 001640' JRST ILLCHR
1254
1255 ;HERE IF DOING "%GOTO"
1256 000600' 260740 006776' %GOTO: CALL SIXIN ;FIND WHERE TO GO
1257 000601' 254000 001640' JRST ILLCHR
1258 000602' 202440 040463' %GOTO3: MOVEM T1,SYMBOL ;REMEMBER WHERE TO GO
1259 000603' 260740 005153' CALL SYMFND ;SEE IF WE KNOW IT
1260 260740 000620' JRST [CALL FNDTAG
1261 254000 001640' JRST ILLCHR
1262 254000 000605' JRST .+1 ]
1263 000604' 254000 043037'
1264 000605' 332000 003274' SKIPE CSECHO ;ECHOING COMMAND FILE ?
1265 000606' 254000 000613' JRST %GOTO5 ;NO
1266 000607' 260740 007621' CALL CRLTYP ;BEGIN WITH A FLOURISH
1267 000610' 200445 000000 MOVE T1,(SYM) ;GET TAG NAME
1268 000611' 260740 007600' CALL SIXTYP
1269 000612' 260740 007607' CALL COLTYP ;END WITH A ":"
1270 000613' 200445 000001 %GOTO5: MOVE T1,1(SYM) ;GET VALUE
1271 000614' 202440 003276' MOVEM T1,CMDCNT ;WHERE WE WILL BE
1272 000615' 260740 006741' CALL FILPOS ;POSITION FILE
1273 000616' 254000 001640' JRST ILLCHR
1274 000617' 254000 000451' JRST LEVEL2
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 20
DDT11 MAC 18-May-81 17:27 MAJOR LOOP
1275 ;HERE TO SEARCH THROUGH REST OF FILE TO FIND TAG
1276
1277 000620' 563000 003274' FNDTAG: HRROS CSECHO ;SUPPRESS ECHO WHILE SEARCHING
1278 000621' 260740 006776' CALL SIXIN ;GET NEXT SIXBIT WORD
1279 000622' 254000 000641' JRST FNDTG8
1280 000623' 302640 000072 CAIE T5,":" ;WAS THAT A TAG DEFINITION ?
1281 000624' 254000 000641' JRST FNDTG8 ;NO
1282 360600 000011 LDB T2,[POINT 6,T1,5] ;DID IT START WITH A % ?
1283 000625' 135500 043042'
1284 000626' 302500 000005 CAIE T2,' %'
1285 000627' 254000 000641' JRST FNDTG8
1286 000630' 200500 003276' MOVE T2,CMDCNT ;VALUE OF TAG
1287 000631' 205540 000001 MOVSI T3,SMF.SU ;SUPPRESSED
1288 000632' 402000 000014 SETZM T4 ;MISC
1289 000633' 260740 005232' CALL ADDSYM ;ADD IT TO OUR TABLE
1290 000634' 200445 000000 MOVE T1,(SYM) ;GET SYMBOL
1291 000635' 312440 040463' CAME T1,SYMBOL ;WAS THIS WHAT WE WANTED ?
1292 000636' 254000 000641' JRST FNDTG8 ;NO SO KEEP LOOKING
1293 000637' 553000 003274' HRRZS CSECHO ;TURN ECHOING BACK ON
1294 000640' 254000 005177' RETSKP
1295
1296 000641' 332000 003275' FNDTG8: SKIPE CMDFIL ;DID WE HIT END OF FILE ?
1297 000642' 254000 000620' JRST FNDTAG ;NO SO KEEP LOOKING
1298 000643' 553000 003274' HRRZS CSECHO ;TURN ECHO BACK ON
1299 000644' 263740 000000 RET
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 21
DDT11 MAC 18-May-81 17:27 MAJOR LOOP
1300 ;HERE IF DOING A %IF COMMAND
1301 000645' 260740 006776' %IF: CALL SIXIN ;GET CONDITION
1302 000646' 254000 001640' JRST ILLCHR ;LOSE
1303 000647' 400540 000000 SETZ T3,
1304 000650' 336013 000732' %IF..3: SKIPN %IFLST(T3)
1305 000651' 254000 001640' JRST ILLCHR ;LOSE CAUSE CAN'T FIND THAT TYPE
1306 000652' 312453 000732' CAME T1,%IFLST(T3) ;FIND IT ?
1307 000653' 344540 000650' AOJA T3,%IF..3
1308 000654' 254033 000751' JRST @%IFDSP(T3) ;DISPATCH ON TYPE OF CONDITION
1309
1310 ;HERE FOR "%IF DEF" OR "IF DF"
1311 000655' 260740 006776' %IFDEF: CALL SIXIN ;GET WHAT MIGHT BE DEFINED
1312 000656' 254000 001640' JRST ILLCHR ;LOSE CAUSE END OF FILE
1313 000657' 260740 005153' CALL SYMFND ;GO SEE IF WE CAN FIND IT
1314 000660' 254000 000727' JRST %IFNOT ;NOT DEFINE SO DON'T DO IT
1315 000661' 254000 000716' JRST %IFTRUE ;FOUND IT
1316
1317 ;HERE FOR "%IF ERR"
1318 000662' 627400 010000 %IFERR: TXZN FLG,F.CERR
1319 000663' 254000 000727' JRST %IFNOT ;DON'T DO IT
1320 000664' 254000 000716' JRST %IFTRU ;DO IT
1321
1322 ;HERE FOR "%IF NDF"
1323 000665' 260740 006776' %IFNDF: CALL SIXIN ;GET SYMBOL TO CHECK
1324 000666' 254000 001640' JRST ILLCHR ;LOSE
1325 000667' 260740 005153' CALL SYMFND ;SEE IF WE CAN FIND IT
1326 000670' 254000 000716' JRST %IFTRUE ;WHAT HE WAS LOOKING FOR
1327 000671' 254000 000727' JRST %IFNOT
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 22
DDT11 MAC 18-May-81 17:27 MAJOR LOOP
1328 ;HERE FOR "IF EQ"
1329 332000 000011 %IF.EQ: MOVE T1,[SKIPE T1]
1330 000672' 200440 043043'
1331 000673' 254000 000706' JRST %IFEXP
1332
1333 ;HERE FOR "%IF G" OR "%IF GT"
1334 337000 000011 %IF.GT: MOVE T1,[SKIPG T1]
1335 000674' 200440 043044'
1336 000675' 254000 000706' JRST %IFEXP
1337
1338 ;HERE FOR "%IF GE"
1339 335000 000011 %IF.GE: MOVE T1,[SKIPGE T1]
1340 000676' 200440 043045'
1341 000677' 254000 000706' JRST %IFEXP
1342
1343 ;HERE FOR "%IF NE" OR "%IF N"
1344 336000 000011 %IF.NE: MOVE T1,[SKIPN T1]
1345 000700' 200440 043046'
1346 000701' 254000 000706' JRST %IFEXP
1347
1348 ;HERE FOR "%IF L" OR "%IF LT"
1349 331000 000011 %IF.LT: MOVE T1,[SKIPL T1]
1350 000702' 200440 043047'
1351 000703' 254000 000706' JRST %IFEXP
1352
1353 ;HERE FOR "%IF LE"
1354 333000 000011 %IF.LE: MOVE T1,[SKIPLE T1]
1355 000704' 200440 043050'
1356 000705' 254000 000706' JRST %IFEXP
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 23
DDT11 MAC 18-May-81 17:27 MAJOR LOOP
1357 000706' 261740 000011 %IFEXP: PUSH P,T1 ;SAVE TEST
1358 000707' 260740 001075' CALL GETEXP ;GET EXPRESSION TO EVALUATE
1359 000710' 254000 001640' JRST ILLCHR ;LOSE CAUSE EPRESSION NOT HERE
1360 000711' 602440 100000 TRNE T1,100000 ;IS THIS NEGATIVE ?
1361 000712' 465440 077777 ORCMI T1,077777 ;EXTEND SIGN
1362 000713' 262740 000012 POP P,T2 ;GET TEST
1363 000714' 256000 000012 XCT T2
1364 000715' 254000 000727' JRST %IFNOT ;NOT TRUE
1365 000716' 260740 006776' %IFTRU: CALL SIXIN
1366 000717' 254000 001640' JRST ILLCHR ;MUST BE END OF FILE
1367 000720' 400500 000000 SETZ T2,
1368 000721' 245440 000006 ROTC T1,6
1369 000722' 302500 000005 CAIE T2,' %'
1370 000723' 245440 777772 ROTC T1,-6
1371 000724' 201500 000005 MOVEI T2,' %'
1372 000725' 245440 777772 ROTC T1,-6
1373 000726' 254000 000602' JRST %GOTO3 ;BRANCH TO THAT TAG
1374
1375 ;HERE BECAUSE CONDITION NOT TRUE
1376 000727' 260740 006776' %IFNOT: CALL SIXIN
1377 000730' 254000 001640' JRST ILLCHR
1378 000731' 254000 000451' JRST LEVEL2 ;ON TO OTHER THINGS
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 24
DDT11 MAC 18-May-81 17:27 MAJOR LOOP
1379 DEFINE NAMES <
1380 X DEF,%IFDEF
1381 X DF,%IFDEF
1382 X E,%IF.EQ
1383 X EQ,%IF.EQ
1384 X ERR,%IFERR
1385 X G,%IF.GT
1386 X GE,%IF.GE
1387 X GT,%IF.GT
1388 X N,%IF.NE
1389 X NDF,%IFNDF
1390 X NE,%IF.NE
1391 X L,%IF.LT
1392 X LE,%IF.LE
1393 X LT,%IF.LT
1394 >
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 25
DDT11 MAC 18-May-81 17:27 MAJOR LOOP
1395 DEFINE X (A,B),< SIXBIT \A\ >
1396 000732' 444546 000000 %IFLST: NAMES
1397 000733' 444600 000000
1398 000734' 450000 000000
1399 000735' 456100 000000
1400 000736' 456262 000000
1401 000737' 470000 000000
1402 000740' 474500 000000
1403 000741' 476400 000000
1404 000742' 560000 000000
1405 000743' 564446 000000
1406 000744' 564500 000000
1407 000745' 540000 000000
1408 000746' 544500 000000
1409 000747' 546400 000000
1410 000750' 000000 000000 Z
1411 DEFINE X (A,B),< EXP B >
1412 000751' 000000 000655' %IFDSP: NAMES
1413 000752' 000000 000655'
1414 000753' 000000 000672'
1415 000754' 000000 000672'
1416 000755' 000000 000662'
1417 000756' 000000 000674'
1418 000757' 000000 000676'
1419 000760' 000000 000674'
1420 000761' 000000 000700'
1421 000762' 000000 000665'
1422 000763' 000000 000700'
1423 000764' 000000 000702'
1424 000765' 000000 000704'
1425 000766' 000000 000702'
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 26
DDT11 MAC 18-May-81 17:27 MAJOR LOOP
1426 ;HERE TO DO SS OR DD FIELD
1427 000767' 261740 000011 LEVEL5: PUSH P,T1
1428 000770' 260740 001014' CALL GETOPR ;GET OPERAND
1429 262740 000011 JRST [POP P,T1 ;CLEAN OFF STACK
1430 262740 000011 POP P,T1 ;POP OFF RETURN
1431 254000 000451' JRST LEVEL2 ]
1432 000771' 254000 043051'
1433 220600 000011 LDB T3,[POINT 6,T1,17] ;GET MODE
1434 000772' 135540 043054'
1435 000773' 302540 000027 CAIE T3,27 ;IMMEDIATE ?
1436 000774' 306540 000037 CAIN T3,37 ;OR ABSOLUTE ?
1437 000775' 254000 000777' JRST LEVEL4
1438 000776' 301540 000060 CAIL T3,60
1439 136440 040421' LEVEL4: JRST [IDPB T1,DAT
1440 242440 777770 LSH T1,-^D8
1441 136440 040421' IDPB T1,DAT
1442 201440 000002 MOVEI T1,2
1443 272440 040423' ADDM T1,DTFINP
1444 254000 001000' JRST .+1 ]
1445 000777' 254000 043055'
1446 001000' 262740 000011 POP P,T1 ;GET POSITION
1447 001001' 242551 000000 LSH T3,(T1)
1448 001002' 200517 777776 MOVE T2,-2(P) ;GET POINTER TO OPCODE
1449 001003' 135440 000012 LDB T1,T2 ;GET LOW ORDER BITS
1450 001004' 134500 000012 ILDB T2,T2 ;GET HIGH ORDER BITS
1451 101000 000011 DPB T2,[POINT 8,T1,27]
1452 001005' 137500 043063'
1453 001006' 660453 000000 TRO T1,(T3) ;SET SS OR DD MODE
1454 001007' 200517 777776 MOVE T2,-2(P) ;GET POINTER TO OPCODE
1455 001010' 137440 000012 DPB T1,T2 ;SAVE LOW ORDER BITS
1456 001011' 242440 777770 LSH T1,-^D8
1457 001012' 136440 000012 IDPB T1,T2 ;SAVE HIGH ORDER BITS
1458 001013' 263740 000000 RET
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 27
DDT11 MAC 18-May-81 17:27 MAJOR LOOP
1459 ;HERE TO GET AN OPERAND
1460 ; CALL CALL GETOPR
1461 ; LOSE RETURN
1462 ; WIN WITH T1/ MODE,,ADR
1463 001014' 621400 000016 GETOPR: TXZ FLG,F.HASH!F.PERC!F.LPAR
1464 001015' 205040 400000 MOVSI AC1,400000 ;BUILD MODE HERE
1465 001016' 260740 001075' GETOP0: CALL GETEXP
1466 001017' 263740 000000 RET
1467 001020' 135440 040634' LDB T1,CMDPTR ;GET BREAK CHAR
1468 001021' 306440 000100 CAIN T1,"@"
1469 667040 000010 JRST [ TLON AC1,10 ;BIT FOR INDIRECT
1470 603400 000040 TXNE FLG,F.GEXP
1471 254000 001640' JRST ILLCHR
1472 254000 001016' JRST GETOP0]
1473 001022' 254000 043064'
1474 001023' 306440 000043 CAIN T1,"#"
1475 667400 000002 JRST [ TXON FLG,F.HASH
1476 603400 000040 TXNE FLG,F.GEXP
1477 254000 001640' JRST ILLCHR
1478 254000 001016' JRST GETOP0]
1479 001024' 254000 043070'
1480 001025' 306440 000055 CAIN T1,"-" ;IS THIS AUTO DECREMENT ?
1481 667040 000040 JRST [TLON AC1,40 ;FLAG AUTO DECREMENT
1482 603400 000040 TXNE FLG,F.GEXP ;WAS THERE ANY DATA ?
1483 254000 001640' JRST ILLCHR
1484 260740 010604' CALL GETCHR ;GET THE (
1485 136440 040634' IDPB T1,CMDPTR
1486 302440 000050 CAIE T1,"("
1487 254000 001640' JRST ILLCHR
1488 254000 001047' JRST GETOP5 ]
1489 001026' 254000 043074'
1490 001027' 306440 000050 CAIN T1,"("
1491 663400 000010 JRST [TXOE FLG,F.LPAR
1492 254000 001640' JRST ILLCHR
1493 540040 040426' HRR AC1,EXPRESS ;IN CASE INDEXED
1494 607040 000010 TLNN AC1,10 ;HAVE A @ ALSO ?
1495 603400 000040 TXNE FLG,F.GEXP ;WAS IT INDEXED ?
1496 661040 000060 TLO AC1,60 ;REMEMBER WAS INDEXED
1497 254000 001047' JRST GETOP5 ]
1498 001030' 254000 043104'
1499 001031' 607400 000040 TXNN FLG,F.GEXP ;DID WE GET SOMETHING ?
1500 001032' 254000 001640' JRST ILLCHR
1501 001033' 540040 040426' HRR AC1,EXPRESS ;GET EXPRESSION
1502 001034' 603400 000400 TXNE FLG,F.SREG
1503 220300 000001 JRST [DPB AC1,[POINT 3,AC1,17]
1504 137040 043113'
1505 254000 001062' JRST GETOP8 ]
1506 001035' 254000 043114'
1507 001036' 603400 000002 TXNE FLG,F.HASH ;WAS THAT IMMEDIATE ?
1508 661040 000027 JRST [TLO AC1,27 ;SET IMMEDIATE OR ABSOLUTE
1509 254000 001062' JRST GETOP8 ]
1510 001037' 254000 043116'
1511 001040' 661040 000067 TLO AC1,67
1512 001041' 551441 777774 HRRZI T1,-4(AC1)
1513 001042' 274440 040423' SUB T1,DTFINP
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 27-1
DDT11 MAC 18-May-81 17:27 MAJOR LOOP
1514 001043' 405440 177777 ANDI T1,177777
1515 001044' 562040 040543' HRROM AC1,LSTIAD ;IN CASE ENDS WITH AN HT
1516 001045' 540040 000011 HRR AC1,T1
1517 001046' 254000 001063' JRST GETOP9
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 28
DDT11 MAC 18-May-81 17:27 MAJOR LOOP
1518 ;HERE TO GET THE REGISTER NAME IN OPERAND SPECIFICATION
1519 001047' 260740 001065' GETOP5: CALL GETREG ;GET REGISTER NAME
1520 220300 000001 DPB T1,[POINT 3,AC1,17] ;PUT REGISTER NAME IN MODE
1521 001050' 137440 043113'
1522 001051' 135440 040634' LDB T1,CMDPTR ;GET BREAK CHARACTER
1523 001052' 302440 000051 CAIE T1,")"
1524 001053' 254000 001640' JRST ILLCHR
1525 001054' 260740 010604' GETOP6: CALL GETCHR ;GET NEXT CHARACTER
1526 001055' 136440 040634' IDPB T1,CMDPTR
1527 001056' 306440 000053 CAIN T1,"+" ;WAS THAT AUTO INCREMENT ?
1528 667040 000020 JRST [TLON AC1,20 ;ALREADY SEEN "+"
1529 603040 000040 TLNE AC1,40
1530 254000 001640' JRST ILLCHR
1531 254000 001054' JRST GETOP6 ]
1532 001057' 254000 043120'
1533 001060' 607040 000070 TLNN AC1,70
1534 001061' 661040 000010 TLO AC1,10
1535 001062' 202440 040543' GETOP8: MOVEM T1,LSTIAD ;LAST ADDRESS INPUT
1536 001063' 200440 000001 GETOP9: MOVE T1,AC1 ;PUT RESULT IN RIGHT REG
1537 001064' 254000 005177' RETSKP
1538
1539 ;HERE TO GET A REGISTER ARGUMENT
1540 001065' 260740 001075' GETREG: CALL GETEXP ;GET REGISTER NAME
1541 001066' 254000 001640' JRST ILLCHR
1542 001067' 607400 000400 TXNN FLG,F.SREG
1543 001070' 254000 001640' JRST ILLCHR
1544 001071' 200440 040426' MOVE T1,EXPRESS
1545 001072' 505440 400000 HRLI T1,400000
1546 001073' 202440 040543' MOVEM T1,LSTIAD ;LAST ADDRESS INPUT
1547 001074' 263740 000000 RET
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 29
DDT11 MAC 18-May-81 17:27 MAJOR LOOP
1548 ;HERE TO GET AN EXPRESSION
1549 ; CALL CALL GETEXP
1550 ; LOSE RETURN
1551 ; WIN RETURN EXPRESSION IN T1, AND FLAGS SET
1552 001075' 402000 040426' GETEXP: SETZM EXPRES ;ACCUMULATED EXPRESSION
1553 001076' GTEXP1: TXZ FLG,F..ESC!F..SIM!F.GEXP!F.SYML!F.SYMB!F.TEXT!F.IOCT!F.IDEC!F.IHEX!F.SREG!F.
1554 021460 203700 FELE
1555 001076' 630400 043124'
1556 001077' 402000 040524' SETZM INPOPR ;CLEAR INPUT OPERATOR
1557 001100' 402000 040427' SETZM REMAIN ;REMAINDER OF LAST DIVISION
1558 001101' 402000 042173' SETZM OCTIN#
1559 001102' 402000 042167' SETZM DECIN#
1560 001103' 402000 042170' SETZM HEXIN#
1561 001104' 402000 040463' SETZM SYMBOL
1562 440600 040463' MOVE T1,[POINT 6,SYMBOL]
1563 001105' 200440 043125'
1564 001106' 202440 040462' MOVEM T1,SYMPTR
1565 001107' 260740 010604' GTEXP2: CALL GETCHR ;GET FIRST CHARACTER
1566 001110' 306440 000040 CAIN T1," " ;WAS IT A BLANK ?
1567 001111' 254000 001107' JRST GTEXP2 ;YES SO FLUSH IT
1568 001112' 304000 000000 CAIA
1569
1570 001113' 260740 010604' LOOP: CALL GETCHR ;GET A COMMAND CHAR
1571 001114' 136440 040634' IDPB T1,CMDPTR ;REMEMBER CHAR IN CASE NEED TO RESCAN
1572 001115' 550500 000011 LOOP1: HRRZ T2,T1
1573 001116' 242500 777777 LSH T2,-1
1574 001117' 602440 000001 TRNE T1,1
1575 001120' 334520 000006 SKIPA T2,@STATE
1576 001121' 554520 000006 HLRZ T2,@STATE
1577 001122' 254012 000000 JRST (T2) ;DISPATCH ON CHARACTER
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 30
DDT11 MAC 18-May-81 17:27 MAJOR LOOP
1578 ;HERE WHEN ASSEMBLING NUMBER AND FIND A PERIOD
1579 001123' 606400 000600 ASSPER: TXNN FLG,F.IDEC!F.IOCT
1580 001124' 254000 001155' JRST ASSYMB
1581 001125' 660400 000400 TXO FLG,F.IDEC
1582 001126' 620400 001200 TXZ FLG,F.IOCT!F.IHEX
1583 001127' 254000 001157' JRST ASYMB2
1584 ;HERE WHEN NUMBER MUST BE DECIMAL
1585 001130' 660400 000400 ASSDEC: TXO FLG,F.IDEC
1586 001131' 620400 000200 TXZ FLG,F.IOCT
1587
1588 ;HERE WHEN ASSEMBLING A OCTAL, DECIMAL OR HEX NUMBER
1589 001132' 606400 001400 ASSNUM: TXNN FLG,F.IDEC!F.IHEX
1590 001133' 660400 000200 TXO FLG,F.IOCT
1591 001134' 200500 042173' MOVE T2,OCTIN
1592 001135' 242500 000003 LSH T2,3
1593 001136' 271511 777720 ADDI T2,-60(T1)
1594 001137' 202500 042173' MOVEM T2,OCTIN
1595 001140' 200500 042167' MOVE T2,DECIN
1596 001141' 221500 000012 IMULI T2,^D10
1597 001142' 271511 777720 ADDI T2,-60(T1)
1598 001143' 202500 042167' MOVEM T2,DECIN
1599 001144' 200500 042170' MOVE T2,HEXIN
1600 001145' 242500 000004 LSH T2,4
1601 001146' 271511 777720 ADDI T2,-60(T1)
1602 001147' 202500 042170' MOVEM T2,HEXIN
1603 001150' 254000 001157' JRST ASYMB2
1604
1605 ;HERE WHEN ENCOUNTER A PERCENT SIGN - POSSIBLE TAG OR REG NAME
1606 001151' 607400 020000 ASSPRC: TXNN FLG,F.FELE ;HAVE WE DONE FIRST ELEMENT OF EXPRESSION ?
1607 001152' 200500 040462' MOVE T2,SYMPTR ;GET POINTER TO SYMBOL
1608 440600 040463' CAME T2,[POINT 6,SYMBOL] ;STARTED SYMBOL YET ?
1609 001153' 312500 043125'
1610 001154' 254000 001316' JRST ACCUM ;CAN'T HAVE THIS IN MIDDLE !
1611
1612 ;HERE WHEN ASSEMBLING A SYMBOL
1613 001155' 660400 002000 ASSYMB: TXO FLG,F.SYMB
1614 001156' 620400 001600 TXZ FLG,F.IDEC!F.IOCT!F.IHEX
1615
1616 001157' 661400 000040 ASYMB2: TXO FLG,F.GEXP ;GOT SOMETHING
1617 001160' 301440 000141 CAIL T1,40+"A" ;CHECK FOR LOWER CASE
1618 001161' 303440 000172 CAILE T1,40+"Z"
1619 001162' 275440 000040 SUBI T1,40 ;CONVERT CHAR TO SIXBIT
1620 001163' 200500 040462' MOVE T2,SYMPTR ;GET POINTER TO SYMBOL
1621 000600 040463' CAME T2,[POINT 6,SYMBOL,35]
1622 001164' 312500 043126'
1623 001165' 136440 040462' IDPB T1,SYMPTR ;ADD CHAR TO SYMBOL
1624 001166' 254000 001113' JRST LOOP
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 31
DDT11 MAC 18-May-81 17:27 MAJOR LOOP
1625 ;HERE IF END EXPRESSION WITH A SPACE
1626 001167' 607400 020000 EXPSPC: TXNN FLG,F.FELE ;IS THIS FIRST ELEMENT OF EXPRESSION ?
1627 001170' 606400 002000 TXNN FLG,F.SYMB ;EVALUATING A SYMBOL ?
1628 001171' 254000 001201' JRST EXPLUS ;AFTER FIRST SUBEXPRESSION SAME AS PLUS
1629 001172' 260740 001407' CALL EVLSYM ;FIND WHAT SYMBOL IS
1630 001173' 263740 000000 RET
1631 001174' 607240 000004 TLNN SYM,SMF.IN ;WAS THAT AN INSTRUCTION
1632 001175' 254000 001201' JRST EXPLUS ;NO SO SAME AS PLUS
1633 001176' 200445 000001 MOVE T1,1(SYM) ;GET VALUE
1634 001177' 552440 040426' HRRZM T1,EXPRESS
1635 001200' 254000 005177' RETSKP
1636
1637 ;HERE IF END EXPRESSION WITH A PLUS
1638 001201' 634440 000011 EXPLUS: TDZA T1,T1 ;CODE FOR NEXT TIME IS 0
1639
1640 001202' 201440 000001 EXPMIN: MOVEI T1,1
1641 001203' 254000 001215' JRST EXP.DO
1642
1643 001204' 201440 000002 EXPMUL: MOVEI T1,2
1644 001205' 254000 001215' JRST EXP.DO
1645
1646 001206' 201440 000003 EXPDIV: MOVEI T1,3
1647 001207' 254000 001215' JRST EXP.DO
1648
1649 001210' 201440 000004 EXPIOR: MOVEI T1,4
1650 001211' 254000 001215' JRST EXP.DO
1651
1652 001212' 201440 000005 EXPAND: MOVEI T1,5
1653 001213' 254000 001215' JRST EXP.DO
1654
1655 001214' 201440 000006 EXPXOR: MOVEI T1,6
1656 001215' 661400 020000 EXP.DO: TXO FLG,F.FELE ;HAVE SEEN FIRST ELEMENT
1657 001216' 200511 040525' MOVE T2,PRECED(T1) ;GET PRECEDENCE OF NEW OPERATOR
1658 001217' 200540 040524' MOVE T3,INPOPR ;PREVIOUS OPERATOR
1659 001220' 200553 040525' MOVE T3,PRECED(T3) ;GET PRECEDENCE OF OLD OPERATOR
1660 001221' 317500 000013 CAMG T2,T3
1661 001222' 254000 001235' JRST EXPDO5
1662 001223' 261740 040426' PUSH P,EXPRESS ;SAVE PARTIAL EXPRESSION SO FAR
1663 001224' 261740 040524' PUSH P,INPOPR ;AND PREVIOUS OPERATOR
1664 001225' 402000 040426' SETZM EXPRESS ;INITIALIZE EXPRESSION
1665 001226' 402000 040524' SETZM INPOPR
1666 001227' 260740 001235' PUSHJ P,EXPDO5 ;DO NEXT PART OF EXPRESSION
1667 001230' 370017 777776 SOS -2(P) ;UNSKIP RETURN FROM ACCUM3
1668 001231' 262740 040524' POP P,INPOPR ;PREVIOUS OPERATION
1669 001232' 200500 040426' MOVE T2,EXPRESS ;LATEST ACCUMULATION
1670 001233' 262740 040426' POP P,EXPRESS ;PREVIOUS ACCUMULATION
1671 001234' 254000 001344' JRST ACCUM3
1672 001235' 261740 000011 EXPDO5: PUSH P,T1 ;SAVE CODE FOR NEXT TIME
1673 001236' 260740 001316' CALL ACCUM ;ACCUMULATE EXPRESSION
1674 001237' 254000 003666' JRST TPOPJ ;CLEAN OFF STACK THEN RETURN
1675 001240' 262740 040524' POP P,INPOPR ;NEXT INPUT OPERATION
1676 001241' 254000 001113' JRST LOOP ;THEN DONE
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 32
DDT11 MAC 18-May-81 17:27 MAJOR LOOP
1677 ;HERE WHEN USER TYPES A <CONTROL F> - FILL FIELD
1678
1679 001242' 336440 040463' CNTRLF: SKIPN T1,SYMBOL ;ARE WE BUILDING A SYMBOL ?
1680 001243' 254000 001640' JRST ILLCHR ;DING HIM
1681 041001 004100 MOVEI T1,[BYTE (7)10,40,10,10,40,10,0] ;BACKUP OVER ^F
1682 001244' 201440 043127'
1683 001245' 200500 040704' MOVE T2,TTYBIT ;GET TTY BITS
1684 001246' 603500 200000 TXNE T2,TF.RUB ;VIDEO TERMINAL ?
1685 001247' 260740 007655' CALL TYPSTR ;YES SO CLEAN SCREEN
1686 001250' 261740 000014 PUSH P,T4
1687 001251' 261740 000015 PUSH P,T5
1688 001252' 476000 000015 SETOM T5 ;ESTABLISH COUNTER
1689 001253' 402000 000014 SETZM T4 ;ESTABLISH MATCH
1690 001254' 260740 002277' CALL MATCH ;TRY TO FIND PARTIAL MATCH
1691 001255' 322240 001270' JUMPE SYM,CNTLF5
1692 001256' 356000 000015 AOSN T5
1693 001257' 200605 000000 MOVE T4,(SYM) ;GET MATCH
1694 001260' 200445 000000 MOVE T1,(SYM) ;GET NEW MATCH
1695 777777 777777 SKIPA T2,[EXP -1] ;BUILD MASK
1696 001261' 334500 043131'
1697 001262' 242500 000006 CNTLF3: LSH T2,6 ;SHRINK MASK
1698 001263' 404440 000012 AND T1,T2 ;MASK NEW MATCH
1699 001264' 404600 000012 AND T4,T2 ;MASK PREVIOUS MATCH
1700 001265' 312440 000014 CAME T1,T4 ;MATCH LAST MATCH ?
1701 001266' 254000 001262' JRST CNTLF3
1702 001267' 263740 000000 RET
1703 001270' 322600 001305' CNTLF5: JUMPE T4,CNTLF8 ;CHECK FOR NO MATCHES
1704 001271' 430600 040463' XOR T4,SYMBOL ;LEAVE ONLY NEW CHARS
1705 001272' 322600 001304' JUMPE T4,CNTLF7
1706 001273' 242600 000006 CNTLF2: LSH T4,6
1707 001274' 607600 770000 TLNN T4,770000 ;SHIFTED FAR ENOUGH ?
1708 001275' 254000 001273' JRST CNTLF2
1709 001276' 400540 000000 CNTLF6: SETZ T3,
1710 001277' 246540 000006 LSHC T3,6
1711 001300' 201453 000040 MOVEI T1,40(T3)
1712 001301' 136440 040634' IDPB T1,CMDPTR
1713 001302' 260740 007666' CALL TYPCHR
1714 001303' 326600 001276' JUMPN T4,CNTLF6
1715 001304' 322640 001307' CNTLF7: JUMPE T5,CNTLF9 ;NO BELL IF ONLY ONE MATCH
1716 001305' 201440 000007 CNTLF8: MOVEI T1,7
1717 001306' 260740 007666' CALL TYPCHR
1718 001307' 262740 000015 CNTLF9: POP P,T5
1719 001310' 262740 000014 POP P,T4
1720 440700 040635' MOVE T1,[POINT 7,CMDLIN]
1721 001311' 200440 042700'
1722 001312' 202440 040632' MOVEM T1,CMDTKR ;RESCAN THE LINE
1723 001313' 200440 040634' MOVE T1,CMDPTR
1724 001314' 202440 040633' MOVEM T1,CMDLIM
1725 001315' 254000 000451' JRST LEVEL1
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 33
DDT11 MAC 18-May-81 17:27 MAJOR LOOP
1726 ;ROUTINE TO COMBINE ELEMENTS OF EXPRESSION
1727 ; MAY BE USED AS A SUBROUTINE OR AS EXIT FROM GETEXP
1728
1729 001316' 135440 040634' ACCUM: LDB T1,CMDPTR ;THE BREAK CHAR WHICH GOT US HERE
1730 001317' 302440 000050 CAIE T1,"(" ;WE ARE LOOKING FOR -(
1731 001320' 254000 001333' JRST ACCUM2 ;DEFINATELY NOT
1732 001321' 260740 001447' CALL RSCAN ;GET POINTER TO PREVIOUS CHAR
1733 001322' 135440 000012 LDB T1,T2 ;GET PREVIOUS CHAR
1734 001323' 302440 000055 CAIE T1,"-" ;WAS THIS AUTO DECREMENT ?
1735 001324' 254000 001333' JRST ACCUM2 ;NO
1736 001325' 200440 040634' MOVE T1,CMDPTR ;LIMIT
1737 001326' 336000 040632' SKIPN CMDTKR ;ALREADY DOING A RESCAN ?
1738 001327' 202440 040633' MOVEM T1,CMDLIM ;DOING ONE NOW
1739 001330' 202500 040632' MOVEM T2,CMDTKR
1740 001331' 202500 040634' MOVEM T2,CMDPTR
1741 001332' 254000 001353' JRST ACCUM8
1742 001333' 400500 000000 ACCUM2: SETZ T2, ;IN CASE FOLLOWING DOESN'T SET UP T2
1743 001334' 622400 002000 TXZE FLG,F.SYMB
1744 260740 001407' JRST [CALL EVLSYM
1745 263740 000000 RET
1746 202440 000012 MOVEM T1,T2 ;PUT IN RIGHT REG
1747 254000 001344' JRST ACCUM3 ]
1748 001335' 254000 043132'
1749 001336' 622400 000200 TXZE FLG,F.IOCT
1750 001337' 200500 042173' MOVE T2,OCTIN
1751 001340' 622400 000400 TXZE FLG,F.IDEC
1752 001341' 200500 042167' MOVE T2,DECIN
1753 001342' 622400 001000 TXZE FLG,F.IHEX
1754 001343' 200500 042170' MOVE T2,HEXIN
1755 001344' 200440 040426' ACCUM3: MOVE T1,EXPRES ;GET EXPRESSION SO FAR
1756 001345' 200540 040524' MOVE T3,INPOPR ;GET INPUT OPERATOR
1757 270440 000012 XCT [ ADD T1,T2
1758 274440 000012 SUB T1,T2
1759 220440 000012 IMUL T1,T2
1760 230440 000012 IDIV T1,T2
1761 434440 000012 IOR T1,T2
1762 404440 000012 AND T1,T2
1763 001346' 256013 043136' XOR T1,T2 ](T3)
1764 001347' 302540 000003 CAIE T3,3 ;DID WE JUST DO A DIVISION ?
1765 001350' 400500 000000 SETZ T2, ;NO SO NO REMAINDER
1766 001351' 202440 040426' MOVEM T1,EXPRESS ;SAVE ACCUMULATED EXPRESSION
1767 001352' 202500 040427' MOVEM T2,REMAIN ;SAVE NEW REMAINDER
1768 001353' 201440 177777 ACCUM8: MOVEI T1,177777 ;MASK FOR 16 BITS
1769 001354' 407440 040426' ANDB T1,EXPRESS ;MASK OFF HIGH BITS
1770 001355' 402000 042173' SETZM OCTIN
1771 001356' 402000 042167' SETZM DECIN
1772 001357' 402000 042170' SETZM HEXIN
1773 001360' 402000 040463' SETZM SYMBOL
1774 440600 040463' MOVE T2,[POINT 6,SYMBOL]
1775 001361' 200500 043125'
1776 001362' 202500 040462' MOVEM T2,SYMPTR
1777 001363' 254000 005177' RETSKP
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 34
DDT11 MAC 18-May-81 17:27 MAJOR LOOP
1778 ;HERE BECAUSE USER FINISHED SYMBOL WITH ":"
1779 001364' 602400 002000 DEFSYM: TXNE FLG,F.SYMB
1780 001365' 336440 040463' SKIPN T1,SYMBOL ;SYMBOL HE DEFINED
1781 001366' 254000 001640' JRST ILLCHR
1782 001367' 332500 040430' SKIPE T2,LFTSAV ;WAS THIS X<TAG: ?
1783 405500 177777 JRST [ANDI T2,177777 ;STRIP EXTRA BITS
1784 254000 001402' JRST DFSYM3 ] ;YES
1785 001370' 254000 043145'
1786 001371' 607340 400000 TLNN DOT,400000
1787 001372' 661340 777777 TLO DOT,777777
1788 001373' 550500 000007 HRRZ T2,DOT ;CURRENT ADR
1789 001374' 403540 000014 SETZB T3,T4 ;NO FLAGS OR MISC
1790 001375' 607340 200000 TLNN DOT,200000
1791 001376' 661540 000002 TLO T3,SMF.RG
1792 360600 040463' LDB T1,[POINT 6,SYMBOL,5] ;GET FIRST CHAR IN SYMBOL
1793 001377' 135440 043034'
1794 001400' 306440 000005 CAIN T1,' %'
1795 336000 003275' JRST [SKIPN CMDFIL ;DOING COMMAND FILE ?
1796 254000 001640' JRST ILLCHR ;NO SO THIS IS TRASH
1797 200500 003276' MOVE T2,CMDCNT ;VALUE IS CHAR IN FILE
1798 205540 000001 MOVSI T3,SMF.SU ;SUPPRESS VALUE
1799 254000 001402' JRST .+1 ]
1800 001401' 254000 043147'
1801 001402' 200440 040463' DFSYM3: MOVE T1,SYMBOL ;GET SYMBOL AGAIN
1802 647160 455156 MOVE T4,[SIXBIT /TYPEIN/];SAY THAT THE USER DEFINED IT
1803 001403' 200600 043154'
1804 001404' 260740 005232' CALL ADDSYM
1805 001405' 260740 007615' CALL TABTYP
1806 001406' 254000 000451' JRST LEVEL1
1807
1808 ;HERE TO EVALUATE A SYMBOL
1809 ; CALL WITH SYMBOL SETUP
1810 ; LOSE RETURN
1811 ; WIN RETURN WITH SYM SETUP, VALUE IN T1, FLAGS IN T2
1812 360600 040463' EVLSYM: LDB T1,[POINT 6,SYMBOL,5] ;GET FIRST CHAR OF SYMBOL
1813 001407' 135440 043034'
1814 001410' 306440 000005 CAIN T1,' %'
1815 001411' 263740 000000 RET
1816 001412' 200440 040463' MOVE T1,SYMBOL ;GET CURRENT SYMBOL
1817 006100 000000 CAMN T1,[SIXBIT \ Q\] ;CHECK FOR <ALT>Q
1818 001413' 316440 043155'
1819 550440 040544' JRST [HRRZ T1,ESC.Q.
1820 254000 005177' RETSKP]
1821 001414' 254000 043156'
1822 160000 000000 CAMN T1,[SIXBIT \.\] ;CHECK FOR SPECIAL CASE
1823 001415' 316440 043160'
1824 550440 000007 JRST [HRRZ T1,DOT
1825 205240 000002 MOVSI SYM,SMF.RG
1826 607340 400000 TLNN DOT,400000
1827 661340 777777 TLO DOT,777777
1828 607340 200000 TLNN DOT,200000
1829 661400 000020 TXO FLG,F.SYML
1830 254000 005177' RETSKP]
1831 001416' 254000 043161'
1832 001417' 661400 000020 TXO FLG,F.SYML ;ASSUME WE'LL LOAD SYM
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 34-1
DDT11 MAC 18-May-81 17:27 MAJOR LOOP
1833 001420' 260740 005153' CALL SYMFND ;TRY TO FIND SYMBOL
1834 001421' 254000 001426' JRST SYMERR
1835 001422' 550445 000001 HRRZ T1,1(SYM) ;GET VALUE OF SYMBOL
1836 001423' 603240 000002 TLNE SYM,SMF.RG ;IS THIS A REGISTER NAME ?
1837 001424' 661400 000400 TXO FLG,F.SREG ;YES
1838 001425' 254000 005177' RETSKP
1839
1840 525004 020000 SYMERR: MOVEI T1,[ASCIZ \U \]
1841 001426' 201440 043170'
1842 001427' 254000 001641' JRST ILLCH0 ;REST LIKE ILLEGAL CHARACTER
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 35
DDT11 MAC 18-May-81 17:27 MAJOR LOOP
1843 ;HERE IF USER TYPES A CONTROL R
1844 001430' 260740 001447' CNTRLR: CALL RSCAN
1845 001431' 202500 040634' MOVEM T2,CMDPTR ;SAVE PUTTER WITHOUT CONTROL R
1846 001432' 260740 001434' CALL CNTLR3
1847 001433' 254000 001113' JRST LOOP
1848
1849 ;HERE TO RETYPE COMMAND
1850 001434' 260740 007621' CNTLR3: CALL CRLTYP ;TYPE A <CR><LF> TO BEGIN
1851 440700 040635' MOVE T2,[POINT 7,CMDLIN] ;GET POINTER TO COMMAND LINE
1852 001435' 200500 042700'
1853 001436' 316500 040634' CAMN T2,CMDPTR ;IS LINE EMPTY ?
1854 001437' 254000 007621' JRST CRLTYP ;EXTRA FLOURISH TO END
1855 001440' 134440 000012 CNTLR4: ILDB T1,T2 ;GET NEXT CHAR TO ECHO
1856 001441' 306440 000033 CAIN T1,33 ;IS CHAR AN ALTOMODE ?
1857 001442' 201440 000044 MOVEI T1,"$" ;YES SO SPECIAL ECHO
1858 001443' 260740 007666' CALL TYPCHR ;ECHO THE CHAR
1859 001444' 312500 040634' CAME T2,CMDPTR ;TYPED ENOUGH YET ?
1860 001445' 254000 001440' JRST CNTLR4 ;LOOP BACK FOR REST OF CHARS
1861 001446' 263740 000000 RET
1862
1863 ;HERE TO BACKUP COMMAND POINTER
1864 ; CALL CALL RSCAN
1865 ; RETURN WITH T2 CONTAINING POINTER TO PREVIOUS CHAR
1866 ; T1 CONTAINS POINTER TO PREVIOUS-2 CHAR
1867 001447' 403440 000012 RSCAN: SETZB T1,T2
1868 440700 040635' MOVE T3,[POINT 7,CMDLIN]
1869 001450' 200540 042700'
1870 001451' 316540 040634' RSCAN2: CAMN T3,CMDPTR ;HIT END YET ?
1871 001452' 254000 005200' JRST R
1872 001453' 200440 000012 MOVE T1,T2
1873 001454' 200500 000013 MOVE T2,T3
1874 001455' 133000 000013 IBP T3
1875 001456' 254000 001451' JRST RSCAN2
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 36
DDT11 MAC 18-May-81 17:27 MAJOR LOOP
1876 ;HERE WHEN USER TYPES A RUBOUT
1877 001457' 260740 001447' COMRUB: CALL RSCAN ;BACK UP POINTER
1878 001460' 322440 001511' JUMPE T1,CNTRLU ;IF NOTHING IS SAME AS ^U
1879 001461' 202440 040633' MOVEM T1,CMDLIM
1880 001462' 202440 040634' MOVEM T1,CMDPTR ;IN CASE CALL CNTLR3
1881 440700 040635' MOVE T1,[POINT 7,CMDLIN]
1882 001463' 200440 042700'
1883 001464' 202440 040632' MOVEM T1,CMDTKR ;RESCAN THE COMMAND
1884 001465' 200440 040704' MOVE T1,TTYBIT ;GET TTY DESCRIPTION WORD
1885 001466' 607440 200000 TXNN T1,TF.RUB ;IS THIS A VIDEO TERMINAL ?
1886 001467' 254000 001500' JRST CMRUB3 ;GO DO "\X" TYPE ECHO
1887 001470' 135440 000012 LDB T1,T2 ;GET CHAR JUST RUBBED OUT
1888 001471' 306440 000033 CAIN T1,33 ;IS IT AN ALTMODE ?
1889 001472' 201440 000044 MOVEI T1,"$"
1890 001473' 305440 000040 CAIGE T1," " ;BE SURE USUAL PRINTING CHAR
1891 260740 001434' JRST [ CALL CNTLR3 ;ECHO COMMAND
1892 254000 001506' JRST CMRUB8 ]
1893 001474' 254000 043171'
1894 041001 000000 MOVEI T1,[BYTE (7)10,40,10,0]
1895 001475' 201440 043173'
1896 001476' 260740 007655' CALL TYPSTR
1897 001477' 254000 001506' JRST CMRUB8
1898
1899 001500' 201440 000134 CMRUB3: MOVEI T1,"\"
1900 001501' 260740 007666' CALL TYPCHR
1901 001502' 135440 000012 LDB T1,T2
1902 001503' 306440 000033 CAIN T1,33 ;WAS THIS AN ALTMODE ?
1903 001504' 201440 000044 MOVEI T1,"$"
1904 001505' 260740 007666' CALL TYPCHR ;ECHO CHAR JUST RUBBED OUT
1905 001506' CMRUB8:
1906 040537' 040534' CMRUB9: MOVE T1,[ESCSAV,,BYTCNT] ;RESTORE THINGS SET WITH
1907 001506' 200440 043174'
1908 001507' 251440 040536' BLT T1,BYTCNT+2 ; ESCAPE COMMANDS
1909 001510' 254000 000451' JRST LEVEL1
1910
1911 ;HERE WHEN USER TYPES A CONTROL U
1912 037617 074022 CNTRLU: MOVEI T1,[BYTE (7)7,"x","x","x",11,0]
1913 001511' 201440 043175'
1914 001512' 260740 007655' CALL TYPSTR
1915 001513' 254000 001506' JRST CMRUB9
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 37
DDT11 MAC 18-May-81 17:27 MAJOR LOOP
1916 ;HERE WHEN USER TYPES A CONTROL W - DELETE FIELD FROM TYPEIN
1917
1918 001514' 260740 001447' CNTRLW: CALL RSCAN ;BACKUP POINTER
1919 001515' 322440 001511' JUMPE T1,CNTRLU ;IF NOTHING SAME AS ^U
1920 001516' 334500 000011 SKIPA T2,T1
1921 001517' 260740 001447' CNTLW1: CALL RSCAN
1922 001520' 202500 040633' MOVEM T2,CMDLIM
1923 001521' 202500 040634' MOVEM T2,CMDPTR
1924 440700 040635' MOVE T1,[POINT 7,CMDLIN]
1925 001522' 200440 042700'
1926 001523' 202440 040632' MOVEM T1,CMDTKR
1927 001524' 322440 001511' JUMPE T1,CNTRLU ;IF NOTHING IS SAME AS ^U
1928 001525' 135500 040634' LDB T2,CMDPTR ;GET LAST CHAR
1929 001526' 306500 000056 CAIN T2,"."
1930 001527' 254000 001517' JRST CNTLW1 ;KEEP BACKING UP
1931 001530' 301500 000060 CAIL T2,"0"
1932 001531' 303500 000172 CAILE T2,"Z"+40
1933 001532' 254000 001542' JRST CNTLW9
1934 001533' 303500 000071 CAILE T2,"9"
1935 001534' 301500 000141 CAIL T2,"A"+40
1936 001535' 254000 001517' JRST CNTLW1 ;KEEP BACKING
1937 001536' 301500 000101 CAIL T2,"A"
1938 001537' 303500 000132 CAILE T2,"Z"
1939 001540' 254000 001542' JRST CNTLW9
1940 001541' 254000 001517' JRST CNTLW1
1941 001542' 260740 001434' CNTLW9: CALL CNTLR3 ;RETYPE THE LINE
1942 001543' 254000 000451' JRST LEVEL1 ;THEN REDO IT
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 38
DDT11 MAC 18-May-81 17:27 COMMAND CHARACTERS
1943 SUBTTL COMMAND CHARACTERS
1944
1945 ;HERE WHEN COMMAND STARTS WITH A QUOTE
1946 001544' 603400 000040 QUOTE: TXNE FLG,F.GEXP ;DID ANYTHING PRECEDE THE " ?
1947 001545' 254000 001640' JRST ILLCHR ;BOUNCE REQUEST
1948 001546' 540300 000370* HRR STATE,.JBFF## ;GET WHERE WE WILL PUT STATE TABLE
1949 001547' 201440 000100 MOVEI T1,100 ;NEED 64 WORDS FOR TABLE
1950 001550' 260740 005363' CALL GETCOR ;ALLOCATE CORE
1951 001551' 542300 001546* HRRM STATE,.JBFF## ;SO WE DON'T FORGET LATER
1952 001552' 201500 001555' MOVEI T2,QUOTEB ;NEXT CHAR IS THE BREAK CHAR
1953 001553' 260740 001601' CALL QUOTET ;SET UP TABLE
1954 001554' 254000 001113' JRST LOOP
1955
1956 ;HERE WHEN GET BREAK CHARACTER AFTER QUOTE
1957 001555' 660400 000100 QUOTEB: TXO FLG,F.TEXT ;NOW DOING TEXT
1958 001556' 201500 001567' MOVEI T2,QUOTEC ;MOST CHARACTERS NOW ARE TEXT
1959 001557' 260740 001601' CALL QUOTET ;SETUP DISPATCH TABLE
1960 001560' 241440 777777 ROT T1,-1 ;DIVIDE BREAK CHAR BY 2
1961 001561' 271446 000000 ADDI T1,(STATE) ;POINT TO STATE TABLE
1962 001562' 201500 001576' MOVEI T2,QUOTEE ;WHEN GET ANOTHER BREAK ARE DONE
1963 001563' 542511 000000 HRRM T2,(T1)
1964 001564' 331000 000011 SKIPL T1 ;WAS CHAR EVEN ?
1965 001565' 207020 000011 MOVSS @T1 ;YES SO DISPATCH FROM LEFT OF WORD
1966 001566' 254000 001113' JRST LOOP
1967
1968 ;HERE WHEN GET ANOTHER TEXT CHAR
1969 001567' 405440 000177 QUOTEC: ANDI T1,177 ;STRIP PARITY
1970 001570' 136440 040421' IDPB T1,DAT ;PUT INTO DATA AREA
1971 001571' 331440 040423' SKIPL T1,DTFINP ;ALREADY SETUP DTFINP ?
1972 001572' 334440 000007 SKIPA T1,DOT ;NO SO USE DOT
1973 001573' 350000 000011 AOS T1 ;ADVANCE IT
1974 001574' 202440 040423' MOVEM T1,DTFINP
1975 001575' 254000 001113' JRST LOOP ;GO GET NEXT CHAR
1976
1977 ;HERE WHEN GET TERMINAL BREAK
1978 001576' 620400 000100 QUOTEE: TXZ FLG,F.TEXT ;NO LONGER DOING TEXT
1979 001577' 541300 040120' HRRI STATE,STATE0
1980 001600' 254000 000466' JRST LEVEL3
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 39
DDT11 MAC 18-May-81 17:27 COMMAND CHARACTERS
1981 ;HERE TO SETUP DISPATCH TABLE
1982
1983 001601' 505512 000000 QUOTET: HRLI T2,(T2)
1984 001602' 202506 000000 MOVEM T2,(STATE)
1985 001603' 505506 000000 HRLI T2,(STATE) ;BUILD BLT POINTER
1986 001604' 541506 000001 HRRI T2,1(STATE) ;FINISH POINTER
1987 001605' 251506 000077 BLT T2,77(STATE)
1988 001606' 201500 001430' MOVEI T2,CNTRLR ;DISPATCH FOR CONTROL R
1989 001607' 506506 000011 HRLM T2,11(STATE)
1990 001610' 201500 001511' MOVEI T2,CNTRLU ;DISPATCH FOR CONTROL U
1991 001611' 542506 000012 HRRM T2,12(STATE)
1992 001612' 201500 001514' MOVEI T2,CNTRLW ;DISPATCH FOR CONTROL W
1993 001613' 542506 000013 HRRM T2,13(STATE)
1994 001614' 201500 002222' MOVEI T2,CNTRLZ ;DISPATCH FOR CONTROL Z
1995 001615' 506506 000015 HRLM T2,15(STATE)
1996 001616' 201500 001457' MOVEI T2,COMRUB ;DISPATCH FOR RUBOUT
1997 001617' 542506 000077 HRRM T2,77(STATE)
1998 001620' 263740 000000 RET
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 40
DDT11 MAC 18-May-81 17:27 COMMAND CHARACTERS
1999 ;HERE WHEN USER TYPES A CR COMMAND
2000 001621' 260740 002330' COM.CR: CALL STEFIN ;DO DEPOSIT MAYBE
2001 001622' 626400 200000 TXZN FLG,F..ESC ;WAS THIS AN <ESCAPE><CR> ?
2002 001623' 254000 000444' JRST LEVEL0 ;NO SO CLEAN UP THEN GET MORE CHARS
2003 001624' 260740 002467' CALL DOTSWP ;LOAD ALTERNATE DOT
2004 001625' 260740 001724' CALL COMLF1 ;DISPLAY NEW DOT
2005 001626' 254000 000444' JRST LEVEL0
2006
2007 ;HERE WHEN USER TYPES A BACK SLASH
2008 001627' 260740 002330' BKSLSH: CALL STEFIN
2009 001630' 260740 007626' CALL B3.TYP
2010 001631' 261740 000007 PUSH P,DOT
2011 001632' 261740 040422' PUSH P,DOTFOO
2012 001633' 200340 040542' MOVE DOT,LSTADR
2013 001634' 260740 007123' CALL DATYPE
2014 001635' 262740 040422' POP P,DOTFOO
2015 001636' 262740 000007 POP P,DOT
2016 001637' 254000 000451' JRST LEVEL1
2017
2018 ;HERE WHEN USER TYPES IN AN ILLEGAL CHARACTER
2019 035760 704416 ILLCHR: MOVEI T1,[BYTE (7)7,"?",7,11,7,0]
2020 001640' 201440 043177'
2021 001641' 260740 007655' ILLCH0: CALL TYPSTR
2022 ;CLRBFI ;CLEAR TYPEAHEAD
2023 001642' 661400 010000 TXO FLG,F.CERR ;IN CASE THIS IS A COMMAND FILE
2024 040537' 040534' MOVE T1,[ESCSAV,,BYTCNT] ;RESTORE THINGS SET BY ESCAPE
2025 001643' 200440 043174'
2026 001644' 251440 040536' BLT T1,BYTCNT+2 ; COMMANDS
2027 001645' 254000 000451' JRST LEVEL1
2028
2029 ;HERE WHEN THE USER TYPES A TAB COMMAND
2030 001646' 260740 002330' COM.HT: CALL STEFIN ;DO DEPOSIT MAYBE
2031 001647' 260740 007621' CALL CRLTYP ;TYPE A CR/LF
2032 001650' 260740 001654' CALL DOTSAV ;SAVE CURRENT DOT, DOTFOO, FOR LATER
2033 001651' 200340 040542' MOVE DOT,LSTADR ;LAST ADDRESS TYPED IN OR OUT
2034 001652' 260740 001724' CALL COMLF1
2035 001653' 254000 000451' JRST LEVEL1
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 41
DDT11 MAC 18-May-81 17:27 COMMAND CHARACTERS
2036 ;HERE TO SAVE CURRENT DOT, DOTFOO FOR LATER $/ ETC.
2037 001654' 202340 040424' DOTSAV: MOVEM DOT,DOTOLD ;SAVE DOT
2038 001655' 200440 040422' MOVE T1,DOTFOO ;GET DOTFOO
2039 001656' 202440 040425' MOVEM T1,DTFOLD ;SAVE IT ALSO
2040 001657' 263740 000000 RET
2041
2042 ;HERE TO SET DOTFOO TO NEXT VALUE
2043 001660' 200440 040422' NDTFOO: MOVE T1,DOTFOO ;CURRENT DOTFOO
2044 001661' 260740 001674' CALL DOTINC
2045 001662' 202440 040422' MOVEM T1,DOTFOO
2046 001663' 263740 000000 RET
2047
2048 ;HERE TO SET DTFINP TO NEXT VALUE
2049 001664' 200440 040423' NDTFIN: MOVE T1,DTFINP ;GET CURRENT DTFINP
2050 001665' 260740 001674' CALL DOTINC ;INCREMENT IT
2051 001666' 202440 040423' MOVEM T1,DTFINP ;RESTORE NEW DTFINP
2052 001667' 263740 000000 RET
2053
2054 ;HERE TO GET THE NEXT VALUE FOR DOT
2055 001670' 200440 000007 NXTDOT: MOVE T1,DOT
2056 001671' 260740 001674' CALL DOTINC
2057 001672' 202440 000007 MOVEM T1,DOT
2058 001673' 263740 000000 RET
2059
2060 ;GET NEXT VALUE FOR LOCATION POINTER
2061 ; CALL MOVE T1,<CURRENT VALUE>
2062 ; CALL DOTINC
2063 001674' 331000 000011 DOTINC: SKIPL T1 ;DID IT GET LOADED ?
2064 331440 000007 JRST [SKIPL T1,DOT ;START WITH DOT
2065 505440 777777 HRLI T1,777777
2066 263740 000000 RET ]
2067 001675' 254000 043201'
2068 001676' 332000 040432' SKIPE PDP8F ;OR A PDP8 ?
2069 620440 700000 AOJA T1,[TRZ T1,700000 ;15 BIT ADR
2070 263740 000000 RET ]
2071 001677' 344440 043204'
2072 001700' 607440 200000 TLNN T1,200000 ;WAS THIS A REGISTER ADDRESS ?
2073 350000 000011 JRST [AOS T1 ;INCREMENT BY 1 FOR REGISTERS
2074 620440 777770 TRZ T1,777770 ;STRIP EXTRA BITS
2075 263740 000000 RET ]
2076 001701' 254000 043206'
2077 001702' 271440 000002 ADDI T1,2
2078 001703' 620440 600001 TRZ T1,600001
2079 001704' 263740 000000 RET
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 42
DDT11 MAC 18-May-81 17:27 COMMAND CHARACTERS
2080 ;HERE IF END EXPRESSION WITH AN LEFT ANGLE BRACKET
2081
2082 001705' 260740 001316' LFTANG: CALL ACCUM ;FINISH EXPRESSION
2083 001706' 263740 000000 RET ;LOSE
2084 001707' 562440 040430' HRROM T1,LFTSAV ;SAVE IT
2085 001710' 254000 001075' JRST GETEXP
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 43
DDT11 MAC 18-May-81 17:27 COMMAND CHARACTERS
2086 ;HERE WHEN THE USER TYPES A LINE FEED COMMAND
2087 001711' 260740 002330' COM.LF: CALL STEFIN ;DO DEPOSIT MAYBE
2088 001712' 622400 200000 TXZE FLG,F..ESC ;WAS <LF> PRECEDED BY AN <ESCAPE> ?
2089 001713' 260740 002467' CALL DOTSWP ;YES SO SPECIAL HANDLING
2090 001714' 201440 000015 MOVEI T1,15 ;CARRIAGE RETURN
2091 001715' 260740 007666' CALL TYPCHR
2092 001716' 200440 040422' MOVE T1,DOTFOO
2093 001717' 402000 040422' SETZM DOTFOO ;DONE WITH IT NOW
2094 001720' 260740 001674' CALL DOTINC
2095 001721' 202440 000007 MOVEM T1,DOT
2096 001722' 260740 001724' CALL COMLF1
2097 001723' 254000 000451' JRST LEVEL1
2098
2099 001724' 660400 000010 COMLF1: TXO FLG,F.LOPN ;FLAG LOCATION IS OPEN
2100 001725' 200440 000007 COMLF2: MOVE T1,DOT
2101 001726' 260740 007076' CALL ADRTYP ;TYPE ADDRESS
2102 001727' 201440 000057 MOVEI T1,"/"
2103 001730' 603400 000001 TXNE FLG,F.LBKT ;FOLLOWING A LEFT BRACKET ?
2104 001731' 201440 000133 MOVEI T1,"[" ;YES SO DECLARE IT
2105 001732' 260740 007666' CALL TYPCHR
2106 001733' 550440 000007 COMLF3: HRRZ T1,DOT
2107 001734' 315440 040710' CAMGE T1,CACHEL ;IS THIS ALREADY IN CACHE ?
2108 001735' 402000 040710' SETZM CACHEL ;YES SO FLUSH CACHE
2109 001736' 260740 007626' COMLF4: CALL B3.TYP ;TYPE 3 SPACES
2110 001737' 660400 004000 TXO FLG,F.CACH ;USE CACHE AFTER 1ST WORD
2111 001740' 607400 000001 TXNN FLG,F.LBKT ;DOING LFT BRACKET STUFF ?
2112 001741' 324740 007123' PJRST DATYPE
2113 001742' 201440 000002 MOVEI T1,2 ;NUMERIC STYLE
2114 001743' 201640 000001 MOVEI T5,1 ;ONE WORD
2115 001744' 324740 002000' PJRST RETYPE
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 44
DDT11 MAC 18-May-81 17:27 COMMAND CHARACTERS
2116 ;HERE WHEN USER TYPES A BACK ARROW
2117 001745' 316600 040421' BARROW: CAMN T4,DAT ;FOLLOWING TYPEIN ?
2118 001746' 254000 001761' JRST BARRW5 ;NO
2119 001747' 134440 000014 BARRW3: ILDB T1,T4 ;GET LOW ORDER BYTE
2120 001750' 400500 000000 SETZ T2, ;IN CASE ODD NUMBER OF BYTES
2121 001751' 312600 040421' CAME T4,DAT
2122 001752' 134500 000014 ILDB T2,T4 ;GET HIGH ORDER BYTE
2123 101000 000011 DPB T2,[POINT 8,T1,27]
2124 001753' 137500 043063'
2125 001754' 260740 007076' CALL ADRTYP ;DISPLAY AS AN ADDRESS
2126 001755' 312600 040421' CAME T4,DAT ;DONE ALL YET ?
2127 260740 007633' JRST [CALL COMTYP
2128 254000 001747' JRST BARRW3 ] ;LOOP BACK FOR REST
2129 001756' 254000 043211'
2130 001757' 260740 007626' CALL B3.TYP
2131 001760' 254000 000451' JRST LEVEL1
2132 001761' 606400 000010 BARRW5: TXNN FLG,F.LOPN ;IS LOCATION OPEN ?
2133 001762' 254000 001640' JRST ILLCHR ;NO SO BOUNCE COMMAND
2134 001763' 201440 000000 MOVEI T1,0 ;OUTPUT AS INSTRUCTION
2135 001764' 201640 000002 MOVEI T5,2 ;WANT ONLY 1 WORD
2136 001765' 260740 002000' CALL RETYPE ;NO RETYPE STUFF
2137 001766' 254000 000451' JRST LEVEL1
2138
2139 ;HERE WHEN USER TYPES A SEMICOLON
2140 001767' 316600 040421' SEMICL: CAMN T4,DAT ;FOLLOWING TYPEIN ?
2141 001770' 254000 001772' JRST SMICL5 ;NO
2142 001771' 254000 000451' JRST LEVEL1
2143 001772' 606400 000010 SMICL5: TXNN FLG,F.LOPN ;IS LOCATION OPEN ?
2144 001773' 254000 001640' JRST ILLCHR ;IF NOT CAN'T HANDLE
2145 001774' 550440 040535' HRRZ T1,O.MODE ;SET RIGHT MODE
2146 001775' 550640 040534' HRRZ T5,BYTCNT
2147 001776' 260740 002000' CALL RETYPE
2148 001777' 254000 000451' JRST LEVEL1
2149
2150 002000' 261740 040535' RETYPE: PUSH P,O.MODE ;SAVE OUTPUT MODE
2151 002001' 542440 040535' HRRM T1,O.MODE
2152 002002' 261740 040534' PUSH P,BYTCNT
2153 002003' 542640 040534' HRRM T5,BYTCNT
2154 ;PUSH P,DOTFOO
2155 002004' 402000 040422' SETZM DOTFOO
2156 002005' 660400 004000 TXO FLG,F.CACH ;USE CACHE IF POSSIBLE
2157 002006' 260740 007123' CALL DATYPE ;TYPE DATA
2158 ;POP P,DOTFOO
2159 002007' 262740 040534' POP P,BYTCNT
2160 002010' 262740 040535' POP P,O.MODE ;RESTORE OUTPUT MODE
2161 002011' 263740 000000 RET
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 45
DDT11 MAC 18-May-81 17:27 COMMAND CHARACTERS
2162 ;HERE WHEN USER TYPES =
2163 002012' 316600 040421' EQUALS: CAMN T4,DAT ;FOLLOWING TYPEIN ?
2164 002013' 254000 002034' JRST EQUAL5 ;NO
2165 002014' 603400 000020 TXNE FLG,F.SYML ;DID TYPEIN INCLUDE A SYMBOL ?
2166 002015' 607240 000002 TLNN SYM,SMF.RG ;WAS THAT A REGISTER NAME ?
2167 002016' 304000 000000 CAIA
2168 002017' 260740 007641' CALL PCNTYP ;TYPE A %
2169 002020' 134440 000014 EQUAL2: ILDB T1,T4
2170 002021' 400500 000000 SETZ T2,
2171 002022' 312600 040421' CAME T4,DAT
2172 002023' 134500 000014 ILDB T2,T4
2173 101000 000011 DPB T2,[POINT 8,T1,27]
2174 002024' 137500 043063'
2175 002025' 202440 040542' MOVEM T1,LSTADR ;LAST OUTPUT ADDRESS
2176 002026' 202440 040544' MOVEM T1,ESC.Q. ;IN CASE OF <ESCAPE>Q
2177 002027' 260740 007520' CALL RADTYP
2178 002030' 316600 040421' CAMN T4,DAT
2179 260740 007626' JRST [CALL B3.TYP ;TYPE 3 SPACES
2180 254000 000451' JRST LEVEL1 ]
2181 002031' 254000 043213'
2182 002032' 260740 007633' CALL COMTYP
2183 002033' 254000 002020' JRST EQUAL2
2184
2185 ;HERE TO RETYPE PREVIOUSLY OUTPUT DATA IN CURRENT RADIX
2186 002034' 606400 000010 EQUAL5: TXNN FLG,F.LOPN ;IS LOCATION OPEN ?
2187 002035' 254000 001640' JRST ILLCHR ;NO SO ILLEGAL
2188 002036' 201440 000002 MOVEI T1,2 ;OUTPUT AS NUMERIC
2189 002037' 336640 040422' SKIPN T5,DOTFOO
2190 002040' 550640 000007 HRRZ T5,DOT
2191 002041' 275647 777776 SUBI T5,-2(DOT)
2192 002042' 405640 777777 ANDI T5,777777 ;HALF WORD ONLY
2193 002043' 242640 777777 LSH T5,-1
2194 002044' 260740 002000' CALL RETYPE
2195 002045' 254000 000451' JRST LEVEL1
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 46
DDT11 MAC 18-May-81 17:27 COMMAND CHARACTERS
2196 ;HERE WHEN USER TYPES [ AT END OF A NUMBER
2197 002046' 665400 000001 OPLBKT: TXOA FLG,F.LBKT ;REMEMBER HOW WE OPENED
2198 ;HERE WHEN USER TYPES / AT END OF A NUMBER
2199 002047' 621400 000001 OPNLOC: TXZ FLG,F.LBKT
2200 002050' 626400 000040 TXZN FLG,F.MASK ;ASKING ABOUT THE MASK ?
2201 002051' 254000 002073' JRST OPNLC4 ;LOOKING AT 11
2202 002052' 660400 000020 TXO FLG,F.MOPN ;MASK NOW OPEN
2203 002053' 260740 007626' CALL B3.TYP ;TYPE 3 SPACES
2204 002054' 201540 040512' MOVEI T3,S.MASK-1 ;MAKE A POINTER TO THE MASK
2205 002055' 336500 040545' SKIPN T2,ESCOCT ;DID WE GET A NUMBER WITH THE COMMAND ?
2206 002056' 201500 000001 MOVEI T2,1 ;DEFAULTS TO 1
2207 002057' 301500 000010 CAIL T2,MASKSZ ;ASKING FOR TOO MUCH ?
2208 002060' 201500 000010 MOVEI T2,MASKSZ ;YES SO GIVE LIMIT
2209 002061' 304000 000000 CAIA
2210 002062' 260740 007630' OPNLC2: CALL BLANKT
2211 002063' 350000 000013 AOS T3
2212 002064' 200453 000000 MOVE T1,(T3)
2213 002065' 202440 040542' MOVEM T1,LSTADR ;IN CASE OF HT COMMAND
2214 002066' 202440 040544' MOVEM T1,ESC.Q. ;IN CASE USES <ESCAPE>Q
2215 002067' 260740 007520' CALL RADTYP ;DISPLAY IT
2216 002070' 367500 002062' SOJG T2,OPNLC2
2217 002071' 260740 007615' CALL TABTYP
2218 002072' 254000 000451' JRST LEVEL1
2219 ;HERE BECAUSE REALLY OPENING A LOCATION
2220 002073' 260740 001654' OPNLC4: CALL DOTSAV ;SAVE DOT FOR AN ESCAPE LF COMMAND
2221 002074' 560340 040426' HRRO DOT,EXPRESS
2222 002075' 603400 000020 TXNE FLG,F.SYML ;WAS SYM LOADED ?
2223 002076' 607240 000002 TLNN SYM,SMF.RG
2224 002077' 304000 000000 CAIA
2225 002100' 621340 377777 TLZ DOT,377777
2226 002101' 402000 040422' SETZM DOTFOO
2227 002102' 660400 000010 TXO FLG,F.LOPN ;FLAG LOCATION IS OPEN
2228 002103' 260740 001733' CALL COMLF3
2229 002104' 254000 000451' JRST LEVEL2
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 47
DDT11 MAC 18-May-81 17:27 COMMAND CHARACTERS
2230 ;HERE WHEN USER TYPES AN UP ARROW
2231 002105' 260740 002330' UARROW: CALL STEFIN
2232 002106' 622400 200000 TXZE FLG,F..ESC ;WAS <LF> PRECEDED BY AN <ESCAPE> ?
2233 002107' 260740 002467' CALL DOTSWP ;YES SO SPECIAL HANDLING
2234 002110' 260740 007621' CALL CRLTYP
2235 002111' 402000 040422' SETZM DOTFOO
2236 002112' 607340 400000 TLNN DOT,400000 ;WAS ADR SET ?
2237 002113' 661340 777777 TLO DOT,777777
2238 002114' 201440 777777 MOVEI T1,-1 ;IN CASE REGISTER MODE
2239 002115' 607340 200000 TLNN DOT,200000 ;REG OR MEM ?
2240 002116' 254000 002133' JRST COMAR0 ;REG - GO DO IT
2241 002117' 211440 000002 MOVNI T1,2 ;IN CASE "[" MODE
2242 002120' 603400 000001 TXNE FLG,F.LBKT ;IS IT
2243 002121' 254000 002133' JRST COMAR0 ;YES
2244 002122' 210440 040534' MOVN T1,BYTCNT ;NUMBER OF BYTES
2245 002123' 332000 040432' SKIPE PDP8F
2246 002124' 254000 002133' JRST COMAR0
2247 002125' 550500 040535' HRRZ T2,O.MODE ;GET OUTPUT MODE
2248 002126' 322500 002144' JUMPE T2,COMAR2 ;SYMBOLIC ?
2249 002127' 306500 000001 CAIN T2,1 ; OR ADDRESS ?
2250 002130' 240440 000001 ASH T1,1 ;CONVERT WORD COUNT TO BYTES
2251 002131' 306500 000002 CAIN T2,2 ;OR NUMERIC
2252 002132' 240440 000001 ASH T1,1 ;CONVERT WORD COUNT TO BYTES
2253 002133' 270440 000007 COMAR0: ADD T1,DOT
2254 002134' 607340 200000 TLNN DOT,200000 ;WAS THIS A REGISTER ?
2255 002135' 405440 000007 ANDI T1,7 ;IN CASE WRAPPED AROUND
2256 002136' 332000 040432' SKIPE PDP8F ;IS THIS A PDP8 ADDRESS ?
2257 002137' 624440 700000 TRZA T1,700000
2258 002140' 405440 177777 ANDI T1,177777
2259 002141' 542440 000007 HRRM T1,DOT
2260 002142' 260740 001724' CALL COMLF1 ;REST LIKE A LINE FEED COMMAND
2261 002143' 254000 000451' JRST LEVEL2
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 48
DDT11 MAC 18-May-81 17:27 COMMAND CHARACTERS
2262 ;HERE IF DID UP ARROW WHEN IN SYMBOLIC MODE
2263 ; TRY TO MAKE A GUESS HOW FAR BACK TO GO
2264 002144' 620340 600001 COMAR2: TRZ DOT,600001 ;INSTRUCTIONS BEGIN ON WORD BOUNDRY
2265 002145' 620400 004000 TXZ FLG,F.CACH ;DON'T USE CACHE
2266 002146' 201600 000001 MOVEI T4,1 ;TRY ONE WORD INSTRUCTION FIRST
2267
2268 ;HERE TO COUNT WORDS IN INSTRUCTION
2269 002147' 200500 000014 COMAR3: MOVE T2,T4 ;NUMBER OF WORDS TO LOOK FOR
2270 002150' 240500 000001 ASH T2,1 ;TIMES 2 FOR BYTES
2271 002151' 201447 000000 MOVEI T1,(DOT) ;CURRENT ADR
2272 002152' 275452 000000 SUBI T1,(T2) ;BACK UP CURRENT ADR
2273 002153' 260740 002171' CALL CNINWD ;COUNT WORDS IN INSTRUCTION AT ADR
2274 002154' 254000 002163' JRST COMAR8 ;NOT AN INSTRUCTION
2275 002155' 302611 000000 CAIE T4,(T1) ;IS THAT WHAT WE WANTED ?
2276 002156' 254000 002163' JRST COMAR8 ;NO
2277 002157' 275354 000000 SUBI DOT,(T4)
2278 002160' 275354 000000 SUBI DOT,(T4)
2279 002161' 260740 001724' CALL COMLF1 ;PRINT INSTRUCTION
2280 002162' 254000 000451' JRST LEVEL2
2281
2282 002163' 350000 000014 COMAR8: AOS T4 ;TRY FOR LARGER INSTRUCTION
2283 002164' 302600 000004 CAIE T4,4 ;IS THAT TOO LARGE ?
2284 002165' 254000 002147' JRST COMAR3 ;NO
2285 002166' 275340 000002 SUBI DOT,2 ;JUST BACK UP ONE WORD
2286 002167' 260740 001724' CALL COMLF1
2287 002170' 254000 000451' JRST LEVEL2
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 49
DDT11 MAC 18-May-81 17:27 COMMAND CHARACTERS
2288 ;HERE TO COUNT WORDS IN AN INSTRUCTION
2289 ; CALL MOVE T1,<ADR>
2290 ; CALL CNINWD
2291 ; ERROR RETURN
2292 ; WIN RETURN NUMBER OF WDS IN T1
2293 002171' 201500 000002 CNINWD: MOVEI T2,2 ;TRY FOR 2 BYTES
2294 002172' 332000 040432' SKIPE PDP8F ;UNLESS PDP8
2295 002173' 201500 000001 MOVEI T2,1 ;IS PDP8 SO ONLY ONE WORD
2296 002174' 201500 000002 MOVEI T2,2 ;NUMBER OF BYTES TO TRY FOR
2297 002175' 260740 003354' CALL GETWRD ;TRY TO GET THE DATA
2298 002176' 263740 000000 RET ;LOSES
2299 002177' 260740 005201' CALL INVLFN ;SEE IT THERE IS ANY SUCH INSTRUCTION
2300 002200' 263740 000000 RET ;NO = LOSE
2301 002201' 201500 000001 MOVEI T2,1 ;ONE FOR INSTRUCTION
2302 060600 000011 LDB T3,[POINT 6,T1,29] ;GET SS FIELD
2303 002202' 135540 043215'
2304 002203' 603240 000040 TLNE SYM,SMF.SS ;IS THIS SSDD FORMAT ?
2305 002204' 260740 002212' CALL CNIWD3 ;YES SOADJUST NUMBER OF WDS IN INSTRUCTION
2306 000600 000011 LDB T3,[POINT 6,T1,35] ;GET DD FIELD
2307 002205' 135540 043015'
2308 002206' 603240 000060 TLNE SYM,SMF.DD!SMF.SS ;IS DD PRESENT ?
2309 002207' 260740 002212' CALL CNIWD3 ;YES SO ADJ WORD COUNT
2310 002210' 550440 000012 HRRZ T1,T2 ;NUMBER OF WORDS
2311 002211' 254000 005177' RETSKP
2312
2313 002212' 302540 000027 CNIWD3: CAIE T3,27 ;IS THIS IMMEDIATE (#FOO)
2314 002213' 306540 000037 CAIN T3,37 ;OR ABSOLUTE
2315 002214' 350000 000012 AOS T2 ;YES SO ANOTHER WORD IN INSTRUCTION
2316 030300 000013 LDB T3,[POINT 3,T3,32]
2317 002215' 135540 043216'
2318 002216' 302540 000006 CAIE T3,6 ;IS THIS RELATIVE
2319 002217' 306540 000007 CAIN T3,7 ;OR RELATIVE DEFERRED ?
2320 002220' 350000 000012 AOS T2 ;YES SO ANOTHER WORD
2321 002221' 263740 000000 RET
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 50
DDT11 MAC 18-May-81 17:27 COMMAND CHARACTERS
2322 ;HERE WHEN THE USER TYPE A ^Z
2323 002222' 047040 000012 CNTRLZ: MONRT. ;BACK TO THE MONITOR WE GO
2324 002223' 254000 000444' JRST LEVEL0 ;USER TYPED .CONTINUE
2325
2326
2327 ;HERE IF USER ENDS AN EXPRESSION WITH A ">"
2328 002224' 332440 040430' SUPLIM: SKIPE T1,LFTSAV
2329 002225' 202440 040510' MOVEM T1,SBEGIN ;SET LOWER LIMIT FOR SEARCH
2330 002226' 200440 040426' MOVE T1,EXPRESS ;GET EXPRESSION
2331 002227' 552440 040511' HRRZM T1,S..END ;SET UPPER LIMIT FOR SEARCH
2332 002230' 254000 000451' JRST LEVEL2
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 51
DDT11 MAC 18-May-81 17:27 COMMAND CHARACTERS
2333 ;HERE IF USER ENDS SYMBOL WITH A "?"
2334
2335 002231' 336440 040463' QUEST.: SKIPN T1,SYMBOL ;WERE WE BUILDING A SYMBOL ?
2336 002232' 254000 001640' JRST ILLCHR ;NO SO DING HIM
2337 002233' 261740 000015 PUSH P,T5
2338 002234' 474640 000000 SETO T5, ;COUNT MATCHES
2339 002235' 260740 002277' CALL MATCH ;TRY TO FIND A PARTIAL MATCH
2340 002236' 322240 002271' JUMPE SYM,QUEST5 ;IN CASE CAN'T FIND ANY MATCHES
2341 002237' 260740 007621' CALL CRLTYP ;BEGIN WITH <CR><LF>
2342 633375 466336 MOVEI T1,[ASCIZ \following are partial matches
2343 \]
2344 002240' 201440 043217'
2345 002241' 356000 000015 AOSN T5
2346 002242' 260740 007655' CALL TYPSTR
2347 002243' 260740 007615' CALL TABTYP ;AND ADD A <HT>
2348 002244' 200445 000000 MOVE T1,(SYM) ;GET SYMBOL NAME
2349 002245' 260740 007600' CALL SIXTYP
2350 201724 000000 MOVEI T1,[ASCIZ \ = \]
2351 002246' 201440 043226'
2352 002247' 260740 007655' CALL TYPSTR
2353 002250' 603240 000002 TLNE SYM,SMF.RG ;IS THIS A REGISTER DEFINITION ?
2354 002251' 260740 007641' CALL PCNTYP ;TYPE A "%"
2355 002252' 550445 000001 HRRZ T1,1(SYM) ;GET VALUE OF SYMBOL
2356 002253' 260740 007520' CALL RADTYP ;TYPE VALUE IN CURRENT RADIX
2357 203476 062000 MOVEI T1,[ASCIZ \ spd\]
2358 002254' 201440 043227'
2359 002255' 603240 000001 TLNE SYM,SMF.SU ;IS SYMBOL SUPPRESSED ?
2360 002256' 260740 007655' CALL TYPSTR ;YES
2361 203376 061736 MOVEI T1,[ASCIZ \ opcode\]
2362 002257' 201440 043230'
2363 002260' 603240 000004 TLNE SYM,SMF.IN ;IS THIS AN OPCODE ?
2364 002261' 260740 007655' CALL TYPSTR ;YES
2365 002262' 336005 000003 SKIPN 3(SYM) ;WAS THERE A SOURCE ?
2366 002263' 254000 002270' JRST QUEST4 ;NO
2367 203114 563322 TYPE < defined in >
2368 002264' 201440 043232'
2369 002265' 260740 007655'
2370 002266' 200445 000003 MOVE T1,3(SYM) ;GET SOURCE
2371 002267' 260740 007600' CALL SIXTYP
2372 002270' 263740 000000 QUEST4: RET
2373
2374 203355 720340 QUEST5: MOVEI T1,[ASCIZ \ no partial matches for symbol\]
2375 002271' 201440 043235'
2376 002272' 356000 000015 AOSN T5 ;FIND ANY MATCHES ?
2377 002273' 260740 007655' CALL TYPSTR
2378 002274' 262740 000015 POP P,T5
2379 002275' 260740 001434' CALL CNTLR3 ;RETYPE THE COMMAND
2380 002276' 254000 001113' JRST LOOP
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 52
DDT11 MAC 18-May-81 17:27 COMMAND CHARACTERS
2381 ;HERE TO TRY TO FIND A PARTIAL MATCH FOR A SYMBOL
2382 ; CALL SKIPN T1,SYMBOL ;WERE WE BUILDING A SYMBOL ?
2383 ; JRST ILLCHR ;DON'T CALL MATCH
2384 ; CALL MATCH
2385 ; RETURN WITH SYM SETUP WITH PARTIAL MATCH
2386 ; WITH (SYM) = 0 WHEN FOUND ALL MATCHES
2387 002277' 260740 001447' MATCH: CALL RSCAN
2388 002300' 202500 040634' MOVEM T2,CMDPTR ;DELETE THE "?" OR <CONTROL F>
2389 770000 000000 SKIPA T3,[770000,,0] ;BUILD MASK TO TEST UNDER
2390 002301' 334540 043244'
2391 002302' 240540 777772 MATCH0: ASH T3,-6 ;ENLARGE THE MASK
2392 002303' 200440 000013 MOVE T1,T3 ;COPY SUGGESTED MASK
2393 002304' 404440 040463' AND T1,SYMBOL
2394 002305' 312440 040463' CAME T1,SYMBOL ;IS MASK LARGE ENOUGH ?
2395 002306' 254000 002302' JRST MATCH0 ;NO SO INCREASE SIZE
2396 002307' 200240 041115' MOVE SYM,SYMBEG ;POINT TO THE FIRST SYMBOL
2397 002310' 200445 000000 MATCH2: MOVE T1,(SYM) ;GET SYMBOL NAME
2398 002311' 404440 000013 AND T1,T3 ;MASK OFF
2399 002312' 312440 040463' CAME T1,SYMBOL ;DOES THIS MATCH ?
2400 002313' 254000 002323' JRST MATCH4 ;NO
2401 002314' 500245 000002 HLL SYM,2(SYM) ;GET FLAGS FOR THE SYMBOL
2402 002315' 332000 040432' SKIPE PDP8F ;DOING PDP8 SYMBOLS ?
2403 002316' 641240 040000 TLC SYM,SMF.P8
2404 002317' 603240 040000 TLNE SYM,SMF.P8
2405 002320' 254000 002323' JRST MATCH4
2406 002321' 500245 000002 HLL SYM,2(SYM) ;SO SMF.P8 RIGHT
2407 002322' 260777 000000 CALL @(P)
2408 002323' 201245 000004 MATCH4: MOVEI SYM,4(SYM)
2409 002324' 312240 041116' CAME SYM,SYMEND ;HIT END ?
2410 002325' 254000 002310' JRST MATCH2
2411 002326' 400240 000000 SETZ SYM, ;FLAG ALL DONE
2412 002327' 263740 000000 POPJ P,
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 53
DDT11 MAC 18-May-81 17:27 COMMAND CHARACTERS
2413 ;HERE TO DO DEPOSIT MAYBE AFTER CR OR LF OR UP ARROW
2414 441000 040464' STEFIN: MOVE T1,[POINT 8,DATA] ;VIRGIN DATA POINTER
2415 002330' 200440 042702'
2416 002331' 332000 040432' SKIPE PDP8F ;WAS THIS A PDP8 LOOK ?
2417 002332' 505440 441400 HRLI T1,(POINT 12)
2418 002333' 316440 040421' CAMN T1,DAT ;DID USER TYPE ANYTHING ?
2419 002334' 263740 000000 RET ;NO SO DONE
2420 002335' 622400 000020 TXZE FLG,F.MOPN ;IS MASK OPEN ?
2421 002336' 254000 002403' JRST SETMSK ;SET MASK
2422 002337' 626400 000010 TXZN FLG,F.LOPN ;IS LOCATION OPEN ?
2423 002340' 263740 000000 RET ;NO SO JUST RETURN
2424 002341' 606400 100000 TXNN FLG,F.WENB ;WAS PATCHING ENABLED ?
2425 002342' 254000 002400' JRST WRTLCK ;IS WRITE LOCKED
2426 002343' 331440 040543' SKIPL T1,LSTIAD ;LAST ADDRESS GIVE BY USER
2427 002344' 200440 040542' MOVE T1,LSTADR
2428 002345' 202440 040542' MOVEM T1,LSTADR ;SAVE IT
2429 002346' 202440 040544' MOVEM T1,ESC.Q. ;ALSO USE FOR <ESCAPE>Q
2430 002347' 402000 040543' SETZM LSTIAD
2431 002350' 200440 040423' MOVE T1,DTFINP ;GET NEW DOTFOO
2432 002351' 202440 040422' MOVEM T1,DOTFOO ;AND SAVE IT
2433 002352' 402000 040423' SETZM DTFINP
2434 002353' 201447 000000 MOVEI T1,(DOT) ;WHERE TO PUT DATA
2435 002354' 603340 200000 TLNE DOT,200000 ;IS THIS MEMORY OR REGISTER
2436 002355' 254000 002375' JRST STEFN5 ;MUST BE MEMORY
2437 002356' 402000 040422' SETZM DOTFOO ;SO FIRST CALL WORKS
2438 441000 040464' MOVE T3,[POINT 8,DATA] ;POINTER TO DATA
2439 002357' 200540 042702'
2440 002360' 260740 001660' STEFN3: CALL NDTFOO ;GET NEXT DOTFOO
2441 002361' 400500 000000 SETZ T2, ;IN CASE ODD NUMBER OF BYTES
2442 002362' 134440 000013 ILDB T1,T3 ;GET LOW ORDER BYTE
2443 002363' 312540 040421' CAME T3,DAT ;DONE ALL BYTES ?
2444 002364' 134500 000013 ILDB T2,T3 ;GET HIGH ORDER BITS
2445 101000 000011 DPB T2,[POINT 8,T1,27] ;PUT HIGH ORDER WITH LOW ORDER
2446 002365' 137500 043063'
2447 002366' 550500 040422' HRRZ T2,DOTFOO ;GET ADDRESS
2448 002367' 306500 000007 CAIN T2,7 ;IS THIS THE PC ?
2449 002370' 405440 177776 ANDI T1,177776 ;BE SURE IS EVEN
2450 002371' 202452 011200' MOVEM T1,SIMREG(T2) ;STORE DATA
2451 002372' 312540 040421' CAME T3,DAT ;WAS THAT END OF DATA ?
2452 002373' 254000 002360' JRST STEFN3 ;LOOP BACK FOR REST
2453 002374' 263740 000000 RET
2454
2455 002375' 260740 003776' STEFN5: CALL PUTBYT ;PUT DATA INTO 11
2456 002376' 300000 000000 NOP
2457 002377' 263740 000000 RET
2458
2459 WRTLCK: TYPE <?patching was not enabled by /PATCH
2460 377414 172306 >
2461
2462 002400' 201440 043245'
2463 002401' 260740 007655'
2464 002402' 254000 000444' JRST LEVEL0
2465
2466 ;HERE TO SET MASK
2467 002403' 400600 000000 SETMSK: SETZ T4, ;INDEX FOR MASK
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 53-1
DDT11 MAC 18-May-81 17:27 COMMAND CHARACTERS
2468 002404' 134500 000011 STMSK1: ILDB T2,T1 ;GET NEXT BYTE
2469 002405' 400540 000000 SETZ T3, ;IN CASE DONE
2470 002406' 312440 040421' CAME T1,DAT ;DONE EVERYTHING YET ?
2471 002407' 134540 000011 ILDB T3,T1
2472 101000 000012 DPB T3,[POINT 8,T2,27]
2473 002410' 137540 042714'
2474 002411' 562500 040542' HRROM T2,LSTADR ;SAVE IN CASE OF HT
2475 002412' 202500 040544' MOVEM T2,ESC.Q. ;SAVE IN CASE <ESCAPE>Q
2476 002413' 542514 040513' HRRM T2,S.MASK(T4) ;SET MASK
2477 002414' 312440 040421' CAME T1,DAT ;ALL DONE YET ?
2478 002415' 344600 002404' AOJA T4,STMSK1 ;NOT YET - GO SET REST
2479 002416' 263740 000000 RET
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 54
DDT11 MAC 18-May-81 17:27 ESCAPE COMMANDS
2480 SUBTTL ESCAPE COMMANDS
2481
2482 ;HERE IF USER TYPES ESCAPE
2483 002417' 260740 001316' ESCAPE: CALL ACCUM ;IN CASE ANYTHING ALREADY IN PROGRESS
2484 002420' 263740 000000 RET
2485 002421' 541300 040220' HRRI STATE,STATSC ;SET ESCAPE FLAG
2486 002422' 402000 040545' SETZM ESCOCT ;INITIAL OCTAL ARGUMENT
2487 002423' 402000 040546' SETZM ESCDEC ;INITIAL DECIMAL ARGUMENT
2488 002424' 254000 001113' JRST LOOP
2489
2490 002425' 660400 200000 ESCESC: TXO FLG,F..ESC
2491 002426' 254000 001113' JRST LOOP
2492
2493 ;HERE TO ACCUMULATE NUMBER AFTER ESCAPE
2494 002427' 660400 000400 ESC...: TXO FLG,F.IDEC ;NUMBER IS DECIMAL
2495 002430' 200440 040546' MOVE T1,ESCDEC ;GET DECIMAL VERSION
2496 002431' 202440 040545' MOVEM T1,ESCOCT ;AND FORCE IT DECIMAL
2497 002432' 254000 001113' JRST LOOP
2498 002433' 660400 000400 ESC..8: TXO FLG,F.IDEC ;NUMBER IS DECIMAL
2499 002434' 200500 040545' ESC..0: MOVE T2,ESCOCT
2500 002435' 221500 000010 IMULI T2,^D8
2501 002436' 271511 777720 ADDI T2,-60(T1) ;ACCUMULATE NUMBER
2502 002437' 202500 040545' MOVEM T2,ESCOCT ;SAVE UPDATED NUMBER
2503 002440' 200500 040546' MOVE T2,ESCDEC
2504 002441' 221500 000012 IMULI T2,^D10
2505 002442' 271511 777720 ADDI T2,-60(T1) ;ACCUMULATE NUMBER
2506 002443' 202500 040546' MOVEM T2,ESCDEC ;SAVE UPDATED NUMBER
2507 002444' 602400 000400 TXNE FLG,F.IDEC ;WANT DECIMAL ARGUMENT ?
2508 002445' 202500 040545' MOVEM T2,ESCOCT ;YES SO FORCE IT
2509 002446' 254000 001113' JRST LOOP
2510
2511 ;HERE WHEN USER TYPES "(" AFTER AN ESCAPE
2512 002447' 332000 040545' ESCPAR: SKIPE ESCOCT ;DID USER ALSO TYPE A # ?
2513 002450' 254000 001640' JRST ILLCHR ;YES CONFUSED
2514 002451' 261740 040426' PUSH P,EXPRES ;SAVE EXPRESSION SO FAR
2515 002452' 541300 040120' HRRI STATE,STATE0 ;PLAIN EXPRESSION EVALUATION
2516 002453' 260740 001075' CALL GETEXP ;GET EXPRESSION
2517 002454' 254000 003666' JRST TPOPJ ;ABORT
2518 002455' 542440 040545' HRRM T1,ESCOCT ;THAT WAS NUMERIC ARGUMENT
2519 002456' 262740 040426' POP P,EXPRESS ;GET OLD EXPRESSION BACK
2520 002457' 135440 040634' LDB T1,CMDPTR ;GET BREAK CHARACTER
2521 002460' 302440 000051 CAIE T1,")"
2522 002461' 254000 001640' JRST ILLCHR
2523 002462' 541300 040220' HRRI STATE,STATSC
2524 002463' 254000 001076' JRST GTEXP1 ;FINISH PARTIAL EXPRESSION
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 55
DDT11 MAC 18-May-81 17:27 ESCAPE COMMANDS
2525 ;HERE WHEN USER TYPES ESCAPE LF
2526 002464' ESC.LF:
2527
2528 ;HERE WHEN USER TYPES ESCAPE CR
2529 002464' ESC.CR:
2530
2531 ;HERE WHEN USER TYPES ESCAPE UPARROW
2532 002464' 541300 040120' ESC.UP: HRRI STATE,STATE0 ;FIX DISPATCH TABLE POINTER
2533 002465' 660400 200000 TXO FLG,F..ESC ;REMEMBER WE SAW <ESCAPE>
2534 002466' 254000 001115' JRST LOOP1 ;THEN EXIT GETEXP
2535
2536 ;HERE TO EXCHANGE OLD DOT, DOTFOO, & DOTFLG
2537 002467' 250340 040424' DOTSWP: EXCH DOT,DOTOLD ;EXCHANGE NEW AND OLD DOT
2538 002470' 200440 040422' MOVE T1,DOTFOO ;GET DOTFOO
2539 002471' 250440 040425' EXCH T1,DTFOLD ;EXCHANGE WITH OLD ONE
2540 002472' 202440 040422' MOVEM T1,DOTFOO ;AND SET NEW DOTFOO
2541 002473' 263740 000000 RET
2542
2543 ;HERE FOR <ESCAPE>M - REFERS TO THE MASK
2544 002474' 660400 000040 ESC..M: TXO FLG,F.MASK ;MASK REFERENCED
2545 002475' 254000 002553' JRST ESCMD8 ;FINISH COMMAND
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 56
DDT11 MAC 18-May-81 17:27 ESCAPE COMMANDS
2546 002476' 201440 000001 ESC..A: MOVEI T1,1 ;SETTING ADDRESS MODE
2547 002477' 254000 002537' JRST ESCMOD
2548
2549 002500' 201440 000003 ESC..B: MOVEI T1,3 ;SETTING BYTE MODE
2550 002501' 254000 002533' JRST ESCMD0
2551
2552 002502' 201440 000002 ESC..C: MOVEI T1,2 ;SETTING NUMERIC MODE
2553 002503' 254000 002537' JRST ESCMOD
2554
2555 002504' 322240 001640' ESC..K: JUMPE SYM,ILLCHR ;DID A SYMBOL PRECEDE $K ?
2556 002505' 260740 007626' CALL B3.TYP ;TYPE 3 SPACES ;TYPE TAB SO HE KNOWS HE WON
2557 002506' 205440 000001 MOVSI T1,SMF.SU ;FLAG TO SUPRESS OUTPUT
2558 002507' 436445 000002 IORM T1,2(SYM) ;SUPRESS SYMBOL
2559 002510' 200445 000000 MOVE T1,(SYM) ;GET SYMBOL
2560 002511' 622400 200000 TXZE FLG,F..ESC ;DID HE WANT TO FLUSH SYMBOL ?
2561 002512' 260740 005270' CALL DELSYM ;YES SO FORGET IT
2562 002513' 254000 000451' JRST LEVEL1
2563
2564 002514' 606400 000400 ESC..R: TXNN FLG,F.IDEC ;WAS ARGUEMNT DECIMAL
2565 002515' 334440 040545' SKIPA T1,ESCOCT ;NO SO USE OCTAL
2566 002516' 200440 040546' MOVE T1,ESCDEC
2567 002517' 307440 000020 CAIG T1,^D16
2568 002520' 307440 000001 CAIG T1,1 ;IS RADIX REASONABLE ?
2569 002521' 254000 001640' JRST ILLCHR ;NO SO FLUSH REQUEST
2570 002522' 542440 040536' HRRM T1,ORADIX ;YES SET NEW RADIX
2571 002523' 626400 200000 TXZN FLG,F..ESC ;SETTING PERMANENT MODE ?
2572 002524' 254000 002553' JRST ESCMD8 ;NOT PERMANENT MODE
2573 002525' 506440 040536' HRLM T1,ORADIX ;YES
2574 002526' 254000 002551' JRST ESCMD7 ;EXIT
2575
2576 002527' 201440 000000 ESC..S: MOVEI T1,0 ;SETTING INSTRUCTION MODE
2577 002530' 254000 002537' JRST ESCMOD
2578
2579 000000 000005 ESC..I: SKIPA T1,[EXP 5] ;SETTING EBCDIC OUTPUT
2580 002531' 334440 043255'
2581 002532' 201440 000004 ESC..T: MOVEI T1,4 ;SETTING ASCII OUTPUT
2582 002533' 200500 040545' ESCMD0: MOVE T2,ESCOCT ;GET ARGUMENT
2583 002534' 336000 000012 SKIPN T2
2584 002535' 201500 000002 MOVEI T2,2 ;DEFAULT IS 2 BYTES
2585 002536' 254000 002542' JRST ESCMD2
2586 002537' 200500 040545' ESCMOD: MOVE T2,ESCOCT ;GET ARGUMENT
2587 002540' 336000 000012 SKIPN T2
2588 002541' 201500 000001 MOVEI T2,1 ;DEFAULT IS 1
2589 002542' 542500 040534' ESCMD2: HRRM T2,BYTCNT
2590 002543' 542440 040535' HRRM T1,O.MODE ;SET CURRENT MODE
2591 002544' 621400 000001 TXZ FLG,F.LBKT
2592 002545' 626400 200000 TXZN FLG,F..ESC
2593 002546' 254000 002553' JRST ESCMD8 ;NOT PERMANENT
2594 002547' 507000 040534' HRLS BYTCNT ;LOCAL COUNT IS PERMANT COUNT
2595 002550' 506440 040535' HRLM T1,O.MODE ;SET PERMANT MODE
2596 002551' 260740 007626' ESCMD7: CALL B3.TYP ;TYPE 3 SPACES
2597 002552' 254000 000451' JRST LEVEL1
2598 002553' 541300 040120' ESCMD8: HRRI STATE,STATE0 ;RESTORE STATE POINTER
2599 002554' 254000 001113' JRST LOOP ;FINISH COMMAND
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 57
DDT11 MAC 18-May-81 17:27 ESCAPE COMMANDS
2600 ;HERE IF USER TYPES <ESCAPE>Q
2601
2602 002555' 200500 040462' ESC..Q: MOVE T2,SYMPTR ;GET SYMBOL POINTER
2603 440600 040463' CAME T2,[POINT 6,SYMBOL] ;DID THIS HAPPEN AT A REASONABLE TIME ?
2604 002556' 312500 043125'
2605 002557' 254000 001640' JRST ILLCHR ;NO SO DING HIM
2606 000040 002000 TXO FLG,F.SYMB!F.GEXP ;GOT SOMETHING
2607 002560' 670400 043256'
2608 002561' 620400 001600 TXZ FLG,F.IDEC!F.IOCT!F.IHEX
2609 002562' 133000 040462' IBP SYMPTR ;SKIP FIRST CHAR
2610 002563' 201440 000061 MOVEI T1,' Q'
2611 002564' 136440 040462' IDPB T1,SYMPTR ;PUT Q IN SYMBOL
2612 002565' 541300 040120' HRRI STATE,STATE0 ;RESTORE STATE
2613 002566' 254000 001113' JRST LOOP ;AND PROCEDE
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 58
DDT11 MAC 18-May-81 17:27 ESCAPE COMMANDS
2614 002567' 336440 040426' ESC..G: SKIPN T1,EXPRESS ;GET ADDRESS HE TYPED
2615 002570' 200440 040433' MOVE T1,GOTO ;OLD VALUE FOR STARTING ADDRESS
2616 002571' 405440 177776 ANDI T1,177776 ;ONLY 16 BITS PLEASE
2617 002572' 202440 040433' MOVEM T1,GOTO ;REMEMBER IT FOR LATER
2618 002573' 332000 011147' SKIPE MEMORY ;ARE DIDDLING DUMP OR BIN FILE ?
2619 002574' 254000 002610' JRST ESC.G1 ;START THE SIMULATION
2620 002575' 336000 040456' SKIPN NODE ;ARE WE DOING STUFF WITH A NODE ?
2621 002576' 254000 001640' JRST ILLCHR ;NO SO THIS IS IMPOSSIBLE
2622 002577' 606400 100000 TXNN FLG,F.WENB ;WAS PATCHING ENABLED ?
2623 002600' 254000 002400' JRST WRTLCK ;CAN'T DO IT
2624 002601' 200440 040426' MOVE T1,EXPRESS ;GET ADDRESS HE TYPED
2625 002602' 260740 003643' CALL SETUPN ;SETUP NODE UUO
2626 002603' 000000 000003 EXP 3 ;CODE FOR GOTO IS 3
2627 002604' 260740 003670' CALL NODSET ;GO DO NODE UUO
2628 002605' 254000 005061' JRST CALER0 ;FAILED ?!
2629 002606' 260740 007615' TABDNE: CALL TABTYP
2630 002607' 254000 000451' JRST LEVEL1 ;WE DID IT
2631
2632 002610' 602400 200000 ESC.G1: TXNE FLG,F..ESC ;WAS THIS AN $$G ?
2633 002611' 254000 002606' JRST TABDNE ;THAT JUST SETS STARTING ADDRESS
2634 002612' 260740 011221' CALL SETUPC ;SETUP THE PC FOR EXECUTION
2635 002613' 661400 004000 TXO FLG,F.RUNF ;SET RUN FLOP
2636 MOVEI T1,[ASCIZ \
2637
2638 064241 505100 beginning execution @pc = \]
2639 002614' 201440 043257'
2640 002615' 260740 007655' CALL TYPSTR
2641 002616' 200440 011207' MOVE T1,SIMREG+PC ;GET PC WE'LL START AT
2642 002617' 260740 007076' CALL ADRTYP
2643 002620' 260740 007621' CALL CRLTYP
2644 002621' 200200 011607' MOVE AC4,INSRUN
2645 002622' 274200 011610' SUB AC4,WAITIM
2646 002623' 400140 000000 SETZ AC3, ;WANT OUR RUNTIME
2647 002624' 047140 000027 RUNTIM AC3, ;GET RUNTIME SO FAR
2648 002625' 260740 011153' CALL SIMXCT ;RUN THE SIMULATED MACHINE FOR A WHILE
2649 002626' 400440 000000 SETZ T1, ;WANT OUR RUNTIME
2650 002627' 047440 000027 RUNTIM T1, ;GET NEW RUNTIME
2651 002630' 276440 000003 SUBM T1,AC3 ;LEAVES HOW LONG WE RAN
2652 MOVEI T1,[ASCIZ \
2653 064241 150210 PDP-11 halted @pc = \]
2654 002631' 201440 043266'
2655 002632' 260740 007655' CALL TYPSTR
2656 002633' 200440 011207' MOVE T1,SIMREG+PC
2657 002634' 260740 007076' CALL ADRTYP
2658 203416 320172 TYPE < ps = >
2659 002635' 201440 043273'
2660 002636' 260740 007655'
2661 002637' 550440 000016 HRRZ T1,PS
2662 002640' 260740 007535' CALL OCTYPE
2663 TYPE <
2664 064241 160714 after >
2665 002641' 201440 043275'
2666 002642' 260740 007655'
2667 002643' 200440 011607' MOVE T1,INSRUN
2668 002644' 274440 011610' SUB T1,WAITIM
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 58-1
DDT11 MAC 18-May-81 17:27 ESCAPE COMMANDS
2669 002645' 274440 000004 SUB T1,AC4
2670 002646' 200200 000011 MOVE AC4,T1 ;REMEMBER NUMBER OF INSTRUCTIONS EXECUTED
2671 002647' 260740 007555' CALL PDECTY ;TYPE AS DECIMAL WITH COMMAS
2672 203235 671750 TYPE < instructions >
2673 002650' 201440 043277'
2674 002651' 260740 007655'
2675 002652' 200440 000003 MOVE T1,AC3 ;COPY NUMBER OF MSEC'S EXECUTED
2676 002653' 225440 023420 MULI T1,^D10000 ;MAKES NUMBER OF uSEC*10
2677 002654' 234440 000004 DIV T1,AC4 ;MAKES NUMBER OF 10*USEC'S / INSTRUCTIONS
2678 002655' 231440 000012 IDIVI T1,^D10
2679 002656' 301440 000144 CAIL T1,^D100 ;LESS THAN 100 ?
2680 002657' 254000 002664' JRST ESC.G8
2681 002660' 261740 000012 PUSH P,T2
2682 002661' 260740 007526' CALL DECTYP
2683 002662' 260740 007636' CALL PERTYP ;DO A DECIMAL POINT
2684 002663' 262740 000011 POP P,T1
2685 002664' 260740 007526' ESC.G8: CALL DECTYP ;TELL SPEED
2686 002665' 260740 007630' CALL BLANKT ;TYPE A SPACE
2687 002666' 200440 000003 MOVE T1,AC3 ;GET RUNTIME IN MSEC'S
2688 002667' 260740 010003' CALL TIMTY1 ;TYPE RUN TIME
2689 002670' 260740 007621' CALL CRLTYP
2690 002671' 254000 000451' JRST LEVEL1
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 59
DDT11 MAC 18-May-81 17:27 ESCAPE COMMANDS
2691 ;ESCAPE V - WATCH A LOCATION FOR VARIANCE
2692 002672' 332000 011147' ESC..V: SKIPE MEMORY
2693 002673' 254000 001640' JRST ILLCHR
2694 002674' 606400 000010 TXNN FLG,F.LOPN ;IS LOCATION OPEN ?
2695 002675' 254000 001640' JRST ILLCHR ;GIVE USER "?"
2696 002676' 402000 040712' SETZM CACHE ;SWEEP THE CACHE
2697 002677' 660400 000001 TXO FLG,F.FLIP
2698 002700' 201440 000000 ESC.V0: MOVEI T1,0 ;MINIMUM SLEEP
2699 002701' 047440 000031 SLEEP T1,
2700 002702' 550440 000007 HRRZ T1,DOT ;GET ADDRESS TO WATCH
2701 002703' 550500 040534' HRRZ T2,BYTCNT ;NUMBER OF BYTES TO DISPLAY
2702 002704' 550540 040535' HRRZ T3,O.MODE ;OUTPUT MODE
2703 002705' 307540 000002 CAIG T3,2
2704 002706' 240500 000001 ASH T2,1 ;WORD MODE SO TIMES 2 BYTES
2705 002707' 620400 004000 TXZ FLG,F.CACH
2706 002710' 260740 003354' CALL GETWRD ;GET DATA
2707 260740 005061' JRST [CALL CALER0
2708 254000 000451' JRST LEVEL1 ]
2709 002711' 254000 043302'
2710 002712' 200500 000011 MOVE T2,T1 ;COPY DATA
2711 002713' 430500 040464' XOR T2,DATA ;COMPARE TO LAST TIME
2712 002714' 404500 040513' AND T2,S.MASK ;MASK OFF IRREVELANT BITS
2713 002715' 626400 000001 TXZN FLG,F.FLIP
2714 002716' 322500 002732' JUMPE T2,ESC.V9 ;BRANCH IF SAME AS BEFORE
2715 002717' 261740 000011 PUSH P,T1 ;SAVE NEW DATA
2716 002720' 202440 040464' MOVEM T1,DATA ;SAVE NEW DATA
2717 002721' 260740 007621' CALL CRLTYP
2718 002722' 550440 000007 HRRZ T1,DOT ;GET ADDRESS
2719 002723' 260740 007076' CALL ADRTYP
2720 002724' 201440 000057 MOVEI T1,"/"
2721 002725' 603400 000001 TXNE FLG,F.LBKT
2722 002726' 201440 000133 MOVEI T1,"["
2723 002727' 260740 007666' CALL TYPCHR
2724 002730' 260740 001736' CALL COMLF4
2725 002731' 262740 040464' POP P,DATA ;IN CASE DATYPE CHANGED IT
2726 002732' 051540 000000 ESC.V9: SKPINC ;HAS USER TYPED A CHARACTER ?
2727 002733' 254000 002700' JRST ESC.V0 ;NO SO KEEP WATCHING
2728 TYPE <
2729 <done watching>
2730 064247 462336 >
2731
2732 002734' 201440 043304'
2733 002735' 260740 007655'
2734 002736' 254000 000451' JRST LEVEL2 ;GO PROCESS NEXT COMMAND
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 60
DDT11 MAC 18-May-81 17:27 ESCAPE COMMANDS
2735 ;HERE BECAUSE TYPED $X - EXECUTE AN INSTRUCTION
2736 ; REGISTER USAGE
2737 ; AC1 ON RETURN FROM SIMXCT WILL CONTAIN PC WE JUST EXECUTED
2738 ; AC3 CONTAINS # FROM $#X
2739 ; AC4 FOR $$X WILL BE SET UP WITH PC TO STOP ON
2740
2741 002737' 336000 011147' ESC..X: SKIPN MEMORY ;DO WE HAVE A PROGRAM TO EXECUTE ?
2742 002740' 254000 001640' JRST ILLCHR ;NO SO DING HIM
2743 002741' 514140 040545' HRLZ AC3,ESCOCT ;COPY REPETITION COUNT
2744 002742' 213000 000003 MOVNS AC3 ;MAKE AN AOBJN POINTER
2745 002743' 260740 011221' CALL SETUPC ;SETUP THE PC
2746 002744' 200200 011207' MOVE AC4,SIMREG+PC ;GET STARTING PC
2747 002745' 200440 000004 MOVE T1,AC4 ;GET STARTING ADDRESS
2748 002746' 260740 002171' CALL CNINWD ;COUNT WORDS IN INSTRUCTION
2749 002747' 201440 000001 MOVEI T1,1 ;CALL IT A ONE WORD INSTRUCTION
2750 002750' 270200 000011 ADD AC4,T1 ;PLUS NUMBER OF WORDS
2751 002751' 270200 000011 ADD AC4,T1 ;TWICE TO MAKE BYTE ADR
2752 004000 000001 TXZ FLG,F.RUNF!F.FLIP ;NOT REALLY RUNNING
2753 002752' 630400 043310'
2754 002753' 260740 007621' CALL CRLTYP ;ACKNOWLEDGE WE ARE DOING IT
2755 011200' 011210' MOVE T1,[SIMREG,,BEGREG]
2756 002754' 200440 043311'
2757 002755' 251440 011217' BLT T1,BEGREG+7 ;COPY INITIAL REGISTERS
2758 002756' 202700 011220' MOVEM PS,BEG.PS ;SAVE INITIAL PS
2759 002757' 402000 040710' SETZM CACHEL ;FLUSH CACHE
2760 002760' 260740 011153' ESC.X1: CALL SIMXCT ;EXECUTE THE NEXT INSTRUCTION
2761 002761' 603400 040000 TXNE FLG,F.HALT ;DID THE PDP11 HALT ?
2762 002762' 254000 003006' JRST ESCX73 ;YES
2763 002763' 606400 200000 TXNN FLG,F..ESC ;DOING $$X ?
2764 002764' 254000 002775' JRST ESC.X7 ;NO
2765 002765' 200440 011207' MOVE T1,SIMREG+PC ;GET CURRENT PC
2766 002766' 301444 000000 CAIL T1,(AC4) ;RETURN FROM SUBROUTINE ?
2767 002767' 303444 000030 CAILE T1,30(AC4) ;IN CASE OF ARGUMENT LIST
2768 002770' 304000 000000 CAIA
2769 002771' 254000 003041' JRST ESC.X9
2770 002772' 051540 000000 SKPINC ;OPERATOR IMPATIENT ?
2771 002773' 254000 002760' JRST ESC.X1 ;DO ANOTHER INSTRUCTION
2772 002774' 254000 003041' JRST ESC.X9
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 61
DDT11 MAC 18-May-81 17:27 ESCAPE COMMANDS
2773 ;HERE AFTER DOING INSTRUCTION FOR $X
2774 002775' 253140 002760' ESC.X7: AOBJN AC3,ESC.X1 ;IF WANT MORE DO'EM
2775 002776' 316700 011220' CAMN PS,BEG.PS ;DID THE PS CHANGE ?
2776 002777' 254000 003006' JRST ESCX73
2777 003000' 660400 000001 TXO FLG,F.FLIP ;HAVE TYPED A REGISTER
2778 502465 720100 MOVEI T1,[ASCIZ \PS/ \]
2779 003001' 201440 043312'
2780 003002' 260740 007655' CALL TYPSTR
2781 003003' 550440 000016 HRRZ T1,PS
2782 003004' 260740 007520' CALL RADTYP
2783 003005' 260740 007626' CALL B3.TYP ;TYPE A FEW SPACES
2784
2785 ;HERE TO DISPLAY REGISTERS WHICH CHANGED
2786 003006' 205200 777771 ESCX73: MOVSI AC4,-7
2787 003007' 200444 011200' ESCX74: MOVE T1,SIMREG(AC4)
2788 003010' 312444 011210' CAME T1,BEGREG(AC4)
2789 660400 000001 CALL [TXO FLG,F.FLIP ;HAVE TYPED A REGISTER
2790 550340 000004 HRRZ DOT,AC4 ;COPY REG ADR
2791 505340 400000 HRLI DOT,400000
2792 254000 001724' JRST COMLF1 ]
2793 003011' 260740 043314'
2794 003012' 253200 003007' AOBJN AC4,ESCX74
2795 000001 000001 CAME AC3,[1,,1] ;DID WE EXECUTE ONE INSTRUCTION
2796 003013' 312140 043320'
2797 003014' 254000 003037' JRST ESC.X8 ;MORE THAN ONE SO DON'T TRY TO TYPE OPERANDS
2798
2799 ;HERE TO DISPLAY OPERANDS AFTER LAST INSTRUCTION
2800 003015' 200440 000001 MOVE T1,AC1 ;GET PC WE EXECUTED
2801 003016' 560340 000001 HRRO DOT,AC1 ;CURRENT LOCATION
2802 003017' 402000 040422' SETZM DOTFOO
2803 003020' 201500 000002 MOVEI T2,2 ;WANT TWO BYTES
2804 003021' 260740 003354' CALL GETWRD ;TRY TO GET THE INSTRUCTION
2805 003022' 254000 003037' JRST ESC.X8 ;CAN'T GET = DONE
2806 003023' 350000 011217' AOS BEGREG+PC
2807 003024' 350000 011217' AOS BEGREG+PC
2808 003025' 202440 040464' MOVEM T1,DATA ;SAVE FOR FUTUTR REFERENCE
2809 003026' 260740 005201' CALL INVLFN ;TRY TO FIND SYMBOL
2810 003027' 254000 003037' JRST ESC.X8 ;CAN'T FIND = DONE
2811 060600 040464' LDB T1,[POINT 6,DATA,29]
2812 003030' 135440 043321'
2813 003031' 500245 000002 HLL SYM,2(SYM) ;GET FLAGS FOR INSTRUCTION
2814 003032' 603240 000040 TLNE SYM,SMF.SS
2815 302440 000027 CALL [CAIE T1,27 ;IMMEDIATE ?
2816 254000 003054' JRST ESC.X3 ;PRINT DATA FOR FIRST OPERAND
2817 201440 000002 MOVEI T1,2
2818 272440 011217' ADDM T1,BEGREG+PC ;ADJUST OLD PC FOR THIS
2819 263740 000000 RET ]
2820 003033' 260740 043322'
2821 000600 040464' LDB T1,[POINT 6,DATA,35]
2822 003034' 135440 043327'
2823 003035' 603240 000060 TLNE SYM,SMF.DD!SMF.SS
2824 003036' 260740 003054' CALL ESC.X3
2825 003037' 622400 000001 ESC.X8: TXZE FLG,F.FLIP ;DID WE TYPE ANY REGISTERS ?
2826 003040' 260740 007621' CALL CRLTYP ;YES SO FINISH OLD STUFF WITH A FLOURISH
2827
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 61-1
DDT11 MAC 18-May-81 17:27 ESCAPE COMMANDS
2828 ;HERE WHEN $X OR $$X IS FINISHED TO TYPE NEXT INSTRUCTION
2829 003041' 260740 007626' ESC.X9: CALL B3.TYP
2830 003042' 560340 011207' HRRO DOT,SIMREG+PC ;SET UP DOT TO CALL DATYPE
2831 003043' 261740 040535' PUSH P,O.MODE ;SAVE OLD OUTPUT MODE
2832 003044' 261740 040534' PUSH P,BYTCNT ;SAVE OLD BYTE COUNT
2833 003045' 402000 040535' SETZM O.MODE ;SET INSTRUCTION MODE
2834 003046' 201440 000001 MOVEI T1,1
2835 003047' 542440 040534' HRRM T1,BYTCNT
2836 003050' 260740 001724' CALL COMLF1 ;TYPE OUT INSTRUCTION
2837 003051' 262740 040534' POP P,BYTCNT
2838 003052' 262740 040535' POP P,O.MODE
2839 003053' 254000 000451' JRST LEVEL1
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 62
DDT11 MAC 18-May-81 17:27 ESCAPE COMMANDS
2840 003054' 606440 000070 ESC.X3: TRNN T1,70 ;IS THIS REGISTER MODE ?
2841 003055' 263740 000000 RET ;ALREADY GAVE CHANGE
2842 003056' 246440 777775 LSHC T1,-3 ;LEAVE ONLY MODE IN T1
2843 003057' 242500 777737 LSH T2,-^D33 ;RIGHT JUSTIFY REG NUMBER
2844 003060' 540352 011210' HRR DOT,BEGREG(T2)
2845 003061' 306440 000001 CAIN T1,1 ;WAS THIS REGISTER DEFERRED
2846 003062' 254000 003113' JRST ESCX35 ;YES SO WE HAVE ADR NOW
2847 003063' 307440 000003 CAIG T1,3 ;IS THIS AUTO INCREMENT ?
2848 350012 011210' JRST [AOS BEGREG(T2)
2849 603240 200000 TLNE SYM,SMF.BY
2850 301500 000006 CAIL T2,6
2851 350012 011210' AOS BEGREG(T2)
2852 254000 003103' JRST ESCX33 ]
2853 003064' 254000 043330'
2854 003065' 307440 000005 CAIG T1,5 ;IS THIS AUTO DECREMENT ?
2855 370012 011210' JRST [SOS BEGREG(T2)
2856 603240 200000 TLNE SYM,SMF.BY
2857 301500 000006 CAIL T2,6
2858 370012 011210' SOS BEGREG(T2)
2859 540352 011210' HRR DOT,BEGREG(T2)
2860 254000 003103' JRST ESCX33]
2861 003066' 254000 043335'
2862 003067' 261740 000011 PUSH P,T1
2863 003070' 261740 000012 PUSH P,T2
2864 003071' 200440 011217' MOVE T1,BEGREG+PC
2865 003072' 201500 000002 MOVEI T2,2 ;WANT TWO BYTES
2866 003073' 260740 003354' CALL GETWRD
2867 003074' 400440 000000 SETZ T1,
2868 003075' 550340 000011 HRRZ DOT,T1
2869 003076' 262740 000012 POP P,T2
2870 003077' 262740 000011 POP P,T1
2871 003100' 350000 011217' AOS BEGREG+PC
2872 003101' 350000 011217' AOS BEGREG+PC
2873 003102' 270352 011210' ADD DOT,BEGREG(T2)
2874 003103' 405340 177777 ESCX33: ANDI DOT,177777 ;STRIP EXTRA BITS
2875 003104' 606440 000001 TRNN T1,1 ;IS THIS DEFERRED MODE ?
2876 003105' 254000 003113' JRST ESCX35
2877 003106' 200440 000007 MOVE T1,DOT ;COPY ADDRESS
2878 003107' 201500 000002 MOVEI T2,2
2879 003110' 260740 003354' CALL GETWRD
2880 003111' 263740 000000 RET
2881 003112' 550340 000011 HRRZ DOT,T1
2882 003113' 660400 000001 ESCX35: TXO FLG,F.FLIP ;REMEMBER WE TYPED DATA
2883 003114' 405340 177777 ANDI DOT,177777 ;STRIP EXTRA BITS
2884 003115' 563000 000007 HRROS DOT ;FLAG IS MEMORY LOCATION
2885 003116' 261740 040464' PUSH P,DATA
2886 003117' 261740 000005 PUSH P,SYM ;SAVE POINTER TO SYMBOL FOR INSTRUCTION
2887 003120' 261740 040535' PUSH P,O.MODE ;SAVE OUTPUT MODE
2888 003121' 261740 040534' PUSH P,BYTCNT ;AND SAVE OUTPUT COUNT
2889 003122' 550440 040535' HRRZ T1,O.MODE ;GET OUTPUT MODE
2890 003123' 336000 000011 SKIPN T1
2891 003124' 201440 000001 MOVEI T1,1 ;USE ADDRESS INSTEAD OF INSTRUCTION
2892 003125' 201500 000002 MOVEI T2,2 ;ASSUME TWO BYTES OF OUTPUT
2893 003126' 307440 000002 CAIG T1,2 ;WORD MODE OUTPUT ?
2894 003127' 201500 000001 MOVEI T2,1 ;ONLY ONE WORD
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 62-1
DDT11 MAC 18-May-81 17:27 ESCAPE COMMANDS
2895 003130' 603240 200000 TLNE SYM,SMF.BY ;BYTE MODE INSTRUCTION ?
2896 307440 000002 JRST [CAIG T1,2 ;ALREADY BYTE MODE OUTPUT ?
2897 201440 000003 MOVEI T1,3 ;SET BYTE MODE OUTPUT
2898 201500 000001 MOVEI T2,1 ;ONLY ONE BYTE OF OUTPUT
2899 254000 003132' JRST .+1 ]
2900 003131' 254000 043343'
2901 003132' 202440 040535' MOVEM T1,O.MODE ;SET NEW OUTPUT MODE
2902 003133' 542500 040534' HRRM T2,BYTCNT ;AND BYTE COUNT
2903 003134' 260740 001725' CALL COMLF2 ;TYPE ADR AND DATA
2904 003135' 262740 040534' POP P,BYTCNT
2905 003136' 262740 040535' POP P,O.MODE
2906 003137' 262740 000005 POP P,SYM ;GET SYMBOL POINTER BACK
2907 003140' 262740 040464' POP P,DATA
2908 003141' 263740 000000 RET
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 63
DDT11 MAC 18-May-81 17:27 ESCAPE COMMANDS
2909 ;HERE BECAUSE USER TYPED $Y - INVOKES A COMMAND FILE
2910 ESC..Y: TYPE <
2911 064241 146336 Log responses where: >
2912 003142' 201440 043347'
2913 003143' 260740 007655'
2914 003144' 260740 010231' CALL ESC.D0 ;SET UP TO CALL OPNFIL
2915 003145' 400440 000000 SETZ T1, ;NO DEFAULT FILE NAME
2916 003146' 260740 005642' CALL OPNFL0
2917 003147' 300000 000000 NOP ;NO LOG FILE SO JUST GO TO TTY
2918 003150' 620400 030000 TXZ FLG,F.WRIT!F.APND ;REMEMBER WE ARE READING
2919 444464 212100 MOVE T1,[SIXBIT \DDT11\]
2920 003151' 200440 043354'
2921 444464 435544 MOVE T2,[SIXBIT \DDTCMD\] ;DEFAULT EXTENSIONS
2922 003152' 200500 043355'
2923 003277' 003277' MOVE T3,[CMDDSP,,CMDSWL]
2924 003153' 200540 043356'
2925 003154' 201600 005177' MOVEI T4,RSKP
2926 003155' 261740 006461' PUSH P,OHD ;IN CASE LOGGING
2927 003156' 402000 006461' SETZM OHD
2928 003157' 260740 005641' CALL OPNFIL
2929 003160' 254000 000444' JRST LEVEL0
2930 003161' 262740 006461' POP P,OHD
2931 003162' 260740 010241' CALL ESC.D3 ;PUT TITLE LINE ON DUMP
2932 003163' 621400 010000 TXZ FLG,F.CERR ;NO COMMAND ERRORS YET
2933 003164' 402000 003274' SETZM CSECHO ;NOT SUPPRESSING ECHO YET
2934 003165' 476000 003275' SETOM CMDFIL
2935 003166' 402000 003276' SETZM CMDCNT ;AT FIRST CHAR
2936 003167' 402000 003301' SETZM CMDFAK
2937 003170' 254000 000444' JRST LEVEL0
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 64
DDT11 MAC 18-May-81 17:27 ESCAPE COMMANDS
2938 ;HERE TO GET A CHAR FROM A COMMAND FILE
2939 003171' 402000 003301' CMDCH1: SETZM CMDFAK
2940 003172' 332440 003301' CMDCHR: SKIPE T1,CMDFAK ;PREVIOUS "^ATEXT^A" TO HANDLE ?
2941 000600 003302' JRST [CAMN T1,[POINT 6,CMDFAK+1,35]
2942 316440 043357'
2943 254000 003171' JRST CMDCH1
2944 134440 003301' ILDB T1,CMDFAK ;GET NEXT CHAR
2945 322440 003171' JUMPE T1,CMDCH1 ;IF BLANK HIT END
2946 201451 000040 MOVEI T1,40(T1) ;CONVERT TO ASCII
2947 254000 003211' JRST CMDCH8 ]
2948 003173' 254000 043360'
2949 003174' 260740 006707' CALL FILCHR
2950 003175' 254000 003257' JRST CMDONE ;DONE WITH COMMAND FILE
2951 003176' 350000 003276' AOS CMDCNT ;COUNT CHARACTERS INTO FILE
2952 003177' 306440 000177 CAIN T1,177 ;IS THIS A RUBOUT ?
2953 003200' 254000 003172' JRST CMDCHR ;IGNORE IT
2954 003201' 306440 000001 CAIN T1,1 ;IS THIS A "^A"
2955 003202' 254000 003220' JRST CMDSUB ;SPECIAL SUBSTITUTION
2956 003203' 335000 003274' SKIPGE CSECHO ;SEARCHING FOR A TAG ?
2957 003204' 254000 003211' JRST CMDCH8 ;YES SO XON, XOF STUFF
2958 003205' 306440 000023 CAIN T1,37&"S" ;IS THIS AN XOF ?
2959 523000 003274' JRST [HLLOS CSECHO ;YES SHUT OFF ECHOING
2960 254000 003172' JRST CMDCHR ] ;ON TO NEXT CHAR
2961 003206' 254000 043366'
2962 003207' 306440 000021 CAIN T1,37&"Q" ;IS THIS AN XON ?
2963 513000 003274' JRST [HLLZS CSECHO ;YES SO TURN ECHOING BACK ON
2964 254000 003172' JRST CMDCHR ] ;ON TO NEXT CHARACTER
2965 003210' 254000 043370'
2966 003211' 332000 003274' CMDCH8: SKIPE CSECHO ;DOING AN ECHO ?
2967 003212' 254000 005177' JRST RSKP
2968 003213' 261740 000011 PUSH P,T1 ;SAVE CHARACTER
2969 003214' 306440 000033 CAIN T1,33 ;IS THIS AN ALTMODE ?
2970 003215' 201440 000044 MOVEI T1,"$" ;YES SO ECHO RIGHT
2971 003216' 260740 007666' CALL TYPCHR
2972 003217' 254000 005176' JRST TPOPJ1 ;GET CHAR BACK, AND SKIP RETURN
2973
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 65
DDT11 MAC 18-May-81 17:27 ESCAPE COMMANDS
2974 003220' 260740 004347' CMDSUB: CALL SAVE24
2975 440600 003302' MOVE T4,[POINT 6,CMDFAK+1]
2976 003221' 200600 043372'
2977 003222' 402000 003302' SETZM CMDFAK+1
2978 003223' 260740 006707' CMDCH2: CALL FILCHR ;GET NEXT CHAR
2979 003224' 254000 003240' JRST CMDCH7
2980 003225' 350000 003276' AOS CMDCNT ;COUNT THIS CHAR
2981 003226' 306440 000001 CAIN T1,1 ;IS THIS THE TRAILING "^A" ?
2982 003227' 254000 003236' JRST CMDCH4 ;GO EVALUATE WHAT WE HAVE
2983 003230' 301440 000141 CAIL T1,"A"+40 ;CHECK FOR LC
2984 003231' 303440 000172 CAILE T1,"Z"+40
2985 003232' 640440 000040 TRC T1,40 ;CONVERT TO SIXBIT
2986 000600 003302' CAME T4,[POINT 6,CMDFAK+1,35]
2987 003233' 312600 043357'
2988 003234' 136440 000014 IDPB T1,T4
2989 003235' 254000 003223' JRST CMDCH2
2990 003236' 200440 003302' CMDCH4: MOVE T1,CMDFAK+1 ;GET SYMBOL WE BUILT
2991 003237' 260740 005153' CALL SYMFND ;SEE IF THERE IS A SYMBOL FOR THIS
2992 201440 000001 CMDCH7: JRST [MOVEI T1,1 ;THIS IS HIS "^A"
2993 254000 003211' JRST CMDCH8 ]
2994 003240' 254000 043373'
2995 000000 003172' PUSH P,[EXP CMDCHR]
2996 003241' 261740 043375'
2997 003242' 200445 000001 MOVE T1,1(SYM) ;GET VALUE
2998 440600 003302' MOVE T3,[POINT 6,CMDFAK+1]
2999 003243' 200540 043372'
3000 003244' 202540 003301' MOVEM T3,CMDFAK
3001 003245' 402000 003302' SETZM CMDFAK+1
3002 003246' 200600 040536' MOVE T4,ORADIX
3003 003247' 231454 000000 CMDCH6: IDIVI T1,(T4)
3004 003250' 506517 000000 HRLM T2,(P)
3005 003251' 332000 000011 SKIPE T1
3006 003252' 260740 003247' PUSHJ P,CMDCH6
3007 003253' 554457 000000 HLRZ T1,(P)
3008 003254' 435440 000020 IORI T1,20 ;CONVERT TO SIXBIT
3009 003255' 136440 000013 IDPB T1,T3
3010 003256' 263740 000000 RET
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 66
DDT11 MAC 18-May-81 17:27 ESCAPE COMMANDS
3011 ;HERE WHEN DONE WITH A COMMAND FILE
3012 003257' 332240 041115' CMDONE: SKIPE SYM,SYMBEG ;POINTER TO BEGINING OF SYMBOL TABLE
3013 003260' 316240 041116' CMDDN1: CAMN SYM,SYMEND ;HIT END YET ?
3014 003261' 254000 003267' JRST CMDDN7 ;DONE
3015 360605 000000 LDB T1,[POINT 6,(SYM),5]
3016 003262' 135440 043376'
3017 003263' 306440 000005 CAIN T1,' %'
3018 200445 000000 JRST [MOVE T1,(SYM) ;GET SYMBOL
3019 260740 005270' CALL DELSYM ;FLUSH SYMBOL
3020 254000 003257' JRST CMDONE ] ;GO GET REST
3021 003264' 254000 043377'
3022 003265' 201245 000004 MOVEI SYM,4(SYM) ;POINT TO NEXT SYMBOL
3023 003266' 254000 003260' JRST CMDDN1 ;CHECK IT
3024 003267' 402000 003275' CMDDN7: SETZM CMDFIL ;DONE WITH FILE NOW
3025 003270' 260740 006175' CALL DONE.W ;IN CASE LOGGING COMMANDS
3026 TYPE <
3027 Finished command file
3028
3029 064241 143322 >
3030
3031 003271' 201440 043402'
3032 003272' 260740 007655'
3033 003273' 263740 000000 RET
3034
3035 003274' 000000 000000 CSECHO: Z ;IF NONZERO SUPPRESS ECHOING COMMAND CHARACTERS
3036 ; LH SET -1 IF SEARCHING FOR A TAG
3037 ; RH SET -1 IF ENCOUNTER XOF, CLEARED WITH XON
3038 003275' 000000 000000 CMDFIL: Z
3039 003276' 000000 000000 CMDCNT: Z ;COUNT OF CURRENT COMMAND CHARACTER
3040 003277' CMDDSP:
3041 003277' 000000 000000 CMDSWL: Z
3042 003300' 000000 000000 Z
3043 003301' 000000 000000 CMDFAK: Z ;POINTER TO FOLLOWING WORD
3044 003302' 000000 000000 Z
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 67
DDT11 MAC 18-May-81 17:27 ESCAPE COMMANDS
3045 ;HERE FOR (ALTMODE)N WHICH IS NOT WORD SEARCH
3046 003303' 664400 000001 ESC..N: TROA FLG,F.FLIP ;FLAG WE ARE DOING NOT SEARCH
3047
3048 ;HERE FOR (ALTMODE)W WHICH IS WORD SEARCH
3049 003304' 620400 000001 ESC..W: TXZ FLG,F.FLIP ;FLAG WE WANT MATCHES
3050 003305' 200440 040426' MOVE T1,EXPRESS ;GET WHAT TO SEARCH FOR
3051 003306' 404440 040513' AND T1,S.MASK
3052 003307' 202440 040512' MOVEM T1,S.WORD
3053 003310' 200340 040510' MOVE DOT,SBEGIN
3054 003311' 402000 040710' SETZM CACHEL ;NOTHING IN CACHE SO FAR
3055 003312' 660400 004000 TXO FLG,F.CACH ;USE CACHE IF WE CAN
3056 003313' 563440 000007 ESC.W2: HRROS T1,DOT ;COPY ADR (FLAG MEMORY ADR)
3057 003314' 550500 040511' HRRZ T2,S..END
3058 003315' 271500 000002 ADDI T2,2
3059 003316' 274500 000011 SUB T2,T1 ;NUMBER OF WORDS TO GET TO FINSIH SEARCH
3060 003317' 303500 000140 CAILE T2,EXMAX
3061 003320' 201500 000140 MOVEI T2,EXMAX ;MAXIMUM NUMBER OF WORDS FOR THIS REQUEST
3062 003321' 260740 003354' CALL GETWRD
3063 003322' 254000 003351' JRST ESCW.9
3064 003323' 202440 040464' MOVEM T1,DATA ;SAVE DATA
3065 003324' 404440 040513' AND T1,S.MASK ;MASK SOME OF THE BITS
3066 003325' 602400 000001 TXNE FLG,F.FLIP ;ARE WE LOOKING FOR MATCH ?
3067 316440 040512' JRST [ CAMN T1,S.WORD ;DON'T WANT MATCH
3068 254000 003342' JRST ESCW.8
3069 254000 003331' JRST ESCW.6 ]
3070 003326' 254000 043410'
3071 003327' 312440 040512' CAME T1,S.WORD
3072 003330' 254000 003342' JRST ESCW.8
3073 003331' 260740 007621' ESCW.6: CALL CRLTYP
3074 003332' 200440 000007 MOVE T1,DOT ;GET ADDRESS
3075 003333' 260740 007076' CALL ADRTYP
3076 274220 000000 TYPE </ >
3077 003334' 201440 043413'
3078 003335' 260740 007655'
3079 003336' 260740 007123' CALL DATYPE
3080 003337' 051540 000000 SKPINC ;ANY TYPEAHEAD ?
3081 003340' 254000 003342' JRST ESCW.8
3082 003341' 254000 003351' JRST ESCW.9 ;YES SO STOP
3083 003342' 260740 001670' ESCW.8: CALL NXTDOT ;GET NEXT DOT
3084 003343' 550440 000007 HRRZ T1,DOT
3085 003344' 313440 040511' CAMLE T1,S..END
3086 003345' 254000 003351' JRST ESCW.9
3087 003346' 606340 000377 TRNN DOT,377 ;DON'T DO TOO MANY UUO'S
3088 003347' 051540 000000 SKPINC ;TYPING AHEAD ?
3089 003350' 254000 003313' JRST ESC.W2 ;NO
3090 ESCW.9: TYPE <
3091 <search done>
3092 064247 471712 >
3093
3094 003351' 201440 043414'
3095 003352' 260740 007655'
3096 003353' 254000 000451' JRST LEVEL1
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 68
DDT11 MAC 18-May-81 17:27 ROUTINES TO HANDLE PDP11 MEMORY
3097 SUBTTL ROUTINES TO HANDLE PDP11 MEMORY
3098
3099 ;ROUTINE TO GET A WORD FROM THE PDP-11
3100 ; CALL CALL GETWRD ;WITH ADR IN T1, NUMBER OF BYTES IN T2
3101 ; ERROR RETURN ERROR CODE IN T1
3102 ; SUCCES DATA IN T1
3103 003354' 260740 004361' GETWRD: CALL SAVE35 ;SAVE T3, T4, & T5
3104 003355' 405440 177777 ANDI T1,177777
3105 003356' 332000 040432' SKIPE PDP8F
3106 003357' 405440 077777 ANDI T1,077777 ;STRIP EXTRA BITS
3107 003360' 336000 000012 SKIPN T2
3108 003361' 254200 000000 HALT
3109 003362' 332000 040710' SKIPE CACHEL ;IS THERE DATA IN CACHE ?
3110 003363' 606400 004000 TXNN FLG,F.CACH ;AND MAY WE USE CACHE ?
3111 003364' 254000 003410' JRST GETWD1 ;NO CACHE OR CAN'T USE IT
3112 003365' 315440 040710' CAMGE T1,CACHEL ;IS REQUEST TOO LARGE ?
3113 003366' 315440 040711' CAMGE T1,CACHEA ;OR TOO SMALL
3114 003367' 254000 003410' JRST GETWD1 ;NO
3115 441000 040712' GETWD0: MOVE T4,[POINT 8,CACHE] ;POINTER TO CACHE
3116 003370' 200600 043420'
3117 003371' 332000 040432' SKIPE PDP8F
3118 441400 040712' MOVE T4,[POINT 12,CACHE]
3119 003372' 200600 043421'
3120 003373' 200540 000011 MOVE T3,T1 ;COPY ADDRESS OF BYTE TO GET
3121 003374' 274540 040711' SUB T3,CACHEA ;MAKE RELATIVE
3122 003375' 304000 000000 CAIA
3123 003376' 133000 000014 IBP T4 ;SKIP NEXT BYTE
3124 003377' 365540 003376' SOJGE T3,.-1
3125 003400' 134440 000014 ILDB T1,T4 ;GET LOW ORDER BYTE OF REQUESTED WORD
3126 003401' 332000 040432' SKIPE PDP8F
3127 003402' 254000 003405' JRST GETWD3
3128 003403' 134500 000014 ILDB T2,T4 ;GET HIGH ORDER BYTE OF REQUESTED WORD
3129 101000 000011 DPB T2,[POINT 8,T1,27]
3130 003404' 137500 043063'
3131 003405' 405440 777777 GETWD3: ANDI T1,-1 ;STRIP EXTRA BITS
3132 003406' 350017 000000 AOS (P) ;SKIP RETURN
3133 003407' 263740 000000 RET
3134
3135 003410' 200600 040431' GETWD1: MOVE T4,ETYPE
3136 000000 003444' JRST @[GETMEM ;MEMORY
3137 000000 003415' GET.C1 ;CALL-11
3138 000000 003466' GETNOD ;NODE. UUO
3139 000000 003527' GET.FE ;FE0 ON TOPS-20
3140 000000 003415' GET.C1 ;DN60 ON TOPS-10
3141 000000 003437' GETD62 ;DN60 ON TOPS-20, BOTH DN20 AND DN22
3142 000000 003412' GETNYI ;MCB
3143 003411' 254034 043422' GT.F10](T4) ;FE0 ON TOPS-10
3144
3145 GETNYI: TYPE <No code for reading from that type of device.
3146 473364 061736 >
3147
3148 003412' 201440 043432'
3149 003413' 260740 007655'
3150 003414' 254000 000451' JRST LEVEL2
3151
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 68-1
DDT11 MAC 18-May-81 17:27 ROUTINES TO HANDLE PDP11 MEMORY
3152 ;HERE TO DO CALL11 UUO TO GET DATA
3153 003415' 400600 000000 GET.C1: SETZ T4,
3154 003416' 552440 000013 HRRZM T1,T3
3155 003417' 201500 000001 GETWDR: MOVEI T2,1 ;FUNCTION 1
3156 000003 000012 MOVE T1,[3,,T2]
3157 003420' 200440 043444'
3158 003421' 504500 040455' HRL T2,PORT ;ADD PORT NUMBER
3159 003422' 047440 000156 CAL78. T1,
3160 000003 000012 SKIPA T1,[3,,T2]
3161 003423' 334440 043444'
3162 003424' 254000 003427' JRST GETWD2
3163 003425' 047440 000125 CAL11. T1,
3164 302440 000004 JRST [ CAIE T1,4 ;ERROR 4, ?ALREADY IN USE?
3165 254000 005200' JRST R ;NO, ERROR RETURN
3166 200440 000144 MOVE T1,^D100 ;WAIT A WHILE
3167 047440 000072 HIBER T1, ;SEE HOW LONG IT TAKES
3168 254000 005200' JRST R
3169 254000 003417' JRST GETWDR] ;AND TRY AGAIN
3170 003426' 254000 043445'
3171 003427' 550500 000013 GETWD2: HRRZ T2,T3 ;GET ADDRESS WE WERE GETTING
3172
3173 003430' 260740 003735' GTWD2A: CALL PUTBCH ;PUT BYTE INTO THE CACHE
3174 003431' 242440 777770 LSH T1,-^D8 ;ADJUST DATA
3175 003432' 350000 000012 AOS T2
3176 003433' 260740 003735' CALL PUTBCH ;ALSO HIGH ORDER BYTE
3177 003434' 200440 000013 MOVE T1,T3 ;GET ADDRESS AGAIN
3178 003435' 201500 000002 MOVEI T2,2 ;NUMBER OF BYTES TO GET
3179 003436' 254000 003370' JRST GETWD0 ;GET DATA FROM THE CACHE
3180
3181 003437' 260740 004532' GETD62: CALL D62EXM ;examine DN60/TOPS20 FE
3182 003440' 334440 000001 SKIPA T1,AC1 ;move error code to the right place
3183 003441' 334540 000012 SKIPA T3,T2 ;suc'd - move address for GETWD2
3184 003442' 263740 000000 RET
3185 003443' 254000 003430' JRST GTWD2A
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 69
DDT11 MAC 18-May-81 17:27 ROUTINES TO HANDLE PDP11 MEMORY
3186 ;HERE TO GET A WORD FROM CORE IN 10 MEMORY
3187 003444' 200600 011147' GETMEM: MOVE T4,MEMORY
3188 003445' 313440 011150' CAMLE T1,MEMLIM ;IS IT IN RANGE ?
3189 550540 000011 JRST [HRRZ MA,T1 ;ADR WE WANT
3190 260740 032657' CALL IOLOAD-1
3191 254000 005200' JRST R ;ERROR RETURN
3192 254000 003405' JRST GETWD3 ] ;WON
3193 003446' 254000 043453'
3194 003447' 332000 040432' SKIPE PDP8F
3195 003450' 254000 003461' JRST GTMEM8 ;GET WORD OF 8 MEMORY
3196 003451' 231440 000004 IDIVI T1,4 ;WE KEEP 4 BYTES IN 36BIT WORD
3197 003452' 270440 011147' ADD T1,MEMORY ;ADD RELOCATION
3198 003453' 602500 000002 TRNE T2,2
3199 003454' 334451 000000 SKIPA T1,(T1)
3200 003455' 544451 000000 HLR T1,(T1)
3201 003456' 602500 000001 TRNE T2,1 ;DID HE ASK FOR LH BYTE ?
3202 003457' 242440 777770 LSH T1,-^D8 ;YES
3203 003460' 254000 003405' JRST GETWD3
3204
3205 ;HERE TO GET A PDP8 WORD FROM CORE IN 10 MEMORY
3206 003461' 231440 000002 GTMEM8: IDIVI T1,2
3207 003462' 270440 011147' ADD T1,MEMORY ;RELOCATE
3208 222211 000000 LDB T1,[POINT 18,(T1),17
3209 003463' 135452 043457' POINT 18,(T1),35 ](T2)
3210 003464' 405440 007777 ANDI T1,007777
3211 003465' 254000 003405' JRST GETWD3
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 70
DDT11 MAC 18-May-81 17:27 ROUTINES TO HANDLE PDP11 MEMORY
3212 ;HERE TO EXAMINE MEMORY FROM ANOTHER NETWORK NODE
3213 003466' 260740 003643' GETNOD: CALL SETUPN ;BEGIN BUILDING MSG<LINE><CODE><ADR>
3214 003467' 000000 000001 EXP 1 ;CODE FOR EXAMINE REQUESTS IS 1
3215 003470' 202440 000013 MOVEM T1,T3 ;SAVE ADDRESS
3216 003471' 271452 000000 ADDI T1,(T2) ;MAKE LIMIT ADDRESS
3217 003472' 260740 003654' CALL PUTADR ;PUT LIMIT ADDRESS INTO THE MESSAGE
3218 003473' 260740 003670' CALL NODSET ;DO NODE UUO
3219 003474' 254000 005200' JRST R ;ERROR RETURN
3220 003475' 302440 000012 CAIE T1,12 ;CODE FOR EXAMINE DATA IS 12
3221 003476' 254000 003717' JRST STCERR
3222 003477' 261740 000013 PUSH P,T3 ;SAVE ADDRESS WE WENT FOR
3223 003500' 554540 004376' HLRZ T3,NODARG+3 ;GET BYTE COUNT FROM MSG
3224 003501' 275540 000004 SUBI T3,4 ;SUBTRACT BYTES WE ALREADY READ
3225 003502' 134500 000014 ILDB T2,T4 ;GET LOW ORDER 8 BITS OF ADDRESS
3226 003503' 134440 000014 ILDB T1,T4 ;GET HIGH ORDER 8 BITS
3227 101000 000012 DPB T1,[POINT 8,T2,27]
3228 003504' 137440 042714'
3229 003505' 332000 040432' SKIPE PDP8F
3230 003506' 254000 003512' JRST GTNOD3
3231 003507' 370000 000013 SOS T3 ;COUNT BYTE
3232 003510' 134440 000014 ILDB T1,T4
3233 201000 000012 DPB T1,[POINT 8,T2,19]
3234 003511' 137440 043461'
3235 003512' 134440 000014 GTNOD3: ILDB T1,T4 ;GET NEXT BYTE OF DATA
3236 003513' 336000 040432' SKIPN PDP8F
3237 003514' 254000 003522' JRST GTNOD4
3238 003515' 261740 000011 PUSH P,T1 ;SAVE LOW ORDER BITS
3239 003516' 134440 000014 ILDB T1,T4 ;GET HIGH ORDER BITS
3240 060617 000000 DPB T1,[POINT 6,(P),29]
3241 003517' 137440 043462'
3242 003520' 262740 000011 POP P,T1
3243 003521' 370000 000013 SOS T3 ;KEEP COUNT HONEST
3244 003522' 260740 003735' GTNOD4: CALL PUTBCH ;PUT BYTE INTO THE CACHE
3245 003523' 350000 000012 AOS T2 ;ADVANCE ADDRESS
3246 003524' 367540 003512' SOJG T3,GTNOD3
3247 003525' 262740 000011 POP P,T1 ;GET ADDRESS WE WENT FOR
3248 003526' 254000 003370' JRST GETWD0
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 71
DDT11 MAC 18-May-81 17:27 ROUTINES TO HANDLE PDP11 MEMORY
3249 ;HERE TO GET DATA FROM A /FE DEVICE
3250 004001 052320 GET.FE: MOVE T3,[BYTE (16)IO.RLB(8)"E","M"]
3251 003527' 200540 043463'
3252 003530' 202540 040436' MOVEM T3,FE.MSG
3253 003531' 402000 040437' SETZM FE.MSG+1
3254 003532' 402000 040440' SETZM FE.MSG+2
3255 003533' 261740 000011 PUSH P,T1 ;SAVE THE ADDR
3256 003534' 242440 000024 LSH T1,24
3257 003535' 541440 000040 HRRI T1,2*20
3258 003536' 202440 040440' MOVEM T1,FE.MSG+2 ;BYTE(16)ADR,2
3259 003537' 200040 040435' MOVE AC1,FE.JFN ;GET JFN FOR FE DEVICE
3260 442000 040436' MOVE AC2,[442000,,FE.MSG]
3261 003540' 200100 043464'
3262 003541' 211140 000006 MOVNI AC3,6
3263 003542' 104000 000053 SOUT
3264 003543' 320700 003666' ERJMP TPOPJ
3265 003544' 201100 000003 MOVEI AC2,.MOEOF
3266 003545' 474140 000000 SETO AC3,
3267 003546' 104000 000077 MTOPR
3268 003547' 320700 003666' ERJMP TPOPJ
3269 003550' 260740 003555' CALL GETFEM ;GET RESPONSE
3270 003551' 254000 003666' JRST TPOPJ ;ERROR RETURN
3271 242000 040441' LDB T1,[POINT ^D16,FE.MSG+3,15]
3272 003552' 135440 043465'
3273 003553' 262740 000013 POP P,T3 ;GET ADR OFF STACK
3274 003554' 254000 003405' JRST GETWD3 ;ERROR RETURN
3275
3276 442000 040436' GETFEM: MOVE AC2,[POINT 16,FE.MSG] ;POINTER TO FRONT END MESSAGE
3277 003555' 200100 043464'
3278 003556' 211140 000006 MOVNI AC3,6
3279 003557' 104000 000052 SIN ;GET IT
3280 003560' 320700 005200' ERJMP R
3281 042000 040440' LDB AC3,[POINT 16,FE.MSG+2,31]
3282 003561' 135140 043466'
3283 003562' 323140 003567' JUMPLE AC3,GTFEM3 ;NO MORE
3284 003563' 242140 777777 LSH AC3,-1 ;CONVERT TO WORDS
3285 003564' 210140 000003 MOVN AC3,AC3
3286 003565' 104000 000052 SIN
3287 003566' 320700 005200' ERJMP R
3288 041000 040437' GTFEM3: LDB T1,[POINT 8,FE.MSG+1,31]
3289 003567' 135440 043467'
3290 003570' 210440 000011 MOVN T1,T1 ;RETURN STATUS
3291 003571' 405440 000377 ANDI T1,377
3292 003572' 602440 000200 TRNE T1,200
3293 003573' 254000 005177' RETSKP
3294 003574' 263740 000000 RET
3295
3296
3297 ;HERE TO DO THE WORK UNDER TOPS-10
3298
3299 003575' 505440 001000 GT.F10: HRLI T1,IO.RLB ;SET UP HEADER FOR READ FCN
3300 003576' 260740 003616' PUSHJ P,ME.SET ;...
3301 000013 040451' MOVE T1,[.DTEOF,,FE.CPU] ;DO OUTPUT
3302 003577' 200440 043470'
3303 003600' 047440 000170 DTE. T1, ;TO ME: (PLEASE)
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 71-1
DDT11 MAC 18-May-81 17:27 ROUTINES TO HANDLE PDP11 MEMORY
3304 660440 000400 JRST [DTEERR: TRO T1,400 ;Make DTE. error codes distinct
3305 263740 000000 RET]
3306 003601' 254000 043471'
3307 003602' 260740 003627' PUSHJ P,FE.RPY ;READ THE REPLY
3308 003603' 263740 000000 POPJ P, ;ERROR
3309 003604' 303440 000040 CAILE T1,FE.MAX ;TOO MUCH DATA?
3310 JRST [FE$BLT:TYPE <
3311 064247 741302 ?Bad PDP-11 Message>
3312 201440 043473'
3313 260740 007655'
3314 254000 000000' JRST DDT11] ;YES, WE LOSE SYNC
3315 003605' 254000 043500'
3316 003606' 240440 777777 ASH T1,-1 ;BYTES TO WORDS
3317 003607' 505440 040441' HRLI T1,FE.MSG+3 ;WHERE TO PUT DATA
3318 003610' 206440 040453' MOVSM T1,FE.BUF
3319 000012 040451' MOVE T1,[.DTEIF,,FE.CPU] ;READ IT
3320 003611' 200440 043503'
3321 003612' 047440 000170 DTE. T1, ;...
3322 003613' 254000 000000* JRST DTEERR
3323 222000 040441' LDB T1,[POINT 16,FE.MSG+3,17] ;DATA
3324 003614' 135440 043504'
3325 003615' 254000 003405' JRST GETWD3
3326
3327 ;SUBROUTINE TO SET UP A MESSAGE HEADER FOR THE ME: DEVICE
3328 ;CALL WITH T1/ IO.xLB,,ADDRESS
3329
3330 003616' 512440 040436' ME.SET: HLLZM T1,FE.MSG+0 ;SET IO FUNCTION
3331 003617' 505440 000002 HRLI T1,2 ;DATA BYTES TO BE TRANSFERED
3332 003620' 206440 040440' MOVSM T1,FE.MSG+2 ;(PARAM-2,,BYTE-CNT)
3333 003621' 402000 040437' SETZM FE.MSG+1 ;(UNIT,,PARAM-1)
3334 003622' 201440 042515 MOVEI T1,(<BYTE (2)0(8)"E","M">) ;SET DEVICE NAME
3335 003623' 542440 040436' HRRM T1,FE.MSG+0 ;IN HEADER
3336 000006 040436' MOVE T1,[<14/2>,,FE.MSG] ;WORD COUNT TO SEND,,ADDRESS
3337 003624' 200440 043505'
3338 003625' 202440 040453' MOVEM T1,FE.BUF ;FOR FEDSER
3339 003626' 263740 000000 POPJ P, ;ALL SET
3340
3341 ;SUBROUTINE TO READ ME: REPLY HEADER
3342 ;NON-SKIP T1 IS ERROR CODE, SKIP T1 IS # DATA BYTES TO FOLLOW
3343
3344 000006 040436' FE.RPY: MOVE T1,[<14/2>,,FE.MSG] ;READ HEADER ONLY
3345 003627' 200440 043505'
3346 003630' 202440 040453' MOVEM T1,FE.BUF ;SET UP FOR UUO
3347 000012 040451' MOVE T1,[.DTEIF,,FE.CPU] ;READ DATA FUNCTION
3348 003631' 200440 043503'
3349 003632' 047440 000170 DTE. T1, ;...
3350 003633' 254000 003613* JRST DTEERR ;OOPS!
3351 001000 040437' LDB T1,[POINT 8,FE.MSG+1,35] ;GET $DSW
3352 003634' 135440 043506'
3353 003635' 213000 000011 MOVNS T1 ;MAKE ERRORS POSITIVE
3354 003636' 405440 000377 ANDI T1,377 ;...
3355 003637' 606440 000200 TRNN T1,200 ;ERROR?
3356 003640' 263740 000000 POPJ P, ;YES, RETURN IT
3357 002000 040440' LDB T1,[POINT 16,FE.MSG+2,35] ;HOW MUCH DATA FOLLOWS?
3358 003641' 135440 043507'
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 71-2
DDT11 MAC 18-May-81 17:27 ROUTINES TO HANDLE PDP11 MEMORY
3359 003642' 254000 005177' RETSKP
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 72
DDT11 MAC 18-May-81 17:27 ROUTINES TO HANDLE PDP11 MEMORY
3360 ;HERE TO BEGIN A NODE UUO MSG <LINE><CODE><ADDRESS>
3361 ; CALL MOVE T1,<ADR>
3362 ; CALL SETUPN
3363 ; EXP <CODE>
3364 003643' 261740 000011 SETUPN: PUSH P,T1 ;SAVE ADDRESS
3365 441000 004400' MOVE T4,[POINT 8,STCMSG] ;POINTER TO STATION CONTROL MSG
3366 003644' 200600 043510'
3367 003645' 200440 040457' MOVE T1,LINE ;0 = SELF, 1-N IS LINE NUMBER
3368 003646' 136440 000014 IDPB T1,T4 ;MSG IS FOR NODE
3369 003647' 200477 777777 MOVE T1,@-1(P) ;GET CODE
3370 003650' 136440 000014 IDPB T1,T4
3371 003651' 262740 000011 POP P,T1 ;GET ADDRESS BACK
3372 003652' 260740 003654' CALL PUTADR ;PUT ADDRESS INTO THE MESSAGE
3373 003653' 254000 005177' RETSKP
3374
3375 ;HERE TO PUT AN ADDRESS IN A NODE UUO STRING
3376 003654' 261740 000011 PUTADR: PUSH P,T1
3377 003655' 332000 040432' SKIPE PDP8F
3378 003656' 405440 077777 ANDI T1,077777 ;STRIP EXTRA BITS
3379 003657' 136440 000014 IDPB T1,T4 ;PUT LOW ORDER BYTE OF ADR INTO MSG
3380 003660' 241440 777770 ROT T1,-^D8
3381 003661' 136440 000014 IDPB T1,T4
3382 003662' 241440 777770 ROT T1,-^D8
3383 003663' 332000 040432' SKIPE PDP8F
3384 003664' 254000 003666' JRST TPOPJ
3385 003665' 136440 000014 IDPB T1,T4
3386 003666' 262740 000011 TPOPJ: POP P,T1
3387 003667' 263740 000000 RET
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 73
DDT11 MAC 18-May-81 17:27 ROUTINES TO HANDLE PDP11 MEMORY
3388 ;HERE TO DO A NODE UUO
3389 ; CALL CALL NODSET
3390 ; ERROR RETURN CODE IN T1
3391 ; RETURNS WITH T4 POINTING TO INPUT MSG AND CODE IN T1
3392 441000 004400' NODSET: PUSH P,[POINT 8,STCMSG]
3393 003670' 261740 043510'
3394 003671' 201440 000001 MOVEI T1,1 ;INITIALIZE LENGTH COUNTER
3395 003672' 133017 000000 NODSE1: IBP (P) ;ADVANCE DUMMY POINTER
3396 003673' 312617 000000 CAME T4,(P)
3397 003674' 344440 003672' AOJA T1,NODSE1
3398 003675' 505440 004400' HRLI T1,STCMSG
3399 003676' 206440 004375' MOVSM T1,NODARG+2
3400 003677' 262740 000011 POP P,T1 ;CLEAN OFF STACK
3401 003700' 201440 000004 MOVEI T1,4 ;NUMBER OF WORDS IN ARGUMENT
3402 003701' 202440 004373' MOVEM T1,NODARG
3403 003702' 200440 040456' MOVE T1,NODE ;NODE NAME
3404 003703' 202440 004374' MOVEM T1,NODARG+1
3405 000400 004420' MOVE T1,[400,,STCIMS] ;INPUT MSG SLOT
3406 003704' 200440 043511'
3407 003705' 202440 004376' MOVEM T1,NODARG+3
3408 000003 004373' MOVE T1,[3,,NODARG] ;FUNCTION IS SEND STC MSG
3409 003706' 200440 043512'
3410 003707' 047440 000157 NODE. T1,
3411 003710' 263740 000000 RET ;ERROR RETURN
3412 441000 004420' MOVE T4,[POINT 8,STCIMS] ;POINTER TO INPUT MESSAGE
3413 003711' 200600 043513'
3414 003712' 134440 000014 ILDB T1,T4 ;GET FIRST BYTE (= LINE# OR SELF)
3415 003713' 312440 040457' CAME T1,LINE
3416 003714' 254000 005061' JRST CALER0 ;DESCRIBE FAULT
3417 003715' 134440 000014 ILDB T1,T4 ;GET MESSAGE SUBTYPE
3418 003716' 254000 005177' RETSKP
3419
3420 516510 320312 STCERR: TYPE <STC error - msg =>
3421 003717' 201440 043514'
3422 003720' 260740 007655'
3423 003721' 554600 004376' HLRZ T4,NODARG+3
3424 441000 004420' SKIPA T5,[POINT 8,STCIMS]
3425 003722' 334640 043513'
3426 003723' 260740 007633' STCER3: CALL COMTYP ;TYPE A COMMA
3427 003724' 201440 000074 MOVEI T1,"<"
3428 003725' 260740 007666' CALL TYPCHR
3429 003726' 134440 000015 ILDB T1,T5
3430 003727' 260740 007535' CALL OCTYPE
3431 003730' 201440 000076 MOVEI T1,">"
3432 003731' 260740 007666' CALL TYPCHR
3433 003732' 367600 003723' SOJG T4,STCER3
3434 003733' 474440 000000 SETO T1, ;SAY WE PRINTED THE ERROR
3435 003734' 263740 000000 RET
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 74
DDT11 MAC 18-May-81 17:27 ROUTINES TO HANDLE PDP11 MEMORY
3436 ;HERE TO PUT A BYTE INTO THE CACHE
3437 ; CALL MOVE T1,<BYTE>
3438 ; MOVE T2,<ADR>
3439 ; CALL PUTBCH
3440 ; RETURN
3441 003735' 261740 000011 PUTBCH: PUSH P,T1
3442 003736' 261740 000012 PUSH P,T2
3443 003737' 261740 000013 PUSH P,T3
3444 003740' 261740 000014 PUSH P,T4
3445 003741' 332540 040710' SKIPE T3,CACHEL ;IS CACHE EMPTY ?
3446 003742' 317500 040711' CAMG T2,CACHEA ;IS NEW BYTE BELOW CACHE ADDRESS ?
3447 003743' 254000 003757' JRST PTBCH2 ;FLUSH CACHE
3448 003744' 274540 040711' SUB T3,CACHEA ;HOW MANY BYTES ALREADY IN THE CACHE ?
3449 003745' 305540 000400 CAIGE T3,CACHSZ ;SMALL ENOUGH ?
3450 003746' 254000 003755' JRST PTBCH1 ;YES
3451 003747' 201540 000004 MOVEI T3,4 ;REDUCE CONTENTS BY 4 BYTES = ON 10 WORD
3452 003750' 332000 040432' SKIPE PDP8F
3453 003751' 201540 000003 MOVEI T3,3 ;REDUCE CONTENTS BY 3 WORDS = ONE 10 WORD
3454 003752' 272540 040711' ADDM T3,CACHEA
3455 040713' 040712' MOVE T3,[CACHE+1,,CACHE] ;BLT POINTER
3456 003753' 200540 043520'
3457 003754' 251540 041011' BLT T3,CACHE+<CACHSZ/4>-1 ;SHUFFLE CACHE
3458 003755' 316500 040710' PTBCH1: CAMN T2,CACHEL ;ARE TRYING TO ADD ONE BYTE TO CACHE ?
3459 003756' 254000 003760' JRST PTBCH4 ;YES
3460 003757' 202500 040711' PTBCH2: MOVEM T2,CACHEA ;BEGIN CACHE HERE
3461 003760' 202500 040710' PTBCH4: MOVEM T2,CACHEL ;THIS IS THE NEW CACHE LIMIT
3462 003761' 350000 040710' AOS CACHEL ;MAKE ONE PLUS
3463 003762' 274500 040711' SUB T2,CACHEA ;HOW MANY BYTES TO NEW BYTE ?
3464 441000 040712' MOVE T3,[POINT 8,CACHE]
3465 003763' 200540 043420'
3466 003764' 332000 040432' SKIPE PDP8F
3467 441400 040712' MOVE T3,[POINT 12,CACHE]
3468 003765' 200540 043421'
3469 003766' 304000 000000 CAIA
3470 003767' 133000 000013 IBP T3
3471 003770' 365500 003767' SOJGE T2,.-1
3472 003771' 136440 000013 IDPB T1,T3 ;PUT BYTE INTO THE CACHE
3473 003772' 262740 000014 POP P,T4
3474 003773' 262740 000013 POP P,T3
3475 003774' 262740 000012 POP P,T2
3476 003775' 254000 003666' JRST TPOPJ
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 75
DDT11 MAC 18-May-81 17:27 ROUTINES TO HANDLE PDP11 MEMORY
3477 ;ROUTINE TO DEPOSIT BYTES IN PDP-11 MEMORY
3478 ; CALL MOVE T1,<ADR TO DEPOSIT TO>
3479 ; ;DATA STARTS AT DATA - DAT POINTS TO LAST BYTE
3480 ; CALL PUTBYT ;WITH ADR IN T1
3481 ; LOSE RETURN <CODE IN T1>
3482 ; WIN RETURN
3483
3484 003776' 260740 004361' PUTBYT: CALL SAVE35 ;SAVE T3, T4, & T5
3485 003777' 200640 040421' MOVE T5,DAT ;SAVE POINTER TO LAST DATA BYTE
3486 004000' 332000 040432' SKIPE PDP8F
3487 441400 040464' SKIPA T2,[POINT 12,DATA]
3488 004001' 334500 042703'
3489 441000 040464' MOVE T2,[POINT 8,DATA]
3490 004002' 200500 042702'
3491 004003' 202500 040421' MOVEM T2,DAT
3492 004004' 200600 040431' MOVE T4,ETYPE
3493 000000 004145' JRST @[PUTMEM ;MEMORY
3494 000000 004011' PUT.C1 ;CALL-11
3495 000000 004056' PUTNOD ;NODE. UUO
3496 000000 004071' PUT.FE ;FE0 ON TOPS-20
3497 000000 004011' PUT.C1 ;DN60 ON TOPS-10
3498 000000 004035' PUTD62 ;DN60 ON TOPS-20, BOTH DN20 AND DN22
3499 000000 004006' PUTNYI ;MCB
3500 004005' 254034 043521' PUT.FE](T4) ;20F/TOPS-10
3501
3502 PUTNYI: TYPE <No code for a write to this type of device.
3503 473364 061736 >
3504
3505 004006' 201440 043531'
3506 004007' 260740 007655'
3507 004010' 254000 000451' JRST LEVEL2
3508 ;HERE WHEN PUTTING BYTES WITH CAL11. OR CAL78. UUO'S
3509 004011' 202440 000013 PUT.C1: MOVEM T1,T3 ;SAVE ADR TO DEPOSIT INTO
3510 004012' 134600 040421' PUTP.2: ILDB T4,DAT ;GET LOW ORDER BYTE
3511 004013' 606540 000001 TRNN T3,1
3512 004014' 316640 040421' CAMN T5,DAT
3513 004015' 254000 004020' JRST PUTP.4
3514 004016' 134440 040421' ILDB T1,DAT ;GET HIGH ORDER BYTE
3515 101000 000014 DPB T1,[POINT 8,T4,27]
3516 004017' 137440 043543'
3517 004020' 201500 000000 PUTP.4: MOVEI T2,0 ;FUNCTION 0
3518 000003 000012 MOVE T1,[3,,T2]
3519 004021' 200440 043444'
3520 004022' 504500 040455' HRL T2,PORT ;ADD PORT NUMBER
3521 004023' 047440 000156 CAL78. T1,
3522 000003 000012 SKIPA T1,[3,,T2]
3523 004024' 334440 043444'
3524 004025' 254000 004030' JRST PUTP.8 ;WIN RETURN
3525 004026' 047440 000125 CAL11. T1,
3526 302440 000004 JRST [ CAIE T1,4 ;ALREADY IN USE?
3527 254000 005200' JRST R ;NO, ERROR RETURN
3528 201440 000144 MOVEI T1,^D100 ;WAIT A WHILE
3529 047440 000072 HIBER T1, ;AND SEE
3530 254000 005200' JRST R ;HIBER FAILED, GIVE IT UP.
3531 254000 004020' JRST PUTP.4] ;TRY AGAIN
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 75-1
DDT11 MAC 18-May-81 17:27 ROUTINES TO HANDLE PDP11 MEMORY
3532 004027' 254000 043544'
3533 004030' 551553 000002 PUTP.8: HRRZI T3,2(T3)
3534 004031' 620540 000001 TRZ T3,1
3535 004032' 312640 040421' CAME T5,DAT
3536 004033' 254000 004012' JRST PUTP.2
3537 004034' 254000 003405' JRST GETWD3 ;WIN RETURN
3538
3539
3540 ; PUTD62 - stuff words into a TOPS20 DN60 FE
3541 ; shamelessy(and probably foolishly) plagerized from PUT.C1
3542
3543 004035' 202440 000013 PUTD62: MOVEM T1,T3 ;SAVE ADR TO DEPOSIT INTO
3544 004036' 134500 040421' PT6.2: ILDB T2,DAT ;GET LOW ORDER BYTE
3545 004037' 606540 000001 TRNN T3,1
3546 004040' 316640 040421' CAMN T5,DAT
3547 004041' 254000 004044' JRST PT6.4
3548 004042' 134600 040421' ILDB T4,DAT ;GET HIGH ORDER BYTE
3549 101000 000012 DPB T4,[POINT 8,T2,27]
3550 004043' 137600 042714'
3551 004044' 200440 000013 PT6.4: MOVE T1,T3 ;get the place to crammit
3552 004045' 260740 004551' CALL D62DEP ; so deposit it
3553 004046' 334440 000001 SKIPA T1,AC1 ; loser
3554 004047' 254000 004051' JRST PT6.8
3555 004050' 263740 000000 RET
3556
3557 004051' 551553 000002 PT6.8: HRRZI T3,2(T3)
3558 004052' 620540 000001 TRZ T3,1
3559 004053' 312640 040421' CAME T5,DAT
3560 004054' 254000 004036' JRST PT6.2
3561 004055' 254000 003405' JRST GETWD3 ;WIN RETURN
3562
3563 ;HERE WHEN PUTTING BYTES WITH NODE. UUO
3564 004056' 260740 003643' PUTNOD: CALL SETUPN ;BEGIN NODE. MSG <LINE><CODE><ADR>
3565 004057' 000000 000002 EXP 2 ;CODE FOR DEPOSIT IS 2
3566 004060' 134440 040421' PUTND2: ILDB T1,DAT ;GET NEXT BYTE
3567 004061' 136440 000014 IDPB T1,T4 ;PUT NEXT BYTE INTO MESSAGE
3568 004062' 312640 040421' CAME T5,DAT ;DONE ENOUGH YET ?
3569 004063' 254000 004060' JRST PUTND2 ;NOT YET
3570 004064' 260740 003670' CALL NODSET ;SEND MSG
3571 004065' 254000 005200' JRST R ;ERROR RETURN
3572 004066' 302440 000011 CAIE T1,11 ;DID WE GET AN ACCEPT ?
3573 004067' 254000 003717' JRST STCERR
3574 004070' 254000 003405' JRST GETWD3
3575
3576
3577 ;DEAL WITH RSX20F/TOPS-10 DEPOSITS HERE
3578 ;T1/<STARTING ADDRESS> T5/<BP TO LAST BYTE> DAT/<BP TO FIRST BYTE>
3579
3580
3581 004071' 505440 000400 PUT.FE: HRLI T1,IO.WLB ;SET WRITE FCN
3582 004072' 260740 003616' PUSHJ P,ME.SET ;SET UP HEADER
3583 004073' 211540 000040 MOVNI T3,FE.MAX ;SET LIMIT ON DEPOSIT
3584 442200 040441' MOVE T4,[POINT 18,FE.MSG+3] ;POINT TO DATA MESSAGE
3585 004074' 200600 043552'
3586 004075' 134440 040421' PT.F1A: ILDB T1,DAT ;GET A BYTE
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 75-2
DDT11 MAC 18-May-81 17:27 ROUTINES TO HANDLE PDP11 MEMORY
3587 004076' 606540 000001 TRNN T3,1 ;EVEN?
3588 004077' 136440 000014 IDPB T1,T4 ;COPY TO FE BUFFER
3589 004100' 602540 000001 TRNE T3,1 ;ODD?
3590 261740 000015 JRST [PUSH P,T5 ;SAVE END
3591 200640 000014 MOVE T5,T4 ;AND GET LAST WORD DEPOSITED
3592 100000 000000 ADD T5,[100000,,0] ;POINT TO HIGH BYTE
3593 270640 042223'
3594 641640 003200 TLC T5,003200 ;AND CHANGE BYTE SIZE
3595 137440 000015 DPB T1,T5 ;INSERT IT
3596 262740 000015 POP P,T5 ;RESTORE END
3597 254000 004102' JRST .+1] ;...
3598 004101' 254000 043553'
3599 004102' 312640 040421' CAME T5,DAT ;GOT LAST?
3600 004103' 341540 004075' AOJL T3,PT.F1A ;NO, DO NEXT
3601 JUMPGE T3,[TYPE <
3602 064247 720210 ? Deposit size exceeds 20F max>
3603 201440 043562'
3604 260740 007655'
3605 263740 000000 RET] ;ERROR CODE RANDOM
3606 004104' 325540 043571'
3607 004105' 271540 000041 ADDI T3,FE.MAX+1 ;NUMBER OF BYTES ACTUALLY MOVED
3608 004106' 542540 040440' HRRM T3,FE.MSG+2 ;STUFF IN HEADER
3609 004107' 340540 000000 AOJ T3, ;ROUND BYTES TO WORDS
3610 004110' 240540 777777 ASH T3,-1 ;AND CONVERT
3611 004111' 207000 000013 MOVSS T3
3612 004112' 272540 040453' ADDM T3,FE.BUF ;ADD TO AMT XFERED BY UUO
3613 004113' 200440 041112' MOVE T1,OSTYPE ;GET OS TYPE
3614 004114' 607440 200000 TXNN T1,T.TOP10 ;TOPS-10?
3615 004115' 254000 004126' JRST PT.F20 ;YES, DO THAT
3616 000013 040451' MOVE T1,[.DTEOF,,FE.CPU] ;ZAP MSG OUT
3617 004116' 200440 043470'
3618 004117' 047440 000170 DTE. T1,
3619 004120' 254000 003633* JRST DTEERR ;...
3620 004121' 260740 003627' PUSHJ P,FE.RPY ;READ REPLY
3621 004122' 263740 000000 RET ;ERROR, RETURN CODE
3622 004123' 332000 000011 SKIPE T1 ;IF ASSOCIATED
3623 004124' 254000 043500' JRST FE$BLT ;BLAT...DATA WITH WRITE REPLY IS BAD
3624 004125' 254000 003405' JRST GETWD3 ;OK, DONE
3625
3626 ;TOPS-20 DEPOSIT
3627
3628 004126' 200040 040435' PT.F20: MOVE AC1,FE.JFN ;GET THE JFN OF FE:
3629 442200 040436' MOVE AC2,[POINT 18,FE.MSG] ;POINT TO MESSAGE
3630 004127' 200100 043574'
3631 004130' 554140 040453' HLRZ AC3,FE.BUF ;GET WC FROM TOPS-10
3632 004131' 213000 000003 MOVNS AC3 ; - WC
3633 004132' 104000 000053 SOUT ;SLITHER
3634 004133' 320700 005200' ERJMP R ;BLAT
3635 004134' 201100 000003 MOVEI AC2,.MOEOF ;FORCE BUFFER OUT
3636 004135' 474140 000000 SETO AC3, ;BUT DON'T SEND EOF
3637 004136' 104000 000077 MTOPR ;FLOP
3638 004137' 320700 005200' ERJMP R
3639 004140' 260740 003555' CALL GETFEM ;GET REPLY
3640 004141' 263740 000000 RET
3641 004142' 332000 000003 SKIPE AC3 ;DATA WITH WRITE REPLY?
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 75-3
DDT11 MAC 18-May-81 17:27 ROUTINES TO HANDLE PDP11 MEMORY
3642 004143' 254000 043500' JRST FE$BLT ;BLAT?
3643 004144' 254000 003405' JRST GETWD3 ;OK, DONE
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 76
DDT11 MAC 18-May-81 17:27 ROUTINES TO HANDLE PDP11 MEMORY
3644 ;HERE WHEN PUTTING BYTES IN 11 MEMORY
3645 004145' 200600 011147' PUTMEM: MOVE T4,MEMORY ;GET THE START OF OUR MEMORY
3646 004146' 202440 000012 MOVEM T1,T2 ;PUT ADR IN OTHER REG
3647 004147' 311500 011150' PTMEM2: CAML T2,MEMLIM ;IS ADR IN RANGE ?
3648 004150' 254000 004156' JRST PTMEM4 ;NO
3649 004151' 134440 040421' ILDB T1,DAT ;GET NEXT BYTE OF DATA
3650 004152' 260740 004177' CALL PUTFOO ;PUT LOW ORDER BYTE INTO MEMORY
3651 004153' 312640 040421' CAME T5,DAT ;DONE ALL OF IT ?
3652 004154' 344500 004147' AOJA T2,PTMEM2 ;NO SO LOOP BACK FOR NEXT BYTE
3653 004155' 254000 003405' JRST GETWD3
3654
3655 ;HERE TO DEPOSIT IN SIMULATED DEVICES
3656 004156' 202500 000013 PTMEM4: MOVEM T2,MA ;PUT ADDRESS IN CORRECT REG
3657 004157' 261740 000015 PUSH P,T5 ;SAVE LIMIT
3658 004160' 134440 040421' PTMEM5: ILDB T1,DAT ;GET NEXT BYTE OF DATA
3659 004161' 200517 000000 MOVE T2,(P) ;GET LIMIT
3660 004162' 312500 040421' CAME T2,DAT ;IS THIS LAST BYTE TO DEPOSIT ?
3661 004163' 602540 000001 TRNE MA,1 ;IS THIS AN ODD BYTE ?
3662 004164' 254000 004171' JRST PTMEM6 ;MUST USE BYTE STORE
3663 004165' 134500 040421' ILDB T2,DAT ;GET LH OF WORD
3664 101000 000011 DPB T2,[POINT 8,T1,27]
3665 004166' 137500 043063'
3666 004167' 260740 032735' CALL IOSTOR ;STORE THE WORD
3667 004170' 254000 004172' JRST PTMEM7
3668 004171' 260740 032767' PTMEM6: CALL IOBSTO ;TRY TO WRITE BYTE IN THE IO AREA
3669 004172' 200457 000000 PTMEM7: MOVE T1,(P) ;GET LIMIT
3670 004173' 312440 040421' CAME T1,DAT ;DONE ALL OF IT
3671 004174' 344540 004160' AOJA MA,PTMEM5
3672 004175' 262740 000011 POP P,T1 ;CLEAN OFF STACK
3673 004176' 254000 003405' JRST GETWD3 ;WIN RETURN
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 77
DDT11 MAC 18-May-81 17:27 ROUTINES TO HANDLE PDP11 MEMORY
3674 ;HERE TO PUT A BYTE INTO A CORE DUMP
3675 ; CALL CALL PUTFOO WITH DATA IN T1, ADR IN T2
3676 004177' 260740 004324' PUTFOO: CALL SAVE4
3677 004200' 261740 000011 PUSH P,T1
3678 004201' 405500 177777 ANDI T2,177777 ;STRIP EXTRA BITS (& LH)
3679 004202' 261740 000012 PUSH P,T2
3680 004203' 332000 011147' SKIPE MEMORY ;DO WE HAVE A BASE ADDRESS FOR DUMPS ?
3681 004204' 254000 004213' JRST PUTBY1
3682 004205' 260740 005303' CALL POSYMT ;BE SURE SYMBOL TABLE IS WHERE IT BELONGS
3683 004206' 200440 041115' MOVE T1,SYMBEG ;WHERE WE WILL PUT DATA
3684 004207' 552440 011147' HRRZM T1,MEMORY ;POINT TO WHERE MEMORY WILL BE
3685 004210' 476000 011150' SETOM MEMLIM
3686 004211' 505440 000011 HRLI T1,T1 ;MAKE MEMUSE POINTER
3687 004212' 202440 011151' MOVEM T1,MEMUSE ;SAVE POINTER TO MEMORY USAGE TABLE
3688 004213' 550517 000000 PUTBY1: HRRZ T2,(P) ;GET ADDRESS WE WANT OFF STACK
3689 004214' 317500 011150' CAMG T2,MEMLIM ;IS ADDRESS LARGER THAN PREVIOUS LIMIT ?
3690 004215' 254000 004240' JRST PUTBY4 ;NO
3691 004216' 201440 004000 MOVEI T1,4000 ;GET ANOTHER 2K PDP10 WORDS
3692 004217' 200500 000011 PUTBY2: MOVE T2,T1 ;NUMBER OF PDP-10 WORDS TO ADD
3693 004220' 242500 000002 LSH T2,2 ;MAKES NUMBER OF PDP11 BYTES
3694 004221' 332000 040432' SKIPE PDP8F
3695 004222' 242500 777777 LSH T2,-1 ;MAKES NUMBER OF PDP8 WORDS
3696 004223' 272500 011150' ADDM T2,MEMLIM
3697 004224' 260740 005321' CALL MOVSMT ;MOVE THE SYMBOL TABLE UP AGAIN
3698 004225' 200440 011150' MOVE T1,MEMLIM ;GET SIMULATED MEMORY SIZE
3699 004226' 231440 000044 IDIVI T1,^D36 ;NEW SIZE FOR MEMUSE
3700 004227' 350000 000011 AOS T1 ;JUST IN CASE
3701 004230' 271440 000777 ADDI T1,777 ;ROUND TO NEXT PAGE
3702 004231' 405440 777000 ANDI T1,777000 ;ROUND TO NEXT PAGE
3703 004232' 274440 011147' SUB T1,MEMORY
3704 004233' 270440 011151' ADD T1,MEMUSE ;MAKES HOW MANY MORE WORDS WE NEED
3705 004234' 405440 777777 ANDI T1,-1
3706 004235' 260740 004263' CALL MOVMEM ;MOVE MEMORY TO ADJUST FOR THIS
3707 004236' 260740 036737' CALL MAPCOR ;UPDATE MEMORY MAP
3708 004237' 254000 004213' JRST PUTBY1 ;BACK TO BE SURE THAT WAS ENOUGH
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 78
DDT11 MAC 18-May-81 17:27 ROUTINES TO HANDLE PDP11 MEMORY
3709 004240' 550457 000000 PUTBY4: HRRZ T1,(P) ;GET ADR OFF STACK
3710 004241' 231440 000044 IDIVI T1,^D36 ;CONVERT BYTE ADDRESS TO BIT ADDRESS
3711 004242' 205540 400000 MOVSI T3,400000
3712 004243' 213000 000012 MOVNS T2
3713 004244' 242552 000000 LSH T3,(T2) ;POSITION BIT
3714 004245' 436560 011151' IORM T3,@MEMUSE
3715 004246' 262740 000012 POP P,T2
3716 004247' 262740 000011 POP P,T1
3717 004250' 332000 040432' SKIPE PDP8F
3718 004251' 254000 004256' JRST PUTBY7
3719 004252' 231500 000004 IDIVI T2,^D4
3720 004253' 270500 011147' ADD T2,MEMORY ;RELOCATE
3721 221012 000000 DPB T1,[ POINT 8,(T2),17
3722 321012 000000 POINT 8,(T2),9
3723 001012 000000 POINT 8,(T2),35
3724 004254' 137453 043575' POINT 8,(T2),27 ](T3)
3725 004255' 263740 000000 RET
3726
3727 ;HERE TO PUT A PDP8 WORD IN MEMORY
3728 004256' 435440 010000 PUTBY7: IORI T1,10000 ;FLAG WORD IS HERE
3729 004257' 231500 000002 IDIVI T2,2 ;PUT 2 8 WORDS IN A PDP10 WORD
3730 004260' 270500 011147' ADD T2,MEMORY ;RELOCATE
3731 222212 000000 DPB T1,[ POINT 18,(T2),17
3732 004261' 137453 043601' POINT 18,(T2),35 ](T3)
3733 004262' 263740 000000 RET
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 79
DDT11 MAC 18-May-81 17:27 ROUTINES TO HANDLE PDP11 MEMORY
3734 ;HERE TO MOVE MEMORY UP IN CORE
3735 ; CALL MOVEI T1,<AMOUNT TO MOVE IT UP>
3736 ; CALL MOVEM
3737 004263' 261740 000011 MOVMEM: PUSH P,T1 ;SAVE ARGUMENT
3738 004264' 260740 005321' CALL MOVSMT ;FIRST MOVE UP THE SYMBOL TABLE
3739 004265' 262740 000011 POP P,T1 ;NUMBER OF WORDS TO MOVE
3740 004266' 336500 011147' SKIPN T2,MEMORY ;ADR OF 1ST WORD IN MEMORY
3741 004267' 263740 000000 RET
3742 004270' 272440 011147' ADDM T1,MEMORY ;UPDATE MEMORY POINTER
3743 004271' 200540 041115' MOVE T3,SYMBEG ;GET NEW SYMBOL TABLE POINTER
3744 004272' 370000 000013 SOS T3 ;IS NEW LAST WORD IN MEMORY
3745 004273' 260740 004310' CALL MOVTAB ;MOVE IT
3746 004274' 254000 036710' JRST SIMREL ;ADJUST SIMULATION TO NOTICE NEW LOCATIONS
3747
3748 ;HERE TO MOVE MEMORY USE TABLE UP IN CORE
3749 ; CALL MOVEI T1,<AMOUNT TO MOVE IT UP>
3750 ; CALL MOVMUS
3751 004275' 261740 000011 MOVMUS: PUSH P,T1 ;SAVE ARGUMENT
3752 004276' 260740 005321' CALL MOVSMT ;FIRST MOVE UP THE SYMBOL TABLE
3753 004277' 262740 000011 POP P,T1 ;NUMBER OF WORDS TO MOVE
3754 004300' 550500 011151' HRRZ T2,MEMUSE ;ADR OF FIRST WORD IN MEMORY USE TABLE
3755 004301' 322500 005200' JUMPE T2,R ;IF NO MEMORY WE'RE DONE
3756 004302' 272440 011151' ADDM T1,MEMUSE ;UPDATE MEMORY USE TABLE ADR
3757 004303' 272440 011147' ADDM T1,MEMORY ;AND MEMORY POINTER
3758 004304' 200540 041115' MOVE T3,SYMBEG ;NEW SYMBOL TABLE ADR
3759 004305' 370000 000013 SOS T3 ;MAKES NEW LAST WORD IN MEMORY
3760 004306' 260740 004310' CALL MOVTAB ;MOVE IT
3761 004307' 254000 036710' JRST SIMREL ;ADJUST SIMULATION TO NOTICE NEW ADDRESSES
3762
3763 ;HERE TO MOVE A TABLE UP IN CORE (BACKWARDS BLT)
3764 ; CALL MOVE T1,<# OR WORDS TO MOVE)
3765 ; MOVE T2,ADR OF 1ST WORD IN CORE TO BE MOVED
3766 ; MOVE T3,<ADR OF NEW LAST WORD IN BLOCK>
3767 ; CALL MOVTAB
3768 004310' 200600 000013 MOVTAB: MOVE T4,T3 ;COPY ADR OF LAST WORD IN BLOCK
3769 004311' 274540 000011 SUB T3,T1 ;MAKES LAST ADR IN OLD TABLE
3770 004312' 200453 000000 MOVTB2: MOVE T1,(T3) ;GET NEXT WORD TO COPY
3771 004313' 202454 000000 MOVEM T1,(T4) ;COPY IT
3772 004314' 370000 000014 SOS T4
3773 004315' 312540 000012 CAME T3,T2 ;COPIED LAST WORD YET ?
3774 004316' 364540 004312' SOJA T3,MOVTB2 ;LOOP FOR MORE WORDS
3775 004317' 402012 000000 SETZM (T2) ;CLEAR FIRST WORD IN TABLE
3776 004320' 505512 000000 HRLI T2,(T2) ;BUILD BLT POINTER
3777 004321' 350000 000012 AOS T2 ;FINISH BUILDING POINTER
3778 004322' 251514 000000 BLT T2,(T4) ;CLEAR OLD TABLE
3779 004323' 263740 000000 RET
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 80
DDT11 MAC 18-May-81 17:27 ROUTINES TO HANDLE PDP11 MEMORY
3780 004324' SAVE13:
3781 004324' 261740 000011 SAVE4: PUSH P,T1
3782 004325' 261740 000012 PUSH P,T2
3783 004326' 261740 000013 PUSH P,T3
3784 004327' 261740 000014 PUSH P,T4
3785 004330' 260777 777774 CALL @-4(P)
3786 004331' 304000 000000 CAIA
3787 004332' 350017 777773 AOS -5(P)
3788 004333' 262740 000014 POP P,T4
3789 004334' 262740 000013 POP P,T3
3790 004335' 262740 000012 POP P,T2
3791 004336' 262740 000011 POP P,T1
3792 004337' 262757 000000 POP P,(P)
3793 004340' 263740 000000 RET
3794
3795 004341' 250517 000000 SAVE2: EXCH T2,(P)
3796 004342' 260752 000000 CALL (T2)
3797 004343' 304000 000000 CAIA
3798 004344' 350017 777777 AOS -1(P)
3799 004345' 262740 000012 POP P,T2
3800 004346' 263740 000000 RET
3801
3802 004347' 250517 000000 SAVE24: EXCH T2,(P)
3803 004350' 261740 000013 PUSH P,T3
3804 004351' 261740 000014 PUSH P,T4
3805 004352' 260752 000000 CALL (T2)
3806 004353' 304000 000000 CAIA
3807 004354' 350017 777775 AOS -3(P)
3808 004355' 262740 000014 POP P,T4
3809 004356' 262740 000013 POP P,T3
3810 004357' 262740 000012 POP P,T2
3811 004360' 263740 000000 RET
3812
3813 004361' SAVE34:
3814 004361' 250557 000000 SAVE35: EXCH T3,(P)
3815 004362' 261740 000014 PUSH P,T4
3816 004363' 261740 000015 PUSH P,T5
3817 004364' 260753 000000 CALL (T3)
3818 004365' 304000 000000 CAIA
3819 004366' 350017 777775 AOS -3(P)
3820 004367' 262740 000015 POP P,T5
3821 004370' 262740 000014 POP P,T4
3822 004371' 262740 000013 POP P,T3
3823 004372' 263740 000000 RET
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 81
DDT11 MAC 18-May-81 17:27 ROUTINES TO HANDLE PDP11 MEMORY
3824
3825 004373' NODARG: BLOCK 5
3826 004400' STCMSG: BLOCK 20
3827 004420' STCIMS: BLOCK 110
3828 SUBTTL TOPS-20 DN60 CRUFT
3829
3830 000011 D6.EXM==11 ; DN60 examine memory function code
3831 000012 D6.DEP==12 ; DN60 deposit memory function code
3832
3833
3834 ; D62EXM - examine a TOPS-20 DN60 front end
3835 ; T1/address to examine
3836 ; RETURNS:
3837 ; false - AC1/error code
3838 ; true - T1/data
3839 ; T2/address examined
3840
3841 004530' 201040 000062 D62EXW: MOVEI AC1,^D50
3842 004531' 104000 000167 DISMS
3843
3844 004532' 260740 004646' D62EXM: CALL FESUP ; get the port
3845 004533' 254000 004530' JRST D62EXW ; can't have it yet
3846 004534' 402020 004757' SETZM @D10DT ; set up the DN60 request header
3847 004535' 201500 000011 MOVEI T2,D6.EXM
3848 004536' 137500 004755' DPB T2,D10FN ; the appropriate function
3849 004537' 137440 004756' DPB T1,D10AD ; and where
3850 004540' 260740 004562' CALL PUTHDR ; Output the header to say read data
3851 004541' 263740 000000 RET
3852 004542' 260740 004572' CALL GETHDR ; Get the response header
3853 004543' 263740 000000 RET
3854 004544' 135440 004763' LDB T1,D11DT ; get the data
3855 004545' 135500 004762' LDB T2,D11AD ; get the address back
3856 004546' 254000 005177' RETSKP ; and suc
3857
3858
3859 ; D62DEP - deposit word in TOPS-20 DN60 front end
3860 ; T2/data to deposit
3861 ; T1/address to stuff it
3862 ; RETURNS:
3863 ; false - AC1/error code
3864 ; true - original args
3865
3866 004547' 201040 000062 D62DEW: MOVEI AC1,^D50
3867 004550' 104000 000167 DISMS
3868
3869 004551' 260740 004646' D62DEP: CALL FESUP ; get the port
3870 004552' 254000 004547' JRST D62DEW ; all booked for now
3871 004553' 137500 004757' DPB T2,D10DT ; set up the DN60 request header
3872 004554' 137440 004756' DPB T1,D10AD
3873 004555' 201040 000012 MOVEI AC1,D6.DEP
3874 004556' 137040 004755' DPB AC1,D10FN
3875 004557' 260740 004562' CALL PUTHDR ; Output the transmit header
3876 004560' 263740 000000 RET
3877 JRST GETHDR ; have to read the response to complete the transact
3878 004561' 254000 004572' ion
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 81-1
DDT11 MAC 18-May-81 17:27 TOPS-20 DN60 CRUFT
3879
3880 ; PUTHDR - create a transmit header for read/write function that contains
3881 ; the number of bytes to read/write in it. This routine is invoked before
3882 ; each read/write is done if more data is needed to be read/written.
3883 ; This routines also transmits the header and makes sure that it has gone
3884 ; out.
3885
3886 004562' 200040 040435' PUTHDR: MOVE AC1,FE.JFN ; Get the JFN for the FE
3887 441000 004767' MOVE AC2,[POINT 8,XMTHDR] ; Point to the transmit header
3888 004563' 200100 043603'
3889 004564' 211140 000006 MOVNI AC3,6 ; Get the string byte count
3890 004565' 335000 004743' SKIPGE PTYPE ; Check for 2020 style I/O
3891 004566' 254000 004607' JRST WR2020 ; and output the header 2020 style
3892 004567' 104000 000053 SOUT ; Output the header to the device
3893 004570' 320700 005200' ERJMP R ; Can't talk to FE
3894 004571' 254000 004601' JRST IOBRK ; Make sure the header gets output.
3895
3896 ; GETHDR - To read a receive header from the port that we are currently
3897 ; talking to.
3898
3899 004572' 200040 040435' GETHDR: MOVE AC1,FE.JFN ; Get the JFN of the FE
3900 441000 004765' MOVE AC2,[POINT 8,RCVHDR] ; Point to the receive header string
3901 004573' 200100 043604'
3902 004574' 211140 000006 MOVNI AC3,6 ; 6 bytes in the header
3903 004575' 335000 004743' SKIPGE PTYPE ; Check for 2020 style I/O
3904 004576' 254000 004622' JRST RD2020 ; Read header 2020 style
3905 004577' 104000 000052 SIN ; Read the header from the FE
3906 004600' 320700 005200' ERJMP R ; Can't talk to FE
3907
3908 ; IOBRK - To create a break in the I/O stream and force the current buffers
3909 ; to be flushed or finished reading in.
3910
3911
3912 004601' 200040 040435' IOBRK: MOVE AC1,FE.JFN ; Get the JFN of the FE device
3913 004602' 201100 000003 MOVX AC2,.MOEOF ; Get the EOF function
3914 004603' 201140 000001 MOVX AC3,1 ; Clear FE buffers w/o doing real EOF
3915 004604' 104000 000077 MTOPR ; Force I/O completion
3916 004605' 320700 005200' ERJMP R ; Can't talk to FE
3917 004606' 254000 005177' RETSKP ; The I/O was completed succesfully.
3918
3919 ; WR2020 - This routine is used to simulate the SOUT to a front end
3920 ; device. It actually ships the data over a synchronous link
3921 ; using DDCMP to a DN200
3922 ;
3923 ; Parameters -
3924 ;
3925 ; AC1/ Ignored JFN
3926 ; AC2/ Byte pointer to string
3927 ; AC3/ Negative byte count
3928
3929 004607' 216140 005054' WR2020: MOVMM AC3,.BTLEN+BTARG ; Set the byte count to transfer
3930 004610' 202100 005053' MOVEM AC2,.BTMSG+BTARG ; Set pointer to 8 bit byte area
3931 004611' 200040 040455' MOVE AC1,PORT ; Get synchronous line number
3932 004612' 202040 005052' MOVEM AC1,.BTDTE+BTARG ; Set it as the DTE/line in BOOT block
3933 004613' 201100 005052' MOVEI AC2,BTARG ; Get location of BOOT arg block
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 81-2
DDT11 MAC 18-May-81 17:27 TOPS-20 DN60 CRUFT
3934 004614' 201040 000021 MOVX AC1,.BTSDD ; Send DDCMP message to DN200
3935 004615' 104000 000562 BOOT
3936 004616' 320700 005200' ERJMP R ; JSYS failed
3937 004617' 200100 005053' MOVE AC2,.BTMSG+BTARG ; Get update byte pointer
3938 004620' 400140 000000 SETZ AC3, ; Say that all the bytes where output
3939 004621' 254000 005177' RETSKP ; Sucess in sending data
3940
3941
3942 ; RD2020 - To read a string from a DN200 that is connected by a DDCMP
3943 ; synchronous link. This routine simulates the SIN JSYS that
3944 ; is normally used with a front end device.
3945 ;
3946 ; Parameters -
3947 ;
3948 ; AC1/ Ignored JFN
3949 ; AC2/ Byte pointer to input buffer
3950 ; AC3/ Negative byte count to input
3951
3952 004622' 124100 005057' RD2020: DMOVEM AC2,RDSAVE ; Save the read arguments
3953 004623' 200040 040455' MOVE AC1,PORT ; Get synchronous line number
3954 004624' 202040 005052' MOVEM AC1,.BTDTE+BTARG ; Set it as the DTE/line in BOOT block
3955
3956 004625' 216140 005054' RD20ST: MOVMM AC3,.BTLEN+BTARG ; Set the byte count to transfer
3957 004626' 202100 005053' MOVEM AC2,.BTMSG+BTARG ; Set pointer to data buffer
3958 004627' 201100 005052' MOVEI AC2,BTARG ; Get location of BOOT arg block
3959 004630' 201040 000022 MOVX AC1,.BTRDD ; Read DDCMP message function
3960 004631' 104000 000562 BOOT ; Do the read
3961 004632' 320700 005200' ERJMP R ; BOOT JSYS failed
3962 004633' 200040 005054' MOVE AC1,.BTLEN+BTARG ; Get transfered length/error code
3963 004634' 607040 400000 TXNN AC1,BT%CTL ; Check for control message flag
3964 004635' 254000 004642' JRST R20OK ; No .. so message was read ok
3965 400000 000003 CAXE AC1,BT%CTL+.BTCMP ; Transmission complete?
3966 004636' 312040 043605'
3967 004637' 254000 005200' JRST R ; No .. so front end not running
3968 ; with time
3969 004640' 120100 005057' R20AGN: DMOVE AC2,RDSAVE ; Get the arguments back again
3970 004641' 254000 004625' JRST RD20ST ; Go try to read it again
3971
3972 004642' 200140 000001 R20OK: MOVE AC3,AC1 ; Get the count of bytes transfered
3973 004643' 270140 005060' ADD AC3,RDSLEN ; Make it minus the number yet to get
3974 004644' 200100 005053' MOVE AC2,.BTMSG+BTARG ; Get updated byte pointer
3975 004645' 254000 005177' RETSKP ; Success
3976
3977 ; FESUP - set up port for private use
3978 ; RESTRICTION: must be called from the caller's top level
3979
3980 004646' FESUP: ; set up port for molesting in private
3981 004646' 335000 004743' SKIPGE PTYPE ; Check for KS10 style I/O
3982 004647' 254000 004652' JRST FESUP1
3983 004650' 260740 004676' CALL SELDTE ; Make the link to the correct DTE
3984 004651' 263740 000000 RET ; If didn't work give error return
3985 004652' FESUP1: ; Enqueue the port for SIN/SOUT I/O
3986 ; fall into enq function
3987
3988 ;ENQD60 - To ENQ a DN60 front end to block others from using it while
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 81-3
DDT11 MAC 18-May-81 17:27 TOPS-20 DN60 CRUFT
3989
3990 004652' 201100 004744' ENQD60: MOVEI AC2,ENQBLK ; this must be called from the caller's top level
3991 004653' 201040 000000 MOVX AC1,.ENQBL ; Get the enqueue function number
3992 004654' 104000 000513 ENQ ; and try to do it.
3993 004655' 263740 000000 RET ; False return if we can't ENQ
3994 004656' 262740 000001 POP P,AC1
3995 004657' 260741 000001 CALL 1(AC1) ; call the true return so the caller
3996 ; will return here for dequeing the port
3997 261740 000001 JRST [PUSH P,AC1 ; error return - deque the port
3998 260740 004661' CALL DEQD60 ; the original error is returned
3999 300000 000000 NOP ; ignore addtional failures
4000 262740 000001 POP P,AC1
4001 263740 000000 RET]
4002 004660' 254000 043606'
4003 ; this returns sucs - just fall into DEQD60
4004
4005 ;DEQD60 - To dequeue a DN60 on a port so that others can use it again.
4006
4007 004661' 201100 004744' DEQD60: MOVEI AC2,ENQBLK
4008 004662' 201040 000000 MOVX AC1,.DEQDR ; Get the DEQ function code
4009 004663' 104000 000514 DEQ
4010 004664' 263740 000000 RET ; error on the way out
4011 004665' 254000 005177' RETSKP ; it suc'd
4012
4013 ; QUED60 - make up the argument block needed to ENQ/DEQ a specific port.
4014
4015 ; T1/ port number
4016
4017 004666' 261740 000011 QUED60: PUSH P,T1
4018 004667' 335000 004743' SKIPGE PTYPE
4019 004670' 405440 000007 ANDI T1,7 ; for DN22, use line no.
4020 004671' 137440 004751' DPB T1,QPRT0 ; just cram two octal segments in string
4021 004672' 242440 777775 LSH T1,-3
4022 004673' 137440 004752' DPB T1,QPRT1
4023 004674' 262740 000011 POP P,T1
4024 004675' 263740 000000 RET
4025
4026
4027 ; SELDTE - To select which DTE is currently attached to the FEn: device
4028 ; that was previously opened.
4029 ;
4030 ; PORT/ DTE # to be selected
4031 ; RETURN:
4032 ; True was successful
4033 ; False MTOPR Jsys failed and the error code is in AC1
4034
4035 004676' 200040 040455' SELDTE: MOVE AC1,PORT ;get the dte #
4036 004677' 201100 000004 MOVX AC2,.MODTE ; Select the appropriate DTE
4037 004700' 561141 777770 HRROI AC3,-10(AC1) ; Get the port number
4038 004701' 316140 004764' CAMN AC3,LSTDTE ; Was it the same as the last one used?
4039 004702' 254000 005177' RETSKP ; Yes so assume he is still set up.
4040 004703' 550140 000003 HRRZ AC3,AC3 ; Make it only the DTE number
4041 004704' 200040 040435' MOVE AC1,FE.JFN ; Use the FE JFN already opened
4042 004705' 104000 000077 MTOPR ; Do the select
4043 004706' 320700 004711' ERJMP DSLERR ; Didn't work, bad DTE
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 81-4
DDT11 MAC 18-May-81 17:27 TOPS-20 DN60 CRUFT
4044 004707' 562140 004764' HRROM AC3,LSTDTE ; Save the last DTE to be selected
4045 004710' 254000 005177' RETSKP ; It is now selected on the DTE
4046
4047 004711' 402000 004764' DSLERR: SETZM LSTDTE ; Clear the last DTE selected (none)
4048 004712' 201040 400000 MOVX AC1,.FHSLF ; Get the last error that occurred
4049 004713' 104000 000012 GETER ; in this process
4050 004714' 550040 000002 HRRZ AC1,AC2 ; Set the error value
4051 004715' 263740 000000 RET ; and return flaging failure.
4052
4053 ; CPUTYP - cleverly determine what processor we are on
4054
4055 004716' 255000 004717' CPUTYP: JFCL .+1 ; CLEAR THE FLAGS
4056 004717' 254000 004720' JRST .+1 ; SEE IF WE CHANGE THE PC FLAG
4057 004720' 255040 004741' JFCL AC1,PDP6 ; YES,IT WAS A PDP-6
4058 004721' 474040 000000 SETO AC1, ; SET AC TO -1
4059 004722' 253040 004723' AOBJN AC1,.+1 ; SEE HOW IT ADDS 1,,1 TO -1
4060 004723' 326040 004736' JUMPN AC1,KA10 ; ON A KA, IT IS TWO FULL ADDS
4061 004724' 251040 000000 BLT AC1,0 ; NOOP BLT
4062 004725' 322040 004737' JUMPE AC1,KI10 ; KI WONT UPDATE THE WORD
4063 000000 000001 DMOVE AC1,[EXP 1,0] ; 1, AND NO STRING POINTER
4064 004726' 120040 043613'
4065 004727' 201140 000001 MOVEI AC3,1 ; OFFSET OF 1
4066 010000 000000 EXTEND AC1,[CVTDBO] ; CONVERT DECIMAL TO BINARY WITH OFFSET
4067 004730' 123040 043615'
4068 004731' 603140 200000 TLNE AC3,200000 ; LOOK FOR KL MICROCODE BUG
4069 200000 000000 KL10: SKIPA AC1,[P.KL10] ; set KL10 type
4070 004732' 334040 042222'
4071 004733' 205040 400000 KS10: MOVX AC1,P.KS10 ; set KS10 type
4072 004734' 202040 004743' SETCPU: MOVEM AC1,PTYPE ; set the cpu type
4073 004735' 263740 000000 RET
4074 040000 000000 KA10: SKIPA AC1,[P.KA10] ; set KA10 type
4075 004736' 334040 042224'
4076 004737' 205040 100000 KI10: MOVX AC1,P.KI10 ; set KI10 type
4077 004740' 254000 004734' JRST SETCPU
4078 004741' 205040 020000 PDP6: MOVX AC1,P.PDP6 ; set PDP-6 type
4079 004742' 254000 004734' JRST SETCPU
4080
4081 004743' 000000 000000 PTYPE: 0 ; processor type
4082 400000 000000 P.KS10==1B0 ; KS10 - deliberately the sign bit
4083 200000 000000 P.KL10==1B1 ; KL10
4084 100000 000000 P.KI10==1B2 ; KI10
4085 040000 000000 P.KA10==1B3 ; KA10
4086 020000 000000 P.PDP6==1B4 ; PDP-6
4087
4088 004744' 000001 000005 ENQBLK: XWD 1,5 ; 1 lock,,length of block is 5
4089 004745' 000000 000000 XWD 0,0 ; PSI chn 0,, ID
4090 004746' 240000 777775 EXP EN%BLN+EN%LTL+<0,,-3> ; long term data base,, Operator only
4091 004747' 440700 004753' POINT 7,QD60BF ; Pointer to string of resource name
4092 004750' 000000 000000 XWD 0,0 ; 1 resource,, number of accesses
4093
4094 004751' 170300 004754' QPRT0: POINT 3,QD60BF+1,20 ; Low order digit of port number
4095 004752' 260300 004754' QPRT1: POINT 3,QD60BF+1,13 ; High order digit of port number
4096 004753' 422346 630132 QD60BF: ASCIZ \DN60-P00\ ; Same name as used by D60SPD and
4097
4098 004755' 242000 004767' D10FN: POINT 16,XMTHDR,15 ; fcn code to 11
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 81-5
DDT11 MAC 18-May-81 17:27 TOPS-20 DN60 CRUFT
4099 004756' 042000 004767' D10AD: POINT 16,XMTHDR,31 ; examine/deposit address
4100 004757' 242000 004770' D10DT: POINT 16,XMTHDR+1,15 ; deposit data
4101
4102 004760' 341000 004765' D11RS: POINT 8,RCVHDR,7 ; result code from FE
4103 004761' 241000 004765' D11FN: POINT 8,RCVHDR,15 ; function performed
4104 004762' 042000 004765' D11AD: POINT 16,RCVHDR,31 ; examine/deposti address
4105 004763' 242000 004766' D11DT: POINT 16,RCVHDR+1,15 ; examine data
4106
4107 004764' LSTDTE: BLOCK 1 ; Last DTE that was selected
4108 004765' RCVHDR:: BLOCK 2 ; Receive header
4109 004767' XMTHDR:: BLOCK 2 ; Transmit header
4110
4111 004771' XMSG: BLOCK ^o274/4+1 ; DDCMP Q flush buffer
4112 005051' RETRY: BLOCK 1 ; BOOT retry counter
4113 005052' BTARG: BLOCK 5 ; BOOT JSYS argument block
4114 005057' RDSAVE: BLOCK 1 ; Save area for RD2020 arguments
4115 005060' RDSLEN: BLOCK 1 ; including the length
4116
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 82
DDT11 MAC 18-May-81 17:27 ERROR ROUTINE
4117 SUBTTL ERROR ROUTINE
4118
4119 ;CALL MOVE T1,<ERROR CODE>
4120 ; MOVE T2,ERROR LIST
4121 ; CALL CALLERR
4122 005061' 400500 000000 CALER0: SETZ T2,
4123 005062' 321440 005200' CALERR: JUMPL T1,R ;EXIT IF WE ALREADY GAVE THE ERROR
4124 005063' 261740 000011 PUSH P,T1 ;SAVE CODE
4125 005064' 326500 005071' JUMPN T2,CALER1 ;ERROR LIST GIVEN ?
4126 005065' 332000 040456' SKIPE NODE ;WERE WE DOING /NODE STUFF ?
4127 005066' 201500 005144' MOVEI T2,NERLST ;NODE. ERROR
4128 005067' 332000 040455' SKIPE PORT ;WAS A /PORT GIVEN ?
4129 005070' 201500 005125' MOVEI T2,C11LST ;YES SO IS CALL11 ERROR CODE
4130 005071' 261740 000012 CALER1: PUSH P,T2 ;SAVE LIST
4131 005072' 260740 007612' CALL QESTYP ;TYPE A QUESTION MARK
4132 005073' 550457 000000 HRRZ T1,(P) ;GET TYPE OF ERROR
4133 005074' 332000 000011 SKIPE T1
4134 550451 000000 CALL [ HRRZ T1,(T1) ;GET ERROR DESCRIPTION
4135 254000 007655' JRST TYPSTR] ;DISPLAY IT
4136 005075' 260740 043616'
4137 203136 271336 TYPE < error code = >
4138 005076' 201440 043620'
4139 005077' 260740 007655'
4140 005100' 200457 777777 MOVE T1,-1(P) ;GET OCTAL CODE
4141 005101' 260740 007535' CALL OCTYPE
4142 005102' 260740 007630' CALL BLANKT ;TYPE A SPACE
4143 005103' 262740 000012 POP P,T2 ;GET ERROR LIST
4144 005104' 262740 000011 POP P,T1 ;GET ERROR CODE
4145 005105' 323440 005115' JUMPLE T1,CALER9
4146 005106' 322500 005115' JUMPE T2,CALER9
4147 005107' 554552 000000 HLRZ T3,(T2) ;GET MAX ERROR WE KNOW
4148 005110' 303453 000000 CAILE T1,(T3) ;IS IT IN RANGE ?
4149 005111' 254000 005115' JRST CALER9 ;NOT IN RANGE SO CAN'T HELP FURTHER
4150 005112' 271452 000000 ADDI T1,(T2)
4151 005113' 200451 000000 MOVE T1,(T1)
4152 005114' 260740 007655' CALL TYPSTR
4153 005115' 260740 007612' CALER9: CALL QESTYP
4154 005116' 260740 007615' CALL TABTYP
4155 005117' 474440 000000 SETO T1, ;SAY WE PRINTED THE ERROR
4156 005120' 263740 000000 RET
4157
4158 ;HERE FOR A LOCK ERROR
4159 005121' 201500 005135' LOCKER: MOVEI T2,LERLST ;DESCRIPTIONS FOR LOCK ERRORS
4160 005122' 260740 005062' CALL CALERR
4161 005123' 047000 000012 EXIT
4162 005124' 254000 005121' JRST LOCKER
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 83
DDT11 MAC 18-May-81 17:27 ERROR ROUTINE
4163 416031 430542 C11LST: XWD 7,[ASCIZ \CAL11\]
4164 005125' 000007 043623'
4165 673376 420340 Z [ASCIZ \not privileged\]
4166 005126' 000000 043625'
4167 727355 367336 Z [ASCIZ \unknown function\]
4168 005127' 000000 043630'
4169 673376 420302 Z [ASCIZ \not a DC76\]
4170 005130' 000000 043634'
4171 633535 661750 Z [ASCIZ \function already in use\]
4172 005131' 000000 043637'
4173 673364 060734 Z [ASCIZ \no answer to query\]
4174 005132' 000000 043644'
4175 707534 572712 Z [ASCIZ \queue entry too short\]
4176 005133' 000000 043650'
4177 673376 420312 Z [ASCIZ \not enough arguments\]
4178 005134' 000000 043655'
4179 462370 345400 LERLST: XWD 6,[ASCIZ \LOCK\]
4180 005135' 000006 043662'
4181 673376 420340 Z [ASCIZ \not privileged\]
4182 005136' 000000 043625'
4183 677515 062744 Z [ASCIZ \other job too large\]
4184 005137' 000000 043663'
4185 667037 064732 Z [ASCIZ \maximum too large\]
4186 005140' 000000 043667'
4187 426551 520312 Z [ASCIZ \EVM exhausted\]
4188 005141' 000000 043673'
4189 647315 462716 Z [ASCIZ \illegal subfunction\]
4190 005142' 000000 043676'
4191 703034 762500 Z [ASCIZ \page unavailable\]
4192 005143' 000000 043702'
4193 472370 442534 NERLST: XWD 6,[ASCIZ \NODE.\]
4194 005144' 000006 043706'
4195 647315 420302 Z [ASCIZ \ill arg list\]
4196 005145' 000000 043710'
4197 647315 420334 Z [ASCIZ \ill node name or number\]
4198 005146' 000000 043713'
4199 673376 420340 Z [ASCIZ \not privileged job\]
4200 005147' 000000 043720'
4201 713135 567750 Z [ASCIZ \remote node control not available\]
4202 005150' 000000 043724'
4203 653374 220334 Z [ASCIZ \job not locked\]
4204 005151' 000000 043733'
4205 723235 562736 Z [ASCIZ \timeout\]
4206 005152' 000000 043736'
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 84
DDT11 MAC 18-May-81 17:27 SYMBOL TABLE ROUTINES
4207 SUBTTL SYMBOL TABLE ROUTINES
4208
4209 ;SYMBOLS ARE KEPT IN FOUR WORD BLOCKS
4210 ; SYMBEG POINTS TO FIRST BLOCK
4211 ; SYMEND POINTS TO LAST BLOCK
4212 ; 1ST WORD IN BLOCK IS SIXBIT SYMBOL
4213 ; 2ND WORD IS VALUE
4214 ; 3RD WORD IS HALF WORD FLAGS,,MASK FOR MATCH
4215 000001 SMF.SU==000001 ;SYMBOL IS SUPPRESSED(DEFINED WITH =)
4216 000002 SMF.RG==000002 ;SYMBOL IS A REGISTER VALUE
4217 000004 SMF.IN==000004 ;SYMBOL IS AN INSTRUCTION
4218 000010 SMF.EI==000010 ;EIS INSTRUCTION FORMAT
4219 000020 SMF.DD==000020 ;LOW ORDER SIX BITS ARE DESTINATION
4220 000040 SMF.SS==000040 ;LOW ORDER 12 BITS ARE SSDD
4221 000100 SMF.BR==000100 ;LOW ORDER 8 BITS ARE XXX(I.E. BR)
4222 000200 SMF.SB==000200 ;SOB TYPE ADDRESS
4223 000400 SMF.RT==000400 ;RTS TYPE REGISTER USAGE
4224 001000 SMF.JS==001000 ;JSR TYPE REGISTER USAGE
4225 002000 SMF.EM==002000 ;EMT TYPE ARGUMENT
4226 010000 SMF.MK==010000 ;MARK
4227 020000 SMF.PL==020000 ;SET PROCESSOR LEVEL
4228 040000 SMF.P8==040000 ;PDP8 SYMBOL
4229 100000 SMF.11==100000 ;PDP11 SYMBOL
4230 200000 SMF.BY==200000 ;BYTE INSTRUCTION
4231 ; 4TH WORD IS SYMBOL SOURCE
4232
4233 ;HERE TO FIND A MATCH FOR A SYMBOL
4234 ; CALL MOVE T1,[SIXBIT \SYMBOL\]
4235 ; CALL SYMFND
4236 ; ERROR RETURN
4237 ; SUCCESS RETURN SYM POINTS TO SYMBOL
4238 005153' 336240 041115' SYMFND: SKIPN SYM,SYMBEG ;GET ADR OF BEGINNING OF SYMBOL TABLE
4239 005154' 263740 000000 RET ;CAN'T FIND SYMBOL
4240 005155' 316240 041116' SYMFN1: CAMN SYM,SYMEND ;HIT END OF TABLE YET ?
4241 005156' 263740 000000 RET ;YES SO CAN'T FIND SYMBOL
4242 005157' 316445 000000 CAMN T1,(SYM) ;IS THIS SYMBOL ?
4243 005160' 260740 005163' CALL SYMFN7 ;CHECK PDP8/PDP11 RIGHT
4244 005161' 201245 000004 MOVEI SYM,4(SYM) ;POINT TO NEXT SYMBOL TABLE BLOCK
4245 005162' 254000 005155' JRST SYMFN1
4246
4247 ;HERE TO SEE IF PDP8/PDP11 FLAG RIGHT FOR THIS SYMBOL
4248 005163' 500245 000002 SYMFN7: HLL SYM,2(SYM) ;GET FLAGS FOR SYMBOL
4249 005164' 607240 000004 TLNN SYM,SMF.IN ;IS THIS AN INSTRUCTION ?
4250 005165' 254000 005175' JRST SYMFN9 ;NO SO OK TO USE SYMBOL
4251 005166' 603240 040000 TLNE SYM,SMF.P8 ;IS THIS A PDP8 SYMBOL ?
4252 005167' 254000 005173' JRST SYMFN8
4253 005170' 332000 040432' SKIPE PDP8F
4254 005171' 263740 000000 RET ;REJECT SYMBOL
4255 005172' 254000 005175' JRST SYMFN9
4256 005173' 336000 040432' SYMFN8: SKIPN PDP8F
4257 005174' 263740 000000 RET
4258 005175' 202457 000000 SYMFN9: MOVEM T1,(P)
4259 005176' 262740 000011 TPOPJ1: POP P,T1
4260 005177' 350017 000000 RSKP: AOS (P) ;FOR SKIP RETURN
4261 005200' 263740 000000 R: RET
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 85
DDT11 MAC 18-May-81 17:27 SYMBOL TABLE ROUTINES
4262 ;HERE TO SEE IF WE CAN FIND A MATCH FOR AN INSTRUCTION
4263 ; CALL MOVEI T1,<VALUE>
4264 ; CALL INVLFN
4265 ; LOSE RETURN
4266 ; WIN RETURN WITH SYM SET UP
4267 005201' 336240 041115' INVLFN: SKIPN SYM,SYMBEG ;ADDRESS OF FIRST SYMBOL BLOCK
4268 005202' 263740 000000 RET ;NO SYMBOL TABLE
4269 005203' 200505 000002 INVLF1: MOVE T2,2(SYM) ;GET FLAGS & MASK
4270 005204' 607500 000001 TLNN T2,SMF.SU ;IS THIS SUPPRESSED >?
4271 005205' 607500 000004 TLNN T2,SMF.IN ;IS THIS AN INSTRUCTION ?
4272 005206' 254000 005212' JRST INVLF8
4273 005207' 405511 000000 ANDI T2,(T1) ;MASK ARGUMENT
4274 005210' 316505 000001 CAMN T2,1(SYM) ;IS THIS A MATCH ?
4275 005211' 260740 005163' CALL SYMFN7 ;OK IF PDP8/PDP11 FLAG RIGHT
4276 005212' 201245 000004 INVLF8: MOVEI SYM,4(SYM) ;GET ADR OF NEXT SYMBOL BLOCK
4277 005213' 312240 041116' CAME SYM,SYMEND ;HIT END OF SYMBOLS ?
4278 005214' 254000 005203' JRST INVLF1 ;NO SO SEE IF THIS ONE OK
4279 005215' 263740 000000 RET
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 86
DDT11 MAC 18-May-81 17:27 SYMBOL TABLE ROUTINES
4280 ;HERE TO FIND A NAME FOR A REGISTER
4281 ; CALL: MOVEI T1,# ;REGISTER NUMBER
4282 ; CALL RGFNDN
4283 ; LOSE
4284 ; BINGO (WITH SYM SETUP - OTHER REGS PRESERVED)
4285 005216' 260740 004347' RGFNDN: CALL SAVE24 ;SAVE REGISTERS
4286 005217' 260740 005347' CALL VLFND0 ;FIND A SYMBOL FOR VALUE
4287 005220' 304000 000000 CAIA
4288 005221' 201245 777774 RGFND8: MOVEI SYM,-4(SYM) ;MAKE ADDRESS OF PREVIOUS SYMBOL
4289 005222' 316445 000001 CAMN T1,1(SYM) ;RIGHT VALUE ?
4290 005223' 315240 041115' CAMGE SYM,SYMBEG ;BACKED UP TOO FAR ?
4291 005224' 263740 000000 RET ;LOSE
4292 005225' 500245 000002 HLL SYM,2(SYM) ;GET FLAGS
4293 005226' 607240 000001 TLNN SYM,SMF.SU ;IS THIS A SUPPRESSED SYMBOL ?
4294 005227' 607240 000002 TLNN SYM,SMF.RG ;IS THIS A REGISTER ?
4295 005230' 254000 005221' JRST RGFND8 ;NO GOOD
4296 005231' 254000 005177' RETSKP
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 87
DDT11 MAC 18-May-81 17:27 SYMBOL TABLE ROUTINES
4297 ;HERE TO ADD A SYMBOL TO TABLE
4298 ; CALL PUT SYMBOL IN T1, PUT VALUE IN T2, FLAGS IN T3, MISC IN T4
4299 ; RETURNS WITH SYM POINTING TO NEW SYMBOL
4300 005232' 261740 000014 ADDSYM: PUSH P,T4 ;SAVE MISC ON STACK
4301 005233' 332000 040432' SKIPE PDP8F ;IS THIS A PDP8 SYMBOL ?
4302 005234' 661540 040000 TLO T3,SMF.P8 ;YES IS A PDP8
4303 005235' 261740 000013 PUSH P,T3 ;SAVE FLAGS ON STACK
4304 005236' 261740 000011 PUSH P,T1 ;SAVE SYMBOL ON STACK
4305 005237' 261740 000012 PUSH P,T2 ;SAVE VALUE ON STACK
4306 005240' 260740 005270' CALL DELSYM ;FIRST DELETE ANY OLD VALUE
4307 005241' 260740 005303' CALL POSYMT ;POSITION SYMBOL TABLE AT END OF CORE
4308 005242' 201440 000004 MOVEI T1,4 ;GET 4 WORDS FOR A SYMBOL BLOCK
4309 005243' 260740 005363' CALL GETCOR ;GET NEW CORE
4310 005244' 262740 000011 POP P,T1 ;GET VALUE FOR SYMBOL
4311 005245' 260740 005347' CALL VLFND0 ;FIND WHERE TO BULGE SYMBOL TABLE
4312 005246' 201500 000004 MOVEI T2,4
4313 005247' 272500 041116' ADDM T2,SYMEND ;AND POINTER TO END OF SYMBOL TABLE
4314 005250' 311445 000001 CAML T1,1(SYM)
4315 005251' 271240 000004 ADDI SYM,4
4316 005252' 200500 000011 MOVE T2,T1 ;COPY SYMBOL VALUE
4317 005253' 262740 000011 POP P,T1 ;GET SYMBOL
4318 005254' 262740 000013 POP P,T3 ;GET FLAGS
4319 005255' 262740 000014 POP P,T4 ;GET MISC
4320 005256' 261740 000005 PUSH P,SYM ;SAVE SYMBOL POINTER
4321 005257' 250445 000000 ADSYM7: EXCH T1,(SYM)
4322 005260' 250505 000001 EXCH T2,1(SYM)
4323 005261' 250545 000002 EXCH T3,2(SYM)
4324 005262' 250605 000003 EXCH T4,3(SYM)
4325 005263' 201245 000004 MOVEI SYM,4(SYM) ;POINT TO NEXT SYMBOL TABLE BLOCK
4326 005264' 312240 041116' CAME SYM,SYMEND ;HIT END OF TABLE YET ?
4327 005265' 254000 005257' JRST ADSYM7 ;NO SO KEEP GOING
4328 005266' 262740 000005 POP P,SYM ;GET POINTER TO NEW SYMBOL
4329 005267' 263740 000000 RET
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 88
DDT11 MAC 18-May-81 17:27 SYMBOL TABLE ROUTINES
4330
4331 ;HERE TO DELETE A SYMBOL FROM A SYMBOL TABEL
4332 ; CALL MOVE T1,[SIXBIT \SYMBOL\]
4333 ; CALL DELSYM
4334 ; RETURN
4335 005270' 260740 005153' DELSYM: CALL SYMFND ;TRY TO FIND SYMBOL IN CURRENT SYMBOL TABLE
4336 005271' 263740 000000 RET
4337 005272' 505445 000004 HRLI T1,4(SYM) ;BUILD BLT POINTER
4338 005273' 540440 000005 HRR T1,SYM
4339 005274' 550500 041116' HRRZ T2,SYMEND ;END OF SYMBOL TABLE
4340 005275' 251452 777774 BLT T1,-4(T2)
4341 005276' 211440 000004 MOVNI T1,4
4342 005277' 316500 001551* CAMN T2,.JBFF## ;SYMBOL TABLE AT END OF CORE ?
4343 005300' 272440 005277* ADDM T1,.JBFF## ;YES SO ADJUST END POINTER
4344 005301' 272440 041116' ADDM T1,SYMEND ;AND ADJUST POINTER TO END OF SYMBOL TABLE
4345 005302' 263740 000000 RET
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 89
DDT11 MAC 18-May-81 17:27 SYMBOL TABLE ROUTINES
4346 ;HERE TO BE SURE SYMBOL TABLE IS LAST THING IN CORE AND MOVE IT IF NOT
4347 ; CALL: CALL POSYMT
4348 005303' 200440 041116' POSYMT: MOVE T1,SYMEND
4349 005304' 316440 005300* CAMN T1,.JBFF## ;IS SYMBOL TABLE AT END OF CORE ?
4350 005305' 263740 000000 RET
4351 005306' 261740 005304* PUSH P,.JBFF## ;SAVE OLD FREE CORE POINTER
4352 005307' 200440 041116' MOVE T1,SYMEND
4353 005310' 274440 041115' SUB T1,SYMBEG
4354 005311' 260740 005363' CALL GETCOR
4355 005312' 262740 000011 POP P,T1 ;GET OLD FREE CORE POINTER
4356 005313' 504440 041115' HRL T1,SYMBEG
4357 005314' 552440 041115' HRRZM T1,SYMBEG ;NEW BEGINNING OF SYMBOL TABLE
4358 005315' 550500 005306* HRRZ T2,.JBFF
4359 005316' 251452 777777 BLT T1,-1(T2)
4360 005317' 202500 041116' MOVEM T2,SYMEND ;NEW END OFF SYMBOL TABLE
4361 005320' 263740 000000 RET
4362
4363 ;HERE TO MOVE THE SYMBOL TABLE UP IN CORE
4364 ; CALL: MOVEI T1,<AMOUNT TO MOVE IT UP>
4365 ; CALL MOVSMT
4366 005321' 260740 004347' MOVSMT: CALL SAVE24 ;SAVE REGISTERS
4367 005322' 261740 000011 PUSH P,T1 ;SAVE ARGUMENT
4368 005323' 260740 005363' CALL GETCOR ;GET ADDITIONAL CORE
4369 005324' 262740 000011 POP P,T1 ;GET NUMBER OF WORDS TO MOVE
4370 005325' 200500 041115' MOVE T2,SYMBEG ;FIRST WORD IN CURRENT SYMBOL TABLE
4371 005326' 272440 041115' ADDM T1,SYMBEG ;NEW SYMBOL TABLE ADR
4372 005327' 550540 005315* HRRZ T3,.JBFF## ;ADR OF NEW LAST WORD IN SYMBOL TABLE
4373 005330' 542540 041116' HRRM T3,SYMEND ;NEW END OF SYMBOL TABLE
4374 005331' 364540 004310' SOJA T3,MOVTAB ;MAKE NEW LAST WORD IN SYMBOL TABLE
4375 ; AND MOVE THE TABLE
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 90
DDT11 MAC 18-May-81 17:27 SYMBOL TABLE ROUTINES
4376 ;HERE TO FIND A NEAR MATCH FOR A VALUE
4377 ; CALL MOVEI T1,VALUE TO MATCH
4378 ; CALL VALFND
4379 ; ERROR RETURN ;WITH SYM CLEARED
4380 ; RETURN WITH SYM SET UP
4381 005332' 260740 005347' VALFND: CALL VLFND0
4382 005333' 254000 005337' JRST VLFND4
4383 005334' 201245 777774 VLFND3: MOVEI SYM,-4(SYM) ;BACK UP SYMBOL POINTER
4384 005335' 315240 041115' CAMGE SYM,SYMBEG ;BACKED UP TOO FAR ?
4385 005336' 254000 005345' JRST VLFND7 ;YES
4386 005337' 500245 000002 VLFND4: HLL SYM,2(SYM) ;GET FLAGS FOR SYMBOL
4387 TLNE SYM,SMF.SU!SMF.IN!SMF.RG ;IS SYMBOL SUPPRESSED OR REG OR INSTRUCTION
4388 005340' 603240 000007 ?
4389 005341' 254000 005334' JRST VLFND3 ;YES SO REJECT IT
4390 005342' 200505 000001 MOVE T2,1(SYM) ;GET SYMBOL VALUE
4391 005343' 305452 000400 CAIGE T1,400(T2)
4392 005344' 354017 000000 AOSA (P)
4393 005345' 402000 000005 VLFND7: SETZM SYM
4394 005346' 263740 000000 RET
4395
4396 005347' 200240 041115' VLFND0: MOVE SYM,SYMBEG ;POINT TO FIRST SYMBOL BLOCK
4397 005350' 200540 041116' MOVE T3,SYMEND
4398 005351' 200500 000013 VLFND2: MOVE T2,T3 ;COPY HIGH LIMIT POINTER
4399 005352' 274500 000005 SUB T2,SYM ;MAKE DIFFERENCE BETWEEN HIGH AND LOW
4400 005353' 242500 777777 LSH T2,-1
4401 005354' 405500 777774 ANDI T2,777774
4402 005355' 322500 005200' JUMPE T2,R ;HAVE CARRIED THIS AS FAR AS WE CAN
4403 005356' 270500 000005 ADD T2,SYM
4404 005357' 315452 000001 CAMGE T1,1(T2)
4405 005360' 334540 000012 SKIPA T3,T2
4406 005361' 200240 000012 MOVE SYM,T2
4407 005362' 254000 005351' JRST VLFND2
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 91
DDT11 MAC 18-May-81 17:27 SYMBOL TABLE ROUTINES
4408 ;HERE TO GET MORE CORE
4409 ; CALL MOVEI T1,<#WORDS OF CORE WANTED>
4410 ; CALL GETCOR
4411 005363' 553000 000011 GETCOR: HRRZS T1 ;CLEAR LEFT HALF
4412 005364' 273440 005327* ADDB T1,.JBFF## ;MAKE NEW END OF CORE
4413 005365' 553000 000011 HRRZS T1 ;CLEAR LEFT HALF
4414 005366' 506440 000371* HRLM T1,.JBSA## ;IN CASE WE GET SAVED LATER
4415 005367' 607400 002000 TXNN FLG,F.EXEC ;RUNNING IN EXEC MODE
4416 005370' 317440 000000* CAMG T1,.JBREL##
4417 005371' 254000 005406' JRST GTCOR9
4418 005372' 602400 040000 TXNE FLG,F.LOCK
4419 201440 000001 JRST [ MOVEI T1,1 ;CODE FOR LOW SEG
4420 047440 000120 UNLOK. T1, ;CAN'T BE LOCKED WHEN WE DO THIS
4421 254000 005121' JRST LOCKER ;OLD MONITOR PERHAPS ?
4422 550440 000000 HRRZ T1,.JBFF## ;GET CORE ARG BACK
4423 047440 000011 CORE T1,
4424 254000 005407' JRST CORERR ;CAN'T HAVE MORE ?
4425 201440 000001 MOVEI T1,1 ;CODE TO LOCK LOW SEG
4426 047440 000060 LOCK T1,
4427 254000 005121' JRST LOCKER
4428 254000 005376' JRST GTCOR6 ]
4429 005373' 254000 043740'
4430 005374' 047440 000011 CORE T1,
4431 005375' 254000 005407' JRST CORERR
4432 005376' 201440 000133 GTCOR6: MOVEI T1,"["
4433 005377' 260740 007666' CALL TYPCHR
4434 005400' 550440 005370* HRRZ T1,.JBREL##
4435 005401' 350000 000011 AOS T1
4436 005402' 242440 777767 LSH T1,-^D9
4437 005403' 260740 007526' CALL DECTYP
4438 TYPE <p core]
4439 701014 367744 >
4440
4441 005404' 201440 043752'
4442 005405' 260740 007655'
4443 005406' 263740 000000 GTCOR9: RET
4444
4445 ;HERE IF CAN'T GET CORE WE WANT
4446 202071 751212 CORERR: TYPE < CORE UUO failed>
4447 005407' 201440 043754'
4448 005410' 260740 007655'
4449 005411' 047000 000012 EXIT
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 92
DDT11 MAC 18-May-81 17:27 SYMBOL TABLE ROUTINES
4450 ;HERE TO READ A SYMBOL TABLE FROM A LISTING
4451
4452 005412' 332440 040461' RDSYMB: SKIPE T1,USETIT ;WANT TO SKIP PART OF FILE ?
4453 005413' 074051 000000 USETI 1,(T1) ;POSITION FILE
4454 006213' 005522' MOVE T1,[FILDEV,,SYMDEV]
4455 005414' 200440 043760'
4456 005415' 251440 005541' BLT T1,SYMDEV+$FBLEN-1 ;COPY FILDEV, FILNAM, FILEXT, FILTIM
4457 005416' 400640 000000 SETZ T5, ;COUNT OF SYMBOLS
4458 005417' 260740 005510' GETSC1: CALL GETSCH
4459 005420' 302440 000012 CAIE T1,12 ;IS THIS A LINE FEED ?
4460 005421' 254000 005417' JRST GETSC1 ;LOOK FOR ONE
4461 005422' 403540 040463' SETZB T3,SYMBOL ;BUILD SYMBOL HERE
4462 440600 040463' MOVE T2,[POINT 6,SYMBOL]
4463 005423' 200500 043125'
4464 005424' 260740 005510' CALL GETSCH ;GET FIRST CHAR FOR SYMBOL
4465 005425' 301440 000060 CAIL T1,"0" ;CHECK TO SEE IF NUMERIC
4466 005426' 303440 000071 CAILE T1,"9"
4467 005427' 304000 000000 CAIA ;NOT NUMERIC
4468 005430' 254000 005417' JRST GETSC1 ;NUMERIC SO FLUSH LINE
4469 005431' 304000 000000 CAIA
4470 005432' 260740 005510' GETSC3: CALL GETSCH
4471 005433' 307440 000040 CAIG T1,40
4472 005434' 254000 005443' JRST GETSC4 ;IF SO HAVE FINISHED SYMBOL
4473 005435' 306440 000075 CAIN T1,"=" ;DID SYMBOL END WITH "=" ?
4474 005436' 254000 005445' JRST GETSC5
4475 005437' 275440 000040 SUBI T1,40 ;CONVERT TO SIXBIT
4476 000600 040463' CAME T2,[POINT 6,SYMBOL,35] ;FILLED WORD YET ?
4477 005440' 312500 043126'
4478 005441' 136440 000012 IDPB T1,T2 ;NO SO KEEP FILLING
4479 005442' 254000 005432' JRST GETSC3
4480 005443' 302440 000040 GETSC4: CAIE T1,40 ;SYMBOLS END WITH A SPACE
4481 005444' 254000 005417' JRST GETSC1 ;NOT SYMBOL - FLUSH LINE
4482 005445' 336000 040463' GETSC5: SKIPN SYMBOL ;IS THERE A SYMBOL ?
4483 005446' 254000 005417' JRST GETSC1 ;NO SYMBOL FLUSH LINE
4484 005447' 634600 000014 TDZA T4,T4 ;CLEAR FLAGS
4485 005450' 260740 005510' GETSC6: CALL GETSCH
4486 005451' 306440 000040 CAIN T1,40
4487 005452' 254000 005450' JRST GETSC6
4488 005453' 306440 000075 CAIN T1,"="
4489 660600 000001 JRST [ TRO T4,SMF.SU ;SUPPRESSED SYMBOL
4490 254000 005450' JRST GETSC6 ]
4491 005454' 254000 043761'
4492 005455' 306440 000045 CAIN T1,"%"
4493 660600 000002 JRST [ TRO T4,SMF.RG ;REGISTER NAME
4494 620600 000001 TRZ T4,SMF.SU ;DON'T SUPPRESS REG NAMES
4495 254000 005450' JRST GETSC6 ]
4496 005456' 254000 043763'
4497 005457' 301440 000060 CAIL T1,60
4498 005460' 303440 000067 CAILE T1,67
4499 005461' 254000 005417' JRST GETSC1 ;FLUSH REST OF LINE
4500 005462' 221540 000010 GETSC7: IMULI T3,^D8
4501 005463' 271551 777720 ADDI T3,-60(T1)
4502 005464' 260740 005510' CALL GETSCH
4503 005465' 301440 000060 CAIL T1,60
4504 005466' 303440 000067 CAILE T1,67
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 92-1
DDT11 MAC 18-May-81 17:27 SYMBOL TABLE ROUTINES
4505 005467' 304000 000000 CAIA
4506 005470' 254000 005462' JRST GETSC7
4507
4508 005471' 302440 000070 CAIE T1,"8"
4509 005472' 306440 000071 CAIN T1,"9"
4510 005473' 254000 005417' JRST GETSC1 ;FLUSH REST OD LINE
4511 005474' 306440 000055 CAIN T1,"-"
4512 005475' 254000 005417' JRST GETSC1 ;FLUSH REST OF LINE
4513 005476' 200440 040463' MOVE T1,SYMBOL ;COPY SYMBOL
4514 005477' 550500 000013 HRRZ T2,T3 ;VALUE
4515 005500' 514540 000014 HRLZ T3,T4 ;FLAGS
4516 005501' 200600 005525' MOVE T4,SYMNAM ;FILE NAME
4517 005502' 261740 041116' PUSH P,SYMEND
4518 005503' 260740 005232' CALL ADDSYM
4519 005504' 262740 000011 POP P,T1 ;GET OLD SYMEND
4520 005505' 312440 041116' CAME T1,SYMEND
4521 005506' 350000 000015 AOS T5 ;COUNT SYMBOL
4522 005507' 254000 005417' JRST GETSC1 ;FLUSH REST OF LINE
4523 005510' 260740 006707' GETSCH: CALL FILCHR ;GET NEXT CHAR FROM FILE
4524 005511' 304000 000000 CAIA
4525 005512' 263740 000000 RET
4526 203315 760710 TYPE < loaded >
4527 005513' 201440 043766'
4528 005514' 260740 007655'
4529 005515' 200440 000015 MOVE T1,T5
4530 005516' 260740 007526' CALL DECTYP
4531 TYPE < symbols
4532 203477 166704 >
4533
4534 005517' 201440 043770'
4535 005520' 260740 007655'
4536 005521' 254000 005176' JRST TPOPJ1
4537
4538 005522' SYMDEV: BLOCK 1 ;DEVICE NAME FOR SYMBOL FILE
4539 005523' SYMBLK: BLOCK 1 ; START OF LOOKUP/ENTER BLOCK
4540 005524' SYMDIR: BLOCK 1 ; ADDRESS OF PATH BLOCK
4541 005525' SYMNAM: BLOCK 1 ; FILE NAME
4542 005526' SYMEXT: BLOCK 1 ; FILE EXTENSION
4543 005527' SYMTIM: BLOCK 1 ; TIME/DATE AND PROTECTION
4544 005530' SYMPTH: BLOCK 2 ; FILE PATH
4545 005532' SYMPPN: BLOCK 1 ; FILE PPN
4546 005533' SYMSFD: BLOCK 6 ; AND SUBSEQUENT SFD'S
4547 005541' BLOCK 1 ; SWITCHES
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 93
DDT11 MAC 18-May-81 17:27 SYMBOL TABLE ROUTINES
4548 ;HERE TO READ A FE SYMBOL FILE
4549
4550 006213' 005522' RDSYMA: MOVE T1,[FILDEV,,SYMDEV] ; COPY OF FILE, DEVICE, EXT, TIME
4551 005542' 200440 043760'
4552 005543' 251440 005541' BLT T1,SYMDEV+$FBLEN-1 ;MOVE IT
4553 005544' 400640 000000 SETZ T5, ;COUNT OF SYMBOLS WE HAVE READ
4554 005545' 260740 005510' RDSYM1: CALL GETSCH ;GET NEXT BYTE
4555 005546' 302440 000012 CAIE T1,12 ;LINE FEED?
4556 005547' 254000 005545' JRST RDSYM1 ;NO, KEEP LOOKING FOR IT.
4557 005550' 403540 040463' RDSYM2: SETZB T3,SYMBOL ;BUILD SYMBOL HERE
4558 440600 040463' MOVE T2,[POINT 6,SYMBOL];POINTER FOR SYMBOL NAME
4559 005551' 200500 043125'
4560 005552' 260740 005510' RDSYM3: CALL GETSCH ;GET NEXT SYMBOL NAME BYTE
4561 005553' 302440 000040 CAIE T1,40 ;SPACE?
4562 005554' 306440 000011 CAIN T1,11 ;TAB?
4563 005555' 254000 005552' JRST RDSYM3 ;YES, IGNORE IT AT START OF LINE
4564 005556' 304000 000000 CAIA
4565 005557' 260740 005510' RDSYM4: CALL GETSCH ;GET NEXT BYTE, PLEASE
4566 005560' 307440 000040 CAIG T1,40 ;IF SO, WE HAVE FINISHED SYMBOL
4567 005561' 254000 005571' JRST RDSYM5 ;YES, WE ARE DONE WITH THAT PART
4568 005562' 302440 000011 CAIE T1,11 ;IS IT A TAB?
4569 005563' 306440 000075 CAIN T1,75 ;IS IT AN "="?
4570 005564' 254000 005571' JRST RDSYM5 ;YES, TOO, SO GET NEXT PART
4571 005565' 275440 000040 SUBI T1,40 ;CONVERT TO SIXBIT
4572 000600 040463' CAME T2,[POINT 6,SYMBOL,35];AT THE END YET?
4573 005566' 312500 043126'
4574 005567' 136440 000012 IDPB T1,T2 ;NO, POU BYTE INTO SYMBOL
4575 005570' 254000 005557' JRST RDSYM4 ;LOOP FOR MORE OF SYMBOL
4576
4577 005571' 306440 000075 RDSYM5: CAIN T1,75 ;END OF SYMBOL, WAS IT A "="?
4578 336000 040463' JRST [ SKIPN SYMBOL
4579 254000 005545' JRST RDSYM1 ;NO SYMBOL, FLUSH THE LINE, TRY AGAIN
4580 400600 000000 SETZ T4, ;CLEAR THE FLAGS
4581 254000 005605' JRST RDSYM6] ;AND GET THE VALUE
4582 005572' 254000 043773'
4583 005573' 302440 000011 CAIE T1,11 ;TAB
4584 005574' 306440 000040 CAIN T1,40 ;SPACE?
4585 005575' 304000 000000 CAIA
4586 005576' 254000 005545' JRST RDSYM1 ;NOT A SYMBOL AGAIN, FLUSH LINE
4587 005577' 336000 040463' SKIPN SYMBOL
4588 005600' 254000 005545' JRST RDSYM1 ;NOT A SYMBOL, YET
4589 005601' 400600 000000 SETZ T4,
4590 005602' 260740 005510' RDSYM7: CALL GETSCH
4591 005603' 306440 000040 CAIN T1,40
4592 005604' 254000 005602' JRST RDSYM7 ;EAT UP EXTRA SPACES
4593 005605' 306440 000075 RDSYM6: CAIN T1,75 ;OK?
4594 660600 000001 JRST [ TRO T4,SMF.SU ;SUPPRESSED
4595 254000 005602' JRST RDSYM7] ;BACK FOR MORE
4596 005606' 254000 043777'
4597 005607' 306440 000045 CAIN T1,45 ;"%"
4598 660600 000002 JRST [ TRO T4,SMF.RG ;REGISTER NAME
4599 620600 000001 TRZ T4,SMF.SU ;DONT KEEP THEM DOWN
4600 254000 005602' JRST RDSYM7] ;BACK AGAIN
4601 005610' 254000 044001'
4602 005611' 301440 000060 CAIL T1,60 ;IS IT IN THE RANGE OF 0-7
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 93-1
DDT11 MAC 18-May-81 17:27 SYMBOL TABLE ROUTINES
4603 005612' 303440 000067 CAILE T1,67
4604 005613' 254000 005545' JRST RDSYM1 ;NO, FLUSH LINE
4605 005614' 221540 000010 RDSYM8: IMULI T3,10 ;MAKE ROOM FOR NEW VALUE
4606 005615' 271551 777720 ADDI T3,-60(T1) ;CONVERT AND ADD IT IN
4607 005616' 260740 005510' RDSYM9: CALL GETSCH ;NEXT BYTE
4608 005617' 301440 000060 CAIL T1,60
4609 005620' 303440 000067 CAILE T1,67
4610 005621' 304000 000000 CAIA
4611 005622' 254000 005614' JRST RDSYM8 ;ADD IN NEXT VALUE
4612 005623' 306440 000055 CAIN T1,55 ;WAS IT A "-"
4613 005624' 254000 005616' JRST RDSYM9 ;YES, IGNORE IT
4614 005625' 306440 000122 CAIN T1,122 ;IS IT A "R"
4615 005626' 270540 040454' ADD T3,RELOFF ;YES, ADD RELOCATION , AND KEEP GOING
4616 005627' 200440 040463' MOVE T1,SYMBOL ;GET SYMBOL NAME
4617 005630' 550500 000013 HRRZ T2,T3 ;GET VALUE
4618 005631' 514540 000014 HRLZ T3,T4 ;GET FLAGS
4619 005632' 200600 005525' MOVE T4,SYMNAM ;GET FILE MANE
4620 005633' 261740 041116' PUSH P,SYMEND ;SAVE END OF SYMBOL TABLE
4621 005634' 260740 005232' CALL ADDSYM ;ADD NEW SYMBOL
4622 005635' 262740 000011 POP P,T1 ;GET OLD END
4623 005636' 312440 041116' CAME T1,SYMEND ;DID IT GROW?
4624 005637' 350000 000015 AOS T5 ;YES, COUNT AS NEW SYMBOL (CROCK)
4625 005640' 254000 005550' JRST RDSYM2 ;YES, GET NEXT SYMBOL FROM LINE
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 94
DDT11 MAC 18-May-81 17:27 GENERAL FILE ROUTINES
4626 SUBTTL GENERAL FILE ROUTINES
4627
4628 ;HERE TO OPEN A FILE TO READ(F.WRIT=0) OR WRITE(F.WRIT=1)
4629 ; CALL MOVE T1,[SIXBIT \FILE\] ;DEFAULT FILE NAME
4630 ; MOVE T2,[SIXBIT \EXTEXT\] ;DEFAULT EXTENSIONS
4631 ; MOVE T3,[SWDSP,,SWLST] ;SWITCH POINTER
4632 ; MOVE T4,[400000,,ADR] ;DEFAULT LAST SWITCH
4633 ; CALL OPNFIL
4634 ; LOSE RETURN
4635 ; WIN RETURN
4636 005641' 664400 000001 OPNFIL: TROA FLG,F.FLIP ;FLAG WE SHOULD PROMPT
4637 005642' 620400 000001 OPNFL0: TXZ FLG,F.FLIP ;NO PROMPT PLEASE
4638 005643' 202500 006212' MOVEM T2,DEFEXT ;SAVE DEFAULT EXTENSIONS
4639 005644' 402000 006213' SETZM FILDEV ;INITIALIZE START OF FILE BLOCK
4640 006213' 006214' MOVE T2,[FILDEV,,FILDEV+1] ;BLT POINTER TO
4641 005645' 200500 044004'
4642 005646' 251500 006232' BLT T2,FILDEV+$FBLEN-1 ; INITIALIZE REST OF FILE BLOCK
4643 005647' 202440 006216' MOVEM T1,FILNAM ;SAVE DEFAULT FILE NAME
4644 005650' 202540 006232' MOVEM T3,FIL.SW ;SAVE POINTER TO SWITCHES
4645 005651' 202600 040420' MOVEM T4,LASTSW ;LAST SWITCH WE GET
4646 005652' OPFIL1: MOVEI T1,[ASCIZ \
4647 064250 644630 FILE: \]
4648 005652' 201440 044005'
4649 005653' 662400 000001 TXOE FLG,F.FLIP ;WANT PROMPT ?
4650 005654' 260740 007655' CALL TYPSTR
4651 005655' 260740 006776' CALL SIXIN ;GET FILE NAME
4652 005656' 254000 005652' JRST OPFIL1
4653 005657' 322440 005735' JUMPE T1,OPFIL4 ;JUST SWITCHES
4654 005660' 205500 446353 MOVSI T2,'DSK' ;DEFAULT DEVICE NAME
4655 005661' 202500 006213' MOVEM T2,FILDEV
4656 005662' 302640 000072 CAIE T5,":" ;WAS THIS A DEVICE SPECIFICATION ?
4657 005663' 254000 005667' JRST OPFIL2
4658 005664' 202440 006213' MOVEM T1,FILDEV ;YES SO WAS A DEVICE
4659 005665' 260740 006776' CALL SIXIN ;GET FILE NAME
4660 005666' 254000 005652' JRST OPFIL1
4661 005667' 332000 000011 OPFIL2: SKIPE T1 ;WAS THERE A FILE NAME ?
4662 005670' 202440 006216' MOVEM T1,FILNAM ;SAVE FILE NAME
4663 005671' 302640 000056 CAIE T5,"." ;GIVING AN EXTENSION ?
4664 005672' 254000 005676' JRST OPFIL3 ;NO
4665 005673' 260740 006776' CALL SIXIN ;GET EXTENSION
4666 005674' 254000 005652' JRST OPFIL1
4667 005675' 512440 006217' HLLZM T1,FILEXT
4668 005676' 302640 000133 OPFIL3: CAIE T5,"[" ;GIVING A PPN ?
4669 005677' 254000 005735' JRST OPFIL4
4670
4671 ;HERE TO READ IN A PATH SPEC
4672 005700' 260740 006776' CALL SIXIN
4673 005701' 254000 005735' JRST OPFIL4
4674 005702' 302640 000054 CAIE T5,","
4675 005703' 254000 005735' JRST OPFIL4
4676 005704' 260740 007034' CALL SIXOCT
4677 005705' 254000 005735' JRST OPFIL4
4678 005706' 306440 000000 CAIN T1,0 ;USER TYPE IN EXPLICIT PROJECT?
4679 005707' 554440 040707' HLRZ T1,MYPPN ;NO, USE HIS THEN
4680 005710' 506440 006223' HRLM T1,FILPPN ; SET IN FILE PATH BLOCK
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 94-1
DDT11 MAC 18-May-81 17:27 GENERAL FILE ROUTINES
4681 005711' 260740 006776' CALL SIXIN
4682 005712' 254000 005652' JRST OPFIL1
4683 005713' 260740 007034' CALL SIXOCT
4684 005714' 254000 005652' JRST OPFIL1
4685 005715' 306440 000000 CAIN T1,0 ;USER TYPE IN EXPLICIT PROGRAMMER?
4686 005716' 550440 040707' HRRZ T1,MYPPN ;NO, USE HIS THEN
4687 005717' 542440 006223' HRRM T1,FILPPN ; SET IN FILE PATH BLOCK
4688 005720' 201600 006223' MOVEI T4,FILSFD-1 ; START OF SFD'S
4689 005721' 200440 000015 OPFL30: MOVE T1,T5
4690 005722' 302440 000054 CAIE T1,"," ;WERE SFD'S SPECIFIED ?
4691 005723' 254000 005732' JRST OPFL39
4692 005724' 260740 006776' CALL SIXIN ;GET SFD NAME
4693 005725' 254000 005732' JRST OPFL39
4694 005726' 306600 006230' CAIN T4,FILSFD+4 ; ALREADY FILLED ALL ?
4695 JRST [TYPE <
4696 064247 742142 ?D11SFD SFD depth greater than 5>
4697 201440 044007'
4698 260740 007655'
4699 263740 000000 RET ]
4700 005727' 254000 044016'
4701 005730' 261600 000011 PUSH T4,T1
4702 005731' 254000 005721' JRST OPFL30
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 95
DDT11 MAC 18-May-81 17:27 GENERAL FILE ROUTINES
4703 005732' 306440 000135 OPFL39: CAIN T1,"]"
4704 005733' 260740 010574' CALL RDCHAR
4705 005734' 202440 000015 OPFL40: MOVEM T1,T5
4706 005735' 306640 000040 OPFIL4: CAIN T5,40 ;WAS BREAK CHAR A SPACE ?
4707 260740 010574' JRST [CALL RDCHAR ;GET NEXT CHAR
4708 254000 005734' JRST OPFL40 ]
4709 005736' 254000 044021'
4710 005737' 302640 000057 CAIE T5,"/" ;TIME FOR SWITCHES ?
4711 005740' 254000 006015' JRST OPFIL7
4712 005741' 260740 006776' CALL SIXIN ;GET SWITCH NAME
4713 005742' 254000 006015' JRST OPFIL7
4714 005743' 205500 770000 MOVSI T2,770000 ;MAKE A MASK
4715 005744' 200540 000011 OPFL41: MOVE T3,T1 ;COPY ARGUMENT
4716 005745' 404540 000012 AND T3,T2 ;MASK IT
4717 005746' 316440 000013 CAMN T1,T3 ;WAS THAT RIGHT MASK ?
4718 005747' 254000 005752' JRST OPFL42
4719 005750' 240500 777772 ASH T2,-6 ;MAKE MASK BIGGER
4720 005751' 254000 005744' JRST OPFL41
4721 005752' 550600 006232' OPFL42: HRRZ T4,FIL.SW
4722 005753' 336554 000000 OPFL43: SKIPN T3,(T4) ;GET NEXT ENTRY IN LIST
4723 005754' 254000 005766' JRST OPFIL5 ;NO MATCH FOR SWITCH
4724 005755' 316440 000013 CAMN T1,T3 ;EXACT ENTRY?
4725 005756' 254000 006005' JRST OPFIL6 ;YES, IGNORE PARTIAL MATCHES
4726 005757' 404540 000012 AND T3,T2 ;MASK OFF ENTRY
4727 005760' 312440 000013 CAME T1,T3 ;DID WE FIND MATCH ?
4728 005761' 344600 005753' AOJA T4,OPFL43 ;TRY NEXT ENTRY
4729 005762' 200554 000001 MOVE T3,1(T4) ;GET NEXT ENTRY FROM LIST
4730 005763' 404540 000012 AND T3,T2 ;MASK IT
4731 005764' 312440 000013 CAME T1,T3
4732 005765' 254000 006005' JRST OPFIL6
4733 005766' 261740 000011 OPFIL5: PUSH P,T1 ;SAVE SWITCH
4734 TYPE <
4735 064256 567310 undefined or ambiguous switch />
4736 005767' 201440 044023'
4737 005770' 260740 007655'
4738 005771' 262740 000011 POP P,T1
4739 005772' 260740 007600' CALL SIXTYP
4740 OPFL52: TYPE <
4741 064241 146312 Legal switches are:>
4742 005773' 201440 044032'
4743 005774' 260740 007655'
4744 005775' 550600 006232' HRRZ T4,FIL.SW ;POINT TO LIST OF SWITCHES
4745 005776' 336014 000000 OPFL55: SKIPN (T4)
4746 005777' 254000 007621' JRST CRLTYP ;END WITH A FLURISH
4747 201360 000000 TYPE < />
4748 006000' 201440 044037'
4749 006001' 260740 007655'
4750 006002' 200454 000000 MOVE T1,(T4) ;GET SWITCH NAME
4751 006003' 260740 007600' CALL SIXTYP
4752 006004' 344600 005776' AOJA T4,OPFL55
4753
4754 006005' 274600 006232' OPFIL6: SUB T4,FIL.SW
4755 006006' 554440 006232' HLRZ T1,FIL.SW
4756 006007' 271454 000000 ADDI T1,(T4)
4757 006010' 335451 000000 SKIPGE T1,(T1)
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 95-1
DDT11 MAC 18-May-81 17:27 GENERAL FILE ROUTINES
4758 202440 040420' JRST [ MOVEM T1,LASTSW
4759 254000 005735' JRST OPFIL4 ]
4760 006011' 254000 044040'
4761 006012' 260751 000000 CALL (T1)
4762 006013' 300000 000000 NOP
4763 006014' 254000 005735' JRST OPFIL4
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 96
DDT11 MAC 18-May-81 17:27 GENERAL FILE ROUTINES
4764 006015' 400440 000000 OPFIL7: SETZ T1,
4765 006016' 336500 006213' SKIPN T2,FILDEV ;DID USER TYPE A FILE NAME ?
4766 006017' 254000 006071' JRST OPNFL5 ;NO - PROBABLY A /PORT
4767 006020' 201540 006233' MOVEI T3,IHD
4768 006021' 602400 010000 TXNE FLG,F.WRIT
4769 006461' 000000 SKIPA T3,[OHD,,0]
4770 006022' 334540 044042'
4771 050040 000011 SKIPA T4,[OPEN 1,T1] ;READ ON CHNL 1
4772 006023' 334600 044043'
4773 050000 000011 MOVE T4,[OPEN 0,T1]
4774 006024' 200600 044044'
4775 006025' 256000 000014 XCT T4
4776 006026' 254000 006110' JRST FILER0
4777 006027' 261740 005364* PUSH P,.JBFF##
4778 006030' 201500 006464' MOVEI T2,OBUFER
4779 064040 000001 MOVE T1,[INBUF 1,NUMBUF]
4780 006031' 200440 044045'
4781 006032' 602400 010000 TXNE FLG,F.WRIT
4782 065000 000001 SKIPA T1,[OUTBUF 1]
4783 006033' 334440 044046'
4784 006034' 201500 006236' MOVEI T2,IBUFER
4785 006035' 202500 006027* MOVEM T2,.JBFF##
4786 006036' 256000 000011 XCT T1
4787 006037' 300000 000000 NOP
4788 006040' 262740 006035* POP P,.JBFF##
4789 006041' 332000 006217' SKIPE FILEXT ; USER TYPE ANY EXTENSION?
4790 006042' 402000 006212' SETZM DEFEXT ; YES, CLEAR DEFAULTS THEN
4791 076040 006214' OPNFL2: MOVE T1,[LOOKUP 1,FILBLK]
4792 006043' 200440 044047'
4793 006044' 201500 000004 MOVEI T2,LKELEN ; LENGTH OF EXTENDED LOOKUP/ENTER BLOCK
4794 006045' 202500 006214' MOVEM T2,FILBLK ; SET IN LOOKUP/ENTER BLOCK
4795 006046' 336000 006223' SKIPN FILPPN ; USER TYPE IN EXPLICIT PATH?
4796 006047' 634500 000012 TDZA T2,T2 ; NO, USE DEFAULT PATH
4797 006050' 201500 006221' MOVEI T2,FILPTH ; YES, USE IT AS TYPED
4798 006051' 202500 006215' MOVEM T2,FILDIR ; SET PATH BLOCK IN LOOKUP/ENTER BLOCK
4799 006052' 622400 020000 TXZE FLG,F.APND ;IF APPENDING DO LOOKUP FIRST
4800 621440 000740 JRST [TLZ T1,000740 ;CLEAR CHNL SPEC
4801 256000 000011 XCT T1 ;DO LOOKUP
4802 254000 006043' JRST OPNFL2 ;LOST BUT DON'T CARE
4803 660400 020000 TXO FLG,F.APND ;NEED TO DO USETI
4804 030100 000017 LDB T2,[POINTR 17,T1] ;CHANNEL NUMBER
4805 135500 044050'
4806 202500 006221' MOVEM T2,FILPTH ;SET IN PATH BLOCK
4807 000011 006221' MOVE T2,[PTHLEN,,FILPTH] ;ARG POINTER TO
4808 200500 044051'
4809 047500 000110 PATH. T2, ;READ FILE TRUE PATH
4810 400500 000000 SETZ T2, ;FAILED??
4811 254000 006054' JRST .+1 ]
4812 006053' 254000 044052'
4813 006054' 602400 010000 TXNE FLG,F.WRIT
4814 006055' 505440 077000 HRLI T1,(ENTER)
4815 006056' 256000 000011 XCT T1
4816 006057' 304000 000000 CAIA ;LOOKUP OR ENTER LOST
4817 006060' 254000 006071' JRST OPNFL5 ;WE HAVE A FILE READY FOR I/O
4818 006061' 602400 010000 TXNE FLG,F.WRIT ;WRITING ?
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 96-1
DDT11 MAC 18-May-81 17:27 GENERAL FILE ROUTINES
4819 006062' 254000 006110' JRST FILER0 ;HE LOSES
4820 006063' 336500 006212' SKIPN T2,DEFEXT ; ANY DEFAULTS LEFT?
4821 006064' 254000 006110' JRST FILER0 ;NO, ERROR
4822 006065' 512500 006217' HLLZM T2,FILEXT ;YES, TRY NEXT DEFAULT
4823 006066' 242500 000022 LSH T2,^D18 ;TOSS IT OUT
4824 006067' 202500 006212' MOVEM T2,DEFEXT ;AND SAVE ANYTHING LEFT FOR NEXT TIME
4825 006070' 254000 006043' JRST OPNFL2
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 97
DDT11 MAC 18-May-81 17:27 GENERAL FILE ROUTINES
4826 030100 000017 OPNFL5: LDB T2,[POINTR 17,T1] ;CHANNEL NUMBER
4827 006071' 135500 044050'
4828 006072' 202500 006221' MOVEM T2,FILPTH ;SET IN PATH. BLOCK
4829 000011 006221' MOVE T2,[PTHLEN,,FILPTH] ;ARG POINTER TO
4830 006073' 200500 044051'
4831 006074' 047500 000110 PATH. T2, ;READ TRUE FILE PATH
4832 006075' 255000 000000 JFCL ;???
4833 006076' 602400 020000 TXNE FLG,F.APND
4834 006077' 074000 777777 USETI -1 ;IN CASE SUPERCEEDING
4835 006213' 006667' MOVE T1,[FILDEV,,OFLDEV] ;BLT POINTER
4836 006100' 200440 044064'
4837 006101' 606400 010000 TXNN FLG,F.WRIT ;ARE WE READING OR WRITING ?
4838 006102' 541440 006441' HRRI T1,IFLDEV ;READING
4839 006103' 201511 000017 MOVEI T2,$FBLEN-1(T1) ; LAST WORD TO TRANSFER
4840 006104' 251452 000000 BLT T1,(T2) ;COPY FILE SPEC
4841 006105' 332440 040420' SKIPE T1,LASTSW
4842 006106' 254011 000000 JRST (T1)
4843 006107' 254000 005177' RETSKP
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 98
DDT11 MAC 18-May-81 17:27 GENERAL FILE ROUTINES
4844 006110' 602400 010000 FILER0: TXNE FLG,F.WRIT
4845 006111' 402000 006461' SETZM OHD
4846 375010 360734 TYPE <? Can't LOOKUP/ENTER file >
4847 006112' 201440 044065'
4848 006113' 260740 007655'
4849 006114' 602400 010000 FILERR: TXNE FLG,F.WRIT
4850 006115' 402000 006461' SETZM OHD
4851 006116' 201440 006213' MOVEI T1,FILDEV
4852 006117' 260740 006124' CALL FILTYP
4853 006120' 260740 007621' CALL CRLTYP
4854 006121' 606400 010000 TXNN FLG,F.WRIT
4855 006122' 402000 006233' SETZM IHD
4856 006123' 263740 000000 RET
4857 006124' 504500 000011 FILTYP: HRL T2,T1 ;BUILD BLT POINTER
4858 006125' 541500 006213' HRRI T2,FILDEV
4859 006126' 251500 006232' BLT T2,FILDEV+$FBLEN-1 ; COPY FILE SPEC
4860 006127' 200440 006213' MOVE T1,FILDEV ;GET DEVICE NAME
4861 006130' 260740 007600' CALL SIXTYP
4862 006131' 260740 007607' CALL COLTYP ;TYPE A COLON
4863 006132' 200440 006216' MOVE T1,FILNAM ;GET FILE NAME
4864 006133' 260740 007600' CALL SIXTYP
4865 006134' 260740 007636' CALL PERTYP ;TYPE A "."
4866 006135' 510440 006217' HLLZ T1,FILEXT ;GET EXTENSION
4867 006136' 260740 007600' CALL SIXTYP
4868 006137' 336000 006223' SKIPN FILPPN ; WAS THERE A PPN ?
4869 006140' 254000 006162' JRST FILTY6
4870 006141' 201440 000133 MOVEI T1,"["
4871 006142' 260740 007666' CALL TYPCHR
4872 006143' 554440 006223' HLRZ T1,FILPPN
4873 006144' 260740 007535' CALL OCTYPE
4874 006145' 260740 007633' CALL COMTYP ;TYPE A COMMA
4875 006146' 550440 006223' HRRZ T1,FILPPN ; GET RH OF PPN
4876 006147' 405440 777777 ANDI T1,-1
4877 006150' 260740 007535' CALL OCTYPE
4878 006151' 201540 006224' MOVEI T3,FILSFD ; START OF SFD'S
4879 006152' 302540 006231' FILTY4: CAIE T3,FILSFD+5 ; TYPED ALL SFD LEVELS ?
4880 006153' 336453 000000 SKIPN T1,(T3) ;GET NEXT SFD NAME
4881 006154' 254000 006160' JRST FILTY5
4882 006155' 260740 007633' CALL COMTYP ;TYPE A COMMA
4883 006156' 260740 007600' CALL SIXTYP
4884 006157' 344540 006152' AOJA T3,FILTY4
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 99
DDT11 MAC 18-May-81 17:27 GENERAL FILE ROUTINES
4885 006160' 201440 000135 FILTY5: MOVEI T1,"]"
4886 006161' 260740 007666' CALL TYPCHR
4887 006162' 260740 007630' FILTY6: CALL BLANKT
4888 141300 006220' LDB T1,[POINT 11,FILTIM,23]
4889 006163' 135440 044073'
4890 006164' 322440 006167' JUMPE T1,FILTY3
4891 006165' 260740 010025' CALL TIMTY3
4892 006166' 260740 007630' CALL BLANKT
4893 170300 006217' FILTY3: LDB T1,[POINT 3,FILEXT,20] ;HIGH ORDER CREATION DATE
4894 006167' 135440 044074'
4895 001400 006220' LDB T2,[POINT 12,FILTIM,35] ;LOWER ORDER CREATION DATE
4896 006170' 135500 044075'
4897 006171' 242500 000030 LSH T2,^D24 ;APPEND THE TWO TIMES INTO
4898 006172' 246440 000014 LSHC T1,^D12 ;ONE 15-BIT CREATION DATE
4899 006173' 260740 007746' CALL DATET0 ;TYPE DATE
4900 006174' 263740 000000 RET
4901
4902 ;HERE TO CLOSE OUTPUT FILE
4903 006175' 336000 006461' DONE.W: SKIPN OHD
4904 006176' 263740 000000 RET
4905 006177' 057000 000000 OUT
4906 006200' 070000 000000 CLOSE
4907 006201' 071000 000000 RELEASE
4908 006202' 402000 006461' SETZM OHD
4909 433235 462500 TYPE <File >
4910 006203' 201440 044076'
4911 006204' 260740 007655'
4912 006205' 201440 006667' MOVEI T1,OFLDEV
4913 006206' 260740 006124' CALL FILTYP
4914 TYPE < written
4915
4916 203576 264750 >
4917
4918
4919 006207' 201440 044100'
4920 006210' 260740 007655'
4921 006211' 263740 000000 RET
4922
4923 006212' DEFEXT: BLOCK 1 ; DEFAULT EXTENSIONS
4924
4925 006213' 446353 000000 FILDEV: SIXBIT \DSK\
4926 006214' FILBLK: BLOCK 1 ; START OF LOOKUP/ENTER BLOCK
4927 006215' FILDIR: BLOCK 1 ; POINTER TO FILE DIRECTORY
4928 006216' FILNAM: BLOCK 1
4929 006217' FILEXT: BLOCK 1
4930 006220' FILTIM: BLOCK 1 ; FILE PROTECTION AND DATES
4931 000004 LKELEN==.-FILBLK-1 ; SIZE OF LOOKUP/ENTER BLOCK
4932 006221' FILPTH: BLOCK 2 ; PATH BLOCK HEADER
4933 006223' FILPPN: BLOCK 1 ; FILE PPN
4934 006224' FILSFD: BLOCK 5 ; AND SUBSEQUENT SFD'S
4935 006231' BLOCK 1 ; TERMINATING 0 WORD
4936 000011 PTHLEN==.-FILPTH ; LENGTH OF PATH BLOCK
4937 006232' FIL.SW: BLOCK 1
4938 000020 $FBLEN==.-FILDEV ; LENGTH OF "FILE BLOCK"
4939
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 99-1
DDT11 MAC 18-May-81 17:27 GENERAL FILE ROUTINES
4940 006233' IHD: BLOCK 3 ;HEADER FOR INPUT FILE
4941 006236' IBUFER: BLOCK <203*NUMBUF>
4942 006441' IFLDEV: BLOCK $FBLEN ; INPUT FILE SPEC
4943
4944 006461' OHD: BLOCK 3 ;HEADER FOR OUTPUT FILE
4945 006464' OBUFER: BLOCK 203
4946 006667' OFLDEV: BLOCK $FBLEN ; OUTPUT FILE SPEC
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 100
DDT11 MAC 18-May-81 17:27 GENERAL FILE ROUTINES
4947 ;HERE TO GET NEXT CHAR FROM A FILE
4948 ; CALL CALL FILCHR
4949 ; ERROR RETURN
4950 ; NORMAL RETURN WITH CHAR IN T1
4951 006707' 260740 006714' FILCHR: CALL FILBYT ;GET NEXT BYTE FROM FILE
4952 006710' 263740 000000 RET ;LOST
4953 006711' 322440 006707' JUMPE T1,FILCHR ;FLUSH NULLS
4954 006712' 350017 000000 AOS (P)
4955 006713' 263740 000000 RET
4956
4957 ;HERE TO GET THE NEXT BYTE FROM INPUT FILE
4958 006714' 375440 006235' FILBYT: SOSGE T1,IHD+2 ;IS THERE MORE STUFF IN BUFFER ?
4959 006715' 254000 006721' JRST FLCHR5 ;NO
4960 006716' 134440 006234' ILDB T1,IHD+1 ;GET NEXT CHAR
4961 006717' 350017 000000 AOS (P) ;SKIP RETURN
4962 006720' 263740 000000 RET
4963
4964 006721' 056040 000000 FLCHR5: IN 1, ;GET NEXT BUFFER
4965 006722' 254000 006714' JRST FILBYT ;TRY AGAIN
4966 006723' 062040 000011 GETSTS 1,T1 ;GET FILE STATUS
4967 006724' 602440 740000 TXNE T1,IO.IMP!IO.DER!IO.DTE!IO.BKT ;ANY ERRORS
4968 006725' 260740 006730' PUSHJ P,IFILER ;REPORT ERROR
4969 006726' 071040 000000 RELEASE 1, ;GONE WITH CHANNEL
4970 006727' 263740 000000 RET ;AND RETURN
4971
4972 IFILER: TYPE <
4973 064247 742142 ?D11ERF error reading file >
4974 006730' 201440 044103'
4975 006731' 260740 007655'
4976 006732' 201440 006441' MOVEI T1,IFLDEV ;ADR OF NAME OF FILE
4977 006733' 260740 006124' CALL FILTYP
4978 203476 460750 TYPE < status = >
4979 006734' 201440 044111'
4980 006735' 260740 007655'
4981 006736' 062040 000011 GETSTS 1,T1 ;GET BACK STATUS
4982 006737' 260740 007535' CALL OCTYPE
4983 006740' 254000 007621' JRST CRLTYP
4984
4985 ;HERE TO POSITION FILE FOR INPUT
4986 ; CALL MOVE T1,BYTE # IN FILE
4987 ; CALL FILPOS
4988 ; RETURN
4989 006741' 231440 001200 FILPOS: IDIVI T1,200*5 ;FIND BLOCK TO READ
4990 006742' 074051 000001 USETI 1,1(T1)
4991 006743' 056040 000000 IN 1, ;GET NEXT BUFFER
4992 006744' 304000 000000 CAIA
4993 006745' 263740 000000 RET
4994 006746' 361500 005177' FILPS4: SOJL T2,RSKP
4995 006747' 260740 006714' CALL FILBYT
4996 006750' 263740 000000 RET
4997 006751' 254000 006746' JRST FILPS4
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 101
DDT11 MAC 18-May-81 17:27 GENERAL FILE ROUTINES
4998 ;HERE TO INPUT AN OCTAL NUMBER
4999 ; CALL: CALL INPOCT
5000 ; ERROR RETURN
5001 ; RETURN WITH OCTAL NUMBER IN T1, BREAK CHAR IN T2
5002 006752' 260740 004361' INPOCT: CALL SAVE34
5003 006753' 403540 000014 SETZB T3,T4
5004 006754' 260740 006707' INPRD2: CALL FILCHR ;GET NEXT INPUT CHAR
5005 006755' 254000 006775' JRST INPRD9 ;NO MORE IN FILE
5006 006756' 322440 006754' JUMPE T1,INPRD2
5007 006757' 302440 000040 CAIE T1," " ;LEADING SPACE ?
5008 006760' 306440 000011 CAIN T1," " ;OR TAB ?
5009 006761' 254000 006754' JRST INPRD2 ;YES
5010 006762' 301440 000060 INPRD5: CAIL T1,"0"
5011 006763' 303440 000067 CAILE T1,"7"
5012 006764' 254000 006772' JRST INPRD7
5013 006765' 221540 000010 IMULI T3,^D8
5014 006766' 271551 777720 ADDI T3,-60(T1)
5015 006767' 260740 006707' CALL FILCHR
5016 006770' 304000 000000 CAIA ;EOF
5017 006771' 254000 006762' JRST INPRD5
5018 006772' 200500 000011 INPRD7: MOVE T2,T1
5019 006773' 200440 000013 MOVE T1,T3
5020 006774' 350017 000000 AOS (P) ;SKIP RETURN
5021 006775' 263740 000000 INPRD9: RET
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 102
DDT11 MAC 18-May-81 17:27 GENERAL FILE ROUTINES
5022 ;HERE TO GET A SIXBIT WORD FROM TTY
5023 ; CALL: CALL SIXIN
5024 ; LOSE RETURN
5025 ; WIN RETURN WITH SIXBIT WORD IN T1 & BREAK CHAR IN T5
5026 006776' 261740 000014 SIXIN: PUSH P,T4 ;SAVE REG
5027 006777' 260740 010574' SIXIN0: CALL RDCHAR ;GET THE FIRST CHAR
5028 007000' 302440 000040 CAIE T1," " ;IS IT A BLANK
5029 007001' 306440 000011 CAIN T1," " ;OR A TAB ?
5030 007002' 254000 006777' JRST SIXIN0 ;YES SO SKIP IT
5031 440600 000015 MOVE T4,[POINT 6,T5]
5032 007003' 200600 044114'
5033 007004' 400640 000000 SETZ T5, ;CLEAR ACCUMULATED SYMBOL
5034 007005' 306440 000045 CAIN T1,"%"
5035 007006' 254000 007024' JRST SIXIN7
5036 007007' 254000 007011' JRST SIXIN3
5037 007010' 260740 010574' SIXIN2: CALL RDCHAR ;GET A CHAR FROM TTY
5038 007011' 306440 000177 SIXIN3: CAIN T1,177
5039 743617 000000 JRST [ TYPE <xxx>
5040 201440 044115'
5041 260740 007655'
5042 262740 000014 POP P,T4
5043 263740 000000 RET ]
5044 007012' 254000 044116'
5045 007013' 301440 000060 CAIL T1,"0"
5046 007014' 303440 000172 CAILE T1,"Z"+40
5047 007015' 254000 007031' JRST SIXIN9 ;RETURN
5048 007016' 303440 000071 CAILE T1,"9"
5049 007017' 301440 000141 CAIL T1,"A"+40
5050 007020' 254000 007024' JRST SIXIN7
5051 007021' 301440 000101 CAIL T1,"A"
5052 007022' 303440 000132 CAILE T1,"Z"
5053 007023' 254000 007031' JRST SIXIN9 ;RETURN
5054 007024' 305440 000141 SIXIN7: CAIGE T1,40+"A" ;CHECK FOR LOWER CASE
5055 007025' 275440 000040 SUBI T1,40
5056 000600 000015 CAME T4,[POINT 6,T5,35] ;HAVE WE ALREADY FILLED WORD ?
5057 007026' 312600 044122'
5058 007027' 136440 000014 IDPB T1,T4 ;NOT YET
5059 007030' 254000 007010' JRST SIXIN2
5060 007031' 250440 000015 SIXIN9: EXCH T1,T5
5061 007032' 262740 000014 POP P,T4
5062 007033' 254000 005177' RETSKP
5063
5064 ;HERE TO CONVERT SIXBIT TO OCTAL
5065 440600 000011 SIXOCT: MOVE T4,[POINT 6,T1]
5066 007034' 200600 044123'
5067 007035' 400500 000000 SETZ T2,
5068 007036' 134540 000014 SIXOC1: ILDB T3,T4
5069 007037' 322540 007047' JUMPE T3,SIXOC9
5070 007040' 301540 000020 CAIL T3,20
5071 007041' 303540 000027 CAILE T3,27
5072 007042' 263740 000000 RET ;CAN'T CONVERT
5073 007043' 221500 000010 IMULI T2,^D8
5074 007044' 271513 777760 ADDI T2,-20(T3)
5075 000600 000011 CAME T4,[POINT 6,T1,35] ;DONE ALL OF WORD ?
5076 007045' 312600 043015'
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 102-1
DDT11 MAC 18-May-81 17:27 GENERAL FILE ROUTINES
5077 007046' 254000 007036' JRST SIXOC1
5078 007047' 250440 000012 SIXOC9: EXCH T1,T2
5079 007050' 254000 005177' RETSKP
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 103
DDT11 MAC 18-May-81 17:27 GENERAL FILE ROUTINES
5080 ;HERE TO GET A DECIMAL ARGUMENT FROM THE TTY
5081 ; CALL CALL DECINP
5082 ; LOSE RETURN
5083 ; WIN RETURN WITH # IN T1, BREAK CHAR IN T5
5084 007051' 201440 000012 DECINP: MOVEI T1,^D10 ;RADIX
5085 007052' 260740 004341' RADINP: CALL SAVE2 ;SAVE SOME REGISTERS
5086 007053' 400640 000000 SETZ T5, ;BUILD NUMBER HERE
5087 007054' 200500 000011 MOVE T2,T1 ;COPY RADIX
5088 007055' 260740 010574' RADIN0: CALL RDCHAR ;GET NEXT CHAR FROM THE TTY
5089 007056' 302440 000040 CAIE T1," " ;IS THIS A LEADING SPACE ?
5090 007057' 306440 000011 CAIN T1," " ;OR TAB ?
5091 007060' 254000 007055' JRST RADIN0 ;YES SO FLUSH IT
5092 007061' 301440 000060 CAIL T1,"0" ;IS FIRST CHARACTER NUMERIC ?
5093 007062' 301452 000060 CAIL T1,"0"(T2)
5094 007063' 254000 007074' JRST RADIN9 ;ERROR RETURN
5095 007064' 350017 000000 AOS (P) ;WIN
5096 007065' 301440 000060 RADIN2: CAIL T1,"0" ;IS CHARACTER NUMERIC
5097 007066' 301452 000060 CAIL T1,"0"(T2) ;IS IT IN RANGE ?
5098 007067' 254000 007074' JRST RADIN9 ;ALL DONE
5099 007070' 221652 000000 IMULI T5,(T2) ;SHIFT CURRENT ACCUMULATION
5100 007071' 271651 777720 ADDI T5,-60(T1) ;ADD NEXT DIGIT
5101 007072' 260740 010574' CALL RDCHAR ;GET NEXT CHAR FROM THE TTY
5102 007073' 254000 007065' JRST RADIN2
5103 007074' 250440 000015 RADIN9: EXCH T1,T5
5104 007075' 263740 000000 RET
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 104
DDT11 MAC 18-May-81 17:27 TTY ROUTINES
5105 SUBTTL TTY ROUTINES
5106
5107 ;HERE TO DISPLAY CONTENTS OF T1 AS AN ADDRESS
5108 007076' 607440 400000 ADRTYP: TLNN T1,400000
5109 007077' 661440 777777 TLO T1,777777
5110 007100' 607440 200000 TLNN T1,200000
5111 007101' 254000 007331' JRST DATIN9 ;TYPE REGISTER NAME
5112 007102' 405440 177777 ANDI T1,177777 ;SIXTEEN BITS ONLY PLEASE
5113 007103' 562440 040542' HRROM T1,LSTADR ;SAVE LAST ADDRESS DISPLAYED
5114 007104' 260740 005332' CALL VALFND ;SEE IF WE CAN FIND A SYMBOL
5115 007105' 254000 007520' JRST RADTYP ;TYPE ADDR IN CURRENT RADIX
5116 007106' 336005 000001 SKIPN 1(SYM) ;DON'T USE IF SYMBOL=0
5117 007107' 254000 007520' JRST RADTYP
5118 007110' 261740 000011 PUSH P,T1 ;SAVE VALUE
5119 007111' 200445 000000 MOVE T1,(SYM) ;GET SYMBOL NAME
5120 007112' 260740 007600' CALL SIXTYP ;TYPE SYMBOL
5121 007113' 262740 000011 POP P,T1 ;GET VALUE AGAIN
5122 007114' 274445 000001 SUB T1,1(SYM) ;GET DISPLACEMENT
5123 007115' 405440 177777 ANDI T1,177777 ;STRIP EXTRA BITS
5124 007116' 322440 005200' JUMPE T1,R ;IF EXACT WE ARE DONE
5125 007117' 261740 000011 PUSH P,T1 ;SAVE REMAINDER
5126 007120' 260740 007652' CALL PLUTYP ;TYPE A "+"
5127 007121' 262740 000011 POP P,T1
5128 007122' 254000 007520' JRST RADTYP ;TYPE REST IN CURRENT RADIX
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 105
DDT11 MAC 18-May-81 17:27 DISPLAY ROUTINES
5129 SUBTTL DISPLAY ROUTINES
5130
5131 ;HERE TO TYPE CONTENTS OF CURRENT LOCATION
5132 ; CALL WITH DOT SETUP TO POINT TO STARTING POINT OF DISPLAY
5133 ; WITH BYTCNT AND O.MODE SETUP TO INDICATE TYPE OF DISPLAY
5134 ; WITH BYTCNT AND O.MODE SETUP TO INDICATE TYPE OF DISPLAY
5135 ; CALL DATYPE
5136
5137 007123' 550500 040534' DATYPE: HRRZ T2,BYTCNT ;BYTE COUNT
5138 007124' 550540 040535' HRRZ T3,O.MODE ;OUTPUT MODE
5139 007125' 200440 000007 MOVE T1,DOT
5140 007126' 202440 040422' MOVEM T1,DOTFOO
5141 007127' 332000 040432' SKIPE PDP8F
5142 007130' 254000 007135' JRST DATYP1
5143 007131' 607340 200000 TLNN DOT,200000
5144 007132' 254000 007145' JRST REGTYP ;WANT REGISTER DISPLAYED
5145 007133' 307540 000002 CAIG T3,2 ;IS THIS A WORD MODE
5146 007134' 240500 000001 ASH T2,1 ;YES SO BYTE=WORDS*2
5147 007135' 260740 003354' DATYP1: CALL GETWRD
5148 260740 005061' JRST [CALL CALER0 ;DESCRIBE PROBLEM
5149 263740 000000 RET ] ;THEN EXIT
5150 007136' 254000 044124'
5151 007137' 202440 040544' MOVEM T1,ESC.Q. ;IN CASE OF <ESCAPE>Q LATER
5152 007140' 202440 040464' MOVEM T1,DATA
5153 007141' 550640 040534' HRRZ T5,BYTCNT ;REPETITION COUNT
5154 007142' 200440 040464' MOVE T1,DATA ;GET DATA TO TYPE
5155 007143' 550500 040535' HRRZ T2,O.MODE ;GET OUTPUT MODE
5156 007144' 254032 044126' JRST @[EXP DATINS,DATADR,DATNUM,DATBYT,DATASC,DATEBC](T2)
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 106
DDT11 MAC 18-May-81 17:27 DISPLAY ROUTINES
5157 ;HERE TO TYPE THE CONTENTS OF A REGISTER
5158
5159 007145' 405440 177777 REGTYP: ANDI T1,177777 ;STRIP EXTRA BITS
5160 007146' 303440 000007 CAILE T1,7 ;SMALL ENOUGH ?
5161 007147' 254000 007612' JRST QESTYP
5162 007150' 200451 011200' MOVE T1,SIMREG(T1) ;GET REGISTER TO DISPLAY
5163 007151' 202440 040544' MOVEM T1,ESC.Q. ;IN CASE OF $Q LATER
5164 007152' 260773 044134' CALL @[EXP ADRTYP,ADRTYP,RADTYP,RGTBYT,RGTASC,RGTEBC](T3)
5165 007153' 254000 007626' JRST B3.TYP ;END WITH A FEW SPACES
5166
5167 ;HERE TO TYPE CONTENTS OF REGISTER AS BYTES
5168 007154' 201500 007520' RGTBYT: MOVEI T2,RADTYP ;ROUTINE TO DISPLAY BYTES (NUMERIC)
5169 007155' 254000 007161' JRST RGTYPX
5170
5171 ;HERE TO TYPE CONTENTS OF REGISTER AS ASCII
5172 007156' 201500 007445' RGTASC: MOVEI T2,DATAS3 ;ROUTINE TO DISPLAY ASCII BYTES
5173 007157' 254000 007161' JRST RGTYPX
5174
5175 ;HERE TO TYPE CONTENTS OF REGISTER AS EBCDIC
5176 007160' 201500 007473' RGTEBC: MOVEI T2,DATEB3 ;ROUTINE TO DISPLAY EBCDIC BYTES
5177
5178 007161' 261740 000011 RGTYPX: PUSH P,T1 ;SAVE DATA
5179 007162' 405440 000377 ANDI T1,377 ;FIRST BYTE IS RH
5180 007163' 261740 000012 PUSH P,T2 ;SAVE ADR OF DISPLAY ROUTINE
5181 007164' 260752 000000 CALL (T2) ;DISPLAY THE FIRST BYTE
5182 007165' 262740 000012 POP P,T2 ;GET ADR OF DISPLAY ROUTINE BACK
5183 007166' 306500 007520' CAIN T2,RADTYP ;WAS THIS BYTES ?
5184 007167' 260740 007633' CALL COMTYP ;YES SO WANT A COMMA IN BETWEEN
5185 007170' 262740 000011 POP P,T1 ;GET DATA BACK
5186 101000 000011 LDB T1,[POINT 8,T1,27] ;WANT LH BYTE NOW
5187 007171' 135440 043063'
5188 007172' 254012 000000 JRST (T2) ;DISPLAY LAST BYTE
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 107
DDT11 MAC 18-May-81 17:27 DISPLAY ROUTINES
5189 ;HERE TO TYPE CONTENTS OF CURRENT LOCATION AS A NUMERIC
5190 007173' 562440 040542' DATNUM: HRROM T1,LSTADR ;IN CASE TYPES A TAB LATER
5191 007174' 260740 007520' CALL RADTYP ;TYPE AS NUMERIC
5192 007175' 363640 007626' SOJLE T5,B3.TYP
5193 007176' 260740 007630' CALL BLANKT
5194 007177' 260740 007201' CALL NXTDWD ;GET NEXT DATA WORD
5195 007200' 254000 007173' JRST DATNUM
5196
5197 007201' 260740 007205' NXTDWD: CALL NXTWRD ;GET NEXT WORD
5198 007202' 254000 007626' JRST B3.TYP ;CAN'T READ NEXT WORD !
5199 007203' 202440 040464' MOVEM T1,DATA
5200 007204' 263740 000000 RET
5201
5202 ;HERE TO GET THE NEXT WORD FOR TYPEOUT
5203 007205' 260740 001660' NXTWRD: CALL NDTFOO ;GET NEXT DOT FOO
5204 007206' 200440 040422' MOVE T1,DOTFOO
5205 007207' 201500 000002 MOVEI T2,2 ;WANT 2 BYTES
5206 007210' 332000 040432' SKIPE PDP8F
5207 007211' 201500 000001 MOVEI T2,1
5208 007212' 260740 003354' CALL GETWRD ;FIND WHAT NEXT WORD IS
5209 007213' 263740 000000 RET ;LOST
5210 007214' 202440 040544' MOVEM T1,ESC.Q. ;IN CASE OF <ESCAPE>Q LATER
5211 007215' 254000 005177' RETSKP
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 108
DDT11 MAC 18-May-81 17:27 DISPLAY ROUTINES
5212 ;HERE TO TYPE DATA AS AN ADDRESS
5213 007216' 260740 007076' DATADR: CALL ADRTYP
5214 007217' 363640 007626' SOJLE T5,B3.TYP ;HAVE WE DONE ENOUGH ?
5215 007220' 260740 007630' CALL BLANKT ;TYPE A SPACE TO SEPERATE FIELDS
5216 007221' 260740 007201' CALL NXTDWD ;GET NEXT DATA WORD
5217 007222' 254000 007216' JRST DATADR ;AND TYPE NEXT WORD
5218
5219
5220 ;HERE TO TYPE DATA AS INSTRUCTIONS
5221 007223' DATINS:
5222 007223' 332000 040432' SKIPE PDP8F
5223 007224' 254000 007341' JRST TYP8IN ;TYPE PDP8 INSTRUCTION
5224 007225' 260740 005201' CALL INVLFN ;SEE IF WE CAN FIND AN INSTRUCTION TO MATCH
5225 007226' 254000 007173' JRST DATNUM
5226 007227' 200445 000000 MOVE T1,(SYM) ;GET INSTRUCTION NAME
5227 007230' 260740 007600' CALL SIXTYP
5228 007231' 200645 000002 MOVE T5,2(SYM) ;GET FLAGS AGAIN
5229 007232' 260740 007630' CALL BLANKT ;TYPE A BLANK
5230 007233' 603640 000010 TLNE T5,SMF.EI ;EIS TYPE INSTRUCTION ?
5231 000600 040464' JRST [LDB T4,[POINT 6,DATA,35] ;GET SOURCE CODE
5232 135600 043327'
5233 260740 007275' CALL DATIN8 ;DISPLAY IT
5234 260740 007633' CALL COMTYP
5235 060300 040464' LDB T1,[POINT 3,DATA,29] ;GET REGISTER
5236 135440 044142'
5237 260740 007331' CALL DATIN9 ;TYPE REG NAME
5238 254000 007626' JRST B3.TYP]
5239 007234' 254000 044143'
5240 007235' 603640 020000 TLNE T5,SMF.PL ;SPL TYPE INSTRUCTION ?
5241 000300 040464' JRST [LDB T1,[POINT 3,DATA,35] ;GET ARGUMENT
5242 135440 044151'
5243 260740 007535' CALL OCTYPE
5244 254000 007626' JRST B3.TYP]
5245 007236' 254000 044152'
5246 007237' 603640 010000 TLNE T5,SMF.MK ;MARK TYPE ARGUMENTS ?
5247 000600 040464' JRST [LDB T1,[POINT 6,DATA,35] ;GET ARGUMENT
5248 135440 043327'
5249 260740 007520' CALL RADTYP ;TYPE ARGUMENT AS NUMBER
5250 254000 007626' JRST B3.TYP]
5251 007240' 254000 044155'
5252 007241' 603640 002000 TLNE T5,SMF.EM ;EMT TYPE ARGUMENTS ?
5253 001000 040464' JRST [LDB T1,[POINT 8,DATA,35] ;GET ARGUMENT
5254 135440 044160'
5255 562440 040542' HRROM T1,LSTADR ;IN CASE OF TAB
5256 260740 007520' CALL RADTYP ;TYPE ARGUMENT AS NUMBER
5257 254000 007626' JRST B3.TYP]
5258 007242' 254000 044161'
5259 007243' 603640 000400 TLNE T5,SMF.RT ;RTS TYPE ?
5260 000300 040464' JRST [LDB T1,[POINT 3,DATA,35] ;GET REG ADR
5261 135440 044151'
5262 260740 007331' CALL DATIN9 ;TYPE REG NAME
5263 254000 007626' JRST B3.TYP]
5264 007244' 254000 044165'
5265 007245' 603640 001000 TLNE T5,SMF.JS ;JSR TYPE ?
5266 060300 040464' JRST [LDB T1,[POINT 3,DATA,29]
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 108-1
DDT11 MAC 18-May-81 17:27 DISPLAY ROUTINES
5267 135440 044142'
5268 260740 007331' CALL DATIN9 ;TYPE REG NAME
5269 260740 007633' CALL COMTYP
5270 254000 007247' JRST .+1]
5271 007246' 254000 044170'
5272 007247' 603640 000200 TLNE T5,SMF.SB ;SOB TYPE ?
5273 060300 040464' JRST [LDB T1,[POINT 3,DATA,29] ;GET REGISTER
5274 135440 044142'
5275 260740 007331' CALL DATIN9 ;TYPE REG NAME
5276 260740 007633' CALL COMTYP
5277 000600 040464' LDB T1,[POINT 6,DATA,35] ;GET OFFSET
5278 135440 043327'
5279 221440 777776 IMULI T1,-2
5280 271447 000002 ADDI T1,2(DOT)
5281 405440 177777 ANDI T1,177777
5282 260740 007076' CALL ADRTYP
5283 254000 007626' JRST B3.TYP]
5284 007250' 254000 044174'
5285 007251' 607640 000040 TLNN T5,SMF.SS ;12BIT SSDD FORMAT ?
5286 007252' 254000 007256' JRST DATIN2 ;NO
5287 060600 040464' LDB T4,[POINT 6,DATA,29] ;GET SS CODE
5288 007253' 135600 043321'
5289 007254' 260740 007275' CALL DATIN8
5290 007255' 260740 007633' CALL COMTYP
5291 007256' 607640 000060 DATIN2: TLNN T5,SMF.SS!SMF.DD ;IS THERE A 6 BIT DESTINATION CODE ?
5292 007257' 254000 007262' JRST DATIN4 ;NO
5293 000600 040464' LDB T4,[POINT 6,DATA,35] ;GET DD CODE
5294 007260' 135600 043327'
5295 007261' 260740 007275' CALL DATIN8
5296 007262' 607640 000100 DATIN4: TLNN T5,SMF.BR ;IS THIS BR TYPE ADDRESSING ?
5297 007263' 254000 007626' JRST B3.TYP ;NO
5298 001000 040464' LDB T1,[POINT 8,DATA,35] ;GET OFFSET
5299 007264' 135440 044160'
5300 007265' 602440 000200 TRNE T1,200 ;CHECK FOR NEGATIVE OFFSET
5301 007266' 435440 177400 IORI T1,177400
5302 007267' 350000 000011 AOS T1
5303 007270' 242440 000001 LSH T1,1 ;MAKE WORD ADDRESS
5304 007271' 270440 000007 ADD T1,DOT
5305 007272' 405440 177777 ANDI T1,177777 ;16 BITS ONLY
5306 007273' 260740 007076' CALL ADRTYP ;TYPE ADDRESS
5307 007274' 254000 007626' JRST B3.TYP
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 109
DDT11 MAC 18-May-81 17:27 DISPLAY ROUTINES
5308 007275' 306600 000027 DATIN8: CAIN T4,27 ;CHECK FOR IMMEDIATE MODE
5309 260740 007644' JRST [CALL HSHTYP ;TYPE A #
5310 260740 007205' CALL NXTWRD ;GET NEXT WORD
5311 263740 000000 RET
5312 254000 007076' JRST ADRTYP]
5313 007276' 254000 044205'
5314 007277' 306600 000037 CAIN T4,37 ;CHECK FOR ABSOLUTE MODE
5315 260740 007205' JRST [CALL NXTWRD ;GET NEXT WORD
5316 263740 000000 RET
5317 254000 007076' JRST ADRTYP]
5318 007300' 254000 044206'
5319 007301' 602600 000010 TRNE T4,10 ;CHECK FOR DEFERRED MODE
5320 201440 000100 CALL [MOVEI T1,"@"
5321 324740 007666' PJRST TYPCHR]
5322 007302' 260740 044211'
5323 007303' 302600 000077 CAIE T4,77 ;CHECK FOR RELATIVE DEFERRED MODE
5324 007304' 306600 000067 CAIN T4,67 ;CHECK FOR RELATIVE MODE
5325 260740 007205' JRST [CALL NXTWRD ;GET NEXT WORD
5326 263740 000000 RET
5327 270440 040422' ADD T1,DOTFOO ;MAKE RELATIVE
5328 271440 000002 ADDI T1,2
5329 254000 007076' JRST ADRTYP]
5330 007305' 254000 044213'
5331 030300 000014 LDB T1,[POINT 3,T4,32] ;GET MODE
5332 007306' 135440 044220'
5333 007307' 302440 000004 CAIE T1,4
5334 007310' 306440 000005 CAIN T1,5
5335 007311' 260740 007647' CALL MINTYP
5336 007312' 301440 000006 CAIL T1,6 ;CHECK FOR INDEX OR INDEX DEFERRED
5337 260740 007205' JRST [CALL NXTWRD ;GET NEXT WORD
5338 263740 000000 RET
5339 260740 007076' CALL ADRTYP
5340 254000 007315' JRST DATIN1]
5341 007313' 254000 044221'
5342 007314' 602440 000006 TRNE T1,6
5343 201440 000050 DATIN1: CALL [MOVEI T1,"("
5344 324740 007666' PJRST TYPCHR]
5345 007315' 260740 044225'
5346 000300 000014 LDB T1,[POINT 3,T4,35] ;GET REGISTER VALUE
5347 007316' 135440 044227'
5348 007317' 260740 007331' CALL DATIN9 ;TYPE REGISTER NAME
5349 007320' 606600 000060 TRNN T4,60
5350 007321' 263740 000000 RET ;PLAIN REGISTER MODE
5351 007322' 201440 000051 MOVEI T1,")"
5352 007323' 260740 007666' CALL TYPCHR
5353 030300 000014 LDB T1,[POINT 3,T4,32]
5354 007324' 135440 044220'
5355 007325' 302440 000002 CAIE T1,2
5356 007326' 306440 000003 CAIN T1,3
5357 007327' 260740 007652' CALL PLUTYP
5358 007330' 263740 000000 RET
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 110
DDT11 MAC 18-May-81 17:27 DISPLAY ROUTINES
5359 007331' 405440 000007 DATIN9: ANDI T1,7 ;STRIP EXTRA BITS
5360 007332' 505440 400000 HRLI T1,400000 ;FLAG IS A REGISTER
5361 007333' 202440 040542' MOVEM T1,LSTADR ;IN CASE DOES A TAB
5362 007334' 553000 000011 HRRZS T1
5363 007335' 260740 005216' CALL RGFNDN ;FIND REGISTERS NAME
5364 260740 007641' JRST [CALL PCNTYP ;TYPE A %
5365 260740 007535' CALL OCTYPE
5366 263740 000000 RET]
5367 007336' 254000 044230'
5368 007337' 200445 000000 MOVE T1,(SYM) ;GET REGISTERS NAME
5369 007340' 254000 007600' JRST SIXTYP
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 111
DDT11 MAC 18-May-81 17:27 DISPLAY ROUTINES
5370 ;HERE TO TYPE A PDP8 INSTRUCTION
5371 110300 040464' TYP8IN: LDB T1,[POINT 3,DATA,26] ;PICK UP OP CODE
5372 007341' 135440 044233'
5373 007342' 306440 000007 CAIN T1,7 ;IS THIS AN OPERATE INSTRUCTION ?
5374 007343' 254000 007405' JRST OPRTYP ;YES SO SPECIAL HANDLING
5375 415644 000000 MOVE T1,[SIXBIT \AND\
5376 644144 000000 SIXBIT \TAD\
5377 516372 000000 SIXBIT \ISZ\
5378 444341 000000 SIXBIT \DCA\
5379 525563 000000 SIXBIT \JMS\
5380 525560 000000 SIXBIT \JMP\
5381 007344' 200451 044234' SIXBIT \IOT\](T1)
5382 007345' 260740 007600' CALL SIXTYP
5383 007346' 260740 007630' CALL BLANKT
5384 110300 040464' LDB T1,[POINT 3,DATA,26] ;GET OP CODE AGAIN
5385 007347' 135440 044233'
5386 007350' 301440 000006 CAIL T1,6
5387 001100 040464' JRST [LDB T1,[POINT 9,DATA,35]
5388 135440 044243'
5389 260740 007520' CALL RADTYP
5390 254000 007626' JRST B3.TYP]
5391 007351' 254000 044244'
5392 007352' 200500 040464' MOVE T2,DATA ;GET INSTRUCTION
5393 400000 000000 MOVEI T1,[BYTE (7)"@",0]
5394 007353' 201440 042221'
5395 007354' 602500 000400 TRNE T2,400 ;IS INDIRECT BIT ON ?
5396 007355' 260740 007655' CALL TYPSTR
5397 007356' 200500 000007 MOVE T2,DOT
5398 007357' 405500 007600 ANDI T2,7600
5399 001000 040464' LDB T1,[POINT 8,DATA,35]
5400 007360' 135440 044160'
5401 007361' 622440 000200 TRZE T1,200
5402 007362' 271452 000000 ADDI T1,(T2)
5403 007363' 261740 000011 PUSH P,T1 ;SAVE ADR
5404 007364' 260740 007076' CALL ADRTYP ;TYPE ADR
5405 007365' 262740 000011 POP P,T1 ;GET ADR BACK
5406 007366' 200500 040464' MOVE T2,DATA ;GET DATA AGAIN
5407 007367' 606500 000400 TRNN T2,400 ;WAS THIS AN INDIRECT CASE ?
5408 007370' 254000 007626' JRST B3.TYP ;NOT INDIRECT SO DONE
5409 110300 000012 LDB T2,[POINT 3,T2,26] ;GET OP CODE
5410 007371' 135500 044247'
5411 007372' 306500 000006 CAIN T2,6 ;IOTS DON'T USE ADDRESSES
5412 007373' 254000 007626' JRST B3.TYP
5413 007374' 261740 000011 PUSH P,T1 ;SAVE ADR AGAIN
5414 007375' 201440 000134 MOVEI T1,"\"
5415 007376' 260740 007666' CALL TYPCHR
5416 007377' 262740 000011 POP P,T1 ;GET ADR AGAIN
5417 007400' 201500 000001 MOVEI T2,1 ;ONLY NEED ONE WORD
5418 007401' 260740 003354' CALL GETWRD ;GET THAT WORD
5419 260740 005061' JRST [CALL CALER0
5420 254000 000444' JRST LEVEL0 ]
5421 007402' 254000 044250'
5422 007403' 260740 007076' CALL ADRTYP
5423 007404' 254000 007626' JRST B3.TYP
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 112
DDT11 MAC 18-May-81 17:27 DISPLAY ROUTINES
5424 ;HERE TO TYPE AN OPERATE INSTRUCTION
5425 007405' 400640 000000 OPRTYP: SETZ T5, ;ACCUMULATE BITS MATCHED HERE
5426 007406' 336240 041115' SKIPN SYM,SYMBEG ;GET STARTING ADDR FOR SYMBOL TABLE
5427 007407' 047000 000012 EXIT ;OH GOOD GRIEF !!
5428 007410' 200445 000002 OPRTY1: MOVE T1,2(SYM) ;GET FLAGS FOR SYMBOL & MASK
5429 007411' 603440 040000 TLNE T1,SMF.P8 ;IS THIS A PDP8 SYMBOL ?
5430 007412' 607440 000004 TLNN T1,SMF.IN ;AND IS THIS AN INSTRUCTION ?
5431 007413' 254000 007424' JRST OPRTY5 ;REJECT THIS SYMBOL
5432 007414' 404440 040464' AND T1,DATA ;GET VALUE UNDER MASK
5433 007415' 312445 000001 CAME T1,1(SYM) ;HIT RIGHT ONE ?
5434 007416' 254000 007424' JRST OPRTY5 ;NO
5435 007417' 332000 000015 SKIPE T5 ;FOUND ANY OTHERS YET ?
5436 007420' 260740 007630' CALL BLANKT ;YES SO TYPE A SPACE
5437 007421' 200445 000000 MOVE T1,(SYM) ;GET SYMBOL NAME
5438 007422' 260740 007600' CALL SIXTYP ;TYPE SYMBOL
5439 007423' 434645 000001 IOR T5,1(SYM) ;REMBER BITS WE EXPLAINED
5440 007424' 201245 000004 OPRTY5: MOVEI SYM,4(SYM) ;POINT TO NEXT SYMBOL BLOCK
5441 007425' 312240 041116' CAME SYM,SYMEND ;HIT END OF TABLE ?
5442 007426' 254000 007410' JRST OPRTY1 ;LOOP BACK FOR REST
5443 007427' 405640 007777 ANDI T5,7777 ;STRIP EXTRA BITS
5444 007430' 312640 040464' CAME T5,DATA ;DID WE MATCH ALL BITS ?
5445 007431' 260740 007612' CALL QESTYP ;NO SO ADD QUESTION MARK
5446 007432' 254000 007626' JRST B3.TYP ;CLEAN UP
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 113
DDT11 MAC 18-May-81 17:27 DISPLAY ROUTINES
5447 ;HERE TO TYPE DATA AS ASCII TEXT
5448 007433' 332000 040432' DATASC: SKIPE PDP8F ;WAS THIS A PDP8 WORD ?
5449 007434' 254000 007441' JRST DATAS2 ;YES SO ONLY ONE CHAR/WORD
5450 007435' 405440 000377 ANDI T1,377 ;ONLY 8 BITS PLEASE
5451 007436' 260740 007445' CALL DATAS3
5452 007437' 363640 007626' SOJLE T5,B3.TYP
5453 101000 040464' LDB T1,[POINT 8,DATA,27]
5454 007440' 135440 044252'
5455 007441' 260740 007445' DATAS2: CALL DATAS3
5456 007442' 363640 007626' SOJLE T5,B3.TYP
5457 007443' 260740 007201' CALL NXTDWD ;GET NEXT DATA WORD
5458 007444' 254000 007433' JRST DATASC
5459
5460 ;HERE TO TYPE CONTENTS OF T1 AS AN ASCII CHAR IF PRINTABLE, ELSE TYPE <#>
5461 007445' 202440 000013 DATAS3: MOVEM T1,T3 ;SAVE IN CASE NOT ASCII
5462 007446' 405440 000177 ANDI T1,177 ;STRIP PARITY BIT
5463 007447' 301440 000040 CAIL T1,40
5464 007450' 303440 000176 CAILE T1,176
5465 007451' 304000 000000 CAIA ;SPECIAL HANDLING
5466 007452' 254000 007666' JRST TYPCHR ;JUST TYPE CHARACTER
5467 007453' 261740 000013 PUSH P,T3 ;SAVE WEIRD CHARACTER
5468 007454' 201440 000074 MOVEI T1,"<"
5469 007455' 260740 007666' CALL TYPCHR
5470 007456' 262740 000011 POP P,T1 ;GET CHAR
5471 007457' 260740 007520' CALL RADTYP
5472 007460' 201440 000076 MOVEI T1,">"
5473 007461' 324740 007666' PJRST TYPCHR
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 114
DDT11 MAC 18-May-81 17:27 DISPLAY ROUTINES
5474 ;HERE TO TYPE DATA AS EBCDIC TEXT
5475
5476 007462' 332000 040432' DATEBC: SKIPE PDP8F ;IS THIS PDP8 STUFF ?
5477 007463' 254000 007467' JRST DATEB2 ;YES SO ONLY ONE CHAR/WORD
5478 007464' 260740 007473' CALL DATEB3
5479 007465' 363640 007626' SOJLE T5,B3.TYP
5480 101000 040464' LDB T1,[POINT 8,DATA,27]
5481 007466' 135440 044252'
5482 007467' 260740 007473' DATEB2: CALL DATEB3
5483 007470' 363640 007626' SOJLE T5,B3.TYP
5484 007471' 260740 007201' CALL NXTDWD ;GET NEXT DATA WORD
5485 007472' 254000 007462' JRST DATEBC
5486 007473' 405440 000377 DATEB3: ANDI T1,377
5487 007474' 400500 000000 SETZ T2,
5488 007475' 246440 777776 LSHC T1,-2
5489 007476' 241500 000002 ROT T2,2
5490 341011 040020' LDB T1,[POINT 8,EB.TRN(T1),7
5491 241011 040020' POINT 8,EB.TRN(T1),15
5492 141011 040020' POINT 8,EB.TRN(T1),23
5493 007477' 135452 044253' POINT 8,EB.TRN(T1),31 ](T2)
5494 007500' 324740 007445' PJRST DATAS3
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 115
DDT11 MAC 18-May-81 17:27 DISPLAY ROUTINES
5495 ;HERE TO TYPE DATA AS BYTES
5496
5497 007501' 405440 000377 DATBYT: ANDI T1,377
5498 007502' 332000 040432' SKIPE PDP8F
5499 007503' 405440 000077 ANDI T1,77 ;SIX BIT BYTES FOR PDP8
5500 007504' 260740 007520' CALL RADTYP
5501 007505' 363640 007626' SOJLE T5,B3.TYP
5502 007506' 260740 007633' CALL COMTYP ;TYPE A COMMA
5503 101000 040464' LDB T1,[POINT 8,DATA,27]
5504 007507' 135440 044252'
5505 007510' 332000 040432' SKIPE PDP8F
5506 060600 040464' LDB T1,[POINT 6,DATA,29]
5507 007511' 135440 043321'
5508 007512' 260740 007520' CALL RADTYP ;TYPE IN CURRENT RADIX
5509 007513' 363640 007626' SOJLE T5,B3.TYP
5510 007514' 260740 007633' CALL COMTYP ;TYPE A COMMA
5511 007515' 260740 007201' CALL NXTDWD ;GET NEXT DATA WORD
5512 007516' 254000 007501' JRST DATBYT
5513 007517' 324740 007626' PJRST B3.TYP ;TYPE 3 SPACES
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 116
DDT11 MAC 18-May-81 17:27 DISPLAY ROUTINES
5514 ; TO TYPE A NUMBER IN THE CURRENT RADIX
5515 ; CALL MOVE T1,<NUM TO TYPE>
5516 ; CALL RADTYP ;CLOBBERS T1
5517 ; RETURN ;OTHER REGS PRESERVED
5518 007520' 260740 004347' RADTYP: CALL SAVE24
5519 007521' 550540 040536' HRRZ T3,ORADIX
5520 007522' 260740 007537' CALL RADTY2
5521 007523' 306540 000012 CAIN T3,^D10
5522 007524' 260740 007636' CALL PERTYP ;TYPE A "."
5523 007525' 263740 000000 RET
5524
5525 ;HERE TO TYPE DECIMAL NUMBER
5526 ; CALL MOVE T1,<NUM TO TYPE>
5527 ; CALL DECTYP ;CLOBBERS T1
5528 ; RETURN ;OTHER REGS PRESERVED
5529 007526' 260740 004347' DECTYP: CALL SAVE24
5530 007527' 201540 000012 MOVEI T3,^D10
5531 007530' 254000 007537' JRST RADTY2
5532
5533 ;HERE TO TYPE AN OCTAL NUMBER AS SIX DIGITS
5534 ; CALL MOVE T1,<NUM TO TYPE>
5535 ; CALL OCTYPE ;CLOBBERS T1
5536 ; RETURN ;OTHER REGS PRESERVED
5537 007531' 260740 004347' OCTYP6: CALL SAVE24
5538 007532' 201540 000010 MOVEI T3,^D8
5539 007533' 201600 000006 MOVEI T4,6
5540 007534' 254000 007540' JRST RADTY3
5541
5542 ;HERE TO TYPE AN OCTAL NUMBER
5543 ; CALL MOVE T1,<NUM TO TYPE>
5544 ; CALL OCTYPE ;CLOBBERS T1
5545 ; RETURN ;OTHER REGS PRESERVED
5546 007535' 260740 004347' OCTYPE: CALL SAVE24
5547 007536' 201540 000010 MOVEI T3,^D8
5548 ;JRST RADTY2
5549
5550 007537' 400600 000000 RADTY2: SETZ T4,
5551 007540' 325440 007543' RADTY3: JUMPGE T1,RADTY5
5552 007541' 217000 000011 MOVMS T1
5553 007542' 260740 007647' CALL MINTYP
5554
5555 007543' 231453 000000 RADTY5: IDIVI T1,(T3)
5556 007544' 506517 000000 HRLM T2,(P)
5557 007545' 377000 000014 SOSG T4
5558 007546' 332000 000011 SKIPE T1
5559 007547' 260740 007543' CALL RADTY5
5560 007550' 574457 000000 RADTY7: HLRE T1,(P)
5561 007551' 271440 000060 ADDI T1,"0"
5562 007552' 303440 000071 CAILE T1,"9"
5563 007553' 271440 000007 ADDI T1,7 ;DOING HEX
5564 007554' 324740 007666' PJRST TYPCHR
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 117
DDT11 MAC 18-May-81 17:27 DISPLAY ROUTINES
5565 ;HERE TO TYPE A DECIMAL NUMBER WITH COMMAS
5566 007555' 260740 004347' PDECTY: CALL SAVE24
5567 007556' 201540 000012 MOVEI T3,^D10
5568 007557' 325440 007562' JUMPGE T1,PRADT5
5569 007560' 217000 000011 MOVMS T1
5570 007561' 260740 007647' CALL MINTYP
5571 007562' 231453 000000 PRADT5: IDIVI T1,(T3)
5572 007563' 506517 000000 HRLM T2,(P)
5573 007564' 322440 007550' JUMPE T1,RADTY7
5574 000000 007550' PUSH P,[EXP RADTY7]
5575 007565' 261740 044257'
5576 007566' 231453 000000 IDIVI T1,(T3)
5577 007567' 506517 000000 HRLM T2,(P)
5578 007570' 322440 007550' JUMPE T1,RADTY7
5579 000000 007550' PUSH P,[EXP RADTY7]
5580 007571' 261740 044257'
5581 007572' 231453 000000 IDIVI T1,(T3)
5582 007573' 506517 000000 HRLM T2,(P)
5583 007574' 322440 007550' JUMPE T1,RADTY7
5584 777774 007550' PUSH P,[54-60,,RADTY7]
5585 007575' 261740 044260'
5586 000000 007550' PUSH P,[EXP RADTY7]
5587 007576' 261740 044257'
5588 007577' 254000 007562' JRST PRADT5
5589
5590 007600' 202440 000012 SIXTYP: MOVEM T1,T2
5591 007601' 400440 000000 SXTYP1: SETZ T1,
5592 007602' 246440 000006 LSHC T1,6
5593 007603' 271440 000040 ADDI T1,40
5594 007604' 260740 007666' CALL TYPCHR
5595 007605' 326500 007601' JUMPN T2,SXTYP1
5596 007606' 263740 000000 RET
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 118
DDT11 MAC 18-May-81 17:27 DISPLAY ROUTINES
5597 007607' 261740 000011 COLTYP: PUSH P,T1
5598 007610' 201440 000072 MOVEI T1,":"
5599 007611' 324740 007617' PJRST TYPEIT
5600
5601 007612' 261740 000011 QESTYP: PUSH P,T1
5602 007613' 201440 000077 MOVEI T1,"?"
5603 007614' 324740 007617' PJRST TYPEIT
5604
5605 007615' 261740 000011 TABTYP: PUSH P,T1
5606 007616' 201440 000011 MOVEI T1," "
5607 007617' 260740 007666' TYPEIT: CALL TYPCHR
5608 007620' 254000 003666' JRST TPOPJ
5609
5610 007621' 261740 000011 CRLTYP: PUSH P,T1
5611 007622' 201440 000015 MOVEI T1,15 ;CARRIAGE RETURN
5612 007623' 260740 007666' CALL TYPCHR
5613 007624' 201440 000012 MOVEI T1,12 ;LINEFEED
5614 007625' 324740 007617' PJRST TYPEIT
5615
5616 007626' 260740 007630' B3.TYP: CALL BLANKT
5617 007627' 260740 007630' CALL BLANKT
5618 ;JRST BLANKT
5619 007630' 261740 000011 BLANKT: PUSH P,T1
5620 007631' 201440 000040 MOVEI T1," "
5621 007632' 324740 007617' PJRST TYPEIT
5622
5623 007633' 261740 000011 COMTYP: PUSH P,T1
5624 007634' 201440 000054 MOVEI T1,","
5625 007635' 324740 007617' PJRST TYPEIT
5626
5627 007636' 261740 000011 PERTYP: PUSH P,T1
5628 007637' 201440 000056 MOVEI T1,"."
5629 007640' 324740 007617' PJRST TYPEIT
5630
5631 007641' 261740 000011 PCNTYP: PUSH P,T1
5632 007642' 201440 000045 MOVEI T1,"%"
5633 007643' 324740 007617' PJRST TYPEIT
5634
5635 007644' 261740 000011 HSHTYP: PUSH P,T1
5636 007645' 201440 000043 MOVEI T1,"#"
5637 007646' 324740 007617' PJRST TYPEIT
5638
5639 007647' 261740 000011 MINTYP: PUSH P,T1
5640 007650' 201440 000055 MOVEI T1,"-"
5641 007651' 324740 007617' PJRST TYPEIT
5642
5643 007652' 261740 000011 PLUTYP: PUSH P,T1
5644 007653' 201440 000053 MOVEI T1,"+"
5645 007654' 324740 007617' PJRST TYPEIT
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 119
DDT11 MAC 18-May-81 17:27 DISPLAY ROUTINES
5646 ;HERE TO TYPE OR PRINT A STRING OF CHARACTERS
5647 ; CALL MOVEI T1,<ADR OF ASCIZ STRING>
5648 ; CALL TYPSTR
5649 007655' 261740 000012 TYPSTR: PUSH P,T2
5650 440700 000000 MOVE T2,[POINT 7,0]
5651 007656' 200500 044261'
5652 007657' 271511 000000 ADDI T2,(T1) ;COPY STRING POINTER
5653 007660' 134440 000012 TYPST3: ILDB T1,T2 ;GET NEXT CHAR
5654 007661' 322440 007664' JUMPE T1,TYPST5
5655 007662' 260740 007666' CALL TYPCHR ;TYPE THE CHARACTER
5656 007663' 254000 007660' JRST TYPST3
5657 007664' 262740 000012 TYPST5: POP P,T2 ;RESTORE REGISTER
5658 007665' 263740 000000 RET
5659
5660 ;HERE TO TYPE OR PRINT A SINGLE CHARACTER
5661 007666' 332000 006461' TYPCHR: SKIPE OHD ;DOING A DUMP ?
5662 007667' 254000 007672' JRST TYPCH3 ;YES
5663 007670' 051040 000011 OUTCHR T1
5664 007671' 263740 000000 RET
5665
5666 007672' 375000 006463' TYPCH3: SOSGE OHD+2 ;ROOM IN BUFFER
5667 007673' 254000 007676' JRST TYPCH4 ;NO
5668 007674' 136440 006462' IDPB T1,OHD+1
5669 007675' 263740 000000 RET
5670 007676' 057000 000000 TYPCH4: OUT
5671 007677' 254000 007672' JRST TYPCH3
5672 007700' 254200 000000 HALT
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 120
DDT11 MAC 18-May-81 17:27 DISPLAY ROUTINES
5673 ;HERE TO TYPE PROGRAM NAME
5674 422112 430542 IDTYPE: TYPE <DDT11 >
5675 007701' 201440 044262'
5676 007702' 260740 007655'
5677 301100 000137 LDB T1,[POINT 9,.JBVER,11]
5678 007703' 135440 044264'
5679 007704' 260740 007535' CALL OCTYPE
5680 220600 000137 LDB T1,[POINT 6,.JBVER,17]
5681 007705' 135440 044265'
5682 007706' 201451 000100 MOVEI T1,100(T1)
5683 007707' 302440 000100 CAIE T1,100
5684 007710' 260740 007666' CALL TYPCHR
5685 007711' 201440 000050 MOVEI T1,"("
5686 007712' 260740 007666' CALL TYPCHR
5687 007713' 550440 000137 HRRZ T1,.JBVER
5688 007714' 260740 007535' CALL OCTYPE
5689 007715' 201440 000051 MOVEI T1,")"
5690 007716' 260740 007666' CALL TYPCHR
5691 410300 000137 LDB T1,[POINT 3,.JBVER,2]
5692 007717' 135440 044266'
5693 007720' 213000 000011 MOVNS T1
5694 007721' 332000 000011 SKIPE T1
5695 007722' 260740 007535' CALL OCTYPE
5696 007723' 561440 000003 HRROI T1,3 ;CODE FOR PROGRAM NAME
5697 007724' 047440 000041 GETTAB T1,
5698 007725' 254000 007735' JRST IDTYP2
5699 444464 212100 CAMN T1,[SIXBIT \DDT11\]
5700 007726' 316440 043354'
5701 007727' 254000 007735' JRST IDTYP2
5702 007730' 261740 000011 PUSH P,T1
5703 201724 000000 TYPE < = >
5704 007731' 201440 043226'
5705 007732' 260740 007655'
5706 007733' 262740 000011 POP P,T1
5707 007734' 260740 007600' CALL SIXTYP
5708 007735' 336000 005522' IDTYP2: SKIPN SYMDEV
5709 007736' 254000 007743' JRST IDTYP3
5710 201372 354632 TYPE < /SYMBOLS=>
5711 007737' 201440 044267'
5712 007740' 260740 007655'
5713 007741' 201440 005522' MOVEI T1,SYMDEV
5714 007742' 260740 006124' CALL FILTYP
5715 007743' 260740 007630' IDTYP3: CALL BLANKT ;TYPE A BLANK
5716 007744' 263740 000000 RET
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 121
DDT11 MAC 18-May-81 17:27 DISPLAY ROUTINES
5717 ;HERE TO TYPE THE DATE
5718 007745' 047440 000014 DATETY: DATE T1,
5719 007746' 231440 000564 DATET0: IDIVI T1,^D31*^D12 ;LEAVE YEAR-64 IN T1
5720 007747' 271440 000100 ADDI T1,^D64
5721 007750' 261740 000011 PUSH P,T1 ;SAVE YEAR
5722 007751' 231500 000037 IDIVI T2,^D31
5723 007752' 271500 007765' ADDI T2,MONTAB ;GET NAME OF MONTH
5724 007753' 261740 000012 PUSH P,T2 ;SAVE ADR OF MONTH NAME
5725 007754' 350440 000013 AOS T1,T3 ;GET DAY
5726 007755' 260740 007526' CALL DECTYP
5727 007756' 260740 007647' CALL MINTYP ;TYPE A "-"
5728 007757' 262740 000011 POP P,T1 ;GET MONTH
5729 007760' 260740 007655' CALL TYPSTR ;TYPE MONTH NAME
5730 007761' 260740 007647' CALL MINTYP ;TYPE A "-"
5731 007762' 262740 000011 POP P,T1 ;GET YEAR
5732 007763' 260740 007526' CALL DECTYP
5733 007764' 263740 000000 RET
5734 007765' 453035 600000 MONTAB: ASCIZ \Jan\
5735 007766' 433134 200000 ASCIZ \Feb\
5736 007767' 467036 200000 ASCIZ \Mar\
5737 007770' 407416 266000 ASCIZ \Aprl\
5738 007771' 467037 100000 ASCIZ \May\
5739 007772' 453535 662400 ASCIZ \June\
5740 007773' 453535 474400 ASCIZ \July\
5741 007774' 407534 700000 ASCIZ \Aug\
5742 007775' 517136 072000 ASCIZ \Sept\
5743 007776' 477076 400000 ASCIZ \Oct\
5744 007777' 473376 600000 ASCIZ \Nov\
5745 010000' 423134 300000 ASCIZ \Dec\
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 122
DDT11 MAC 18-May-81 17:27 DISPLAY ROUTINES
5746 ;HERE TO TYPE THE TIME OF DAY
5747 010001' 260740 004324' TIMTYP: CALL SAVE13
5748 010002' 047440 000023 MSTIME T1, ;GET TIME OF DAY IN MS
5749 010003' 261740 000011 TIMTY1: PUSH P,T1 ;SAVE TIME
5750 010004' 231440 001750 IDIVI T1,^D1000 ;GET RID OF MS
5751 010005' 231440 000074 IDIVI T1,^D60 ;LEAVES SECONDS IN T2
5752 010006' 261740 000012 PUSH P,T2
5753 010007' 260740 010025' CALL TIMTY3 ;TYPE HH:MM
5754 010010' 260740 007607' CALL COLTYP ;TYPE A COLON
5755 010011' 262740 000011 POP P,T1
5756 010012' 260740 010033' CALL DC2TYP ;TYPE 2 DIGIT DECIMAL NUMBER
5757 010013' 262740 000011 POP P,T1 ;TIME ORIGINAL TIME AGAIN
5758 010014' 301440 165140 CAIL T1,^D60*^D1000 ;LESS THAN A MINUTE ?
5759 010015' 263740 000000 RET ;NO SO DONE
5760 010016' 260740 007636' CALL PERTYP ;TYPE A "."
5761 010017' 231440 001750 IDIVI T1,^D1000 ;GET MS FROM ORIGINAL TIME
5762 010020' 250440 000012 EXCH T1,T2
5763 010021' 301500 000012 CAIL T2,^D10
5764 231440 000144 JRST [IDIVI T1,^D100 ;LEAVE TENTHS
5765 254000 007526' JRST DECTYP ] ;TYPE TENTH'S
5766 010022' 254000 044272'
5767 010023' 231440 000012 IDIVI T1,^D10
5768 010024' 254000 010033' JRST DC2TYP ;TYPE HUNDRETHS
5769 010025' 231440 000074 TIMTY3: IDIVI T1,^D60 ;LEAVES MIN IN T2
5770 010026' 261740 000012 PUSH P,T2
5771 010027' 260740 007526' CALL DECTYP
5772 010030' 260740 007607' CALL COLTYP ;TYPE A COLON
5773 010031' 262740 000011 POP P,T1
5774 010032' 254000 010033' JRST DC2TYP ;TYPE 2 DIGIT DECIMAL NUMBER
5775
5776 010033' 301440 000012 DC2TYP: CAIL T1,^D10
5777 010034' 254000 007526' JRST DECTYP
5778 010035' 261740 000011 PUSH P,T1
5779 010036' 201440 000060 MOVEI T1,"0"
5780 010037' 260740 007666' CALL TYPCHR
5781 010040' 262740 000011 POP P,T1
5782 010041' 254000 007526' JRST DECTYP
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 123
DDT11 MAC 18-May-81 17:27 DUMP TO FILE
5783 SUBTTL DUMP TO FILE
5784
5785 010042' 660400 000001 ESC..D: TXO FLG,F.FLIP ;ASSUME DOING COMMAND LOGGING
5786 010043' 620400 000004 TXZ FLG,F..FOO ;ASSUME NOT DOING A DISASSEMBLY
5787 010044' 260740 010231' CALL ESC.D0 ;SET UP TO CALL OPNFIL
5788 010045' 332000 003275' SKIPE CMDFIL ;PROCESSING A COMMAND FILE ?
5789 010046' 254000 010053' JRST DUMP0 ;DON'T OPEN A NEW DUMP
5790 010047' 260740 005641' CALL OPNFIL
5791 010050' 254000 010206' JRST DUMP9
5792 010051' 620400 000001 TXZ FLG,F.FLIP ;NOT DOING COMMAND LOGGING
5793 010052' 260740 010241' CALL ESC.D3 ;PUT TITLE LINE ON DUMP
5794 010053' 402000 040710' DUMP0: SETZM CACHEL ;SWEEP CACHE
5795 010054' 660400 004000 TXO FLG,F.CACH ;PUT USE IT AFTER IT IS SET UP
5796 010055' 560340 040510' HRRO DOT,SBEGIN ;WHERE TO BEGIN DUMP
5797 010056' 606400 000004 TXNN FLG,F..FOO ;DOING A DIASSSEMBLY ?
5798 010057' 254000 010143' JRST DUMP2 ;GO DO USUAL DUMP
5799 010060' 261740 040535' PUSH P,O.MODE ;SAVE OUTPUT MODE
5800 010061' 261740 040534' PUSH P,BYTCNT ;AND REPETITION COUNT
5801 010062' 260740 007621' DISA10: CALL CRLTYP ;TYPE A <CR><LF>
5802 010063' 260740 007615' CALL TABTYP ;TYPE A <HT>
5803 010064' 260740 010213' CALL DUMP6 ;FIND IF LOCATION IS REAL
5804 010065' 254000 010177' JRST DUMP8 ;NOT REAL SO DONE
5805 010066' 550440 000007 HRRZ T1,DOT ;GET CURRENT LOCATION
5806 010067' 260740 007531' CALL OCTYP6 ;TYPE SIX DIGIT OCTAL NUMBER
5807 010070' 260740 007615' CALL TABTYP
5808 010071' 550440 000007 HRRZ T1,DOT ;CURRENT LOCATION
5809 010072' 402000 040535' SETZM O.MODE ;ASSUME DUMPING AS AN INSTRUCTION
5810 010073' 260740 002171' CALL CNINWD ;FIND HOW MANY WORDS IN INSTRUCTION
5811 201440 000001 JRST [ MOVEI T1,1 ;CODE FOR ADR TYPEOUT
5812 202440 040535' MOVEM T1,O.MODE
5813 254000 010075' JRST .+1 ]
5814 010074' 254000 044274'
5815 010075' 201651 000000 MOVEI T5,(T1) ;NUMBER OF WORDS
5816 010076' 201447 000000 MOVEI T1,(DOT) ;CURRENT ADR
5817 010077' 260740 010131' CALL DISA40
5818 010100' 201447 000002 MOVEI T1,2(DOT)
5819 010101' 260740 010131' CALL DISA40
5820 010102' 201447 000004 MOVEI T1,4(DOT)
5821 010103' 260740 010131' CALL DISA40
5822 010104' 550440 000007 HRRZ T1,DOT ;GET ADR TO TYPE TAG
5823 010105' 260740 005332' CALL VALFND ;TRY TO FIND TAG FOR THIS LOCATION
5824 010106' 254000 010115' JRST DISA20 ;NO TAG HERE
5825 010107' 550440 000007 HRRZ T1,DOT
5826 010110' 312445 000001 CAME T1,1(SYM) ;EXACT MATCH ?
5827 010111' 254000 010115' JRST DISA20 ;NO IS SAME AS NOT CLOSE
5828 010112' 200445 000000 MOVE T1,(SYM) ;GET SYMBOL NAME
5829 010113' 260740 007600' CALL SIXTYP
5830 010114' 260740 007607' CALL COLTYP ;PUT COLON AFTER SYMBOL
5831 010115' 260740 007615' DISA20: CALL TABTYP
5832 010116' 260740 007123' CALL DATYPE
5833 010117' 200440 040422' MOVE T1,DOTFOO
5834 010120' 402000 040422' SETZM DOTFOO
5835 010121' 260740 001674' CALL DOTINC
5836 010122' 202440 000007 MOVEM T1,DOT
5837 010123' 553000 000011 HRRZS T1
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 123-1
DDT11 MAC 18-May-81 17:27 DUMP TO FILE
5838 010124' 317440 040511' CAMG T1,S..END
5839 010125' 254000 010062' JRST DISA10
5840 010126' 262740 040534' DISA90: POP P,BYTCNT ;RESTORE REPETITION COUNT
5841 010127' 262740 040535' POP P,O.MODE ;AND OUTPUT MODE
5842 010130' 254000 010177' JRST DUMP8
5843
5844 010131' 361640 007615' DISA40: SOJL T5,TABTYP
5845 010132' 201500 000002 MOVEI T2,2
5846 010133' 260740 003354' CALL GETWRD
5847 010134' 254000 010126' JRST DISA90 ;CAN'T GET = DONE
5848 010135' 260740 007531' CALL OCTYP6
5849 010136' 254000 007615' JRST TABTYP
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 124
DDT11 MAC 18-May-81 17:27 DUMP TO FILE
5850 010137' 550440 010225' DUMP1: HRRZ T1,DUMPA ;LAST ADDRESS WE TYPED
5851 010140' 271440 000020 ADDI T1,20
5852 010141' 303447 000000 CAILE T1,(DOT) ;TIME TO TYPE ADR AGAIN ?
5853 010142' 254000 010163' JRST DUMP4
5854 010143' 260740 007621' DUMP2: CALL CRLTYP
5855 010144' 260740 007621' CALL CRLTYP
5856 010145' 550440 000007 HRRZ T1,DOT
5857 010146' 260740 007076' CALL ADRTYP
5858 010147' 322240 010156' JUMPE SYM,DUMP3 ;IF THERE WAS NO SYMBOL DON'T REPEAT
5859 010150' 260740 007630' CALL BLANKT
5860 010151' 201440 000075 MOVEI T1,"="
5861 010152' 260740 007666' CALL TYPCHR
5862 010153' 260740 007630' CALL BLANKT
5863 010154' 550440 000007 HRRZ T1,DOT
5864 010155' 260740 007535' CALL OCTYPE
5865 010156' 260740 007607' DUMP3: CALL COLTYP ;TYPE A COLON
5866 010157' 550440 000007 HRRZ T1,DOT
5867 010160' 405440 177760 ANDI T1,177760 ;IN CASE WAS HIGH
5868 010161' 202440 010225' MOVEM T1,DUMPA ;REMEMBER LAST ADR WE TYPED
5869 010162' 304000 000000 CAIA ;SO WE DO AN EXTRA TAB
5870 010163' 606340 000007 DUMP4: TRNN DOT,7
5871 010164' 260740 007615' CALL TABTYP
5872
5873 010165' 260740 010213' CALL DUMP6 ;GET NEXT WORD TO DUMP
5874 010166' 254000 010177' JRST DUMP8 ;ALL DONE
5875 010167' 260740 007123' CALL DATYPE ;DUMP LOCATION
5876 010170' 200440 040422' MOVE T1,DOTFOO
5877 010171' 402000 040422' SETZM DOTFOO
5878 010172' 260740 001674' CALL DOTINC
5879 010173' 202440 000007 MOVEM T1,DOT
5880 010174' 553000 000011 HRRZS T1
5881 010175' 317440 040511' CAMG T1,S..END
5882 010176' 254000 010137' JRST DUMP1
5883
5884 010177' 260740 007621' DUMP8: CALL CRLTYP
5885 010200' 260740 007621' CALL CRLTYP
5886 010201' 606400 000001 DUMP85: TXNN FLG,F.FLIP ;DON'T FLUSH IF LOGGING COMMANDS
5887 010202' 260740 006175' CALL DONE.W
5888 010203' 260740 007621' CALL CRLTYP
5889 010204' 260740 007621' CALL CRLTYP
5890 010205' 254000 000444' JRST LEVEL0
5891
5892 010206' 402000 006461' DUMP9: SETZM OHD
5893 627456 267744 TYPE <error writing >
5894 010207' 201440 044277'
5895 010210' 260740 007655'
5896 010211' 260740 006114' CALL FILERR
5897 010212' 254000 000444' JRST LEVEL0
5898
5899 ;HERE TO USE DOT TO GET THE NEXT WORD FROM PDP11 (AND LOAD CACHE)
5900 ; CALL CALL DUMP6
5901 ; LOSE RETURN
5902 ; WIN RETURN DATA IN T1
5903 010213' 550440 000007 DUMP6: HRRZ T1,DOT ;GET ADDRESS TO EXAMINE
5904 010214' 200500 040511' MOVE T2,S..END
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 124-1
DDT11 MAC 18-May-81 17:27 DUMP TO FILE
5905 010215' 274500 000011 SUB T2,T1
5906 010216' 301500 000140 CAIL T2,EXMAX
5907 000000 000140 SKIPA T2,[EXP EXMAX]
5908 010217' 334500 044302'
5909 010220' 271500 000002 ADDI T2,^D2
5910 010221' 260740 003354' CALL GETWRD
5911 010222' 263740 000000 RET
5912 010223' 202440 040464' MOVEM T1,DATA
5913 010224' 254000 005177' RETSKP
5914
5915 010225' DUMPA: BLOCK 1 ;LAST ADDRESS TYPED OUT
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 125
DDT11 MAC 18-May-81 17:27 DUMP TO FILE
5916 DEFINE NAMES <
5917 X DISASS,SETFOO ;/DISASSEMBLY
5918 >;DEFINE NAMES
5919 DEFINE X (A,B) < 0,,B >
5920 010226' 000000 000153' DMPDSP: NAMES
5921
5922 DEFINE X (A,B) < SIXBIT \A\ >
5923 010227' 445163 416363 DMPSWL: NAMES
5924 010230' 000000 000000 EXP 0
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 126
DDT11 MAC 18-May-81 17:27 DUMP TO FILE
5925 ;HERE TO SETUP FOR CALL TO OPNFIL
5926 010231' 660400 030000 ESC.D0: TXO FLG,F.WRIT!F.APND ;REMEMBER WE ARE WRITING
5927 010232' 561440 000003 HRROI T1,3
5928 010233' 047440 000041 GETTAB T1, ;GET NAME OF JOB
5929 444464 212100 MOVE T1,[SIXBIT \DDT11\]
5930 010234' 200440 043354'
5931 010235' 205500 546344 MOVSI T2,'LSD'
5932 010226' 010227' MOVE T3,[DMPDSP,,DMPSWL]
5933 010236' 200540 044303'
5934 010237' 201600 005177' MOVEI T4,RSKP
5935 010240' 263740 000000 RET
5936
5937 ;HERE TO PUT A TITLE LINE ON A DUMP
5938 064241 400000 ESC.D3: MOVEI T1,[BYTE (7)15,12,14,0]
5939 010241' 201440 044304'
5940 010242' 260740 007655' CALL TYPSTR
5941 623535 570100 TYPE <dump made >
5942 010243' 201440 044305'
5943 010244' 260740 007655'
5944 010245' 260740 010001' CALL TIMTYP ;TYPE TIME
5945 010246' 260740 007630' CALL BLANKT
5946 010247' 260740 007745' CALL DATETY ;TYPE DATE
5947 203374 620136 TYPE < of />
5948 010250' 201440 044310'
5949 010251' 260740 007655'
5950 605762 643200 MOVE T1,[SIXBIT \PORT:\]
5951 010252' 200440 044312'
5952 010253' 332000 011147' SKIPE MEMORY
5953 465154 453200 MOVE T1,[SIXBIT \FILE:\]
5954 010254' 200440 044313'
5955 010255' 332000 040456' SKIPE NODE
5956 565744 453200 MOVE T1,[SIXBIT \NODE:\]
5957 010256' 200440 044314'
5958 010257' 260740 007600' CALL SIXTYP
5959 010260' 332000 011147' SKIPE MEMORY
5960 201440 011051' JRST [ MOVEI T1,DMPDEV
5961 260740 006124' CALL FILTYP ;TYPE FILE ID
5962 254000 010270' JRST ESC.D4 ]
5963 010261' 254000 044315'
5964 010262' 336440 040456' SKIPN T1,NODE
5965 010263' 550440 040455' HRRZ T1,PORT
5966 010264' 201500 007535' MOVEI T2,OCTYPE
5967 010265' 603440 777777 TLNE T1,-1
5968 010266' 201500 007600' MOVEI T2,SIXTYP
5969 010267' 260752 000000 CALL (T2)
5970 ESC.D4: TYPE <
5971 064241 161362 by >
5972 010270' 201440 044320'
5973 010271' 260740 007655'
5974 010272' 260740 007701' CALL IDTYPE
5975 010273' 260740 007621' CALL CRLTYP
5976 010274' 260740 007621' CALL CRLTYP
5977 010275' 263740 000000 RET
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 127
DDT11 MAC 18-May-81 17:27 DUMP TO A BINARY FILE
5978 SUBTTL DUMP TO A BINARY FILE
5979
5980 010276' 660400 410000 ESC..P: TXO FLG,F.WRIT!F.PACK ;REMEMBER WE ARE WRITING
5981 010277' 620400 020000 TXZ FLG,F.APND
5982 536265 466400 MOVE T1,[SIXBIT /KRUFT/] ;DEFAULT FILE NAME
5983 010300' 200440 044322'
5984 010301' 205500 425156 MOVSI T2,'BIN' ;DEFAULT EXTENSION
5985 010464' 010470' MOVE T3,[PUNDSP,,PUNSWL]
5986 010302' 200540 044323'
5987
5988 010303' 400600 000000 SETZ T4,
5989 010304' 402000 042175' SETZM PROM.F#
5990 010305' 260740 005641' CALL OPNFIL ;OPEN FILE
5991 010306' 254000 000444' JRST LEVEL0
5992 010307' 332440 042175' SKIPE T1,PROM.F#
5993 010310' 254000 010505' JRST PROM
5994 010311' 201440 000022 MOVEI T1,^D18 ;ASSUME HALFWORD WRITES
5995 010312' 606400 400000 TXNN FLG,F.PACK ;UNLESS DOING PAPER TAPE
5996 010313' 201440 000044 MOVEI T1,^D36 ;IN WHICH CASE DO FULL WORDS
5997 300600 006462' DPB T1,[POINT 6,OHD+1,11]
5998 010314' 137440 044324'
5999 010315' 200340 040510' MOVE DOT,SBEGIN
6000 010316' 402000 040710' SETZM CACHEL ;SWEEP THE CACHE
6001 010317' 660400 004000 TXO FLG,F.CACH ;CAN USE THE CACHE FROM NOW ON
6002 010320' 400600 000000 ESCP00: SETZ T4, ;NUMBER OF BYTES FOR CURRENT SEGMENT
6003 010321' 550540 000007 HRRZ T3,DOT ;NEXT ADR TO GET
6004 010322' 200440 000013 ESCP02: MOVE T1,T3 ;NEXT ADR TO EXAMINE
6005 010323' 231440 000044 IDIVI T1,^D36
6006 010324' 261740 000011 PUSH P,T1 ;SAVE RELATIVE PDP10 WORD ADR
6007 010325' 210440 000012 MOVN T1,T2
6008 010326' 205500 400000 MOVSI T2,400000 ;MAKE BIT FOR WORD
6009 010327' 242511 000000 LSH T2,(T1) ; MAKE IT RIGHT BIT
6010 010330' 262740 000011 POP P,T1 ;GET RELATIVE WORD ADR AGAIN
6011 010331' 616520 011151' TDNN T2,@MEMUSE
6012 010332' 254000 010344' JRST ESCP10 ;WORD NOT IN USE
6013 010333' 200440 000013 MOVE T1,T3 ;NEXT ADR TO EXAMINE
6014 010334' 201500 000001 MOVEI T2,1 ;ONLY WANT ONE BYTE
6015 010335' 260740 003354' CALL GETWRD ;TRY TO GET THE WORD
6016 010336' 254000 010344' JRST ESCP10
6017 010337' 350000 000014 AOS T4 ;ANOTHER WORD TO DUMP
6018 010340' 311540 040511' CAML T3,S..END
6019 010341' 254000 010344' JRST ESCP10 ;DONE
6020 010342' 305600 000400 CAIGE T4,^D256
6021 010343' 344540 010322' AOJA T3,ESCP02
6022 010344' 326600 010346' ESCP10: JUMPN T4,ESCP11 ;ANY BYTES
6023 010345' 344340 010411' AOJA DOT,ESCP20 ;NO SO ADVANCE WHERE TO DUMP FROM
6024 010346' 400640 000000 ESCP11: SETZ T5, ;INITIALIZE THE CHECKSUM
6025 010347' 201440 000001 MOVEI T1,1
6026 010350' 260740 010431' CALL WRTWRD ;WRITE BINARY WORD
6027 010351' 200440 000014 MOVE T1,T4 ;COUNT FOR SEGMENT
6028 010352' 271440 000006 ADDI T1,6
6029 010353' 260740 010431' CALL WRTWRD
6030 010354' 550440 000007 HRRZ T1,DOT
6031 010355' 260740 010431' CALL WRTWRD
6032 010356' 550440 000007 ESCP12: HRRZ T1,DOT
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 127-1
DDT11 MAC 18-May-81 17:27 DUMP TO A BINARY FILE
6033 010357' 350000 000007 AOS DOT
6034 010360' 201500 000001 MOVEI T2,1
6035 010361' 260740 003354' CALL GETWRD
6036 010362' 047000 000012 EXIT
6037 010363' 363600 010402' SOJLE T4,ESCP16
6038 010364' 261740 000011 PUSH P,T1 ;SAVE DATA
6039 010365' 550440 000007 HRRZ T1,DOT
6040 010366' 350000 000007 AOS DOT
6041 010367' 201500 000001 MOVEI T2,1
6042 010370' 260740 003354' CALL GETWRD
6043 010371' 047000 000012 EXIT
6044 101017 000000 DPB T1,[POINT 8,(P),27]
6045 010372' 137440 044325'
6046 010373' 262740 000011 POP P,T1
6047 010374' 260740 010431' CALL WRTWRD
6048 010375' 367600 010356' SOJG T4,ESCP12
6049 010376' 200440 000015 MOVE T1,T5 ;GET CHECKSUM
6050 010377' 405440 000377 ANDI T1,377 ;STRIP EXTRA BITS
6051 010400' 260740 010431' CALL WRTWRD
6052 010401' 254000 010405' JRST ESCP19
6053 010402' 274640 000011 ESCP16: SUB T5,T1 ;INCLUDE LAST CHAR IN CHECKSUM
6054 101000 000011 DPB T5,[POINT 8,T1,27]
6055 010403' 137640 043063'
6056 010404' 260740 010431' CALL WRTWRD
6057
6058 010405' 400440 000000 ESCP19: SETZ T1, ;ADD PAD BETWEEN SEQMENTS
6059 010406' 260740 010431' CALL WRTWRD
6060 010407' 260740 010431' CALL WRTWRD
6061 010410' 260740 010431' CALL WRTWRD
6062 010411' 550440 000007 ESCP20: HRRZ T1,DOT
6063 010412' 315440 040511' CAMGE T1,S..END
6064 010413' 254000 010320' JRST ESCP00
6065 010414' 400640 000000 SETZ T5, ;INITIALIZE THE CHECKSUM
6066 010415' 201440 000001 MOVEI T1,1
6067 010416' 260740 010431' CALL WRTWRD
6068 010417' 201440 000006 MOVEI T1,6
6069 010420' 260740 010431' CALL WRTWRD
6070 010421' 336440 040433' SKIPN T1,GOTO ;STARTING ADDRESS
6071 010422' 201440 000001 MOVEI T1,1
6072 010423' 260740 010431' CALL WRTWRD
6073 010424' 200440 000015 MOVE T1,T5
6074 010425' 405440 000377 ANDI T1,377
6075 010426' 260740 010431' CALL WRTWRD
6076 010427' 260740 006175' CALL DONE.W ;CLOSE OUTPUT FILE
6077 010430' 254000 000451' JRST LEVEL2
6078
6079 010431' 274640 000011 WRTWRD: SUB T5,T1
6080 010432' 241440 777770 ROT T1,-^D8
6081 010433' 274640 000011 SUB T5,T1
6082 010434' 241440 000010 ROT T1,^D8
6083 010435' 606400 400000 TXNN FLG,F.PACK ;PUNCHING TAPE ?
6084 010436' 254000 010444' JRST WRTBN4
6085 010437' 375000 006463' SOSGE OHD+2 ;IS THERE ROOM IN BUFFER ?
6086 010440' 260740 010457' CALL WRTBN9 ;NO ROOM
6087 010441' 405440 177777 ANDI T1,177777 ;STRIP EXTRA BITS
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 127-2
DDT11 MAC 18-May-81 17:27 DUMP TO A BINARY FILE
6088 010442' 136440 006462' IDPB T1,OHD+1 ;PUT WORD INTO BUFFER
6089 010443' 263740 000000 RET
6090 010444' 375000 006463' WRTBN4: SOSGE OHD+2 ;ROOM FOR LOW ORDER BITS ?
6091 010445' 260740 010457' CALL WRTBN9
6092 010446' 261740 000011 PUSH P,T1
6093 010447' 405440 000377 ANDI T1,377 ;ONLY 8 BITS
6094 010450' 136440 006462' IDPB T1,OHD+1
6095 010451' 262740 000011 POP P,T1
6096 101000 000011 LDB T1,[POINT 8,T1,27]
6097 010452' 135440 043063'
6098 010453' 375000 006463' SOSGE OHD+2
6099 010454' 260740 010457' CALL WRTBN9
6100 010455' 136440 006462' IDPB T1,OHD+1
6101 010456' 263740 000000 RET
6102 010457' 370017 000000 WRTBN9: SOS (P)
6103 010460' 370017 000000 SOS (P)
6104 010461' 057000 000000 OUT
6105 010462' 263740 000000 RET
6106 010463' 254000 006114' JRST FILERR ;COMPLAIN
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 128
DDT11 MAC 18-May-81 17:27 DUMP TO A BINARY FILE
6107 DEFINE NAMES <
6108 X BM873,PUNBM8
6109 X IMAGE,PUNIMG
6110 X M9301,PUNM93
6111 X PACKED,PUNPAK
6112 >
6113 DEFINE X (Q,QQ) < EXP QQ >
6114 010464' 000000 010500' PUNDSP: NAMES
6115 010465' 000000 010475'
6116 010466' 000000 010502'
6117 010467' 000000 010476'
6118 DEFINE X (Q,QQ) < SIXBIT \Q\ >
6119 010470' 425530 272300 PUNSWL: NAMES
6120 010471' 515541 474500
6121 010472' 553123 202100
6122 010473' 604143 534544
6123 010474' 000000 000000 EXP 0
6124
6125 010475' 624400 400000 PUNIMG: TXZA FLG,F.PACK
6126 010476' 660400 400000 PUNPAK: TXO FLG,F.PACK
6127 010477' 263740 000000 RET
6128
6129 010500' 474440 000000 PUNBM8: SETO T1,
6130 010501' 304000 000000 CAIA
6131 010502' 201440 000001 PUNM93: MOVEI T1,1
6132 010503' 202440 042175' MOVEM T1,PROM.F#
6133 010504' 263740 000000 RET
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 129
DDT11 MAC 18-May-81 17:27 DUMP TO A BINARY FILE
6134 010505' 260740 010520' PROM: CALL PROM.2
6135 010506' 300000 000000 NOP
6136 010507' 260740 010520' CALL PROM.2
6137 010510' 242440 777774 LSH T1,-^D4
6138 010511' 337000 042175' SKIPG PROM.F ;SKIP IF M9301
6139 010512' 254000 010201' JRST DUMP85
6140 010513' 260740 010520' CALL PROM.2
6141 010514' 242440 777770 LSH T1,-^D8
6142 010515' 260740 010520' CALL PROM.2
6143 010516' 242440 777764 LSH T1,-^D12
6144 010517' 254000 010201' JRST DUMP85
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 130
DDT11 MAC 18-May-81 17:27 DUMP TO A BINARY FILE
6145 010520' 201440 000377 PROM.2: MOVEI T1,377
6146 010521' 260740 007666' CALL TYPCHR
6147 010522' 200340 040510' MOVE DOT,SBEGIN
6148 010523' 201600 000200 MOVEI T4,^D128 ;FOR BM873
6149 010524' 331000 042175' SKIPL PROM.F
6150 010525' 201600 000400 MOVEI T4,^D256 ;FOR M9301
6151 010526' 550440 000007 PROM.4: HRRZ T1,DOT
6152 010527' 201500 000002 MOVEI T2,2 ;REQUEST 2 BYTES
6153 010530' 260740 003354' CALL GETWRD
6154 010531' 400440 000000 SETZ T1,
6155 010532' 640440 777001 TRC T1,777001
6156 010533' 256037 000000 XCT @(P)
6157 010534' 335000 042175' SKIPGE PROM.F#
6158 010535' 261740 000011 PUSH P,T1
6159 010536' 405440 000017 ANDI T1,17
6160 010537' 260740 007666' CALL TYPCHR
6161 010540' 331000 042175' SKIPL PROM.F
6162 010541' 254000 010546' JRST PROM.6
6163 010542' 262740 000011 POP P,T1
6164 010543' 242440 777770 LSH T1,-^D8
6165 010544' 405440 000017 ANDI T1,17
6166 010545' 260740 007666' CALL TYPCHR
6167 010546' 271340 000002 PROM.6: ADDI DOT,2
6168 010547' 367600 010526' SOJG T4,PROM.4
6169 010550' 335000 042175' SKIPGE PROM.F
6170 010551' 254000 010566' JRST PROM.9 ;DON'T NEED FOR BM873
6171
6172 010552' 560340 040511' HRRO DOT,S..END
6173 010553' 201600 000400 MOVEI T4,^D256
6174 010554' 550440 000007 PROM.8: HRRZ T1,DOT
6175 010555' 201500 000002 MOVEI T2,2
6176 010556' 260740 003354' CALL GETWRD
6177 010557' 400440 000000 SETZ T1,
6178 010560' 640440 777001 TRC T1,777001
6179 010561' 256037 000000 XCT @(P)
6180 010562' 405440 000017 ANDI T1,17
6181 010563' 260740 007666' CALL TYPCHR
6182 010564' 271340 000002 ADDI DOT,2
6183 010565' 367600 010554' SOJG T4,PROM.8
6184
6185 010566' 201600 000400 PROM.9: MOVEI T4,^D256
6186 010567' 400440 000000 SETZ T1,
6187 010570' 260740 007666' CALL TYPCHR
6188 010571' 365600 010570' SOJGE T4,.-1
6189 010572' 350017 000000 AOS (P)
6190 010573' 263740 000000 RET
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 131
DDT11 MAC 18-May-81 17:27 DUMP TO A BINARY FILE
6191 ;HERE TO GET A CHARACTER IN LINE MODE
6192 010574' 332000 003275' RDCHAR: SKIPE CMDFIL ;ARE WE DOING COMMAND FILE STUFF ?
6193 010575' 260740 003172' CALL CMDCHR ;GET A COMMAND FILE CHAR
6194 010576' 051200 000011 INCHWL T1 ;GET THE NEXT CHAR
6195 010577' 306440 000032 CAIN T1,32 ;IS THIS A CONTROL Z ?
6196 010600' 047000 000012 EXIT
6197 010601' 260740 010622' CALL GETCH8
6198 010602' 254000 010574' JRST RDCHAR
6199 010603' 263740 000000 RET
6200
6201 ;HERE TO GET A CHARACTER FROM THE TTY
6202 010604' 332440 040632' GETCHR: SKIPE T1,CMDTKR ;ARE WE RETYPING COMMAND LINE ?
6203 010605' 254000 010614' JRST GETCH3 ;YES SO DO IT THAT WAY
6204 010606' 332000 003275' SKIPE CMDFIL ;ARE WE DOING COMMAND FILE STUFF ?
6205 010607' 260740 003172' CALL CMDCHR ;GET A COMMAND FILE CHAR
6206 010610' 051000 000011 INCHRW T1 ;GET THE NEXT CHAR
6207 010611' 260740 010622' GETCH1: CALL GETCH8
6208 010612' 254000 010604' JRST GETCHR
6209 010613' 263740 000000 RET
6210
6211 010614' 312440 040633' GETCH3: CAME T1,CMDLIM ;RETYPED ENOUGH YET ?
6212 010615' 254000 010620' JRST GETCH4 ;NOT YET
6213 010616' 402000 040632' SETZM CMDTKR ;DONE WITH TAKER
6214 010617' 254000 010604' JRST GETCHR
6215 010620' 134440 040632' GETCH4: ILDB T1,CMDTKR
6216 010621' 254000 010611' JRST GETCH1
6217
6218 010622' 322440 005200' GETCH8: JUMPE T1,R ;FLUSH NULLS
6219 010623' 606400 000100 TXNN FLG,F.TEXT ;DOING TEXT MODE STUFF ?
6220 010624' 302440 000015 CAIE T1,15 ;IS THIS A CARRIAGE RETURN ?
6221 010625' 254000 010632' JRST GETCH9
6222 010626' 260740 010604' CALL GETCHR ;GET LF
6223 010627' 306440 000015 CAIN T1,15 ;WAS THIS A 2ND CR ?
6224 010630' 254000 010622' JRST GETCH8 ;YES SO FLUSH IT ALSO
6225 010631' 201440 000015 MOVEI T1,15 ;CONVERT LF TO CR
6226 010632' 254000 005177' GETCH9: RETSKP
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 132
DDT11 MAC 18-May-81 17:27 /FILE: HANDLING
6227 SUBTTL /FILE: HANDLING
6228
6229 ;HERE BECAUSE FOUND /FILE IN RESPONSE INITIAL DIAGLOGUE
6230 ; READ EITHER A BOOT11 OR NETLDR DUMP OR A BINARY FILE
6231
6232 010633' 403440 000012 RDDUMP: SETZB T1,T2 ;IN CASE CORE NOT SETUP YET
6233 010634' 337000 011150' SKIPG MEMLIM ;ANYTHING PUT IN MEMORY YET ?
6234 010635' 260740 004177' CALL PUTFOO ;NO SO MAKE SOME CORE
6235 010636' 400040 000000 SETZ AC1, ;HIGHEST LOCATION SO FAR
6236 604460 705120 MOVE T1,[SIXBIT \PDPXI0\] ;DEFAULT FILE NAME
6237 010637' 200440 044326'
6238 546344 425156 MOVE T2,[SIXBIT \LSDBIN\] ;DEFAULT EXTENSION
6239 010640' 200500 042213'
6240 010641' 602400 000002 TXNE FLG,F.FLOP ;READING BINARY FILE ?
6241 010642' 205500 425156 MOVSI T2,'BIN' ;DEFAULT EXTENSION FOR BIN FILES
6242 006213' 011051' MOVE T1,[FILDEV,,DMPDEV]
6243 010643' 200440 044327'
6244 010644' 251440 011070' BLT T1,DMPDEV+$FBLEN-1 ;COPY FILDEV, FILNAM, FILEXT, FILPPN, FILTIM
6245 446445 442020 MOVE T1,[SIXBIT /DTED00/];IF FILE STARTS WITH DTED, ASSUME BIN
6246 010645' 200440 044330'
6247 010646' 430440 006216' XOR T1,FILNAM
6248 777777 770000 TDNN T1,[XWD -1,770000] ;MASK DOR "DTED"
6249 010647' 616440 044331'
6250 606400 000002 JRST [ TXNN FLG,F.FLOP ;IF NOT "/BINARY"
6251 660400 000004 TXO FLG,F..FOO ;SAY /DTE FOR HIM
6252 254000 010651' JRST .+1]
6253 010650' 254000 044332'
6254 010651' 602400 000004 TXNE FLG,F..FOO ;IS IT /DTE?
6255 010652' 254000 010725' JRST RDTDMP ;YES, READ THE DUMP
6256 010653' 554440 006217' HLRZ T1,FILEXT ;GET FILE EXTENSION
6257 010654' 302440 425143 CAIE T1,'BIC' ;OTHER WAY TO SPELL BIN
6258 010655' 306440 425156 CAIN T1,'BIN' ;DID WE READ A BINARY FILE ?
6259 010656' 660400 000002 TXO FLG,F.FLOP ;YES SO READING BINARY FILE
6260 010657' 403640 000014 SETZB T5,T4 ;ACCUMULATE CHECKSUM HERE
6261 010660' 602400 000004 TXNE FLG,F..FOO ;DID WE GET A /DTELDR
6262 010661' 254000 010725' JRST RDTDMP ;YES SO GO READ IT
6263 010662' 626400 000002 TXZN FLG,F.FLOP ;READING A BINARY FILE ?
6264 010663' 254000 011071' JRST RDUMP0 ;NO READING A DUMP
6265
6266 010664' 201440 000044 MOVEI T1,^D36 ;WANT 36BIT HEADERS
6267 010665' 260740 010763' CALL SETIHD ;SO SET EM
6268
6269 ;HERE TO LOOK FOR INITIAL 1
6270 010666' 260740 011010' RDBN10: CALL RDBN70 ;GET NEXT CHAR
6271 010667' 254000 011132' JRST RDUMP9 ;ALL DONE
6272 010670' 322440 010666' JUMPE T1,RDBN10 ;LOOP ON HEADER
6273 010671' 302440 000001 CAIE T1,1 ;IS THIS LEADING 1 ?
6274 010672' 254000 011046' JRST RDBNER ;ERROR IN FORMAT
6275 010673' 260740 011010' CALL RDBN70 ;GET NEXT WORD = 0
6276 010674' 254000 011046' JRST RDBNER ;ERROR IN FORMAT
6277 010675' 326440 011046' JUMPN T1,RDBNER
6278 010676' 260740 010777' CALL RDBN60 ;GET 16BIT WORD = COUNT
6279 010677' 201551 777772 MOVEI T3,-6(T1) ;MAKE BYTE COUNT
6280 010700' 260740 010777' CALL RDBN60 ;GET 16BIT WORD = ADR
6281 010701' 200500 000011 MOVE T2,T1 ;COPY ADDRESS
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 132-1
DDT11 MAC 18-May-81 17:27 /FILE: HANDLING
6282 010702' 620400 000001 TXZ FLG,F.FLIP ;NO DATA MAYBE
6283 010703' 322540 010714' JUMPE T3,RDBN30
6284 010704' 660400 000001 RDBN20: TXO FLG,F.FLIP ;THIS SEGMENT HAD DATA
6285 010705' 260740 011010' CALL RDBN70 ;GET NEXT BYTE TO STUFF
6286 010706' 254000 011046' JRST RDBNER
6287 010707' 313500 000001 CAMLE T2,AC1
6288 010710' 550040 000012 HRRZ AC1,T2 ;NEW HIGHEST LOCATION LOADED
6289 010711' 260740 004177' CALL PUTFOO ;PUT BYTE INTO MEMORY
6290 010712' 350000 000012 AOS T2 ;ADVANCE LOCATION COUNTER
6291 010713' 367540 010704' SOJG T3,RDBN20
6292 010714' 260740 010777' RDBN30: CALL RDBN60 ;INCLUDE CHECKSUM IN CALC
6293 010715' 602640 000377 TRNE T5,377 ;TEST CHECKSUM
6294 416210 541626 JRST [ TYPE <CHECKSUM ERROR>
6295 201440 044335'
6296 260740 007655'
6297 047000 000012 EXIT ]
6298 010716' 254000 044340'
6299 010717' 602400 000001 TXNE FLG,F.FLIP
6300 010720' 254000 010666' JRST RDBN10 ;PROBABLY MORE DATA
6301 010721' 405500 177776 ANDI T2,177776 ;ONLY 16 BITS & EVEN
6302 010722' 202500 040433' MOVEM T2,GOTO ;SAVE STARTING ADDRESS
6303 010723' 202500 011207' MOVEM T2,SIMREG+PC ;SET INITIAL PC
6304 010724' 254000 011132' JRST RDUMP9
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 133
DDT11 MAC 18-May-81 17:27 /FILE: HANDLING
6305 ;HERE TO READ A DTELDR DUMP
6306 ;TO DO THIS PROPERLY, THE LENGTH OF THE FILE SHOULD BE READ
6307 ; VERIFIED TO BE 34000 WORDS. THE FIRST WORD SHOULD ALSO HAVE
6308 ; THE SIGN BIT ON.
6309 ;DTELDR DUMPS ARE (BY BLIND LUCK) IN THE SAME FORMAT AS DDT11'S
6310 ; INTERNAL MEMORY REPRESENTATION.
6311 010725' 260740 005303' RDTDMP: CALL POSYMT ;MAKE SURE THE SYMTAB IS WHER EIT OUGHT
6312 010726' 261740 041115' PUSH P,SYMBEG ;SAVE WHAT WILL BE THE START OF MEMUSE
6313 010727' 201440 037071 MOVEI T1,<160000/4>+<160043/44> ;SIZE OF MEMUSE + MEMORY
6314 010730' 260740 005321' CALL MOVSMT ;GET THE ROOM.
6315
6316 010731' 262740 000011 POP P,T1 ;FIRST FREE LOC BACK
6317 010732' 505440 000011 HRLI T1,T1 ;GET THE INCESTUOUS POINTER
6318 010733' 202440 011151' MOVEM T1,MEMUSE ; AND SAVE POINTER TO MEMUSE TABLE
6319 010734' 271440 003071 ADDI T1,160043/44 ;RELOCATE BY THE SIZE OF MEMUSE
6320 010735' 552440 011147' HRRZM T1,MEMORY ; AND SAVE POINTER TO START OF MEMORY
6321
6322 010736' 550440 011151' HRRZ T1,MEMUSE ;GET BACK ADDRESS OF USE TABLE
6323 010737' 504500 000011 HRL T2,T1 ;MAKE A BLT POINTER TO
6324 010740' 541511 000001 HRRI T2,1(T1) ; TO THE USE TABLE
6325 010741' 476011 000000 SETOM (T1) ;BLT ALL BUT THE LAST WORD
6326 010742' 251511 003067 BLT T2,<160000/44>-1(T1) ;TO "IN USE"
6327 777777 777760 MOVE T2,[EXP -1_<44-<160000-<160000/44>*44>>] ;GET AND
6328 010743' 200500 044343'
6329 010744' 202511 003070 MOVEM T2,160043/44-1(T1) ; STORE MASK FOR LAST WORD
6330
6331 010745' 205440 744000 MOVSI T1,-<160000/4> ;NOW AN IOWD TO THE
6332 010746' 540440 011147' HRR T1,MEMORY ; MEMORY
6333 010747' 370000 000011 SOS T1 ; FOR A QUICK "IN"
6334 010750' 400500 000000 SETZ T2, ;TERMINATE THE COMMAND LIST
6335 010751' 060040 000017 SETSTS 1,.IODMP ;SET DUMP MODE IO
6336 010752' 074040 000001 USETI 1,1 ;GO TO THE FIRST BLOCK
6337 010753' 056040 000011 IN 1,T1 ;READ THE FILE
6338 010754' 304000 000000 CAIA ; OK
6339 010755' 260740 006730' PUSHJ P,IFILER ;REPORT THE ERROR
6340 010756' 071040 000000 RELEAS 1, ;DONE WITH THE FILE
6341 010757' 201040 157777 MOVEI AC1,157777 ;SET HIGHEST ADDRESS LOADED
6342 010760' 202040 000007 MOVEM AC1,DOT ;REMEMBER WHERE WE ARE AS WELL
6343 010761' 202040 011150' MOVEM AC1,MEMLIM ;SET THE TOP OF MEMORY
6344 010762' 254000 011132' JRST RDUMP9 ;DONE
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 134
DDT11 MAC 18-May-81 17:27 /FILE: HANDLING
6345 ;HERE TO SET BYTE SIZE FOR INPUT HEADER
6346 ; CALL MOVEI T1,<BYTE SIZE>
6347 ; CALL SETIHD
6348 300600 006234' SETIHD: LDB T3,[POINT 6,IHD+1,11] ;GET S FIELD FROM INPUT POINTER
6349 010763' 135540 044344'
6350 300600 006234' DPB T1,[POINT 6,IHD+1,11] ;SET NEW S FIELD
6351 010764' 137440 044344'
6352 010765' 201500 000044 MOVEI T2,^D36
6353 010766' 231513 000000 IDIVI T2,(T3) ;FIND NUMBER OF BITS/BYTE CURRENT
6354 010767' 202440 000013 MOVEM T1,T3 ;SAVE NEW SIZE
6355 010770' 200440 006235' MOVE T1,IHD+2 ;NUMBER OF BYTES IN CURRENT BUFFER
6356 010771' 231452 000000 IDIVI T1,(T2) ;MAKE NUMBER OF WORDS IN CURRENT BUFFER
6357 010772' 201500 000044 MOVEI T2,^D36
6358 010773' 231513 000000 IDIVI T2,(T3) ;GET NUMBER OF BYTES/WORD IN NEW SIZE
6359 010774' 221452 000000 IMULI T1,(T2) ;NUMBER OF BYTES OF NEW SIZE
6360 010775' 202440 006235' MOVEM T1,IHD+2 ;SAVE IT
6361 010776' 263740 000000 RET
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 135
DDT11 MAC 18-May-81 17:27 /FILE: HANDLING
6362 ;HERE TO GET SIXTEEN BITS
6363 010777' 260740 011010' RDBN60: CALL RDBN70 ;GET LOW ORDER BITS
6364 011000' 254000 011046' JRST RDBNER
6365 011001' 261740 000012 PUSH P,T2
6366 011002' 246440 777770 LSHC T1,-^D8 ;SHOVE EM INTO T2
6367 011003' 260740 011010' CALL RDBN70 ;GET HIGH ORDER BITS
6368 011004' 254000 011046' JRST RDBNER
6369 011005' 245440 000010 ROTC T1,^D8 ;ADD LOW ORDER BITS
6370 011006' 262740 000012 POP P,T2
6371 011007' 263740 000000 RET ;RETURN TO CALLER
6372
6373 ;HERE TO GET NEXT BYTE FROM BINARY FILE
6374 011010' 322600 011014' RDBN70: JUMPE T4,RDBN74 ;HALF OF PREVIOUS WORD LEFT ?
6375 101000 000014 LDB T1,[POINT 8,T4,27] ;LOW ORDER BITS FROM PREV HLF WRD
6376 011011' 135440 043543'
6377 011012' 400600 000000 SETZ T4, ;DONE WITH HALF WORD
6378 011013' 254000 011023' JRST RDBN79
6379 011014' 375000 006235' RDBN74: SOSGE IHD+2 ;MORE DATA IN BUFFER ?
6380 011015' 254000 011026' JRST RDBN80 ;NO SO READ MORE
6381 011016' 134440 006234' ILDB T1,IHD+1
6382 011017' 606400 000002 TXNN FLG,F.FLOP ;IS THIS PACKED FILE ?
6383 011020' 254000 011023' JRST RDBN79 ;NO
6384 011021' 560600 000011 HRRO T4,T1 ;COPY HALF WORD
6385 001000 000014 LDB T1,[POINT 8,T4,35] ;GET HIGH ORDER BITS
6386 011022' 135440 044345'
6387 011023' 405440 000377 RDBN79: ANDI T1,377 ;STRIP EXTRA BITS
6388 011024' 271651 000000 ADDI T5,(T1) ;INCLUDE IN CHECKSUM
6389 011025' 254000 005177' RETSKP
6390
6391 011026' 056040 000000 RDBN80: IN 1, ;GET NEXT BUFFER
6392 011027' 254000 011031' JRST RDBN85 ;GOT NEXT BUFFER
6393 011030' 263740 000000 RET
6394 011031' 550440 006233' RDBN85: HRRZ T1,IHD ;GET ADDRES OF CURRENT BUFFER
6395 011032' 574451 000002 HLRE T1,2(T1) ;GET FIRST WORD IN BUFFER
6396 011033' 322440 011010' JUMPE T1,RDBN70 ;PROCEED
6397 011034' 660400 000002 TXO FLG,F.FLOP ;IS PACKED FILE
6398 300600 006234' LDB T1,[POINT 6,IHD+1,11] ;GET S FIELD FROM INPUT POINTER
6399 011035' 135440 044344'
6400 011036' 306440 000022 CAIN T1,^D18 ;HALF WORD POINTER
6401 011037' 254000 011010' JRST RDBN70 ;YES
6402 011040' 201440 000022 MOVEI T1,^D18
6403 300600 006234' DPB T1,[POINT 6,IHD+1,11] ;CHANGE POINTER
6404 011041' 137440 044344'
6405 011042' 200440 006235' MOVE T1,IHD+2 ;GET WORD COUNT
6406 011043' 242440 000001 LSH T1,1 ;MULTIPLY BY 2
6407 011044' 202440 006235' MOVEM T1,IHD+2
6408 011045' 254000 011010' JRST RDBN70
6409
6410 647336 071336 RDBNER: TYPE <improper format in input tape>
6411 011046' 201440 044346'
6412 011047' 260740 007655'
6413 011050' 047000 000012 EXIT
6414
6415 011051' 000000 000000 DMPDEV: EXP 0 ;DEVICE FOR DUMP FILE
6416 011052' 000000 000000 EXP 0 ; LENGTH OF LOOKUP/ENTER BLOCK
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 135-1
DDT11 MAC 18-May-81 17:27 /FILE: HANDLING
6417 011053' 000000 000000 DMPDIR: EXP 0 ; ADDRESS OF PATH BLOCK
6418 011054' 000000 000000 EXP 0 ; FILE NAME
6419 011055' 000000 000000 EXP 0 ; FILE EXTENSION
6420 011056' DMPTIM: BLOCK 1 ; TIME/DATE AND PROTECTION
6421 011057' DMPPTH: BLOCK 2+5+1 ; FILE DIRECTORY
6422 011067' BLOCK 1 ; SWITCHES WORD
6423 011070' BLOCK $FBLEN-<.-DMPDEV>
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 136
DDT11 MAC 18-May-81 17:27 /FILE: HANDLING
6424 ;ROUTINES TO READ BOOT11 OR NETLDR DUMPS
6425
6426 ;HERE TO FLUSH REST OF INPUT LINE
6427 011071' 260740 006707' RDUMP0: CALL FILCHR ;GET NEXT CHAR FROM DUMP
6428 011072' 254000 011132' JRST RDUMP9 ;END OF DUMP
6429 011073' 200500 000011 MOVE T2,T1 ;COPY CHAR
6430 011074' 302500 000012 RDUMP1: CAIE T2,12 ;WE ARE LOOKING FOR A LINE FEED
6431 011075' 306500 000015 CAIN T2,15 ;OR A CARRIAGE RETURN
6432 011076' 254000 011101' JRST RDUMP2
6433 011077' 302500 000014 CAIE T2,14 ;BUT A FORM FEED WILL DO
6434 011100' 254000 011071' JRST RDUMP0 ;AND DIDN'T FIND ONE
6435 011101' 260740 006752' RDUMP2: CALL INPOCT ;GET ADR
6436 011102' 254000 011132' JRST RDUMP9
6437 011103' 302500 000072 CAIE T2,":" ;FINISHED READING ADDRESS ?
6438 011104' 254000 011074' JRST RDUMP1 ;FLUSH LINE
6439 011105' 562440 000007 HRROM T1,DOT ;SAVE ADDRESS
6440 011106' 260740 006752' RDUMP5: CALL INPOCT ;GET DATA FOR LINE
6441 011107' 254000 011132' JRST RDUMP9 ;END OF DUMP
6442 011110' 306500 000040 CAIN T2,40 ;CHECK FOR SPACE
6443 011111' 254000 011116' JRST RDUMP6 ;THAT WAS DATA
6444 011112' 302500 000015 CAIE T2,15 ;CHECK FOR CR
6445 011113' 306500 000011 CAIN T2,11 ;CHECK FOR HT
6446 011114' 254000 011116' JRST RDUMP6 ;THAT WAS DATA
6447 011115' 254000 011074' JRST RDUMP1 ;FLUSH LINE
6448 011116' 550500 000007 RDUMP6: HRRZ T2,DOT ;GET ADDRESS
6449 011117' 313500 000001 CAMLE T2,AC1
6450 011120' 550040 000012 HRRZ AC1,T2 ;NEW HIGHEST LOCATION LOADED
6451 011121' 260740 004177' CALL PUTFOO
6452 011122' 332000 040432' SKIPE PDP8F
6453 011123' 344340 011106' AOJA DOT,RDUMP5 ;YES SO BACK FOR MORE DATA
6454 011124' 242440 777770 LSH T1,-^D8
6455 011125' 350500 000007 AOS T2,DOT
6456 011126' 313500 000001 CAMLE T2,AC1
6457 011127' 550040 000012 HRRZ AC1,T2 ;NEW HIGHEST LOCATION LOADED
6458 011130' 260740 004177' CALL PUTFOO
6459 011131' 344340 011106' AOJA DOT,RDUMP5 ;BACK FOR MORE DATA
6460
6461 011132' 200440 011150' RDUMP9: MOVE T1,MEMLIM ;HIGHEST ADDRESS READ
6462 011133' 202440 040511' MOVEM T1,S..END ;END OF SEARCH
6463 203215 163720 TYPE < highest location is >
6464 011134' 201440 044354'
6465 011135' 260740 007655'
6466 011136' 200440 000001 MOVE T1,AC1 ;HIGHEST LOCATION LOADED
6467 011137' 260740 007076' CALL ADRTYP ;DISPLAY ADDRESS
6468 011140' 260740 007621' CALL CRLTYP ;TYPE A CR/LF
6469 011141' 201440 000433' MOVEI T1,RSTART
6470 011142' 202440 000000* MOVEM T1,.JBREN##
6471 011143' 660400 100000 TXO FLG,F.WENB ;SET WRITE ENABLE CAUSE SHOULDN'T HURT
6472 011144' 336000 042172' SKIPN MRGFLG ;WANTED TO MERGE ?
6473 011145' 254000 000435' JRST LEVL.0 ;NO SO START
6474 011146' 254000 005177' RETSKP
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 137
DDT11 MAC 18-May-81 17:27 /FILE: HANDLING
6475 ;PDP11 WORDS ARE STORED IN PDP10 MEMORY AS FOLLOWS
6476 ;
6477 ; 1 1 1 1 2 2 2 3
6478 ; 0 1 2 9 0 7 8 9 0 7 8 5
6479 ; +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6480 ; ! ! ! byte 1 ! byte 0 ! ! ! byte 3 ! byte 2 !
6481 ; +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6482 ;
6483 ;THE SPARE BITS ARE USED AS A FLAG TO SAY BYTE HAS BEEN USED
6484 ; I.E. BYTE WAS READ INTO FROM DUMP OR BINARY FILE OR WRITTEN BY USER
6485 ; E.G. IF BYTE 0 IS SET THEN BIT 1 IS SET AS A FLAG
6486
6487 011147' 000000 000000 MEMORY: EXP 0 ;ADDRESS OF DUMP MEMORY
6488 011150' 777777 777777 MEMLIM: EXP -1 ;HIGHEST LOCATION IN DUMP
6489 ; BIT ON IFF BYTE READ OR DEPOSITED
6490 011151' 000000 000000 MEMUSE: EXP 0 ;T1,,POINTER TO MEMORY USE TABLE
6491 ; FOR EACH BYTE IN SIMULATED MEMORY, BIT WILL
6492 ; BE SET IF BYTE SET BY LOAD OR USER
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 138
DDT11 MAC 18-May-81 17:27 SIMULATION
6493 SUBTTL SIMULATION
6494
6495 ;REGISTER USAGE
6496
6497 ;WHEN SIMULATING REGS 0-7 ARE USED FOR CORRESPONDING PDP11 REG'S
6498 ; REGISTERS ALWAYS CLEAR EXCEPT FOR BITS 20-35
6499 000006 SP= 6 ;SIMULATED STACK POINTER
6500 000007 PC= 7 ;SIMULATED PC
6501 ; PC MUST ALWAYS BE EVEN
6502 000013 MA= T3 ;CONTAINS LAST ADR SETUP UP BY CALLS THROUGH RFETCH
6503 ; SO RSTORE USES SAME LOC. WORD ADDRESSES ARE LOADED THEN
6504 ; ROTATED RIGHT 2 POSITIONS. BYTE ADDRESS ARE DIVIDED BY 4.
6505 ; REMAINDER OF DIVISION IS KEPT IN MA+1
6506 040000 MA..UN==040000 ;ADDRESS IS A UNIBUS DEVICE
6507 020000 MA..RG==020000 ;LOCATION IS REGISTER
6508 010000 MA..IO==010000 ;LOCATION IS IN PERIPHERAL AREA (I.E. 170000-177777)
6509 000015 IR= T5 ;CONTAINS INSTRUCTION WHEN SIMULATING
6510 000016 PS= 16 ;SIMULATED PS
6511 000020 PS...T==000020 ;TRAP BIT
6512 000010 PS...N==000010 ;RESULT WAS NEGATIVE
6513 000004 PS...Z==000004 ;RESULT WAS ZERO
6514 000002 PS...V==000002 ;RESULT WAS ARITH OVERFLOW
6515 000001 PS...C==000001 ;RESULT WAS A CARRY
6516
6517 011152' 050300 000016 P.PLVL: POINT 3,PS,30 ;BYTE POINTER TO GET PROCESSOR LEVEL
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 139
DDT11 MAC 18-May-81 17:27 SIMULATION
6518 ;MACRO TO REMEMBER REFERENCES TO SIMULATED CORE
6519 000000 RLMSIZ= 0
6520 DEFINE MEMREL (QQ) <
6521 IF2 <
6522 Q= .
6523 RELOC RLMTAB+RLMSIZ
6524 QQ,,Q
6525 RELOC Q
6526 >;IF2
6527 RLMSIZ= RLMSIZ+1
6528 >;DEFINE MEMREL
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 140
DDT11 MAC 18-May-81 17:27 SIMULATION
6529 ;MACRO TO GET A WORD FROM MEMORY
6530 ; FIRST ARG IS REGISTER TO USE AS AN INDEX
6531 ; 2ND ARG IS DESTINATION
6532 DEFINE LOAD (Q,QQ) <
6533 XLIST
6534 IFN <Q-PC> <
6535 TRNE Q,1
6536 JRST NXM... ;DO ODD ADDRESS TRAP
6537 >;IFN <Q-PC>
6538 IFN <MA-Q>,< HRRZ MA,Q > ;COPY REG SO WE CAN ROT IT
6539 MEMREL MEMLIM
6540 CAIL MA,0
6541 IFE <QQ-T1> <
6542 CALL IOLOAD
6543 LODRET==4 ;NUMBER OF INSTRUCTIONS TO SKIP
6544 >;IFE <QQ-T1>
6545 IFN <QQ-T1> <
6546 JRST [MOVEM T1,IOLT1S# ;SAVE T1
6547 CALL IOLOAD+2
6548 HRRZ QQ,T1
6549 MOVE T1,IOLT1S# ;RESTORE T1
6550 JRST .+LODRET+1]
6551 >;IFN <QQ-T1>
6552 ROT MA,-2
6553 SKIPGE MA
6554 MEMREL MEMORY
6555 SKIPA QQ,0(MA)
6556 MEMREL MEMORY
6557 HLRZ QQ,0(MA)
6558 ANDI QQ,177777 ;STRIP EXTRA BITS
6559 IFE <QQ-PC> <
6560 TRNE PC,1
6561 JRST NXM... ;DO ODD ADDRESS TRAP
6562 >;IFE <QQ-PC>
6563 >;DEFINE LOAD (Q,QQ)
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 141
DDT11 MAC 18-May-81 17:27 SIMULATION
6564 ;MACRO TO GET A BYTE FROM MEMORY
6565 ; FIRST ARG IS REGISTER TO USE AS AN INDEX
6566 ; 2ND ARG IS DESTINATION
6567 DEFINE BLOAD (Q,QQ) <
6568 XLIST
6569 IFN <MA-Q>,< HRRZ MA,Q > ;COPY REG SO WE CAN DIVIDE IT
6570 MEMREL MEMLIM
6571 CAIL MA,0
6572 CALL IOBLOD
6573 BLDRET==7 ;NUMBER OF INSTRUCTIONS TO SKIP
6574 LSHC MA,-2 ;IDIVI MA,4
6575 LSH MA+1,-^D34
6576 TRNE MA+1,2
6577 MEMREL MEMORY
6578 SKIPA QQ,0(MA) ;GET RH OF WORD
6579 MEMREL MEMORY
6580 HLRZ QQ,0(MA) ;GET LH OF WORD
6581 TRNE MA+1,1 ;WANT ODD BYTE ?
6582 LSH QQ,-^D8 ;YES
6583 ANDI QQ,377 ;STRIP EXTRA BITS
6584 >;DEFINE BLOAD (Q,QQ)
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 142
DDT11 MAC 18-May-81 17:27 SIMULATION
6585 ;MACRO TO STORE WORD OR BYTE IN MEMORY AFTER DOING LOAD FROM SAME LOCATION
6586 ; ADDRESS IS IN MA, DATA IS FOUND IN T1 (LH MAY BE NONZERO E.G. SBC)
6587
6588 DEFINE RSTORE (FLAG,TYPE) <
6589 XLIST
6590 IFE <<FLAG>&SMF.BY> < ;FOLLOWING FOR WORD MODE
6591 TLNE MA,MA..RG ;WAS LOCATION A REGISTER ?
6592 JRST [HRRM T1,(MA) ;DEPOSIT APPROPRIATE REG
6593 TRNN PC,1 ;IN CASE SET PC
6594 JRST SIM11 ;PC WAS GARBAGED
6595 JRST NXM... ] ;TAKE A TRAP
6596 TLNE MA,MA..IO ;WAS LOCATION AN IO REGISTER ?
6597 JRST [PUSH P,[EXP SIM11] ;PUSH RETURN ON STACK
6598 JRST IOR.'TYPE ] ;RESTORE WORD TO MEMORY
6599 SKIPGE MA
6600 JRST .+3
6601 MEMREL MEMORY
6602 HRLM T1,0(MA)
6603 JRST SIM11
6604 MEMREL MEMORY
6605 HRRM T1,0(MA)
6606 >;IFE <<FLAG>&SMF.BY>
6607
6608 IFN <<FLAG>&SMF.BY> < ;FOLLOWING FOR BYTE RESTORE
6609 TLNN MA,MA..RG ;WAS LOCATION A REGISTER ?
6610 JRST .+5 ;NOT A REGISTER
6611 DPB T1,[POINT 8,(MA),35] ;THIS IS SLOW BUT PROB BEST WAY
6612 TRNN PC,1 ;CHECK PC NOT POLLUTED
6613 JRST SIM11
6614 JRST NXM... ;TAKE A BUS TRAP
6615
6616 TLNE MA,MA..IO ;WAS LOCATION AN IO REGISTER ?
6617 JRST [PUSH P,[EXP SIM11] ;PUSH RETURN ON STACK
6618 JRST IOBR.'TYPE ] ;RESTORE BYTE TO MEMORY
6619 DPB T1,SIMPTR(MA+1) ;PUT BYTE BACK INTO MEMORY
6620 >;IFN <<FLAG>&SMF.BY>
6621 >;DEFINE RSTORE
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 143
DDT11 MAC 18-May-81 17:27 SIMULATION
6622 ;MACRO TO STORE A WORD IN MEMORY
6623 ; FIRST ARG IS REGISTER TO USE AS AN INDEX
6624 ; 2ND ARG IS DESTINATION
6625 DEFINE STORE (Q,QQ) <
6626 XLIST
6627 IFN <Q-PC> <
6628 TRNE Q,1
6629 JRST NXM... ;TAKE A BUS TRAP
6630 >;IFE <Q-PC>
6631 IFN <MA-Q>,< HRRZ MA,Q >
6632 MEMREL MEMLIM
6633 CAIL MA,0 ;BE SURE IN CORE
6634 JRST [IFN <T1-QQ>,< HRRZ T1,QQ>
6635 Z= 7
6636 IFE <Q-6> <Z=Z+2>
6637 PUSH P,[EXP .+Z]
6638 JRST IOSTOR ]
6639 IFE <Q-6>,<
6640 CAIGE MA,400 ;IS THIS A STACK VIOLATION ?
6641 JSR STCKVP ;RECORD VIOLATION (& RESTORE PS)
6642 >;IFE <Q-6>
6643 ROT MA,-2
6644 SKIPGE MA
6645 JRST .+3
6646 MEMREL MEMORY
6647 HRLM QQ,0(MA)
6648 JRST .+2
6649 MEMREL MEMORY
6650 HRRM QQ,0(MA)
6651 >;DEFINE STORE (Q,QQ)
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 144
DDT11 MAC 18-May-81 17:27 SIMULATION
6652 ;MACRO TO STORE A BYTE IN MEMORY
6653 ; FIRST ARG IS REGISTER TO USE AS AN INDEX
6654 ; 2ND ARG IS DESTINATION
6655 DEFINE BSTORE (Q,QQ) <
6656 XLIST
6657 IFN <MA-Q>,< HRRZ MA,Q >
6658 MEMREL MEMLIM
6659 CAIL MA,0 ;BE SURE IN CORE
6660 JRST [IFN <T1-QQ>,< HRRZ T1,QQ>
6661 Z= 4
6662 IFE <Q-6>,<Z=Z+2>
6663 PUSH P,[EXP .+Z]
6664 JRST IOBSTO ]
6665 IFE <Q-6>,<
6666 CAIGE MA,400 ;IS THIS A STACK VIOLATION ?
6667 JSR STCKVP ;RECORD VIOLATION (& RESTORE PS)
6668 >;IFE <Q-6>
6669 LSHC MA,-2 ;IDIVI MA,4
6670 LSH MA+1,-^D34
6671 DPB QQ,SIMPTR(MA+1) ;STORE BYTE IN MEMORY
6672 >;DEFINE BSTORE (Q,QQ)
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 145
DDT11 MAC 18-May-81 17:27 SIMULATION
6673 ;MACRO TO PUT PC AND PS ON STACK
6674 DEFINE INTSAV (VEC) <
6675 XLIST
6676 CAIG SP,177774
6677 CAIG SP,400-40
6678 JRST RSTACK ;RED STACK VIOLATION
6679 MOVEI SP,-4(SP)
6680 HRRZI MA,2(SP)
6681 STORE MA,PS ;SAVE PS ON STACK
6682 STORE SP,PC ;SAVE PC ON STACK
6683 MOVEI MA,VEC
6684 LOAD MA,T2 ;GET NEW PC IN TEMP REG
6685 MOVEI MA,2+VEC
6686 LOAD MA,T1 ;GET NEW PS
6687 ANDI T1,377 ;ONLY HAVE A RH
6688 EXCH PS,T1 ;SET NEW PS (AND PRESERVE OLD ONE)
6689 MOVE PC,T2 ;LOAD NEW PC
6690 CALL PS.CHK ;ADJUST FOR NEW PS LEVEL
6691 TRNE PC,1 ;BE SURE OK
6692 JRST NXM... ;TAKE A BUS TRAP
6693 >;DEFINE INTSAV
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 146
DDT11 MAC 18-May-81 17:27 SIMULATION
6694 DEFINE ADC. (FLAG) <
6695 JSR @RFETCH(IR) ;GET OPERAND
6696 TRZ PS,PS...N!PS...Z!PS...V
6697 TRZE PS,PS...C
6698 JRST .+6
6699 TRNE T1,100000
6700 TRO PS,PS...N
6701 JUMPN T1,SIM11
6702 TRO PS,PS...Z
6703 JRST SIM11
6704 AOS T1
6705 TRNE T1,100000
6706 TRO PS,PS...N
6707 TRZE T1,200000 ;OVERFLOW IFF WENT TO ZERO
6708 TRO PS,PS...Z!PS...C
6709 CAIN T1,100000
6710 TRO PS,PS...V
6711 RSTORE FLAG
6712 >
6713 DEFINE ADCB. (FLAG) <
6714 JSR @BRFTCH(IR) ;GET OPERAND
6715 TRZ PS,PS...N!PS...Z!PS...V
6716 TRZE PS,PS...C
6717 JRST .+6
6718 TRNE T1,000200
6719 TRO PS,PS...N
6720 JUMPN T1,SIM11
6721 TRO PS,PS...Z
6722 JRST SIM11
6723 AOS T1
6724 TRNE T1,000200
6725 TRO PS,PS...N
6726 TRZE T1,000400 ;OVERFLOW IFF WENT TO ZERO
6727 TRO PS,PS...Z!PS...C
6728 CAIN T1,000200
6729 TRO PS,PS...V
6730 RSTORE FLAG
6731 >
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 147
DDT11 MAC 18-May-81 17:27 SIMULATION
6732 DEFINE ADD. (FLAG) <
6733 MOVE T2,T1 ;SAVE SRC
6734 JSR @RFETCH(IR) ;GET DST
6735 MOVE IR,T1 ;SAVE COPY OF DST FOR PS...V CALC
6736 ADD T1,T2 ;MAKES RESULT
6737 TRZ PS,PS...N!PS...Z!PS...V!PS...C
6738 TRNE T1,100000 ;CHECK FOR NEGATIVE
6739 TRO PS,PS...N
6740 TRZE T1,600000 ;CHECK FOR OVERFLOW
6741 TRO PS,PS...C
6742 SKIPN T1
6743 TRO PS,PS...Z
6744 EQV IR,T2 ;SRC EQV DST
6745 XOR T2,T1 ;RESULT XOR SRC
6746 AND T2,IR
6747 TRNE T2,100000
6748 TRO PS,PS...V
6749 RSTORE FLAG
6750 >
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 148
DDT11 MAC 18-May-81 17:27 SIMULATION
6751 DEFINE ASH. (FLAG) <
6752 ANDI T2,7 ;LEAVE ONLY REG FIELD
6753 JSR @FETCH(IR) ;GET NN
6754 TRZ PS,PS...N!PS...Z!PS...V!PS...C
6755 MOVE MA,(T2) ;GET REGISTER TO SHIFT
6756 TRNE MA,100000 ;WAS REGISTER NEGATIVE ?
6757 IOR MA,[-1,,700000] ;EXTEND SIGN
6758 TRNE T1,40 ;RIGHT OR LEFT SHIFT ?
6759 JRST [IORI T1,777740 ;SHIFT RIGHT
6760 ASHC MA,(T1) ;SHIFT IT
6761 TLNE MA+1,200000 ;WAS LAST BIT OUT A 1 ?
6762 TRO PS,PS...C ;REMEMBER LAST BIT OUT
6763 JRST .+13 ]
6764 ANDI T1,37 ;SHIFT LEFT
6765 ;JUMPE T1, ???? *****
6766 ; ***** *****
6767 ; ***** WHAT IF SHIFT 0 ??? *****
6768 ; ***** *****
6769 JOV .+1 ;CLEAR FLAG
6770 ASH MA,(T1) ;SHIFT IT
6771 TRNE MA,200000 ;WAS LAST BIT OUT SET ?
6772 TRO PS,PS...C ;LAST BIT OUT WAS SET
6773 JOV .+4 ;LOSE ANY BITS ?
6774 SKIPGE T1,MA ;NEGATIVE ?
6775 XOR T1,[-1,,700000]
6776 TDNE T1,[-1,,700000]
6777 TRO PS,PS...V
6778 ANDI MA,177777 ;STRIP EXTRA BITS
6779 TRNE MA,100000 ;IS RESULT NEGATIVE ?
6780 TRO PS,PS...N ;WAS NEGATIVE RESULT
6781 SKIPN MA ;WAS RESULT ZERO ?
6782 TRO PS,PS...Z ;YES
6783 MOVEM MA,(T2) ;UPDATE ORIGINAL REGISTER
6784 TRNE PC,1 ;DID THAT POLLUTE THE PC ?
6785 JRST NXM... ;GIVE A BUS TRAP
6786 >
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 149
DDT11 MAC 18-May-81 17:27 SIMULATION
6787 DEFINE ASHC. (FLAG) <
6788 ; ***** *****
6789 ; ***** WHAT IF REG IS ODD ?? *****
6790 ; ***** *****
6791 ANDI T2,7 ;LEAVE ONLY REG FIELD
6792 JSR @FETCH(IR) ;GET NN
6793 TRZ PS,PS...N!PS...Z!PS...V!PS...C
6794 MOVE MA,(T2) ;GET HIGH ORDER BITS
6795 LSH MA,^D16 ;POSITION
6796 MOVE IR,T2 ;COPY REGISTER ADR
6797 IORI IR,1 ;MAKE LOW ORDER BITS ADR
6798 IOR MA,(IR) ;GET LOW ORDER BITS
6799 TLNE MA,020000 ;WAS REG NEGATIVE ?
6800 TLO MA,740000 ;EXTEND SIGN
6801 TRNE T1,40 ;RIGHT OR LEFT SHIFT ?
6802 JRST [IORI T1,777740 ;SHIFT RIGHT
6803 ASHC MA,(T1) ;SHIFT IT
6804 TLNE MA+1,200000;WAS LAST BIT OUT A 1 ?
6805 TRO PS,PS...C
6806 JRST .+13 ]
6807 ANDI T1,37 ;SHIFT LEFT
6808 ;JUMPE T1, ???? *****
6809 ; ***** *****
6810 ; ***** WHAT IF SHIFT 0 ??? *****
6811 ; ***** *****
6812 JOV .+1 ;CLEAR FLAG
6813 ASH MA,(T1) ;SHIFT IT
6814 TLNE MA,040000 ;WIN A CARRY BIT ?
6815 TRO PS,PS...C ;WON A CARRY
6816 JOV .+4
6817 SKIPGE T1,MA ;WAS THAT NEGATIVE ?
6818 TLC T1,760000 ;CL7AR EXTENDED SIGN
6819 TLNE T1,760000 ;DID WE LOSE BITS ?
6820 TRO PS,PS...V ;LOST BITS
6821 TLNE MA,020000 ;IS RESULT NEGATIVE ?
6822 TRO PS,PS...N ;WAS NEGATIVE RESULT
6823 TLZ MA,740000 ;STRIP EXTRA BITS
6824 SKIPN MA ;WAS RESULT ZERO ?
6825 TRO PS,PS...Z ;YES
6826 MOVE T1,MA ;COPY RESULT
6827 ANDI T1,177777 ;STRIP EXTRA BITS
6828 MOVEM T1,(IR) ;RESTORE LOW ORDER BITS
6829 LSH MA,-^D16 ;POSITION HIGH ORDER BITS
6830 MOVEM MA,(T2) ;RESTORE NEW HIGH ORDER BITS
6831 TRNE PC,1 ;DID THAT POLLUTE THE PC ?
6832 JRST NXM... ;GIVE A BUS TRAP
6833 >
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 150
DDT11 MAC 18-May-81 17:27 SIMULATION
6834 DEFINE ASL. (FLAG) <
6835 JSR @RFETCH(IR) ;GET OPERAND
6836 TRZ PS,PS...N!PS...Z!PS...V!PS...C
6837 TRNN T1,040000 ;CHECK NEW N BIT
6838 JRST .+5 ;NO NEW N BIT
6839 TRZE T1,100000 ;CHECK NEW C BIT
6840 TROA PS,PS...N!PS...C
6841 TRO PS,PS...N!PS...V
6842 JRST .+3
6843 TRZE T1,100000 ;CHECK NEW C BIT
6844 TRO PS,PS...C!PS...V
6845 LSH T1,1
6846 SKIPN T1
6847 TRO PS,PS...Z
6848 RSTORE FLAG
6849 >
6850 DEFINE ASLB. (FLAG) <
6851 JSR @BRFTCH(IR) ;GET OPERAND
6852 TRZ PS,PS...N!PS...Z!PS...V!PS...C
6853 TRNN T1,000100 ;CHECK NEW N BIT
6854 JRST .+5 ;NO NEW N BIT
6855 TRZE T1,000200 ;CHECK NEW C BIT
6856 TROA PS,PS...N!PS...C
6857 TRO PS,PS...N!PS...V
6858 JRST .+3
6859 TRZE T1,000200 ;CHECK NEW C BIT
6860 TRO PS,PS...C!PS...V
6861 LSH T1,1
6862 SKIPN T1
6863 TRO PS,PS...Z
6864 RSTORE FLAG
6865 >
6866 DEFINE ASR. (FLAG) <
6867 JSR @RFETCH(IR) ;GET OPERAND
6868 TRZ PS,PS...N!PS...Z!PS...V!PS...C
6869 TRNN T1,100000 ;CHECK NEW N BIT
6870 JRST .+6 ;NO NEW N BIT
6871 TRO T1,200000 ;SET NEW SIGN BIT
6872 TRZE T1,1 ;CHECK NEW C BIT
6873 TROA PS,PS...N!PS...C
6874 TRO PS,PS...N!PS...V
6875 JRST .+3
6876 TRZE T1,1 ;CHECK NEW C BIT
6877 TRO PS,PS...C!PS...V
6878 LSH T1,-1
6879 SKIPN T1
6880 TRO PS,PS...Z
6881 RSTORE FLAG
6882 >
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 151
DDT11 MAC 18-May-81 17:27 SIMULATION
6883 DEFINE ASRB. (FLAG) <
6884 JSR @BRFTCH(IR) ;GET OPERAND
6885 TRZ PS,PS...N!PS...Z!PS...V!PS...C
6886 TRNN T1,000200 ;CHECK NEW N BIT
6887 JRST .+6 ;NO NEW N BIT
6888 TRO T1,000400 ;SET NEW SIGN BIT
6889 TRZE T1,1 ;CHECK NEW C BIT
6890 TROA PS,PS...N!PS...C
6891 TRO PS,PS...N!PS...V
6892 JRST .+3
6893 TRZE T1,1 ;CHECK NEW C BIT
6894 TRO PS,PS...C!PS...V
6895 LSH T1,-1
6896 SKIPN T1
6897 TRO PS,PS...Z
6898 RSTORE FLAG
6899 >
6900 DEFINE BCC. (FLAG) <
6901 TRNE PS,PS...C
6902 JRST SIM11 ;NO BRANCH
6903 >
6904 DEFINE BCS. (FLAG) <
6905 TRNN PS,PS...C
6906 JRST SIM11 ;NO BRANCH
6907 >
6908 DEFINE BEQ. (FLAG) <
6909 TRNN PS,PS...Z
6910 JRST SIM11
6911 >
6912 DEFINE BGE. (FLAG) <
6913 TRNN PS,PS...N
6914 JRST [TRNE PS,PS...V
6915 JRST SIM11 ;NO BRANCH
6916 JRST .+3 ]
6917 TRNN PS,PS...V
6918 JRST SIM11 ;NO BRANCH
6919 >
6920 DEFINE BGT. (FLAG) <
6921 TRNE PS,PS...Z
6922 JRST SIM11 ;NO BRANCH
6923 TRNN PS,PS...N
6924 JRST [TRNE PS,PS...V
6925 JRST SIM11 ;NO BRANCH
6926 JRST .+3 ]
6927 TRNN PS,PS...V
6928 JRST SIM11 ;NO BRANCH
6929 >
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 152
DDT11 MAC 18-May-81 17:27 SIMULATION
6930 DEFINE BHI. (FLAG) <
6931 TRNE PS,PS...Z!PS...C
6932 JRST SIM11 ;NO BRANCH
6933 >
6934 DEFINE BHIS. (FLAG) <
6935 TRNE PS,PS...C
6936 JRST SIM11 ;NO BRANCH
6937 >
6938 DEFINE BIC. (FLAG) <
6939 MOVE T2,T1 ;COPY SRC
6940 JSR @RFETCH(IR) ;GET DST
6941 ANDCM T1,T2 ;CLEAR SOME BITS
6942 TRZ PS,PS...N!PS...Z!PS...V
6943 TRNE T1,100000
6944 TRO PS,PS...N
6945 SKIPN T1
6946 TRO PS,PS...Z
6947 RSTORE FLAG,C
6948 >
6949 DEFINE BICB. (FLAG) <
6950 MOVE T2,T1 ;COPY SRC
6951 JSR @BRFTCH(IR) ;GET DST
6952 ANDCM T1,T2 ;CLEAR SOME BITS
6953 TRZ PS,PS...N!PS...Z!PS...V
6954 TRNE T1,000200
6955 TRO PS,PS...N
6956 SKIPN T1
6957 TRO PS,PS...Z
6958 RSTORE FLAG,C
6959 >
6960 DEFINE BIS. (FLAG) <
6961 MOVE T2,T1 ;COPY SRC
6962 JSR @RFETCH(IR) ;GET DST
6963 IOR T1,T2 ;SET NEW BITS
6964 TRZ PS,PS...N!PS...Z!PS...V
6965 TRNE T1,100000
6966 TRO PS,PS...N
6967 SKIPN T1
6968 TRO PS,PS...Z
6969 RSTORE FLAG,S
6970 >
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 153
DDT11 MAC 18-May-81 17:27 SIMULATION
6971 DEFINE BISB. (FLAG) <
6972 MOVE T2,T1 ;COPY SRC
6973 JSR @BRFTCH(IR) ;GET DST
6974 IOR T1,T2 ;SET NEW BITS
6975 TRZ PS,PS...N!PS...Z!PS...V
6976 TRNE T1,000200
6977 TRO PS,PS...N
6978 SKIPN T1
6979 TRO PS,PS...Z
6980 RSTORE FLAG,S
6981 >
6982 DEFINE BIT. (FLAG) <
6983 MOVE T2,T1 ;COPY FIRST OPERAND
6984 JSR @FETCH(IR) ;GET 2ND OPERAND
6985 TRZ PS,PS...N!PS...Z!PS...V
6986 AND T1,T2 ;MASK THE BITS
6987 SKIPN T1
6988 TRO PS,PS...Z
6989 TRNE T1,100000
6990 TRO PS,PS...N
6991 >
6992 DEFINE BITB. (FLAG) <
6993 MOVE T2,T1 ;COPY FIRST OPERAND
6994 JSR @BFETCH(IR) ;GET 2ND OPERAND
6995 TRZ PS,PS...N!PS...Z!PS...V
6996 AND T1,T2 ;MASK THE BITS
6997 SKIPN T1
6998 TRO PS,PS...Z
6999 TRNE T1,000200
7000 TRO PS,PS...N
7001 >
7002 DEFINE BLE. (FLAG) <
7003 TRNE PS,PS...Z
7004 JRST .+5 ;BRANCH
7005 TRNE PS,PS...N
7006 JRST [TRNE PS,PS...V
7007 JRST SIM11 ;NO BRANCH
7008 JRST .+3 ]
7009 TRNN PS,PS...V
7010 JRST SIM11 ;NO BRANCH
7011 >
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 154
DDT11 MAC 18-May-81 17:27 SIMULATION
7012 DEFINE BLO. (FLAG) <
7013 TRNN PS,PS...C
7014 JRST SIM11 ;NO BRANCH
7015 >
7016 DEFINE BLOS. (FLAG) <
7017 TRNN PS,PS...Z!PS...C
7018 JRST SIM11 ;NO BRANCH
7019 >
7020 DEFINE BLT. (FLAG) <
7021 TRNE PS,PS...N
7022 JRST [TRNE PS,PS...V
7023 JRST SIM11 ;NO BRANCH
7024 JRST .+3 ]
7025 TRNN PS,PS...V
7026 JRST SIM11 ;NO BRANCH
7027 >
7028 DEFINE BMI. (FLAG) <
7029 TRNN PS,PS...N
7030 JRST SIM11 ;NO BRANCH
7031 >
7032 DEFINE BNE. (FLAG) <
7033 TRNE PS,PS...Z
7034 JRST SIM11
7035 >
7036 DEFINE BPL. (FLAG) <
7037 TRNE PS,PS...N
7038 JRST SIM11 ;NO BRANCH
7039 >
7040 DEFINE BPT. (FLAG) <
7041 INTSAV 14
7042 >
7043 DEFINE BR. (FLAG) <
7044 >
7045 DEFINE BVC. (FLAG) <
7046 TRNE PS,PS...V
7047 JRST SIM11 ;NO BRANCH
7048 >
7049 DEFINE BVS. (FLAG) <
7050 TRNN PS,PS...V
7051 JRST SIM11 ;NO BRANCH
7052 >
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 155
DDT11 MAC 18-May-81 17:27 SIMULATION
7053 ;DEFINE CCC. (FLAG) <> ;HANDLED BY .CCCLR
7054 ;DEFINE CLC. (FLAG) <> ;HANDLED BY .CCCLR
7055 ;DEFINE CLN. (FLAG) <> ;HANDLED BY .CCCLR
7056 DEFINE CLR. (FLAG) <
7057 HRRM PS,PS.REG+1 ;IN CASE OF BUS TRAP
7058 SETZ T1,
7059 TRZ PS,PS...N!PS...V!PS...C
7060 TRO PS,PS...Z
7061 JRST @STUFF(IR)
7062 ZZRET== -1
7063 >
7064 DEFINE CLRB. (FLAG) <
7065 HRRM PS,PS.REG+1 ;IN CASE OF BUS TRAP
7066 SETZ T1,
7067 TRZ PS,PS...N!PS...V!PS...C
7068 TRO PS,PS...Z
7069 JRST @BSTUFF(IR)
7070 ZZRET== -1
7071 >
7072 ;DEFINE CLV. (FLAG) <> ;HANDLED BY .CCCLR
7073 ;DEFINE CLZ. (FLAG) <> ;HANDLED BY .CCCLR
7074 DEFINE CMP. (FLAG) <
7075 MOVE T2,T1 ;COPY FIRST OPERAND
7076 JSR @FETCH(IR) ;GET 2ND OPERAND
7077 MOVE IR,T2 ;ANOTHER COPY OF SRC FOR PS...V CALC
7078 TRZ PS,PS...N!PS...Z!PS...V!PS...C
7079 SUB T2,T1
7080 TRNE T2,100000
7081 TRO PS,PS...N
7082 TRNN T2,177777
7083 TRO PS,PS...Z
7084 TRNE T2,200000
7085 TRO PS,PS...C
7086 XOR IR,T1 ;SRC XOR DST
7087 EQV T1,T2 ;CHECK RESULT AND DST
7088 AND T1,IR
7089 TRNE T1,100000
7090 TRO PS,PS...V ;SAME SIGN SO OVERFLOW
7091 >
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 156
DDT11 MAC 18-May-81 17:27 SIMULATION
7092 DEFINE CMPB. (FLAG) <
7093 MOVE T2,T1 ;COPY FIRST OPERAND
7094 JSR @BFETCH(IR) ;GET 2ND OPERAND
7095 MOVE IR,T2 ;ANOTHER COPY OF SRC FOR PS...V CALC
7096 TRZ PS,PS...N!PS...Z!PS...V!PS...C
7097 SUB T2,T1
7098 TRNE T2,000200
7099 TRO PS,PS...N
7100 TRNN T2,000377
7101 TRO PS,PS...Z
7102 TRNE T2,000400
7103 TRO PS,PS...C
7104 XOR IR,T1 ;SRC XOR DST
7105 EQV T1,T2 ;CHECK RESULT AND DST
7106 AND T1,IR
7107 TRNE T1,000200
7108 TRO PS,PS...V ;SAME SIGN SO OVERFLOW
7109 >
7110 DEFINE COM. (FLAG) <
7111 JSR @RFETCH(IR) ;GET OPERAND
7112 TRZ PS,PS...N!PS...Z!PS...V
7113 TRO PS,PS...C
7114 TRCE T1,177777 ;PERFORM COMPLEMENT AND CHECK FOR -1 RESULT
7115 TRNE T1,100000
7116 TRO PS,PS...N
7117 SKIPN T1
7118 TRO PS,PS...Z
7119 RSTORE FLAG
7120 >
7121 DEFINE COMB. (FLAG) <
7122 JSR @BRFTCH(IR) ;GET OPERAND
7123 TRZ PS,PS...N!PS...Z!PS...V
7124 TRO PS,PS...C
7125 TRCE T1,000377 ;PERFORM COMPLEMENT AND CHECK FOR -1 RESULT
7126 TRNE T1,000200
7127 TRO PS,PS...N
7128 SKIPN T1
7129 TRO PS,PS...Z
7130 RSTORE FLAG
7131 >
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 157
DDT11 MAC 18-May-81 17:27 SIMULATION
7132 DEFINE DEC. (FLAG) <
7133 JSR @RFETCH(IR) ;GET OPERAND
7134 TRZ PS,PS...N!PS...Z!PS...V
7135 SOSN T1
7136 TRO PS,PS...Z
7137 ANDI T1,177777
7138 TRNE T1,100000
7139 TRO PS,PS...N
7140 CAIN T1,077777
7141 TRO PS,PS...V
7142 RSTORE FLAG
7143 >
7144 DEFINE DECB. (FLAG) <
7145 JSR @BRFTCH(IR) ;GET OPERAND
7146 TRZ PS,PS...N!PS...Z!PS...V
7147 SOSN T1
7148 TRO PS,PS...Z
7149 ANDI T1,000377
7150 TRNE T1,000200
7151 TRO PS,PS...N
7152 CAIN T1,000177
7153 TRO PS,PS...V
7154 RSTORE FLAG
7155 >
7156 DEFINE DIV. (FLAG) <
7157 ANDI T2,7 ;LEAVE REGISTER FIELD
7158 JSR @FETCH(IR) ;GET DIVISOR
7159 TRZ PS,PS...N!PS...Z!PS...V!PS...C
7160 JUMPE T1,[TRO PS,PS...C!PS...V ;SET FLAGS
7161 JRST SIM11 ]
7162 TRNE T1,100000 ;NEGATIVE DIVSOR ?
7163 IOR T1,[-1,,700000] ;EXTEND SIGN
7164 MOVE MA,(T2) ;GET HIGH ORDER BITS OF DIVIDEND
7165 LSH MA,^D16 ;POSITION
7166 TLNE MA,020000 ;NEGATIVE ?
7167 TLO MA,760000 ;EXTEND SIGN
7168 MOVE IR,T2 ;COPY REG ADR
7169 IORI IR,1
7170 IOR MA,(IR) ;GET LOW ORDER BITS
7171 IDIV MA,T1 ;DO THE DIVISION
7172 ANDI MA,177777 ;STRIP EXTRA BITS
7173 MOVEM MA,(T2)
7174 TRO T1,1 ;OTHER REGISTER
7175 ANDI MA+1,177777 ;STRIP OTHER BITS
7176 MOVEM MA+1,(T2) ;AND SAVE THESE AS WELL
7177 TRNE MA,100000 ;NEGATIVE RESULT ?
7178 TRO PS,PS...N ;REMEMBER NEGATIVE
7179 ANDI MA,177777 ;STRIP EXTRA BITS
7180 SKIPN MA
7181 TRO PS,PS...Z ;REMEMBER ZERO RESULT
7182 TRNE PC,1 ;DID THAT POLLUTE THE PC ?
7183 JRST NXM... ;GIVE A BUS TRAP
7184 >
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 158
DDT11 MAC 18-May-81 17:27 SIMULATION
7185 DEFINE EMT. (FLAG) <
7186 INTSAV 30
7187 >
7188 DEFINE FADD. (FLAG) <
7189 JRST ILLINS
7190 ZZRET== -1
7191 >
7192 DEFINE FDIV. (FLAG) <
7193 JRST ILLINS
7194 ZZRET== -1
7195 >
7196 DEFINE FMUL. (FLAG) <
7197 JRST ILLINS
7198 ZZRET== -1
7199 >
7200 DEFINE FSUB. (FLAG) <
7201 JRST ILLINS
7202 ZZRET== -1
7203 >
7204 DEFINE HALT. (FLAG) <
7205 TXZ FLG,F.RUNF
7206 TXO FLG,F.HALT ;FLAG WE DID A HALT
7207 HRROS INTDLY ;SO WE NOTICE RUN FLOP
7208 >
7209 DEFINE INC. (FLAG) <
7210 JSR @RFETCH(IR) ;GET OPERAND
7211 TRZ PS,PS...N!PS...Z!PS...V
7212 AOS T1
7213 TRNE T1,100000
7214 TRO PS,PS...N
7215 TRZE T1,200000 ;HAPPENS IIF
7216 TRO PS,PS...Z ; OPERAND NOW ZERO
7217 CAIN T1,100000
7218 TRO PS,PS...V
7219 RSTORE FLAG
7220 >
7221 DEFINE INCB. (FLAG) <
7222 JSR @BRFTCH(IR) ;GET OPERAND
7223 TRZ PS,PS...N!PS...Z!PS...V
7224 AOS T1
7225 TRNE T1,000200
7226 TRO PS,PS...N
7227 TRZE T1,000400 ;HAPPENS IFF
7228 TRO PS,PS...Z ; OPERAND NOW ZERO
7229 CAIN T1,000200
7230 TRO PS,PS...V
7231 RSTORE FLAG
7232 >
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 159
DDT11 MAC 18-May-81 17:27 SIMULATION
7233 DEFINE IOT. (FLAG) <
7234 INTSAV 20
7235 >
7236 DEFINE JMP. (FLAG) <
7237 JSR @JMPCLC(IR) ;CALCULATE ADDR
7238 MOVE PC,T1 ;SET NEW PC
7239 TRNE PC,1 ;BE SURE KOSHER PC
7240 JRST NXM...
7241 >
7242 DEFINE JSR. (FLAG) <
7243 JSR @JMPCLC(IR) ;GET ADR OF JSR
7244 TRZ T2,777770 ;REG IN JSR REG,FOO
7245 HRLM T1,T2 ;SAVE SUBROUTINE ADR
7246 MOVE T1,(T2) ;GET CURRENT REG CONTENTS
7247 MOVEI SP,-2(SP) ;START PUSHING OLD REG ON STACK
7248 ANDI SP,177777 ;BE SURE DIDN'T PUSH TO FAR
7249 HRRZM PC,(T2) ;PUT PC IN REG
7250 HLRZ PC,T2 ;GET SUBROUTINE ADR BACK
7251 HRRM PS,PS.REG+1 ;SAVE PS IN CASE OF STACK VIOLATION
7252 STORE SP,T1 ;FINISH PUSHING REG ON STACK
7253 TRNE PC,1 ;BE SURE NEW PC KOSHER
7254 JRST NXM... ;DIE
7255 >
7256 DEFINE MARK. (FLAG) <
7257 ANDI IR,77 ;LEAVES N
7258 LSH IR,1 ;MAKES N*2
7259 HRRZ SP,IR
7260 ADDI SP,(PC) ;SP FROM PC + 2*NN
7261 HRRZ PC,5 ;PC FROM R5
7262 LOAD SP,5
7263 MOVEI SP,2(SP)
7264 ANDI SP,177777
7265 TRNE PC,1 ;IS NEW PC OK
7266 JRST NXM... ;TAKE A BUS TRAP
7267 >
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 160
DDT11 MAC 18-May-81 17:27 SIMULATION
7268 DEFINE MFPS. (FLAG) <
7269 HRRM PS,PS.REG+1 ;IN CASE OF BUS TRAP
7270 HRRZ T1,PS ;GET DATA TO STORE
7271 TRZ PS,PS...N!PS...Z!PS...V
7272 TRNE T1,200
7273 TRO PS,PS...N
7274 TRNN T1,377
7275 TRO PS,PS...Z
7276 JRST @BSTUFF(IR) ;NOW STORE THE DATA
7277 ZZRET== -1
7278 >
7279 DEFINE MOV. (FLAG) <
7280 HRRM PS,PS.REG+1 ;SAVE PS IN CASE OF STACK VIOLATION
7281 TRZ PS,PS...N!PS...Z!PS...V
7282 TRNE T1,100000 ;DO WE WANT N BIT
7283 TRO PS,PS...N ;SET N BIT
7284 SKIPN T1
7285 TRO PS,PS...Z ;SET Z BIT
7286 JRST @STUFF(IR)
7287 ZZRET== -1
7288 >
7289 DEFINE MOVB. (FLAG) <
7290 HRRM PS,PS.REG+1 ;SAVE PS IN CASE OF STACK VIOLATION
7291 TRZ PS,PS...N!PS...Z!PS...V
7292 TRNE T1,000200 ;DO WE WANT N BIT
7293 TRO PS,PS...N ;SET N BIT
7294 SKIPN T1
7295 TRO PS,PS...Z ;SET Z BIT
7296 TRNE IR,70 ;CHECK FOR REGISTER DST
7297 JRST @BSTUFF(IR)
7298 TRNE T1,200 ;WANT TO EXTEND SIGN ?
7299 TRO T1,177600 ;EXTEND SIGN
7300 HRRM T1,(IR)
7301 >
7302 DEFINE MTPS. (FLAG) <
7303 JSR @BFETCH(IR) ;GET WHAT TO SET PS TO
7304 HRRM PS,PS.REG+1 ;SAVE ORIGINAL PS
7305 HRRZ PS,T1 ;SET NEW PS
7306 CALL PS.CHK ;TAKE AN INTERRUPT MAYBE
7307 >
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 161
DDT11 MAC 18-May-81 17:27 SIMULATION
7308 DEFINE MUL. (FLAG) <
7309 ANDI T2,7 ;LEAVE ONLY REGISTER FIELD
7310 JSR @FETCH(IR) ;GET THE SOURCE OPERAND
7311 TRZ PS,PS...N!PS...Z!PS...V!PS...C
7312 TRNE T1,100000 ;NEGATIVE VALUE ?
7313 IOR T1,[-1,,700000] ;EXTEND SIGN
7314 MOVE MA,(T2) ;GET REGISTER ARGUMENT
7315 TRNE MA,100000 ;NEGATIVE ARGUMENT ?
7316 IOR MA,[-1,,700000] ;EXTEND SIGN
7317 IMULB T1,MA ;DO THE MULTIPLICATION
7318 SKIPN T1 ;WAS RESULT ZERO
7319 TRO PS,PS...Z ;REMEMBER IT WAS ZERO
7320 TLNE T1,020000 ;IS RESULT NEGATIVE ?
7321 TRO PS,PS...N ;REMEMBER IT WAS NEGATIVE
7322 CAML T1,[-1,,700000]
7323 CAILE T1,077777
7324 TRO PS,PS...C ;NEED MORE THAN 16 BITS
7325 ANDI MA,177777 ;LEAVES LOW ORDER PORTION
7326 LSH T1,-^D16 ;LEAVES HIGH ORDER PORTION
7327 ANDI T1,177777 ;STRIP EXTRA IF ANY
7328 MOVEM T1,(T2) ;STORE HIGH ORDER PORTION
7329 IORI T2,1 ;OTHER REG ADDRESS
7330 MOVEM MA,(T2)
7331 TRNE PC,1 ;DID THAT CORRUPT THE PC ?
7332 JRST NXM... ;YES SO TAKE A BUS TRAP
7333 >
7334 DEFINE NEG. (FLAG) <
7335 JSR @RFETCH(IR) ;GET OPERAND
7336 TRZ PS,PS...N!PS...Z!PS...V!PS...C
7337 MOVNS T1
7338 ANDI T1,177777
7339 TRNE T1,100000
7340 TRO PS,PS...N
7341 SKIPN T1
7342 TROA PS,PS...Z
7343 TRO PS,PS...C
7344 CAIN T1,100000
7345 TRO PS,PS...V
7346 RSTORE FLAG
7347 >
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 162
DDT11 MAC 18-May-81 17:27 SIMULATION
7348 DEFINE NEGB. (FLAG) <
7349 JSR @BRFTCH(IR) ;GET OPERAND
7350 TRZ PS,PS...N!PS...Z!PS...V!PS...C
7351 MOVNS T1
7352 ANDI T1,000377
7353 TRNE T1,000200
7354 TRO PS,PS...N
7355 SKIPN T1
7356 TROA PS,PS...Z
7357 TRO PS,PS...C
7358 CAIN T1,000200
7359 TRO PS,PS...V
7360 RSTORE FLAG
7361 >
7362 ;DEFINE NOP. (FLAG) <> ;HANDLED BY .CCCLR
7363 DEFINE RESET. (FLAG) <
7364 CALL R.SET ;DO COMMON STUFF
7365 >
7366 DEFINE ROL. (FLAG) <
7367 JSR @RFETCH(IR) ;GET OPERAND
7368 TRZ PS,PS...N!PS...Z!PS...V
7369 TRZE PS,PS...C
7370 TLO T1,400000 ;CARRY BIT GOES TO SIGN BIT
7371 TRZE T1,100000 ;CHECK NEW CARRY
7372 TRO PS,PS...C!PS...V ;NEW CARRY AND OVERFLOW (MAYBE)
7373 ROT T1,1
7374 TRNE T1,100000 ;GET A NEGATIVE RESULT ?
7375 TRC PS,PS...N!PS...V ;WIN NEGATIVE AND COMPLEMENT OVERFLOW
7376 SKIPN T1
7377 TRO PS,PS...Z
7378 RSTORE FLAG
7379 >
7380 DEFINE ROLB. (FLAG) <
7381 JSR @BRFTCH(IR) ;GET OPERAND
7382 TRZ PS,PS...N!PS...Z!PS...V
7383 TRZE PS,PS...C
7384 TLO T1,400000 ;CARRY BIT GOES TO SIGN BIT
7385 TRZE T1,000200 ;CHECK NEW CARRY
7386 TRO PS,PS...C!PS...V ;NEW CARRY AND OVERFLOW (MAYBE)
7387 ROT T1,1
7388 TRNE T1,000200 ;GET A NEGATIVE RESULT ?
7389 TRC PS,PS...N!PS...V ;WIN NEGATIVE AND COMPLEMENT OVERFLOW
7390 SKIPN T1
7391 TRO PS,PS...Z
7392 RSTORE FLAG
7393 >
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 163
DDT11 MAC 18-May-81 17:27 SIMULATION
7394 DEFINE ROR. (FLAG) <
7395 JSR @RFETCH(IR) ;GET OPERAND
7396 TRZ PS,PS...N!PS...Z!PS...V
7397 TRZE PS,PS...C
7398 JRST .+4
7399 TRZE T1,1 ;DO WE GET A NEW CARRY ?
7400 TRO PS,PS...C!PS...V
7401 JRST .+5
7402 TRO T1,200000 ;CARRY BIT GOES TO SIGN BIT
7403 TRZE T1,1 ;CHECK NEW CARRY
7404 TROA PS,PS...C!PS...N ;NEW CARRY AND NEGATIVE
7405 TRO PS,PS...V!PS...N ;OVERFLOW AND NEGATIVE
7406 LSH T1,-1
7407 SKIPN T1
7408 TRO PS,PS...Z
7409 RSTORE FLAG
7410 >
7411 DEFINE RORB. (FLAG) <
7412 JSR @BRFTCH(IR) ;GET OPERAND
7413 TRZ PS,PS...N!PS...Z!PS...V
7414 TRZE PS,PS...C
7415 JRST .+4
7416 TRZE T1,1 ;DO WE GET A NEW CARRY ?
7417 TRO PS,PS...C!PS...V
7418 JRST .+5
7419 TRO T1,000400 ;CARRY BIT GOES TO SIGN BIT
7420 TRZE T1,1 ;CHECK NEW CARRY
7421 TROA PS,PS...C!PS...N ;NEW CARRY AND NEGATIVE
7422 TRO PS,PS...V!PS...N ;OVERFLOW AND NEGATIVE
7423 LSH T1,-1
7424 SKIPN T1
7425 TRO PS,PS...Z
7426 RSTORE FLAG
7427 >
7428 DEFINE RTI. (FLAG) <
7429 LOAD SP,T1 ;PUT RESTORED PC IN TEMP REG
7430 MOVEI SP,2(SP)
7431 ANDI SP,177776
7432 LOAD SP,T2 ;GET NEW PS
7433 ANDI T2,377 ;WE DON'T HAVE A LH
7434 HRRM PS,PS.REG+1 ;SAVE OLD PS
7435 MOVE PS,T2 ;LOAD NEW PS
7436 MOVEI SP,2(SP)
7437 ANDI SP,177776
7438 MOVE PC,T1 ;LOAD NEW PC
7439 TRNE PC,1 ;CHECK PC OK
7440 JRST NXM... ;TAKE A BUS TRAP
7441 CALL PS.CHK ;SEE IF THERE ARE INTERRUPTS TO TAKE
7442 >
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 164
DDT11 MAC 18-May-81 17:27 SIMULATION
7443 DEFINE RTS. (FLAG) <
7444 ANDI IR,7
7445 MOVE PC,(IR)
7446 LOAD SP,T1 ;GET OLD REG FROM STACK
7447 MOVEM T1,(IR) ;LOAD REG FROM STACK
7448 MOVEI SP,2(SP) ;FINISH POP
7449 ANDI SP,177777 ;IN CASE OVERFLOWED
7450 TRNE PC,1 ;BE SURE NEW PC OK
7451 JRST NXM... ;TAKE A BUS TRAP
7452 >
7453 DEFINE RTT. (FLAG) <
7454 LOAD SP,T1
7455 MOVEI SP,2(SP)
7456 ANDI SP,177776
7457 LOAD SP,T2 ;GET NEW PS
7458 ANDI T2,377 ;WE DON'T HAVE A LH
7459 HRRM PS,PS.REG+1 ;SAVE OLD PS
7460 MOVE PS,T2 ;LOAD NEW PS
7461 MOVEI SP,2(SP)
7462 ANDI SP,177776
7463 HRRZ PC,T1 ;LOAD NEW PC
7464 TRNE PC,1 ;CHECK NEW PC OK
7465 JRST NXM... ;TAKE A BUS TRAP
7466 CALL PS.CHK ;SEE IF THERE ARE INTERRUPTS TO TAKE
7467 JRST SIM11A ;INHIBIT TRACE TRAP
7468 ZZRET== -1
7469 >
7470 DEFINE SBC. (FLAG) <
7471 JSR @RFETCH(IR) ;GET OPERAND
7472 TRZ PS,PS...N!PS...Z!PS...V
7473 TRZE PS,PS...C
7474 JRST .+8
7475 TRNE T1,100000
7476 TRO PS,PS...N
7477 CAIN T1,100000
7478 TRO PS,PS...V
7479 JUMPN T1,SIM11
7480 TRO PS,PS...Z
7481 JRST SIM11
7482 SOSN T1
7483 TRO PS,PS...Z
7484 TRNE T1,100000
7485 TRO PS,PS...N
7486 CAIN T1,100000-1
7487 TRO PS,PS...V
7488 TRZE T1,600000
7489 TRO PS,PS...C
7490 RSTORE FLAG
7491 >
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 165
DDT11 MAC 18-May-81 17:27 SIMULATION
7492 DEFINE SBCB. (FLAG) <
7493 JSR @BRFTCH(IR) ;GET OPERAND
7494 TRZ PS,PS...N!PS...Z!PS...V
7495 TRZE PS,PS...C
7496 JRST .+8
7497 TRNE T1,000200
7498 TRO PS,PS...N
7499 CAIN T1,000200
7500 TRO PS,PS...V
7501 JUMPN T1,SIM11
7502 TRO PS,PS...Z
7503 JRST SIM11
7504 SOSN T1
7505 TRO PS,PS...Z
7506 TRNE T1,000200
7507 TRO PS,PS...N
7508 CAIN T1,000200-1
7509 TRO PS,PS...V
7510 TRZE T1,777400
7511 TRO PS,PS...C
7512 RSTORE FLAG
7513 >
7514 ;DEFINE SCC. (FLAG) <> ;HANDLED BY .CCSET
7515 ;DEFINE SEC. (FLAG) <> ;HANDLED BY .CCSET
7516 ;DEFINE SEN. (FLAG) <> ;HANDLED BY .CCSET
7517 ;DEFINE SEV. (FLAG) <> ;HANDLED BY .CCSET
7518 ;DEFINE SEZ. (FLAG) <> ;HANDLED BY .CCSET
7519 DEFINE SOB. (FLAG) <
7520 ANDI T2,7 ;GET REGISTER DESIGNATION
7521 SOSN T1,(T2)
7522 JRST SIM11 ;DON'T TAKE BRANCH
7523 ANDI T1,177777 ;IN CASE OF OVERFLOW
7524 MOVEM T1,(T2)
7525 ANDI IR,77
7526 LSH IR,1
7527 SUBI PC,(IR)
7528 ANDI PC,177777 ;ONLY NEEDED IF PC .LT. 200 !
7529 >
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 166
DDT11 MAC 18-May-81 17:27 SIMULATION
7530 DEFINE SPL. (FLAG) <
7531 ANDI IR,7 ;LEAVE ONLY NEW PRIORITY
7532 DPB IR,P.PLVL
7533 CALL PS.CHK
7534 >
7535 DEFINE SUB. (FLAG) <
7536 MOVE T2,T1 ;SAVE SRC
7537 JSR @RFETCH(IR) ;GET DST
7538 MOVE IR,T1 ;SAVE COPY OF DST FOR PS...V CALC
7539 SUB T1,T2 ;MAKES RESULT
7540 TRZ PS,PS...N!PS...Z!PS...V!PS...C
7541 TRNE T1,100000 ;CHECK FOR NEGATIVE
7542 TRO PS,PS...N
7543 TRZE T1,600000 ;CHECK FOR OVERFLOW
7544 TRO PS,PS...C
7545 SKIPN T1
7546 TRO PS,PS...Z
7547 XOR IR,T2 ;DST XOR SRC
7548 EQV T2,T1 ;SRC EQV RESULT
7549 AND T2,IR
7550 TRNE T2,100000
7551 TRO PS,PS...V
7552 RSTORE FLAG
7553 >
7554 DEFINE SWAB. (FLAG) <
7555 JSR @RFETCH(IR) ;GET ARGUMENT
7556 DPB T1,[POINT 8,T1,19]
7557 LSH T1,-10
7558 TRZ PS,PS...N!PS...Z!PS...V!PS...C
7559 TRNE T1,000200
7560 TRO PS,PS...N
7561 TRNN T1,377
7562 TRO PS,PS...Z
7563 RSTORE FLAG
7564 >
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 167
DDT11 MAC 18-May-81 17:27 SIMULATION
7565 DEFINE SXT. (FLAG) <
7566 HRRM PS,PS.REG+1 ;IN CASE OF BUS TRAP
7567 TRZ PS,PS...V ;ALWAYS CLEARED
7568 TRNN PS,PS...N
7569 TROA PS,PS...Z ;WIN A Z BIT
7570 TRZA PS,PS...Z ;LOST THE Z BIT
7571 TDZA T1,T1
7572 MOVEI T1,177777
7573 JRST @STUFF(IR)
7574 ZZRET== -1
7575 >
7576 DEFINE TRAP. (FLAG) <
7577 INTSAV 34
7578 >
7579 DEFINE TST. (FLAG) <
7580 JSR @FETCH(IR) ;GET OPERAND
7581 TRZ PS,PS...N!PS...Z!PS...V!PS...C
7582 TRNE T1,100000
7583 TRO PS,PS...N
7584 SKIPN T1
7585 TRO PS,PS...Z
7586 >
7587 DEFINE TSTB. (FLAG) <
7588 JSR @BFETCH(IR) ;GET OPERAND
7589 TRZ PS,PS...N!PS...Z!PS...V!PS...C
7590 TRNE T1,000200
7591 TRO PS,PS...N
7592 SKIPN T1
7593 TRO PS,PS...Z
7594 >
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 168
DDT11 MAC 18-May-81 17:27 SIMULATION
7595 DEFINE WAIT. (FLAG) <
7596 TADJUS
7597 WAIT0:
7598 TXNN FLG,F.EXEC ;RUNNING IN EXEC MODE ?
7599 JRST WAIT1 ;NO
7600 SKIPN BR7PND ;CHECK FOR INTERUPTS HAPPENED
7601 SKIPE BR5PND ;CHECK OTHER FLAVOUR
7602 JRST SIM11 ;GO TAKE INTERRUPT
7603 SOSLE T1,INTDLY
7604 JRST WAIT0 ;NOT YET
7605 TADJUS
7606 HRRZ T1,CTISPD
7607 MOVEM T1,INTDLY
7608 MOVEM T1,INTDLY+1
7609 CALL TIMCHK
7610 JRST WAIT0
7611 JRST SIM11
7612
7613 WAIT1: HRRE T1,INTDLY+1
7614 ADDM T1,INSRUN ;ACCUMULATE NUMBER OF INSTRUCTIONS EXECUTED
7615 ADDM T1,WAITIM ;ACCUMULATE WAIT TIME
7616 MOVE T1,CTISPD
7617 HRRM T1,INTDLY
7618 HRRM T1,INTDLY+1
7619 CALL TIMCHK
7620 JRST WAIT0
7621 >
7622 DEFINE XOR. (FLAG) <
7623 MOVE T2,-740(T2) ;GET REGISTER
7624 JSR @RFETCH(IR) ;GET OPERAND
7625 TRZ PS,PS...N!PS...Z!PS...V
7626 XOR T1,T2
7627 TRNE T1,100000
7628 TRO PS,PS...N
7629 SKIPN T1
7630 TRO PS,PS...Z
7631 RSTORE FLAG
7632 >
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 169
DDT11 MAC 18-May-81 17:27 SIMULATION
7633 ;HERE TO EXECUTE THE NEXT INSTRUCTION
7634 ; CALL WITH F.RUNF CLEAR TO SINGLE INSTRUCTION
7635 ; WITH F.RUNF SET TO RUN
7636 ; CALL SIMXCT
7637 ; RETURN ;WHEN MACHINE HALTED
7638 ; ; AC1 WILL CONTAIN THE STARTING PC
7639 011153' 621400 040200 SIMXCT: TXZ FLG,F.SVIO!F.HALT
7640 011154' 606700 000020 TXNN PS,20 ;IS T BIT SET ?
7641 011155' 402000 011605' SETZM INTDLY
7642 011156' 402000 011606' SETZM INTDLY+1
7643 011157' 667400 000100 TXON FLG,F.TOPN ;HAS CTY BEEN OPENED ?
7644 011160' 260740 011232' CALL SIMOPN ;DO OPEN FOR TTY
7645 011161' 260740 011166' PUSHJ P,SIMSAC ;SETUP THE AC'S
7646 011162' 060740 000200 SETSTS 17,200 ;SET NO ECHO
7647 011163' 606340 000001 TRNN PC,1 ;GET A BUM PC ?
7648 011164' 254000 011246' JRST SIMCYC ;EXECUTE AN INSTRUCTION
7649 011165' 254000 016750' JRST NXM... ;TAKE A BUS TRAP
7650
7651 011166' 250000 011200' SIMSAC: EXCH 0,SIMREG
7652 011167' 250040 011201' EXCH 1,SIMREG+1
7653 011170' 250100 011202' EXCH 2,SIMREG+2
7654 011171' 250140 011203' EXCH 3,SIMREG+3
7655 011172' 250200 011204' EXCH 4,SIMREG+4
7656 011173' 250240 011205' EXCH 5,SIMREG+5
7657 011174' 250300 011206' EXCH 6,SIMREG+6
7658 011175' 250340 011207' EXCH 7,SIMREG+7
7659 011176' 641400 001000 TXC FLG,F..SIM
7660 011177' 263740 000000 RET
7661
7662 ;FOLLOWING ARE SIMULATOR REGISTERS WHEN NOT SIMULATING
7663 011200' 000000 000000 SIMREG: EXP 0 ;R0
7664 011201' 000000 000000 EXP 0 ;R1
7665 011202' 000000 000000 EXP 0 ;R2
7666 011203' 000000 000000 EXP 0 ;R3
7667 011204' 000000 000000 EXP 0 ;R4
7668 011205' 000000 000000 EXP 0 ;R5
7669 011206' 000000 000000 EXP 0 ;R6
7670 011207' 000000 000000 EXP 0 ;R7
7671 011210' 000000 000000 BEGREG: EXP 0 ;R0
7672 011211' 000000 000000 EXP 0 ;R1
7673 011212' 000000 000000 EXP 0 ;R2
7674 011213' 000000 000000 EXP 0 ;R3
7675 011214' 000000 000000 EXP 0 ;R4
7676 011215' 000000 000000 EXP 0 ;R5
7677 011216' 000000 000000 EXP 0 ;R6
7678 011217' 000000 000000 EXP 0 ;R7
7679 011220' 000000 000000 BEG.PS: EXP 0 ;BEGINNING PS
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 170
DDT11 MAC 18-May-81 17:27 SIMULATION
7680 ;HERE TO SETUP THE PC TO EXECUTE
7681 011221' 336040 040426' SETUPC: SKIPN AC1,EXPRESS ;DID USER GIVE A PC ?
7682 011222' 332040 011207' SKIPE AC1,SIMREG+PC ;OR DID WE ALREADY HAVE A PC ?
7683 011223' 254000 011230' JRST SETPC2
7684 011224' 332000 011607' SKIPE INSRUN ;HAVE WE RUN YET ?
7685 011225' 254000 011230' JRST SETPC2 ;YES SO MUST BE WE MEANT 0 PC
7686 011226' 336040 040433' SKIPN AC1,GOTO ;TAKE STARTING ADDRESS FOR PROGRAM
7687 011227' 550040 000007 HRRZ AC1,DOT ;OH WELL USE CURRENT LOCATION
7688 011230' 552040 011207' SETPC2: HRRZM AC1,SIMREG+PC
7689 011231' 263740 000000 RET
7690
7691 ;HERE TO OPEN THE TTY FOR THE SIMULATOR
7692 011232' 260740 036710' SIMOPN: CALL SIMREL ;RELOCATE STUFF
7693 011233' 041740 000200 SIMOP1: INIT 17,200 ;SUPRESS ECHO
7694 011234' 646471 000000 SIXBIT \TTY\
7695 011235' 000000 000000 Z
7696 011236' 047000 000012 EXIT
7697 011237' 260740 011611' CALL R.SET ;RESET THE WORLD
7698 011240' 260740 033115' CALL PS.CHK ;BE SURE LEVELS SET UP RIGHT
7699 011241' 263740 000000 RET
7700 011242' SIM.U1:
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 171
DDT11 MAC 18-May-81 17:27 SIMULATION
7701 ;MAIN LOOP FOR SIMULATION
7702
7703 011242' 602700 000020 SIM11: TRNE PS,PS...T ;CHECK T BIT
7704 011243' 254000 011263' JRST TB.INT
7705 011244' SIM11A:
7706 011244' 377440 011605' SOSG T1,INTDLY ;TIME TO CHECK FOR INTERRUPTS ?
7707 011245' 254000 011353' JRST INTCHK ;CHECK TO SEE IF THERE IS AN INTERRUPT PENDING
7708
7709 011246' 550540 000007 SIMCYC: HRRZ MA,PC ;COPY PC
7710 034112' 011150' 011247' MEMREL MEMLIM
7711 011247' 301540 000000 CAIL MA,0
7712 260740 032662' JRST [CALL IOLOAD+2 ;GET INFORMATION
7713 200640 000011 MOVE IR,T1 ;PUT INSTRUCTION IN RIGHT REGISTER
7714 254000 011255' JRST SIMCY1]
7715 011250' 254000 044361'
7716 011251' 241540 777776 ROT MA,-2
7717 011252' 335000 000013 SKIPGE MA
7718 034113' 011147' 011253' MEMREL MEMORY
7719 011253' 334653 000000 SKIPA IR,(MA)
7720 034114' 011147' 011254' MEMREL MEMORY
7721 011254' 204653 000000 MOVS IR,(MA)
7722 011255' 271340 000002 SIMCY1: ADDI PC,2 ;ADVANCE PC
7723 011256' 550500 000015 HRRZ T2,IR ;COPY INSTRUCTION
7724 011257' 242500 777772 LSH T2,-6 ;POSITION FOR DISPATCH
7725 011260' 254032 011647' JRST @OPDSP0(T2) ;DISPATCH ON OPCODE
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 172
DDT11 MAC 18-May-81 17:27 SIMULATION
7726 ;HERE IF OPCODE IN RANGE 000000 THRU 000077
7727 011261' 254035 013647' OPDSPA: JRST @OPDSP1(IR)
7728
7729 ;HERE IF OPCODE IN RANGE 000200 THRU 000277
7730 011262' 254035 013547' OPDSPB: JRST @OPDSP2-200(IR)
7731
7732 ;HERE FOR A TBIT TRAP
7733 011263' TB.INT: INTSAV 14
7734 000100 ZZ= 2000-Z
7735
7736 REPEAT ZZ,<
7737 EXP ILLINS
7738 XLIST
7739 >
7740 013547' 000000 017037'
7741
7742 LIST
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 178
DDT11 MAC 18-May-81 17:27 SIMULATION
7743 ;DISPATCH TABLE FOR OPCODES 000000 THRU 000077
7744
7745 DEFINE X (VAL,MASK,NAME,FLAG) <
7746 IFE <<FLAG&<SMF.11!SMF.IN>>-<SMF.11!SMF.IN>> <
7747 IFL <VAL-100> <
7748 ZZ=VAL-Z
7749 IFG ZZ <REPEAT ZZ,<
7750 EXP ILLINS ;ILLEGAL INSTRUCTION DISPATCH
7751 Z=Z+1
7752 >>;IFG ZZ
7753 ZZ=VAL+<<-MASK>&177777>-Z
7754 IFG ZZ <REPEAT ZZ,<
7755 EXP .'NAME ;DISPATCH FOR INSTRUCTION
7756 Z=Z+1
7757 >>>>
7758 >;DEFINE X (VAL,MASK,NAME,FLAG)
7759
7760 000000 Z=0
7761 013647' OPDSP1: INSTRU ;DO DISPATCHS FOR 000000-000077
7762 REPEAT <100-Z>,<
7763 EXP ILLINS
7764 XLIST
7765 >
7766 013656' 000000 017037'
7767
7768 LIST
7769
7770 ;DISPATCH TABLE FOR OPCODES 000200 THRU 000277
7771
7772 DEFINE X (VAL,MASK,NAME,FLAG) <
7773 IFE <<FLAG&<SMF.11!SMF.IN>>-<SMF.11!SMF.IN>> <
7774 IFL <VAL-240> <
7775 ZZ=VAL-Z
7776 IFG ZZ <REPEAT ZZ,<
7777 EXP ILLINS ;ILLEGAL INSTRUCTION DISPATCH
7778 Z=Z+1
7779 >>
7780 ZZ=VAL+<<-MASK>&177777>-Z
7781 IFG ZZ <REPEAT ZZ,<
7782 EXP .'NAME ;DISPATCH FOR INSTRUCTION
7783 Z=Z+1
7784 >>>>
7785 >;DEFINE X (VAL,MASK,NAME,FLAG)
7786
7787 000200 Z=200
7788 013747' OPDSP2: INSTRU ;DO DISPATCHS FOR 000200-000227
7789 REPEAT <240-Z>,<
7790 EXP ILLINS
7791 XLIST
7792 >
7793 LIST
7794 014007' 000000 011242' EXP SIM11 ;THIS IS A NOP
7795 REPEAT 17,<
7796 EXP .CCCLR ;CLEAR CONDITION CODES
7797 XLIST
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 178-1
DDT11 MAC 18-May-81 17:27 SIMULATION
7798 >
7799 014010' 000000 017126'
7800
7801 LIST
7802 014027' 000000 011242' EXP SIM11 ;THIS IS A NOP
7803 REPEAT 17,<
7804 EXP .CCSET ;SET CONDITION CODES
7805 XLIST
7806 >
7807 014030' 000000 017131'
7808
7809 LIST
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 179
DDT11 MAC 18-May-81 17:27 OPCODE SIMULATION
7810 SUBTTL OPCODE SIMULATION
7811
7812 DEFINE X (VAL,MASK,NAME,FLAG) <
7813 IFE <<FLAG&<SMF.11!SMF.IN>>-<SMF.11!SMF.IN>> <
7814 IFN <<VAL&177740>-240> <
7815 .'NAME: ZZRET==0
7816 IFN <FLAG&<SMF.SS!SMF.DD!SMF.EI>>,<ANDI IR,77> ;LEAVE ONLY DD
7817 IFN <FLAG&SMF.SS>,<
7818 ANDI T2,77 ;LEAVE ONLY SS
7819 IFN <FLAG&SMF.BY>,<JSR @SBFTCH(T2)> ;GET BYTE SOURCE OPERAND
7820 IFE <FLAG&SMF.BY>,<JSR @SFETCH(T2)> ;GET SOURCE OPERAND
7821 >
7822 NAME'. FLAG ;MACRO FOR UNIQUE CODE
7823 IFN <FLAG&SMF.BR> <
7824 TRNE IR,200 ;POSITIVIE OR NEGATIVE OFFSET
7825 TROA IR,177400 ;NEGATIVE SO EXTEND SIGN
7826 TRZ IR,177400 ;POSITIVE SO EXTEND SIGN
7827 LSH IR,1 ;MAKE OFFSET * 2
7828 ADD PC,IR
7829 ANDI PC,177777 ;IN CASE PC SPILLED OUT OF 16 BITS
7830 >
7831 IFE ZZRET,<JRST SIM11>
7832 >>
7833 >;DEFINE X
7834
7835 INSTRU
7836
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 180
DDT11 MAC 18-May-81 17:27 OPCODE SIMULATION
7837 ;HERE WHEN INSTRUCTION TRIES TO JMP TO REG
7838 016744' 000000 000000 JMPREG: Z ;CAME WITH A JSR
7839 016745' 254000 016750' JRST NXM... ;DIE
7840
7841 ;HERE IF @STUFF (OR @BSTUFF) GIVES BUS TRAP
7842 016746' 540700 033100' STFNXM: HRR PS,PS.REG+1 ;RESTORE OLD PS
7843 016747' 254000 016750' JRST NXM...
7844
7845 ;HERE FOR ILLEGAL MEMORY REFERENCES
7846 016750' NXM...: INTSAV 4
7847
7848 ;DISPATCH TO FETCH OPERAND (WORD MODE)
7849 017331' FETCH: XX GET
7850
7851 ;DISPATCH TO FETCH OPERAND (WORD MODE) AND SET UP MA FOR RSTORE
7852 017431' RFETCH: XX RGET
7853
7854 ;DISPATCH TO FETCH SOURCE OPERAND (BYTE MODE)
7855 017531' SBFTCH: XX SBGT
7856
7857 ;DISPATCH TO FETCH OPERAND (BYTE MODE)
7858 017631' BFETCH: XX BGET
7859
7860 ;DISPATCH TO FETCH OPERAND (BYTE MODE) AND SET UP MA FOR RSTORE
7861 017731' BRFTCH: XX BRGT
7862
7863 ;DISPATCH TO DO ADDRESS CALCULATION FOR JMP OR JSR
7864 020031' JMPCLC: XX JMP
7865
7866 ;DISPATCH TO STORE OPERAND (WORD MODE)
7867 ; RH OF OPERAND MUST ALREADY BE MASKED TO 16 BITS (LH MAY BE NONZERO)
7868 020131' STUFF: XX PUT
7869
7870 ;DISPATCH TO STORE OPERAND (BYTE MODE)
7871 ; RH OF OPERAND MUST ALREADY BE MASKED TO 8 BITS (LH MAY BE NONZERO)
7872 020231' BSTUFF: XX BPUT
7873
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 182
DDT11 MAC 18-May-81 17:27 ADDRESSING MODE CALCULATIONS
7874 ;MACRO TO DEFINE GET, RGET, AND PUT
7875 ; GET AND RGET RETURN DATA IN T1
7876 ; RGET ALSO SETS UP MA
7877 ; PUT STORES DATA IN T1
7878
7879 DEFINE X (Q) <
7880 XLIST
7881
7882 ;MODE 0 - REGISTER MODE
7883
7884 SGET0'Q:
7885 Z
7886 HRRZ T1,(T2) ;GET REGISTER
7887 HRRZ MA+1,IR ;COPY DEST MODE
7888 ANDI MA+1,7 ;LEAVE ONLY DEST REGISTER
7889 CAME MA+1,T2 ;SAME AS SRC REGISTER ?
7890 JRST @SGET0'Q ;NO SO DONE
7891 CAIL IR,20 ;MAYBE DEST IS REG OR @REG ?
7892 CAILE IR,57 ;OR IS INDEXED OR @INDEXED ?
7893 JRST @SGET0'Q ;ONE OF THOSE SO DONE
7894 CAIGE IR,30
7895 ADDI T1,4 ;WAS AUTO INCREMENT MODE
7896 SUBI T1,2
7897 ANDI T1,177777 ;STRIP EXTRA BITS
7898 JRST @SGET0'Q
7899
7900 GET0'Q:
7901 Z
7902 HRRZ T1,Q
7903 JRST @GET0'Q
7904
7905 RGET0'Q:
7906 Z
7907 HRROI MA,Q
7908 HRRZ T1,Q
7909 JRST @RGET0'Q
7910
7911 SBGT0'Q:
7912 Z
7913 HRRZ T1,(T2) ;GET REGISTER
7914 ANDI T1,377 ;STRIP EXTRA BITS
7915 HRRZ MA+1,IR ;COPY DEST MODE
7916 ANDI MA+1,7 ;LEAVE ONLY DEST REGISTER
7917 CAME MA+1,T2 ;SAME AS SRC REGISTER ?
7918 JRST @SBGT0'Q ;NO SO DONE
7919 CAIL IR,20 ;MAYBE DEST IS REG OR @REG ?
7920 CAILE IR,57 ;OR IS INDEXED OR @INDEXED ?
7921 JRST @SBGT0'Q ;ONE OF THOSE SO DONE
7922 CAIGE IR,30
7923 IFL <Q-6>,<
7924 ADDI T1,2
7925 SOS T1
7926 >;IFL <Q-6>
7927 IFGE <Q-6>,<
7928 ADDI T1,4 ;WAS AUTO INCREMENT MODE
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 182-1
DDT11 MAC 18-May-81 17:27 ADDRESSING MODE CALCULATIONS
7929 SUBI T1,2
7930 >;IFGE <Q-6>
7931 ANDI T1,377 ;STRIP EXTRA BITS
7932 JRST @SBGT0'Q
7933
7934 BGET0'Q:
7935 Z
7936 HRRZ T1,Q
7937 ANDI T1,377
7938 JRST @BGET0'Q
7939
7940 BRGT0'Q:
7941 Z
7942 HRROI MA,Q
7943 HRRZ T1,Q
7944 ANDI T1,000377
7945 JRST @BRGT0'Q
7946
7947 JMP0'Q==JMPREG ;REGISTER MODE ILLEGAL FOR JMP & JSR
7948
7949 PUT0'Q:
7950 HRRZ Q,T1 ;LOAD REGISTER
7951 IFE <Q-PC> <
7952 TRNE PC,1 ;BE SURE PC NOT CORRUPTED
7953 JRST NXM...
7954 >;IFE <Q-PC>
7955 JRST SIM11
7956
7957 BPUT0'Q:
7958 TRZ Q,377 ;STRIP OLD BITS
7959 TRO Q,(T1) ;SET NEW BITS
7960 IFE <Q-PC> <
7961 TRNE PC,1 ;BE SURE PC NOT CORRUPTED
7962 JRST NXM... ;TAKE A BUS TRAP
7963 >;IFE <Q-PC>
7964 JRST SIM11
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 183
DDT11 MAC 18-May-81 17:27 ADDRESSING MODE CALCULATIONS
7965 ;MODE 1 - REGISTER DEFERRED
7966
7967 RGET1'Q:
7968 IFE <Q-6>,<
7969 Z
7970 HRRZ MA,Q ;COPY CONTENTS OF REGISTER
7971 CAIGE MA,400
7972 JSR STACKV ;WE'RE GONNA VIOLATE STACK
7973 LOAD MA,T1
7974 JRST @RGET1'Q
7975 >;IFE <Q-6>
7976
7977 SGET1'Q:
7978 GET1'Q:
7979 Z
7980 LOAD Q,T1
7981 JRST @GET1'Q
7982
7983 BRGT1'Q:
7984 IFE <Q-6>,<
7985 Z
7986 HRRZ MA,Q ;COPY STACK POINTER
7987 CAIGE MA,400
7988 JSR STACKV ;WE'RE GONNA VIOLATE STACK
7989 BLOAD MA,T1
7990 JRST @BRGT1'Q
7991 >;IFE <Q-6>
7992
7993 SBGT1'Q:
7994 BGET1'Q:
7995 Z
7996 BLOAD Q,T1
7997 JRST @BGET1'Q
7998
7999 JMP1'Q:
8000 Z
8001 HRRZ T1,Q
8002 JRST @JMP1'Q
8003
8004 PUT1'Q:
8005 STORE Q,T1
8006 JRST SIM11
8007
8008 BPUT1'Q:
8009 BSTORE Q,T1
8010 JRST SIM11
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 184
DDT11 MAC 18-May-81 17:27 ADDRESSING MODE CALCULATIONS
8011 ;MODE 2 - AUTO-INCREMENT
8012
8013 RGET2'Q:
8014 IFE <Q-6>,<
8015 Z
8016 HRRZ MA,Q ;COPY STACK POINTER
8017 ADDI Q,2
8018 IFL <Q-6>,<ANDI Q,177777>
8019 CAIGE MA,400
8020 JSR STACKV ;WE'RE GONNA VIOLATE STACK
8021 LOAD MA,T1
8022 JRST @RGET2'Q
8023 >;IFE <Q-6>
8024
8025 SGET2'Q:
8026 GET2'Q:
8027 Z
8028 HRRZ MA,Q ;COPY REGISTER
8029 ADDI Q,2
8030 IFL <Q-6>,<ANDI Q,177777>
8031 LOAD MA,T1
8032 JRST @GET2'Q
8033
8034 BRGT2'Q:
8035 IFE <Q-6>,<
8036 Z
8037 HRRZ MA,Q ;COPY STACK POINTER
8038 IFGE <Q-6>,< ADDI Q,2 >
8039 IFL <Q-6>,< AOS Q >
8040 IFL <Q-6>,<ANDI Q,177777>
8041 CAIGE MA,400
8042 JSR STACKV ;WE'RE GONNA VIOLATE STACK
8043 BLOAD MA,T1
8044 JRST @BRGT2'Q
8045 >;IFE <Q-6>
8046
8047 SBGT2'Q:
8048 BGET2'Q:
8049 Z
8050 HRRZ MA,Q ;COPY REGISTER
8051 IFGE <Q-6>,< ADDI Q,2 >
8052 IFL <Q-6>,< AOS Q >
8053 IFL <Q-6>,<ANDI Q,177777>
8054 BLOAD MA,T1
8055 JRST @BGET2'Q
8056
8057 JMP2'Q:
8058 Z
8059 HRRZ T1,Q
8060 ADDI Q,2
8061 IFL <Q-6>,<ANDI Q,177777>
8062 JRST @JMP2'Q
8063
8064 PUT2'Q:
8065 HRRZ MA,Q ;COPY REGISTER
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 184-1
DDT11 MAC 18-May-81 17:27 ADDRESSING MODE CALCULATIONS
8066 ADDI Q,2
8067 IFL <Q-6>,<ANDI Q,177777>
8068 STORE MA,T1
8069 JRST SIM11
8070
8071 BPUT2'Q:
8072 HRRZ MA,Q ;COPY REGISTER
8073 IFGE <Q-6>,< ADDI Q,2 >
8074 IFL <Q-6>,<
8075 AOS Q
8076 ANDI Q,177777
8077 >
8078 BSTORE MA,T1
8079 JRST SIM11
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 185
DDT11 MAC 18-May-81 17:27 ADDRESSING MODE CALCULATIONS
8080 ;MODE 3 - AUTO-INCREMENT DEFERRED
8081
8082 SGET3'Q:
8083 GET3'Q:
8084 RGET3'Q:
8085 Z
8086 HRRZ MA,Q ;COPY REGISTER
8087 ADDI Q,2
8088 IFL <Q-6>,<ANDI Q,177777>
8089 LOAD MA,MA
8090 LOAD MA,T1
8091 JRST @GET3'Q
8092
8093 SBGT3'Q:
8094 BGET3'Q:
8095 BRGT3'Q:
8096 Z
8097 HRRZ MA,Q ;COPY REGISTER
8098 ADDI Q,2 ;;2 (NOT 1) BECAUSE DEFERRED
8099 IFL <Q-6>,<ANDI Q,177777>
8100 LOAD MA,MA
8101 BLOAD MA,T1
8102 JRST @BGET3'Q
8103
8104 JMP3'Q:
8105 Z
8106 HRRZ MA,Q ;COPY REGISTER
8107 ADDI Q,2
8108 IFL <Q-6>,<ANDI Q,177777>
8109 LOAD MA,T1
8110 JRST @JMP3'Q
8111
8112 PUT3'Q:
8113 HRRZ MA,Q ;COPY REGISTER
8114 ADDI Q,2
8115 IFL <Q-6>,<ANDI Q,177777>
8116 LOAD MA,MA
8117 STORE MA,T1
8118 JRST SIM11
8119
8120 BPUT3'Q:
8121 HRRZ MA,Q ;COPY REGISTER
8122 ADDI Q,2 ;;2 (NOT 1) BECAUSE DEFERRED
8123 IFL <Q-6>,<ANDI Q,177777>
8124 LOAD MA,MA
8125 BSTORE MA,T1
8126 JRST SIM11
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 186
DDT11 MAC 18-May-81 17:27 ADDRESSING MODE CALCULATIONS
8127 ;MODE 4 - AUTO-DECREMENT
8128
8129 RGET4'Q:
8130 IFE <Q-6>,<
8131 Z
8132 SUBI Q,2
8133 IFL <Q-7>,<ANDI Q,177777>
8134 HRRZ MA,Q ;COPY SP IN CASE OF STACK VIOLATION
8135 CAIGE MA,400
8136 JSR STACKV ;WE'RE GONNA VIOLATE STACK
8137 LOAD MA,T1
8138 JRST @RGET4'Q
8139 >;IFE <Q-6>
8140
8141 SGET4'Q:
8142 GET4'Q:
8143 Z
8144 SUBI Q,2
8145 IFL <Q-7>,<ANDI Q,177777>
8146 LOAD Q,T1
8147 JRST @GET4'Q
8148
8149 BRGT4'Q:
8150 IFE <Q-6>,<
8151 Z
8152 IFGE <Q-6>,< SUBI Q,2 >
8153 IFL <Q-6>,< SOSGE Q >
8154 IFL <Q-7>,<ANDI Q,177777>
8155 HRRZ MA,Q
8156 CAIGE MA,400
8157 JSR STACKV ;WE'RE GONNA VIOLATE STACK
8158 BLOAD MA,T1
8159 JRST @BRGT4'Q
8160 >;IFE <Q-6>
8161
8162 SBGT4'Q:
8163 BGET4'Q:
8164 Z
8165 IFGE <Q-6>,< SUBI Q,2 >
8166 IFL <Q-6>,< SOSGE Q >
8167 IFL <Q-7>,<ANDI Q,177777>
8168 BLOAD Q,T1
8169 JRST @BGET4'Q
8170
8171 JMP4'Q:
8172 Z
8173 IFL <Q-7>,<ANDI Q,177777>
8174 HRRZ T1,Q
8175 JRST @JMP4'Q
8176
8177 PUT4'Q:
8178 SUBI Q,2
8179 IFL <Q-7>,<ANDI Q,177777>
8180 STORE Q,T1
8181 JRST SIM11
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 186-1
DDT11 MAC 18-May-81 17:27 ADDRESSING MODE CALCULATIONS
8182
8183 BPUT4'Q:
8184 IFGE <Q-6>,< SUBI Q,2 >
8185 IFL <Q-6>,< SOSGE Q >
8186 IFL <Q-7>,<ANDI Q,177777>
8187 BSTORE Q,T1
8188 JRST SIM11
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 187
DDT11 MAC 18-May-81 17:27 ADDRESSING MODE CALCULATIONS
8189 ;MODE 5 - AUTO-DECREMENT DEFERRED
8190
8191 SGET5'Q:
8192 GET5'Q:
8193 RGET5'Q:
8194 Z
8195 SUBI Q,2
8196 IFL <Q-7>,<ANDI Q,177777>
8197 LOAD Q,MA
8198 LOAD MA,T1
8199 JRST @GET5'Q
8200
8201 SBGT5'Q:
8202 BGET5'Q:
8203 BRGT5'Q:
8204 Z
8205 SUBI Q,2 ;2 (NOT 1) BECAUSE DEFERRED
8206 IFL <Q-7>,<ANDI Q,177777>
8207 LOAD Q,MA
8208 BLOAD MA,T1
8209 JRST @BGET5'Q
8210
8211 JMP5'Q:
8212 Z
8213 SUBI Q,2
8214 IFL <Q-7>,<ANDI Q,177777>
8215 LOAD Q,T1
8216 JRST @JMP5'Q
8217
8218 PUT5'Q:
8219 SUBI Q,2
8220 IFL <Q-7>,<ANDI Q,177777>
8221 LOAD Q,MA
8222 STORE MA,T1
8223 JRST SIM11
8224
8225 BPUT5'Q:
8226 SUBI Q,2 ;2 (NOT 1) BECAUSE DEFERRED
8227 IFL <Q-7>,<ANDI Q,177777>
8228 LOAD Q,MA
8229 BSTORE MA,T1
8230 JRST SIM11
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 188
DDT11 MAC 18-May-81 17:27 ADDRESSING MODE CALCULATIONS
8231 ;MODE 6 - INDEXED
8232
8233 RGET6'Q:
8234 IFE <Q-6>,<
8235 Z
8236 LOAD PC,MA
8237 ADDI PC,2
8238 ADD MA,Q
8239 ANDI MA,177777
8240 CAIGE MA,400
8241 JSR STACKV ;WE'RE GONNA VIOLATE STACK
8242 LOAD MA,T1
8243 JRST @RGET6'Q
8244 >;IFE <Q-6>
8245
8246 SGET6'Q:
8247 GET6'Q:
8248 Z
8249 LOAD PC,MA
8250 ADDI PC,2
8251 ADD MA,Q
8252 ANDI MA,177777
8253 LOAD MA,T1
8254 JRST @GET6'Q
8255
8256 BRGT6'Q:
8257 IFE <Q-6>,<
8258 Z
8259 LOAD PC,MA
8260 ADDI PC,2
8261 ADD MA,Q
8262 ANDI MA,177777
8263 CAIGE MA,400
8264 JSR STACKV ;WE'RE GONNA VIOLATE STACK
8265 BLOAD MA,T1
8266 JRST @BRGT6'Q
8267 >;IFE <Q-6>
8268
8269 SBGT6'Q:
8270 BGET6'Q:
8271 Z
8272 LOAD PC,MA
8273 ADDI PC,2
8274 ADD MA,Q
8275 ANDI MA,177777
8276 BLOAD MA,T1
8277 JRST @BGET6'Q
8278
8279 JMP6'Q:
8280 Z
8281 LOAD PC,T1
8282 ADDI PC,2
8283 ADD T1,Q
8284 ANDI T1,177777
8285 JRST @JMP6'Q
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 188-1
DDT11 MAC 18-May-81 17:27 ADDRESSING MODE CALCULATIONS
8286
8287 PUT6'Q:
8288 LOAD PC,MA
8289 ADDI PC,2
8290 ADD MA,Q
8291 ANDI MA,177777
8292 IFE <Q-6>,<
8293 CAIGE MA,400
8294 JSR STCKVP ;MADE STACK VIOLATION
8295 >;IFE <Q-6>
8296 STORE MA,T1
8297 JRST SIM11
8298
8299 BPUT6'Q:
8300 LOAD PC,MA
8301 ADDI PC,2
8302 ADD MA,Q
8303 ANDI MA,177777
8304 IFE <Q-6>,<
8305 CAIGE MA,400
8306 JSR STCKVP ;MADE STACK VIOLATION
8307 >;IFE <Q-6>
8308 BSTORE MA,T1
8309 JRST SIM11
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 189
DDT11 MAC 18-May-81 17:27 ADDRESSING MODE CALCULATIONS
8310 ;MODE 7 - INDEXED DEFERRED
8311
8312 SGET7'Q:
8313 GET7'Q:
8314 RGET7'Q:
8315 Z
8316 LOAD PC,MA
8317 ADDI PC,2
8318 ADD MA,Q
8319 ANDI MA,177777
8320 LOAD MA,MA
8321 LOAD MA,T1
8322 JRST @GET7'Q
8323
8324 SBGT7'Q:
8325 BGET7'Q:
8326 BRGT7'Q:
8327 Z
8328 LOAD PC,MA
8329 ADDI PC,2
8330 ADD MA,Q
8331 ANDI MA,177777
8332 LOAD MA,MA
8333 BLOAD MA,T1
8334 JRST @BGET7'Q
8335
8336 JMP7'Q:
8337 Z
8338 LOAD PC,MA
8339 ADDI PC,2
8340 ADD MA,Q
8341 ANDI MA,177777
8342 LOAD MA,T1
8343 JRST @JMP7'Q
8344
8345 PUT7'Q:
8346 LOAD PC,MA
8347 ADDI PC,2
8348 ADD MA,Q
8349 ANDI MA,177777
8350 LOAD MA,MA
8351 STORE MA,T1
8352 JRST SIM11
8353
8354 BPUT7'Q:
8355 LOAD PC,MA
8356 ADDI PC,2
8357 ADD MA,Q
8358 ANDI MA,177777
8359 LOAD MA,MA
8360 BSTORE MA,T1
8361 JRST SIM11
8362
8363 LIST
8364 >;DEFINE X (Q)
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 190
DDT11 MAC 18-May-81 17:27 ADDRESSING MODE CALCULATIONS
8365 ;EXPAND MACRO FOR GET, RGET AND PUT
8366
8367 000000 QQ= 0
8368 REPEAT 10,<
8369 X \QQ
8370 QQ= QQ+1
8371 >;REPEAT 10
8372
8373
8374
8375
8376
8377
8378
8379
8380
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 191
DDT11 MAC 18-May-81 17:27 IO SIMULATION
8381 SUBTTL IO SIMULATION
8382
8383 ;ROUTINE TO READ AND WRITE IN THE IO AREA
8384 ; NOTE THAT REFERENCES ARE NOT CHECKED TO BE SURE IN IO AREA (160000-177777)
8385 ; THIS DOESN'T MATTER BECAUSE THEY WILL REFERENCE 600000+MEMLIM TO 7600000
8386 ; WHICH SHOULD PAGE FAIL (UNLESS MEMORY IS ON UNIBUS)
8387
8388 DEFINE X (Q,QQ) <
8389 XLIST
8390 HRRZ MA+1,FIRDDB
8391 CAMG MA,1(MA+1)
8392 JRST [CAMGE MA,(MA+1)
8393 JRST .+3
8394 TLO MA,MA..IO ;REMEMBER IS AN IO DEVICE
8395 JRST @DV.'Q(MA+1) ]
8396 HRRZ MA+1,DV.LNK(MA+1) ;GET NEXT DEVICE ADR
8397 JUMPN MA+1,.-3
8398 TXNN FLG,F.EXEC
8399 JRST QQ ;CAN'T HELP THIS GUY
8400 HLL MA,UBACTL ;ADD UBA UNIT NUMBER
8401 LIST
8402 >;DEFINE X (OFFSET)
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 192
DDT11 MAC 18-May-81 17:27 IO SIMULATION
8403 ;HERE TO DO A WORD LOAD FROM AN IO REGISTER
8404 000000 000001 SKIPA T1,[EXP 1] ;SIMPLE SKIP RETURN FOR GETWRD
8405 032657' 334440 043613'
8406 032660' 201440 000004 IOLOAD: MOVEI T1,LODRET ;SO RETURN GOES RIGHT
8407 032661' 272457 000000 ADDM T1,(P)
8408 X LOD,NXMRET
8409 032672' 607400 002000 TXNN FLG,F.EXEC
8410 032673' 254000 032676' JRST NXMRET
8411 032674' 712453 600000 RDIO T1,600000(MA) ;GET DATA FROM UNIBUS
8412 032675' 254000 032714' JRST IORET ;DONE
8413
8414 ;HERE FOR A NXM (AFTER POPING RETURN OFF STACK)
8415 032676' 607400 002000 NXMRET: TXNN FLG,F.EXEC ;RUNNING IN EXEC MODE ?
8416 032677' 254000 032710' JRST NXMRT3 ;NO
8417 032700' 201500 440200 MOVEI T2,1B18+1B21+1B28
8418 032701' 135440 011152' LDB T1,P.PLVL ;GET PROCESSOR LEVEL
8419 032702' 305440 000007 CAIGE T1,7 ;ALLOW BR7 ?
8420 032703' 201500 440230 MOVEI T2,1B18+1B21!UBA.B7
8421 032704' 305440 000005 CAIGE T1,5 ;ALLOW BR7 ?
8422 032705' 201500 440234 MOVEI T2,1B18+1B21!UBA.B5!UBA.B7
8423 032706' 510440 041114' HLLZ T1,UBACTL ;POINT TO RIGHT UNIBUS
8424 032707' 713511 763100 WRIO T2,UBA.SR(T1) ;CLEAR FLAG
8425 032710' 607400 001000 NXMRT3: TXNN FLG,F..SIM ;ARE WE SIMULATING ?
8426 370017 000000 JRST [SOS (P) ;UNSKIP THE RETURN
8427 263740 000000 RET ]
8428 032711' 254000 047134'
8429 032712' 262740 000011 POP P,T1 ;CLEAN OFF STACK
8430 032713' 254000 016750' JRST NXM...
8431
8432 032714' 505540 050000 IORET: HRLI MA,MA..UN!MA..IO ;MUST BE A UNIBUS DEVICE
8433 032715' 263740 000000 RET
8434
8435 ;HERE TO DO A BYTE LOAD FROM AN IO REGISTER
8436 000000 000001 SKIPA T1,[EXP 1] ;SIMPLE SKIP RETURN
8437 032716' 334440 043613'
8438 032717' 201440 000007 IOBLOD: MOVEI T1,BLDRET ;NUMBER OF INSTRUCTIONS TO SKIP
8439 032720' 272457 000000 ADDM T1,(P) ;SKIP RETURN
8440 X BLD,NXMRET
8441 032731' 607400 002000 TXNN FLG,F.EXEC
8442 032732' 254000 032676' JRST NXMRET
8443 032733' 722453 600000 RDIOB T1,600000(MA) ;GET DATA FROM UNIBUS
8444 032734' 254000 032714' JRST IORET ;WILL SKIP IF FAILED
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 193
DDT11 MAC 18-May-81 17:27 IO SIMULATION
8445 ;HERE TO STORE A WORD IN THE IO AREA
8446 032735' IOSTOR:
8447 X WRT,STONXM
8448 032745' 607400 002000 TXNN FLG,F.EXEC
8449 032746' 254000 032763' JRST STONX3
8450 032747' 713453 600000 WRIO T1,600000(MA) ;GIVE DATA TO UNIBUS
8451 032750' 254000 032714' JRST IORET
8452 032751' 607400 002000 STONXM: TXNN FLG,F.EXEC ;RUNNING IN EXEC MODE ?
8453 032752' 254000 032763' JRST STONX3 ;NO
8454 032753' 201500 440200 MOVEI T2,1B18+1B21+1B28
8455 032754' 135440 011152' LDB T1,P.PLVL ;GET PROCESSOR LEVEL
8456 032755' 305440 000007 CAIGE T1,7 ;ALLOW BR7 ?
8457 032756' 201500 440230 MOVEI T2,1B18+1B21!UBA.B7
8458 032757' 305440 000005 CAIGE T1,5 ;ALLOW BR7 ?
8459 032760' 201500 440234 MOVEI T2,1B18+1B21!UBA.B5!UBA.B7
8460 032761' 510440 041114' HLLZ T1,UBACTL ;POINT TO RIGHT UNIBUS
8461 032762' 713511 763100 WRIO T2,UBA.SR(T1) ;CLEAR FLAG
8462 032763' 607400 001000 STONX3: TXNN FLG,F..SIM ;ARE WE SIMULATING ?
8463 032764' 263740 000000 POPJ P, ;NO SO SIMPLE ERROR
8464 032765' 262740 000011 POP P,T1 ;CLEAN OFF STACK
8465 032766' 254000 016746' JRST STFNXM ;GIVE BUS TRAP
8466
8467 ;HERE TO STORE A BYTE IN THE IO AREA
8468 032767' IOBSTO:
8469 X BWR,STONXM
8470 032777' 607400 002000 TXNN FLG,F.EXEC
8471 033000' 254000 032751' JRST STONXM
8472 033001' 723453 600000 WRIOB T1,600000(MA) ;GET DATA FROM UNIBUS
8473 033002' 254000 032714' JRST IORET ;WON
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 194
DDT11 MAC 18-May-81 17:27 IO SIMULATION
8474 DEFINE X (Q,QQ) <
8475 XLIST
8476 TLNN MA,MA..UN ;IS THIS A UNIBUS DEVICE ?
8477 JRST Q ;SAME AS PLAIN TYPE
8478 HLL MA,UBACTL ;ADD UNIBUS UNIT
8479 QQ T2,600000(MA) ;DO THE WRITE
8480 RET
8481 JRST IORERR ;ERROR !?!
8482 LIST
8483 >;DEFINE X
8484
8485 ;HERE TO RESTORE (CLEARING BITS) A WORD TO THE IO AREA
8486 033003' IOR.C: X IOR.,BCIO
8487
8488 ;HERE TO RESTORE (SETTING BITS) A WORD TO THE IO AREA
8489 033011' IOR.S: X IOR.,BSIO
8490
8491 ;HERE TO RESTORE A WORD TO THE IO AREA
8492 033017' 603540 040000 IOR.: TLNE MA,MA..UN ;IS THIS A UNIBUS DEVICE ?
8493 500540 041114' JRST [HLL MA,UBACTL ;ADD UNIBUS UNIT
8494 713453 600000 WRIO T1,600000(MA) ;WRITE THE DATA
8495 263740 000000 RET
8496 254000 033043' JRST IORERR ] ;ERROR !?!
8497 033020' 254000 047152'
8498 033021' 405540 177777 ANDI MA,177777
8499 033022' 254034 000005 JRST @DV.WRT(MA+1) ;STORE DATA
8500
8501 ;HERE TO RESTORE (CLEARING BITS) A BYTE TO THE IO AREA
8502 033023' IOBR.C: X IOBR.,BCIOB
8503
8504 ;HERE TO RESTORE (SETTING BITS) A BYTE TO THE IO AREA
8505 033031' IOBR.S: X IOBR.,BSIOB
8506
8507 ;HERE TO RESTORE A BYTE TO THE IO AREA
8508 033037' 603540 040000 IOBR.: TLNE MA,MA..UN ;IS THIS A UNIBUS DEVICE ?
8509 500540 041114' JRST [HLL MA,UBACTL ;ADD UNIBUS NUMBER
8510 723453 600000 WRIOB T1,600000(MA) ;WRITE THE DATA
8511 263740 000000 RET
8512 254000 033043' JRST IORERR ] ;ERROR !?!
8513 033040' 254000 047156'
8514 033041' 405540 177777 ANDI MA,177777 ;STRIP EXTRA BITS
8515 033042' 254034 000006 JRST @DV.BWR(MA+1) ;STORE DATA
8516
8517 ;HERE IF ERROR RESTORING DATA
8518 033043' 254200 033043' IORERR: HALT .
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 195
DDT11 MAC 18-May-81 17:27 IO SIMULATION
8519 ;TRANSLATION OF IO ADDRESS SPACE
8520
8521 DEFINE DDBGEN (DEV,WRDS) <
8522 XLIST
8523 IF2,<
8524 IFGE <DEV'ADR-DDBADR> <PRINTX ERROR BUILDING IOMAP>
8525 IFNDEF DEV'TIM,<DEV'TIM==R> ;DEFAULT TIMER ROUTINE
8526 IFNDEF DEV'RST,<DEV'RST==R> ;DEFAULT RESET ROUTINE
8527 IFNDEF DEV'LVL,<DEV'LVL==0 ;DEFAULT INTERRUPT LEVEL
8528 DEV'INT==0> ;DEFAULT INTERRUPT ROUTINE
8529 >;IF2
8530 DEV'DDB: PHASE 0
8531 0,,DEV'ADR ;FIRST ADR IN DEVICE
8532 0,,DEV'ADR+WRDS+WRDS-1 ;HIGHEST ADR IN DEVICE
8533 DDBADR==DEV'ADR
8534 DV.LNK:! DDBLNK,,DDBLNK ;LINK TO NEXT DEVICE BLOCK
8535 DDBLNK==DEV'DDB
8536 DV.LOD:! EXP DEV'LOD ;DISPATCH FOR LOAD
8537 DV.BLD:! EXP DEV'BLD ;DISPATCH FOR BYTE LOAD
8538 DV.WRT:! EXP DEV'WRT ;DISPATCH FOR WRITING WORDS
8539 DV.BWR:! EXP DEV'BWR ;DISPATCH FOR WRITING BYTES
8540 DV.TIM:! EXP DEV'TIM ;DISPATCH WHEN TIMER GOES OFF
8541 ; RETURNS WITH SKIP IF INTERRUPTED
8542 Z ;TIME TO TAKE TIMER DISPATCH
8543 DV.RST:! EXP DEV'RST ;DISPATCH FOR RESET
8544 DV.LVL:! EXP DEV'LVL ;CONTAINS DEVICE LEVEL
8545 DV.INT:! EXP DEV'INT ;DISPATCH IF WANT TO CHECK FOR INTERRUPTS
8546 DV.SIZ:!
8547 DEPHASE
8548 LIST
8549 >;DEFINE DDBGEN
8550
8551 ;FOLLOWING DDBGEN ARE SIMULATED DEVICES TO USE STANDARD READ, WRITE ROUTINES
8552 ; 0,,0 ;LH IS WRITEABLE BY PROGRAM BITS,,RH IS REGISTER
8553 ; 0,,0 ;LH IS WRITEABLE BY OPERATORE BITS,,RH IS OLD REGISTER
8554
8555 200000 DDBADR==200000
8556
8557 000000 DDBLNK==0
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 196
DDT11 MAC 18-May-81 17:27 IO SIMULATION
8558 ;HERE TO WRITE A SIMULATED DEVICE REGISTER
8559 ; CALL MOVE T1,<WANT TO WRITE>
8560 ; CALL DEVWRT
8561 ; RETURN WITH NEW REGISTER IN T1
8562 033044' 405540 177777 DEVWRT: ANDI MA,177777 ;STRIP EXTRA BITS
8563 033045' 550500 000013 HRRZ T2,MA ;COPY DEVICE ADDRESS
8564 033046' 274514 000000 SUB T2,(MA+1) ;MAKE RELATIVE ADR
8565 033047' 271514 000014 ADDI T2,DV.SIZ(MA+1) ;POINT TO DEVICE REGISTERS
8566 033050' 261740 000011 PUSH P,T1 ;SAVE DATA TO WRITE
8567 033051' 200452 000000 MOVE T1,(T2) ;GET ORIGINAL REGISTER
8568 033052' 542452 000001 HRRM T1,1(T2) ;SAVE ORIGINAL REGISTER
8569 033053' 557000 000011 HLRZS T1 ;BITS PROGRAM CAN WRITE
8570 033054' 607400 001000 TXNN FLG,F..SIM ;IS SIMULATION RUNNING
8571 033055' 554452 000001 HLRZ T1,1(T2) ;NO SO HAVE DIFFERENT ENABLES
8572 033056' 412452 000000 ANDCAM T1,(T2) ;CLEAR BITS IN SIMULATED REGISTER
8573 033057' 404457 000000 AND T1,(P) ;BITS TO SET
8574 033060' 437452 000000 IORB T1,(T2) ;SET NEW BITS
8575 033061' 262740 000012 POP P,T2 ;CLEAN UP STACK
8576 033062' 263740 000000 RET
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 197
DDT11 MAC 18-May-81 17:27 IO SIMULATION - PS
8577 SUBTTL IO SIMULATION - PS
8578
8579 ;HERE FOR PDP11 REFERENCES TO THE PS
8580
8581 177776 PS.ADR==177776
8582
8583 DDBGEN PS.,1
8584
8585 033077' PS.REG:
8586 033077' 000357 000000 000357,,0 ;PS REGISTER FOR DEVWRT, ETC.
8587 033100' 000377 000000 000377,,0 ;LET OPERATOR SET ALL BITS
8588
8589 033101' 550440 000016 PS.LOD: HRRZ T1,PS ;JUST A LOAD
8590 033102' 263740 000000 RET
8591
8592 033103' 550440 000016 PS.BLD: HRRZ T1,PS ;LOAD THE PS
8593 033104' 602540 000001 TRNE MA,1 ;WANT LEFT HALF ?
8594 033105' 242440 777770 LSH T1,-^D8
8595 033106' 405440 000377 ANDI T1,377
8596 033107' 263740 000000 RET
8597
8598 033110' 602540 000001 PS.BWR: TRNE MA,1 ;WRITING LH ?
8599 033111' 263740 000000 RET
8600 033112' 542700 033077' PS.WRT: HRRM PS,PS.REG ;COPY CURRENT PS
8601 033113' 260740 033044' CALL DEVWRT ;SET NEW PS
8602 033114' 550700 033077' HRRZ PS,PS.REG ;SETUP NEW PS
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 198
DDT11 MAC 18-May-81 17:27 IO SIMULATION - PS
8603 ;HERE TO SEE IF NEW PS IS LOWER PRIORITY THAN OLD PS AND IF SO CHECK FOR INTERRUPTS
8604 033115' 135500 011152' PS.CHK: LDB T2,P.PLVL ;GET CURRENT PS LEVEL
8605 033116' 607400 002000 TXNN FLG,F.EXEC ;RUNNING IN EXEC MODE ?
8606 033117' 254000 033127' JRST PSCHK0 ;NO SO DON'T CHANGE ANYTHING
8607 033120' 201440 000200 MOVEI T1,1B28 ;ASSUME CAN'T TAKE INTERRUPTS
8608 033121' 305500 000007 CAIGE T2,7 ;CAN WE TAKE BR7'S NOW ?
8609 033122' 551440 000230 HRRZI T1,UBA.B7 ;ENABLE CHANNEL FOR BR7
8610 033123' 305500 000005 CAIGE T2,5 ;CAN WE TAKE BR5'S NOW ?
8611 033124' 551440 000234 HRRZI T1,UBA.B5!UBA.B7;ENABLE FOR BR5 & BR7
8612 033125' 510500 041114' HLLZ T2,UBACTL ;POINT TO UNIBUS
8613 033126' 713452 763100 WRIO T1,UBA.SR(T2) ;ENABLE TO TAKE INTERRUPTS
8614 033127' 550600 034105' PSCHK0: HRRZ MA+1,FIRDDB
8615 033130' 311514 000012 PSCHK1: CAML T2,DV.LVL(MA+1)
8616 033131' 254000 033137' JRST PSCHK3
8617 033132' 620400 000002 TXZ FLG,F.FLOP
8618 033133' 260774 000013 CALL @DV.INT(MA+1)
8619 033134' 602400 000002 TXNE FLG,F.FLOP ;DID THAT ONE TAKE AN INTERRUPT ?
8620 033135' 263740 000000 RET ;ALL DONE
8621 033136' 135500 011152' LDB T2,P.PLVL ;GET CURRENT PS LEVEL
8622 033137' 550614 000002 PSCHK3: HRRZ MA+1,DV.LNK(MA+1)
8623 033140' 326600 033130' JUMPN MA+1,PSCHK1
8624 033141' 263740 000000 RET
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 199
DDT11 MAC 18-May-81 17:27 IO SIMULATION - SWITCHES
8625 SUBTTL IO SIMULATION - SWITCHES
8626
8627 ;HERE FOR PDP11 REFERENCES TO THE SWITCH REGISTER
8628
8629 177570 SW.ADR==177570
8630
8631 DDBGEN SW.,1
8632
8633 033156' 000000 000000 SW.REG: 0,,0 ;THIS IS THE SWITCH REGISTER
8634 033157' 177777 000000 177777,,0 ;LH IS WRITEABLE BY OPER BITS
8635
8636 033160' 200440 033156' SW.LOD: MOVE T1,SW.REG ;LOAD THE SWITCHES
8637 033161' 263740 000000 RET
8638
8639 033162' 200440 033156' SW.BLD: MOVE T1,SW.REG ;LOAD THE SWITCHES
8640 033163' 602440 000001 TRNE T1,1 ;WANT LH BYTE ?
8641 033164' 242440 777770 LSH T1,-10 ;WANT LH
8642 033165' 405440 000377 ANDI T1,377 ;ONLY 8 BITS
8643 033166' 263740 000000 RET
8644
8645 033044' SW.WRT==DEVWRT ;PLAIN DEVICE WRITE
8646
8647 033167' 603400 001000 SW.BWR: TXNE FLG,F..SIM ;ARE WE SIMULATING ?
8648 033170' 263740 000000 RET ;YES SO DON'T WRITE IT
8649 033171' 606540 000001 TRNN MA,1 ;WRITING RH ?
8650 001000 033156' DPB T1,[POINT 8,SW.REG,35] ;YES
8651 033172' 137440 047162'
8652 033173' 602540 000001 TRNE MA,1 ;WRITING LH ?
8653 101000 033156' DPB T1,[POINT 8,SW.REG,27]
8654 033174' 137440 047163'
8655 033175' 263740 000000 RET
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 200
DDT11 MAC 18-May-81 17:27 IO SIMULATION - CTY
8656 SUBTTL IO SIMULATION - CTY
8657
8658 ;HERE TO READ OR WRITE THE SIMULATED CTY REGS
8659
8660 177560 CTYADR==177560
8661 000004 CTYLVL==4
8662
8663 DDBGEN CTY,4
8664
8665 ;SIMULATED DEVICE REGISTERS FOR CTY
8666 ; LH IS MASK FOR BITS WHICH USER CAN WRITE
8667 ; RH IS SIMULATED REGISTER
8668 ; 2ND WORD IS COPY BEFORE WRITE
8669 033212' 000100 000200 CTISTS: 100,,200
8670 033213' 000300 000000 300,,0
8671 033214' 000377 000000 CTIDAT: 377,,0
8672 033215' 000377 000000 377,,0
8673 033216' 000104 000200 CTOSTS: 104,,200 ;200=RDY,100=ENAB,4=MAINT
8674 033217' 000304 000000 304,,0
8675 033220' 000377 000000 CTODAT: 377,,0
8676 033221' 000377 000000 377,,0
8677 033222' 777777 777777 CTOFLG: -1 ;WHEN -1 CTY OUTPUT WANTS TO INTERRUPT
8678 033223' 777777 777777 CTIFLG: -1 ;WHEN -1 CTY INPUT WANTS TO INTERRUPT
8679
8680 033224' 000000 000000 CTITIM: Z ;TIME TO CHECK CTY FOR INPUT
8681 033225' 000000 010000 CTISPD: EXP 010000 ;NUMBER OF INSTRUCTIONS BETWEEN INPUTTING CHARS
8682 033226' 000000 000000 CTOTIM: Z ;TIME FOR CTY OUTPUT TO BE DONE OR 0
8683 033227' 000000 001000 CTOSPD: EXP 001000 ;NUMBER OF INSTRUCTIONS BETWEEN PRINTING CHARS
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 201
DDT11 MAC 18-May-81 17:27 IO SIMULATION - CTY
8684 ;HERE ON A RESET
8685 033230' 200440 033225' CTYRST: MOVE T1,CTISPD ;START TIMING AGAIN
8686 033231' 270440 011607' ADD T1,INSRUN ;MAKE ABSOLUTE
8687 033232' 202440 033224' MOVEM T1,CTITIM ;TIME TO CHECK KEYBOARD AGAIN
8688 033233' 202440 033206' MOVEM T1,DV.TIM+1+CTYDDB ;TIME TO CHECK KEYBOARD
8689 033234' 402000 033226' SETZM CTOTIM ;DON'T NEED TIMER FOR PRINTER
8690 033235' 513000 033212' HLLZS CTISTS ;CLEAR KEYBOARD REGISTER
8691 ;CTIDAT UNAFFECTED
8692 033236' 402000 033223' SETZM CTIFLG ;DON'T WANT TO INTERRUPT
8693 033237' 201440 000200 MOVEI T1,200 ;DONE FLAG
8694 033240' 542440 033216' HRRM T1,CTOSTS ;FOR TELEPRINTER
8695 033241' 513000 033220' HLLZS CTODAT ;CLEAR OUTPUT DATA REGISTER
8696 033242' 476000 033222' SETOM CTOFLG ;WANT TO INTERRUPT
8697 033243' 263740 000000 RET
8698
8699 ;HERE IF USER DOES A BYTE OPERATION TO READ A CTY REGISTER
8700 033244' 400440 000000 CTYBLD: SETZ T1,
8701 033245' 602540 000001 TRNE MA,1
8702 033246' 263740 000000 RET
8703 ;FALL INTO WORD OPERATION
8704
8705 ;HERE IF USER DOES A WORD OPERATION TO READ A CTY REGISTER
8706 033247' 461440 000200 CTYLOD: SETCMI T1,200 ;MASK FOR CTISTS
8707 033250' 607400 001000 TXNN FLG,F..SIM ;ARE WE SIMULATING ?
8708 033251' 400440 000000 SETZ T1, ;NO - DON'T ZERO ANYTHING
8709 010000 177562 CAMN MA,[MA..IO,,CTYADR+2] ;READING DATA ?
8710 033252' 316540 047164'
8711 033253' 406440 033212' ANDM T1,CTISTS ;CLEAR DONE FLOP
8712 033254' 550453 633432' HRRZ T1,CTISTS-CTYADR(MA) ;GET REGISTER FOR HIM
8713 033255' 263740 000000 RET
8714
8715 ;HERE IF USER DOES A BYTE WRITE TO A CTY REGISTER
8716 033256' 602540 000001 CTYBWR: TRNE MA,1 ;WRITING LH ?
8717 033257' 263740 000000 RET ;NO BITS THERE TO CHANGE
8718 ;FALL INTO WORD OPERATION
8719
8720 ;HERE IF USER DOES A WORD WRITE TO A CTY REGISTER
8721 033260' 260740 033044' CTYWRT: CALL DEVWRT ;PERFORM THE WRITE
8722 033261' 254033 633502' JRST @.+1-CTYADR(MA)
8723 033262' 000000 033272' CTIWRS ;WRITE CTY KEYBOARD STATUS REGISTER
8724 033263' 254200 033263' HALT .
8725 033264' 000000 005200' R ;WRITE KEYBOARD DATA REGISTER
8726 033265' 254200 033265' HALT .
8727 033266' 000000 033277' CTOWRS ;WRITE CTY PRINTER STATUS REGISTER
8728 033267' 254200 033267' HALT .
8729 033270' 000000 033304' CTOWDT ;WRITE CTY PRINTER DATA
8730 033271' 254200 033271' HALT .
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 202
DDT11 MAC 18-May-81 17:27 IO SIMULATION - CTY
8731 DEFINE X (Q,VEC) <
8732 XLIST
8733 CT'Q'WRS: TDZ T1,CT'Q'STS+1 ;CLEAR BITS WHICH WERE ALREADY SET
8734 TRNN T1,100 ;WAS ENABLE SET ?
8735 RET ;WAS ALREADY SET
8736 SETOM CT'Q'FLG ;CAN INTERRUPT AGAIN
8737 JRST CTYCHK ;CHECK FOR INTERRUPTS
8738 LIST
8739 >;DEFINE X
8740
8741 ;HERE BECAUSE WRITING CTY KEYBOARD STATUS REGISTER
8742 X I,60
8743
8744 ;HERE BECAUSE WRITING CTY PRINTER STATUS REGISTER
8745 X O,64
8746
8747 ;HERE BECAUSE WRITING CTY PRINTER DATA REGISTER
8748 033304' 201440 000200 CTOWDT: MOVEI T1,200 ;READY FLOP
8749 033305' 412440 033216' ANDCAM T1,CTOSTS
8750 033306' 402000 033222' SETZM CTOFLG ;DON'T WANT TO INTERRUPT
8751 033307' 570440 011605' TADJUS ;BE SURE INSRUN IS CURRENT
8752 033310' 570500 011606'
8753 033311' 274500 000011
8754 033312' 272500 011607'
8755 033313' 213000 000012
8756 033314' 273500 011606'
8757 033315' 542500 011605'
8758 033316' 200440 033227' MOVE T1,CTOSPD ;TIME TILL ALL PRINTED
8759 033317' 311440 011606' CAML T1,INTDLY+1 ;BEFORE WE STOP TO CHECK ?
8760 033320' 254000 033323' JRST CTOWD1 ;YES
8761 033321' 542440 011605' HRRM T1,INTDLY ;SET NEW TIME TO STOP
8762 033322' 542440 011606' HRRM T1,INTDLY+1
8763 033323' 270440 011607' CTOWD1: ADD T1,INSRUN ;ABSOLUTE TIME TO FINISH PRINT
8764 033324' 202440 033226' MOVEM T1,CTOTIM ;REMEMBER WHEN DONE
8765 033325' 315440 033206' CAMGE T1,DV.TIM+1+CTYDDB ;SOONER THAN KEYBOARD ?
8766 033326' 202440 033206' MOVEM T1,DV.TIM+1+CTYDDB ;SOONER SO USE THIS VALUE
8767 033327' 263740 000000 RET
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 203
DDT11 MAC 18-May-81 17:27 IO SIMULATION - CTY
8768 ;HERE IF TIMER FOR CTY GOES OFF
8769 033330' 200440 011607' CTYTIM: MOVE T1,INSRUN ;GET NUMBER OF INSTRUCTIONS EXECUTED SO FAR
8770 033331' 315440 033224' CAMGE T1,CTITIM ;TIME TO CHECK FOR CTY INPUT ?
8771 033332' 254000 033352' JRST CHKCTO
8772 033333' 270440 033225' ADD T1,CTISPD
8773 033334' 202440 033224' MOVEM T1,CTITIM ;RESET CTY TIMER
8774 033335' 051100 000011 INCHRS T1 ;HAS USER TYPED ?
8775 033336' 254000 033352' JRST CHKCTO ;NOT YET
8776 033337' 405440 000177 ANDI T1,177 ;STRIP PARITY (SHOULDN'T HAVE BEEN SET)
8777 033340' 306440 000015 CAIN T1,15 ;WAS THAT A CARRIAGE RETURN ?
8778 051100 000012 JRST [INCHRS T2 ;GET THE LF THAT FOLLOWES
8779 300000 000000 NOP ;FOOBAZ !!!!
8780 254000 033342' JRST .+1 ]
8781 033341' 254000 047165'
8782 033342' 306440 000005 CAIN T1,5 ;WAS THAT A <^E>
8783 JRST [TYPE <
8784 ^E
8785 064253 642432 >
8786
8787 201440 047170'
8788 260740 007655'
8789 260740 007655' CALL TYPSTR
8790 563000 011605' HRROS INTDLY ;STOP THE SIMULATION
8791 621400 004000 TXZ FLG,F.RUNF ;STOP THE SIMULATION
8792 254000 033352' JRST CHKCTO ]
8793 033343' 254000 047172'
8794 033344' 306440 000024 CAIN T1,24 ;WAS THAT A ^T ?
8795 033345' 254000 033567' JRST CNTRLT ;DISPLAY STATUS FOR CONTROL T
8796 033346' 542440 033214' HRRM T1,CTIDAT ;SAVE CHAR FOR PROGRAM
8797 033347' 201440 000200 MOVEI T1,200 ;DONE FLAG
8798 033350' 437440 033212' IORB T1,CTISTS ;SET FLAG
8799 033351' 476000 033223' SETOM CTIFLG ;SO WE INTERRUPT
8800 033352' 332440 033226' CHKCTO: SKIPE T1,CTOTIM ;ARE WE TIMING TRANSMITTER ?
8801 033353' 313440 011607' CAMLE T1,INSRUN ;AND HAS ITS TIME COME ?
8802 033354' 254000 033363' JRST CTTIM8 ;NO
8803 033355' 550440 033220' HRRZ T1,CTODAT ;GET CHARACTER TO PRINT
8804 033356' 260740 007666' CALL TYPCHR ;TYPE THE CHARACTER
8805 033357' 402000 033226' SETZM CTOTIM ;CLEAR TIMER
8806 033360' 201440 000200 MOVEI T1,200 ;DONE FLAG
8807 033361' 437440 033216' IORB T1,CTOSTS ;FLAG ITS DONE
8808 033362' 476000 033222' SETOM CTOFLG ;WANT TO INTERRUPT
8809 033363' 332440 033226' CTTIM8: SKIPE T1,CTOTIM ;ARE WE TIMING TRANSMITTER ?
8810 033364' 313440 033224' CAMLE T1,CTITIM ;WILL TRANSMITTER BE FIRST ?
8811 033365' 200440 033224' MOVE T1,CTITIM ;USE KEYBOARD TIME
8812 033366' 202440 033206' MOVEM T1,CTYDDB+DV.TIM+1 ;SET TIMER
8813 033367' 135440 011152' CTYCHK: LDB T1,P.PLVL ;GET PROCESSOR LEVEL
8814 033370' 311440 033210' CAML T1,CTYDDB+DV.LVL ;CAN WE TAKE INTERRUPTS NOW ?
8815 033371' 263740 000000 RET ;NOT NOW
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 204
DDT11 MAC 18-May-81 17:27 IO SIMULATION - CTY
8816 ;HERE CAUSE PS WENT BELOW OUR LVL
8817 033372' 200440 033212' CTYINT: MOVE T1,CTISTS ;GET RECEIVER STATUS
8818 033373' 602440 000200 TRNE T1,200 ;IN INTERRUPT FLAG UP
8819 033374' 606440 000100 TRNN T1,100 ;AND IS ENABLE SET ?
8820 033375' 254000 033470' JRST CTOINT ;CHECK TRANSMITTER
8821 033376' 336000 033223' SKIPN CTIFLG ;MAY WE INTERRUPT ?
8822 033377' 254000 033470' JRST CTOINT ;NO SO CHECK TRANSMITTER
8823 033400' 402000 033223' SETZM CTIFLG ;DON'T INTERRUPT AGAIN
8824 INTSAV 60 ;TAKE INPUT INTERRUPT
8825
8826 033632' 000300 000000 CLKSTS: 000300,,0 ;SIMULATED CLOCK STATUS REGISTER
8827 033633' 000300 000000 000300,,0 ; 200=INT,100=ENAB
8828 033634' 000000 000000 CLKFLG: Z ;WHEN NONZERO CLOCK CAN INTERRUPT
8829 033635' 000000 001750 CLKSPD: EXP ^D1000 ;INSTRUCTIONS/CLOCK TICK
8830 ; THIS IS SLOWER THAN REAL 11/40 BUT
8831 ; FASTER THAN SIMULATED 11/40
8832 033636' 000000 000000 CLKTCK: Z ;COUNTED DOWN ONCE/MILASECOND
8833
8834 ;HERE FOR THE KW11L ON A RESET
8835 033637' 201440 000200 CLKRST: MOVEI T1,200
8836 033640' 542440 033632' HRRM T1,CLKSTS
8837 033641' 476000 033634' SETOM CLKFLG ;CAN TAKE AN INTERRUPT
8838 033642' 607400 002000 TXNN FLG,F.EXEC
8839 033643' 254000 033646' JRST CLKRS1
8840 033644' 201440 000024 MOVEI T1,^D20 ;NUMBER OF MILLASECONDS TILL NEXT TICK
8841 033645' 202440 033636' MOVEM T1,CLKTCK
8842 033646' 570440 011605' CLKRS1: TADJUS ;MAKE TIMER CURRENT
8843 033647' 570500 011606'
8844 033650' 274500 000011
8845 033651' 272500 011607'
8846 033652' 213000 000012
8847 033653' 273500 011606'
8848 033654' 542500 011605'
8849 033655' 200440 033635' MOVE T1,CLKSPD ;TIME TILL NEXT TICK
8850 033656' 311440 011606' CAML T1,INTDLY+1 ;LESS THAN ANY OTHER ?
8851 033657' 254000 033662' JRST CLKRS2
8852 033660' 542440 011606' HRRM T1,INTDLY+1
8853 033661' 542440 011605' HRRM T1,INTDLY
8854 033662' 270440 011607' CLKRS2: ADD T1,INSRUN ;TIME TILL NEXT TICK
8855 033663' 202440 033626' MOVEM T1,CLKDDB+DV.TIM+1
8856 033664' 263740 000000 RET
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 207
DDT11 MAC 18-May-81 17:27 IO SIMULATION - KW11L CLOCK
8857 ;HERE TO READ THE CLOCK
8858 033665' 550440 033632' CLKLOD: HRRZ T1,CLKSTS ;GET THE STATUS REGISTER
8859 033666' 263740 000000 RET ;RETURN
8860
8861 ;HERE TO READ THE CLOCK WITH A BYTE INSTRUCTION
8862 033667' 602540 000001 CLKBLD: TRNE MA,1 ;WANT RH OR LH ?
8863 033670' 634440 000011 TDZA T1,T1 ;WANTED LEFT HALF
8864 033671' 550440 033632' HRRZ T1,CLKSTS ;WANTED RH
8865 033672' 263740 000000 RET
8866
8867 ;HERE FOR A BYTE WRITE TO THE KW11L
8868 033673' 602540 000001 CLKBWR: TRNE MA,1 ;WRITING RH OR LH ?
8869 033674' 263740 000000 RET ;DON'T WRITE LH
8870
8871 ;HERE TO WRITE THE KW11L
8872 033675' 260740 033044' CLKWRT: CALL DEVWRT ;PERFORM THE WRITE
8873 033676' 630440 033633' TDZ T1,CLKSTS+1 ;CLEAR BITS ALREADY SET
8874 033677' 602440 000100 TRNE T1,100 ;DID THAT SET ENABLE ?
8875 033700' 476000 033634' SETOM CLKFLG ;CAN INTERRUPT AGAIN
8876 033701' 254000 033727' JRST CLKWR3 ;CHECK FOR POSSIBLE INTERRUPT
8877
8878 ;HERE WHEN TIMER GOES OFF FOR THE CLOCK
8879 033702' 570440 011605' CLKTIM: TADJUS ;BE SURE TIMER CURRENT
8880 033703' 570500 011606'
8881 033704' 274500 000011
8882 033705' 272500 011607'
8883 033706' 213000 000012
8884 033707' 273500 011606'
8885 033710' 542500 011605'
8886 033711' 200440 033635' MOVE T1,CLKSPD ;TIME TILL NEXT CLOCK TICK
8887 033712' 311440 011606' CAML T1,INTDLY+1 ;WILL THIS BE NEXT DEVICE TO TICK ?
8888 033713' 254000 033716' JRST CLKTI1
8889 033714' 542440 011605' HRRM T1,INTDLY
8890 033715' 542440 011606' HRRM T1,INTDLY+1
8891 033716' 270440 011607' CLKTI1: ADD T1,INSRUN ;MAKES TIME FOR NEXT TICK
8892 033717' 202440 033626' MOVEM T1,CLKDDB+DV.TIM+1 ;TIME FOR NEXT TICK
8893 033720' 201440 000200 MOVEI T1,200 ;DONE FLAG
8894 033721' 436440 033632' IORM T1,CLKSTS
8895 033722' 476000 033634' SETOM CLKFLG ;CAN INTERRUPT AGAIN
8896 033723' 607400 002000 TXNN FLG,F.EXEC
8897 033724' 254000 033727' JRST CLKWR3
8898 033725' 201440 000024 MOVEI T1,^D20 ;NUMBER OF MILLASECONDS TILL NEXT TICK
8899 033726' 202440 033636' MOVEM T1,CLKTCK
8900 033727' 135440 011152' CLKWR3: LDB T1,P.PLVL ;GET PROCESSOR LEVEL
8901 033730' 311440 033630' CAML T1,CLKDDB+DV.LVL ;CAN WE INTERRUPT ?
8902 033731' 263740 000000 RET ;NOT NOW
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 208
DDT11 MAC 18-May-81 17:27 IO SIMULATION - KW11L CLOCK
8903 ;HERE TO SEE IF CLOCK WANTS TO INTERRUPT
8904
8905 033732' 336000 033634' CLKINT: SKIPN CLKFLG ;CAN WE INTERRUPT ?
8906 033733' 263740 000000 RET ;NO
8907 033734' 550440 033632' HRRZ T1,CLKSTS ;GET THE STATUS REGISTER
8908 033735' 602440 000100 TRNE T1,100 ;IS ENABLE SET ?
8909 033736' 606440 000200 TRNN T1,200 ;IS FLAG SET ?
8910 033737' 263740 000000 RET ;DON'T WANT TO INTERRUPT NOW
8911 033740' 402000 033634' SETZM CLKFLG ;HAVE TAKEN OUR INTERRUPT NOW
8912 INTSAV 100 ;TAKE AN INTERRUPT
8913
8914 DEFINE X (Q) <
8915 XLIST
8916 TXNE FLG,F..SIM ;ARE WE SIMULATING ?
8917 JRST Q ;LOSE
8918 TXNN FLG,F.EXEC ;ARE WE IN EXEC MODE ?
8919 JRST Q ;LOSE
8920 HLL MA,UBACTL ;ADD UNIBUS NUMBER
8921 LIST
8922 >;DEFINE X
8923
8924 ;HERE TO DO A LOAD FROM A UBX REGISTER
8925 034045' UBXLOD: X NXMRET
8926 034052' 712453 600000 RDIO T1,600000(MA) ;GET DATA FROM UNIBUS
8927 034053' 263740 000000 RET ;WILL SKIP IF FAILED
8928 034054' 254000 032676' JRST NXMRET
8929
8930 ;HERE TO DO A BYTE LOAD FROM A UBX REGISTER
8931 034055' UBXBLD: X NXMRET
8932 034062' 722453 600000 RDIOB T1,600000(MA) ;GET BYTE FROM UNIBUS
8933 034063' 263740 000000 RET ;WILL SKIP IF FAILED
8934 034064' 254000 032676' JRST NXMRET
8935
8936 ;HERE TO DO A WRITE TO A UBX REGISTER
8937 034065' UBXWRT: X STONXM
8938 034072' 713453 600000 WRIO T1,600000(MA) ;GIVE DATA TO UNIBUS
8939 034073' 263740 000000 RET
8940 034074' 254000 032751' JRST STONXM
8941
8942 ;HERE TO DO A BYTE WRITE TO THE UBX REGISTER
8943 034075' UBXBWR: X STONXM
8944 034102' 723453 600000 WRIOB T1,600000(MA) ;GIVE DATA TO UNIBUS
8945 034103' 263740 000000 RET
8946 034104' 254000 032751' JRST STONXM
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 211
DDT11 MAC 18-May-81 17:27 IO SIMULATION - UBX
8947 ;POINTER TO FIRST DDB
8948 ; RH LINK IS FOR USE WHILE RUNNING - DEVICES MAY BE REMOVED BY REMOVING LINKS
8949 ; LH LINK IS SO DELETED DEVICES CAN BE REINSTALLED
8950 034105' 034031' 034031' FIRDDB: DDBLNK,,DDBLNK ;POINTER TO FIRST DDB
8951
8952 ;BYTE POINTERS TO THE SIMULATED MEMORY
8953 036704' 011147' 034106' SIMPTR: MEMREL MEMORY
8954 034106' 221013 000000 POINT 8,0(MA),17
8955 036705' 011147' 034107' MEMREL MEMORY
8956 034107' 321013 000000 POINT 8,0(MA),9
8957 036706' 011147' 034110' MEMREL MEMORY
8958 034110' 001013 000000 POINT 8,0(MA),35
8959 036707' 011147' 034111' MEMREL MEMORY
8960 034111' 101013 000000 POINT 8,0(MA),27
8961
8962 ;TABLE OF INSTRUCTIONS WHICH MUST BE RELOCATED
8963 034112' RLMTAB: BLOCK RLMSIZ
8964 ;HERE TO RELOCATE MEMORY REFERENCES
8965
8966 775202 034112' SIMREL: MOVE T3,[-RLMSIZ,,RLMTAB]
8967 036710' 200540 047255'
8968 036711' 336440 011147' SKIPN T1,MEMORY ;GET ADDRESS OF SIMULATED MEMORY
8969 036712' 254200 000000 HALT
8970 036713' 200513 000000 SIMRL2: MOVE T2,(T3)
8971 036714' 554440 000012 HLRZ T1,T2 ;GET WHAT TO RELOCATE WITH
8972 036715' 200451 000000 MOVE T1,(T1)
8973 036716' 542452 000000 HRRM T1,(T2)
8974 036717' 253540 036713' AOBJN T3,SIMRL2
8975
8976 ;RECONSTRUCT VIRGIN DEVICE CHAIN
8977 036720' 201440 034103' MOVEI T1,FIRDDB-DV.LNK
8978 036721' 547451 000002 HLRS T1,DV.LNK(T1)
8979 036722' 326440 036721' JUMPN T1,.-1
8980
8981 ;TO SPEED UP USER MODE RUNS REMOVE DDB FOR UNIBUS ADAPTER
8982 036723' 603400 002000 TXNE FLG,F.EXEC ;RUNNING IN EXEC MODE ?
8983 036724' 263740 000000 RET ;NO, SKIP THIS
8984 036725' 261740 000015 PUSH P,IR ;SAVE REGISTER
8985 036726' 201640 034103' MOVEI IR,FIRDDB-DV.LNK
8986 036727' 550455 000002 SIMRL4: HRRZ T1,DV.LNK(IR) ;POINT TO NEXT DEVICE
8987 036730' 306440 034031' CAIN T1,UBXDDB
8988 036731' 550451 000002 HRRZ T1,DV.LNK(T1) ;SKIP POINTER TO UBA
8989 036732' 542455 000002 HRRM T1,DV.LNK(IR)
8990 036733' 332640 000011 SKIPE IR,T1
8991 036734' 254000 036727' JRST SIMRL4
8992 036735' 262740 000015 POP P,IR
8993 036736' 263740 000000 SIMRL5: RET
8994
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 212
DDT11 MAC 18-May-81 17:27 IO SIMULATION - UBX
8995
8996 ;HERE TO SETUP EPT AND UNIBUS MAPPING
8997 ; EPTBLK POINTS TO THE START OF:
8998 000000 EPT...==0 ;PAGE FOR EXEC PROCESS TABLE
8999 001000 UPT...==1000 ;PAGE FOR USER PROCESS TABLE
9000 002000 STB...==2000 ;PAGE FOR SECTION TABLE FOR SECTION 0
9001 003000 CST...==3000 ;PAGE FOR CORE STATUS TABLE
9002 004000 VECTAB==4000 ;3000 WORDS FOR VECTORED INTERRUPTS
9003 007000 DSKPAG==7000 ;PAGE FOR DISK IO
9004 010000 EBLKSZ==10000 ;SIZE OF BLOCK FOR EXEC USAGE
9005
9006 036737' 607400 002000 MAPCOR: TXNN FLG,F.EXEC ;RUNNING IN EXEC MODE ?
9007 036740' 263740 000000 RET ;NO SO DON'T DIDDLE ADAPTER MAPPING
9008 036741' 332600 041113' SKIPE T4,EPTBLK ;HAVE WE CHOSEN A SLOT FOR AN EPT YET ?
9009 036742' 254000 037040' JRST MAPCR3 ;ALREADY HAVE AN EPT
9010
9011 ;MOVE SYMBOL TABLE AND PDP11 MEMORY UP TO ALLOW FOR EPT
9012 036743' 260740 005303' CALL POSYMT ;BE SURE SYMBOL TABLE IS AT END OF CORE
9013 036744' 336440 011151' SKIPN T1,MEMUSE ;FIRST TABLE TO MOVE UP
9014 036745' 550440 041115' HRRZ T1,SYMBEG ;IF NO MEMORY THAN JUST MOVING SYMBOL TABLE
9015 036746' 552440 000012 HRRZM T1,T2 ;SAVE FIRST ADR IN OLD TABLES
9016 036747' 271440 000777 ADDI T1,777 ;WE WILL ROUND TO NEXT PAGE
9017 036750' 405440 777000 ANDI T1,777000 ;MAKE PAGE ADR
9018 036751' 202440 041113' MOVEM T1,EPTBLK ;SAVE ADR OF EPT
9019 036752' 271440 010000 ADDI T1,EBLKSZ ;TO GET TO FIRST TABLE
9020 036753' 274440 000012 SUB T1,T2 ;HOW MUCH TO MOVE TABLE
9021 036754' 200540 041116' MOVE T3,SYMEND ;LAST ADR IN SYMBOL TABLE
9022 036755' 271551 777777 ADDI T3,-1(T1) ;NEW LAST ADR IN SYMBOL TABLE
9023 036756' 260740 004275' CALL MOVMUS ;MOVE THE TABLES
9024 036757' 200600 041113' MAPCR1: MOVE T4,EPTBLK ;GET EPT ADR AGAIN
9025 036760' 505440 037111' HRLI T1,INTBLK ;COPY UUO AND INTERRUPT VECTORS
9026 036761' 541454 000042 HRRI T1,EPTINT(T4)
9027 036762' 251454 000057 BLT T1,EPTINT+15(T4)
9028 036763' 201454 004000 MOVEI T1,VECTAB(T4) ;ADR OF VECTOR TABLE FOR UBA
9029 036764' 201514 000100 MOVEI T2,EPTVEC(T4) ;WHERE VECTORS GO
9030 036765' 505500 777770 HRLI T2,-10 ;POSSIBLE NUMBER OF UBA'S
9031 036766' 202452 000000 MOVEM T1,(T2)
9032 036767' 253500 036766' AOBJN T2,.-1
9033 036770' 205440 300000 MOVSI T1,(NOP)
9034 036771' 202454 000421 MOVEM T1,EPTAOV(T4) ;IN CASE OF ARITHMITIC OVERFLOW
9035 264000 037222' MOVE T1,[JSR EPDLOV] ;TELL USER ABOUT PROBLEM
9036 036772' 200440 047256'
9037 036773' 202440 000422 MOVEM T1,EPTPDO ;IN CASE OF PUSHDOWN LIST OVERFLOW
9038 111100 000014 LDB T1,[POINT 9,T4,26] ;PICK UP PAGE NUMBER OF EPT
9039 036774' 135440 047257'
9040 124000 000002 ADD T1,[124000,,2] ;IMMEDIATE; KERNEL; WRITABLE; CACHE
9041 036775' 270440 047260'
9042 ; ,, SECT 0 PAGE TABLE
9043 036776' 202454 000540 MOVEM T1,EPTSTP(T4) ;POINTER TO SECTION 0 PAGE TABLE
9044 036777' 201440 037260' MOVEI T1,UUO0 ;WHERE TO GO ON A MUUO
9045 037000' 202454 001430 MOVEM T1,1430(T4)
9046 037001' 505454 001430 HRLI T1,1430(T4)
9047 037002' 541454 001431 HRRI T1,1431(T4)
9048 037003' 251454 001437 BLT T1,1437(T4)
9049 037004' 201440 037223' MOVEI T1,PGFAIL ;WHERE TO GO ON A PAGE FAIL
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 212-1
DDT11 MAC 18-May-81 17:27 IO SIMULATION - UBX
9050 037005' 202454 001503 MOVEM T1,UPTPFN(T4)
9051 037006' 205440 400000 MOVSI T1,400000 ;CST ENTRY
9052 037007' 202454 003000 MOVEM T1,CST...(T4) ;FIRST ENTRY IN THE TABLE
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 213
DDT11 MAC 18-May-81 17:27 IO SIMULATION - UBX
9053 037010' 505454 003000 HRLI T1,CST...(T4) ;BEGINING OF CST TABLE
9054 037011' 541454 003001 HRRI T1,CST...+1(T4)
9055 037012' 251454 003777 BLT T1,CST...+777(T4) ;FILL TABLE
9056 ;FILL UP VECTOR TABLE AND SPACE
9057 037013' 201554 004000 MOVEI T3,VECTAB(T4)
9058 037014' 200440 000013 MAPCR2: MOVE T1,T3
9059 037015' 275454 004000 SUBI T1,VECTAB(T4)
9060 037016' 221440 000005 IMULI T1,5
9061 037017' 271454 004400 ADDI T1,VECTAB+400(T4)
9062 037020' 505440 264000 HRLI T1,(JSR)
9063 037021' 202453 000000 MOVEM T1,(T3) ;JSR VEC#
9064 037022' 402011 000000 SETZM (T1) ;VEC#: 0
9065 037023' 505440 261740 HRLI T1,(PUSH P,)
9066 037024' 202451 000001 MOVEM T1,1(T1) ;PUSH P,VEC#
9067 261740 000011 MOVE T2,[PUSH P,T1]
9068 037025' 200500 047261'
9069 037026' 202511 000002 MOVEM T2,2(T1) ;PUSH P,T1
9070 037027' 200500 000013 MOVE T2,T3
9071 037030' 275514 004000 SUBI T2,VECTAB(T4)
9072 037031' 242500 000002 LSH T2,2
9073 037032' 505500 201440 HRLI T2,(MOVEI T1,)
9074 037033' 202511 000003 MOVEM T2,3(T1) ;MOVEI T1,#
9075 254000 037173' MOVE T2,[JRST VECXX]
9076 037034' 200500 047262'
9077 037035' 202511 000004 MOVEM T2,4(T1) ;JRST VECXX
9078 037036' 302554 004377 CAIE T3,VECTAB+377(T4)
9079 037037' 344540 037014' AOJA T3,MAPCR2
9080
9081 ;SETUP THE PAGE MAP FOR LOW CORE
9082 037040' 205440 124000 MAPCR3: MOVSI T1,124000 ;FIRST ENTRY FOR SECTION 0 PAGE TABLE
9083 037041' 201554 002000 MOVEI T3,STB...(T4) ;ADR OF SECTION 0 PAGE TABLE
9084 037042' 505540 777400 HRLI T3,-400 ;ONLY FILL IN FIRST 256 PAGES
9085 037043' 550500 000011 MAPCR4: HRRZ T2,T1
9086 037044' 242500 000011 LSH T2,^D9
9087 037045' 311500 011147' CAML T2,MEMORY ;CACHE ONLY UP TO PDP11 MEMORY
9088 037046' 621440 004000 TLZ T1,004000 ;UNCACHE PDP11 MEMORY
9089 037047' 202453 000000 MOVEM T1,(T3)
9090 037050' 350000 000011 AOS T1
9091 037051' 253540 037043' AOBJN T3,MAPCR4
9092 037052' 205440 004000 MOVSI T1,4000 ;MASK FOR CACHE BIT
9093 037053' 412454 002000 ANDCAM T1,STB...(T4) ;UNCACHE FIRST PAGE (8080 WORDS)
9094 ;SETUP THE UNIBUS MAPPING REGISTERS
9095 037054' 402000 000012 SETZM T2
9096 037055' 200440 011147' MOVE T1,MEMORY ;GET STARTING ADDRESS OF MEMORY
9097 037056' 242440 777767 LSH T1,-^D9 ;CONVERT TO PAGE NUMBER
9098 037057' 660440 640000 TXO T1,UB.VLD!UB.16B!UB.RPW ;SET READ/PAUSE WRITE, 16BIT, & VALID
9099 037060' 500500 041114' MAPCR5: HLL T2,UBACTL ;POINT TO RIGHT UNIBUS
9100 037061' 713452 763000 WRIO T1,UBAMAP(T2) ;WRITE MAPPING REGISTER
9101 037062' 625500 777777 TLZA T2,-1 ;CLEAR UNIBUS NUMBER
9102 037063' 254200 037064' HALT .+1 ;IF GET PAGE FAIL
9103 037064' 350000 000012 AOS T2
9104 037065' 242500 000013 LSH T2,^D11
9105 037066' 311500 011150' CAML T2,MEMLIM ;STILL IN RANGE ?
9106 037067' 620440 040000 TXZ T1,UB.VLD ;CLEAR VALID BIT
9107 037070' 242500 777765 LSH T2,-^D11
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 213-1
DDT11 MAC 18-May-81 17:27 IO SIMULATION - UBX
9108 037071' 302500 000100 CAIE T2,^D64
9109 037072' 344440 037060' AOJA T1,MAPCR5
9110 037073' 474440 000000 SETO T1,
9111 037074' 702540 000011 WRCSTM T1 ;WRITE CST MASK REGISTER
9112 037075' 400440 000000 SETZ T1,
9113 037076' 702500 000011 WRPUR T1 ;WRITE PROCESS USE REGISTER
9114 037077' 201454 003000 MOVEI T1,CST...(T4) ;ADR OF CST
9115 037100' 702440 000011 WRCSB T1 ;WRITE CORE STATUS TABLE BASE REGISTER
9116 037101' 200440 041113' MOVE T1,EPTBLK ;GET ADR OF EXECUTIVE PROCESS TABLE
9117 037102' 242440 777767 LSH T1,-^D9
9118 037103' 435440 060000 IORI T1,1B21!1B22 ;TOPS-20 PAGING, ENABLE TRAP AND PAGING
9119 037104' 701211 000000 WREBR (T1) ;SET UP EBR FOR EPT
9120 037105' 620440 020000 TRZ T1,1B22
9121 500000 000001 ADD T1,[1B0!1B2!1] ;LOAD AC BLOCK AND UBR
9122 037106' 270440 047263'
9123 037107' 701140 000011 WRUBR T1 ;SETUP UBR FOR UPT
9124 037110' 263740 000000 RET
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 214
DDT11 MAC 18-May-81 17:27 MONITOR FOR EXEC MODE USE
9125 SUBTTL MONITOR FOR EXEC MODE USE
9126
9127 037111' 264000 037127' INTBLK: JSR CH1
9128 037112' 254200 000042 HALT 42
9129 037113' 264000 037132' JSR CH2
9130 037114' 254200 000044 HALT 44
9131 037115' 264000 037154' JSR CH3
9132 037116' 254200 000046 HALT 46
9133 037117' 264000 037157' JSR CH4
9134 037120' 254200 000050 HALT 50
9135 037121' 264000 037162' JSR CH5
9136 037122' 254200 000052 HALT 52
9137 037123' 264000 037165' JSR CH6
9138 037124' 254200 000054 HALT 54
9139 037125' 264000 037170' JSR CH7
9140 037126' 254200 000056 HALT 56
9141
9142 037127' 000000 000000 CH1: Z
9143 037130' 254200 037131' HALT .+1
9144 037131' 254520 037127' JEN @CH1
9145
9146 000002 APRLVL==2
9147 037132' 000000 000000 CH2: Z
9148 037133' 261740 000011 PUSH P,T1 ;SAVE REGISTER
9149 037134' 261740 000012 PUSH P,T2 ;SAVE ANOTHER REGISTER
9150 037135' 700240 000011 RDAPR T1 ;GET PROCESSOR STATUS
9151 037136' 602440 001600 TRNE T1,7B28 ;SERIOUS PROBLEM ?
9152 260740 004347' CALL [CALL SAVE24 ;SAVE REGISTER
9153 261740 000011 PUSH P,T1
9154 260740 037565' PUSHJ P,INLMES
9155 ASCIZ \
9156 064241 140640 APR error \
9157 262740 000011 POP P,T1
9158 260740 007535' CALL OCTYPE
9159 700200 021602 WRAPR 1B22!7B28!APRLVL ;CLEAR ERROR FLAG
9160 254200 005200' HALT R ]
9161 037137' 260740 047264'
9162 037140' 606440 000040 TRNN T1,1B30 ;DID CLOCK GO OFF ?
9163 037141' 254000 037146' JRST CH2CK5
9164 037142' 350000 037153' AOS UPTIME ;WE HAVE BEEN UP FOR ANOTHER MILLASECOND
9165 037143' 700200 020042 WRAPR 1B22!1B30!APRLVL ;CLEAR THE CLOCK FLAG
9166 037144' 377000 033636' SOSG CLKTCK ;TIME FOR KW11 TO TICK ?
9167 201500 000024 JRST [MOVEI T2,^D20 ;NUMBER OF MILASECONDS TILL NEXT TICK
9168 202500 033636' MOVEM T2,CLKTCK
9169 607400 004000 TXNN FLG,F.RUNF ;ARE WE SIMULATING
9170 254000 037146' JRST CH2CK5 ;NO
9171 202500 033626' MOVEM T2,CLKDDB+DV.TIM+1 ;KW11 WANTS TIMER SERVICE NOW
9172 563000 011605' HRROS INTDLY ;CHECK KW11 SOON
9173 254000 037146' JRST CH2CK5]
9174 037145' 254000 047276'
9175 037146' 602440 000020 CH2CK5: TRNE T1,1B31 ;DID THE 8080 INTERRUPT
9176 200500 000032 JRST [MOVE T2,FEWINP ;GET DATA
9177 700200 020022 WRAPR 1B22!1B31!APRLVL ;CLEAR FLAG
9178 322440 037150' JUMPE T1,CH2CK9 ;IF NOTHING WE'RE DONE
9179 402000 000032 SETZM FEWINP ;FLAG WE SAW IT
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 214-1
DDT11 MAC 18-May-81 17:27 MONITOR FOR EXEC MODE USE
9180 550440 000012 HRRZ T1,T2 ;COPY DATA
9181 242440 777770 LSH T1,-^D8 ;LEAVE ONLY THE CODE
9182 302440 000001 CAIE T1,1 ;IS THIS A CTY CHAR ?
9183 254000 037150' JRST CH2CK9 ;NO
9184 306500 000017 CAIN T2,17 ;IS THIS A CONTROL O ?
9185 462000 037621' JRST [SETCMM CNTLOF ;COMPLEMENT CONTROL O FLAG
9186 254000 037150' JRST CH2CK9]
9187 254000 047305'
9188 200440 037623' MOVE T1,RCVPTR ;GET RECEIVE CHAR PUTTER
9189 136500 000011 IDPB T2,T1 ;PUT CHAR IN BUFFER
9190 041000 037633' CAMN T1,[POINT 8,RCVBUF+7,31]
9191 316440 047307'
9192 441000 037624' MOVE T1,[POINT 8,RCVBUF] ;WRAP BUFFER AROUND
9193 200440 047310'
9194 202440 037623' MOVEM T1,RCVPTR
9195 254000 037150' JRST CH2CK9 ]
9196 037147' 254000 047311'
9197 037150' 262740 000012 CH2CK9: POP P,T2 ;RESTORE REGISTER
9198 037151' 262740 000011 POP P,T1 ;RESTORE REGISTER
9199 037152' 254520 037132' JEN @CH2
9200
9201 037153' 000000 000000 UPTIME: Z ;COUNTED ONCE PER MILLASECOND
9202
9203 000003 BR7LVL==3
9204 001020 BR7OFF==1B26!1B31
9205 002020 BR7ON== 1B25!1B31
9206 010000 BR7INT==1B23 ;INTERRUPT IN PROGRESS FOR BR7
9207 037154' 000000 000000 CH3: Z
9208 037155' 254200 037156' HALT .+1
9209 037156' 254520 037154' JEN @CH3
9210
9211 000004 BR5LVL==4
9212 001010 BR5OFF==1B26!1B32
9213 002010 BR5ON== 1B25!1B32
9214 004000 BR5INT==1B24 ;INTERRUPT IN PROGRESS FOR BR5
9215 037157' 000000 000000 CH4: Z
9216 037160' 254200 037161' HALT .+1
9217 037161' 254520 037157' JEN @CH4
9218
9219 037162' 000000 000000 CH5: Z
9220 037163' 254200 037164' HALT .+1
9221 037164' 254520 037162' JEN @CH5
9222
9223 037165' 000000 000000 CH6: Z
9224 037166' 254200 037167' HALT .+1
9225 037167' 254520 037165' JEN @CH6
9226
9227 037170' 000000 000000 CH7: Z
9228 037171' 254200 037172' HALT .+1
9229 037172' 254520 037170' JEN @CH7
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 215
DDT11 MAC 18-May-81 17:27 MONITOR FOR EXEC MODE USE
9230 ;HERE AFTER AFTER TAKING A VECTORED INTERRUPT
9231 ; INTERRUPTED PC IS PUSHED ON STACK FOLLOWED BY T1
9232 037173' 563000 011605' VECXX: HRROS INTDLY
9233 037174' 261740 000012 PUSH P,T2 ;SAVE ANOTHER REG
9234 037175' 700640 000012 RDPI T2 ;GET PI STATUS
9235 037176' 602500 010000 TRNE T2,BR7INT ;WAS THIS A BR7(BR6) INTERRUPT ?
9236 037177' 254000 037212' JRST VECX7
9237 037200' 606500 004000 TRNN T2,BR5INT ;WAS THIS A BR5(BR4) INTERRUPT
9238 037201' 254200 037202' HALT .+1
9239 037202' 202440 042163' MOVEM T1,BR5PND# ;SAVE VECTOR FOR PENDING INTERRUPT
9240 037203' 201440 000200 MOVEI T1,1B28
9241 037204' 510500 041114' HLLZ T2,UBACTL ;GET UNIBUS NUMBER
9242 037205' 713452 763100 WRIO T1,UBA.SR(T2)
9243 037206' 262740 000012 POP P,T2
9244 037207' 262740 000011 POP P,T1
9245 037210' 262740 042164' POP P,BR5TRP#
9246 037211' 254520 042164' JEN @BR5TRP# ;DISMISS THE INTERRUPT
9247
9248 037212' 202440 042165' VECX7: MOVEM T1,BR7PND# ;SAVE VECTOR FOR PENDING INTERRUPT
9249 037213' 201440 000200 MOVEI T1,1B28
9250 037214' 510500 041114' HLLZ T2,UBACTL ;GET UNIBUS NUMBER
9251 037215' 713452 763100 WRIO T1,UBA.SR(T2)
9252 037216' 262740 000012 POP P,T2
9253 037217' 262740 000011 POP P,T1
9254 037220' 262740 042166' POP P,BR7TRP# ;GET WHERE WE INTERRUPTED FROM
9255 037221' 254520 042166' JEN @BR7TRP#
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 216
DDT11 MAC 18-May-81 17:27 MONITOR FOR EXEC MODE USE
9256 ;HERE IN CASE OF PUSHDOWN LIST OVERFLOW
9257
9258 037222' 254200 037222' EPDLOV: HALT .
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 217
DDT11 MAC 18-May-81 17:27 MONITOR FOR EXEC MODE USE
9259 ;HERE ON A PAGE FAIL
9260
9261 037223' 202600 042174' PGFAIL: MOVEM T4,PGFSAV# ;SAVE A REG
9262 037224' 200600 041113' MOVE T4,EPTBLK ;POINT TO PAGE TABLES
9263 037225' 261754 001502 PUSH P,UPTPFO(T4) ;SAVE ADR WE CAME FROM
9264 037226' 350017 000000 AOS (P) ;ADVANCE OVER FAILING INSTRUCTION
9265 037227' 200600 042174' MOVE T4,PGFSAV# ;RESTORE REG
9266 037230' 260740 004324' CALL SAVE4 ;SAVE T1-T4
9267 037231' 200600 041113' MOVE T4,EPTBLK ;POINT TO PAGE TABLES
9268 360614 001500 LDB T1,[POINT 6,UPTPFW(T4),5] ;GET PAGE FAIL CODE
9269 037232' 135440 047331'
9270 037233' 306440 000020 CAIN T1,20 ;IS THIS AN IO FAILURE ?
9271 037234' 254000 005177' JRST RSKP ;RETURN MAKING FAILING INSTRUCTION SKIP
9272 037235' 260740 037565' PUSHJ P,INLMES
9273 ASCIZ \
9274 037236' 064241 150302 Page Fail @pc = \
9275 037242' 200600 041113' MOVE T4,EPTBLK ;POINT TO PAGE TABLES AGAIN
9276 037243' 200454 001502 MOVE T1,UPTPFO(T4) ;GET FAILING PC
9277 037244' 260740 007535' CALL OCTYPE ;DISPLAY THE PC
9278 037245' 260740 037565' PUSHJ P,INLMES
9279 037246' 201345 627100 ASCIZ \ ... Page fail word \
9280 037253' 200600 041113' MOVE T4,EPTBLK ;CUZ INLMES WIPES T4
9281 037254' 200454 001500 MOVE T1,UPTPFW(T4)
9282 037255' 260740 007535' CALL OCTYPE
9283 037256' 254200 037257' HALT .+1
9284 037257' 263740 000000 RET
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 218
DDT11 MAC 18-May-81 17:27 MONITOR FOR EXEC MODE USE
9285 ;HERE ON A UUO
9286 037260' 202700 037323' UUO0: MOVEM 16,UUOACS+16
9287 037261' 201700 037305' MOVEI 16,UUOACS
9288 037262' 251700 037322' BLT 16,UUOACS+15
9289 037263' 200040 041113' MOVE AC1,EPTBLK ;ADDRESS OF EXECUTIVE PROCESS TABLE
9290 037264' 261741 001425 PUSH P,.UPMUP(AC1) ;SAVE RETURN ADR ON STACK
9291 037265' 200101 001426 MOVE AC2,.UPMUO+2(AC1) ;GET UUO EFFECTIVE ADR
9292 050401 001424 LDB AC3,[POINT 4,.UPMUO(AC1),30] ;GET REG ARGUMENT
9293 037266' 135140 047332'
9294 111101 001424 LDB T1,[POINT 9,.UPMUO(AC1),26] ;GET OP CODE
9295 037267' 135440 047333'
9296 037270' 301440 000040 CAIL T1,40
9297 037271' 301440 000100 CAIL T1,100
9298 037272' 260740 037345' PUSHJ P,ILLUUO
9299 037273' 241440 777777 ROT T1,-1
9300 037274' 603440 400000 TLNE T1,400000
9301 037275' 334451 037305' SKIPA T1,UUODSP-20(T1)
9302 037276' 554451 037305' HLRZ T1,UUODSP-20(T1)
9303 037277' 260751 000000 PUSHJ P,(T1)
9304 037300' 304000 000000 UUORET: CAIA
9305 037301' 350017 000000 AOS (P)
9306 037302' 205700 037305' MOVSI 16,UUOACS
9307 037303' 251700 000016 BLT 16,16 ;RESTORE ACS
9308 037304' 263740 000000 RET
9309
9310 037305' UUOACS: BLOCK ^D16 ;COPY AC'S HERE WHILE DOING A UUO
9311
9312 037325' 037345' 037671' UUODSP: ILLUUO,,UUINIT ;CALL(40),,INIT(41)
9313 037326' 037345' 037345' ILLUUO,,ILLUUO ;(42),,(43)
9314 037327' 037345' 037345' ILLUUO,,ILLUUO ;(44),,(45)
9315 037330' 037345' 037367' ILLUUO,,UCALLI ;(46),,CALLI(47)
9316 037331' 037675' 037510' UUOPEN,,UTTCAL ;OPEN(50),,TTCALL(51)
9317 037332' 037345' 037345' ILLUUO,,ILLUUO ;(52),,(53)
9318 037333' 037345' 037345' ILLUUO,,ILLUUO ;(54),,RENAME(55)
9319 037334' 037345' 037345' ILLUUO,,ILLUUO ;IN(56),,OUT(57)
9320 037335' 037726' 037345' USTSTS,,ILLUUO ;SETSTS(60),,STATO(61)
9321 037336' 037345' 037345' ILLUUO,,ILLUUO ;STATUS(62),,GETSTS(63)
9322 037337' 037345' 037345' ILLUUO,,ILLUUO ;STATZ(64),,INBUF(65)
9323 037340' 037345' 037345' ILLUUO,,ILLUUO ;INPUT(66),,OUTPUT(67)
9324 037341' 037732' 037733' UCLOSE,,URLEAS ;CLOSE(70),,RELEAS(71)
9325 037342' 037345' 037345' ILLUUO,,ILLUUO ;MTAPE(72),,UGETF(73)
9326 037343' 037345' 037345' ILLUUO,,ILLUUO ;USETI(74),,USETO(75)
9327 037344' 037345' 037345' ILLUUO,,ILLUUO ;LOOKUP(76),,ENTER(77)
9328
9329 037345' 260740 037565' ILLUUO: CALL INLMES
9330 ASCIZ \
9331 037346' 064251 166330 Illegal UUO \
9332 037351' 261741 001425 PUSH P,.UPMUP(AC1) ;SAVE PC
9333 037352' 514441 001424 HRLZ T1,.UPMUO(AC1) ;GET THE UUO
9334 037353' 540441 001426 HRR T1,.UPMUO+2(AC1) ;PICKUP EFFECTIVE ADR
9335 037354' 260740 007535' CALL OCTYPE ;DISPLAY OCTAL CODE
9336 037355' 260740 037565' CALL INLMES
9337 037356' 202012 041572 ASCIZ \ @PC=\
9338 037360' 262740 000011 POP P,T1 ;GET PC
9339 037361' 405440 777777 ANDI T1,-1 ;STRIP OFF THE FLAGS
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 218-1
DDT11 MAC 18-May-81 17:27 MONITOR FOR EXEC MODE USE
9340 037362' 370000 000011 SOS T1 ;BACK UP TO UUO
9341 037363' 260740 007535' CALL OCTYPE
9342 037364' 254200 037365' HALT .+1
9343 037365' 262740 000011 POP P,T1 ;CLEAN OFF THE STACK
9344 037366' 254000 037300' JRST UUORET ;THEN EXIT UUO
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 219
DDT11 MAC 18-May-81 17:27 MONITOR FOR EXEC MODE USE
9345 ;HERE FOR A CALLI UUO
9346 037367' 200443 037305' UCALLI: MOVE T1,UUOACS(AC3) ;GET ARGUMENT FROM REGISTER
9347 037370' 550500 000002 HRRZ T2,AC2 ;GET CALLI INDEX
9348 037371' 301500 000126 CAIL T2,126
9349 037372' 254000 037345' JRST ILLUUO
9350 037373' 241500 777777 ROT T2,-1
9351 037374' 603500 400000 TLNE T2,400000
9352 037375' 334512 037400' SKIPA T2,CALDSP(T2)
9353 037376' 554512 037400' HLRZ T2,CALDSP(T2)
9354 037377' 254012 000000 JRST (T2)
9355
9356 037400' 037453' 037345' CALDSP: CALLI0,,ILLUUO ;RESET(0),,(1)
9357 037401' 037345' 037345' ILLUUO,,ILLUUO ;SETDDT(2),,(3)
9358 037402' 037345' 037345' ILLUUO,,ILLUUO ;DEVCHR(4),,(5)
9359 037403' 037345' 037345' ILLUUO,,ILLUUO ;GETCHR(6),,(7)
9360 037404' 037345' 037476' ILLUUO,,UCORE ;WAIT(10),,CORE(11)
9361 037405' 037345' 037345' ILLUUO,,ILLUUO ;EXIT(12),,(13)
9362 037406' 037345' 037345' ILLUUO,,ILLUUO ;DATE(14),,LOGIN(15)
9363 037407' 037345' 037345' ILLUUO,,ILLUUO ;APRENB(16),,LOGOUT(17)
9364 037410' 037345' 037345' ILLUUO,,ILLUUO ;SWITCH(20),,REASSIGN(21)
9365 037411' 037345' 037345' ILLUUO,,ILLUUO ;TIMER(22),,MSTIME(23)
9366 037412' 037345' 037345' ILLUUO,,ILLUUO ;GETPPN(24),,TRPSET(25)
9367 037413' 037345' 037503' ILLUUO,,URUNTM ;(26),,RUNTIM(27)
9368 037414' 037345' 037506' ILLUUO,,USLEEP ;PJOB(30),,SLEEP(31)
9369 037415' 037345' 037345' ILLUUO,,ILLUUO ;(32),,PEEK(33)
9370 037416' 037345' 037345' ILLUUO,,ILLUUO ;GETLIN(34),,RUN(35)
9371 037417' 037345' 037345' ILLUUO,,ILLUUO ;SETUWP(36),,REMAP(37)
9372 037420' 037345' 037507' ILLUUO,,UGTTAB ;GETSEG(40),,GETTAB(41)
9373 037421' 037345' 037345' ILLUUO,,ILLUUO ;SPY(42),,SETNAM(43)
9374 037422' 037345' 037345' ILLUUO,,ILLUUO ;TMPCOR(44),,DSKCHR(45)
9375 037423' 037345' 037345' ILLUUO,,ILLUUO ;SYSSTR(46),,JOBSTR(47)
9376 037424' 037345' 037345' ILLUUO,,ILLUUO ;STRUUO(50),,SYSPHY(51)
9377 037425' 037345' 037345' ILLUUO,,ILLUUO ;(52),,DEVTYP(53)
9378 037426' 037345' 037345' ILLUUO,,ILLUUO ;DEVSTS(54),,DEVPPN(55)
9379 037427' 037345' 037345' ILLUUO,,ILLUUO ;SEEK(56),,RTTRP(57)
9380 037430' 005177' 037345' RSKP,,ILLUUO ;LOCK(60),,JOBSTS(61)
9381 037431' 037345' 037345' ILLUUO,,ILLUUO ;LOCATE(62),,WHERE(63)
9382 037432' 037345' 037345' ILLUUO,,ILLUUO ;DEVNAM(64),,CTLJOB(65)
9383 037433' 037345' 037345' ILLUUO,,ILLUUO ;GOBSTR(66),,(67)
9384 037434' 037345' 037345' ILLUUO,,ILLUUO ;(70),,HPQ(71)
9385 037435' 037345' 037345' ILLUUO,,ILLUUO ;HIBER(72),,WAKE(73)
9386 037436' 037345' 037345' ILLUUO,,ILLUUO ;CHGPPN(74),,SETUUO(75)
9387 037437' 037345' 037345' ILLUUO,,ILLUUO ;(76),,OTHUSR(77)
9388 037440' 037345' 037345' ILLUUO,,ILLUUO ;CHKACC(100),,DEVSIZ(101)
9389 037441' 037345' 037345' ILLUUO,,ILLUUO ;DAEMON(102),,JOBPEK(103)
9390 037442' 037345' 037345' ILLUUO,,ILLUUO ;ATTACH(104),,DAEFIN(105)
9391 037443' 037345' 037345' ILLUUO,,ILLUUO ;FRCUUO(106),,DEVLNM(107)
9392 037444' 037345' 037345' ILLUUO,,ILLUUO ;PATH(110),,METER.(111)
9393 037445' 037345' 037345' ILLUUO,,ILLUUO ;MTCHR.(112),,JBSET.(113)
9394 037446' 037345' 037345' ILLUUO,,ILLUUO ;POKE.(114),,TRMNO.(115)
9395 037447' 037345' 037345' ILLUUO,,ILLUUO ;TRMOP.(116),,RESDV.(117)
9396 037450' 005177' 037345' RSKP,,ILLUUO ;UNLOK.(120),,DISK(121)
9397 037451' 037345' 037345' ILLUUO,,ILLUUO ;DVRST.(122),,DVURS.(123)
9398 037452' 037345' 037345' ILLUUO,,ILLUUO ;(124),,CAL11.(125)
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 220
DDT11 MAC 18-May-81 17:27 MONITOR FOR EXEC MODE USE
9399 ;RESET
9400 037453' 700200 221740 CALLI0: WRAPR 1B19!1B22!37B30 ;IO RESET
9401 037454' 260740 011611' CALL R.SET ;DO A UNIBUS RESET
9402 037455' 700600 012377 WRPI 12377 ;RESET PI SYSTEM & TURN IT ON
9403 037456' 201440 010000 MOVEI T1,^D4096
9404 037457' 702640 000011 WRINT T1 ;SET INTERVAL FOR TIMER
9405 037460' 402000 000031 SETZM FEWSTS ;CLEAR FRONT END STATUS WORD
9406 037461' 402000 000032 SETZM FEWINP ;CLEAR INPUT WORD
9407 037462' 402000 000033 SETZM FEWOUT ;CLEAR OUTPUT WORD
9408 441000 037624' MOVE T1,[POINT 8,RCVBUF]
9409 037463' 200440 047310'
9410 037464' 202440 037623' MOVEM T1,RCVPTR ;INITIALIZE RECEIVE CHAR PUTTER
9411 037465' 202440 037622' MOVEM T1,RCVTKR ;INITIALIZE RECEIVE CHAR TAKER
9412 037466' 402000 037621' SETZM CNTLOF ;CLEAR CONTROL O FLAG
9413 037467' 700200 101662 WRAPR 1B20!73B31!APRLVL ;ENABLE INTERRUPTS
9414 037470' 205440 400000 MOVSI T1,400000
9415 037471' 242440 777777 LSH T1,-1
9416 037472' 327440 005200' JUMPG T1,R
9417 462471 020312 TYPE <LSH extends sign>
9418 037473' 201440 047334'
9419 037474' 260740 007655'
9420 037475' 254200 037453' HALT CALLI0
9421
9422 ;CORE - CALLI 11
9423 037476' 435440 000777 UCORE: IORI T1,777
9424 037477' 542440 005400* HRRM T1,.JBREL ;SET NEW JOBREL
9425 037500' 201440 000140 MOVEI T1,140
9426 037501' 202443 037305' MOVEM T1,UUOACS(AC3) ;RESULT
9427 037502' 254000 005177' RETSKP
9428
9429 ;HERE FOR A RUNTIM UUO
9430 037503' 200440 037153' URUNTM: MOVE T1,UPTIME ;GET UPTIME (WE USE ALL THE TIME)
9431 037504' 202443 037305' MOVEM T1,UUOACS(AC3) ;RESULT
9432 037505' 263740 000000 RET
9433
9434 ;SLEEP - CALLI 31
9435 037506' 263740 000000 USLEEP: RET
9436
9437 ;GETTAB - CALLI 41
9438 037507' 263740 000000 UGTTAB: RET
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 221
DDT11 MAC 18-May-81 17:27 MONITOR FOR EXEC MODE USE
9439 ;HERE FOR A TTCALL UUO
9440 037510' 307100 000016 UTTCAL: CAIG AC2,16
9441 037511' 271100 037305' ADDI AC2,UUOACS ;POINT TO RIGHT ARGUMENT
9442 037512' 241140 777777 ROT AC3,-1
9443 037513' 603140 400000 TLNE AC3,400000
9444 037514' 334503 037517' SKIPA T2,TTCDSP(AC3)
9445 037515' 554503 037517' HLRZ T2,TTCDSP(AC3)
9446 037516' 254012 000000 JRST (T2)
9447 037517' 037527' 037533' TTCDSP: TTCLL0,,TTCLL1 ;INCHRW(0),,OUTCHR(1)
9448 037520' 037535' 037541' TTCLL2,,TTCLL3 ;INCHRS(2),,OUTSTR(3)
9449 037521' 037546' 037547' TTCLL4,,TTCLL5 ;INCHWL(4),,INCHSL(5)
9450 037522' 037550' 037552' TTCLL6,,TTCLL7 ;GETLCH(6),,SETLCH(7)
9451 037523' 037553' 037554' TTCL10,,TTCL11 ;RESCAN(10),,CLRBFI(11)
9452 037524' 037555' 037556' TTCL12,,TTCL13 ;CLRBFO(12),,SKPINC(13)
9453 037525' 037562' 037563' TTCL14,,TTCL15 ;SKPINL(14),,IONEOU(15)
9454 037526' 037345' 037345' ILLUUO,,ILLUUO ;(16),,(17)
9455
9456 ;INCHRW
9457 037527' 260740 037636' TTCLL0: CALL CHKCHR ;SEE IF THERE IS A CHARACTER READY
9458 037530' 254000 037527' JRST TTCLL0 ;TRY AGAIN
9459 037531' 202442 000000 MOVEM T1,(AC2) ;GIVE USER THE DATA
9460 037532' 263740 000000 RET
9461
9462 ;OUTCHR
9463 037533' 200442 000000 TTCLL1: MOVE T1,(AC2) ;GET THE CHARACTER TO WRITE
9464 037534' 254000 037573' JRST SCNTYP ;TYPE THE CHARACTER
9465
9466 ;INCHRS
9467 037535' 260740 037636' TTCLL2: CALL CHKCHR ;TRY TO GET A CHARACTER
9468 037536' 263740 000000 RET ;TRY LATER
9469 037537' 202442 000000 MOVEM T1,(AC2) ;GIVE THE USER THE CHARACTER
9470 037540' 254000 005177' RETSKP
9471
9472 ;OUTSTR
9473 037541' 505100 440700 TTCLL3: HRLI AC2,(POINT 7,0)
9474 037542' 134440 000002 TTCL31: ILDB T1,AC2
9475 037543' 322440 005200' JUMPE T1,R ;IF NULL WE ARE DONE
9476 037544' 260740 037573' CALL SCNTYP ;TYPE THE CHARACTER
9477 037545' 254000 037542' JRST TTCL31
9478
9479 ;INCHWL
9480 037546' 254000 037527' TTCLL4: JRST TTCLL0
9481
9482 ;INCHSL
9483 037547' 254000 037535' TTCLL5: JRST TTCLL2
9484
9485 ;GETLCH
9486 037550' 402002 000000 TTCLL6: SETZM (AC2)
9487 037551' 263740 000000 RET
9488
9489 ;SETLCH
9490 037552' 263740 000000 TTCLL7: RET
9491
9492 ;RESCAN
9493 037553' 263740 000000 TTCL10: RET
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 221-1
DDT11 MAC 18-May-81 17:27 MONITOR FOR EXEC MODE USE
9494
9495 ;CLRBFI
9496 037554' 263740 000000 TTCL11: RET
9497
9498 ;CLRBFO
9499 037555' 263740 000000 TTCL12: RET
9500
9501 ;SKPINC
9502 037556' 260740 037636' TTCL13: CALL CHKCHR ;IS ANYTHING READY ?
9503 037557' 263740 000000 RET ;NO
9504 037560' 202442 000000 MOVEM T1,(AC2) ;GIVER USER CHARACTER
9505 037561' 254000 005177' RETSKP
9506
9507 ;SKPINL
9508 037562' 254000 037556' TTCL14: JRST TTCL13
9509
9510 ;IONEOU
9511 037563' 200442 000000 TTCL15: MOVE T1,(AC2)
9512 037564' 254000 037573' JRST SCNTYP
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 222
DDT11 MAC 18-May-81 17:27 MONITOR FOR EXEC MODE USE
9513 ;HERE TO TYPE AN INLINE MESSAGE
9514 037565' 505440 440700 INLMES: HRLI T1,(POINT 7,0)
9515 037566' 502457 000000 HLLM T1,(P) ;MAKE A BYTE POINTER
9516 037567' 134457 000000 INLMS3: ILDB T1,(P)
9517 037570' 322440 005177' JUMPE T1,RSKP ;SKIP NULL CHAR AND DONE
9518 037571' 260740 037573' PUSHJ P,SCNTYP
9519 037572' 254000 037567' JRST INLMS3 ;FINISH REST OF MESSAGE
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 223
DDT11 MAC 18-May-81 17:27 MONITOR FOR EXEC MODE USE
9520 ;HERE TO TYPE A CHARACTER
9521 037573' 332000 037621' SCNTYP: SKIPE CNTLOF ;DID USER FLUSH OUTPUT ?
9522 037574' 263740 000000 RET
9523 037575' 405440 000177 ANDI T1,177 ;STRIP PARITY BIT
9524 037576' 306440 000015 CAIN T1,15 ;WAS THAT A CARRIAGE RETURN ?
9525 037577' 402000 037634' SETZM COLUMN ;BACK TO LH MARGIN
9526 037600' 350500 037634' AOS T2,COLUMN ;ADVANCE COLUMN POINTER
9527 037601' 302440 000177 CAIE T1,177 ;RUBOUTS DON'T PRINT
9528 037602' 305440 000040 CAIGE T1,40 ;IS THIS A PRINTING CHARACTER ?
9529 037603' 370500 037634' SOS T2,COLUMN ;NOT PRINTING SO BACKUP SOLUMN COUNTER
9530 037604' 306440 000011 CAIN T1,11 ;WAS THAT A HT ?
9531 271500 000010 JRST [ADDI T2,^D8
9532 405500 777770 ANDI T2,-10
9533 202500 037634' MOVEM T2,COLUMN
9534 254000 037606' JRST .+1 ]
9535 037605' 254000 047340'
9536 037606' 313500 037635' CAMLE T2,WIDTH ;IS THAT IN RANGE ?
9537 261740 000011 JRST [PUSH P,T1 ;SAVE CHAR TO TYPE
9538 260740 037565' CALL INLMES
9539 064240 000000 BYTE (7)15,12,0
9540 262740 000011 POP P,T1
9541 254000 037573' JRST SCNTYP ]
9542 037607' 254000 047344'
9543 037610' 305440 000040 CAIGE T1,40 ;SHOULD WE PAD THIS CHARACTER ?
9544 260740 037612' JRST [PUSHJ P,.+1 ;PRINT THE CHARACTER THEN RETURN HERE
9545 201440 000377 MOVEI T1,377 ;PAD CHAR
9546 254000 037612' JRST .+1 ]
9547 037611' 254000 047351'
9548 037612' 332000 000033 SKIPE FEWOUT ;CAN WE TYPE NEXT CHAR ?
9549 037613' 254000 037612' JRST .-1 ;WAIT UNTIL WE CAN
9550 037614' 405440 000377 ANDI T1,377 ;STRIP EXTRA BITS
9551 037615' 435440 000400 IORI T1,1B27 ;FLAG THIS IS A CTY CHAR
9552 037616' 202440 000033 MOVEM T1,FEWOUT ;PUT IT FOR 8080 TO FIND
9553 037617' 700200 012002 WRAPR 1B23!1B25!APRLVL ;INTERRUPT THE 8080
9554 037620' 263740 000000 RET
9555 037621' 000000 000000 CNTLOF: Z ;CONTROL O FLAG
9556 037622' 000000 000000 RCVTKR: Z ;TAKER FOR RECEIVE CHARACTERS
9557 037623' 000000 000000 RCVPTR: Z ;PUTTER FOR RECEIVE CHARACTERS
9558 037624' RCVBUF: BLOCK 10 ;BUFFER FOR RECEIVE CHARACTERS
9559
9560 037634' 000000 000000 COLUMN: Z ;COLUMN WE ARE ON
9561 037635' 000000 000120 WIDTH: ^D80 ;MAXIMUM NUMBER OF COLUMNS FOR OUTPUT
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 224
DDT11 MAC 18-May-81 17:27 MONITOR FOR EXEC MODE USE
9562 ;HERE TO TRY TO GET A CHARACTER FROM THE CTY
9563 037636' 402000 037621' CHKCHR: SETZM CNTLOF ;CLEAR CONTROL O FLAG
9564 037637' 400440 000000 SETZ T1,
9565 037640' 250440 042176' EXCH T1,SAVCHR# ;GET SAVED CHAR
9566 037641' 326440 037651' JUMPN T1,CKCHR5
9567 037642' 200500 037622' MOVE T2,RCVTKR ;GET RECEIVE CHAR TAKER
9568 037643' 316500 037623' CAMN T2,RCVPTR ;ANY CHARACTERS
9569 037644' 263740 000000 RET
9570 037645' 134440 000012 ILDB T1,T2 ;GET NEXT CHARACTER
9571 041000 037633' CAMN T2,[POINT 8,RCVBUF+7,31] ;WAS THAT LAST IN BUFFER ?
9572 037646' 316500 047307'
9573 441000 037624' MOVE T2,[POINT 8,RCVBUF] ;TIME TO WRAP BUFFER AROUND
9574 037647' 200500 047310'
9575 037650' 202500 037622' MOVEM T2,RCVTKR
9576 037651' 405440 000377 CKCHR5: ANDI T1,377 ;STRIP EXTRA BITS
9577 037652' 200500 000011 MOVE T2,T1 ;COPY CHAR
9578 037653' 405500 000177 ANDI T2,177 ;STRIP PARITY BIT
9579 037654' 607400 004000 TXNN FLG,F.RUNF ;RUNNING SIMULATION ?
9580 037655' 302500 000003 CAIE T2,3 ;WAS THAT A CONTROL C ?
9581 037656' 304000 000000 CAIA
9582 037657' 254000 000000' JRST DDT11 ;YES SO BEGIN AGAIN
9583 037660' 261740 000012 PUSH P,T2 ;SAVE CHARACTER FOR RETURN
9584 037661' 306500 000015 CAIN T2,15 ;WAS THAT A CR ?
9585 201500 000012 JRST [MOVEI T2,12 ;LF
9586 202500 042176' MOVEM T2,SAVCHR#
9587 254000 037663' JRST .+1]
9588 037662' 254000 047354'
9589 037663' 306500 000033 CAIN T2,33 ;WAS THAT AN ALTMODE ?
9590 037664' 201440 000044 MOVEI T1,"$" ;ECHO AS THIS
9591 037665' 607400 004000 TXNN FLG,F.RUNF ;IF SIMULATING DON'T ECHO
9592 037666' 260740 037573' CALL SCNTYP ;ECHO THE CHARACTER
9593 037667' 262740 000011 POP P,T1 ;GET CHAR OFF STACK
9594 037670' 254000 005177' RETSKP
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 225
DDT11 MAC 18-May-81 17:27 MONITOR FOR EXEC MODE USE
9595 ;HERE ON AN INIT UUO
9596 037671' 550117 777777 UUINIT: HRRZ AC2,-1(P) ;GET RETURN ADDRESS
9597 037672' 370000 000002 SOS AC2
9598 037673' 201440 000002 MOVEI T1,2
9599 037674' 272457 777777 ADDM T1,-1(P) ;SO RETURN WORKS
9600 ;JRST UUOPEN
9601 ;HERE ON AN OPEN UUO
9602 037675' 307100 000016 UUOPEN: CAIG AC2,16 ;WAS ARGUMENT IN REGISTERS ?
9603 037676' 271100 037305' ADDI AC2,UUOACS ;YES SO RELOCATE
9604 037677' 550440 000003 HRRZ T1,AC3 ;GET REGISTER ARGUMENT = CHNL
9605 037700' 242440 000027 LSH T1,^D23 ;POSITION IN LH
9606 037701' 661440 000020 TLO T1,20 ;FLAG DEVICE OPENED
9607 037702' 540442 000000 HRR T1,(AC2) ;GET STATUS
9608 037703' 204502 000001 MOVS T2,1(AC2) ;GET DEVICE NAME TO OPEN
9609 037704' 306500 646471 CAIN T2,'TTY'
9610 037705' 254000 037715' JRST OPNTTY
9611 037706' 202440 037721' MOVEM T1,DSKDDB ;SAVE STATUS
9612 037707' 206500 037723' MOVSM T2,DSKSTR ;SAVE NAME OF DISK STRUCTURE
9613 037710' 402000 040016' SETZM RJUNIT ;LOOK AT FIRST UNIT FOR STRUCTURE NAME
9614 037711' 402000 040017' SETZM RJBLCK ;BLOCK TO READ
9615 037712' 260740 037750' DSKOP2: CALL RJREAD ;TRY TO READ THE BLOCK
9616 350440 040016' JRST [AOS T1,RJUNIT
9617 302440 000010 CAIE T1,^D8 ;TOO LARGE ?
9618 254000 037712' JRST DSKOP2
9619 263740 000000 RET ]
9620 037713' 254000 047357'
9621 037714' 263740 000000 RET
9622
9623 037715' 202440 037717' OPNTTY: MOVEM T1,TTYDDB ;SAVE DEVICE STATUS
9624 037716' 254000 005177' RETSKP
9625
9626 ;DEVICE BLOCKS
9627 037717' 000000 000000 TTYDDB: Z ;CHNL,,DEVICE STATUS SET BY USER
9628 037720' 000000 037721' EXP DSKDDB
9629
9630 037721' 000000 000000 DSKDDB: Z ;CHNL,,DEVICE STATUS SET BY USER
9631 037722' 000000 000000 Z
9632 037723' 000000 000000 DSKSTR: Z ;STRUCTURE
9633 037724' 000000 000000 DSKFIL: Z ;FILE NAME
9634 037725' 000000 000000 DSKEXT: Z ;FILE EXT
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 226
DDT11 MAC 18-May-81 17:27 MONITOR FOR EXEC MODE USE
9635 ;HERE ON A SETSTS UUO
9636 037726' 260740 037737' USTSTS: CALL UFNDDB
9637 037727' 263740 000000 RET
9638 037730' 542444 000000 HRRM T1,0(AC4)
9639 037731' 263740 000000 RET
9640
9641 ;HERE ON A CLOSE UUO
9642 037732' 263740 000000 UCLOSE: RET
9643
9644 ;HERE ON A RELEASE UUO
9645 037733' 260740 037737' URLEAS: CALL UFNDDB ;FIND WHICH DDB
9646 037734' 263740 000000 RET
9647 037735' 402004 000000 SETZM 0(AC4)
9648 037736' 263740 000000 RET
9649
9650 037737' 201200 037717' UFNDDB: MOVEI AC4,TTYDDB
9651 037740' 336444 000000 UFNDD0: SKIPN T1,0(AC4) ;GET STATUS
9652 037741' 254000 037745' JRST UFNDD7
9653 270404 000000 LDB T1,[POINT 4,0(AC4),12]
9654 037742' 135440 047363'
9655 037743' 316440 000003 CAMN T1,AC3
9656 037744' 254000 005177' JRST RSKP
9657 037745' 332204 000001 UFNDD7: SKIPE AC4,1(AC4) ;GET NEXT DDB ADR
9658 037746' 254000 037740' JRST UFNDD0
9659 037747' 263740 000000 RET
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 227
DDT11 MAC 18-May-81 17:27 MONITOR FOR EXEC MODE USE
9660 ;HERE TO HANDLE AN RJPO4
9661
9662 ;HERE TO READ A BLOCK FROM AN RJP04
9663 ; CALL SETUP RJUNIT WITH UNIT NUMBER
9664 ; SETUP RJBLCK TO BE BLOCK NUMBER TO READ
9665 ; CALL RJREAD
9666 ; ERROR RETURN
9667 ; WIN RETURN
9668 037750' 510540 041114' RJREAD: HLLZ MA,UBACTL ;ADD UNIBUS UNIT
9669 037751' 712453 763077 RDIO T1,UBAMAP+77(MA) ;GET CURRENT MAP FOR PAGE
9670 037752' 261740 000011 PUSH P,T1 ;SAVE STATUS
9671 037753' 550440 041113' HRRZ T1,EPTBLK ;GET ADR OF EPT
9672 037754' 201451 007000 MOVEI T1,DSKPAG(T1) ;MAKE ADR OF DISK PAGE
9673 037755' 242440 777767 LSH T1,-^D9 ;MAKE PAGE NUMBER
9674 037756' 660440 140000 TRO T1,UB.VLD!UB.FST ;STATUS
9675 037757' 713453 763077 WRIO T1,UBAMAP+77(MA) ;MAP THE DISK PAGE
9676 037760' 201440 000040 MOVEI T1,000040 ;RESET
9677 037761' 713453 776710 WRIO T1,RPCS2(MA) ;CLEAR OUT THE CONTROLLER
9678 037762' 200440 040016' MOVE T1,RJUNIT ;UNIT TO READ FROM
9679 037763' 713453 776710 WRIO T1,RPCS2(MA) ;SELECT UNIT
9680 037764' 201440 000021 MOVEI T1,21 ;PRESELECT
9681 037765' 713453 776700 WRIO T1,RPCS1(MA) ;SELECT OUR UNIT
9682 037766' 201440 174000 MOVEI T1,174000 ;ADR TO TRANSFER TO
9683 037767' 713453 776704 WRIO T1,RPBA(MA) ;SET ADDRESS
9684 037770' 201440 776000 MOVEI T1,-2000 ;NUMBER OF PDP11 WORDS TO TRANSFER
9685 037771' 713453 776702 WRIO T1,RPWC(MA)
9686 037772' 201440 000471 MOVEI T1,471 ;READ DATA AND MEMORY EXTENSION
9687 037773' 713453 776700 WRIO T1,RPCS1(MA) ;START THE TRANSFER
9688 037774' 260740 040004' CALL RJRDWT ;WAIT FOR TRANSFER TO COMPLETE
9689 037775' 254000 037776' JRST RJRD.9
9690 037776' 262740 000012 RJRD.9: POP P,T2 ;GET OLD UBAMAP STATUS
9691 111300 000012 LDB T1,[POINT 11,T2,26] ;GET PAGE NUMBER
9692 037777' 135440 047364'
9693 330400 000012 LDB T2,[POINT 4,T2,8] ;GET STATUS BITS
9694 040000' 135500 047365'
9695 160400 000011 DPB T2,[POINT 4,T1,21] ;PUT INTO WORD
9696 040001' 137500 047366'
9697 040002' 713453 763077 WRIO T1,UBAMAP+77(MA) ;RESTORE MAP FOR THAT PAGE
9698 040003' 263740 000000 RET
9699 ;HERE TO WAIT FOR DISK OPERATION TO COMPLETE
9700 040004' 200600 037153' RJRDWT: MOVE T4,UPTIME ;HOW LOG WE HAVE BEEN UP
9701 040005' 271600 001750 ADDI T4,^D1000 ;ADD A SECOND
9702 040006' 317600 037153' RJRDW4: CAMG T4,UPTIME ;HAVE WE WAITED TOO LONG ?
9703 040007' 263740 000000 RET ;MUST BE DEAD
9704 040010' 712453 776700 RJRD.5: RDIO T1,RPCS1(MA) ;GET DRIVE STATUS
9705 040011' 606440 160200 TRNN T1,160200 ;FLAG COME UP ?
9706 040012' 254000 040006' JRST RJRDW4 ;NOT YET
9707 040013' 606440 060000 TRNN T1,060000 ;ERROR FLAG UP ?
9708 040014' 350017 000000 AOS (P) ;NO, SKIP RETURN
9709 040015' 263740 000000 RET ;YES LOSE
9710
9711
9712 040016' 000000 000000 RJUNIT: Z ;UNIT TO READ
9713 040017' 000000 000000 RJBLCK: Z ;BLOCK TO READ
9714
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 228
DDT11 MAC 18-May-81 17:27 EBCDIC TO ASCII TRANSLATION TABLE
9715 SUBTTL EBCDIC TO ASCII TRANSLATION TABLE
9716
9717 ;TRANSLATION TABLE FROM EBCDIC TO ASCII
9718
9719 040020' 000004 020060 EB.TRN: BYTE (8)000,001,002,003,000,011,000,177 ;000-007
9720 040022' 000000 000260 BYTE (8)000,000,000,013,014,015,000,000 ;010-017
9721 040024' 000104 220000 BYTE (8)000,021,022,000,000,000,000,000 ;020-027
9722 040026' 000000 000000 BYTE (8)000,000,000,000,000,000,000,000 ;030-037
9723 040030' 000000 000000 BYTE (8)000,000,000,000,000,000,000,000 ;040-047
9724 040032' 000000 000000 BYTE (8)000,000,000,000,000,000,000,000 ;050-057
9725 040034' 000000 000000 BYTE (8)000,000,000,000,000,000,000,000 ;060-067
9726 040036' 000000 000000 BYTE (8)000,000,000,000,000,000,000,000 ;070-077
9727 040040' 100000 000000 BYTE (8)040,000,000,000,000,000,000,000 ;100-107
9728 040042' 000000 001340 BYTE (8)000,000,000,056,074,050,053,136 ;110-117
9729 040044' 114000 000000 BYTE (8)046,000,000,000,000,000,000,000 ;120-127
9730 040046' 000000 411100 BYTE (8)000,000,041,044,052,051,073,155 ;130-137
9731 040050' 132274 000000 BYTE (8)055,057,000,000,000,000,000,000 ;140-147
9732 040052' 000001 741300 BYTE (8)000,000,174,054,045,137,076,077 ;150-157
9733 040054' 000000 000000 BYTE (8)000,000,000,000,000,000,000,000 ;160-167
9734 040056' 000600 721060 BYTE (8)000,140,072,043,100,047,075,042 ;170-177
9735 040060' 172605 423060 BYTE (8)075,141,142,143,144,145,146,147 ;200-207
9736 040062' 320644 000000 BYTE (8)150,151,000,000,000,000,000,000 ;210-217
9737 040064' 000651 533300 BYTE (8)000,152,153,154,155,156,157,160 ;220-227
9738 040066' 342710 000000 BYTE (8)161,162,000,000,000,000,000,000 ;230-237
9739 040070' 200771 633500 BYTE (8)100,176,163,164,165,166,167,170 ;240-247
9740 040072' 362751 342340 BYTE (8)171,172,134,116,153,133,113,141 ;250-257
9741 040074' 140304 621460 BYTE (8)060,061,062,063,064,065,066,067 ;260-267
9742 040076' 160345 722740 BYTE (8)070,071,172,136,114,135,156,157 ;270-277
9743 040100' 366405 022060 BYTE (8)173,101,102,103,104,105,106,107 ;300-307
9744 040102' 220444 000000 BYTE (8)110,111,000,000,000,000,000,000 ;310-317
9745 040104' 372451 132300 BYTE (8)175,112,113,114,115,116,117,120 ;320-327
9746 040106' 242510 000000 BYTE (8)121,122,000,000,000,000,000,000 ;330-337
9747 040110' 270001 232500 BYTE (8)134,000,123,124,125,126,127,130 ;340-347
9748 040112' 262550 000000 BYTE (8)131,132,000,000,000,000,000,000 ;350-357
9749 040114' 140304 621460 BYTE (8)060,061,062,063,064,065,066,067 ;360-367
9750 040116' 160345 740000 BYTE (8)070,071,174,000,000,000,000,000 ;370-377
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 229
DDT11 MAC 18-May-81 17:27 STATE TABLES
9751 SUBTTL STATE TABLES
9752
9753 ;INITIAL STATE TABLE
9754
9755 040120' STATE0:
9756 040120' 001113' 001640' BYTE (18)LOOP ,ILLCHR,ILLCHR,DDT11 ,ILLCHR,ILLCHR,CNTRLF,ILLCHR;00-07
9757 040124' 001316' 001316' BYTE (18)ACCUM ,ACCUM ,ACCUM ,ILLCHR,ILLCHR,ACCUM ,ILLCHR,ILLCHR;10-17
9758 040130' 001640' 001640' BYTE (18)ILLCHR,ILLCHR,CNTRLR,ILLCHR,ILLCHR,CNTRLU,ILLCHR,CNTRLW;20-27
9759 040134' 001214' 001640' BYTE (18)EXPXOR,ILLCHR,CNTRLZ,ESCAPE,ILLCHR,ILLCHR,ILLCHR,ILLCHR;30-37
9760 040140' 001167' 001210' BYTE (18)EXPSPC,EXPIOR,ACCUM ,ACCUM ,ASSYMB,ASSPRC,EXPAND,EXPDIV;40-47
9761 040144' 001316' 001316' BYTE (18)ACCUM ,ACCUM ,EXPMUL,EXPLUS,ACCUM ,EXPMIN,ASSPER,ACCUM ;50-57
9762 040150' 001132' 001132' BYTE (18)ASSNUM,ASSNUM,ASSNUM,ASSNUM,ASSNUM,ASSNUM,ASSNUM,ASSNUM;60-67
9763 040154' 001130' 001130' BYTE (18)ASSDEC,ASSDEC,DEFSYM,ACCUM ,LFTANG,ACCUM ,ACCUM ,QUEST.;70-77
9764 040160' 001316' 001155' BYTE (18)ACCUM ,ASSYMB,ASSYMB,ASSYMB,ASSYMB,ASSYMB,ASSYMB,ASSYMB;100-107
9765 040164' 001155' 001155' BYTE (18)ASSYMB,ASSYMB,ASSYMB,ASSYMB,ASSYMB,ASSYMB,ASSYMB,ASSYMB;110-117
9766 040170' 001155' 001155' BYTE (18)ASSYMB,ASSYMB,ASSYMB,ASSYMB,ASSYMB,ASSYMB,ASSYMB,ASSYMB;120-127
9767 040174' 001155' 001155' BYTE (18)ASSYMB,ASSYMB,ASSYMB,ACCUM ,ACCUM ,ILLCHR,ACCUM ,ACCUM ;130-137
9768 040200' 001640' 001155' BYTE (18)ILLCHR,ASSYMB,ASSYMB,ASSYMB,ASSYMB,ASSYMB,ASSYMB,ASSYMB;140-147
9769 040204' 001155' 001155' BYTE (18)ASSYMB,ASSYMB,ASSYMB,ASSYMB,ASSYMB,ASSYMB,ASSYMB,ASSYMB;150-157
9770 040210' 001155' 001155' BYTE (18)ASSYMB,ASSYMB,ASSYMB,ASSYMB,ASSYMB,ASSYMB,ASSYMB,ASSYMB;160-167
9771 040214' 001155' 001155' BYTE (18)ASSYMB,ASSYMB,ASSYMB,ILLCHR,ILLCHR,ILLCHR,ILLCHR,COMRUB;170-177
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 230
DDT11 MAC 18-May-81 17:27 STATE TABLES
9772 ;STATE TABLE WHEN USER TYPES ALTMODE
9773
9774 040220' STATSC:
9775 040220' 001113' 001640' BYTE (18)LOOP ,ILLCHR,ILLCHR,DDT11 ,ILLCHR,ILLCHR,ILLCHR,ILLCHR;00-07
9776 040224' 002464' 001640' BYTE (18)ESC.UP,ILLCHR,ESC.LF,ILLCHR,ILLCHR,ESC.CR,ILLCHR,ILLCHR;10-17
9777 040230' 001640' 001640' BYTE (18)ILLCHR,ILLCHR,CNTRLR,ILLCHR,ILLCHR,CNTRLU,ILLCHR,CNTRLW;20-27
9778 040234' 001640' 001640' BYTE (18)ILLCHR,ILLCHR,CNTRLZ,ESCESC,ILLCHR,ILLCHR,ILLCHR,ILLCHR;30-37
9779 040240' 001640' 001640' BYTE (18)ILLCHR,ILLCHR,ILLCHR,ILLCHR,ILLCHR,ILLCHR,ILLCHR,ILLCHR;40-47
9780 040244' 002447' 001640' BYTE (18)ESCPAR,ILLCHR,ILLCHR,ILLCHR,ILLCHR,ILLCHR,ESC...,ILLCHR;50-57
9781 040250' 002434' 002434' BYTE (18)ESC..0,ESC..0,ESC..0,ESC..0,ESC..0,ESC..0,ESC..0,ESC..0;60-67
9782 040254' 002433' 002433' BYTE (18)ESC..8,ESC..8,ILLCHR,ILLCHR,ILLCHR,ILLCHR,ILLCHR,ILLCHR;70-77
9783 040260' 001640' 002476' BYTE (18)ILLCHR,ESC..A,ESC..B,ESC..C,ESC..D,ILLCHR,ILLCHR,ESC..G;100-107
9784 040264' 001640' 002531' BYTE (18)ILLCHR,ESC..I,ILLCHR,ESC..K,ILLCHR,ESC..M,ESC..N,ILLCHR;110-117
9785 040270' 010276' 002555' BYTE (18)ESC..P,ESC..Q,ESC..R,ESC..S,ESC..T,ILLCHR,ESC..V,ESC..W;120-127
9786 040274' 002737' 003142' BYTE (18)ESC..X,ESC..Y,ILLCHR,ILLCHR,ILLCHR,ILLCHR,ESC.UP,ILLCHR;130-137
9787 040300' 001640' 002476' BYTE (18)ILLCHR,ESC..A,ESC..B,ESC..C,ESC..D,ILLCHR,ILLCHR,ESC..G;140-147
9788 040304' 001640' 002531' BYTE (18)ILLCHR,ESC..I,ILLCHR,ESC..K,ILLCHR,ESC..M,ESC..N,ILLCHR;150-157
9789 040310' 010276' 002555' BYTE (18)ESC..P,ESC..Q,ESC..R,ESC..S,ESC..T,ILLCHR,ESC..V,ESC..W;160-167
9790 040314' 002737' 003142' BYTE (18)ESC..X,ESC..Y,ILLCHR,ILLCHR,ILLCHR,ILLCHR,ILLCHR,COMRUB;170-177
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 231
DDT11 MAC 18-May-81 17:27 STATE TABLES
9791 ;STATE TABLE TO END AN EXPRESSION
9792
9793 040320' STATEB:
9794 040320' 001640' 001640' BYTE (18)ILLCHR,ILLCHR,ILLCHR,DDT11 ,ILLCHR,ILLCHR,ILLCHR,ILLCHR;00-07
9795 040324' 002105' 001646' BYTE (18)UARROW,COM.HT,COM.LF,ILLCHR,ILLCHR,COM.CR,ILLCHR,ILLCHR;10-17
9796 040330' 001640' 001640' BYTE (18)ILLCHR,ILLCHR,CNTRLR,ILLCHR,ILLCHR,CNTRLU,ILLCHR,CNTRLW;20-27
9797 040334' 001640' 001640' BYTE (18)ILLCHR,ILLCHR,CNTRLZ,ILLCHR,ILLCHR,ILLCHR,ILLCHR,ILLCHR;30-37
9798 040340' 001640' 001640' BYTE (18)ILLCHR,ILLCHR,QUOTE ,ILLCHR,ILLCHR,ILLCHR,ILLCHR,ILLCHR;40-47
9799 040344' 001640' 001640' BYTE (18)ILLCHR,ILLCHR,ILLCHR,ILLCHR,LEVEL3,ILLCHR,ILLCHR,OPNLOC;50-57
9800 040350' 001640' 001640' BYTE (18)ILLCHR,ILLCHR,ILLCHR,ILLCHR,ILLCHR,ILLCHR,ILLCHR,ILLCHR;60-67
9801 040354' 001640' 001640' BYTE (18)ILLCHR,ILLCHR,ILLCHR,SEMICL,ILLCHR,EQUALS,SUPLIM,ILLCHR;70-77
9802 040360' 001640' 001640' BYTE (18)ILLCHR,ILLCHR,ILLCHR,ILLCHR,ILLCHR,ILLCHR,ILLCHR,ILLCHR;100-107
9803 040364' 001640' 001640' BYTE (18)ILLCHR,ILLCHR,ILLCHR,ILLCHR,ILLCHR,ILLCHR,ILLCHR,ILLCHR;110-117
9804 040370' 001640' 001640' BYTE (18)ILLCHR,ILLCHR,ILLCHR,ILLCHR,ILLCHR,ILLCHR,ILLCHR,ILLCHR;120-127
9805 040374' 001640' 001640' BYTE (18)ILLCHR,ILLCHR,ILLCHR,OPLBKT,BKSLSH,ILLCHR,UARROW,BARROW;130-137
9806 040400' 001640' 001640' BYTE (18)ILLCHR,ILLCHR,ILLCHR,ILLCHR,ILLCHR,ILLCHR,ILLCHR,ILLCHR;140-147
9807 040404' 001640' 001640' BYTE (18)ILLCHR,ILLCHR,ILLCHR,ILLCHR,ILLCHR,ILLCHR,ILLCHR,ILLCHR;150-157
9808 040410' 001640' 001640' BYTE (18)ILLCHR,ILLCHR,ILLCHR,ILLCHR,ILLCHR,ILLCHR,ILLCHR,ILLCHR;160-167
9809 040414' 001640' 001640' BYTE (18)ILLCHR,ILLCHR,ILLCHR,ILLCHR,ILLCHR,ILLCHR,ILLCHR,COMRUB;170-177
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 232
DDT11 MAC 18-May-81 17:27 DATA STORAGE
9810 SUBTTL DATA STORAGE
9811 040420' 000000 000000 LASTSW: Z ;ROUTINE TO EXECUTE AFTER PARSING OTHER SWITCHES
9812 040421' 000000 000000 DAT: Z ;POINTER TO DATA AREA
9813 040422' 000000 000000 DOTFOO: Z ;IN CASE 32 OR 48 BIT INSTRUCTION
9814 ; LH = -1 MEANS MEMORY ADR
9815 ; LH = 400000 + BITS 12-17 ARE MODE
9816 040423' 000000 000000 DTFINP: Z ;DOTFOO WHILE TYPEING IN STUFF
9817 040424' 000000 000000 DOTOLD: Z ;OLD VALUE FOR DOT IN CASE OF ESCAPE CR ETC.
9818 040425' 000000 000000 DTFOLD: Z ;KEEP DOTFOO HERE
9819 040426' 000000 000000 EXPRES: Z ;BUILD EXPRESSIONS HERE
9820 040427' 000000 000000 REMAIN: Z ;REMAINDER FROM LAST DIVISION
9821 040430' 000000 000000 LFTSAV: Z ;IF LH NONZERO RH PRECEDED <
9822 040431' 000000 000000 ETYPE: Z ;TYPE OF EXAMINE ANE DEPOSIT WE WILL DO
9823 040432' 000000 000000 PDP8F: Z ;NONZERO IF WE DOING PDP8 STYLE
9824 040433' 000000 000002 GOTO: EXP 2 ;STARTING ADDRESS FOR PROGRAM, EVEN, SO 11'S WORK
9825 040434' 000000 000000 FENAME: Z ;THIS IS ASCIZ \FE#:\ IF USING TOPS20 FRONT END
9826 040435' 000000 000000 FE.JFN: Z ;JFN FOR THE FRONT END DEVICE
9827 040436' FE.MSG: BLOCK <<14+FE.MAX>+3>/4 ;MESSAGE FOR FRONT END
9828 ;KEEP IN ORDER
9829 040451' FE.CPU: BLOCK 1 ;CPU,,DTE
9830 040452' FE.FED: BLOCK 1 ;FED #
9831 040453' FE.STS:
9832 040453' FE.BUF: BLOCK 1 ;ABOVE 3 WORDS ARE DTE. ARG BLK
9833 ;KEPT IN ORDER
9834 040454' 000000 000000 RELOFF: Z ;RELOCATION OFFSET IF READING AN FE- DUMP
9835 040455' 000000 000000 PORT: Z ;-1,,PORT NUMBER FOR CALL11 UUO'S
9836 040456' 000000 000000 NODE: Z ;NAME OR NODE NUMBER WE ARE WORKING WITH
9837 040457' 000000 000000 LINE: Z ;LINE NUMBER ON NODE WE ARE WORKING WITH
9838 040460' 000000 000000 CORARG: Z ;CORE SIZE USER REQUESTED
9839 040461' 000000 000000 USETIT: Z ;BLOCK NUMBER TO START READING FOR SYMBOLS
9840 040462' 000000 000000 SYMPTR: Z ;BYTE POINTER TO FILL SYMBOL
9841 040463' 000000 000000 SYMBOL: Z ;CURRENT SYMBOL WE ARE BUILDING
9842 040464' DATA: BLOCK ^D20
9843 040510' 777777 000000 SBEGIN: XWD -1,0 ;FIRST ADDRESS FOR SEARCH
9844 040511' 000000 000000 S..END: EXP 0 ;LAST ADDRESS FOR SEACRH
9845 040512' 000000 000000 S.WORD: EXP 0 ;WORD TO SEARCH FOR
9846 040513' 000000 177777 S.MASK: EXP 177777 ;MASK FOR WORD SEARCH
9847 REPEAT MASKSZ,<EXP 0> ;MASK FOR WORD SEARCH
9848 040514' 000000 000000
9849 040515' 000000 000000
9850 040516' 000000 000000
9851 040517' 000000 000000
9852 040520' 000000 000000
9853 040521' 000000 000000
9854 040522' 000000 000000
9855 040523' 000000 000000
9856 040524' 000000 000000 INPOPR: EXP 0 ;INPUT OPERATION (0=+,1=-,2=*,3=',4=!,5=&,6=^X)
9857 040525' 000000 000000 PRECED: EXP 0 ;PRECEDENCE OF INPOPR = 0
9858 040526' 000000 000000 EXP 0
9859 040527' 000000 000001 EXP 1
9860 040530' 000000 000001 EXP 1
9861 040531' 000000 000002 EXP 2
9862 040532' 000000 000002 EXP 2
9863 040533' 000000 000002 EXP 2
9864 040534' 000001 000001 BYTCNT: XWD 1,1 ;REPETITION COUNTS FOR OUPUT BYTES ETC.
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 232-1
DDT11 MAC 18-May-81 17:27 DATA STORAGE
9865 040535' 000000 000000 O.MODE: EXP 0 ;OUTPUT MODE LH = PERMANENT, RH = CURRENT
9866 ; (0=SYMBOLIC, 1=ADDRESS, 2=NUMERIC, 3=BYTES,
9867 ; 4=ASCII TEXT, 5=EBCDIC TEXT)
9868 040536' 000010 000010 ORADIX: ^D8,,^D8 ;OUTPUT RADIX
9869 ; LH IS PERMANENT SETTING, RH IS CURRENT
9870 040537' ESCSAV: BLOCK 3 ;SAVE BYTCNT ETC HERE IN CASE OF RUBOUT ETC.
9871 040542' 777777 000011 LSTADR: -1,,Z ;LAST ADDRESS DISPLAYED
9872 040543' 000000 000000 LSTIAD: Z ;LAST ADDRESS INPUT
9873 040544' 000000 000000 ESC.Q.: Z ;USED IF GET AN <ALT>Q
9874 040545' 000000 000000 ESCOCT: Z ;USED TO ACCUMULATE OCTAL NUMBER FOR ESCAPE ARG
9875 040546' 000000 000000 ESCDEC: Z ;USED TO ACCUMULATE DECIMAL NUMBER FOR ESCAPE ARG
9876
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 233
DDT11 MAC 18-May-81 17:27 DATA STORAGE
9877
9878 DEFINE NAMES <
9879 X 11,SETP11 ;/11
9880 X 8,SETPD8 ;/8
9881 X BINARY,SETBIN ;/BINARY
9882 X CORE,SETCOR ;/CORE
9883 X DTELDR,SETFOO ;/DETLDR
9884 X DUMP,SETDMP ;/DUMP
9885 X FE,SET.FE ;/FE
9886 X FESYMB,SETFES ;/FESYMBOLS
9887 X GO,SETGO ;/GO
9888 X LA36,SETLA3 ;/LA36
9889 X LINE,SETLIN ;/LINE
9890 X LOCK,SETLOK ;/LOCK
9891 X LSD,SETDMP ;/LSD
9892 X MERGE,SETMRG ;/MERGE
9893 X NODE,SETNOD ;/NODE
9894 X PATCH,SETWEN ;/PATCH
9895 X PDP11,SETP11 ;/PDP11
9896 X PDP8,SETPD8 ;/PDP8
9897 X PORT,SETPRT ;/PORT
9898 X READST,SETRST ;/READSTB
9899 X RELOCA,SETREL ;/RELOCATION
9900 X SYMBOL,SETSYM ;/SYMBOL
9901 X UBA,SETUBA ;/UBA - SET UNIBUS TO USE
9902 X VT52,SETVTX ;/VT52
9903 X WRITES,SETWST ;/WRITESTB
9904 >
9905 DEFINE X (A,B) < SIXBIT \A\ >
9906 040547' 212100 000000 SW.LST: NAMES
9907 040550' 300000 000000
9908 040551' 425156 416271
9909 040552' 435762 450000
9910 040553' 446445 544462
9911 040554' 446555 600000
9912 040555' 464500 000000
9913 040556' 464563 715542
9914 040557' 475700 000000
9915 040560' 544123 260000
9916 040561' 545156 450000
9917 040562' 545743 530000
9918 040563' 546344 000000
9919 040564' 554562 474500
9920 040565' 565744 450000
9921 040566' 604164 435000
9922 040567' 604460 212100
9923 040570' 604460 300000
9924 040571' 605762 640000
9925 040572' 624541 446364
9926 040573' 624554 574341
9927 040574' 637155 425754
9928 040575' 654241 000000
9929 040576' 666425 220000
9930 040577' 676251 644563
9931 040600' 000000 000000 Z
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 233-1
DDT11 MAC 18-May-81 17:27 DATA STORAGE
9932 DEFINE X (A,B) < 0,,B >
9933 040601' 000000 000265' SW.DSP: NAMES
9934 040602' 000000 000267'
9935 040603' 000000 000073'
9936 040604' 000000 000077'
9937 040605' 000000 000153'
9938 040606' 000000 000147'
9939 040607' 000000 000157'
9940 040610' 000000 000271'
9941 040611' 000000 000236'
9942 040612' 000000 000276'
9943 040613' 000000 000251'
9944 040614' 000000 000326'
9945 040615' 000000 000147'
9946 040616' 000000 000243'
9947 040617' 000000 000307'
9948 040620' 000000 000247'
9949 040621' 000000 000265'
9950 040622' 000000 000267'
9951 040623' 000000 000336'
9952 040624' 000000 000431'
9953 040625' 000000 000300'
9954 040626' 000000 000377'
9955 040627' 000000 000412'
9956 040630' 000000 000426'
9957 040631' 000000 000432'
9958
9959
9960 ;KEEP A COPY OF CURRENT COMMAND HERE TO RETYPE IT OR RUBOUT CHARS
9961 040632' 000000 000000 CMDTKR: Z ;USE TO REPROCESS LINE
9962 040633' 000000 000000 CMDLIM: Z ;LIMIT TO RESCAN
9963 040634' 000000 000000 CMDPTR: Z ;UES TO FILL COMMAND LINE
9964 000047 Q= <CMDSIZ+4>/5
9965 040635' CMDLIN: BLOCK Q
9966
9967 040704' 200000 000000 TTYBIT: EXP TF.RUB ;FLAGS TO DEFINE TYPE OF TERMINAL
9968 040705' 000000 000000 FLGSAV: EXP 0 ;SAVE FLAG REGISTER HERE IN CASE OF REENTER
9969 040706' 000000 000000 CMDCON: EXP 0 ;COMMAND CONFLICT LOCATION
9970 040707' MYPPN: BLOCK 1 ; PPN OF USER
9971
9972 ;THE CACHE IS SO WORK OVER SYNCHRONOUS LINE WILL BE FASTER
9973 040710' 000000 000000 CACHEL: 0 ;CACHE LIMIT, I.E. 1ST NONEXISTEN BYTE ADR IN CACHE
9974 040711' 000000 000000 CACHEA: 0 ;ADDRESS REPRESENTED BY FIRST ADR IN CACHE
9975 000400 CACHSZ==400 ;NUMBER OF WORDS IN CACHE
9976 040712' CACHE: BLOCK <CACHSZ/4>
9977 IFNDEF PDLEN,<PDLEN==40>
9978 041012' PDL: BLOCK PDLEN
9979
9980 ;DDT11 HAS BECOME SO LARGE THIS IS DESIREABLE
9981
9982 IFNDEF PATLEN,<PATLEN==40>
9983 041052' PATCH: BLOCK PATLEN
9984
9985 041112' 000000 000000 OSTYPE: Z ;THE FLAG FOR THE TYPE OF OS WE ARE RUNNING
9986 041113' 000000 000000 EPTBLK: Z ;ADR OF EXEC STORAGE
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 233-2
DDT11 MAC 18-May-81 17:27 DATA STORAGE
9987 041114' 000001 000000 UBACTL: 1,,0 ;UBA CONTROLLER NUMBER
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page 234
DDT11 MAC 18-May-81 17:27 SYMBOL TABLES
9988 SUBTTL SYMBOL TABLES
9989
9990 DEFINE X (VAL,MASK,NAME,FLAG) <
9991 IFL <VAL-Q>,<PRINTX SYMBOL TABLE MESSED UP
9992 QVAL= Q
9993 >
9994 IFN <<VAL&MASK>-VAL>,<PRINTX SYMBOL TABLE MASK>
9995 Q= VAL
9996
9997 Z= <<FLAG>&SMF.P8>!<<FLAG>&SMF.11>
9998 IFE <<FLAG>&<SMF.P8!SMF.11>>,<Z=1>
9999 IFN Z,<
10000 SIXBIT \NAME\
10001 EXP VAL
10002 XWD FLAG,MASK
10003 SIXBIT \DDT11\
10004 >
10005 >;END OF DEFINE X
10006 000000 Q= 0
10007 041115' 000000 041117' SYMBEG: EXP .+2
10008 041116' 000000 042163' SYMEND: EXP SYMZZZ
10009
10010 ;FOLLOWING IS DYNAMIC STORAGE
10011 ; SPACE (IF EXEC MODE)
10012 ; MEMORY FOR EXEC MODE USAGE (EPT, UPT, ETC.) POINTED TO BY EPTBLK
10013 ; MEMORY USE TABLE (IF READ FILE INTO CORE)
10014 ; MEMORY (IF READ FILE INTO CORE)
10015 ; SYMBOL TABLE (AT END CAUSE MOST LIKELY TO CHANGE IN SIZE)
10016
10017 INSTRU
10018 042163' SYMZZZ==.
10019
10020 PURGE Z,ZZ,ZZRET,Q,QQ,X,XX,DDBLNK,DDBADR
10021
10022 000000' DDTEND: END DDT11
NO ERRORS DETECTED
PROGRAM BREAK IS 047367
CPU TIME USED 02:02.584
132P CORE USED
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page S-1
DDT11 MAC 18-May-81 17:27 SYMBOL TABLE
AC1 000001 BGET33 024461' BPUT16 030240' BR5TRP 042164'
AC2 000002 BGET34 025676' BPUT17 031636' BR7INT 010000 spd
AC3 000003 BGET35 027113' BPUT20 020552' BR7LVL 000003 spd
AC4 000004 BGET36 030422' BPUT21 021767' BR7OFF 001020 spd
ACCUM 001316' BGET37 031757' BPUT22 023204' BR7ON 002020 spd
ACCUM2 001333' BGET40 020747' BPUT23 024421' BR7PND 042165'
ACCUM3 001344' BGET41 022164' BPUT24 025636' BR7TRP 042166'
ACCUM8 001353' BGET42 023401' BPUT25 027053' BRFTCH 017731'
ADDSYM 005232' BGET43 024616' BPUT26 030364' BRGT00 020401'
ADRTYP 007076' BGET44 026033' BPUT27 031721' BRGT01 021616'
ADSYM7 005257' BGET45 027250' BPUT30 020707' BRGT02 023033'
APRID 700000 000000 BGET46 030614' BPUT31 022124' BRGT03 024250'
APRLVL 000002 spd BGET47 032105' BPUT32 023341' BRGT04 025465'
ASSDEC 001130' BGET50 021050' BPUT33 024556' BRGT05 026702'
ASSNUM 001132' BGET51 022265' BPUT34 025773' BRGT06 030117'
ASSPER 001123' BGET52 023502' BPUT35 027210' BRGT07 031554'
ASSPRC 001151' BGET53 024717' BPUT36 030514' BRGT10 020427'
ASSYMB 001155' BGET54 026134' BPUT37 032051' BRGT11 021644'
ASYMB2 001157' BGET55 027351' BPUT40 021010' BRGT12 023061'
B3.TYP 007626' BGET56 030721' BPUT41 022225' BRGT13 024276'
BARROW 001745' BGET57 032175' BPUT42 023442' BRGT14 025513'
BARRW3 001747' BGET60 021215' BPUT43 024657' BRGT15 026730'
BARRW5 001761' BGET61 022432' BPUT44 026074' BRGT16 030163'
BCIO 715000 000000 BGET62 023647' BPUT45 027311' BRGT17 031604'
BCIOB 725000 000000 BGET63 025064' BPUT46 030657' BRGT20 020510'
BEG.PS 011220' BGET64 026301' BPUT47 032141' BRGT21 021725'
BEGREG 011210' BGET65 027516' BPUT50 021145' BRGT22 023142'
BFETCH 017631' BGET66 031147' BPUT51 022362' BRGT23 024357'
BGET00 020375' BGET67 032326' BPUT52 023577' BRGT24 025574'
BGET01 021612' BGET70 021367' BPUT53 025014' BRGT25 027011'
BGET02 023027' BGET71 022604' BPUT54 026231' BRGT26 030305'
BGET03 024244' BGET72 024021' BPUT55 027446' BRGT27 031662'
BGET04 025461' BGET73 025236' BPUT56 031016' BRGT30 020612'
BGET05 026676' BGET74 026453' BPUT57 032261' BRGT31 022027'
BGET06 030113' BGET75 027670' BPUT60 021307' BRGT32 023244'
BGET07 031550' BGET76 031325' BPUT61 022524' BRGT33 024461'
BGET10 020427' BGET77 032500' BPUT62 023741' BRGT34 025676'
BGET11 021644' BKSLSH 001627' BPUT63 025156' BRGT35 027113'
BGET12 023061' BLANKT 007630' BPUT64 026373' BRGT36 030422'
BGET13 024276' BLDRET 000007 spd BPUT65 027610' BRGT37 031757'
BGET14 025513' BOOT 104000 000562 int BPUT66 031243' BRGT40 020747'
BGET15 026730' BPUT00 020410' BPUT67 032420' BRGT41 022164'
BGET16 030202' BPUT01 021625' BPUT70 021514' BRGT42 023401'
BGET17 031604' BPUT02 023042' BPUT71 022731' BRGT43 024616'
BGET20 020510' BPUT03 024257' BPUT72 024146' BRGT44 026033'
BGET21 021725' BPUT04 025474' BPUT73 025363' BRGT45 027250'
BGET22 023142' BPUT05 026711' BPUT74 026600' BRGT46 030573'
BGET23 024357' BPUT06 030126' BPUT75 030015' BRGT47 032105'
BGET24 025574' BPUT07 031565' BPUT76 031452' BRGT50 021050'
BGET25 027011' BPUT10 020463' BPUT77 032625' BRGT51 022265'
BGET26 030325' BPUT11 021700' BR5INT 004000 spd BRGT52 023502'
BGET27 031662' BPUT12 023115' BR5LVL 000004 spd BRGT53 024717'
BGET30 020612' BPUT13 024332' BR5OFF 001010 spd BRGT54 026134'
BGET31 022027' BPUT14 025547' BR5ON 002010 spd BRGT55 027351'
BGET32 023244' BPUT15 026764' BR5PND 042163' BRGT56 030721'
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page S-2
DDT11 MAC 18-May-81 17:27 SYMBOL TABLE
BRGT57 032175' CLKLOD 033665' CNTLW9 001542' CTYTIM 033330'
BRGT60 021215' CLKLVL 000006 spd CNTRLF 001242' CTYWRT 033260'
BRGT61 022432' CLKRS1 033646' CNTRLR 001430' D10AD 004756'
BRGT62 023647' CLKRS2 033662' CNTRLT 033567' D10DT 004757'
BRGT63 025064' CLKRST 033637' CNTRLU 001511' D10FN 004755'
BRGT64 026301' CLKSPD 033635' CNTRLW 001514' D11AD 004762'
BRGT65 027516' CLKSTS 033632' CNTRLZ 002222' D11DT 004763'
BRGT66 031116' CLKTCK 033636' COLTYP 007607' D11FN 004761'
BRGT67 032326' CLKTI1 033716' COLUMN 037634' D11RS 004760'
BRGT70 021367' CLKTIM 033702' COM.CR 001621' D6.DEP 000012 spd
BRGT71 022604' CLKWR3 033727' COM.HT 001646' D6.EXM 000011 spd
BRGT72 024021' CLKWRT 033675' COM.LF 001711' D62DEP 004551'
BRGT73 025236' CLOSE 070000 000000 COMAND 000567' D62DEW 004547'
BRGT74 026453' CLRBFI 051440 000000 COMAR0 002133' D62EXM 004532'
BRGT75 027670' CLRMEM 000354' COMAR2 002144' D62EXW 004530'
BRGT76 031325' CLRPT 701100 000000 COMAR3 002147' DAT 040421'
BRGT77 032500' CMDCH1 003171' COMAR8 002163' DATA 040464'
BSIO 714000 000000 CMDCH2 003223' COMLF1 001724' DATADR 007216'
BSIOB 724000 000000 CMDCH4 003236' COMLF2 001725' DATAS2 007441'
BSTUFF 020231' CMDCH6 003247' COMLF3 001733' DATAS3 007445'
BT%CTL 400000 000000 sin CMDCH7 003240' COMLF4 001736' DATASC 007433'
BTARG 005052' CMDCH8 003211' COMRUB 001457' DATBYT 007501'
BYTCNT 040534' CMDCHR 003172' COMTYP 007633' DATE 047000 000014
C11LST 005125' CMDCNT 003276' CORARG 040460' DATEB2 007467'
CACHE 040712' CMDCON 040706' CORE 047000 000011 DATEB3 007473'
CACHEA 040711' CMDDN1 003260' CORERR 005407' DATEBC 007462'
CACHEL 040710' CMDDN7 003267' CPUTYP 004716' DATET0 007746'
CACHSZ 000400 spd CMDDSP 003277' CRLTYP 007621' DATETY 007745'
CAL11. 047000 000125 CMDFAK 003301' CSECHO 003274' DATIN1 007315'
CAL78. 047000 000156 CMDFIL 003275' CST... 003000 spd DATIN2 007256'
CALDSP 037400' CMDLIM 040633' CTIDAT 033214' DATIN4 007262'
CALER0 005061' CMDLIN 040635' CTIFLG 033223' DATIN8 007275'
CALER1 005071' CMDONE 003257' CTISPD 033225' DATIN9 007331'
CALER9 005115' CMDPTR 040634' CTISTS 033212' DATINS 007223'
CALERR 005062' CMDSIZ 000300 spd CTITIM 033224' DATNUM 007173'
CALL 260740 000000 CMDSUB 003220' CTIWRS 033272' DATYP1 007135'
CALLI0 037453' CMDSWL 003277' CTODAT 033220' DATYPE 007123'
CH1 037127' CMDTKR 040632' CTOFLG 033222' DC2TYP 010033'
CH2 037132' CMRUB3 001500' CTOINT 033470' DDT11 000000'
CH2CK5 037146' CMRUB8 001506' CTOSPD 033227' DDTEND 042163'
CH2CK9 037150' CMRUB9 001506' CTOSTS 033216' DECIN 042167'
CH3 037154' CNINWD 002171' CTOTIM 033226' DECINP 007051'
CH4 037157' CNIWD3 002212' CTOWD1 033323' DECTYP 007526'
CH5 037162' CNTLF2 001273' CTOWDT 033304' DEFEXT 006212'
CH6 037165' CNTLF3 001262' CTOWRS 033277' DEFSYM 001364'
CH7 037170' CNTLF5 001270' CTTIM8 033363' DELSYM 005270'
CHKCHR 037636' CNTLF6 001276' CTYADR 177560 spd DEQ 104000 000514 int
CHKCTO 033352' CNTLF7 001304' CTYBLD 033244' DEQD60 004661'
CKCHR5 037651' CNTLF8 001305' CTYBWR 033256' DEVWRT 033044'
CLKADR 177546 spd CNTLF9 001307' CTYCHK 033367' DFSYM3 001402'
CLKBLD 033667' CNTLOF 037621' CTYDDB 033176' DISA10 010062'
CLKBWR 033673' CNTLR3 001434' CTYINT 033372' DISA20 010115'
CLKDDB 033616' CNTLR4 001440' CTYLOD 033247' DISA40 010131'
CLKFLG 033634' CNTLT6 033613' CTYLVL 000004 spd DISA90 010126'
CLKINT 033732' CNTLW1 001517' CTYRST 033230' DISMS 104000 000167 int
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page S-3
DDT11 MAC 18-May-81 17:27 SYMBOL TABLE
DMPDEV 011051' EN%LTL 040000 000000 sin ESC.X7 002775' F.APND 020000 spd
DMPDIR 011053' ENQ 104000 000513 int ESC.X8 003037' F.CACH 004000 spd
DMPDSP 010226' ENQBLK 004744' ESC.X9 003041' F.CERR 010000 000000 spd
DMPPTH 011057' ENQD60 004652' ESCAPE 002417' F.EXEC 002000 000000 spd
DMPSWL 010227' ENTER 077000 000000 ESCDEC 040546' F.FELE 020000 000000 spd
DMPTIM 011056' EPDLOV 037222' ESCESC 002425' F.FLIP 000001 spd
DONE.W 006175' EPM000 000600 spd ESCMD0 002533' F.FLOP 000002 spd
DOT 000007 EPT... 000000 spd ESCMD2 002542' F.GEXP 000040 000000 spd
DOTFOO 040422' EPTAOV 000421 spd ESCMD7 002551' F.HALT 040000 000000 spd
DOTINC 001674' EPTBLK 041113' ESCMD8 002553' F.HASH 000002 000000 spd
DOTOLD 040424' EPTINT 000042 spd ESCMOD 002537' F.IDEC 000400 spd
DOTSAV 001654' EPTPDO 000422 spd ESCOCT 040545' F.IHEX 001000 spd
DOTSWP 002467' EPTSTP 000540 spd ESCP00 010320' F.IOCT 000200 spd
DSKDDB 037721' EPTTP3 000423 spd ESCP02 010322' F.LBKT 000001 000000 spd
DSKEXT 037725' EPTVEC 000100 spd ESCP10 010344' F.LOCK 040000 spd
DSKFIL 037724' EQUAL2 002020' ESCP11 010346' F.LOPN 000010 spd
DSKOP2 037712' EQUAL5 002034' ESCP12 010356' F.LPAR 000010 000000 spd
DSKPAG 007000 spd EQUALS 002012' ESCP16 010402' F.MASK 000040 spd
DSKSTR 037723' ERJMP 320700 000000 int ESCP19 010405' F.MOPN 000020 spd
DSLERR 004711' ERSTR 104000 000011 int ESCP20 010411' F.PACK 400000 spd
DTE. 047000 000170 ESC... 002427' ESCPAR 002447' F.PERC 000004 000000 spd
DTEERR 043471' ESC..0 002434' ESCSAV 040537' F.RUNF 004000 000000 spd
DTEFB% 000014 spd ESC..8 002433' ESCW.6 003331' F.SREG 000400 000000 spd
DTENF% 000015 spd ESC..A 002476' ESCW.8 003342' F.SVIO 000200 000000 spd
DTFINP 040423' ESC..B 002500' ESCW.9 003351' F.SYMB 002000 spd
DTFOLD 040425' ESC..C 002502' ESCX33 003103' F.SYML 000020 000000 spd
DUMP0 010053' ESC..D 010042' ESCX35 003113' F.TEXT 000100 spd
DUMP1 010137' ESC..G 002567' ESCX73 003006' F.TOPN 000100 000000 spd
DUMP2 010143' ESC..I 002531' ESCX74 003007' F.WENB 100000 spd
DUMP3 010156' ESC..K 002504' ETYPE 040431' F.WRIT 010000 spd
DUMP4 010163' ESC..M 002474' EVLSYM 001407' FE$BLT 043500'
DUMP6 010213' ESC..N 003303' EX.D61 000004 spd FE.BUF 040453'
DUMP8 010177' ESC..P 010276' EX.D62 000005 spd FE.CPU 040451'
DUMP85 010201' ESC..Q 002555' EX.FE0 000003 spd FE.FED 040452'
DUMP9 010206' ESC..R 002514' EX.FE1 000007 spd FE.JFN 040435'
DUMPA 010225' ESC..S 002527' EX.MCB 000006 spd FE.MAX 000040 spd
DV.BLD 000004 spd ESC..T 002532' EX.MEM 000000 spd FE.MSG 040436'
DV.BWR 000006 spd ESC..V 002672' EX.NOD 000002 spd FE.RPY 003627'
DV.INT 000013 spd ESC..W 003304' EX.POR 000001 spd FE.STS 040453'
DV.LNK 000002 spd ESC..X 002737' EXIT 047000 000012 FENAME 040434'
DV.LOD 000003 spd ESC..Y 003142' EXMAX 000140 spd FESUP 004646'
DV.LVL 000012 spd ESC.CR 002464' EXP.DO 001215' FESUP1 004652'
DV.RST 000011 spd ESC.D0 010231' EXPAND 001212' FETCH 017331'
DV.SIZ 000014 spd ESC.D3 010241' EXPDIV 001206' FEWINP 000032
DV.TIM 000007 spd ESC.D4 010270' EXPDO5 001235' FEWOUT 000033
DV.WRT 000005 spd ESC.G1 002610' EXPIOR 001210' FEWSTS 000031
DZ.CSR 000000 spd ESC.G8 002664' EXPLUS 001201' FIL.SW 006232'
DZ.LPR 000002 spd ESC.LF 002464' EXPMIN 001202' FILBLK 006214'
DZ.MSR 000006 spd ESC.Q. 040544' EXPMUL 001204' FILBYT 006714'
DZ.RBF 000002 spd ESC.UP 002464' EXPRES 040426' FILCHR 006707'
DZ.TCR 000004 spd ESC.V0 002700' EXPSPC 001167' FILDEV 006213'
DZ.TDR 000006 spd ESC.V9 002732' EXPXOR 001214' FILDIR 006215'
EB.TRN 040020' ESC.W2 003313' F..ESC 200000 spd FILER0 006110'
EBLKSZ 010000 spd ESC.X1 002760' F..FOO 000004 spd FILERR 006114'
EN%BLN 200000 000000 sin ESC.X3 003054' F..SIM 001000 000000 spd FILEXT 006217'
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page S-4
DDT11 MAC 18-May-81 17:27 SYMBOL TABLE
FILNAM 006216' GET43 024600' GETSC4 005443' INPOPR 040524'
FILPOS 006741' GET44 026015' GETSC5 005445' INPRD2 006754'
FILPPN 006223' GET45 027232' GETSC6 005450' INPRD5 006762'
FILPS4 006746' GET46 030555' GETSC7 005462' INPRD7 006772'
FILPTH 006221' GET47 032072' GETSCH 005510' INPRD9 006775'
FILSFD 006224' GET50 021021' GETSTS 062000 000000 INSRUN 011607'
FILTIM 006220' GET51 022236' GETTAB 047000 000041 INTBLK 037111'
FILTY3 006167' GET52 023453' GETWD0 003370' INTCHK 011353'
FILTY4 006152' GET53 024670' GETWD1 003410' INTCK0 011362'
FILTY5 006160' GET54 026105' GETWD2 003427' INTCK1 011453'
FILTY6 006162' GET55 027322' GETWD3 003405' INTCK3 011462'
FILTYP 006124' GET56 030672' GETWDR 003417' INTCK6 011552'
FIRDDB 034105' GET57 032151' GETWRD 003354' INTDLY 011605'
FLCHR5 006721' GET60 021167' GJ%OLD 100000 000000 sin INVLF1 005203'
FLG 000010 GET61 022404' GJ%SHT 000001 000000 sin INVLF8 005212'
FLGSAV 040705' GET62 023621' GOTO 040433' INVLFN 005201'
FNDTAG 000620' GET63 025036' GT.F10 003575' IO.BKT 040000 spd
FNDTG8 000641' GET64 026253' GTCOR6 005376' IO.DER 200000 spd
GET.C1 003415' GET65 027470' GTCOR9 005406' IO.DTE 100000 spd
GET.FE 003527' GET66 031070' GTEXP1 001076' IO.IMP 400000 spd
GET00 020347' GET67 032300' GTEXP2 001107' IO.RLB 001000 spd
GET01 021564' GET70 021330' GTFEM3 003567' IO.WLB 000400 spd
GET02 023001' GET71 022545' GTJFN 104000 000020 int IOBLOD 032717'
GET03 024216' GET72 023762' GTMEM8 003461' IOBR. 033037'
GET04 025433' GET73 025177' GTNOD3 003512' IOBR.C 033023'
GET05 026650' GET74 026414' GTNOD4 003522' IOBR.S 033031'
GET06 030065' GET75 027631' GTWD2A 003430' IOBRK 004601'
GET07 031522' GET76 031266' HALT 254200 000000 IOBSTO 032767'
GET10 020413' GET77 032441' HEXIN 042170' IOLOAD 032660'
GET11 021630' GETCH1 010611' HIBER 047000 000072 IOLT1S 042171'
GET12 023045' GETCH3 010614' HSHTYP 007644' IOR. 033017'
GET13 024262' GETCH4 010620' IBUFER 006236' IOR.C 033003'
GET14 025477' GETCH8 010622' IDTYP2 007735' IOR.S 033011'
GET15 026714' GETCH9 010632' IDTYP3 007743' IORERR 033043'
GET16 030147' GETCHR 010604' IDTYPE 007701' IORET 032714'
GET17 031572' GETCHR 047000 000006 IFILER 006730' IOSTOR 032735'
GET20 020472' GETCOR 005363' IFLDEV 006441' IR 000015
GET21 021707' GETD62 003437' IHD 006233' JEN 254500 000000
GET22 023124' GETER 104000 000012 int ILLCH0 001641' JMP00 016744' spd
GET23 024341' GETEXP 001075' ILLCHR 001640' JMP01 016744' spd
GET24 025556' GETFEM 003555' ILLINS 017037' JMP02 016744' spd
GET25 026773' GETHDR 004572' ILLUUO 037345' JMP03 016744' spd
GET26 030270' GETMEM 003444' IN 056000 000000 JMP04 016744' spd
GET27 031645' GETNOD 003466' INBUF 064000 000000 JMP05 016744' spd
GET30 020563' GETNYI 003412' INCHRS 051100 000000 JMP06 016744' spd
GET31 022000' GETOP0 001016' INCHRW 051000 000000 JMP07 016744' spd
GET32 023215' GETOP5 001047' INCHWL 051200 000000 JMP10 020444'
GET33 024432' GETOP6 001054' INI.00 000013' JMP11 021661'
GET34 025647' GETOP8 001062' INI.03 000016' JMP12 023076'
GET35 027064' GETOP9 001063' INIAL1 000061' JMP13 024313'
GET36 030374' GETOPR 001014' INIALL 000027' JMP14 025530'
GET37 031731' GETPPN 047000 000024 INIT 041000 000000 JMP15 026745'
GET40 020731' GETREG 001065' INLMES 037565' JMP16 030217'
GET41 022146' GETSC1 005417' INLMS3 037567' JMP17 031621'
GET42 023363' GETSC3 005432' INPOCT 006752' JMP20 020527'
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page S-5
DDT11 MAC 18-May-81 17:27 SYMBOL TABLE
JMP21 021744' LERLST 005135' MSTIME 047000 000023 OPNFE9 000223'
JMP22 023161' LEVEL0 000444' MTOPR 104000 000077 int OPNFIL 005641'
JMP23 024376' LEVEL1 000451' MYPPN 040707' OPNFL0 005642'
JMP24 025613' LEVEL2 000451' NDTFIN 001664' OPNFL2 006043'
JMP25 027030' LEVEL3 000466' NDTFOO 001660' OPNFL5 006071'
JMP26 030343' LEVEL4 000777' NERLST 005144' OPNLC2 002062'
JMP27 031700' LEVEL5 000767' NODARG 004373' OPNLC4 002073'
JMP30 020642' LEVEL6 000541' NODE 040456' OPNLOC 002047'
JMP31 022057' LEVEL7 000536' NODE 104000 000567 int OPNTTY 037715'
JMP32 023274' LEVEL8 000542' NODE. 047000 000157 OPRTY1 007410'
JMP33 024511' LEVEL9 000556' NODSE1 003672' OPRTY5 007424'
JMP34 025726' LEVL.0 000435' NODSET 003670' OPRTYP 007405'
JMP35 027143' LFTANG 001705' NOP 300000 000000 ORADIX 040536'
JMP36 030451' LFTSAV 040430' NUMBUF 000001 spd OSTYPE 041112'
JMP37 032006' LINE 040457' NXM... 016750' OUT 057000 000000
JMP40 020766' LK.LLS 000001 spd NXMRET 032676' OUTBUF 065000 000000
JMP41 022203' LK.LNE 000002 spd NXMRT3 032710' OUTCHR 051040 000000
JMP42 023420' LKELEN 000004 spd NXTDOT 001670' P 000017
JMP43 024635' LOCK 047000 000060 NXTDWD 007201' P.KA10 040000 000000 spd
JMP44 026052' LOCKER 005121' NXTWRD 007205' P.KI10 100000 000000 spd
JMP45 027267' LODRET 000004 spd O.MODE 040535' P.KL10 200000 000000 spd
JMP46 030633' LOOKUP 076000 000000 OBUFER 006464' P.KS10 400000 000000 spd
JMP47 032123' LOOP 001113' OCTIN 042173' P.PDP6 020000 000000 spd
JMP50 021100' LOOP1 001115' OCTYP6 007531' P.PLVL 011152'
JMP51 022315' LSTADR 040542' OCTYPE 007535' PATCH 041052'
JMP52 023532' LSTDTE 004764' OF%RD 200000 sin PATH. 047000 000110
JMP53 024747' LSTIAD 040543' OF%WR 100000 sin PATLEN 000040 spd
JMP54 026164' MA 000013 OFLDEV 006667' PC 000007
JMP55 027401' MA..IO 010000 spd OHD 006461' PCNTYP 007641'
JMP56 030751' MA..RG 020000 spd OPDSP0 011647' PDECTY 007555'
JMP57 032222' MA..UN 040000 spd OPDSP1 013647' PDL 041012'
JMP60 021244' MAPCOR 036737' OPDSP2 013747' PDLEN 000040 spd
JMP61 022461' MAPCR1 036757' OPDSPA 011261' PDP6 004741'
JMP62 023676' MAPCR2 037014' OPDSPB 011262' PDP8F 040432'
JMP63 025113' MAPCR3 037040' OPEN 050000 000000 PERTYP 007636'
JMP64 026330' MAPCR4 037043' OPENF 104000 000021 int PGFAIL 037223'
JMP65 027545' MAPCR5 037060' OPENFE 000203' PGFSAV 042174'
JMP66 031176' MASKSZ 000010 spd OPFIL1 005652' PIOFF 700600 000400
JMP67 032355' MATCH 002277' OPFIL2 005667' PION 700600 000200
JMP70 021427' MATCH0 002302' OPFIL3 005676' PJRST 324740 000000
JMP71 022644' MATCH2 002310' OPFIL4 005735' PLUTYP 007652'
JMP72 024061' MATCH4 002323' OPFIL5 005766' PORT 040455'
JMP73 025276' ME.SET 003616' OPFIL6 006005' POSYMT 005303'
JMP74 026513' MEMLIM 011150' OPFIL7 006015' PRADT5 007562'
JMP75 027730' MEMORY 011147' OPFL30 005721' PRECED 040525'
JMP76 031365' MEMUSE 011151' OPFL39 005732' PROM 010505'
JMP77 032540' MINTYP 007647' OPFL40 005734' PROM.2 010520'
JMPCLC 020031' MONRT. 047040 000012 OPFL41 005744' PROM.4 010526'
JMPREG 016744' MONTAB 007765' OPFL42 005752' PROM.6 010546'
JOV 255400 000000 MOVMEM 004263' OPFL43 005753' PROM.8 010554'
KA10 004736' MOVMUS 004275' OPFL52 005773' PROM.9 010566'
KI10 004737' MOVSMT 005321' OPFL55 005776' PROM.F 042175'
KL10 004732' MOVTAB 004310' OPLBKT 002046' PS 000016
KS10 004733' MOVTB2 004312' OPNF10 000231' PS...C 000001 spd
LASTSW 040420' MRGFLG 042172' OPNFE8 000221' PS...N 000010 spd
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page S-6
DDT11 MAC 18-May-81 17:27 SYMBOL TABLE
PS...T 000020 spd PUT16 030222' PUTBY7 004256' RDBN85 011031'
PS...V 000002 spd PUT17 031624' PUTBYT 003776' RDBNER 011046'
PS...Z 000004 spd PUT20 020534' PUTD62 004035' RDCHAR 010574'
PS.ADR 177776 spd PUT21 021751' PUTFOO 004177' RDCSB 702040 000000
PS.BLD 033103' PUT22 023166' PUTHDR 004562' RDCSTM 702140 000000
PS.BWR 033110' PUT23 024403' PUTMEM 004145' RDDUMP 010633'
PS.CHK 033115' PUT24 025620' PUTND2 004060' RDEBR 701240 000000
PS.DDB 033063' PUT25 027035' PUTNOD 004056' RDINT 702240 000000
PS.INT 000000 spd PUT26 030347' PUTNYI 004006' RDIO 712000 000000
PS.LOD 033101' PUT27 031704' PUTP.2 004012' RDIOB 722000 000000
PS.LVL 000000 spd PUT30 020660' PUTP.4 004020' RDPI 700640 000000
PS.REG 033077' PUT31 022075' PUTP.8 004030' RDPUR 702100 000000
PS.RST 005200' spd PUT32 023312' QD60BF 004753' RDSAVE 005057'
PS.TIM 005200' spd PUT33 024527' QESTYP 007612' RDSLEN 005060'
PS.WRT 033112' PUT34 025744' QPRT0 004751' RDSPB 702000 000000
PSCHK0 033127' PUT35 027161' QPRT1 004752' RDSYM1 005545'
PSCHK1 033130' PUT36 030466' QUED60 004666' RDSYM2 005550'
PSCHK3 033137' PUT37 032023' QUEST. 002231' RDSYM3 005552'
PT.F1A 004075' PUT40 020772' QUEST4 002270' RDSYM4 005557'
PT.F20 004126' PUT41 022207' QUEST5 002271' RDSYM5 005571'
PT6.2 004036' PUT42 023424' QUOTE 001544' RDSYM6 005605'
PT6.4 004044' PUT43 024641' QUOTEB 001555' RDSYM7 005602'
PT6.8 004051' PUT44 026056' QUOTEC 001567' RDSYM8 005614'
PTBCH1 003755' PUT45 027273' QUOTEE 001576' RDSYM9 005616'
PTBCH2 003757' PUT46 030637' QUOTET 001601' RDSYMA 005542'
PTBCH4 003760' PUT47 032126' R 005200' RDSYMB 005412'
PTHLEN 000011 spd PUT50 021116' R.SET 011611' RDTDMP 010725'
PTMEM2 004147' PUT51 022333' R.SET1 011637' RDTIME 702200 000000
PTMEM4 004156' PUT52 023550' R.SET2 011642' RDUBR 701040 000000
PTMEM5 004160' PUT53 024765' R20AGN 004640' RDUMP0 011071'
PTMEM6 004171' PUT54 026202' R20OK 004642' RDUMP1 011074'
PTMEM7 004172' PUT55 027417' RADIN0 007055' RDUMP2 011101'
PTYPE 004743' PUT56 030767' RADIN2 007065' RDUMP5 011106'
PUNBM8 010500' PUT57 032235' RADIN9 007074' RDUMP6 011116'
PUNDSP 010464' PUT60 021261' RADINP 007052' RDUMP9 011132'
PUNIMG 010475' PUT61 022476' RADTY2 007537' REGTYP 007145'
PUNM93 010502' PUT62 023713' RADTY3 007540' RELEAS 071000 000000
PUNPAK 010476' PUT63 025130' RADTY5 007543' RELOFF 040454'
PUNSWL 010470' PUT64 026345' RADTY7 007550' REMAIN 040427'
PUT.C1 004011' PUT65 027562' RADTYP 007520' RESET 047000 000000
PUT.FE 004071' PUT66 031213' RCVBUF 037624' RET 263740 000000
PUT00 020406' PUT67 032372' RCVHDR 004765' int RETRY 005051'
PUT01 021623' PUT70 021455' RCVPTR 037623' RETYPE 002000'
PUT02 023040' PUT71 022672' RCVTKR 037622' RFETCH 017431'
PUT03 024255' PUT72 024107' RD2020 004622' RGET00 020352'
PUT04 025472' PUT73 025324' RD20ST 004625' RGET01 021567'
PUT05 026707' PUT74 026541' RDAPR 700240 000000 RGET02 023004'
PUT06 030124' PUT75 027756' RDBN10 010666' RGET03 024221'
PUT07 031561' PUT76 031413' RDBN20 010704' RGET04 025436'
PUT10 020447' PUT77 032566' RDBN30 010714' RGET05 026653'
PUT11 021664' PUTADR 003654' RDBN60 010777' RGET06 030070'
PUT12 023101' PUTBCH 003735' RDBN70 011010' RGET07 031525'
PUT13 024316' PUTBY1 004213' RDBN74 011014' RGET10 020413'
PUT14 025533' PUTBY2 004217' RDBN79 011023' RGET11 021630'
PUT15 026750' PUTBY4 004240' RDBN80 011026' RGET12 023045'
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page S-7
DDT11 MAC 18-May-81 17:27 SYMBOL TABLE
RGET13 024262' RGTASC 007156' SBGT03 024225' SBGT72 024021'
RGET14 025477' RGTBYT 007154' SBGT04 025442' SBGT73 025236'
RGET15 026714' RGTEBC 007160' SBGT05 026657' SBGT74 026453'
RGET16 030131' RGTYPX 007161' SBGT06 030074' SBGT75 027670'
RGET17 031572' RJBLCK 040017' SBGT07 031531' SBGT76 031325'
RGET20 020472' RJRD.5 040010' SBGT10 020427' SBGT77 032500'
RGET21 021707' RJRD.9 037776' SBGT11 021644' SCNTYP 037573'
RGET22 023124' RJRDW4 040006' SBGT12 023061' SELDTE 004676'
RGET23 024341' RJRDWT 040004' SBGT13 024276' SEMICL 001767'
RGET24 025556' RJREAD 037750' SBGT14 025513' SET.FE 000157'
RGET25 026773' RJUNIT 040016' SBGT15 026730' SETBIN 000073'
RGET26 030251' RLMSIZ 002576 SBGT16 030202' SETCOR 000077'
RGET27 031645' RLMTAB 034112' SBGT17 031604' SETCPU 004734'
RGET30 020563' RPAS 776716 spd SBGT20 020510' SETD62 000173'
RGET31 022000' RPBA 776704 spd SBGT21 021725' SETDMP 000147'
RGET32 023215' RPCC 776736 spd SBGT22 023142' SETFES 000271'
RGET33 024432' RPCS1 776700 spd SBGT23 024357' SETFET 000174'
RGET34 025647' RPCS2 776710 spd SBGT24 025574' SETFOO 000153'
RGET35 027064' RPDA 776706 spd SBGT25 027011' SETGO 000236'
RGET36 030374' RPDB 776722 spd SBGT26 030325' SETIHD 010763'
RGET37 031731' RPDC 776734 spd SBGT27 031662' SETLA3 000276'
RGET40 020731' RPDS 776712 spd SBGT30 020612' SETLIN 000251'
RGET41 022146' RPDT 776726 spd SBGT31 022027' SETLOK 000326'
RGET42 023363' RPEC1 776744 spd SBGT32 023244' SETMRG 000243'
RGET43 024600' RPEC2 776746 spd SBGT33 024461' SETMSK 002403'
RGET44 026015' RPER1 776714 spd SBGT34 025676' SETNOD 000307'
RGET45 027232' RPER2 776740 spd SBGT35 027113' SETP11 000265'
RGET46 030535' RPER3 776742 spd SBGT36 030422' SETPC2 011230'
RGET47 032072' RPLA 776720 spd SBGT37 031757' SETPD8 000267'
RGET50 021021' RPMR 776724 spd SBGT40 020747' SETPRT 000336'
RGET51 022236' RPOF 776732 spd SBGT41 022164' SETREL 000300'
RGET52 023453' RPSN 776730 spd SBGT42 023401' SETRST 000431'
RGET53 024670' RPWC 776702 spd SBGT43 024616' SETSTS 060000 000000
RGET54 026105' RSCAN 001447' SBGT44 026033' SETSYM 000377'
RGET55 027322' RSCAN 104000 000500 int SBGT45 027250' SETUBA 000412'
RGET56 030672' RSCAN2 001451' SBGT46 030614' SETUPC 011221'
RGET57 032151' RSKP 005177' SBGT47 032105' SETUPN 003643'
RGET60 021167' RSTACK 017150' SBGT50 021050' SETVTX 000426'
RGET61 022404' RSTART 000433' SBGT51 022265' SETWEN 000247'
RGET62 023621' RUNTIM 047000 000027 SBGT52 023502' SETWST 000432'
RGET63 025036' S..END 040511' SBGT53 024717' SFETCH 017231'
RGET64 026253' S.MASK 040513' SBGT54 026134' SGET00 020331'
RGET65 027470' S.WORD 040512' SBGT55 027351' SGET01 021546'
RGET66 031040' SAVCHR 042176' SBGT56 030721' SGET02 022763'
RGET67 032300' SAVE13 004324' SBGT57 032175' SGET03 024200'
RGET70 021330' SAVE2 004341' SBGT60 021215' SGET04 025415'
RGET71 022545' SAVE24 004347' SBGT61 022432' SGET05 026632'
RGET72 023762' SAVE34 004361' SBGT62 023647' SGET06 030047'
RGET73 025177' SAVE35 004361' SBGT63 025064' SGET07 031504'
RGET74 026414' SAVE4 004324' SBGT64 026301' SGET10 020413'
RGET75 027631' SBEGIN 040510' SBGT65 027516' SGET11 021630'
RGET76 031266' SBFTCH 017531' SBGT66 031147' SGET12 023045'
RGET77 032441' SBGT00 020356' SBGT67 032326' SGET13 024262'
RGFND8 005221' SBGT01 021573' SBGT70 021367' SGET14 025477'
RGFNDN 005216' SBGT02 023010' SBGT71 022604' SGET15 026714'
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page S-8
DDT11 MAC 18-May-81 17:27 SYMBOL TABLE
SGET16 030147' SIMOP1 011233' STCOR3 000126' T4 000014
SGET17 031572' SIMOPN 011232' STCOR9 000145' T5 000015
SGET20 020472' SIMPTR 034106' STEFIN 002330' TABDNE 002606'
SGET21 021707' SIMREG 011200' STEFN3 002360' TABTYP 007615'
SGET22 023124' SIMREL 036710' STEFN5 002375' TB.INT 011263'
SGET23 024341' SIMRL2 036713' STFNXM 016746' TF.RUB 200000 000000 spd
SGET24 025556' SIMRL4 036727' STMSK1 002404' TIMCHK 011560'
SGET25 026773' SIMRL5 036736' STONX3 032763' TIMCK2 011562'
SGET26 030270' SIMSAC 011166' STONXM 032751' TIMCK3 011571'
SGET27 031645' SIMXCT 011153' STUFF 020131' TIMCK4 011600'
SGET30 020563' SIN 104000 000052 int SUPLIM 002224' TIMTY1 010003'
SGET31 022000' SIXIN 006776' SW.ADR 177570 spd TIMTY3 010025'
SGET32 023215' SIXIN0 006777' SW.BLD 033162' TIMTYP 010001'
SGET33 024432' SIXIN2 007010' SW.BWR 033167' TIOE 710000 000000
SGET34 025647' SIXIN3 007011' SW.DDB 033142' TIOEB 720000 000000
SGET35 027064' SIXIN7 007024' SW.DSP 040601' TION 711000 000000
SGET36 030374' SIXIN9 007031' SW.INT 000000 spd TIONB 721000 000000
SGET37 031731' SIXOC1 007036' SW.LOD 033160' TPOPJ 003666'
SGET40 020731' SIXOC9 007047' SW.LST 040547' TPOPJ1 005176'
SGET41 022146' SIXOCT 007034' SW.LVL 000000 spd TTCDSP 037517'
SGET42 023363' SIXTYP 007600' SW.REG 033156' TTCL10 037553'
SGET43 024600' SKPINC 051540 000000 SW.RST 005200' spd TTCL11 037554'
SGET44 026015' SLEEP 047000 000031 SW.TIM 005200' spd TTCL12 037555'
SGET45 027232' SMF.11 100000 spd SW.WRT 033044' spd TTCL13 037556'
SGET46 030555' SMF.BR 000100 spd SXTYP1 007601' TTCL14 037562'
SGET47 032072' SMF.BY 200000 spd SYM 000005 TTCL15 037563'
SGET50 021021' SMF.DD 000020 spd SYMBEG 041115' TTCL31 037542'
SGET51 022236' SMF.EI 000010 spd SYMBLK 005523' TTCLL0 037527'
SGET52 023453' SMF.EM 002000 spd SYMBOL 040463' TTCLL1 037533'
SGET53 024670' SMF.IN 000004 spd SYMDEV 005522' TTCLL2 037535'
SGET54 026105' SMF.JS 001000 spd SYMDIR 005524' TTCLL3 037541'
SGET55 027322' SMF.MK 010000 spd SYMEND 041116' TTCLL4 037546'
SGET56 030672' SMF.P8 040000 spd SYMERR 001426' TTCLL5 037547'
SGET57 032151' SMF.PL 020000 spd SYMEXT 005526' TTCLL6 037550'
SGET60 021167' SMF.RG 000002 spd SYMFN1 005155' TTCLL7 037552'
SGET61 022404' SMF.RT 000400 spd SYMFN7 005163' TTYBIT 040704'
SGET62 023621' SMF.SB 000200 spd SYMFN8 005173' TTYDDB 037717'
SGET63 025036' SMF.SS 000040 spd SYMFN9 005175' TYP8IN 007341'
SGET64 026253' SMF.SU 000001 spd SYMFND 005153' TYPCH3 007672'
SGET65 027470' SMICL5 001772' SYMNAM 005525' TYPCH4 007676'
SGET66 031070' SOUT 104000 000053 int SYMPPN 005532' TYPCHR 007666'
SGET67 032300' SP 000006 SYMPTH 005530' TYPEIT 007617'
SGET70 021330' STACKV 017143' SYMPTR 040462' TYPST3 007660'
SGET71 022545' STATE 000006 SYMSFD 005533' TYPST5 007664'
SGET72 023762' STATE0 040120' SYMTIM 005527' TYPSTR 007655'
SGET73 025177' STATEB 040320' SYMZZZ 042163' spd UARROW 002105'
SGET74 026414' STATSC 040220' T.EXEC 010000 000000 spd UB.16B 200000 spd
SGET75 027631' STB... 002000 spd T.ITS 100000 000000 spd UB.FST 100000 spd
SGET76 031266' STCER3 003723' T.OTHE 400000 000000 spd UB.RPW 400000 spd
SGET77 032441' STCERR 003717' T.TENE 040000 000000 spd UB.VLD 040000 spd
SIM.U1 011242' STCIMS 004420' T.TOP1 200000 000000 spd UBA.B5 000204 spd
SIM11 011242' STCKVP 017134' T.TOP2 020000 000000 spd UBA.B7 000230 spd
SIM11A 011244' STCMSG 004400' T1 000011 UBA.IR 763200
SIMCY1 011255' STCOR1 000110' T2 000012 UBA.MR 763101
SIMCYC 011246' STCOR2 000124' T3 000013 UBA.SR 763100
DDT11 %5(53) PDP-10 RESIDENT PDP-11 [FIL]DDT MACRO %53A(1152) 17:41 18-May-81 Page S-9
DDT11 MAC 18-May-81 17:27 SYMBOL TABLE
UBACTL 041114' WAIT0 014062' .BEQ 014476' .JBFF 043743' ext
UBALVL 000234 spd WAIT1 014106' .BGE 014507' .JBREL 037477' ext
UBAMAP 763000 WAITIM 011610' .BGT 014535' .JBREN 011142' ext
UBXADR 163000 spd WIDTH 037635' .BHI 015700' .JBSA 005366' ext
UBXBLD 034055' WR2020 004607' .BHIS 015755' .JBVER 000137
UBXBWR 034075' WRAPR 700200 000000 .BIC 015320' .JMP 014377'
UBXDDB 034031' WRCSB 702440 000000 .BICB 016635' .JSR 014567'
UBXINT 000000 spd WRCSTM 702540 000000 .BIS 015345' .MARK 015211'
UBXLOD 034045' WREBR 701200 000000 .BISB 016662' .MODTE 000004 sin
UBXLVL 000000 spd WRINT 702640 000000 .BIT 015304' .MOEOF 000003 sin
UBXRST 005200' spd WRIO 713000 000000 .BITB 016621' .MOV 015246'
UBXTIM 005200' spd WRIOB 723000 000000 .BLE 014552' .MOVB 016556'
UBXWRT 034065' WRPI 700600 000000 .BLO 015777' .MUL 015427'
UCALLI 037367' WRPUR 702500 000000 .BLOS 015711' .NEG 014722'
UCLOSE 037732' WRSPB 702400 000000 .BLT 014522' .NEGB 016267'
UCORE 037476' WRTBN4 010444' .BMI 015667' .PRIOU 000101 sin
UFNDD0 037740' WRTBN9 010457' .BNE 014465' .RESET 014335'
UFNDD7 037745' WRTIME 702600 000000 .BPL 015656' .ROL 015102'
UFNDDB 037737' WRTLCK 002400' .BPT 014157' .ROLB 016447'
UGTTAB 037507' WRTWRD 010431' .BR 014456' .ROR 015051'
UMOVE 704000 000000 WRUBR 701140 000000 .BTCMP 000003 sin .RORB 016416'
UMOVEM 705000 000000 XMSG 004771' .BTDTE 000000 sin .RTI 014117'
UNLOK. 047000 000120 XMTHDR 004767' int .BTLEN 000002 sin .RTS 014405'
UPT... 001000 spd $FBLEN 000020 spd .BTMSG 000001 sin .RTT 014337'
UPTIME 037153' %%DDT1 000500 000053 sin .BTRDD 000022 sin .SBC 015003'
UPTPFL 001501 spd %GOTO 000600' .BTSDD 000021 sin .SBCB 016350'
UPTPFN 001503 spd %GOTO3 000602' .BVC 015722' .SOB 015644'
UPTPFO 001502 spd %GOTO5 000613' .BVS 015733' .SPL 014427'
UPTPFW 001500 spd %IF 000645' .CCCLR 017126' .SUB 016707'
URLEAS 037733' %IF..3 000650' .CCSET 017131' .SWAB 014433'
URUNTM 037503' %IF.EQ 000672' .CLR 014621' .SXT 015235'
USETI 074000 000000 %IF.GE 000676' .CLRB 016166' .TRAP 016077'
USETIT 040461' %IF.GT 000674' .CMP 015260' .TST 015041'
USLEEP 037506' %IF.LE 000704' .CMPB 016575' .TSTB 016406'
USTSTS 037726' %IF.LT 000702' .COM 014627' .UPMUO 001424 spd
UTTCAL 037510' %IF.NE 000700' .COMB 016174' .UPMUP 001425 spd
UUINIT 037671' %IFDEF 000655' .DEC 014676' .WAIT 014053'
UUO0 037260' %IFDSP 000751' .DECB 016243' .XOR 015615'
UUOACS 037305' %IFERR 000662' .DEQDR 000000 spd
UUODSP 037325' %IFEXP 000706' .DIV 015461'
UUOPEN 037675' %IFLST 000732' .DTEGF 000011 spd
UUORET 037300' %IFNDF 000665' .DTEIF 000012 spd
VALFND 005332' %IFNOT 000727' .DTEOF 000013 spd
VDDT11 000005 spd %IFTRU 000716' .EMT 016010'
VECTAB 004000 spd .ADC 014750' .ENQBL 000000 spd
VECX7 037212' .ADCB 016315' .FADD 015640'
VECXX 037173' .ADD 015372' .FDIV 015643'
VEDIT 000053 spd .ASH 015515' .FHSLF 400000 sin
VLFND0 005347' .ASHC 015551' .FMUL 015642'
VLFND2 005351' .ASL 015161' .FSUB 015641'
VLFND3 005334' .ASLB 016526' .HALT 014047'
VLFND4 005337' .ASR 015130' .INC 014652'
VLFND7 005345' .ASRB 016475' .INCB 016217'
VMINOR 000000 spd .BCC 015744' .IODMP 000017 spd
VWHO 000000 spd .BCS 015766' .IOT 014246'
ACCUM 1610 1673 1729# 2082 2483 9757 9760 9761 9763 9764 9767
ACCUM2 1731 1735 1742#
ACCUM3 1671 1747 1755#
ACCUM8 1741 1768#
ADDSYM 1289 1804 4300# 4518 4621
ADRTYP 2101 2125 2642 2657 2719 3075 5108# 5164 5213 5282 5306 5312 5317 5329
5339 5404 5422 5857 6467 8825
ADSYM7 4321# 4327
APRLVL 9146# 9159 9165 9177 9413 9553
ASSDEC 1585# 9763
ASSNUM 1589# 9762
ASSPER 1579# 9761
ASSPRC 1606# 9760
ASSYMB 1580 1613# 9760 9764 9765 9766 9767 9768 9769 9770 9771
ASYMB2 1583 1603 1616#
B3.TYP 2009 2109 2130 2179 2203 2556 2596 2783 2829 5165 5192 5198 5214 5238
5244 5250 5257 5263 5283 5297 5307 5390 5408 5412 5423 5446 5452 5456
5479 5483 5501 5509 5513 5616#
BARROW 2117# 9805
BARRW3 2119# 2128
BARRW5 2118 2132#
BEG.PS 2758 2775 7679#
BEGREG 2755 2757 2788 2806 2807 2818 2844 2848 2851 2855 2858 2859 2864 2871
2872 2873 7671#
BFETCH 7836 7858#
BKSLSH 2008# 9805
BLANKT 2210 2686 4142 4887 4892 5193 5215 5229 5383 5436 5616 5617 5619# 5715
5859 5862 5945
BLDRET 8373# 8374# 8375# 8376# 8377# 8378# 8379# 8380# 8438
BR5INT 9214# 9237
BR5LVL 274 275 9211#
BR5OFF 9212#
BR5ON 9213#
BR5PND 7734 7836 9239# 9239
BR5TRP 9245# 9245 9246# 9246
BR7INT 9206# 9235
BR7LVL 273 275 9203#
BR7OFF 9204#
BR7ON 9205#
BR7PND 7734 7836 9248# 9248
BR7TRP 9254# 9254 9255# 9255
BRFTCH 7836 7861#
BSTUFF 7836 7872#
BT%CTL 3963 3965
BTARG 3929 3930 3932 3933 3937 3954 3956 3957 3958 3962 3974 4113#
BYTCNT 1062 1079 1906 1908 2024 2026 2146 2152 2153 2159 2244 2589 2594 2701
2832 2835 2837 2888 2902 2904 5137 5153 5800 5840 9864#
C11LST 4129 4163#
CACHE 2696 3115 3118 3455 3457 3464 3467 9976#
CACHEA 3113 3121 3446 3448 3454 3460 3463 9974#
CACHEL 514 2107 2108 2759 3054 3109 3112 3445 3458 3461 3462 5794 6000 9973#
CACHSZ 3449 3457 9975# 9976
CALDSP 9352 9353 9356#
CALER0 2628 2707 3416 4122# 5148 5419
CALER1 4125 4130#
CALER9 4145 4146 4149 4153#
CALERR 4123# 4160
CALLI0 9356 9400# 9420
CH1 9127 9142# 9144
CH2 9129 9147# 9199
CH2CK5 9163 9170 9173 9175#
CH2CK9 9178 9183 9186 9195 9197#
CH3 9131 9207# 9209
CH4 9133 9215# 9217
CH5 9135 9219# 9221
CH6 9137 9223# 9225
CH7 9139 9227# 9229
CHKCHR 9457 9467 9502 9563#
CHKCTO 8771 8775 8792 8800# 8825
CKCHR5 9566 9576#
CLKADR 8825# 8825
CLKBLD 8825 8862#
CLKBWR 8825 8868#
CLKDDB 8825# 8825 8855 8892 8901 9171
CLKFLG 8828# 8837 8875 8895 8905 8911
CLKINT 8825 8905#
CLKLOD 8825 8858#
CLKLVL 8825# 8825
CLKRS1 8839 8842#
CLKRS2 8851 8854#
CLKRST 8825 8835#
CLKSPD 8829# 8849 8886
CLKSTS 8826# 8836 8858 8864 8873 8894 8907
CLKTCK 8832# 8841 8899 9166 9168
CLKTI1 8888 8891#
CLKTIM 8825 8879#
CLKWR3 8876 8897 8900#
CLKWRT 8825 8872#
CLRMEM 902 958#
CMDCH1 2939# 2943 2945
CMDCH2 2978# 2989
CMDCH4 2982 2990#
CMDCH6 3003# 3006
CMDCH7 2979 2992#
CMDCH8 2947 2957 2966# 2993
CMDCHR 2940# 2953 2960 2964 2995 6193 6205
CMDCNT 1271 1286 1797 2935 2951 2980 3039#
CMDCON 516 9969#
CMDDN1 3013# 3023
CMDDN7 3014 3024#
CMDDSP 2923 3040#
CMDFAK 2936 2939 2940 2941 2944 2975 2977 2986 2990 2998 3000 3001 3043#
CMDFIL 546 1053 1296 1795 2934 3024 3038# 5788 6192 6204
CMDLIM 1724 1738 1879 1922 6211 9962#
CMDLIN 1067 1720 1851 1868 1881 1924 9965#
CMDONE 2950 3012# 3020
CMDPTR 1069 1085 1103 1125 1133 1232 1467 1485 1522 1526 1571 1712 1723 1729
1736 1740 1845 1853 1859 1870 1880 1923 1928 2388 2520 9963#
CMDSIZ 34 9964
CMDSUB 2955 2974#
CMDSWL 2923 3041#
CMDTKR 1055 1722 1737 1739 1883 1926 6202 6213 6215 9961#
CMRUB3 1886 1899#
CMRUB8 1892 1897 1905#
CMRUB9 1906# 1915
CNINWD 2273 2293# 2748 5810
CNIWD3 2305 2309 2313#
CNTLF2 1706# 1708
CNTLF3 1697# 1701
CNTLF5 1691 1703#
CNTLF6 1709# 1714
CNTLF7 1705 1715#
CNTLF8 1703 1716#
CNTLF9 1715 1718#
CNTLOF 9185 9412 9521 9555# 9563
CNTLR3 1846 1850# 1891 1941 2379
CNTLR4 1855# 1860
CNTLT6 8825 8825#
CNTLW1 1921# 1930 1936 1940
CNTLW9 1933 1939 1941#
CNTRLF 1679# 9756
CNTRLR 1844# 1988 9758 9777 9796
CNTRLT 8795 8825#
CNTRLU 1878 1912# 1919 1927 1990 9758 9777 9796
CNTRLW 1918# 1992 9758 9777 9796
CNTRLZ 1994 2323# 9759 9778 9797
COLTYP 1269 4862 5597# 5754 5772 5830 5865
COLUMN 7734 9525 9526 9529 9533 9560#
COM.CR 2000# 9795
COM.HT 2030# 9795
COM.LF 2087# 9795
COMAND 1084 1240#
COMAR0 2240 2243 2246 2253#
COMAR2 2248 2264#
COMAR3 2269# 2284
COMAR8 2274 2276 2282#
COMLF1 2004 2034 2096 2099# 2260 2279 2286 2792 2836 8825
COMLF2 2100# 2903
COMLF3 2106# 2228
COMLF4 2109# 2724
COMRUB 1877# 1996 9771 9790 9809
COMTYP 2127 2182 3426 4874 4882 5184 5234 5269 5276 5290 5502 5510 5623#
CORARG 608 616 622 629 644 9838#
CORERR 973 4424 4431 4446#
CPUTYP 946 4055#
CRLTYP 509 1054 1266 1850 1854 2031 2234 2341 2643 2689 2717 2754 2826 3073
4746 4853 4983 5610# 5801 5854 5855 5884 5885 5888 5889 5975 5976 6468
8825
CSECHO 1264 1277 1293 1298 2933 2956 2959 2963 2966 3035#
CST... 9001# 9052 9053 9054 9055 9114
CTIDAT 8671# 8796
CTIFLG 8678# 8692 8743 8799 8821 8823
CTISPD 7734 7836 8681# 8685 8772
CTISTS 8669# 8690 8711 8712 8743 8798 8817
CTITIM 8680# 8687 8770 8773 8810 8811
CTIWRS 8723 8743#
CTODAT 8675# 8695 8803
CTOFLG 8677# 8696 8746 8750 8808 8825
CTOINT 8820 8822 8825#
CTOSPD 8683# 8758
CTOSTS 8673# 8694 8746 8749 8807 8825
CTOTIM 8682# 8689 8764 8800 8805 8809
CTOWD1 8760 8763#
CTOWDT 8729 8748#
CTOWRS 8727 8746#
CTTIM8 8802 8809#
CTYADR 8660# 8664 8709 8712 8722
CTYBLD 8664 8700#
CTYBWR 8664 8716#
CTYCHK 8743 8746 8813#
CTYDDB 8664# 8664 8688 8765 8766 8812 8814
CTYINT 8664 8817#
CTYLOD 8664 8706#
CTYLVL 8661# 8664
CTYRST 8664 8685#
CTYTIM 8664 8769#
CTYWRT 8664 8721#
D10AD 3849 3872 4099#
D10DT 3846 3871 4100#
D10FN 3848 3874 4098#
D11AD 3855 4104#
D11DT 3854 4105#
D11FN 4103#
D11RS 4102#
D6.DEP 3831# 3873
D6.EXM 3830# 3847
D62DEP 3552 3869#
D62DEW 3866# 3870
D62EXM 3181 3844#
D62EXW 3841# 3845
DAT 1077 1094 1095 1097 1224 1226 1439 1441 1970 2117 2121 2126 2140 2163
2171 2178 2418 2443 2451 2470 2477 3485 3491 3510 3512 3514 3535 3544
3546 3548 3559 3566 3568 3586 3599 3649 3651 3658 3660 3663 3670 9812#
DATA 1072 1075 1228 2414 2438 2711 2716 2725 2808 2811 2821 2885 2907 3064
3487 3489 5152 5154 5199 5231 5235 5241 5247 5253 5260 5266 5273 5277
5287 5293 5298 5371 5384 5387 5392 5399 5406 5432 5444 5453 5480 5503
5506 5912 9842#
DATADR 5156 5213# 5217
DATAS2 5449 5455#
DATAS3 5172 5451 5455 5461# 5494
DATASC 5156 5448# 5458
DATBYT 5156 5497# 5512
DATEB2 5477 5482#
DATEB3 5176 5478 5482 5486#
DATEBC 5156 5476# 5485
DATET0 4899 5719#
DATETY 5718# 5946
DATIN1 5340 5343#
DATIN2 5286 5291#
DATIN4 5292 5296#
DATIN8 5233 5289 5295 5308#
DATIN9 5111 5237 5262 5268 5275 5348 5359#
DATINS 5156 5221#
DATNUM 5156 5190# 5195 5225
DATYP1 5142 5147#
DATYPE 2013 2112 2157 3079 5137# 5832 5875
DC2TYP 5756 5768 5774 5776#
DDBADR 8555# 8584 8584# 8632 8632# 8664 8664# 8825 8825# 8913 8913# 10020
DDBLNK 8557# 8584 8584# 8632 8632# 8664 8664# 8825 8825# 8913 8913# 8950 10020
DDT11 506# 752 765 3314 9582 9756 9775 9794 10022
DDTEND 10022#
DECIN 1559# 1559 1595 1598 1752 1771
DECINP 600 671 989 1009 5084#
DECTYP 2682 2685 4437 4530 5529# 5726 5732 5765 5771 5777 5782
DEFEXT 839 985 4638 4790 4820 4824 4923#
DEFSYM 1779# 9763
DELSYM 2561 3019 4306 4335#
DEQD60 3998 4007#
DEVWRT 8562# 8601 8645 8721 8872
DFSYM3 1784 1801#
DISA10 5801# 5839
DISA20 5824 5827 5831#
DISA40 5817 5819 5821 5844#
DISA90 5840# 5847
DMPDEV 5960 6242 6244 6415# 6423
DMPDIR 6417#
DMPDSP 5920# 5932
DMPPTH 6421#
DMPSWL 5923# 5932
DMPTIM 6420#
DONE.W 3025 4903# 5887 6076
DOTFOO 2011 2014 2038 2043 2045 2092 2093 2155 2189 2226 2235 2432 2437 2447
2538 2540 2802 5140 5204 5327 5833 5834 5876 5877 9813#
DOTINC 2044 2050 2056 2063# 2094 5835 5878
DOTOLD 2037 2537 9817#
DOTSAV 2032 2037# 2220
DOTSWP 2003 2089 2233 2537#
DSKDDB 9611 9628 9630#
DSKEXT 9634#
DSKFIL 9633#
DSKOP2 9615# 9618
DSKPAG 9003# 9672
DSKSTR 9612 9632#
DSLERR 4043 4047#
DTEERR 768 3304# 3306 3322 3350 3619
DTEFB% 767
DTENF% 760
DTFINP 1078 1148 1199 1443 1513 1971 1974 2049 2051 2431 2433 9816#
DTFOLD 2039 2539 9818#
DUMP0 5789 5794#
DUMP1 5850# 5882
DUMP2 5798 5854#
DUMP3 5858 5865#
DUMP4 5853 5870#
DUMP6 5803 5873 5903#
DUMP8 5804 5842 5874 5884#
DUMP85 5886# 6139 6144
DUMP9 5791 5892#
DUMPA 5850 5868 5915#
DV.BLD 8441 8584# 8632# 8664# 8825# 8913#
DV.BWR 8470 8515 8584# 8632# 8664# 8825# 8913#
DV.INT 8584# 8618 8632# 8664# 8825# 8913#
DV.LNK 7734 8409 8441 8448 8470 8584# 8622 8632# 8664# 8825# 8913# 8977 8978 8985
8986 8988 8989
DV.LOD 8409 8584# 8632# 8664# 8825# 8913#
DV.LVL 8584# 8615 8632# 8664# 8814 8825# 8901 8913#
DV.RST 7734 8584# 8632# 8664# 8825# 8913#
DV.SIZ 8565 8584# 8632# 8664# 8825# 8913#
DV.TIM 7734 8584# 8632# 8664# 8688 8765 8766 8812 8825# 8855 8892 8913# 9171
DV.WRT 8448 8499 8584# 8632# 8664# 8825# 8913#
DZ.CSR 281#
DZ.LPR 283#
DZ.MSR 285#
DZ.RBF 282#
DZ.TCR 284#
DZ.TDR 286#
EB.TRN 5490 5491 5492 5493 9719#
EBLKSZ 9004# 9019
EN%BLN 4090
EN%LTL 4090
ENQBLK 3990 4007 4088#
ENQD60 3990#
EPDLOV 9035 9258#
EPM000 213#
EPT... 8998#
EPTAOV 200# 9034
EPTBLK 9008 9018 9024 9116 9262 9267 9275 9280 9289 9671 9986#
EPTINT 194# 9026 9027
EPTPDO 201# 9037
EPTSTP 212# 9043
EPTTP3 202#
EPTVEC 196# 9029
EQUAL2 2169# 2183
EQUAL5 2164 2186#
EQUALS 2163# 9801
ESC... 2494# 9780
ESC..0 2499# 9781
ESC..8 2498# 9782
ESC..A 2546# 9783 9787
ESC..B 2549# 9783 9787
ESC..C 2552# 9783 9787
ESC..D 5785# 9783 9787
ESC..G 2614# 9783 9787
ESC..I 2579# 9784 9788
ESC..K 2555# 9784 9788
ESC..M 2544# 9784 9788
ESC..N 3046# 9784 9788
ESC..P 5980# 9785 9789
ESC..Q 2602# 9785 9789
ESC..R 2564# 9785 9789
ESC..S 2576# 9785 9789
ESC..T 2581# 9785 9789
ESC..V 2692# 9785 9789
ESC..W 3049# 9785 9789
ESC..X 2741# 9786 9790
ESC..Y 2910# 9786 9790
ESC.CR 2529# 9776
ESC.D0 2914 5787 5926#
ESC.D3 2931 5793 5938#
ESC.D4 5962 5970#
ESC.G1 2619 2632#
ESC.G8 2680 2685#
ESC.LF 2526# 9776
ESC.Q. 1819 2176 2214 2429 2475 5151 5163 5210 9873#
ESC.UP 2532# 9776 9786
ESC.V0 2698# 2727
ESC.V9 2714 2726#
ESC.W2 3056# 3089
ESC.X1 2760# 2771 2774
ESC.X3 2816 2824 2840#
ESC.X7 2764 2774#
ESC.X8 2797 2805 2810 2825#
ESC.X9 2769 2772 2829#
ESCAPE 2483# 9759
ESCDEC 2487 2495 2503 2506 2566 9875#
ESCESC 2490# 9778
ESCMD0 2550 2582#
ESCMD2 2585 2589#
ESCMD7 2574 2596#
ESCMD8 2545 2572 2593 2598#
ESCMOD 2547 2553 2577 2586#
ESCOCT 2205 2486 2496 2499 2502 2508 2512 2518 2565 2582 2586 2743 9874#
ESCP00 6002# 6064
ESCP02 6004# 6021
ESCP10 6012 6016 6019 6022#
ESCP11 6022 6024#
ESCP12 6032# 6048
ESCP16 6037 6053#
ESCP19 6052 6058#
ESCP20 6023 6062#
ESCPAR 2512# 9780
ESCSAV 1079 1081 1906 2024 9870#
ESCW.6 3069 3073#
ESCW.8 3068 3072 3081 3083#
ESCW.9 3063 3082 3086 3090#
ESCX33 2852 2860 2874#
ESCX35 2846 2876 2882#
ESCX73 2762 2776 2786#
ESCX74 2787# 2794
ETYPE 595 610 651 658 693 708 728 780 787 822 907 955 3135 3492
9822#
EVLSYM 1629 1744 1812#
EX.D61 132#
EX.D62 133# 706 729
EX.FE0 131# 704
EX.FE1 135# 692
EX.MCB 134#
EX.MEM 128# 594 609 650 657 779 786
EX.NOD 130# 821 906
EX.POR 129# 954
EXMAX 31# 3060 3061 5906 5907
EXP.DO 1641 1644 1647 1650 1653 1656#
EXPAND 1652# 9760
EXPDIV 1646# 9760
EXPDO5 1661 1666 1672#
EXPIOR 1649# 9760
EXPLUS 1628 1632 1638# 9761
EXPMIN 1640# 9761
EXPMUL 1643# 9761
EXPRES 1093 1146 1162 1172 1187 1197 1218 1493 1501 1544 1552 1634 1662 1664
1669 1670 1755 1766 1769 2221 2330 2514 2519 2614 2624 3050 7681 9819#
EXPSPC 1626# 9760
EXPXOR 1655# 9759
F..ESC 88# 1554 2001 2088 2232 2490 2533 2560 2571 2592 2632 2763
F..FOO 72# 649 656 5786 5797 6251 6254 6261
F..SIM 99# 548 1554 7659 8425 8462 8570 8647 8707 8926 8932 8938 8944
F.APND 85# 2918 4799 4803 4833 5926 5981
F.CACH 83# 1057 2110 2156 2265 2705 3055 3110 5795 6001
F.CERR 102# 1318 2023 2932
F.EXEC 100# 548 554 558 582 1001 1017 4415 7734 7836 8409 8415 8441 8448
8452 8470 8605 8838 8896 8926 8932 8938 8944 8982 9006
F.FELE 103# 1554 1606 1626 1656
F.FLIP 63# 2697 2713 2752 2777 2789 2825 2882 3046 3049 3066 4636 4637 4649
5785 5792 5886 6282 6284 6299
F.FLOP 69# 593 6240 6250 6259 6263 6382 6397 7734 8617 8619 8825 8913
F.GEXP 95# 1216 1470 1476 1482 1495 1499 1554 1616 1946 2606
F.HALT 104# 2761 7639 7836
F.HASH 91# 1463 1475 1507
F.IDEC 80# 1066 1554 1579 1581 1585 1589 1614 1751 2494 2498 2507 2564 2608
F.IHEX 81# 1066 1554 1582 1589 1614 1753 2608
F.IOCT 79# 1066 1554 1579 1582 1586 1590 1614 1749 2608
F.LBKT 90# 1057 2103 2111 2197 2199 2242 2591 2721
F.LOCK 86# 548 923 4418
F.LOPN 75# 1057 2099 2132 2143 2186 2227 2422 2694 8825
F.LPAR 93# 1463 1491
F.MASK 77# 1057 2200 2544
F.MOPN 76# 1057 2202 2420
F.PACK 89# 5980 5995 6083 6125 6126
F.PERC 92# 1463
F.RUNF 101# 2635 2752 7734 7836 7847 8791 9169 9579 9591
F.SREG 98# 1502 1542 1554 1837
F.SVIO 97# 7639 7734 7847
F.SYMB 82# 1066 1554 1613 1627 1743 1779 2606
F.SYML 94# 1090 1220 1554 1829 1832 2165 2222
F.TEXT 78# 1066 1554 1957 1978 6219
F.TOPN 96# 548 7643
F.WENB 87# 548 792 2424 2622 6471
F.WRIT 84# 1057 2918 4768 4781 4813 4818 4837 4844 4849 4854 5926 5980
FE$BLT 3310# 3315 3623 3642
FE.BUF 3318 3338 3346 3612 3631 9832#
FE.CPU 686 757 3301 3319 3347 3616 9829#
FE.FED 687 769 9830#
FE.JFN 727 772 901 3259 3628 3886 3899 3912 4041 9826#
FE.MAX 136# 3309 3583 3607 9827
FE.MSG 3252 3253 3254 3258 3260 3271 3276 3281 3288 3317 3323 3330 3332 3333
3335 3336 3344 3351 3357 3584 3608 3629 9827#
FE.RPY 3307 3344# 3620
FE.STS 9831#
FENAME 688 712 719 751 9825#
FESUP 3844 3869 3980#
FESUP1 3982 3985#
FETCH 7836 7849#
FEWINP 312# 9176 9179 9406
FEWOUT 317# 9407 9548 9552
FEWSTS 310# 9405
FIL.SW 4644 4721 4744 4754 4755 4937#
FILBLK 4791 4794 4926# 4931
FILBYT 4951 4958# 4965 4995
FILCHR 2949 2978 4523 4951# 4953 5004 5015 6427
FILDEV 4454 4550 4639 4640 4642 4655 4658 4765 4835 4851 4858 4859 4860 4925#
4938 6242
FILDIR 4798 4927#
FILER0 4776 4819 4821 4844#
FILERR 4849# 5896 6106
FILEXT 4667 4789 4822 4866 4893 4929# 6256
FILNAM 4643 4662 4863 4928# 6247
FILPOS 1272 4989#
FILPPN 4680 4687 4795 4868 4872 4875 4933#
FILPS4 4994# 4997
FILPTH 4797 4806 4807 4828 4829 4932# 4936
FILSFD 4688 4694 4878 4879 4934#
FILTIM 4888 4895 4930#
FILTY3 4890 4893#
FILTY4 4879# 4884
FILTY5 4881 4885#
FILTY6 4869 4887#
FILTYP 4852 4857# 4913 4977 5714 5961
FIRDDB 7734 8409 8441 8448 8470 8614 8950# 8977 8985
FLCHR5 4959 4964#
FLGSAV 547 1059 9968#
FNDTAG 1260 1277# 1297
FNDTG8 1279 1281 1285 1292 1296#
GET.C1 3137 3140 3153#
GET.FE 3139 3250#
GETCH1 6207# 6216
GETCH3 6203 6211#
GETCH4 6212 6215#
GETCH8 6197 6207 6218# 6224
GETCH9 6221 6226#
GETCHR 1484 1525 1565 1570 6202# 6208 6214 6222
GETCOR 1950 4309 4354 4368 4411#
GETD62 3141 3181#
GETEXP 1083 1144 1160 1170 1185 1195 1358 1465 1540 1552# 2085 2516
GETFEM 3269 3276# 3639
GETHDR 3852 3877 3899#
GETMEM 3136 3187#
GETNOD 3138 3213#
GETNYI 3142 3145#
GETOP0 1465# 1472 1478
GETOP5 1488 1497 1519#
GETOP6 1525# 1531
GETOP8 1505 1509 1535#
GETOP9 1517 1536#
GETOPR 1428 1463#
GETREG 1110 1177 1519 1540#
GETSC1 4458# 4460 4468 4481 4483 4499 4510 4512 4522
GETSC3 4470# 4479
GETSC4 4472 4480#
GETSC5 4474 4482#
GETSC6 4485# 4487 4490 4495
GETSC7 4500# 4506
GETSCH 4458 4464 4470 4485 4502 4523# 4554 4560 4565 4590 4607
GETWD0 3115# 3179 3248
GETWD1 3111 3114 3135#
GETWD2 3162 3171#
GETWD3 3127 3131# 3192 3203 3211 3274 3325 3537 3561 3574 3624 3643 3653 3673
GETWDR 3155# 3169
GETWRD 2297 2706 2804 2866 2879 3062 3103# 5147 5208 5418 5846 5910 6015 6035
6042 6153 6176
GJ%OLD 718
GJ%SHT 718
GOTO 2615 2617 6070 6302 7686 9824#
GT.F10 3143 3299#
GTCOR6 4428 4432#
GTCOR9 4417 4443#
GTEXP1 1553# 2524
GTEXP2 1565# 1567
GTFEM3 3283 3288#
GTMEM8 3195 3206#
GTNOD3 3230 3235# 3246
GTNOD4 3237 3244#
GTWD2A 3173# 3185
HEXIN 1560# 1560 1599 1602 1754 1772
HSHTYP 5309 5635#
IBUFER 4784 4941#
IDTYP2 5698 5701 5708#
IDTYP3 5709 5715#
IDTYPE 508 5674# 5974
IFILER 4968 4972# 6339
IFLDEV 4838 4942# 4976
IHD 4767 4855 4940# 4958 4960 6348 6350 6355 6360 6379 6381 6394 6398 6403
6405 6407
ILLCH0 1842 2021#
ILLCHR 1145 1155 1161 1171 1186 1196 1204 1253 1257 1261 1273 1302 1305 1312
1324 1359 1366 1377 1471 1477 1483 1487 1492 1500 1524 1530 1541 1543
1680 1781 1796 1947 2019# 2133 2144 2187 2336 2513 2522 2555 2569 2605
2621 2693 2695 2742 9756 9757 9758 9759 9767 9768 9771 9775 9776 9777
9778 9779 9780 9782 9783 9784 9785 9786 9787 9788 9789 9790 9794 9795
9796 9797 9798 9799 9800 9801 9802 9803 9804 9805 9806 9807 9808 9809
ILLINS 7734 7740 7742 7766 7768 7789 7836 7847#
ILLUUO 9298 9312 9313 9314 9315 9317 9318 9319 9320 9321 9322 9323 9325 9326
9327 9329# 9349 9356 9357 9358 9359 9360 9361 9362 9363 9364 9365 9366
9367 9368 9369 9370 9371 9372 9373 9374 9375 9376 9377 9378 9379 9380
9381 9382 9383 9384 9385 9386 9387 9388 9389 9390 9391 9392 9393 9394
9395 9396 9397 9398 9454
INI.00 519# 536
INI.03 518 524# 537
INIAL1 559 582#
INIALL 507 538# 544 552 1045
INLMES 9154 9272 9278 9329 9336 9514# 9538
INLMS3 9516# 9519
INPOCT 5002# 6435 6440
INPOPR 1556 1658 1663 1665 1668 1675 1756 9856#
INPRD2 5004# 5006 5009
INPRD5 5010# 5017
INPRD7 5012 5018#
INPRD9 5005 5021#
INSRUN 586 2644 2667 7684 7734 7734# 7836 8686 8754 8763 8769 8801 8825 8845
8854 8882 8891
INTBLK 9025 9127#
INTCHK 7707 7734#
INTCK0 7734#
INTCK1 7734 7734#
INTCK3 7734 7734#
INTCK6 7734 7734#
INTDLY 7641 7642 7706 7734 7734# 7836 7847 8751 8752 8756 8757 8759 8761 8762
8790 8842 8843 8847 8848 8850 8852 8853 8879 8880 8884 8885 8887 8889
8890 9172 9232
INVLF1 4269# 4278
INVLF8 4272 4276#
INVLFN 2299 2809 4267# 5224
IO.BKT 4967
IO.DER 4967
IO.DTE 4967
IO.IMP 4967
IO.RLB 40# 3250 3299
IO.WLB 41# 3581
IOBLOD 8373 8374 8375 8376 8377 8378 8379 8380 8438#
IOBR. 7836 8503 8506 8508#
IOBR.C 7836 8502#
IOBR.S 7836 8505#
IOBRK 3894 3912#
IOBSTO 3668 8373 8374 8375 8376 8377 8378 8379 8380 8468#
IOLOAD 3190 7712 7734 7836 7847 8373 8374 8375 8376 8377 8378 8379 8380 8406#
8825 8913
IOLT1S 7734# 7734 7836# 7836 7847# 7847 8373# 8373 8374# 8374 8375# 8375 8376# 8376
8377# 8377 8378# 8378 8379# 8379 8380# 8380 8825# 8825 8913# 8913
IOR. 7836 8487 8490 8492#
IOR.C 7836 8486#
IOR.S 7836 8489#
IORERR 8487 8490 8496 8503 8506 8512 8518#
IORET 8412 8432# 8444 8451 8473
IOSTOR 3666 7734 7836 7847 8373 8374 8375 8376 8377 8378 8379 8380 8446# 8825
8913
IR 6509# 7713 7719 7721 7723 7727 7730 7836 7847 8373 8374 8375 8376 8377
8378 8379 8380 8984 8985 8986 8989 8990 8992
JMPCLC 7836 7864#
JMPREG 7838# 8373 8374 8375 8376 8377 8378 8379 8380
KA10 4060 4074#
KI10 4062 4076#
KL10 4069#
KS10 4071#
LASTSW 691 715 778 842 905 953 982 4645 4758 4841 9811#
LERLST 4159 4179#
LEVEL0 1057# 2002 2005 2324 2464 2929 2937 5420 5890 5897 5991
LEVEL1 1063# 1725 1806 1909 1942 2016 2027 2035 2097 2131 2137 2142 2148 2180
2195 2218 2562 2597 2630 2690 2708 2839 3096
LEVEL2 1064# 1243 1274 1378 1431 2229 2261 2280 2287 2332 2734 3150 3507 6077
LEVEL3 1083# 1980 9799
LEVEL4 1437 1439#
LEVEL5 1102 1132 1141 1427#
LEVEL6 1089 1214#
LEVEL7 1105 1127 1135 1157 1167 1174 1182 1192 1209 1211#
LEVEL8 1087 1092 1216#
LEVEL9 1213 1214 1217 1228#
LEVL.0 745 776 903 951 1048# 6473
LFTANG 2082# 9763
LFTSAV 1082 1782 2084 2328 9821#
LINE 517 820 3367 3415 9837#
LK.LLS 920
LK.LNE 920
LKELEN 4793 4931#
LOCKER 922 4159# 4162 4421 4427
LODRET 7734 7734# 7836# 7836 7847 7847# 8373# 8373 8374# 8374 8375# 8375 8376# 8376
8377# 8377 8378# 8378 8379# 8379 8380# 8380 8406 8825 8825# 8913 8913#
LOOP 1570# 1624 1676 1847 1954 1966 1975 2380 2488 2491 2497 2509 2599 2613
9756 9775
LOOP1 1572# 2534
LSTADR 2012 2033 2175 2213 2427 2428 2474 5113 5190 5255 5361 9871#
LSTDTE 4038 4044 4047 4107#
LSTIAD 1147 1198 1223 1515 1535 1546 2426 2430 9872#
MA 1016 1018 1019 3189 3656 3661 3671 6502# 7709 7711 7716 7717 7719 7721
7734 7836 7847 8373 8374 8375 8376 8377 8378 8379 8380 8409 8411 8432
8441 8443 8448 8450 8470 8472 8487 8490 8492 8493 8494 8498 8499 8503
8506 8508 8509 8510 8514 8515 8562 8563 8564 8565 8593 8598 8614 8615
8618 8622 8623 8649 8652 8701 8709 8712 8716 8722 8825 8862 8868 8913
8926 8932 8938 8944 8954 8956 8958 8960 9668 9669 9675 9677 9679 9681
9683 9685 9687 9697 9704
MA..IO 6508# 7836 8409 8432 8441 8448 8470 8709
MA..RG 6507# 7836
MA..UN 6506# 8432 8487 8490 8492 8503 8506 8508
MAPCOR 555 1051 3707 9006#
MAPCR1 9024#
MAPCR2 9058# 9079
MAPCR3 9009 9082#
MAPCR4 9085# 9091
MAPCR5 9099# 9109
MASKSZ 33 2207 2208 9847
MATCH 1690 2339 2387#
MATCH0 2391# 2395
MATCH2 2397# 2410
MATCH4 2400 2405 2408#
ME.SET 3300 3330# 3582
MEMLIM 625 630 631 975 3188 3647 3685 3689 3696 3698 6233 6343 6461 6488#
7710 7734 7836 7847 8373 8374 8375 8376 8377 8378 8379 8380 8825 8913
9105
MEMORY 623 744 958 974 2618 2692 2741 3187 3197 3207 3645 3680 3684 3703
3720 3730 3740 3742 3757 5952 5959 6320 6332 6487# 7718 7720 7734 7836
7847 8373 8374 8375 8376 8377 8378 8379 8380 8825 8913 8953 8955 8957
8959 8968 9087 9096
MEMUSE 3687 3704 3714 3754 3756 6011 6318 6322 6490# 9013
MINTYP 5335 5553 5570 5639# 5727 5730
MONTAB 5723 5734#
MOVMEM 3706 3737#
MOVMUS 3751# 9023
MOVSMT 3697 3738 3752 4366# 6314
MOVTAB 3745 3760 3768# 4374
MOVTB2 3770# 3774
MRGFLG 550 785# 785 6472
MYPPN 590 4679 4686 9970#
NDTFIN 1098 1227 2049#
NDTFOO 2043# 2440 5203
NERLST 4127 4193#
NODARG 3223 3399 3402 3404 3407 3408 3423 3825#
NODE 515 900 2620 3403 4126 5955 5964 9836#
NODSE1 3395# 3397
NODSET 2627 3218 3392# 3570
NUMBUF 35 4779 4941
NXM... 7649 7734 7836 7839 7843 7846# 7847 8373 8374 8375 8376 8377 8378 8379
8380 8430 8825 8913
NXMRET 8409 8410 8415# 8441 8442 8926 8928 8932 8934
NXMRT3 8416 8425#
NXTDOT 2055# 3083
NXTDWD 5194 5197# 5216 5457 5484 5511
NXTWRD 5197 5203# 5310 5315 5325 5337
O.MODE 513 1061 2145 2150 2151 2160 2247 2590 2595 2702 2831 2833 2838 2887
2889 2901 2905 5138 5155 5799 5809 5812 5841 9865#
OBUFER 4778 4945#
OCTIN 1558# 1558 1591 1594 1750 1770
OCTYP6 5537# 5806 5848
OCTYPE 2662 3430 4141 4873 4877 4982 5243 5365 5546# 5679 5688 5695 5864 5966
8825 9158 9277 9282 9335 9341
OF%RD 730 732
OF%WR 730 732
OFLDEV 4835 4912 4946#
OHD 545 1052 2926 2927 2930 4769 4845 4850 4903 4908 4944# 5661 5666 5668
5892 5997 6085 6088 6090 6094 6098 6100
OPDSP0 7725 7734#
OPDSP1 7727 7761#
OPDSP2 7730 7788#
OPDSPA 7727# 7734
OPDSPB 7730# 7734
OPENFE 713 718#
OPFIL1 4646# 4652 4660 4666 4682 4684
OPFIL2 4657 4661#
OPFIL3 4664 4668#
OPFIL4 4653 4669 4673 4675 4677 4706# 4759 4763
OPFIL5 4723 4733#
OPFIL6 4725 4732 4754#
OPFIL7 4711 4713 4764#
OPFL30 4689# 4702
OPFL39 4691 4693 4703#
OPFL40 4705# 4708
OPFL41 4715# 4720
OPFL42 4718 4721#
OPFL43 4722# 4728
OPFL52 4740#
OPFL55 4745# 4752
OPLBKT 2197# 9805
OPNF10 689 757# 770
OPNFE8 744# 773
OPNFE9 725 739 747#
OPNFIL 2928 4636# 5790 5990
OPNFL0 535 2916 4637#
OPNFL2 4791# 4802 4825
OPNFL5 4766 4817 4826#
OPNLC2 2210# 2216
OPNLC4 2201 2220#
OPNLOC 2199# 9799
OPNTTY 9610 9623#
OPRTY1 5428# 5442
OPRTY5 5431 5434 5440#
OPRTYP 5374 5425#
ORADIX 1060 2570 2573 3002 5519 9868#
OSTYPE 584 663 678 797 878 912 944 3613 9985#
P.KA10 4074 4085#
P.KI10 4076 4084#
P.KL10 4069 4083#
P.KS10 4071 4082#
P.PDP6 4078 4086#
P.PLVL 6517# 7836 8418 8455 8604 8621 8813 8900
PATCH 9983#
PATLEN 9982 9983
PC 2641 2656 2746 2765 2806 2807 2818 2830 2864 2871 2872 6303 6500# 7647
7682 7688 7709 7722 7734 7836 7847 8373 8374 8375 8376 8377 8378 8379
8380 8825 8913
PCNTYP 2168 2354 5364 5631#
PDECTY 2671 5566# 8825
PDL 542 1048 1064 9978#
PDLEN 542 1048 1064 9977 9978
PDP6 4057 4078#
PDP8F 615 827 832 1074 1088 1230 2068 2245 2256 2294 2402 2416 3105 3117
3126 3194 3229 3236 3377 3383 3452 3466 3486 3694 3717 4253 4256 4301
5141 5206 5222 5448 5476 5498 5505 6452 9823#
PERTYP 2683 4865 5522 5627# 5760
PGFAIL 9049 9261#
PGFSAV 9261# 9261 9265# 9265
PLUTYP 5126 5357 5643#
PORT 943 3158 3520 3931 3953 4035 4128 5965 9835#
POSYMT 3682 4307 4348# 6311 9012
PRADT5 5568 5571# 5588
PRECED 1657 1659 9857#
PROM 5993 6134#
PROM.2 6134 6136 6140 6142 6145#
PROM.4 6151# 6168
PROM.6 6162 6167#
PROM.8 6174# 6183
PROM.9 6170 6185#
PROM.F 5989# 5989 5992# 5992 6132# 6132 6138 6149 6157# 6157 6161 6169
PS 2661 2758 2775 2781 6510# 6517 7640 7703 7734 7836 7842 7847 8589 8592
8600 8602 8825 8913
PS...C 6515# 7836
PS...N 6512# 7836
PS...T 6511# 7703
PS...V 6514# 7836
PS...Z 6513# 7836
PS.ADR 8581# 8584
PS.BLD 8584 8592#
PS.BWR 8584 8598#
PS.CHK 7698 7734 7836 7847 8604# 8825 8913
PS.DDB 8584# 8584
PS.INT 8584# 8584
PS.LOD 8584 8589#
PS.LVL 8584 8584#
PS.REG 7836 7842 7847 8585# 8600 8602
PS.RST 8584 8584#
PS.TIM 8584 8584#
PS.WRT 8584 8600#
PSCHK0 8606 8614#
PSCHK1 8615# 8623
PSCHK3 8616 8622#
PT.F1A 3586# 3600
PT.F20 3615 3628#
PT6.2 3544# 3560
PT6.4 3547 3551#
PT6.8 3554 3557#
PTBCH1 3450 3458#
PTBCH2 3447 3460#
PTBCH4 3459 3461#
PTHLEN 4807 4829 4936#
PTMEM2 3647# 3652
PTMEM4 3648 3656#
PTMEM5 3658# 3671
PTMEM6 3662 3668#
PTMEM7 3667 3669#
PTYPE 3890 3903 3981 4018 4072 4081#
PUNBM8 6114 6129#
PUNDSP 5985 6114#
PUNIMG 6115 6125#
PUNM93 6116 6131#
PUNPAK 6117 6126#
PUNSWL 5985 6119#
PUT.C1 3494 3497 3509#
PUT.FE 3496 3500 3581#
PUTADR 3217 3372 3376#
PUTBCH 3173 3176 3244 3441#
PUTBY1 3681 3688# 3708
PUTBY2 3692#
PUTBY4 3690 3709#
PUTBY7 3718 3728#
PUTBYT 2455 3484#
PUTD62 3498 3543#
PUTFOO 628 3650 3676# 6234 6289 6451 6458
PUTHDR 3850 3875 3886#
PUTMEM 3493 3645#
PUTND2 3566# 3569
PUTNOD 3495 3564#
PUTNYI 3499 3502#
PUTP.2 3510# 3536
PUTP.4 3513 3517# 3531
PUTP.8 3524 3533#
Q 7710# 7710 7711 7718# 7718 7719 7720# 7720 7721 7734# 7734 7836# 7836 7847#
7847 7850# 7850 7853# 7853 7856# 7856 7859# 7859 7862# 7862 7865# 7865 7869#
7869 7873# 7873 8373# 8373 8374# 8374 8375# 8375 8376# 8376 8377# 8377 8378#
8378 8379# 8379 8380# 8380 8825# 8825 8913# 8913 8953# 8953 8954 8955# 8955
8956 8957# 8957 8958 8959# 8959 8960 9964# 9965 10006# 10018 10018# 10020
QD60BF 4091 4094 4095 4096#
QESTYP 4131 4153 5161 5445 5601#
QPRT0 4020 4094#
QPRT1 4022 4095#
QQ 7847# 7847 7850# 7850 7853# 7853 7856# 7856 7859# 7859 7862# 7862 7865# 7865
7869# 7869 7873# 7873 8367# 8372 8373 8373# 8374 8374# 8375 8375# 8376 8376#
8377 8377# 8378 8378# 8379 8379# 8380 8380# 10020
QUED60 947 4017#
QUEST. 2335# 9763
QUEST4 2366 2372#
QUEST5 2340 2374#
QUOTE 1946# 9798
QUOTEB 1952 1957#
QUOTEC 1958 1969#
QUOTEE 1962 1978#
QUOTET 1953 1959 1983#
R 680 1871 3165 3168 3191 3219 3280 3287 3527 3530 3571 3634 3638 3755
3893 3906 3916 3936 3961 3967 4123 4261# 4402 5124 6218 8584 8632 8725
8913 9160 9416 9475
R.SET 7697 7734# 7734 7836 9401
R.SET1 7734 7734#
R.SET2 7734# 7734
R20AGN 3969#
R20OK 3964 3972#
RADIN0 5088# 5091
RADIN2 5096# 5102
RADIN9 5094 5098 5103#
RADINP 5085#
RADTY2 5520 5531 5550#
RADTY3 5540 5551#
RADTY5 5551 5555# 5559
RADTY7 5560# 5573 5574 5578 5579 5583 5584 5586
RADTYP 2177 2215 2356 2782 5115 5117 5128 5164 5168 5183 5191 5249 5256 5389
5471 5500 5508 5518#
RCVBUF 9190 9192 9408 9558# 9571 9573
RCVHDR 3900 4102 4103 4104 4105 4108#
RCVPTR 9188 9194 9410 9557# 9568
RCVTKR 9411 9556# 9567 9575
RD2020 3904 3952#
RD20ST 3956# 3970
RDBN10 6270# 6272 6300
RDBN20 6284# 6291
RDBN30 6283 6292#
RDBN60 6278 6280 6292 6363#
RDBN70 6270 6275 6285 6363 6367 6374# 6396 6401 6408
RDBN74 6374 6379#
RDBN79 6378 6383 6387#
RDBN80 6380 6391#
RDBN85 6392 6394#
RDBNER 6274 6276 6277 6286 6364 6368 6410#
RDCHAR 4704 4707 5027 5037 5088 5101 6192# 6198
RDDUMP 533 6232#
RDSAVE 3952 3969 4114#
RDSLEN 3973 4115#
RDSYM1 4554# 4556 4579 4586 4588 4604
RDSYM2 4557# 4625
RDSYM3 4560# 4563
RDSYM4 4565# 4575
RDSYM5 4567 4570 4577#
RDSYM6 4581 4593#
RDSYM7 4590# 4592 4595 4600
RDSYM8 4605# 4611
RDSYM9 4607# 4613
RDSYMA 840 4550#
RDSYMB 980 4452#
RDTDMP 6255 6262 6311#
RDUMP0 6264 6427# 6434
RDUMP1 6430# 6438 6447
RDUMP2 6432 6435#
RDUMP5 6440# 6453 6459
RDUMP6 6443 6446 6448#
RDUMP9 6271 6304 6344 6428 6436 6441 6461#
REGTYP 5144 5159#
RELOFF 870 873 4615 9834#
REMAIN 1557 1767 9820#
RETRY 4112#
RETYPE 2115 2136 2147 2150# 2194
RFETCH 7836 7852#
RGFND8 4288# 4295
RGFNDN 4285# 5363
RGTASC 5164 5172#
RGTBYT 5164 5168#
RGTEBC 5164 5176#
RGTYPX 5169 5173 5178#
RJBLCK 9614 9713#
RJRD.5 9704#
RJRD.9 9689 9690#
RJRDW4 9702# 9706
RJRDWT 9688 9700#
RJREAD 9615 9668#
RJUNIT 9613 9616 9678 9712#
RLMSIZ 6519# 7710 7711 7711# 7718 7719 7719# 7720 7721 7721# 7734 7734# 7836 7836#
7847 7847# 8373 8373# 8374 8374# 8375 8375# 8376 8376# 8377 8377# 8378 8378#
8379 8379# 8380 8380# 8825 8825# 8913 8913# 8953 8954 8954# 8955 8956 8956#
8957 8958 8958# 8959 8960 8960# 8963 8966
RLMTAB 7710 7718 7720 7734 7836 7847 8373 8374 8375 8376 8377 8378 8379 8380
8825 8913 8953 8955 8957 8959 8963# 8966
RPAS 295#
RPBA 290# 9683
RPCC 303#
RPCS1 288# 9681 9687 9704
RPCS2 292# 9677 9679
RPDA 291#
RPDB 297#
RPDC 302#
RPDS 293#
RPDT 299#
RPEC1 306#
RPEC2 307#
RPER1 294#
RPER2 304#
RPER3 305#
RPLA 296#
RPMR 298#
RPOF 301#
RPSN 300#
RPWC 289# 9685
RSCAN 1732 1844 1867# 1877 1918 1921 2387
RSCAN2 1870# 1875
RSKP 596 611 617 645 652 659 694 716 781 788 793 823 828 833
843 848 871 908 924 956 959 976 988 997 1020 1032 1036 1040
1294 1537 1635 1777 1820 1830 1838 2311 2925 2967 3293 3359 3373 3418
3856 3917 3939 3975 4011 4039 4045 4260# 4296 4843 4994 5062 5079 5211
5913 5934 6226 6389 6474 9271 9380 9396 9427 9470 9505 9517 9594 9624
9656
RSTACK 7734 7836 7847 7847# 8825 8913
RSTART 1044# 6469
S..END 2331 3057 3085 5838 5881 5904 6018 6063 6172 6462 9844#
S.MASK 2204 2476 2712 3051 3065 9846#
S.WORD 3052 3067 3071 9845#
SAVCHR 9565# 9565 9586# 9586
SAVE13 3780# 5747
SAVE2 3795# 5085
SAVE24 2974 3802# 4285 4366 5518 5529 5537 5546 5566 9152
SAVE34 3813# 5002
SAVE35 3103 3484 3814#
SAVE4 3676 3781# 9266
SBEGIN 2329 3053 5796 5999 6147 9843#
SBFTCH 7836 7855#
SCNTYP 9464 9476 9512 9518 9521# 9541 9592
SELDTE 3983 4035#
SEMICL 2140# 9801
SET.FE 663# 9939
SETBIN 593# 9935
SETCOR 600# 9936
SETCPU 4072# 4077 4079
SETD62 706# 949
SETDMP 649# 9938 9945
SETFES 837# 9940
SETFET 708#
SETFOO 656# 5920 9937
SETGO 776# 9941
SETIHD 6267 6348#
SETLA3 847# 9942
SETLIN 797# 9943
SETLOK 912# 9944
SETMRG 785# 9946
SETMSK 2421 2467#
SETNOD 878# 9947
SETP11 827# 9933 9949
SETPC2 7683 7685 7688#
SETPD8 832# 9934 9950
SETPRT 928# 9951
SETREL 852# 9953
SETRST 1036# 9952
SETSYM 980# 9954
SETUBA 1001# 9955
SETUPC 2634 2745 7681#
SETUPN 2625 3213 3364# 3564
SETVTX 1030# 9956
SETWEN 792# 9948
SETWST 1040# 9957
SFETCH 7836 7847#
SIM.U1 7700#
SIM11 7703# 7794 7802 7836 7847 8373 8374 8375 8376 8377 8378 8379 8380
SIM11A 7705# 7734 7836
SIMCY1 7714 7722#
SIMCYC 7648 7709# 7734
SIMOP1 7693#
SIMOPN 7644 7692#
SIMPTR 7836 8373 8374 8375 8376 8377 8378 8379 8380 8953#
SIMREG 2450 2641 2656 2746 2755 2765 2787 2830 5162 6303 7651 7652 7653 7654
7655 7656 7657 7658 7663# 7682 7688 8825
SIMREL 3746 3761 7692 8966#
SIMRL2 8970# 8974
SIMRL4 8986# 8991
SIMRL5 8993#
SIMSAC 7645 7651# 7734 8825
SIMXCT 2648 2760 7639#
SIXIN 805 852 886 928 1256 1278 1301 1311 1323 1365 1376 4651 4659 4665
4672 4681 4692 4712 5026#
SIXIN0 5027# 5030
SIXIN2 5037# 5059
SIXIN3 5036 5038#
SIXIN7 5035 5050 5054#
SIXIN9 5047 5053 5060#
SIXOC1 5068# 5077
SIXOC9 5069 5078#
SIXOCT 812 860 893 935 4676 4683 5065#
SIXTYP 1268 2349 2371 4739 4751 4861 4864 4867 4883 5120 5227 5369 5382 5438
5590# 5707 5829 5958 5968
SMF.11 4229# 7734 7762 7789 7836 10018
SMF.BR 1143 4221# 5296 7734 7762 7789 7836 10018
SMF.BY 2849 2856 2895 4230# 7734 7762 7789 7836 10018
SMF.DD 1140 2308 2823 4219# 5291 7734 7762 7789 7836 10018
SMF.EI 1100 1109 1123 4218# 5230 7734 7762 7789 7836 10018
SMF.EM 1169 4225# 5252 7734 7762 7789 7836 10018
SMF.IN 1091 1631 2363 4217# 4249 4271 4387 5430 7734 7762 7789 7836 10018
SMF.JS 1109 4224# 5265 7734 7762 7789 7836 10018
SMF.MK 1159 4226# 5246 7734 7762 7789 7836 10018
SMF.P8 2403 2404 4228# 4251 4302 5429 7734 7762 7789 7836 10018
SMF.PL 1184 4227# 5240 7734 7762 7789 7836 10018
SMF.RG 1221 1791 1825 1836 2166 2223 2353 4216# 4294 4387 4493 4598 7734 7762
7789 7836 10018
SMF.RT 1176 4223# 5259 7734 7762 7789 7836 10018
SMF.SB 1109 1194 4222# 5272 7734 7762 7789 7836 10018
SMF.SS 1131 1140 2304 2308 2814 2823 4220# 5285 5291 7734 7762 7789 7836 10018
SMF.SU 1287 1798 2359 2557 4215# 4270 4293 4387 4489 4494 4594 4599
SMICL5 2141 2143#
SP 6499# 7734 7836 7847 8825 8913
STACKV 7847# 7847 8379
STATE0 1070 1979 2515 2532 2598 2612 9755#
STATEB 1235 1236 9793#
STATSC 2485 2523 9774#
STB... 9000# 9083 9093
STCER3 3426# 3433
STCERR 3221 3420# 3573
STCIMS 3405 3412 3424 3827#
STCKVP 7734 7836 7847 7847# 8379 8825 8913
STCMSG 3365 3392 3398 3826#
STCOR1 615# 1050
STCOR2 624 627#
STCOR3 626 629#
STCOR9 632 644#
STEFIN 2000 2008 2030 2087 2231 2414#
STEFN3 2440# 2452
STEFN5 2436 2455#
STFNXM 7842# 8465
STMSK1 2468# 2478
STONX3 8449 8453 8462#
STONXM 8448 8452# 8470 8471 8938 8940 8944 8946
STUFF 7836 7868#
SUPLIM 2328# 9801
SW.ADR 8629# 8632
SW.BLD 8632 8639#
SW.BWR 8632 8647#
SW.DDB 8632# 8632
SW.DSP 531 9933#
SW.INT 8632# 8632
SW.LOD 8632 8636#
SW.LST 531 9906#
SW.LVL 8632 8632#
SW.REG 8633# 8636 8639 8650 8653
SW.RST 8632 8632#
SW.TIM 8632 8632#
SW.WRT 8632 8645#
SXTYP1 5591# 5595
SYMBEG 634 635 637 960 963 964 2396 3012 3683 3743 3758 4238 4267 4290
4353 4356 4357 4370 4371 4384 4396 5426 6312 9014 10007#
SYMBLK 4539#
SYMBOL 1240 1246 1258 1291 1561 1562 1608 1621 1679 1704 1773 1774 1780 1792
1801 1812 1816 2335 2393 2394 2399 2603 4461 4462 4476 4482 4513 4557
4558 4572 4578 4587 4616 9841#
SYMDEV 4454 4456 4538# 4550 4552 5708 5713
SYMDIR 4540#
SYMEND 638 640 961 967 969 2409 3013 4240 4277 4313 4326 4339 4344 4348
4352 4360 4373 4397 4517 4520 4620 4623 5441 9021 10008#
SYMERR 1834 1840#
SYMEXT 4542#
SYMFN1 4240# 4245
SYMFN7 4243 4248# 4275
SYMFN8 4252 4256#
SYMFN9 4250 4255 4258#
SYMFND 862 1259 1313 1325 1833 2991 4238# 4335
SYMNAM 4516 4541# 4619
SYMPPN 4545#
SYMPTH 4544#
SYMPTR 1564 1607 1620 1623 1776 2602 2609 2611 9840#
SYMSFD 4546#
SYMTIM 4543#
SYMZZZ 10008 10018#
T.EXEC 115# 583
T.ITS 112# 568
T.OTHE 109# 566 571 572 573 574 575 576 577 578 579 580 581
T.TENE 113# 569
T.TOP1 111# 567 664 679 798 879 913 3614
T.TOP2 114# 570 664 945
TABDNE 2629# 2633
TABTYP 1805 2217 2347 2629 4154 5605# 5802 5807 5831 5844 5849 5871
TB.INT 7704 7733#
TEMP%% 550 1059 1556 2608 2754
TF.RUB 44# 1030 1684 1885 9967
TIMCHK 7734 7734# 7836
TIMCK2 7734# 7734
TIMCK3 7734 7734#
TIMCK4 7734 7734#
TIMTY1 2688 5749#
TIMTY3 4891 5753 5769#
TIMTYP 5747# 5944
TPOPJ 1674 2517 3264 3268 3270 3384 3386# 3476 5608
TPOPJ1 874 2972 4259# 4536
TTCDSP 9444 9445 9447#
TTCL10 9451 9493#
TTCL11 9451 9496#
TTCL12 9452 9499#
TTCL13 9452 9502# 9508
TTCL14 9453 9508#
TTCL15 9453 9511#
TTCL31 9474# 9477
TTCLL0 9447 9457# 9458 9480
TTCLL1 9447 9463#
TTCLL2 9448 9467# 9483
TTCLL3 9448 9473#
TTCLL4 9449 9480#
TTCLL5 9449 9483#
TTCLL6 9450 9486#
TTCLL7 9450 9490#
TTYBIT 847 1031 1683 1884 9967#
TTYDDB 9623 9627# 9650
TYP8IN 5223 5371#
TYPCH3 5662 5666# 5671
TYPCH4 5667 5670#
TYPCHR 1713 1717 1858 1900 1904 2091 2105 2723 2971 3428 3432 4433 4871 4886
5321 5344 5352 5415 5466 5469 5473 5564 5594 5607 5612 5655 5661# 5684
5686 5690 5780 5861 6146 6160 6166 6181 6187 8804
TYPEIT 5599 5603 5607# 5614 5621 5625 5629 5633 5637 5641 5645
TYPST3 5653# 5656
TYPST5 5654 5657#
TYPSTR 522 527 668 675 701 724 738 764 802 809 816 856 866 883
890 897 917 932 939 993 1005 1013 1025 1685 1896 1914 2021 2346
2352 2360 2364 2369 2377 2463 2640 2655 2660 2666 2674 2733 2780 2913
3032 3078 3095 3149 3313 3422 3506 3604 4135 4139 4152 4442 4448 4528
4535 4650 4698 4737 4743 4749 4848 4911 4920 4975 4980 5041 5396 5649#
5676 5705 5712 5729 5895 5940 5943 5949 5973 6296 6412 6465 8788 8789
8825 9419
UARROW 2231# 9795 9805
UB.16B 259# 9098
UB.FST 260# 9674
UB.RPW 258# 9098
UB.VLD 261# 9098 9106 9674
UBA.B5 274# 8422 8459 8611
UBA.B7 273# 8420 8422 8457 8459 8609 8611
UBA.IR 276#
UBA.MR 277#
UBA.SR 263# 1018 7734 8424 8461 8613 9242 9251
UBACTL 1019 7734 8409 8423 8441 8448 8460 8470 8487 8490 8493 8503 8506 8509
8612 8926 8932 8938 8944 9099 9241 9250 9668 9987#
UBALVL 275#
UBAMAP 257# 9100 9669 9675 9697
UBXADR 8913# 8913
UBXBLD 8913 8931#
UBXBWR 8913 8943#
UBXDDB 8913# 8913 8987
UBXINT 8913# 8913
UBXLOD 8913 8925#
UBXLVL 8913 8913#
UBXRST 8913 8913#
UBXTIM 8913 8913#
UBXWRT 8913 8937#
UCALLI 9315 9346#
UCLOSE 9324 9642#
UCORE 9360 9423#
UFNDD0 9651# 9658
UFNDD7 9652 9657#
UFNDDB 9636 9645 9650#
UGTTAB 9372 9438#
UPT... 8999#
UPTIME 556 9164 9201# 9430 9700 9702
UPTPFL 238#
UPTPFN 240# 9050
UPTPFO 239# 9263 9276
UPTPFW 235# 9268 9281
URLEAS 9324 9645#
URUNTM 9367 9430#
USETIT 986 996 4452 9839#
USLEEP 9368 9435#
USTSTS 9320 9636#
UTTCAL 9316 9440#
UUINIT 9312 9596#
UUO0 9044 9286#
UUOACS 9286 9287 9288 9306 9310# 9346 9426 9431 9441 9603
UUODSP 9301 9302 9312#
UUOPEN 9316 9602#
UUORET 9304# 9344
VALFND 4381# 5114 5823
VDDT11 22# 26
VECTAB 9002# 9028 9057 9059 9061 9071 9078
VECX7 9236 9248#
VECXX 9075 9232#
VEDIT 24# 26
VLFND0 4286 4311 4381 4396#
VLFND2 4398# 4407
VLFND3 4383# 4389
VLFND4 4382 4386#
VLFND7 4385 4393#
VMINOR 23# 26
VWHO 21# 26
WAIT0 7836# 7836
WAIT1 7836 7836#
WAITIM 587 2645 2668 7734# 7836
WIDTH 9536 9561#
WR2020 3891 3929#
WRTBN4 6084 6090#
WRTBN9 6086 6091 6099 6102#
WRTLCK 2425 2459# 2623
WRTWRD 6026 6029 6031 6047 6051 6056 6059 6060 6061 6067 6069 6072 6075 6079#
XMSG 4111#
XMTHDR 3887 4098 4099 4100 4109#
Z 7734# 7734 7760# 7762 7762# 7787# 7789 7789# 7836# 7836 7847# 7847 8373# 8373
8374# 8374 8375# 8375 8376# 8376 8377# 8377 8378# 8378 8379# 8379 8380# 8380
8825# 8825 8913# 8913 9871 10018# 10018 10020
ZZ 7734# 7734 7736 7762# 7762 7789# 7789 10020
ZZRET 7836# 7836 10020
$FBLEN 4456 4552 4642 4839 4859 4938# 4942 4946 6244 6423
%%DDT1 26# 29
%GOTO 1249 1256#
%GOTO3 1258# 1373
%GOTO5 1265 1270#
%IF 1252 1301#
%IF..3 1304# 1307
%IF.EQ 1329# 1414 1415
%IF.GE 1339# 1418
%IF.GT 1334# 1417 1419
%IF.LE 1354# 1424
%IF.LT 1349# 1423 1425
%IF.NE 1344# 1420 1422
%IFDEF 1311# 1412 1413
%IFDSP 1308 1412#
%IFERR 1318# 1416
%IFEXP 1331 1336 1341 1346 1351 1356 1357#
%IFLST 1304 1306 1396#
%IFNDF 1323# 1421
%IFNOT 1314 1319 1327 1364 1376#
%IFTRU 1315 1320 1326 1365#
.ADC 7734 7836#
.ADCB 7734 7836#
.ADD 7734 7836#
.ASH 7734 7836#
.ASHC 7734 7836#
.ASL 7734 7836#
.ASLB 7734 7836#
.ASR 7734 7836#
.ASRB 7734 7836#
.BCC 7734 7836#
.BCS 7734 7836#
.BEQ 7734 7836#
.BGE 7734 7836#
.BGT 7734 7836#
.BHI 7734 7836#
.BHIS 7836#
.BIC 7734 7836#
.BICB 7734 7836#
.BIS 7734 7836#
.BISB 7734 7836#
.BIT 7734 7836#
.BITB 7734 7836#
.BLE 7734 7836#
.BLO 7836#
.BLOS 7734 7836#
.BLT 7734 7836#
.BMI 7734 7836#
.BNE 7734 7836#
.BPL 7734 7836#
.BPT 7762 7836#
.BR 7734 7836#
.BTCMP 3965
.BTDTE 3932 3954
.BTLEN 3929 3956 3962
.BTMSG 3930 3937 3957 3974
.BTRDD 3959
.BTSDD 3934
.BVC 7734 7836#
.BVS 7734 7836#
.CCCLR 7799 7801 7847#
.CCSET 7807 7809 7847#
.CLR 7734 7836#
.CLRB 7734 7836#
.CMP 7734 7836#
.CMPB 7734 7836#
.COM 7734 7836#
.COMB 7734 7836#
.DEC 7734 7836#
.DECB 7734 7836#
.DEQDR 4008
.DIV 7734 7836#
.DTEGF 757
.DTEIF 3319 3347
.DTEOF 3301 3616
.EMT 7734 7836#
.ENQBL 3991
.FADD 7836#
.FDIV 7836#
.FHSLF 748 4048
.FMUL 7836#
.FSUB 7836#
.HALT 7762 7836#
.INC 7734 7836#
.INCB 7734 7836#
.IODMP 6335
.IOT 7762 7836#
.JBFF 642 966 970 1948 1951 4342 4343 4349 4351 4358 4372 4412 4422 4777
4785 4788
.JBREL 4416 4434 9424
.JBREN 6470
.JBSA 643 971 4414
.JBVER 28 5677 5680 5687 5691
.JMP 7734 7836#
.JSR 7734 7836#
.MARK 7734 7836#
.MODTE 741 4036
.MOEOF 3265 3635 3913
.MOV 7734 7836#
.MOVB 7734 7836#
.MUL 7734 7836#
.NEG 7734 7836#
.NEGB 7734 7836#
.PRIOU 747
.RESET 7762 7836#
.ROL 7734 7836#
.ROLB 7734 7836#
.ROR 7734 7836#
.RORB 7734 7836#
.RTI 7762 7836#
.RTS 7789 7836#
.RTT 7762 7836#
.SBC 7734 7836#
.SBCB 7734 7836#
.SOB 7734 7836#
.SPL 7789 7836#
.SUB 7734 7836#
.SWAB 7734 7836#
.SXT 7734 7836#
.TRAP 7734 7836#
.TST 7734 7836#
.TSTB 7734 7836#
.UPMUO 222# 9291 9292 9294 9333 9334
.UPMUP 223# 9290 9332
.WAIT 7762 7836#
.XOR 7734 7836#
ADC. 6694# 7836
ADCB. 6713# 7836
ADD. 6732# 7836
APRID 139#
ASH. 6751# 7836
ASHC. 6787# 7836
ASL. 6834# 7836
ASLB. 6850# 7836
ASR. 6866# 7836
ASRB. 6883# 7836
BCC. 6900# 7836
BCIO 175# 8487
BCIOB 176# 8503
BCS. 6904# 7836
BEQ. 6908# 7836
BGE. 6912# 7836
BGT. 6920# 7836
BHI. 6930# 7836
BHIS. 6934# 7836
BIC. 6938# 7836
BICB. 6949# 7836
BIS. 6960# 7836
BISB. 6971# 7836
BIT. 6982# 7836
BITB. 6992# 7836
BLE. 7002# 7836
BLO. 7012# 7836
BLOAD 6567# 8373 8374 8375 8376 8377 8378 8379 8380
BLOS. 7016# 7836
BLT. 7020# 7836
BMI. 7028# 7836
BNE. 7032# 7836
BOOT 3935 3960
BPL. 7036# 7836
BPT. 7040# 7836
BR. 7043# 7836
BSIO 173# 8490
BSIOB 174# 8506
BSTORE 6655# 8373 8374 8375 8376 8377 8378 8379 8380
BVC. 7045# 7836
BVS. 7049# 7836
CAL11. 3163 3525
CAL78. 3159 3521
CALL 118# 508 509 522 527 535 555 600 628 668 671 675 701 724
738 764 802 805 809 812 816 852 856 860 862 866 883 886
890 893 897 902 917 928 932 935 939 946 947 989 993 1005
1009 1013 1025 1050 1051 1054 1083 1098 1102 1110 1132 1141 1144 1160
1170 1177 1185 1195 1227 1256 1259 1260 1266 1268 1269 1272 1278 1289
1301 1311 1313 1323 1325 1358 1365 1376 1428 1465 1484 1519 1525 1540
1565 1570 1629 1673 1685 1690 1713 1717 1732 1744 1804 1805 1833 1844
1846 1850 1858 1877 1891 1896 1900 1904 1914 1918 1921 1941 1950 1953
1959 2000 2003 2004 2008 2009 2013 2021 2030 2031 2032 2034 2044 2050
2056 2082 2087 2089 2091 2094 2096 2101 2105 2109 2125 2127 2130 2136
2147 2157 2168 2177 2179 2182 2194 2203 2210 2215 2217 2220 2228 2231
2233 2234 2260 2273 2279 2286 2297 2299 2305 2309 2339 2341 2346 2347
2349 2352 2354 2356 2360 2364 2369 2371 2377 2379 2387 2407 2440 2455
2463 2483 2516 2556 2561 2596 2625 2627 2629 2634 2640 2642 2643 2648
2655 2657 2660 2662 2666 2671 2674 2682 2683 2685 2686 2688 2689 2706
2707 2717 2719 2723 2724 2733 2745 2748 2754 2760 2780 2782 2783 2789
2804 2809 2815 2824 2826 2829 2836 2866 2879 2903 2913 2914 2916 2928
2931 2949 2971 2974 2978 2991 3019 3025 3032 3062 3073 3075 3078 3079
3083 3095 3103 3149 3173 3176 3181 3190 3213 3217 3218 3244 3269 3313
3372 3422 3426 3428 3430 3432 3484 3506 3552 3564 3570 3604 3639 3650
3666 3668 3676 3682 3697 3706 3707 3738 3745 3752 3760 3785 3796 3805
3817 3844 3850 3852 3869 3875 3983 3995 3998 4131 4134 4139 4141 4142
4152 4153 4154 4160 4243 4275 4285 4286 4306 4307 4309 4311 4335 4354
4366 4368 4381 4433 4437 4442 4448 4458 4464 4470 4485 4502 4518 4523
4528 4530 4535 4554 4560 4565 4590 4607 4621 4650 4651 4659 4665 4672
4676 4681 4683 4692 4698 4704 4707 4712 4737 4739 4743 4749 4751 4761
4848 4852 4853 4861 4862 4864 4865 4867 4871 4873 4874 4877 4882 4883
4886 4887 4891 4892 4899 4911 4913 4920 4951 4975 4977 4980 4982 4995
5002 5004 5015 5027 5037 5041 5085 5088 5101 5114 5120 5126 5147 5148
5164 5181 5184 5191 5193 5194 5197 5203 5208 5213 5215 5216 5224 5227
5229 5233 5234 5237 5243 5249 5256 5262 5268 5269 5275 5276 5282 5289
5290 5295 5306 5309 5310 5315 5320 5325 5335 5337 5339 5343 5348 5352
5357 5363 5364 5365 5382 5383 5389 5396 5404 5415 5418 5419 5422 5436
5438 5445 5451 5455 5457 5469 5471 5478 5482 5484 5500 5502 5508 5510
5511 5518 5520 5522 5529 5537 5546 5553 5559 5566 5570 5594 5607 5612
5616 5617 5655 5676 5679 5684 5686 5688 5690 5695 5705 5707 5712 5714
5715 5726 5727 5729 5730 5732 5747 5753 5754 5756 5760 5771 5772 5780
5787 5790 5793 5801 5802 5803 5806 5807 5810 5817 5819 5821 5823 5829
5830 5831 5832 5835 5846 5848 5854 5855 5857 5859 5861 5862 5864 5865
5871 5873 5875 5878 5884 5885 5887 5888 5889 5895 5896 5910 5940 5943
5944 5945 5946 5949 5958 5961 5969 5973 5974 5975 5976 5990 6015 6026
6029 6031 6035 6042 6047 6051 6056 6059 6060 6061 6067 6069 6072 6075
6076 6086 6091 6099 6134 6136 6140 6142 6146 6153 6160 6166 6176 6181
6187 6193 6197 6205 6207 6222 6234 6267 6270 6275 6278 6280 6285 6289
6292 6296 6311 6314 6363 6367 6412 6427 6435 6440 6451 6458 6465 6467
6468 7644 7692 7697 7698 7712 7734 7836 7847 8373 8374 8375 8376 8377
8378 8379 8380 8601 8618 8721 8788 8789 8804 8825 8872 8913 9012 9023
9152 9158 9266 9277 9282 9329 9335 9336 9341 9401 9419 9457 9467 9476
9502 9538 9592 9615 9636 9645 9688
CAXE 3965
CLOSE 4906
CLR. 7056# 7836
CLRB. 7064# 7836
CLRBFI 523
CLRPT 161#
CMP. 7074# 7836
CMPB. 7092# 7836
COM. 7110# 7836
COMB. 7121# 7836
CORE 972 4423 4430
DATE 5718
DDBGEN 8521# 8583 8631 8663 8825 8913
DEC. 7132# 7836
DECB. 7144# 7836
DEQ 4009
DISMS 3842 3867
DIV. 7156# 7836
DTE. 759 3303 3321 3349 3618
EMT. 7185# 7836
ENQ 3992
ENTER 4814
ERJMP 721 735 3264 3268 3280 3287 3634 3638 3893 3906 3916 3936 3961 4043
ERSTR 750
EXIT 4161 4449 5427 6036 6043 6196 6297 6413 7696
FADD. 7188# 7836
FDIV. 7192# 7836
FMUL. 7196# 7836
FSUB. 7200# 7836
GETER 4049
GETPPN 588
GETSTS 4966 4981
GETTAB 5697 5928
GTJFN 720
HALT 3108 5672 7734 8518 8724 8726 8728 8730 8969 9102 9128 9130 9132 9134
9136 9138 9140 9143 9160 9208 9216 9220 9224 9228 9238 9258 9283 9342
9420
HALT. 7204# 7836
HIBER 3167 3529
IN 4964 4991 6337 6391
INBUF 4779
INC. 7209# 7836
INCB. 7221# 7836
INCHRS 8774 8778
INCHRW 6206
INCHWL 6194
INIT 7693
INSTRU 362# 7734 7761 7788 7835 10017
INTSAV 6674# 7733 7734 7836 7846 7847 8824 8825 8912
IOT. 7233# 7836
JEN 9144 9199 9209 9217 9221 9225 9229 9246 9255
JMP. 7236# 7836
JOV 7836
JSR. 7242# 7836
LOAD 6532# 7734 7836 7847 8373 8374 8375 8376 8377 8378 8379 8380 8825 8913
LOCK 921 4426
LOOKUP 4791
MARK. 7256# 7836
MEMREL 6520# 7710 7718 7720 7734 7836 7847 8373 8374 8375 8376 8377 8378 8379
8380 8825 8913 8953 8955 8957 8959
MFPS. 7268#
MONRT. 2323
MOV. 7279# 7836
MOVB. 7289# 7836
MOVX 706 718 1030 3913 3914 3934 3959 3991 4008 4036 4048 4071 4076 4078
MSTIME 5748
MTOPR 743 3267 3637 3915 4042
MTPS. 7302#
MUL. 7308# 7836
NAMES 1379# 1396 1412 5916# 5920 5923 6107# 6114 6119 9878# 9906 9933
NEG. 7334# 7836
NEGB. 7348# 7836
NODE. 3410
NOP 119# 506 1044 2456 2917 3999 4762 4787 6135 7734 8779 9033
OP%%CA 3965
OPEN 4771 4773
OPENF 734
OUT 4905 5670 6104
OUTBUF 4782
OUTCHR 5663
PATH. 4809 4831
PIOFF 157#
PION 158#
PJRST 2112 2115 5321 5344 5473 5494 5513 5564 5599 5603 5614 5621 5625 5629
5633 5637 5641 5645
POINTR 4804 4826
POS 4804 4826
RDAPR 155# 9150
RDCSB 180#
RDCSTM 184#
RDEBR 164#
RDINT 188#
RDIO 169# 1018 7734 8411 8926 9669 9704
RDIOB 170# 8443 8932
RDPI 159# 9234
RDPUR 182#
RDSPB 178#
RDTIME 186#
RDUBR 162#
RELEAS 4907 4969 6340
RESET 585
RESET. 7363# 7836
RET 120# 591 601 669 676 684 702 803 810 817 857 867 884 891
898 918 933 940 994 1006 1014 1026 1299 1458 1466 1547 1630 1702
1745 1815 1861 1998 2040 2046 2052 2058 2066 2070 2075 2079 2083 2161
2298 2300 2321 2372 2419 2423 2453 2457 2479 2484 2541 2819 2841 2880
2908 3010 3033 3133 3184 3294 3305 3387 3411 3435 3555 3605 3621 3640
3725 3733 3741 3779 3793 3800 3811 3823 3851 3853 3876 3984 3993 4001
4010 4024 4051 4073 4156 4239 4241 4254 4257 4261 4268 4279 4291 4329
4336 4345 4350 4361 4394 4443 4525 4699 4856 4900 4904 4921 4952 4955
4962 4970 4993 4996 5021 5043 5072 5104 5149 5200 5209 5311 5316 5326
5338 5350 5358 5366 5523 5596 5658 5664 5669 5716 5733 5759 5911 5935
5977 6089 6101 6105 6127 6133 6190 6199 6209 6361 6371 6393 7660 7689
7699 7734 8427 8433 8487 8490 8495 8503 8506 8511 8576 8590 8596 8599
8620 8624 8637 8643 8648 8655 8697 8702 8713 8717 8743 8746 8767 8815
8825 8856 8859 8865 8869 8902 8906 8910 8913 8927 8933 8939 8945 8983
8993 9007 9124 9284 9308 9432 9435 9438 9460 9468 9487 9490 9493 9496
9499 9503 9522 9554 9569 9619 9621 9637 9639 9642 9646 9648 9659 9698
9703 9709
RETSKP 596 611 617 645 652 659 694 716 781 788 793 823 828 833
843 848 871 908 924 956 959 976 988 997 1020 1032 1036 1040
1294 1537 1635 1777 1820 1830 1838 2311 3293 3359 3373 3418 3856 3917
3939 3975 4011 4039 4045 4296 4843 5062 5079 5211 5913 6226 6389 6474
9427 9470 9505 9594 9624
ROL. 7366# 7836
ROLB. 7380# 7836
ROR. 7394# 7836
RORB. 7411# 7836
RSTORE 6588# 7836
RTI. 7428# 7836
RTS. 7443# 7836
RTT. 7453# 7836
RUNTIM 2647 2650
SBC. 7470# 7836
SBCB. 7492# 7836
SETSTS 6335 7646 7734
SIN 3279 3286 3905
SKPINC 2726 2770 3080 3088
SLEEP 2699
SOB. 7519# 7836
SOUT 3263 3633 3892
SPL. 7530# 7836
STORE 6625# 7734 7836 7847 8373 8374 8375 8376 8377 8378 8379 8380 8825 8913
SUB. 7535# 7836
SWAB. 7554# 7836
SXT. 7565# 7836
TADJUS 7734# 7836 8751 8842 8879
TIOE 165#
TIOEB 166#
TION 167#
TIONB 168#
TRAP. 7576# 7836
TST. 7579# 7836
TSTB. 7587# 7836
TXC 7659
TXNE 558 582 679 945 1017 1090 1220 1470 1476 1482 1495 1502 1507 1684
1779 1946 2103 2165 2222 2242 2507 2632 2721 2761 3066 4418 4768 4781
4813 4818 4833 4844 4849 4967 6240 6254 6261 6299 7734 8619 8647 8926
8932 8938 8944 8982
TXNN 664 798 879 913 1001 1216 1499 1542 1579 1589 1606 1626 1627 1885
2111 2132 2143 2186 2424 2564 2622 2694 2763 3110 3614 3963 4415 4837
4854 5797 5886 5995 6083 6219 6250 6382 7640 7734 7836 8409 8415 8425
8441 8448 8452 8462 8470 8570 8605 8707 8825 8838 8896 8926 8932 8938
8944 9006 9169 9579 9591
TXO 554 583 593 656 792 923 1581 1585 1590 1613 1616 1656 1829 1832
1837 1957 2023 2099 2110 2156 2202 2227 2490 2494 2498 2533 2544 2606
2635 2697 2777 2789 2882 3055 4803 5785 5795 5926 5980 6001 6126 6251
6259 6284 6397 6471 7836 7847 8825 8913 9098
TXOA 2197
TXOE 1491 4649
TXON 1475 7643
TXZ 548 649 1057 1066 1463 1553 1582 1586 1614 1978 2199 2265 2591 2608
2705 2752 2918 2932 3049 4637 5786 5792 5981 6282 7639 7734 7836 7847
8617 8791 9106
TXZA 6125
TXZE 1743 1749 1751 1753 2088 2232 2420 2560 2825 4799
TXZN 1318 2001 2200 2422 2571 2592 2713 6263 7734
TYPE 122# 519 524 665 672 698 721 735 761 799 806 813 853 863
880 887 894 914 929 936 990 1002 1010 1022 2367 2459 2658 2663
2672 2728 2910 3026 3076 3090 3145 3310 3420 3502 3601 4137 4438 4446
4526 4531 4695 4734 4740 4747 4846 4909 4914 4972 4978 5039 5674 5703
5710 5893 5941 5947 5970 6294 6410 6463 8783 8825 9417
UMOVE 189#
UMOVEM 190#
UNLOK. 4420
USETI 4453 4834 4990 6336
WAIT. 7595# 7836
WID 4804 4826
WRAPR 140# 9159 9165 9177 9400 9413 9553
WRCSB 179# 9115
WRCSTM 183# 9111
WREBR 163# 9119
WRINT 187# 9404
WRIO 171# 7734 8424 8450 8461 8494 8613 8938 9100 9242 9251 9675 9677 9679
9681 9683 9685 9687 9697
WRIOB 172# 8472 8510 8944
WRPI 156# 9402
WRPUR 181# 9113
WRSPB 177#
WRTIME 185#
WRUBR 160# 9123
X 1395# 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408
1409 1411# 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423
1424 1425 5919# 5920 5922# 5923 6113# 6114 6115 6116 6117 6118# 6119 6120
6121 6122 7734# 7734 7745# 7762 7772# 7789 7812# 7836 7847# 7847 7850 7853
7856 7859 7862 7865 7869 7873 7879# 8372 8373 8374 8375 8376 8377 8378
8379 8388# 8408 8440 8447 8469 8474# 8486 8489 8502 8505 8731# 8742 8745
8914# 8925 8931 8937 8943 9905# 9906 9907 9908 9909 9910 9911 9912 9913
9914 9915 9916 9917 9918 9919 9920 9921 9922 9923 9924 9925 9926 9927
9928 9929 9930 9932# 9933 9934 9935 9936 9937 9938 9939 9940 9941 9942
9943 9944 9945 9946 9947 9948 9949 9950 9951 9952 9953 9954 9955 9956
9957 9990# 10018 10020
XOR. 7622# 7836
XX 7847# 7847 7849 7852 7855 7858 7861 7864 7868 7872 10020