pcjs/apps/pdp10/diags/ka10/dakam/DAKAM.LST.txt

10176 lines
516 KiB
Text

DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 1
DAKAMT MAC 20-JAN-77 11:33 DIAGNOSTIC PARAMETERS SEQ 0011
1 ;DAKAM
2
3
4 000000 MCNVER==0
5 000002 DECVER==2
6
7
8 XLIST
9 LIST
10 LALL
11
12 NAME \MCNVER,\DECVER^
13
14 TITLE DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2
15 ^
16
17 ;(BYTE, BLOCK TRANSFER, JFFO AND OTHER BASIC MISCELLANEOUS INSTRUCTIONS)
18
19 ;COPYRIGHT 1975,1977
20 ;DIGITAL EQUIPMENT CORPORATION
21 ;MARLBORO, MASS. 01752
22
23 ;JOHN R. KIRCHOFF
24
25 000137 LOC 137
26 000137 000000 000002 MCNVER,,DECVER
27
28 NOSYM
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 2
DAKAMT MAC 20-JAN-77 11:33 DIAGNOSTIC PARAMETERS SEQ 0012
29 SUBTTL DIAGNOSTIC PARAMETERS
30
31 ;OPERATOR DEFINITIONS
32
33 001000 000000 OPDEF ER1 [1B8]
34 002000 000000 OPDEF ER2 [2B8]
35 003000 000000 OPDEF ER3 [3B8]
36 004000 000000 OPDEF ER4 [4B8]
37 005000 000000 OPDEF ER5 [5B8]
38 006000 000000 OPDEF ER6 [6B8]
39 007000 000000 OPDEF ER7 [7B8]
40 010000 000000 OPDEF ER10 [10B8]
41 011000 000000 OPDEF ER11 [11B8]
42 012000 000000 OPDEF ER12 [12B8]
43 013000 000000 OPDEF ER13 [13B8]
44
45 040530 LUUO1=ERRMES
46 040530 LUUO2=ERRMES
47 040530 LUUO3=ERRMES
48 040530 LUUO4=ERRMES
49 040530 LUUO5=ERRMES
50 040530 LUUO6=ERRMES
51 040530 LUUO7=ERRMES
52 040530 LUUO10=ERRMES
53 040530 LUUO11=ERRMES
54 040530 LUUO12=ERRMES
55 040530 LUUO13=ERRMES
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 3
DAKAMT MAC 20-JAN-77 11:33 DIAGNOSTIC PARAMETERS SEQ 0013
56 ;SUBROUTINE ASSEMBLY DEFINITIONS
57
58 000040 DEBUG=40
59 000001 EXCASB=1
60 000001 USRASB=1
61 000001 KA10=1
62 000001 PGMEND=1
63 000001 ERDIAG=1
64
65 ;SPECIAL FEATURE DEFINITIONS
66
67 030000 SADR1=BEGIN
68 030000 SADR2=BEGIN
69 030000 SADR3=BEGIN
70 030000 SADR4=BEGIN
71 254000 030000 SADR5=JRST BEGIN
72 254000 030000 SADR6=JRST BEGIN
73 254000 030000 SADR7=JRST BEGIN
74 254000 030000 SADR8=JRST BEGIN
75 254000 030000 SADR9=JRST BEGIN
76 254000 030000 SADR10=JRST BEGIN
77 254000 030000 SADR11=JRST BEGIN
78
79 ;SPECIAL FEATURE PARAMETERS
80
81 000000 PAREA0=0
82 000000 PAREA1=0
83 000000 PAREA2=0
84 444153 415500 PAREA3=SIXBIT/DAKAM/
85 645560 000000 PAREA4=SIXBIT/TMP/
86 000000 PAREA5=0
87 000000 PAREA6=0
88 001000 ITERAT==1000
89
90 ;MACROS
91
92 DEFINE SAVEAC (A,B)<
93 MOVEI AC+2,. ;SAVE TEST PC
94 MOVEM AC+2,TESTPC
95 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
96 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION>
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 4
DAKAMT MAC 20-JAN-77 11:33 DIAGNOSTIC PARAMETERS SEQ 0014
97 ;SPECIAL INSTRUCTIONS TO ASSEMBLER
98
99 IF1,<BYTBLK=14773> ;BYTBLK BEYOND AC RANGE FOR PASS 1
100 IF1,<BLTBLK=15000> ;BLTBLK BEYOND AC RANGE FOR PASS 1
101
102 ;MACROS
103
104 DEFINE GMOV (X1,DATA),<
105 IFLE <X1-20>,<
106 MOVE X1,[DATA] ;PRELOAD X1 WITH DATA>
107 IFG <X1-20>,<
108 MOVE AC+1,[DATA]
109 MOVEM AC+1,X1 ;PRELOAD X1 WITH DATA>>
110
111 DEFINE GCAM (X1,DATA),<
112 SN=SN+1
113 IFG <X1-20>,<
114 MOVE AC-1,X1
115 CAME AC-1,[DATA] ;IS C(X1) = DATA
116 IFIDN <DEST>,<X1>,<
117 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
118 IFDIF <DEST>,<X1>,<
119 ER2 AC-1,SN ;C(X1) WAS CLOBBERED>>
120 IFLE <X1-20>,<
121 CAME X1,[DATA] ;IS C(X1) = DATA
122 IFIDN <DEST>,<X1>,<
123 ER2 X1,SN ;DEST NOT LOADED CORRECTLY>
124 IFDIF <DEST>,<X1>,<
125 ER2 X1,SN ;C(X1) WAS CLOBBERED>>>
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 5
DAKAMT MAC 20-JAN-77 11:33 DIAGNOSTIC PARAMETERS SEQ 0015
126 DEFINE BLTM1 (A1,C1,S1,D1,SC)<
127 ;VERIFY THAT BLT WILL TRANSFER A 1 WORD BLOCK OF DATA
128 ;WHERE SOURCE AND DESTINATION ARE DIFFERENT
129 ;SOURCE DATA = SC
130
131 AC=C1
132 SAVEAC (1,1)
133 SN=A1
134 SRCE=S1 ;1ST LOC OF SOURCE = S1
135 DEST=D1 ;1ST LOC OF DESTINATION = D1
136 SIZ=1 ;BLOCK SIZE = 1 WORD
137
138 G'A1: MOVE AC,[SRCE,,DEST] ;LOAD BLT AC
139 GMOV (SRCE-1,<252525252525>)
140 GMOV (SRCE,<SC>)
141 GMOV (SRCE+1,<770077007700>)
142 GMOV (DEST-1,<070707070707>)
143 GMOV (DEST,<123456765432>)
144 GMOV (DEST+1,<552255225522>)
145 BLT AC,DEST+SIZ-1 ;*BLOCK TRANSFER
146 GCAM (SRCE-1,<252525252525>)
147 GCAM (SRCE,<SC>)
148 GCAM (SRCE+1,<770077007700>)
149 GCAM (DEST-1,<070707070707>)
150 GCAM (DEST,<SC>)
151 GCAM (DEST+1,<552255225522>)
152 JUMPL AC+2,G'A1 ;LOOP ON ERROR>
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 1
PARAM KLM 18-JAN-77 11:38 *PARAM* CONSOLE DATA SWITCH ASSIGNMENTS, JAN 18,1977 SEQ 0016
153 SUBTTL *PARAM* CONSOLE DATA SWITCH ASSIGNMENTS, JAN 18,1977
154
155 DEFINE S,<;*********************************************************************>
156
157 S^;*********************************************************************^
158 ;*DATA SWITCHES (READ FROM CONSOLE IN EXEC MODE OR TYPED IN IN USER MODE)
159 ;*LEFT HALF SWITCHES ARE PRE-ASSIGNED FOR SUBROUTINE PACKAGE USE
160 ;*AND CONTROL LOOPING, PRINTING (TTY OR OTHER DEVICE) AND MISC. FUNCTIONS
161 S^;*********************************************************************^
162
163 400000 ABORT== 400000 ;ABORT PROGRAM ON PASS COMPLETION
164 200000 RSTART==200000 ;RESTART TEST, PRINT TOTALS
165 100000 TOTALS==100000 ;PRINT TOTALS, CONTINUE
166
167 040000 NOPNT== 040000 ;INHIBIT ALL PRINT/TYPE OUT (EXCEPT FORCED)
168 020000 PNTLPT==020000 ;PRINT ALL DATA ON LPT (LOGICAL DEVICE, USER MODE)
169 010000 DING== 010000 ;RING BELL ON ERROR
170
171 004000 LOOPER==004000 ;ENTER EXERCISE/CHECK LOOP ON ERROR
172 002000 ERSTOP==002000 ;HALT ON TEST ERROR
173 001000 PALERS==001000 ;PRINT ALL ERRORS
174
175 000400 RELIAB==000400 ;RELIABILITY MODE
176 000200 TXTINH==000200 ;INHIBIT ERROR TEXT
177 000100 INHPAG==000100 ;INHIBIT PAGING
178
179 000040 MODDVC==000040 ;MODIFY DEVICE CODE
180 000020 INHCSH==000020 ;INHIBIT CACHE
181 000010 OPRSEL==000010 ;OPERATOR SELECTION
182
183 000004 CHAIN== 000004 ;CHAIN CONTROL SWITCH
184
185 000002 KAHZ50==000002 ;KA10 50 HERTZ POWER
186
187 ;SWITCH 17 RESERVED !!!
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 2
PARAM KLM 18-JAN-77 11:38 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 SEQ 0017
188 SUBTTL *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977
189
190 S^;*********************************************************************^
191 ;*SPECIAL SUBPROGRAM LINKAGES
192 S^;*********************************************************************^
193
194 027772 FSELNK= 27772 ;FILE SELECT LINK
195 027773 FRDLNK= 27773 ;FILE READ LINK
196 027774 LDLNK= 27774 ;LOAD LINKAGE ADDRESS
197 027775 DDTLNK= 27775 ;DDT LINKAGE ADDRESS
198 027776 MODLNK= 27776 ;OPERATIONAL MODE CHECK LINKAGE ADDRESS
199 027777 SUBLNK= 27777 ;SUBROUTINE LINKAGE ADDRESS
200
201 S^;*********************************************************************^
202 ;*SPECIAL SUBROUTINE FATAL HALTS
203 ;*USED TO REPORT ERRORS THAT CAUSE THE SUBROUTINES TO BE UNUSABLE
204 S^;*********************************************************************^
205
206 ;ADDRESS TAG REASON
207 ;---------------------
208
209 ; 1010 NOEXEC ;PROGRAM NOT CODED FOR EXEC MODE OPERATION
210 ; 1011 PLERR ;FATAL PUSH LIST POINTER ERROR
211 ; 1012 PLERR1 ;INITIAL PUSH LIST POINTER ERROR
212 ; 1013 MUOERR ;MUUO WITH LUUO HANDLER WIPED OUT
213 ; 1014 DTEBER ;DTE20 INTERRUPT WITHOUT DOORBELL
214 ; 1015 DTECER ;DTE20 CLOCK INTERRUPT WITHOUT FLAG SET
215 ; 1016 CPIERR ;CPU INITIALIZATION ERROR
216 ; 1017 EOPERR ;END OF PROGRAM ERROR
217 ; 1020 LUOERR ;INTERRUPT WITH LUUO HANDLER WIPED OUT
218
219 S^;*********************************************************************^
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 3
PARAM KLM 18-JAN-77 11:38 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 SEQ 0018
220 S^;*********************************************************************^
221 ;OPERATOR DEFINITIONS (NON-UUO'S)
222 S^;*********************************************************************^
223
224 260740 000000 OPDEF GO [PUSHJ P,] ;SUBROUTINE CALL
225 263740 000000 OPDEF RTN [POPJ P,] ;SUBROUTINE RETURN
226 261740 000000 OPDEF PUT [PUSH P,] ;PUT DATA ON PUSH LIST
227 262740 000000 OPDEF GET [POP P,] ;GET DATA FROM PUSH LIST
228 254000 000000 OPDEF PJRST [JRST ] ;JRST TO ROUTINE THAT RTN'S
229 254200 000000 OPDEF HALT [JRST 4,] ;DEFINITION FOR DDT
230 254100 000000 OPDEF JRSTF [JRST 2,] ;DEFINITION FOR DDT
231 254500 000000 OPDEF JEN [JRST 12,] ;DEFINITION FOR DDT
232
233 S^;*********************************************************************^
234 ;*SUBROUTINE INITIALIZATION CALL
235 S^;*********************************************************************^
236
237 265000 030011 OPDEF PGMINT [JSP 0,SBINIT] ;SUBROUTINE INITIALIZATION
238
239 S^;*********************************************************************^
240 ;*HALTING UUO'S (A MORE GRACEFUL HALT THAN SIMPLY USING THE HALT INSTRUCTION).
241 S^;*********************************************************************^
242
243 037640 000004 OPDEF FATAL [37B8!15B12!4] ;FATAL PROGRAMMING HALT
244 037600 000004 OPDEF ERRHLT [37B8!14B12!4] ;PROGRAM ERROR HALT
245
246 S^;*********************************************************************^
247 ;*TERMINAL INPUT UUO'S
248 ;*ALWAYS COME FROM THE CONSOLE TERMINAL IN EXEC MODE OR THE
249 ;*CONTROLLING TERMINAL (REAL TERMINAL OR PTY) IN USER MODE.
250 S^;*********************************************************************^
251
252 037000 000003 OPDEF TTICHR [37B8!0B12!3] ;TTY, INPUT ANY CHARACTER
253 037040 000003 OPDEF TTIYES [37B8!1B12!3] ;TTY, NORMAL RETURN Y
254 037100 000003 OPDEF TTINO [37B8!2B12!3] ;TTY, NORMAL RETURN N
255 037140 000003 OPDEF TTIOCT [37B8!3B12!3] ;TTY, INPUT OCTAL WORD
256 037200 000003 OPDEF TTIDEC [37B8!4B12!3] ;TTY, INPUT DECIMAL WORD
257 037240 000003 OPDEF TTICNV [37B8!5B12!3] ;TTY, INPUT CONVERTABLE WORD
258 037300 000003 OPDEF TTLOOK [37B8!6B12!3] ;TTY, KEYBOARD CHECK
259 037340 000003 OPDEF TTALTM [37B8!7B12!3] ;TTY, ALT-MODE CHECK
260 037400 000003 OPDEF TTSIXB [37B8!10B12!3] ;TTY, INPUT SIXBIT WORD
261 037440 000003 OPDEF TTYINP [37B8!11B12!3] ;TTY, IMAGE MODE INPUT
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 4
PARAM KLM 18-JAN-77 11:38 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 SEQ 0019
262 ;*TERMINAL OUTPUT UUO'S.
263
264 037000 000000 OPDEF PNTA [37B8!0B12!0] ;PRINT ASCII WORD
265 037000 000001 OPDEF PNTAF [37B8!0B12!1] ;PRINT ASCII WORD FORCED
266 037740 000000 OPDEF PNTAL [37B8!17B12!0] ;PRINT ASCIZ LINE
267 037740 000001 OPDEF PNTALF [37B8!17B12!1] ;PRINT ASCIZ LINE FORCED
268 037600 000003 OPDEF PSIXL [37B8!14B12!3] ;PRINT SIXBIT'Z LINE
269 037640 000003 OPDEF PSIXLF [37B8!15B12!3] ;PRINT SIXBIT'Z LINE FORCED
270 037000 000000 OPDEF PNTMSG [37B8!0B12!0] ;PRINT MESSAGE IMMEDIATE
271 037040 000000 OPDEF PNTMSF [37B8!1B12!0] ;PRINT MESSAGE IMMEDIATE FORCED
272 037100 000000 OPDEF PSIXM [37B8!2B12!0] ;PRINT SIXBIT'Z MSG IMMEDIATE
273 037200 000000 OPDEF PSIXMF [37B8!4B12!0] ;PRINT SIXBIT'Z MSG IMM FORCED
274 037000 000000 OPDEF PNTCI [37B8!0B12!0] ;PRINT CHARACTER IMMEDIATE
275 037040 000000 OPDEF PNTCIF [37B8!1B12!0] ;PRINT CHARACTER IMMEDIATE FORCED
276 037500 000000 OPDEF PNTCHR [37B8!12B12!0] ;PRINT CHARACTER
277 037500 000001 OPDEF PNTCHF [37B8!12B12!1] ;PRINT CHARACTER FORCED
278 037040 000000 OPDEF PNT1 [37B8!1B12!0] ;PRINT ONE OCTAL DIGIT
279 037040 000001 OPDEF PNT1F [37B8!1B12!1] ;PRINT 1 OCTAL DIGIT FORCED
280 037100 000000 OPDEF PNT2 [37B8!2B12!0] ;PRINT TWO OCTAL DIGITS
281 037100 000001 OPDEF PNT2F [37B8!2B12!1] ;PRINT 2 OCTAL DIGITS FORCED
282 037140 000000 OPDEF PNT3 [37B8!3B12!0] ;PRINT THREE OCTAL DIGITS
283 037140 000001 OPDEF PNT3F [37B8!3B12!1] ;PRINT THREE OCTAL DIGITS FORCED
284 037200 000000 OPDEF PNT4 [37B8!4B12!0] ;PRINT FOUR OCTAL DIGITS
285 037200 000001 OPDEF PNT4F [37B8!4B12!1] ;PRINT FOUR OCTAL DIGITS FORCED
286 037240 000000 OPDEF PNT5 [37B8!5B12!0] ;PRINT FIVE OCTAL DIGITS
287 037240 000001 OPDEF PNT5F [37B8!5B12!1] ;PRINT FIVE OCTAL DIGITS FORCED
288 037300 000000 OPDEF PNT6 [37B8!6B12!0] ;PRINT SIX OCTAL DIGITS
289 037300 000001 OPDEF PNT6F [37B8!6B12!1] ;PRINT SIX OCTAL DIGITS FORCED
290 037340 000000 OPDEF PNT7 [37B8!7B12!0] ;PRINT 7 OCTAL DIGITS
291 037340 000001 OPDEF PNT7F [37B8!7B12!1] ;PRINT 7 OCTAL DIGITS FORCED
292 037440 000000 OPDEF PNT11 [37B8!11B12!0] ;PRINT 11 OCTAL DIGITS
293 037440 000001 OPDEF PNT11F [37B8!11B12!1] ;PRINT 11 OCTAL DIGITS FORCED.
294 037400 000000 OPDEF PNTADR [37B8!10B12!0] ;PRINT PHYSICAL ADDRESS
295 037400 000001 OPDEF PNTADF [37B8!10B12!1] ;PRINT PHYSICAL ADDRESS FORCED
296 037600 000000 OPDEF PNTOCT [37B8!14B12!0] ;PRINT FULL WORD OCTAL
297 037600 000001 OPDEF PNTOTF [37B8!14B12!1] ;PRINT FULL WORD OCTAL FORCED
298 037540 000000 OPDEF PNTHW [37B8!13B12!0] ;PRINT OCTAL HALF WORDS, 6 SP 6
299 037540 000001 OPDEF PNTHWF [37B8!13B12!1] ;PRINT OCTAL HALF WORDS, 6 SP 6 FORCED
300 037700 000003 OPDEF PNTOCS [37B8!16B12!3] ;PRINT OCTAL, SUPPRESS LEADING 0'S
301 037740 000003 OPDEF PNTOCF [37B8!17B12!3] ;PRINT OCTAL, SUPPRESS LEADING 0'S FORCED
302 037640 000000 OPDEF PNTDEC [37B8!15B12!0] ;PRINT DECIMAL, SUPRESS LEADING 0'S
303 037640 000001 OPDEF PNTDCF [37B8!15B12!1] ;PRINT DECIMAL, SUPRESS LEADING 0'S FORCED
304 037700 000000 OPDEF PNTDS [37B8!16B12!0] ;PRINT DECIMAL, SPACES FOR LD 0'S
305 037700 000001 OPDEF PNTDSF [37B8!16B12!1] ;PRINT DECIMAL, SPACES FOR LD 0'S FORCED
306 037200 000002 OPDEF PNTNM [37B8!4B12!2] ;PRINT PROGRAM NAME
307 037000 000002 OPDEF PNTSIX [37B8!0B12!2] ;PRINT SIXBIT WORD
308 037040 000002 OPDEF PNTSXF [37B8!1B12!2] ;PRINT SIXBIT WORD FORCED
309 037240 000002 OPDEF DROPDV [37B8!5B12!2] ;CLOSE LOGICAL FILE, USER MODE
310 037100 000002 OPDEF PNTCW [37B8!2B12!2] ;PRINT DF10 CONTROL WORD
311 037140 000002 OPDEF PNTCWF [37B8!3B12!2] ;PRINT DF10 CONTROL WORD FORCED
312 037000 030242 OPDEF PCRL [37B8!0B12!CRLF] ;PRINT CARRIAGE RETURN/LINE FEED
313 037040 030242 OPDEF PCRLF [37B8!1B12!CRLF] ;PRINT CARRIAGE RETURN/LINE FEED FORCED
314 037000 000040 OPDEF PSP [37B8!0B12!40] ;PRINT SPACE
315 037040 000040 OPDEF PSPF [37B8!1B12!40] ;PRINT SPACE FORCED
316 037000 030243 OPDEF PCRL2 [37B8!0B12!CRLF2] ;PRINT CARRIAGE RETURN/LINE FEED (TWICE)
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 4-1
PARAM KLM 18-JAN-77 11:38 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 SEQ 0020
317 037040 030243 OPDEF PCRL2F [37B8!1B12!CRLF2] ;PRINT CARRIAGE RETURN/LINE FEED (TWICE) FORCED
318 037040 000007 OPDEF PBELL [37B8!1B12!7] ;PRINT TTY BELL
319
320 037040 000026 OPDEF PFORCE [37B8!1B12!26] ;PRINT FORCE, CONTROL O OVERRIDE
321
322 DEFINE PMSG (ARG),<
323 PSIXM [SIXBIT\ARG'_\]>
324
325 DEFINE PMSGF (ARG),<
326 PSIXMF [SIXBIT\ARG'_\]>
327
328 ;*SIXBTZ -- MACRO TO GENERATE SIXBIT DATA FOR PRINTING
329 ;* CONSERVES CORE OVER ASCIZ
330
331 DEFINE SIXBTZ (ARG),< [SIXBIT\ARG'_\]>
332
333 ;*CONSOLE SWITCH INPUT UUO.
334 ;*READS CONSOLE SWITCHES IF IN EXEC MODE OR ASKS FOR THEM IF
335 ;* USER MODE.
336
337 037400 000002 OPDEF SWITCH [37B8!10B12!2] ;INPUT CONSOLE SWITCHES
338
339 ;*CLOCK INITIALIZATION UUO - TO SET DESIRED CLOCK OPERATION
340 ;*EITHER IGNORE CLOCK, ONLY LET IT TICK OR CAUSE INTERRUPT TO OCCUR.
341
342 037540 000004 OPDEF CLOKOP [37B8!13B12!4] ;CLOCK OPERATION UUO - PDP-11 CLOCK
343 037200 000004 OPDEF MTROP [37B8!4B12!4] ;CLOCK OPERATION UUO - DK20 METER
344
345 ;*KL10 ONLY CACHE OPERATION UUO'S
346
347 037040 000004 OPDEF CINVAL [37B8!1B12!4] ;CACHE INVALIDATE
348 037100 000004 OPDEF CFLUSH [37B8!2B12!4] ;CACHE FLUSH
349 037140 000004 OPDEF CWRTBI [37B8!3B12!4] ;CACHE WRITE-BACK & INVALIDATE
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 5
PARAM KLM 18-JAN-77 11:38 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 SEQ 0021
350 ;*END OF PASS/PROGRAM UUOS
351
352 ;PERFORMS THE END OF PASS FUNCTIONS. INCREMENT PASS COUNT,
353 ;*DECREMENT ITERATION COUNT, CHECK IF FINISHED WITH THIS PROGRAM ETC.
354
355 037500 000004 OPDEF ENDUUO [37B8!12B12!4] ;UUO TO DISPLAY LIGHTS
356 037700 000004 OPDEF EOPUUO [37B8!16B12!4] ;END OF PROGRAM UUO
357
358 ;*MEMORY MANAGEMENT UUO'S
359 ;*UUO'S TO PERFORM VARIOUS MEMORY FUNCTIONS. MAPPING, ZEROING, PAGING,
360 ;*ADDRESS CONVERSION, ETC...
361
362 037000 000004 OPDEF MAPMEM [37B8!0B12!4] ;MAP MEMORY
363 037500 000002 OPDEF MEMZRO [37B8!12B12!2] ;ZERO MEMORY
364 037440 000002 OPDEF MEMSEG [37B8!11B12!2] ;SETUP MEMORY SEGMENT
365 037540 000002 OPDEF MAPADR [37B8!13B12!2] ;VIRTUAL TO PHYSICAL ADR CONVERT
366 037640 000002 OPDEF MAPCNK [37B8!15B12!2] ;MAP MEMORY CHUNK
367 037600 000002 OPDEF MAPSET [37B8!14B12!2] ;SET KI10 EXEC PAGE MAP
368 037740 000002 OPDEF MAPPNT [37B8!17B12!2] ;PRINT MEMORY MAP
369
370 ;*DEVICE CODE MODIFICATION UUO
371 ;*ALLOWS THE MODIFICATION OF IOT'S TO ONE DEVICE TO BE CHANGED TO
372 ;*IOT'S TO A DIFFERENT DEVICE CODE.
373
374 037340 000002 OPDEF MODPCU [37B8!7B12!2] ;MODIFY PERHIPERAL CODE, USER
375 037300 000002 OPDEF MODPCP [37B8!6B12!2] ;MODIFY PERHIPERAL CODE, PROGRAM
376
377 030000 IFNDEF MODDVL,<MODDVL==BEGIN>
378 030000 IFNDEF MODDVU,<MODDVU==BEGIN>
379
380 ;*"DIAMON" FILE SELECTION AND READ UUOS
381
382 037240 000004 OPDEF FSELECT [37B8!5B12!4] ;FILE SELECTION
383 037300 000004 OPDEF FREAD [37B8!6B12!4] ;FILE READ - ASCII DATA
384 037340 000004 OPDEF FRD36 [37B8!7B12!4] ;FILE READ - 36 BIT DATA
385 037400 000004 OPDEF FRD8 [37B8!10B12!4] ;FILE READ - 8 BIT DATA
386
387 ;*KI10 ONLY UUO FOR PRINTING MARGIN VALUES
388
389 037700 000002 OPDEF PNTMGN [37B8!16B12!2] ;PRINT MARGIN VALUE
390
391 XLIST
392 IFNDEF KLOLD,<LIST
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 6
PARAM KLM 18-JAN-77 11:38 ERROR HANDLING UUO DEFINITIONS, JAN 18,1977 SEQ 0022
393 SUBTTL ERROR HANDLING UUO DEFINITIONS, JAN 18,1977
394
395 S^;*********************************************************************^
396 ;*ERROR HANDLER PARAMETERS
397 S^;*********************************************************************^
398
399 036000 000000 OPDEF ERUUO [36B8] ;ERROR CALL UUO
400 035000 000000 OPDEF ERLOOP [35B8] ;ERROR LOOP, CHECKS PC,REPT,REPT1,ERROR
401 035040 000000 OPDEF ERLP1 [35B8!1B12] ;ERROR LOOP IF PC'S MATCH
402 035100 000000 OPDEF ERLP2 [35B8!2B12] ;ERROR LOOP IF ANY ERROR
403 034000 000000 OPDEF REPTUO [34B8] ;REPEAT LOOP UUO
404
405 ;*THE ERROR HANDLER MACROS
406
407 ;*A MACRO TO REPORT AN ERROR AND LOOP
408
409 DEFINE ERROR (ADR,FORMAT,CORECT,ACTUAL,F,D,ERR)<
410 SALL
411 ERUUO FORMAT,[T,,[SIXBIT\F'_\]
412 CORECT,,ACTUAL
413 [SIXBIT\D'_\],,ERR]
414 XALL
415
416 ERLOOP ADR ;IF ERROR, LOOP TO ADR
417 >
418
419 ;*A MACRO TO REPORT AN ERROR AND NOT LOOP
420
421 DEFINE ERROR1 (FORMAT,CORECT,ACTUAL,F,D,ERR)<
422 SALL
423 ERUUO FORMAT,[T,,[SIXBIT\F'_\]
424 CORECT,,ACTUAL
425 [SIXBIT\D'_\],,ERR]
426 XALL >
427
428 >;END OF KLOLD CONDITIONAL
429
430 XLIST
431 LIST
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 1
FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0023
432 SUBTTL *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977
433
434 030000 LOC 30000
435
436 S^;*********************************************************************^
437 ;*PROGRAM STARTING ADDRESSES
438 ;*THESE ADDRESSES CALL VARIOUS SPECIAL START ROUTINES AND OR OPTIONS
439 ;*NORMAL START ADDRESS IS 30000 ALL OTHERS ARE SPECIAL. INVOKED BECAUSE
440 ;*OF END OF PASS, POWER FAILURE, DDT START, RE-ENTERING(TYPICALLY USER
441 ;*MODE), OR ANY NUMBER OF SPECIAL FEATURE TESTS.
442 S^;*********************************************************************^
443
444 030000 254 00 1 00 027776 BEGIN: JRST @MODLNK ;STAND-ALONE START
445 030001 254 00 0 00 030616 $START: JRST START ;MODE CHECK STARTING ADDRESS
446
447 030002 254 00 1 00 027774 DIAGMN: JRST @LDLNK ;DIAGNOSTIC MONITOR START
448
449 030003 254 00 1 00 027774 SYSEXR: JRST @LDLNK ;SYSTEM EXERCISER START
450
451 030004 254 00 0 00 030000 SFSTRT: JRST SADR1 ;SPECIAL FEATURE START
452
453 030005 254 00 0 00 030000 PFSTRT: JRST SADR2 ;POWER FAIL RESTART
454
455 030006 254 00 0 00 030000 REENTR: JRST SADR3 ;REENTER START(USUALLY USER MODE ONLY)
456
457 030007 SRTDDT: ;COMMONLY MISTAKEN NAME FOR "DDTSRT"
458 030007 254 00 1 00 027775 DDTSRT: JRST @DDTLNK ;DDT START
459
460 030010 254 00 0 00 030621 BEGIN1: JRST STARTA ;LOOP START(END OF PASS COMES HERE)
461 030011 254 00 1 00 027777 SBINIT: JRST @SUBLNK ;PMGINT LINKAGE
462 030012 000000 000000 RETURN: 0 ;RETURN ADDRESS STORAGE
463
464 030013 254000 030000 START1: SADR7 ;OPTIONAL STARTING ADR/INSTRUCTIONS
465 030014 254000 030000 START2: SADR8 ; "
466 030015 254000 030000 START3: SADR9 ; "
467 030016 254000 030000 START4: SADR10 ; "
468 030017 254000 030000 START5: SADR11 ; "
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 2
FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0024
469 S^;*********************************************************************^
470 ;*PROGRAM FIXED PARAMETER AREA
471 S^;*********************************************************************^
472
473 030020 444153 415500 PNTNAM: PAREA3 ;SIXBIT PROGRAM NAME
474 030021 645560 000000 PNTEXT: PAREA4 ;SIXBIT PROGRAM EXTENSION
475 030022 000000 000000 RANDBS: PAREA1 ;RANDOM BASE NUMBER
476 030023 000000 000000 SWTEXR: PAREA2 ;SYSTEM EXERCISER SWITCHES
477 030024 000000 001000 ITRCNT: ITERAT ;PROGRAM ITERATIONS
478 030025 000000 030602 $PNAME: PGMNAM ;POINTER TO PROGRAMS NAME
479 030026 000000 000002 $PVER: MCNVER,,DECVER ;MCN & DEC VERSION LEVEL
480 030027 000000 030000 $MODVL: MODDVL ;DEVICE CODE CHANGE LOWER LIMIT
481 030030 000000 030000 $MODVU: MODDVU ;DEVICE CODE CHANGE UPPER LIMIT
482 030031 777777 777777 $EMODE: IFNDEF EXCASB,<0> IFDEF EXCASB,<-1> ;EXEC ALLOWED
483 030032 777777 777777 $UMODE: IFNDEF USRASB,<0> IFDEF USRASB,<-1> ;USER ALLOWED
484 030033 000000 000000 $DSKUP: IFNDEF DSKUPD,<0> IFDEF DSKUPD,<-1> ;DISK UPDATE MODE
485 030034 000000 000000 $MMAP: IFNDEF MEMMAP,<0> IFDEF MEMMAP,<-1> ;ALLOW MEMORY RTNS
486 030035 000000 000000 PAREA7: PAREA5 ;OPTIONAL PARAMETER
487 030036 000000 000000 PAREA8: PAREA6 ;OPTIONAL PARAMETER
488
489 S^;*********************************************************************^
490 ;*PROGRAM VARIABLE PARAMETER AREA
491 S^;*********************************************************************^
492
493 030037 000000 000000 USER: 0 ; 0 = EXEC, -1 = USER MODE FLAG
494 030040 000000 000000 KAIFLG: 0 ;PROCESSOR TYPE, 0 = KA10, -1 = KI10
495 030041 000000 000000 KLFLG: 0 ;PROCESSOR TYPE, 0 = KA/KI, -1 = KL10
496 030042 777777 777777 MONFLG: -1 ;DIAG MONITOR SPECIAL USER FLAG
497 030043 000000 000000 MONCTL: 0 ;DIAG MON/SYS EXR FLAG
498 030044 000000 000000 MONTEN: 0 ;-1= LOADED BY 10
499 030045 000000 000000 CLOCKF: 0 ;CLOCK TICKED FLAG
500 030046 000000 000000 CONSW: 0 ;CONSOLE SWITCH SETTINGS
501 030047 000000 000000 PASCNT: 0 ;PROGRAM PASS COUNT
502 030050 000000 000000 RUNFLG: 0 ;PROGRAM RUN FLAG
503 030051 000000 000000 TESTPC: 0 ;SUBTEST PC
504 030052 000000 000000 ERRPC: 0 ;ERROR PC
505 030053 000000 000000 ERRTLS: 0 ;ERROR TOTALS
506 030054 000000 000000 TICKS: 0 ;PROGRAM RUNNING TIME
507 030055 000000 000000 MARGIN: 0 ;KI10 MARGIN WORD VALUE
508 030056 000000 000000 $ONETM: 0 ;SUBROUTINE INITIALIZATION FLAG
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 3
FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0025
509 S^;*********************************************************************^
510 ;*SPECIAL PROGRAM DISPATCH ADDRESSES
511 S^;*********************************************************************^
512
513 030057 037 12 0 00 000004 BEGEND: ENDUUO ;END OF PASS
514 030060 254 00 0 00 030010 $BEND1: JRST BEGIN1 ;KEEP RUNNING PROGRAM
515 030061 037 16 0 00 000004 $BEND2: EOPUUO ;END OF PROGRAM - NO RETURN
516 030062 254000 030000 CNTLC: SADR5 ;CONTROL C XFER ADDRESS
517 030063 254000 030000 ALTMGO: SADR6 ;ALTMODE XFER ADDRESS
518 030064 CPOPJ1: ;SKIP RETURN
519 030064 350 00 0 17 000000 UUOSKP: AOS (P) ;SKIP RETURN FROM UUO
520 030065 CPOPJ: ;NON-SKIP REGULAR RETURN
521 030065 263 17 0 00 000000 UUOEXT: RTN ;UUO RETURN
522 030066 255 00 0 00 000000 UUORTN: JFCL ;ADDITIONAL USERS UUO ROUTINE
523 030067 255 00 0 00 000000 $UORTX: JFCL ;ADDITIONAL UUO LINKAGE
524 030070 255 00 0 00 000000 $UUOER: JFCL ;INITED AS (JRST $UOERX)
525 030071 255 00 0 00 000000 $ITRHL: JFCL ;ADDITIONAL INTERRUPT LINKAGE
526 030072 255 00 0 00 000000 $ITRX1: JFCL ; "
527 030073 255 00 0 00 000000 $USRHL: JFCL ; "
528 030074 255 00 0 00 000000 $RSRTX: JFCL ;ADDITIONAL POWER FAIL LINKAGE
529 030075 255 00 0 00 000000 $RSRTY: JFCL ; "
530 030076 255 00 0 00 000000 RESRT1: JFCL ; INITED AS (JRST RESRTX)
531 030077 255 00 0 00 000000 RESRT2: JFCL ; "
532 030100 255 00 0 00 000000 $PARER: JFCL ;ADDITIONAL PARITY ERROR LINKAGE
533 030101 255 00 0 00 000000 ERMORE: JFCL ;ADDITIONAL ERROR HANDLER LINKAGE
534 030102 254 04 0 00 030102 HALT . ;IMPROPER TRANSFER HALT
535
536 030103 000000 000000 $PSHER: 0 ;INITED AS (JRST PSHERR)
537 030104 000000 000000 ITRCH1: 0 ;PC & FLAGS OF CURRENT INTERRUPT
538 030105 000000 000000 0 ;INITED AS (JRST $ITRC1)
539
540 S^;*********************************************************************^
541 ;*PROCESSOR CONTROL STORAGE
542 S^;*********************************************************************^
543
544 030106 000000 000000 $ACC0: 0 ;INTERRUPT SAVED AC0
545 030107 000000 000000 $SVPI: 0 ;INTERRUPT SAVED PI
546 030110 000000 000000 $SVAPR: 0 ;INTERRUPT SAVED APR
547 030111 000000 000000 $SVPAG: 0 ;INTERRUPT SAVED PAG (DATAI)
548 030112 000000 000000 $SPAG1: 0 ;INTERRUPT SAVED PAG (CONI)
549
550 030113 000000 000000 $SVUUO: 0 ;CURRENT USERS UUO
551 030114 000000 000000 $SVUPC: 0 ;PC OF CURRENT USERS UUO
552
553 030115 000000 000000 REPTU: 0 ;REPEAT UUO ITERATIONS
554 030116 000000 000000 SCOPE: 0 ;ERROR HANDLER SCOPE LOOP FLAG
555 030117 000000 000000 %CORFLG:0 ; " CORRECT FLAG
556 030120 000000 000000 %COREC: 0 ; " CORRECT DATA
557 030121 000000 000000 %ACTFL: 0 ; " ACTUAL FLAG
558 030122 000000 000000 %ACTUL: 0 ; " ACTUAL DATA
559 030123 000000 000000 %DISCR: 0 ; " DISCREPENCY DATA
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 4
FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0026
560 S^;*********************************************************************^
561 ;*UUO DISPATCH TABLE
562 S^;*********************************************************************^
563 XLIST
564 LIST
565 030124 040530 030070 UUODIS: LUUO1,,$UUOER
566 030125 040530 040530 LUUO3,,LUUO2
567 030126 040530 040530 LUUO5,,LUUO4
568 030127 040530 040530 LUUO7,,LUUO6
569 030130 040530 040530 LUUO11,,LUUO10
570 030131 040530 040530 LUUO13,,LUUO12
571 030132 030070 030070 LUUO15,,LUUO14
572 030133 030070 030070 LUUO17,,LUUO16
573 030134 030070 030070 LUUO21,,LUUO20
574 030135 030070 030070 LUUO23,,LUUO22
575 030136 030070 030070 LUUO25,,LUUO24
576 030137 030070 030070 LUUO27,,LUUO26
577 030140 030070 030070 LUUO31,,LUUO30
578 030141 030070 030070 LUUO33,,LUUO32
579
580 S^;*********************************************************************^
581 ;*MEMORY MANAGMENT STORAGE
582 S^;*********************************************************************^
583
584 030142 000000 000000 DF22F: 0 ;DF10 CONTROL FLAG, 0 = 18, -1 = 22 BIT
585 030143 000000 000000 MAPNEW: 0 ;MEMORY MAPPING CONTROL FLAG, -1 = 4096K MAPPING
586 030144 000000 000000 MEMTOT: 0 ;TOTAL MEMORY SIZE IN K (1024.)
587 030145 000000 000000 MEMLOW: 0 ;LOWEST USABLE MEMORY
588 030146 MEMSIZ: BLOCK ^D41 ;MEMORY SEGMENT POINTER TABLE
589
590 S^;*********************************************************************^
591 ;*PRINT CONTROL STORAGE
592 S^;*********************************************************************^
593
594 030217 000000 000000 PNTFLG: 0 ;PRINT FLAG, -1 WHILE IN PRINT ROUTINE
595 030220 000000 000000 PNTENB: 0 ;PRINT ENABLE
596 030221 000000 000000 PDISF: 0 ;PRINT DISABLED FLAG
597 030222 000000 000000 PNTINH: 0 ;INHIBIT PRINT INPUT CHECKS
598 030223 000000 000000 PNTSPC: 0 ;PRINT SPACE CONTROL
599 030224 000000 000000 OPTIME: 0 ;TYPE-IN WAIT TIME
600 030225 000000 000000 $TWCNT: 0 ;TIME WAITED
601 030226 000000 000000 $DVOFF: 0 ;LOGICAL DEVICE INITED FLAG
602 030227 000000 000000 TTYFIL: 0 ;TTY EXEC FILLERS FLAG
603 030230 000000 000000 TTYSPD: 0 ;TTY EXEC BAUD RATE
604 030231 000000 000000 $TTCHR: 0 ;ACTUAL TYPED IN CHAR
605 030232 000000 000000 $CHRIN: 0 ;UPPER CASED & PARITY STRIPPED CHAR
606 030233 000000 000000 $TYPNB: 0 ;TYPED IN NUMBER
607 030234 000000 000000 $CRLF: 0 ;FREE CR/LF FLAG
608 030235 000000 000000 $TABF: 0 ;TAB CONVERSION FLAG
609 030236 000000 000000 $FFF: 0 ;FORM FEED CONVERSION FLAG
610 030237 000000 000000 $VTF: 0 ;VERTICAL TAB CONVERSION FLAG
611 030240 000000 000000 USRLFF: 0 ;USER LF FILLERS
612 030241 000000 000000 USRCRF: 0 ;USER CR FILLERS
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 5
FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0027
613 S^;*********************************************************************^
614 ;*THE FOLLOWING MISCELLANEOUS PRINT CHARACTERS ARE INCLUDED
615 ;*TO FACILITATE PRINTING AND ARE CALLED AS FOLLOWS:
616 ;* MOVEI NAME
617 ;* PNTA ;OR PNTAF
618 S^;*********************************************************************^
619
620 030242 CRLF: ASCII/
621 030242 015 012 000 000 000 /
622 030243 CRLF2: ASCII/
623
624 030243 015 012 015 012 000 /
625 030244 054 000 000 000 000 COMMA: ASCII/,/
626 030245 056 000 000 000 000 PERIOD: ASCII/./
627 030246 040 000 000 000 000 SPACE: ASCII/ /
628 030247 011 000 000 000 000 TAB: ASCII/ /
629 030250 MINUS:
630 030250 055 000 000 000 000 HYPEN: ASCII/-/
631 030251 053 000 000 000 000 PLUS: ASCII/+/
632 030252 052 000 000 000 000 AST: ASCII/*/
633 030253 100 000 000 000 000 ATSIN: ASCII/@/
634 030254 050 000 000 000 000 LFP: ASCII/(/
635 030255 051 000 000 000 000 RTP: ASCII/)/
636 030256 007 0000000000 BELL: BYTE (7) 007
637 030257 077 000 000 000 000 QUEST: ASCII/?/
638 030260 057 000 000 000 000 SLASH: ASCII!/!
639 030261 044 000 000 000 000 DOLLAR: ASCII/$/
640 030262 000000 000012 RADIX: ^D10 ;DECIMAL PRINT RADIX
641 030263 000000 000040 RADLSP: 40 ;DECIMAL PRINT LEADING CHAR
642 030264 000000 000012 RADLSC: ^D10 ;DECIMAL PRINT LEADING CHAR COUNT
643
644 S^;*********************************************************************^
645 ;*USER MODE OUTPUT FILE INFORMATION
646 S^;*********************************************************************^
647
648 030265 $OBUF: BLOCK 3 ;LOGICAL FILE OUTPUT BUFFER HEADER
649 030270 60 62 51 56 64 00 $OUTNM: SIXBIT /PRINT/ ;FILE NAME
650 030271 60 56 64 00 00 00 $OUTEX: SIXBIT /PNT/ ;FILE NAME EXTENSION
651 030272 BLOCK 2
652
653 S^;*********************************************************************^
654 ;*DISK UPDATE MODE FILE INFORMATION
655 S^;*********************************************************************^
656
657 030274 $IBUF: BLOCK 3
658 030277 60 62 51 56 64 00 $INNM: SIXBIT /PRINT/
659 030300 60 56 64 00 00 00 $INEXT: SIXBIT /PNT/
660 030301 BLOCK 2
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 6
FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0028
661 S^;*********************************************************************^
662 ;*PUSHDOWN LIST CONTROL INFORMATION
663 S^;*********************************************************************^
664
665 030303 777577 030303 PLIST: PLIST-PLISTE,,PLIST
666 030304 PLISTS: BLOCK 200
667 030504 000000 000000 PLISTE: 0 ;END OF PUSHDOWN LIST
668
669 S^;*********************************************************************^
670 ;*POWER LINE CLOCK FREQUENCY FLAG
671 S^;*********************************************************************^
672
673 030505 000000 000000 CYCL60: 0 ;0 = 60, -1 = 50 CYCLE
674
675 S^;*********************************************************************^
676 ;*KL10 CACHE CONTROL FLAGS
677 S^;*********************************************************************^
678
679 030506 000000 000000 CSHFLG: 0 ;ALLOW CACHE IF 0
680 030507 000000 000000 CSHMEM: 0 ;CACHE MEMORY SEGMENTS IF 0
681
682 S^;*********************************************************************^
683 ;*NUMBER INPUT DIGIT FLAG
684 S^;*********************************************************************^
685
686 030510 000000 000000 TTNBRF: 0 ;-1 IF ANY DIGIT TYPED
687
688 S^;*********************************************************************^
689 ;*KL10 & KI10 "INHPAG" SWITCH PAGING PREVENTION
690 S^;*********************************************************************^
691
692 030511 000000 000000 PVPAGI: 0 ;IF NON-ZERO, OVERRIDE "INHPAG" SWITCH ACTION
693
694 S^;*********************************************************************^
695 ;*ERROR REPORTING ROUTINE ADDITIONAL USERS CONTROL INSTRUCTIONS
696 S^;*********************************************************************^
697
698 030512 000000 000000 %ERHI1: 0 ;IF NON-ZERO, XCT'D AT START OF %ERUUO
699 030513 000000 000000 %ERHI2: 0 ;IF NON-ZERO, XCT'D AT END OF %ERUUO
700 030514 000000 000000 %ERHI3: 0 ;IF NON-ZERO, XCT'D AFTER "PC" OF %ERUUO
701
702 S^;*********************************************************************^
703 ;*SPECIAL USERS UUO INTERCEPT INSTRUCTION
704 S^;*********************************************************************^
705
706 030515 000000 000000 $$UUO: 0 ;IF NON-ZERO, XCT'D AT START OF $UORTN
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 7
FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0029
707 S^;*********************************************************************^
708 ;*KL10 PROCESSOR TYPE FLAG, 0=P0, 1=BBD NEW, 2=BBD OLD
709 S^;*********************************************************************^
710
711 030516 000000 000000 KLTYP: 0
712
713 S^;*********************************************************************^
714 ;*SPECIAL USERS MUUO INTERCEPT INSTRUCTION
715 S^;*********************************************************************^
716
717 030517 000000 000000 $$MUUO: 0 ;IF NON-ZERO, XCT'D AT START OF MUUOER
718
719 S^;*********************************************************************^
720 ;*SPECIAL USERS USER MODE OUTPUT ERROR INTERCEPT INSTUCTION
721 S^;*********************************************************************^
722
723 030520 000000 000000 $$OUTER:0 ;IF NON-ZERO, XCT'D AT END OF USER MODE ERROR
724
725 S^;*********************************************************************^
726 ;*"SWITCH" CALL USAGE CONTROL
727 S^;*********************************************************************^
728
729 030521 000000 000000 $$TOGGLE:0 ;IF NON-ZERO, USE C(CONSW) FOR SWITCHES
730
731 S^;*********************************************************************^
732 ;*SPECIAL USERS ALTMODE SWITCH CALL INTERCEPT INSTRUCTIONS
733 S^;*********************************************************************^
734
735 030522 000000 000000 $$TAX1: 0 ;IF NON-ZERO, XCT'D AT START OF ALTMODE SWITCH CALL
736 030523 000000 000000 $$TAX2: 0 ;IF NON-ZERO, XCT'D AT END OF ALTMODE SWITCH CALL
737
738 S^;*********************************************************************^
739 ;*SPECIAL FUTURE EXPANSION ROOM
740 ;*IF ANY FIXED AREA TAGS ARE ADDED, REDUCE THE SIZE OF
741 ;*THIS BLOCK STATEMENT ACCORDINGLY. THIS MUST BE DONE
742 ;*SO THAT PREVIOUS FIXED ASSIGNMENTS DO NOT CHANGE.
743 S^;*********************************************************************^
744
745 030524 BLOCK 53 ;HOPEFULLY THIS IS ENOUGH FOREVER
746
747 S^;*********************************************************************^
748 ;*END OF FIXED STORAGE
749 S^;*********************************************************************^
750
751 030577 $ENDFX=<PLISTE+100>&<777700>-1
752 030577 LOC $ENDFX
753 030577 000000 000000 ENDFIX: 0 ;END OF FIXED STORAGE
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 1
DAKAMM MAC 20-JAN-77 11:34 DIAGNOSTIC SECTION SEQ 0030
754 SUBTTL DIAGNOSTIC SECTION
755
756 030600 037 05 0 00 000002 EXIT: DROPDV ;CLOSE LOGICAL OUTPUT FILE
757 030601 000000 030600 EXIT
758
759 030602 PGMNAM: ASCIZ/
760 030602 015 012 120 104 120 PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) [DAKAM]
761 030603 055 061 060 040 040
762 030604 113 101 061 060 040
763 030605 102 101 123 111 103
764 030606 040 111 116 123 124
765 030607 122 125 103 124 111
766 030610 117 116 040 104 111
767 030611 101 107 116 117 123
768 030612 124 111 103 040 050
769 030613 061 063 051 040 133
770 030614 104 101 113 101 115
771 030615 135 015 012 000 000 /
772
773 ;INITIALIZE SUBROUTINES
774
775 030616 265 00 0 00 030011 START: PGMINT
776 030617 200 00 0 00 040721 MOVE [ASCIZ/AM/]
777 030620 202 00 0 00 040643 MOVEM TLET ;INITIALIZE TEST LETTER
778
779 030621 254 00 0 00 030622 STARTA: JRST G00 ;GO PERFORM DIAGNOSTIC
780
781 ; GENERAL DESCRIPTION
782 ;PART IA -BTYE LOGIC TESTS
783 ;PART IB -GENERAL BYTE TEST
784 ;PART II -GENERAL BLOCK TRANSFER TEST
785 ;PART III -GENERAL JFFO TEST
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 2
DAKAMM MAC 20-JAN-77 11:34 PART IA - BYTE MANIPULATION SEQ 0031
786 SUBTTL PART IA - BYTE MANIPULATION
787
788
789 ;PART IA - BYTE LOGIC TESTS
790 ;INST-IBP
791 ;TEST ABILITY TO FCE PSE AND DECODE
792 ;PFIELD=14
793 ;SFIELD=6
794 ;BYTEWORD=0,-1
795 ;DESTAC=0
796 ;AN ERROR WILL OCCUR IF AC DIFFERS FROM 0
797 ;FOLLOWING IBP
798
799 000005 G00: AC=5
800 SAVEAC (1,1)^
801 030622 201 07 0 00 030622 MOVEI AC+2,. ;SAVE TEST PC
802 030623 202 07 0 00 030051 MOVEM AC+2,TESTPC
803 030624 201 07 0 00 000007 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
804 030625 202 07 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
805
806 030626 205 06 0 00 140600 G100: MOVSI AC+1,140600 ;SETUP PNTR WORD
807 030627 201 00 0 00 777777 MOVEI ,-1 ;SETUP BYTE WORD
808 030630 400 05 0 00 000000 SETZ AC, ;SETUP DEST AC
809 030631 133 00 0 00 000006 IBP ,<AC+1>&17 ;INC PNTR WORD
810 030632 332 00 0 00 000005 SKIPE AC&17 ;TEST AC DIFFERS FROM 0
811 030633 003 05 0 00 000101 ER3 AC,101 ;FCE PSE FAILED
812 030634 321 07 0 00 030626 JUMPL AC+2,G100 ;LOOP ON ERROR SWITCH
813
814 ;INST-IBP
815 ;TEST ABILITY TO INCREMENT BYTE PNTR
816 ;WITHOUT AFFECTING BYTE WORD
817 ;PFIELD=14
818 ;SFIELD=6
819 ;BYTE ADDRESS=AC0
820 ;AN ERROR WILL OCCUR IF C(AC0) DIFFERS
821 ;FROM ORIGINAL FOLLOWING IBP
822
823 000014 AC=14
824 SAVEAC (1,1)^
825 030635 201 16 0 00 030635 MOVEI AC+2,. ;SAVE TEST PC
826 030636 202 16 0 00 030051 MOVEM AC+2,TESTPC
827 030637 201 16 0 00 000016 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
828 030640 202 16 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
829
830 030641 474 12 0 00 000000 G200: SETO AC-2, ;SETUP FOR COMPARISON
831 030642 205 15 0 00 140600 MOVSI AC+1,140600 ;SETUP PNTR WORD
832 030643 474 00 0 00 000000 SETO ;SETUP BYTE WORD (AC0)
833 030644 133 00 0 00 000015 IBP ,<AC+1>&17 ;INC BYTE PNTR
834 030645 312 00 0 00 000012 CAME ,<AC-2>&17 ;TEST BYTE WORD
835 030646 012 00 0 00 000201 ER12 ,201 ;BYTE WORD FAILED
836 030647 321 16 0 00 030641 JUMPL AC+2,G200 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 3
DAKAMM MAC 20-JAN-77 11:34 PART IA - BYTE MANIPULATION SEQ 0032
837 ;INST-IBP
838 ;PFIELD=22
839 ;SFIELD=6
840 ;AN ERROR WILL OCCUR IF POINTER IS NOT INCREMENTED
841
842 000013 AC=13
843 SAVEAC (1,1)^
844 030650 201 15 0 00 030650 MOVEI AC+2,. ;SAVE TEST PC
845 030651 202 15 0 00 030051 MOVEM AC+2,TESTPC
846 030652 201 15 0 00 000015 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
847 030653 202 15 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
848
849 030654 205 11 0 00 060600 G300: MOVSI AC-2,060600 ;SETUP FOR COMPARISON
850 030655 205 14 0 00 140600 MOVSI AC+1,140600 ;SETUP PNTR WORD
851 030656 133 00 0 00 000014 IBP ,<AC+1>&17 ;INCREMENT PNTR
852 030657 312 14 0 00 000011 CAME AC+1,<AC-2>&17 ;TEST PNTR INC
853 030660 005 14 0 00 000301 ER5 AC+1,301 ;POINTER FAILED
854 030661 321 15 0 00 030654 JUMPL AC+2,G300 ;LOOP ON ERROR SWITCH
855
856 ;INST - IBP
857 ;PFIELD=16
858 ;SFIELD=6
859
860 000012 AC=12
861 SAVEAC (1,1)^
862 030662 201 14 0 00 030662 MOVEI AC+2,. ;SAVE TEST PC
863 030663 202 14 0 00 030051 MOVEM AC+2,TESTPC
864 030664 201 14 0 00 000014 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
865 030665 202 14 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
866
867 030666 205 10 0 00 100600 G400: MOVSI AC-2,100600 ;SETUP FOR COMPARISON
868 030667 205 13 0 00 160600 MOVSI AC+1,160600 ;SETUP PNTR
869 030670 133 00 0 00 000013 IBP ,<AC+1>&17 ;INCREMENT PNTR
870 030671 312 13 0 00 000010 CAME AC+1,<AC-2>&17 ;TEST PFIELD
871 030672 005 13 0 00 000401 ER5 AC+1,401 ;POINTER FAILED
872 030673 321 14 0 00 030666 JUMPL AC+2,G400 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 4
DAKAMM MAC 20-JAN-77 11:34 PART IA - BYTE MANIPULATION SEQ 0033
873 ;INST-IBP
874 ;TEST ABILITY TO TRANSFER INCREMENTED
875 ;PFIELD
876 ;TEST JAM-ZERO'S
877 ;PFIELD=77
878 ;SFIELD=1,2,4,10,20,40
879 ;TEST JAM-ONE'S
880 ;PFIELD=6,14,30,60,40
881 ;SFIELD=3,6,14,30,20
882
883 000010 AC=10
884 SAVEAC (1,1)^
885 030674 201 12 0 00 030674 MOVEI AC+2,. ;SAVE TEST PC
886 030675 202 12 0 00 030051 MOVEM AC+2,TESTPC
887 030676 201 12 0 00 000012 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
888 030677 202 12 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
889
890 000600 SN=600
891 000040 ZZ=40
892 004000 YY=4000
893
894 G600: REPEAT ^D6,<
895 SN=SN+1
896 ZZ=ZZ+ZZ
897 YY=YY+YY
898 MOVSI AC-2,770000+ZZ-YY ;SETUP FOR COMPARISON
899 MOVSI AC+1,770000+ZZ ;SETUP PNTR WORD
900 IBP ,<AC+1>&17 ;INCREMENT BYTE PNTR
901 CAME AC+1,<AC-2>&17 ;TEST PFIELD
902 ER5 AC+1,SN ;BIT UNDER TEST FAILED
903 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH
904 >
905
906 000601 SN=SN+1
907 000100 ZZ=ZZ+ZZ
908 010000 YY=YY+YY
909 030700 205 06 0 00 760100 MOVSI AC-2,770000+ZZ-YY ;SETUP FOR COMPARISON
910 030701 205 11 0 00 770100 MOVSI AC+1,770000+ZZ ;SETUP PNTR WORD
911 030702 133 00 0 00 000011 IBP ,<AC+1>&17 ;INCREMENT BYTE PNTR
912 030703 312 11 0 00 000006 CAME AC+1,<AC-2>&17 ;TEST PFIELD
913 030704 005 11 0 00 000601 ER5 AC+1,SN ;BIT UNDER TEST FAILED
914 030705 321 12 0 00 030700 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH
915
916
917 000602 SN=SN+1
918 000200 ZZ=ZZ+ZZ
919 020000 YY=YY+YY
920 030706 205 06 0 00 750200 MOVSI AC-2,770000+ZZ-YY ;SETUP FOR COMPARISON
921 030707 205 11 0 00 770200 MOVSI AC+1,770000+ZZ ;SETUP PNTR WORD
922 030710 133 00 0 00 000011 IBP ,<AC+1>&17 ;INCREMENT BYTE PNTR
923 030711 312 11 0 00 000006 CAME AC+1,<AC-2>&17 ;TEST PFIELD
924 030712 005 11 0 00 000602 ER5 AC+1,SN ;BIT UNDER TEST FAILED
925 030713 321 12 0 00 030706 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH
926
927
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 4-1
DAKAMM MAC 20-JAN-77 11:34 PART IA - BYTE MANIPULATION SEQ 0034
928 000603 SN=SN+1
929 000400 ZZ=ZZ+ZZ
930 040000 YY=YY+YY
931 030714 205 06 0 00 730400 MOVSI AC-2,770000+ZZ-YY ;SETUP FOR COMPARISON
932 030715 205 11 0 00 770400 MOVSI AC+1,770000+ZZ ;SETUP PNTR WORD
933 030716 133 00 0 00 000011 IBP ,<AC+1>&17 ;INCREMENT BYTE PNTR
934 030717 312 11 0 00 000006 CAME AC+1,<AC-2>&17 ;TEST PFIELD
935 030720 005 11 0 00 000603 ER5 AC+1,SN ;BIT UNDER TEST FAILED
936 030721 321 12 0 00 030714 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH
937
938
939 000604 SN=SN+1
940 001000 ZZ=ZZ+ZZ
941 100000 YY=YY+YY
942 030722 205 06 0 00 671000 MOVSI AC-2,770000+ZZ-YY ;SETUP FOR COMPARISON
943 030723 205 11 0 00 771000 MOVSI AC+1,770000+ZZ ;SETUP PNTR WORD
944 030724 133 00 0 00 000011 IBP ,<AC+1>&17 ;INCREMENT BYTE PNTR
945 030725 312 11 0 00 000006 CAME AC+1,<AC-2>&17 ;TEST PFIELD
946 030726 005 11 0 00 000604 ER5 AC+1,SN ;BIT UNDER TEST FAILED
947 030727 321 12 0 00 030722 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH
948
949
950 000605 SN=SN+1
951 002000 ZZ=ZZ+ZZ
952 200000 YY=YY+YY
953 030730 205 06 0 00 572000 MOVSI AC-2,770000+ZZ-YY ;SETUP FOR COMPARISON
954 030731 205 11 0 00 772000 MOVSI AC+1,770000+ZZ ;SETUP PNTR WORD
955 030732 133 00 0 00 000011 IBP ,<AC+1>&17 ;INCREMENT BYTE PNTR
956 030733 312 11 0 00 000006 CAME AC+1,<AC-2>&17 ;TEST PFIELD
957 030734 005 11 0 00 000605 ER5 AC+1,SN ;BIT UNDER TEST FAILED
958 030735 321 12 0 00 030730 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH
959
960
961 000606 SN=SN+1
962 004000 ZZ=ZZ+ZZ
963 400000 YY=YY+YY
964 030736 205 06 0 00 374000 MOVSI AC-2,770000+ZZ-YY ;SETUP FOR COMPARISON
965 030737 205 11 0 00 774000 MOVSI AC+1,770000+ZZ ;SETUP PNTR WORD
966 030740 133 00 0 00 000011 IBP ,<AC+1>&17 ;INCREMENT BYTE PNTR
967 030741 312 11 0 00 000006 CAME AC+1,<AC-2>&17 ;TEST PFIELD
968 030742 005 11 0 00 000606 ER5 AC+1,SN ;BIT UNDER TEST FAILED
969 030743 321 12 0 00 030736 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH
970
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 5
DAKAMM MAC 20-JAN-77 11:34 PART IA - BYTE MANIPULATION SEQ 0035
971 000011 AC=11
972 SAVEAC (1,1)^
973 030744 201 13 0 00 030744 MOVEI AC+2,. ;SAVE TEST PC
974 030745 202 13 0 00 030051 MOVEM AC+2,TESTPC
975 030746 201 13 0 00 000013 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
976 030747 202 13 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
977
978 ;TEST AR1(1)
979 030750 205 07 0 00 202000 G700: MOVSI AC-2,202000 ;SETUP FOR COMPARISON
980 030751 205 12 0 00 402000 MOVSI AC+1,402000 ;SETUP PNTR WORD
981 030752 133 00 0 00 000012 IBP ,<AC+1>&17 ;INCREMENT PNTR
982 030753 312 12 0 00 000007 CAME AC+1,<AC-2>&17 ;TEST PFIELD
983 030754 005 12 0 00 000701 ER5 AC+1,701 ;POINTER FAILED TO INCREMENT CORRECTLY
984 030755 321 13 0 00 030750 JUMPL AC+2,G700 ;LOOP ON ERROR SWITCH
985
986 ;TEST AR2(1)
987 030756 205 07 0 00 303000 G1000: MOVSI AC-2,303000 ;SETUP FOR COMPARISON
988 030757 205 12 0 00 603000 MOVSI AC+1,603000 ;SETUP PNTR
989 030760 133 00 0 00 000012 IBP ,<AC+1>&17 ;INCREMENT PNTR
990 030761 312 12 0 00 000007 CAME AC+1,<AC-2>&17 ;TEST PFIELD
991 030762 005 12 0 00 001001 ER5 AC+1,1001 ;POINTER FAILED TO INCREMENT CORRECTLY
992 030763 321 13 0 00 030756 JUMPL AC+2,G1000 ;LOOP ON ERROR SWITCH
993
994 030764 205 07 0 00 141400 G1100: MOVSI AC-2,141400 ;SETUP FOR COMPARISON
995 030765 205 12 0 00 301400 MOVSI AC+1,301400 ;SETUP PNTR
996 030766 133 00 0 00 000012 IBP ,<AC+1>&17 ;INCREMENT PNTR
997 030767 312 12 0 00 000007 CAME AC+1,<AC-2>&17 ;TEST PFIELD
998 030770 005 12 0 00 001101 ER5 AC+1,1101 ;POINTER FAILED TO INCREMENT CORRECTLY
999 030771 321 13 0 00 030764 JUMPL AC+2,G1100 ;LOOP ON ERROR SWITCH
1000
1001 ;TEST AR4(1)
1002 030772 205 07 0 00 060600 G1200: MOVSI AC-2,060600 ;SETUP FOR COMPARISON
1003 030773 205 12 0 00 140600 MOVSI AC+1,140600 ;SETUP PNTR
1004 030774 133 00 0 00 000012 IBP ,<AC+1>&17 ;INCREMENT PNTR
1005 030775 312 12 0 00 000007 CAME AC+1,<AC-2>&17 ;TEST PFIELD
1006 030776 005 12 0 00 001201 ER5 AC+1,1201 ;POINTER FAILED TO INCREMENT CORRECTLY
1007 030777 321 13 0 00 030772 JUMPL AC+2,G1200 ;LOOP ON ERROR SWITCH
1008
1009 ;TEST AR5(1)
1010 031000 205 07 0 00 030300 G1300: MOVSI AC-2,030300 ;SETUP FOR COMPARISON
1011 031001 205 12 0 00 060300 MOVSI AC+1,060300 ;SETUP PNTR
1012 031002 133 00 0 00 000012 IBP ,<AC+1>&17 ;INCREMENT PNTR
1013 031003 312 12 0 00 000007 CAME AC+1,<AC-2>&17 ;TEST P FIELD
1014 031004 005 12 0 00 001301 ER5 AC+1,1301 ;POINTER FAILED TO INCREMENT CORRECTLY
1015 031005 321 13 0 00 031000 JUMPL AC+2,G1300 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 6
DAKAMM MAC 20-JAN-77 11:34 PART IA - BYTE MANIPULATION SEQ 0036
1016 ;INST-IBP
1017 ;PFIELD=5
1018 ;SFIELD=10
1019
1020 000005 AC=5
1021 SAVEAC (1,1)^
1022 031006 201 07 0 00 031006 MOVEI AC+2,. ;SAVE TEST PC
1023 031007 202 07 0 00 030051 MOVEM AC+2,TESTPC
1024 031010 201 07 0 00 000007 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
1025 031011 202 07 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
1026
1027 031012 205 03 0 00 341000 G1400: MOVSI AC-2,341000 ;SETUP FOR COMPARISON
1028 031013 205 06 0 00 051000 MOVSI AC+1,051000 ;SETUP PNTR WORD
1029 031014 133 00 0 00 000006 IBP ,<AC+1>&17 ;INCREMENT PNPR
1030 031015 620 06 0 00 000001 TRZ AC+1,1 ;CREAR ADDRESS FIELD OF POINTER
1031 031016 312 06 0 00 000003 CAME AC+1,<AC-2>&17 ;TEST P FIELD
1032 031017 005 06 0 00 001401 ER5 AC+1,1401 ;POINTER FAILED
1033 031020 321 07 0 00 031012 JUMPL AC+2,G1400 ;LOOP ON ERROR SWITCH
1034 PAGE
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 6-1
DAKAMM MAC 20-JAN-77 11:34 PART IA - BYTE MANIPULATION SEQ 0037
1035 ;INST - IBP
1036 ;TEST ABILITY TO TRANSFER PFIELD
1037 ;PRELIMINARY - TEST FOR PRESENCE
1038 ; OF PULSE
1039 ;PFIELD=16
1040 ;SFIELD=6
1041
1042 000005 AC=5
1043 SAVEAC (1,1)^
1044 031021 201 07 0 00 031021 MOVEI AC+2,. ;SAVE TEST PC
1045 031022 202 07 0 00 030051 MOVEM AC+2,TESTPC
1046 031023 201 07 0 00 000007 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
1047 031024 202 07 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
1048
1049 031025 205 03 0 00 100600 G1500: MOVSI AC-2,100600 ;SETUP FOR COMPARISON
1050 031026 205 06 0 00 160600 MOVSI AC+1,160600 ;SETUP PNTR WORD
1051 031027 133 00 0 00 000006 IBP ,<AC+1>&17 ;INCREMENT BYTE PNTR
1052 031030 620 06 0 00 000001 TRZ AC+1,1 ;CLEAR BIT 35
1053 031031 312 06 0 00 000003 CAME AC+1,<AC-2>&17 ;TEST PFIELD
1054 031032 005 06 0 00 001501 ER5 AC+1,1501 ;POINTER FAILED
1055 031033 321 07 0 00 031025 JUMPL AC+2,G1500 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 7
DAKAMM MAC 20-JAN-77 11:34 PART IA - BYTE MANIPULATION SEQ 0038
1056 ;INST-IBP
1057 ;TEST ABILITY TO TRANSFER PFIELD
1058 ;TEST ABILITY TO SET INDIVIDUAL
1059 ;SC BITS 3-8
1060 ;PFIELD=1,2,4,10,20,40
1061 ;SFIELD=1,2,4,10,20,40
1062
1063 000014 AC=14
1064 SAVEAC (1,1)^
1065 031034 201 16 0 00 031034 MOVEI AC+2,. ;SAVE TEST PC
1066 031035 202 16 0 00 030051 MOVEM AC+2,TESTPC
1067 031036 201 16 0 00 000016 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
1068 031037 202 16 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
1069 ;TEST SC BIT 8 SET
1070 031040 205 12 0 00 000100 G1600: MOVSI AC-2,000100 ;SETUP FOR COMPARISON
1071 031041 205 15 0 00 010100 MOVSI AC+1,010100 ;SETUP PNTR WORD
1072 031042 133 00 0 00 000015 IBP ,<AC+1>&17 ;INCREMENT BYTE PNTR
1073 031043 620 15 0 00 000001 TRZ AC+1,1 ;CLEAR BIT 35
1074 031044 312 15 0 00 000012 CAME AC+1,<AC-2>&17 ;TEST BIT 8
1075 031045 005 15 0 00 001601 ER5 AC+1,1601 ;POINTER FAILED
1076 031046 321 16 0 00 031040 JUMPL AC+2,G1600 ;LOOP ON ERROR SWITCH
1077
1078 ;TEST SC BIT 7 SET
1079 031047 205 12 0 00 000200 G1700: MOVSI AC-2,000200 ;SETUP FOR COMPARISON
1080 031050 205 15 0 00 020200 MOVSI AC+1,020200 ;SETUP PNTR WORD
1081 031051 133 00 0 00 000015 IBP ,<AC+1>&17 ;INCREMENT BYTE PNTR
1082 031052 620 15 0 00 000001 TRZ AC+1,1 ;CLEAR BIT 35
1083 031053 312 15 0 00 000012 CAME AC+1,<AC-2>&17 ;TEST BIT 7
1084 031054 005 15 0 00 001701 ER5 AC+1,1701 ;POINTER FAILED
1085 031055 321 16 0 00 031047 JUMPL AC+2,G1700 ;LOOP ON ERROR SWITCH
1086
1087 ;TEST SC BIT 6 SET
1088 031056 205 12 0 00 000400 G2000: MOVSI AC-2,000400 ;SETUP FOR COMPARISON
1089 031057 205 15 0 00 040400 MOVSI AC+1,040400 ;SETUP PNTR WORD
1090 031060 133 00 0 00 000015 IBP ,<AC+1>&17 ;INCREMENT BYTE PNTR
1091 031061 620 15 0 00 000001 TRZ AC+1,1 ;CLEAR BIT 35
1092 031062 312 15 0 00 000012 CAME AC+1,<AC-2>&17 ;TEST BIT 6
1093 031063 005 15 0 00 002001 ER5 AC+1,2001 ;POINTER FAILED
1094 031064 321 16 0 00 031056 JUMPL AC+2,G2000 ;LOOP ON ERROR SWITCH
1095
1096 ;TEST SC BIT 5 SET
1097 031065 205 12 0 00 001000 G2100: MOVSI AC-2,001000 ;SETUP FOR COMPARISON
1098 031066 205 15 0 00 101000 MOVSI AC+1,101000 ;SETUP PNTR WORD
1099 031067 133 00 0 00 000015 IBP ,<AC+1>&17 ;INCREMENT BYTE PNTR
1100 031070 620 15 0 00 000001 TRZ AC+1,1 ;CLEAR BIT 35
1101 031071 312 15 0 00 000012 CAME AC+1,<AC-2>&17 ;TEST BIT 5
1102 031072 005 15 0 00 002101 ER5 AC+1,2101 ;POINTER FAILED
1103 031073 321 16 0 00 031065 JUMPL AC+2,G2100 ;LOOP ON ERROR SWITCH
1104
1105 ;TEST SC BIT 4 SET
1106 031074 205 12 0 00 002000 G2200: MOVSI AC-2,002000 ;SETUP FOR COMPARISON
1107 031075 205 15 0 00 202000 MOVSI AC+1,202000 ;SETUP PNTR WORD
1108 031076 133 00 0 00 000015 IBP ,<AC+1>&17 ;INCREMENT BYTE PNTR
1109 031077 620 15 0 00 000001 TRZ AC+1,1 ;CLEAR BIT 35
1110 031100 312 15 0 00 000012 CAME AC+1,<AC-2>&17 ;TEST BIT 4
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 7-1
DAKAMM MAC 20-JAN-77 11:34 PART IA - BYTE MANIPULATION SEQ 0039
1111 031101 005 15 0 00 002201 ER5 AC+1,2201 ;POINTER FAILED
1112 031102 321 16 0 00 031074 JUMPL AC+2,G2200 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 8
DAKAMM MAC 20-JAN-77 11:34 PART IA - BYTE MANIPULATION SEQ 0040
1113 ;TEST SC BIT 3 SET
1114 031103 205 12 0 00 004000 G2300: MOVSI AC-2,004000 ;SETUP FOR COMPARISON
1115 031104 205 15 0 00 404000 MOVSI AC+1,404000 ;SETUP PNTR WORD
1116 031105 133 00 0 00 000015 IBP ,<AC+1>&17 ;INCREMENT BYTE PNTR
1117 031106 620 15 0 00 000001 TRZ AC+1,1 ;CLEAR BIT 35
1118 031107 312 15 0 00 000012 CAME AC+1,<AC-2>&17 ;TEST BIT 3
1119 031110 005 15 0 00 002301 ER5 AC+1,2301 ;POINTER FAILED
1120 031111 321 16 0 00 031103 JUMPL AC+2,G2300 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 9
DAKAMM MAC 20-JAN-77 11:34 PART IA - BYTE MANIPULATION SEQ 0041
1121 ;INST-IBP
1122 ;TEST ABILITY TO SET SC BITS 3,6
1123 ;PFIELD=6
1124 ;SFIELD=10
1125 ;FAILURE OF BIT 3 TO SET RESULTS IN A
1126 ;PFIELD=74
1127 ;FAILURE OF BIT 6 TO SET RESULTS IN
1128 ;A PFEILD=30
1129 ;SC BIT2 IS NOT TESTED-FAILURE TO SET
1130 ;BIT 2 RESULTS IN LOOPING
1131
1132 000013 AC=13
1133 SAVEAC (1,1)^
1134 031112 201 15 0 00 031112 MOVEI AC+2,. ;SAVE TEST PC
1135 031113 202 15 0 00 030051 MOVEM AC+2,TESTPC
1136 031114 201 15 0 00 000015 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
1137 031115 202 15 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
1138
1139 031116 205 11 0 00 341000 G2400: MOVSI AC-2,341000 ;SETUP FOR COMPARISON
1140 031117 205 14 0 00 061000 MOVSI AC+1,061000 ;SETUP PNTR WORD
1141 031120 133 00 0 00 000014 IBP ,<AC+1>&17 ;INCREMENT PNTR
1142 031121 620 14 0 00 000001 TRZ AC+1,1 ;CLEAR BIT 35
1143 031122 312 14 0 00 000011 CAME AC+1,<AC-2>&17 ;TEST SC3 (1)
1144 031123 005 14 0 00 002401 ER5 AC+1,2401 ;POINTER FAILED
1145 031124 321 15 0 00 031116 JUMPL AC+2,G2400 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 10
DAKAMM MAC 20-JAN-77 11:34 PART IA - BYTE MANIPULATION SEQ 0042
1146 ;INST-IBP
1147 ;TEST ABILITY TO CLEAR INDIVIDUAL
1148 ;SC BITS
1149 ;PFIELD=20,10,2,1
1150 ;SFIELD=21,11,3,2
1151 ;FAILURE TO CLEAR SC BITS 4,5,7
1152 ;OR 8 RESULTS IN A PFIELD=43
1153 ;FAILURE TO CLEAR SC BITS 3 OR 6
1154 ;WILL NOT BE APPARENT
1155
1156 000011 AC=11
1157 SAVEAC (1,1)^
1158 031125 201 13 0 00 031125 MOVEI AC+2,. ;SAVE TEST PC
1159 031126 202 13 0 00 030051 MOVEM AC+2,TESTPC
1160 031127 201 13 0 00 000013 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
1161 031130 202 13 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
1162
1163 ;TEST SC4 CLEARING
1164 031131 205 07 0 00 232100 G2600: MOVSI AC-2,232100 ;SETUP FOR COMPARISON
1165 031132 205 12 0 00 202100 MOVSI AC+1,202100 ;SETUP PNTR WORD
1166 031133 133 00 0 00 000012 IBP ,<AC+1>&17 ;INCREMENT PNTR
1167 031134 620 12 0 00 000001 TRZ AC+1,1 ;CLEAR BIT 35
1168 031135 312 12 0 00 000007 CAME AC+1,<AC-2>&17 ;TEST PFIELD=43
1169 031136 005 12 0 00 002601 ER5 AC+1,2601 ;POINTER FAILED
1170 031137 321 13 0 00 031131 JUMPL AC+2,G2600 ;LOOP ON ERROR SWITCH
1171
1172 ;TEST SC5 CLEARING
1173 031140 205 07 0 00 331100 G2700: MOVSI AC-2,331100 ;SETUP FOR COMPARISON
1174 031141 205 12 0 00 101100 MOVSI AC+1,101100 ;SETUP PNTR WORD
1175 031142 133 00 0 00 000012 IBP ,<AC+1>&17 ;INCREMENT PNTR
1176 031143 620 12 0 00 000001 TRZ AC+1,1 ;CLEAR BIT 35
1177 031144 312 12 0 00 000007 CAME AC+1,<AC-2>&17 ;TEST PFIELD=45
1178 031145 005 12 0 00 002701 ER5 AC+1,2701 ;POINTER FAILED
1179 031146 321 13 0 00 031140 JUMPL AC+2,G2700 ;LOOP ON ERROR SWITCH
1180
1181 ;TEST SC 7 CLEARING
1182 031147 205 07 0 00 410300 G3000: MOVSI AC-2,410300 ;SETUP FOR COMPARISON
1183 031150 205 12 0 00 020300 MOVSI AC+1,020300 ;SETUP PNTR
1184 031151 133 00 0 00 000012 IBP ,<AC+1>&17 ;INCREMENT PNTR
1185 031152 620 12 0 00 000001 TRZ AC+1,1 ;CLEAR BIT 35
1186 031153 312 12 0 00 000007 CAME AC+1,<AC-2>&17 ;TEST PFIELD=43
1187 031154 005 12 0 00 003001 ER5 AC+1,3001 ;POINTER FAILED
1188 031155 321 13 0 00 031147 JUMPL AC+2,G3000 ;LOOP ON ERROR SWITCH
1189
1190 ;TEST SC8 CLEARING
1191 031156 205 07 0 00 420200 G3100: MOVSI AC-2,420200 ;SETUP FOR COMPARISON
1192 031157 205 12 0 00 010200 MOVSI AC+1,010200 ;SETUP PNTR
1193 031160 133 00 0 00 000012 IBP ,<AC+1>&17 ;INCREMENT PNTR
1194 031161 620 12 0 00 000001 TRZ AC+1,1 ;CLEAR BIT 35
1195 031162 312 12 0 00 000007 CAME AC+1,<AC-2>&17 ;TEST PFIELD=43
1196 031163 005 12 0 00 003101 ER5 AC+1,3101 ;POINTER FAILED
1197 031164 321 13 0 00 031156 JUMPL AC+2,G3100 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 11
DAKAMM MAC 20-JAN-77 11:34 PART IA - BYTE MANIPULATION SEQ 0043
1198 ;INST-IBP
1199 ;TEST ABILITY TO INCREMENT ADDRESS
1200 ;FIELD OF PNTR WORD
1201 ;PFIELD=6
1202 ;SFIELD=10
1203 ;LOSS OF THE SFIELD AND AN ADDRESS=1
1204
1205 000012 AC=12
1206 SAVEAC (1,1)^
1207 031165 201 14 0 00 031165 MOVEI AC+2,. ;SAVE TEST PC
1208 031166 202 14 0 00 030051 MOVEM AC+2,TESTPC
1209 031167 201 14 0 00 000014 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
1210 031170 202 14 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
1211
1212 031171 205 10 0 00 341000 G3200: MOVSI AC-2,341000 ;SETUP AC-2
1213 031172 340 10 0 00 031173 AOJ AC-2,.+1 ;FOR COMPARISON
1214 031173 205 13 0 00 061000 MOVSI AC+1,061000 ;SETUP PNTR WORD
1215 031174 133 00 0 00 000013 IBP ,<AC+1>&17 ;INC PNTR WORD
1216 031175 312 13 0 00 000010 CAME AC+1,<AC-2>&17 ;TEST FOR ERROR PNTR
1217 031176 005 13 0 00 003201 ER5 AC+1,3201 ;POINTER FAILED
1218 031177 321 14 0 00 031171 JUMPL AC+2,G3200 ;LOOP ON ERROR SWITCH
1219
1220 ;INST-IBP
1221 ;TEST ABILITY TO INCREMENT
1222 ;ADDRESS FIELD OF PNTR WORD
1223 ;PFIELD=6
1224 ;SFIELD=10
1225
1226 000011 AC=11
1227 SAVEAC (1,1)^
1228 031200 201 13 0 00 031200 MOVEI AC+2,. ;SAVE TEST PC
1229 031201 202 13 0 00 030051 MOVEM AC+2,TESTPC
1230 031202 201 13 0 00 000013 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
1231 031203 202 13 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
1232
1233 031204 505 07 0 00 341000 G3300: HRLI AC-2,341000 ;SETUP AC-2 FOR
1234 031205 541 07 0 00 000012 HRRI AC-2,<AC+1>&17 ;COMPARISON
1235 031206 505 12 0 00 061000 HRLI AC+1,061000 ;SETUP BYTE
1236 031207 541 12 0 00 000011 HRRI AC+1,AC&17 ;PNTR WORD
1237 031210 133 00 0 00 000012 IBP ,<AC+1>&17 ;INCREMENT PNTR
1238 031211 312 12 0 00 000007 CAME AC+1,<AC-2>&17 ;TEST ADDRESS
1239 031212 005 12 0 00 003301 ER5 AC+1,3301 ;POINTER FAILED
1240 031213 321 13 0 00 031204 JUMPL AC+2,G3300 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 12
DAKAMM MAC 20-JAN-77 11:34 PART IA - BYTE MANIPULATION SEQ 0044
1241 ;INST-LDB
1242 ;TEST ABILITY TO FCE (2ND PART)
1243 ;FAILURE TO FCE RESULTS IN LOSS
1244 ;OF DATA WORD
1245 ;PFIELD=0
1246 ;SFIELD=6
1247 ;BYTE WORD=0,777777
1248 ;DEST AC=0
1249
1250 000014 AC=14
1251 SAVEAC (1,1)^
1252 031214 201 16 0 00 031214 MOVEI AC+2,. ;SAVE TEST PC
1253 031215 202 16 0 00 030051 MOVEM AC+2,TESTPC
1254 031216 201 16 0 00 000016 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
1255 031217 202 16 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
1256
1257 031220 505 15 0 00 000600 G3400: HRLI AC+1,000600 ;SETUP BYTE
1258 031221 541 15 0 00 000005 HRRI AC+1,5 ;PNTR WORD
1259 031222 201 05 0 00 777777 MOVEI 5,-1 ;SETUP BYTE WORD
1260 031223 400 14 0 00 000000 SETZ AC, ;CLEAR DEST AC
1261 031224 135 14 0 00 000015 LDB AC,<AC+1>&17 ;LOAD BYTE
1262 031225 302 14 0 00 000077 CAIE AC,77 ;TEST DEST AC=0,,77
1263 031226 003 14 0 00 003401 ER3 AC,3401 ;AC FAILED
1264 031227 321 16 0 00 031220 JUMPL AC+2,G3400 ;LOOP ON ERROR SWITCH
1265
1266 ;INST-LDB
1267 ;P FIELD =14
1268 ;S FIELD =6
1269 ;BYTE WORD =-1
1270
1271 000011 AC=11
1272 SAVEAC (1,1)^
1273 031230 201 13 0 00 031230 MOVEI AC+2,. ;SAVE TEST PC
1274 031231 202 13 0 00 030051 MOVEM AC+2,TESTPC
1275 031232 201 13 0 00 000013 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
1276 031233 202 13 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
1277
1278 031234 551 07 0 00 000077 G3500: HRRZI AC-2,77 ;SETUP FOR COMPARISON
1279 031235 205 12 0 00 140600 MOVSI AC+1,140600 ;SETUP PNTR
1280 031236 474 00 0 00 000000 SETO ;SETUP BYTE WORD
1281 031237 135 11 0 00 000012 LDB AC,<AC+1>&17 ;LOAD BYTE
1282 031240 312 11 0 00 000007 CAME AC,<AC-2>&17 ;TEST BYTE=0,,77
1283 031241 003 11 0 00 003501 ER3 AC,3501 ;AC FAILED
1284 031242 321 13 0 00 031234 JUMPL AC+2,G3500 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 13
DAKAMM MAC 20-JAN-77 11:34 PART IA - BYTE MANIPULATION SEQ 0045
1285 ;INST-LDB
1286 ;PFIELD=14
1287 ;SFIELD=6
1288 ;BYTE WORD = 777777
1289
1290 000006 AC=6
1291 SAVEAC (1,1)^
1292 031243 201 10 0 00 031243 MOVEI AC+2,. ;SAVE TEST PC
1293 031244 202 10 0 00 030051 MOVEM AC+2,TESTPC
1294 031245 201 10 0 00 000010 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
1295 031246 202 10 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
1296
1297 031247 205 07 0 00 140600 G3600: MOVSI AC+1,140600 ;SETUP PNTR WORD
1298 031250 201 00 0 00 777777 MOVEI ,-1 ;SETUP BYTE WORD (AC0)
1299 031251 135 06 0 00 000007 LDB AC,<AC+1>&17 ;LOAD BYTE
1300 031252 302 06 0 00 000077 CAIE AC,77 ;TEST DEST AC
1301 031253 003 06 0 00 003601 ER3 AC,3601 ;AC FAILED
1302 031254 321 10 0 00 031247 JUMPL AC+2,G3600 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 14
DAKAMM MAC 20-JAN-77 11:34 PART IA - BYTE MANIPULATION SEQ 0046
1303 ;INST-LDB
1304 ;TEST ABILITY TO TRANSFER 2'S COMP
1305 ;SFIELD
1306 ;TEST ABILITY TO SET INDIVIDUAL
1307 ;BITS OF SC
1308 ;PFIELD=0
1309 ;SFIELD=40,20,10,4,2,1
1310 ;BYTE WORD=-1
1311
1312 000005 AC=5
1313 SAVEAC (1,1)^
1314 031255 201 07 0 00 031255 MOVEI AC+2,. ;SAVE TEST PC
1315 031256 202 07 0 00 030051 MOVEM AC+2,TESTPC
1316 031257 201 07 0 00 000007 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
1317 031260 202 07 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
1318 ;TEST SC 1,2,3 SET
1319 031261 525 03 0 00 037777 G3700: HRLOI AC-2,37777 ;SETUP FOR COMPARISON
1320 031262 205 06 0 00 004000 MOVSI AC+1,4000 ;SETUP PNTR WORD
1321 031263 474 00 0 00 000000 SETO ;SETUP BYTE WORD (AC0)
1322 031264 135 05 0 00 000006 LDB AC,<AC+1>&17 ;LOAD BYTE
1323 031265 312 05 0 00 000003 CAME AC,<AC-2>&17 ;TEST BYTE=37777,,777777
1324 031266 003 05 0 00 003701 ER3 AC,3701 ;AC FAILED
1325 031267 321 07 0 00 031261 JUMPL AC+2,G3700 ;LOOP ON ERROR SWITCH
1326
1327 ;TEST SC4 SET
1328 031270 551 03 0 00 177777 G4000: HRRZI AC-2,177777 ;SETUP FOR COMPARISON
1329 031271 205 06 0 00 002000 MOVSI AC+1,2000 ;SETUP PNTR WORD
1330 031272 474 00 0 00 000000 SETO ;SETUP BYTE WORD (AC0)
1331 031273 135 05 0 00 000006 LDB AC,<AC+1>&17 ;LOAD BYTE
1332 031274 312 05 0 00 000003 CAME AC,<AC-2>&17 ;TEST BYTE=0,,177777
1333 031275 003 05 0 00 004001 ER3 AC,4001 ;AC FAILED
1334 031276 321 07 0 00 031270 JUMPL AC+2,G4000 ;LOOP ON ERROR SWITCH
1335
1336 ;TEST SC5 SET
1337 031277 201 03 0 00 000377 G4100: MOVEI AC-2,377 ;SETUP FOR COMPARISON
1338 031300 205 06 0 00 001000 MOVSI AC+1,1000 ;SETUP PNTR WORD
1339 031301 474 00 0 00 000000 SETO ;SETUP BYTE WORD (AC0)
1340 031302 135 05 0 00 000006 LDB AC,<AC+1>&17 ;LOAD BYTE
1341 031303 312 05 0 00 000003 CAME AC,<AC-2>&17 ;TEST BYTE = 0,,377
1342 031304 003 05 0 00 004101 ER3 AC,4101 ;AC FAILED
1343 031305 321 07 0 00 031277 JUMPL AC+2,G4100 ;LOOP ON ERROR SWITCH
1344
1345 ;TEST SC6 SET
1346 031306 201 03 0 00 000017 G4200: MOVEI AC-2,17 ;SETUP FOR COMPARISON
1347 031307 205 06 0 00 000400 MOVSI AC+1,400 ;SETUP PNTR WORD
1348 031310 474 00 0 00 000000 SETO ;SETUP BYTE WORD (AC0)
1349 031311 135 05 0 00 000006 LDB AC,<AC+1>&17 ;LOAD BYTE
1350 031312 312 05 0 00 000003 CAME AC,<AC-2>&17 ;TEST BYTE=0,,17
1351 031313 003 05 0 00 004201 ER3 AC,4201 ;AC FAILED
1352 031314 321 07 0 00 031306 JUMPL AC+2,G4200 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 15
DAKAMM MAC 20-JAN-77 11:34 PART IA - BYTE MANIPULATION SEQ 0047
1353 ;TEST SC 7 SET
1354 031315 201 03 0 00 000003 G4300: MOVEI AC-2,3 ;SETUP FOR COMPARISON
1355 031316 205 06 0 00 000200 MOVSI AC+1,200 ;SETUP PNTR WORD
1356 031317 474 00 0 00 000000 SETO ;SETUP BYTE WORD (AC0)
1357 031320 135 05 0 00 000006 LDB AC,<AC+1>&17 ;LOAD BYTE
1358 031321 312 05 0 00 000003 CAME AC,<AC-2>&17 ;TEST BYTE=0,,3
1359 031322 003 05 0 00 004301 ER3 AC,4301 ;AC FAILED
1360 031323 321 07 0 00 031315 JUMPL AC+2,G4300 ;LOOP ON ERROR SWITCH
1361
1362 ;TEST SC 8 SET
1363 031324 201 03 0 00 000001 G4400: MOVEI AC-2,1 ;SETUP FOR COMPARISON
1364 031325 205 06 0 00 000100 MOVSI AC+1,100 ;SETUP PNTR WORD
1365 031326 474 00 0 00 000000 SETO ;SETUP BYTE WORD (AC0)
1366 031327 135 05 0 00 000006 LDB AC,<AC+1>&17 ;LOAD BYTE
1367 031330 312 05 0 00 000003 CAME AC,<AC-2>&17 ;TEST BYTE=0,,1
1368 031331 003 05 0 00 004401 ER3 AC,4401 ;AC FAILED
1369 031332 321 07 0 00 031324 JUMPL AC+2,G4400 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 16
DAKAMM MAC 20-JAN-77 11:34 PART IA - BYTE MANIPULATION SEQ 0048
1370 ;INST-LDB
1371 ;PFIELD=6
1372 ;SFIELD=14
1373 ;BYTE WORD=000000007700
1374
1375 000014 AC=14
1376 SAVEAC (1,1)^
1377 031333 201 16 0 00 031333 MOVEI AC+2,. ;SAVE TEST PC
1378 031334 202 16 0 00 030051 MOVEM AC+2,TESTPC
1379 031335 201 16 0 00 000016 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
1380 031336 202 16 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
1381
1382 031337 201 12 0 00 000077 G4600: MOVEI AC-2,77 ;SETUP FOR COMPARISON
1383 031340 205 15 0 00 061400 MOVSI AC+1,061400 ;SETUP PNTR WORD
1384 031341 201 00 0 00 007700 MOVEI ,7700 ;SETUP BYTE WORD
1385 031342 135 14 0 00 000015 LDB AC,<AC+1>&17 ;LOAD BYTE
1386 031343 312 14 0 00 000012 CAME AC,<AC-2>&17 ;TEST BYTE =77
1387 031344 003 14 0 00 004601 ER3 AC,4601 ;AC FAILED
1388 031345 321 16 0 00 031337 JUMPL AC+2,G4600 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 17
DAKAMM MAC 20-JAN-77 11:34 PART IA - BYTE MANIPULATION SEQ 0049
1389 ;INST-LDB
1390 ;PFIELD=6
1391 ;SFIELD=6
1392 ;BYTEWORD=-1
1393
1394 000013 AC=13
1395 SAVEAC (1,1)^
1396 031346 201 15 0 00 031346 MOVEI AC+2,. ;SAVE TEST PC
1397 031347 202 15 0 00 030051 MOVEM AC+2,TESTPC
1398 031350 201 15 0 00 000015 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
1399 031351 202 15 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
1400
1401 031352 201 11 0 00 000077 G4700: MOVEI AC-2,77 ;SETUP FOR COMPARISON
1402 031353 205 14 0 00 060600 MOVSI AC+1,060600 ;SETUP PNTR
1403 031354 474 00 0 00 000000 SETO ;SETUP BYTE WORD
1404 031355 135 13 0 00 000014 LDB AC,<AC+1>&17 ;LOAD BYTE
1405 031356 312 13 0 00 000011 CAME AC,<AC-2>&17 ;TEST BYTE=0,,77
1406 031357 003 13 0 00 004701 ER3 AC,4701 ;AC FAILED
1407 031360 321 15 0 00 031352 JUMPL AC+2,G4700 ;LOOP ON ERROR SWITCH
1408
1409 ;INST-LDB
1410 ;TEST IR 134-7
1411 ;PFIELD=14
1412 ;SFIELD=6
1413 ;BYTE WORD=-1
1414 ;AN ERROR WILL OCCUR IF PC IS INCREMENTED
1415 ;TWICE DURING EXECUTION OF LDB
1416
1417 000010 AC=10
1418 SAVEAC (1,1)^
1419 031361 201 12 0 00 031361 MOVEI AC+2,. ;SAVE TEST PC
1420 031362 202 12 0 00 030051 MOVEM AC+2,TESTPC
1421 031363 201 12 0 00 000012 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
1422 031364 202 12 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
1423
1424 031365 205 11 0 00 140600 G5000: MOVSI AC+1,140600 ;SETUP PNTR WORD
1425 031366 474 00 0 00 000000 SETO ;SETUP BYTE WORD (AC0)
1426 031367 135 10 0 00 000011 LDB AC,<AC+1>&17 ;LOAD BYTE
1427 031370 254 00 0 00 031372 JRST ,.+2 ;PC+1 INH ASSERTED
1428 031371 003 10 0 00 005001 ER3 AC,5001 ;AC FAILED
1429 031372 321 12 0 00 031365 JUMPL AC+2,G5000 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 18
DAKAMM MAC 20-JAN-77 11:34 PART IA - BYTE MANIPULATION SEQ 0050
1430 ;INST-LDB
1431 ;TEST ABILITY TO CLEAR BYF6
1432 ;PFIELD=14
1433 ;SFIELD=6
1434 ;BYTE WORD=-1
1435 ;AN ERROR WILL OCCUR IF BYF6(1) WHEN STORED
1436 ;BY JSP
1437
1438 000007 AC=7
1439 SAVEAC (1,1)^
1440 031373 201 11 0 00 031373 MOVEI AC+2,. ;SAVE TEST PC
1441 031374 202 11 0 00 030051 MOVEM AC+2,TESTPC
1442 031375 201 11 0 00 000011 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
1443 031376 202 11 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
1444
1445 031377 205 10 0 00 140600 G5100: MOVSI AC+1,140600 ;SETUP PNTR WORD
1446 031400 474 00 0 00 000000 SETO ;SETUP BYTE WORD
1447 031401 135 07 0 00 000010 LDB AC,<AC+1>&17 ;LOAD BYTE
1448 031402 265 07 0 00 031403 JSP AC,.+1 ;STORE FLAGS
1449 031403 603 07 0 00 020000 TLNE AC,020000 ;TEST BIT 4
1450 031404 003 07 0 00 005101 ER3 AC,5101 ;AC FAILED
1451 031405 321 11 0 00 031377 JUMPL AC+2,G5100 ;LOOP ON ERROR SWITCH
1452
1453 ;INST-LDB
1454 ;TEST ABILITY TO DEFER (INDIRECT) BYTE
1455 ;PNTR ADDRESS
1456 ;FAILURE TO INDIRECTLY ADDRESS BYTE
1457 ;PNTR RESULTS IN AN ERROR BYTE
1458 ;PFIELD=0
1459 ;SFIELD=6
1460 ;ERROR BYTE=14
1461 ;CORRECT BYTE=44
1462 ;AN ERROR WILL OCCUR IF DEST AC=14
1463 ;FOLLOWING LOAD BYTE INDIRECTLY ADDRESSED
1464
1465 000006 AC=6
1466 SAVEAC (1,1)^
1467 031406 201 10 0 00 031406 MOVEI AC+2,. ;SAVE TEST PC
1468 031407 202 10 0 00 030051 MOVEM AC+2,TESTPC
1469 031410 201 10 0 00 000010 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
1470 031411 202 10 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
1471
1472 031412 205 07 0 00 000600 G5200: MOVSI AC+1,600 ;SETUP PNTR WORD
1473 031413 505 00 0 00 000600 HRLI ,600 ;SETUP INDIRECT ADDRESS
1474 031414 541 00 0 00 000014 HRRI ,14 ;PNTR WORD (AC0)
1475 031415 201 14 0 00 000044 MOVEI AC+6,44 ;SETUP CORR BYTE WORD
1476 031416 135 06 1 00 000007 LDB AC,@<AC+1>&17 ;LOAD BYTE INDIRECTLY
1477 031417 302 06 0 00 000044 CAIE AC,44 ;TEST FOR CORR BYTE
1478 031420 003 06 0 00 005201 ER3 AC,5201 ;INDIRECT ADDRESSING FAILED
1479 031421 321 10 0 00 031412 JUMPL AC+2,G5200 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 19
DAKAMM MAC 20-JAN-77 11:34 PART IA - BYTE MANIPULATION SEQ 0051
1480 ;INST-LDB
1481 ;TEST IR RT CLR AT6
1482 ;FURTHER TEST OF IR 134-7
1483 ;TEST ABILITY TO CLEAR IR BITS 13-17 FOLLOWING
1484 ;DEFERRING OR INDEXING OF BYTE PNTR ADDR
1485 ;PFIELD=6
1486 ;SFIELD=14
1487 ;CORR BYTE WORD=222222
1488 ;DEST AC=4
1489 ;AN ERROR WILL OCCUR IF DEST AC
1490 ;EQUALS 5555 FOLLOWING LOAD BYTE
1491
1492 000007 AC=7
1493 SAVEAC (1,1)^
1494 031422 201 11 0 00 031422 MOVEI AC+2,. ;SAVE TEST PC
1495 031423 202 11 0 00 030051 MOVEM AC+2,TESTPC
1496 031424 201 11 0 00 000011 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
1497 031425 202 11 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
1498
1499 031426 205 14 0 00 061400 G5300: MOVSI AC+5,061400 ;SETUP INDEXED PNTR WORD
1500 031427 201 07 0 00 000004 MOVEI AC,4 ;SETUP INDEX AC
1501 031430 201 00 0 00 222222 MOVEI ,222222 ;SETUP CORR BYTE WORD
1502 031431 201 04 0 00 555555 MOVEI AC-3,555555 ;SETUP CORR BYTE WORD
1503 031432 135 07 0 07 000010 LDB AC,<AC+1>&17(AC) ;LOAD BYTE INDEXED
1504 031433 302 07 0 00 002222 CAIE AC,2222 ;TEST FOR CORR BYTE
1505 031434 003 07 0 00 005301 ER3 AC,5301 ;AC FAILED
1506 031435 321 11 0 00 031426 JUMPL AC+2,G5300 ;LOOP ON ERROR SWITCH
1507
1508 ;INST-LDB
1509 ;FURTHER TEST OF IR 134-7
1510 ;TEST ABILITY TO INDEX BYTE WORD ADDRESS
1511 ;P FIELD=0
1512 ;S FIELD=6
1513 ;FAILURE RESULTS IN IR14-17=0,
1514 ;NO INDEX, ERROR BYTE=55
1515
1516 000010 AC=10
1517 SAVEAC (1,1)^
1518 031436 201 12 0 00 031436 MOVEI AC+2,. ;SAVE TEST PC
1519 031437 202 12 0 00 030051 MOVEM AC+2,TESTPC
1520 031440 201 12 0 00 000012 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
1521 031441 202 12 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
1522
1523 031442 505 11 0 00 000607 G5400: HRLI AC+1,000607 ;SETUP BYTE
1524 031443 541 11 0 00 000005 HRRI AC+1,5 ;PNTR WORD
1525 031444 201 07 0 00 000010 MOVEI 7,10 ;SETUP INDEX AC
1526 031445 201 05 0 00 000055 MOVEI 5,55 ;SETUP NON INDEX BYTE WORD
1527 031446 201 15 0 00 000077 MOVEI 15,77 ;SETUP INDEXED BYTE WORD
1528 031447 135 10 0 00 000011 LDB AC,<AC+1>&17 ;LOAD BYTE
1529 031450 302 10 0 00 000077 CAIE AC,77 ;TEST BYTE=0,,77
1530 031451 003 10 0 00 005401 ER3 AC,5401 ;AC FAILED
1531 031452 321 12 0 00 031442 JUMPL AC+2,G5400 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 20
DAKAMM MAC 20-JAN-77 11:34 PART IA - BYTE MANIPULATION SEQ 0052
1532 ;INST-LDB
1533 ;TEST ABILITY TO INDEX BYTE WORD ADDRESS
1534 ;P FIELD=0
1535 ;S FIELD=6
1536 ;FAILURE RESULTS IN A BYTE WORD
1537 ;ADDRESS EQUAL TO CONTENTS OF
1538 ;INDEX AC(=AC)
1539
1540 000010 AC=10
1541 SAVEAC (1,1)^
1542 031453 201 12 0 00 031453 MOVEI AC+2,. ;SAVE TEST PC
1543 031454 202 12 0 00 030051 MOVEM AC+2,TESTPC
1544 031455 201 12 0 00 000012 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
1545 031456 202 12 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
1546
1547 031457 505 11 0 00 000607 G5500: HRLI AC+1,000607 ;SETUP BYTE
1548 031460 541 11 0 00 000005 HRRI AC+1,5 ;PNTR WORD
1549 031461 403 10 0 00 000005 SETZB AC,5 ;CLEAR DEST AC'S
1550 031462 201 07 0 00 000010 MOVEI 7,10 ;SETUP INDEX AC
1551 031463 201 15 0 00 000077 MOVEI 15,77 ;SETUP BYTE WORD
1552 031464 135 10 0 00 000011 LDB AC,<AC+1>&17 ;LOAD BYTE
1553 031465 302 10 0 00 000077 CAIE AC,77 ;TEST FOR BYTE
1554 031466 003 10 0 00 005501 ER3 AC,5501 ;AC FAILED
1555 031467 321 12 0 00 031457 JUMPL AC+2,G5500 ;LOOP ON ERROR SWITCH
1556
1557 ;INST-LDB
1558 ;TEST ABILITY TO INDEX BYTE WORD ADDRESS
1559 ;P FIELD=0
1560 ;S FIELD=6
1561 ;FAILURE RESULTS IN AN INDEX AC EQUAL
1562 ;TO INDEX AC+AC(AC7+AC10=AC17)
1563
1564 000010 AC=10
1565 SAVEAC (1,1)^
1566 031470 201 12 0 00 031470 MOVEI AC+2,. ;SAVE TEST PC
1567 031471 202 12 0 00 030051 MOVEM AC+2,TESTPC
1568 031472 201 12 0 00 000012 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
1569 031473 202 12 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
1570
1571 031474 505 11 0 00 000607 G5600: HRLI AC+1,000607 ;SETUP BYTE
1572 031475 541 11 0 00 000005 HRRI AC+1,5 ;PNTR WORD
1573 031476 201 06 0 00 000010 MOVEI 6,10 ;SETUP INDEX AC
1574 031477 201 15 0 00 000015 MOVEI 15,15 ;SETUP BYTE WORD
1575 031500 201 16 0 00 000005 MOVEI 16,5 ;SETUP ERROR INDEX AC
1576 031501 201 14 0 00 000014 MOVEI 14,14 ;SETUP ERROR BYTE WORD
1577 031502 135 10 0 00 000011 LDB AC,<AC+1>&17 ;LOAD BYTE
1578 031503 302 10 0 00 000015 CAIE AC,15 ;TEST BYTE=15
1579 031504 003 10 0 00 005601 ER3 AC,5601 ;AC FAILED
1580 031505 321 12 0 00 031474 JUMPL AC+2,G5600 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 21
DAKAMM MAC 20-JAN-77 11:34 PART IA - BYTE MANIPULATION SEQ 0053
1581 ;INST-LDB
1582 ;TEST ABILITY TO INDEX BYTE WORD ADDRESS
1583 ;P FIELD=0
1584 ;S FIELD=6
1585 ;FAILURE RESULTS IN INDEXING BY C(AC0)
1586
1587 000010 AC=10
1588 SAVEAC (1,1)^
1589 031506 201 12 0 00 031506 MOVEI AC+2,. ;SAVE TEST PC
1590 031507 202 12 0 00 030051 MOVEM AC+2,TESTPC
1591 031510 201 12 0 00 000012 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
1592 031511 202 12 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
1593
1594 031512 505 11 0 00 000607 G5700: HRLI AC+1,000607 ;SETUP BYTE
1595 031513 541 11 0 00 000005 HRRI AC+1,5 ;PNTR WORD
1596 031514 201 07 0 00 000010 MOVEI 7,10 ;SETUP INDEX AC
1597 031515 201 15 0 00 000015 MOVEI 15,15 ;SETUP BYTE WORD
1598 031516 201 00 0 00 000007 MOVEI ,7 ;SETUP ERROR INDEX AC
1599 031517 201 14 0 00 000033 MOVEI 14,33 ;SETUP ERROR BYTE WORD
1600 031520 135 10 0 00 000011 LDB AC,AC+1 ;LOAD BYTE
1601 031521 302 10 0 00 000015 CAIE AC,15 ;TEST BYTE=0,,15
1602 031522 003 10 0 00 005701 ER3 AC,5701 ;AC FAILED
1603 031523 321 12 0 00 031512 JUMPL AC+2,G5700 ;LOOP ON ERROR SWITCH
1604
1605 ;INST-ILDB
1606 ;TEST ABILITY TO ASSERT BYTE PTRINC
1607 ;P FIELD=16
1608 ;S FIELD=6
1609 ;FAILURE TO ASSERT MAY RESULT IN A HALT
1610 ;AT ET0
1611 ;AN ERROR WILL OCCUR IF PNTR WORD
1612 ;EQUALS ORIGINAL FOLLOWING ILDB
1613
1614 000005 AC=5
1615 SAVEAC (1,1)^
1616 031524 201 07 0 00 031524 MOVEI AC+2,. ;SAVE TEST PC
1617 031525 202 07 0 00 030051 MOVEM AC+2,TESTPC
1618 031526 201 07 0 00 000007 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
1619 031527 202 07 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
1620
1621 031530 205 03 0 00 100600 G6000: MOVSI AC-2,100600 ;SETUP FOR COMPARISON
1622 031531 205 06 0 00 160600 MOVSI AC+1,160600 ;SETUP PNTR WORD
1623 031532 134 05 0 00 000006 ILDB AC,<AC+1>&17 ;INC AND LOAD BYTE
1624 031533 312 06 0 00 000003 CAME AC+1,<AC-2>&17 ;TEST PNTR=ORIGINAL
1625 031534 004 06 0 00 006001 ER4 AC+1,6001 ;PNTR FAILED TO INCREMENT
1626 031535 321 07 0 00 031530 JUMPL AC+2,G6000 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 22
DAKAMM MAC 20-JAN-77 11:34 PART IA - BYTE MANIPULATION SEQ 0054
1627
1628 ;INST-ILDB
1629 ;TEST LB BYTE LOAD
1630 ;TEST BYF5 SET
1631 ;P FIELD=22
1632 ;S FIELD=22
1633 ;BYTE WORD=000000777777
1634 ;FAILURE RESULTS IN A BYTE EQUAL
1635 ;TO BYTE WORD.
1636
1637 000014 AC=14
1638 SAVEAC (1,1)^
1639 031536 201 16 0 00 031536 MOVEI AC+2,. ;SAVE TEST PC
1640 031537 202 16 0 00 030051 MOVEM AC+2,TESTPC
1641 031540 201 16 0 00 000016 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
1642 031541 202 16 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
1643
1644 031542 205 12 0 00 002200 G6100: MOVSI AC-2,002200 ;SETUP FOR COMPARISON
1645 031543 205 15 0 00 222200 MOVSI AC+1,222200 ;SETUP PNTR WORD
1646 031544 201 00 0 00 777777 MOVEI ,-1 ;SETUP BYTE WORD
1647 031545 134 14 0 00 000015 ILDB AC,<AC+1>&17 ;INC AND LOAD BYTE
1648 031546 312 00 0 00 000014 CAME ,AC ;TEST BYTE=000000777777
1649 031547 012 00 0 00 006101 ER12 ,6101 ;BYTE WORD FAILED
1650 031550 312 15 0 00 000012 CAME AC+1,<AC-2>&17 ;TEST PNTR WORD
1651 031551 005 15 0 00 006101 ER5 AC+1,6101 ;POINTER FAILED
1652 031552 321 16 0 00 031542 JUMPL AC+2,G6100 ;LOOP ON ERROR SWITCH
1653
1654 ;INST-ILDB
1655 ;P FIELD=22
1656 ;S FIELD=6
1657 ;BYTE WORD=0000007700000
1658 ;FAILURE RESULTS IN A BYTE
1659 ;=0
1660
1661 000013 AC=13
1662 SAVEAC (1,1)^
1663 031553 201 15 0 00 031553 MOVEI AC+2,. ;SAVE TEST PC
1664 031554 202 15 0 00 030051 MOVEM AC+2,TESTPC
1665 031555 201 15 0 00 000015 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
1666 031556 202 15 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
1667
1668 031557 205 11 0 00 140600 G6200: MOVSI AC-2,140600 ;SETUP FOR COMPARISON
1669 031560 205 14 0 00 220600 MOVSI AC+1,220600 ;SETUP PNTR WORD
1670 031561 201 00 0 00 770000 MOVEI ,770000 ;SETUP BYTE WORD (AC0)
1671 031562 134 13 0 00 000014 ILDB AC,<AC+1>&17 ;INC AND LOAD BYTE
1672 031563 302 13 0 00 000077 CAIE AC,77 ;TEST BYTE
1673 031564 003 13 0 00 006201 ER3 AC,6201 ;AC FAILED
1674 031565 312 14 0 00 000011 CAME AC+1,<AC-2>&17 ;TEST PNTR WORD
1675 031566 005 14 0 00 006201 ER5 AC+1,6201 ;POINTER FAILED
1676 031567 321 15 0 00 031557 JUMPL AC+2,G6200 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 23
DAKAMM MAC 20-JAN-77 11:34 PART IA - BYTE MANIPULATION SEQ 0055
1677
1678 ;INST-DPB
1679 ;TEST ABILITY TO ASSERT BYF5 SET
1680 ;P FIELD
1681 ;P=14
1682 ;S=6
1683 ;BYTE WORD=000000000077
1684 ;DEST WORD=000000000000
1685
1686 000012 AC=12
1687 SAVEAC (1,1)^
1688 031570 201 14 0 00 031570 MOVEI AC+2,. ;SAVE TEST PC
1689 031571 202 14 0 00 030051 MOVEM AC+2,TESTPC
1690 031572 201 14 0 00 000014 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
1691 031573 202 14 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
1692
1693 031574 201 10 0 00 770000 G6300: MOVEI AC-2,770000 ;SETUP FOR COMPARISON
1694 031575 205 13 0 00 140600 MOVSI AC+1,140600 ;SETUP PNTR WORD
1695 031576 201 12 0 00 000077 MOVEI AC,77 ;SETUP BYTE
1696 031577 400 00 0 00 000000 SETZ ;SETUP DEST WORD
1697 031600 137 12 0 00 000013 DPB AC,<AC+1>&17 ;DEPOSIT BYTE (AC0)
1698 031601 312 00 0 00 000010 CAME ,<AC-2>&17 ;TEST DEST=0,,770000
1699 031602 012 00 0 00 006301 ER12 ,6301 ;BYTE W0RD FAILED
1700 031603 321 14 0 00 031574 JUMPL AC+2,G6300 ;LOOP ON ERROR SWITCH
1701
1702 ;INST-DPB
1703 ;TEST ABILITY TO ASSERT DPBYTE DEP
1704 ;P FIELD=14
1705 ;S FIELD=6
1706 ;BYTE WORD=55
1707 ;DEST WORD=-1
1708 ;FAILURE OF MQ TO SHIFT RESULTS IN A
1709 ;DEPOSIT BYTE=777777777700
1710
1711 000007 AC=7
1712 SAVEAC (1,1)^
1713 031604 201 11 0 00 031604 MOVEI AC+2,. ;SAVE TEST PC
1714 031605 202 11 0 00 030051 MOVEM AC+2,TESTPC
1715 031606 201 11 0 00 000011 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
1716 031607 202 11 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
1717
1718 031610 561 05 0 00 557777 G6400: HRROI AC-2,557777 ;SETUP AC-2 FOR COMPARISON
1719 031611 205 10 0 00 140600 MOVSI AC+1,140600 ;SETUP PNTR WORD
1720 031612 201 07 0 00 000055 MOVEI AC,55 ;SETUP BYTE WORD
1721 031613 474 00 0 00 000000 SETO ;SETUP DEST WORD
1722 031614 137 07 0 00 000010 DPB AC,<AC+1>&17 ;DEPOSIT BYTE (AC0)
1723 031615 312 00 0 00 000005 CAME ,<AC-2>&17 ;TEST DEST=-1,,557777
1724 031616 012 00 0 00 006401 ER12 ,6401 ;BYTE WORD FAILED
1725 031617 321 11 0 00 031610 JUMPL AC+2,G6400 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 25
DAKAMM MAC 20-JAN-77 11:34 PART IA - BYTE MANIPULATION SEQ 0056
1726 ;INST-DPB
1727 ;TEST ABILITY TO AND MASK, BYTE
1728 ;P FIELD=14
1729 ;S FIELD=6
1730 ;BYTE WORD=5555
1731 ;DEST WORD=0
1732 ;FAILURE RESULTS IN A DEPOSIT
1733 ;BYTE=000055550000
1734
1735 000005 AC=5
1736 SAVEAC (1,1)^
1737 031620 201 07 0 00 031620 MOVEI AC+2,. ;SAVE TEST PC
1738 031621 202 07 0 00 030051 MOVEM AC+2,TESTPC
1739 031622 201 07 0 00 000007 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
1740 031623 202 07 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
1741
1742 031624 551 03 0 00 550000 G7000: HRRZI AC-2,550000 ;SETUP AC-2 FOR COMPARISON
1743 031625 541 03 0 00 550000 HRRI AC-2,550000 ;FOR COMPARISON
1744 031626 205 06 0 00 140600 MOVSI AC+1,140600 ;SETUP PNTR WORD
1745 031627 201 05 0 00 005555 MOVEI AC,5555 ;SETUP BYTE WORD
1746 031630 400 00 0 00 000000 SETZ ;SETUP DEST WORD
1747 031631 137 05 0 00 000006 DPB AC,<AC+1>&17 ;DEPOSIT BYTE (AC0)
1748 031632 312 00 0 00 000003 CAME ,<AC-2>&17 ;TEST DEST WORD=0,,550000
1749 031633 012 00 0 00 007001 ER12 ,7001 ;BYTE WORD FAILED
1750 031634 321 07 0 00 031624 JUMPL AC+2,G7000 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 26
DAKAMM MAC 20-JAN-77 11:34 PART IA - BYTE MANIPULATION SEQ 0057
1751
1752 ;INST-DPB
1753 ;P FIELD = 6
1754 ;S FIELD = 14
1755 ;BYTE WORD=55
1756 ;DEST WORD = -1
1757 ;FAILURE OF ANY ONE RESULTS IN A
1758 ;BYTE = 777777 000077
1759
1760 000014 AC=14
1761 SAVEAC (1,1)^
1762 031635 201 16 0 00 031635 MOVEI AC+2,. ;SAVE TEST PC
1763 031636 202 16 0 00 030051 MOVEM AC+2,TESTPC
1764 031637 201 16 0 00 000016 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
1765 031640 202 16 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
1766
1767 031641 561 12 0 00 005577 G7100: HRROI AC-2,5577 ;SETUP FOR COMPARISON
1768 031642 205 15 0 00 061400 MOVSI AC+1,061400 ;SETUP PNTR WORD
1769 031643 201 14 0 00 000055 MOVEI AC,55 ;SETUP BYTE WORD
1770 031644 474 00 0 00 000000 SETO ;SETUP DEST WORD
1771 031645 137 14 0 00 000015 DPB AC,<AC+1>&17 ;DEPOSIT BYTE (AC0)
1772 031646 312 00 0 00 000012 CAME ,<AC-2>&17 ;TEST BYTE=777777 005577
1773 031647 012 00 0 00 007101 ER12 ,7101 ;BYTE WORD FAILED
1774 031650 321 16 0 00 031641 JUMPL AC+2,G7100 ;LOOP ON ERROR SWITCH
1775
1776 ;INST-DPB
1777 ;P FIELD=14
1778 ;S FIELD=6
1779 ;BYTE WORD=55
1780 ;DEST WORD=0
1781 ;FAILURE RESULTS IN A DEPOSIT
1782 ;BYTE=777777557777
1783
1784 000013 AC=13
1785 SAVEAC (1,1)^
1786 031651 201 15 0 00 031651 MOVEI AC+2,. ;SAVE TEST PC
1787 031652 202 15 0 00 030051 MOVEM AC+2,TESTPC
1788 031653 201 15 0 00 000015 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
1789 031654 202 15 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
1790
1791 031655 551 11 0 00 550000 G7200: HRRZI AC-2,550000 ;SETUP FOR COMPARISON
1792 031656 205 14 0 00 140600 MOVSI AC+1,140600 ;SETUP PNTR WORD
1793 031657 201 13 0 00 000055 MOVEI AC,55 ;SETUP BYTE WORD
1794 031660 400 00 0 00 000000 SETZ ;SETUP DEST WORD
1795 031661 137 13 0 00 000014 DPB AC,<AC+1>&17 ;DEPOSIT BYTE (AC0)
1796 031662 312 00 0 00 000011 CAME ,<AC-2>&17 ;TEST DEST WORD=0,,550000
1797 031663 012 00 0 00 007201 ER12 ,7201 ;BYTE WORD FAILED
1798 031664 321 15 0 00 031655 JUMPL AC+2,G7200 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 27
DAKAMM MAC 20-JAN-77 11:34 PART IA - BYTE MANIPULATION SEQ 0058
1799 ;INST-DBP
1800 ;P FIELD=22
1801 ;S FIELD=6
1802 ;BYTE WORD=5555
1803 ;DEST WORD=-1
1804 ;FAILURE RESULTS IN A DEPOSIT
1805 ;BYTE=005455777777
1806
1807 000011 AC=11
1808 SAVEAC (1,1)^
1809 031665 201 13 0 00 031665 MOVEI AC+2,. ;SAVE TEST PC
1810 031666 202 13 0 00 030051 MOVEM AC+2,TESTPC
1811 031667 201 13 0 00 000013 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
1812 031670 202 13 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
1813
1814 031671 525 07 0 00 777755 G7400: HRLOI AC-2,777755 ;SETUP FOR COMPARISON
1815 031672 205 12 0 00 220600 MOVSI AC+1,220600 ;SETUP PNTR WORD
1816 031673 201 11 0 00 005555 MOVEI AC,5555 ;SETUP BYTE WORD
1817 031674 474 00 0 00 000000 SETO ;SETUP DEST WORD
1818 031675 137 11 0 00 000012 DPB AC,<AC+1>&17 ;DEPOSIT BYTE (AC0)
1819 031676 312 00 0 00 000007 CAME ,<AC-2>&17 ;TEST DEST WORD=777755,,-1
1820 031677 012 00 0 00 007401 ER12 ,7401 ;BYTE WORD FAILED
1821 031700 321 13 0 00 031671 JUMPL AC+2,G7400 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 28
DAKAMM MAC 20-JAN-77 11:34 PART IA - BYTE MANIPULATION SEQ 0059
1822 ;INST-DPB
1823 ;TEST ABILITY TO CLEAR BYF6
1824 ;P FIELD=14
1825 ;S FIELD=6
1826 ;BYTE WORD=55
1827 ;DEST WORD=0
1828 ;AN ERROR WILL OCCUR IF BYF6(1) WHEN
1829 ;STORED BY JSP
1830
1831 000007 AC=7
1832 SAVEAC (1,1)^
1833 031701 201 11 0 00 031701 MOVEI AC+2,. ;SAVE TEST PC
1834 031702 202 11 0 00 030051 MOVEM AC+2,TESTPC
1835 031703 201 11 0 00 000011 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
1836 031704 202 11 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
1837
1838 031705 205 10 0 00 140600 G7600: MOVSI AC+1,140600 ;SETUP PNTR WORD
1839 031706 201 07 0 00 000055 MOVEI AC,55 ;SETUP BYTE WORD
1840 031707 400 00 0 00 000000 SETZ ;SETUP DEST WORD
1841 031710 137 07 0 00 000010 DPB AC,<AC+1>&17 ;DEPOSIT BYTE
1842 031711 265 07 0 00 031712 JSP AC,.+1 ;STORE FLAGS
1843 031712 603 07 0 00 020000 TLNE AC,020000 ;TEST BIT 4
1844 031713 013 07 0 00 007601 ER13 AC,7601 ;BYF6 FAILED TO CLEAR
1845 031714 321 11 0 00 031705 JUMPL AC+2,G7600 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 29
DAKAMM MAC 20-JAN-77 11:34 PART IA - BYTE MANIPULATION SEQ 0060
1846
1847 ;INST-IDPB
1848 ;TEST ABILITY TO ASSERT BYTE PTRINC
1849 ;TEST ABILITY TO ASSERT DB BYTE DEP
1850 ;FAILURE TO ASSERT BYTE PTR INC
1851 ;MAY CAUSE A HALT AT ET0
1852 ;FAILURE TO ASSERT DB BYTE DEP PREVENTS
1853 ;ARMQSHLT SCT3 (2ND PART)
1854 ;P FIELD=22
1855 ;S FIELD=6
1856 ;DEST WORD=0
1857 ;BYTE WORD=77
1858 ;AN ERROR WILL OCCUR IF BYTE PNTR
1859 ;WORD EQUALS ORIGINAL
1860 ;AN ERROR WILL OCCUR IF DEST WORD
1861 ;EQUALS BYTE WORD
1862
1863 000005 AC=5
1864 SAVEAC (1,1)^
1865 031715 201 07 0 00 031715 MOVEI AC+2,. ;SAVE TEST PC
1866 031716 202 07 0 00 030051 MOVEM AC+2,TESTPC
1867 031717 201 07 0 00 000007 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
1868 031720 202 07 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
1869
1870 031721 205 03 0 00 140600 G7700: MOVSI AC-2,140600 ;SETUP FOR COMPARISON
1871 031722 205 06 0 00 220600 MOVSI AC+1,220600 ;SETUP PNTR WORD
1872 031723 201 05 0 00 000077 MOVEI AC,77 ;SETUP BYTE WORD
1873 031724 400 00 0 00 000000 SETZ ;SETUP DEST WORD (AC0)
1874 031725 136 05 0 00 000006 IDPB AC,<AC+1>&17 ;INC AND DEPOSIT BYTE
1875 031726 312 06 0 00 000003 CAME AC+1,<AC-2>&17 ;TEST FOR INCREMENTED PNTR
1876 031727 005 06 0 00 007701 ER5 AC+1,7701 ;BYTE PTR INC FAILED
1877 031730 302 00 0 00 770000 CAIE ,770000 ;TEST DEST WORD
1878 031731 012 00 0 00 007701 ER12 ,7701 ;DB BYTE DEP FAILED
1879 031732 321 07 0 00 031721 JUMPL AC+2,G7700 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 30
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0061
1880 SUBTTL PART IB-GENERAL BYTE TEST
1881
1882 ;PART IA- GENERAL BYTE TEST
1883
1884 ;INST-IBP
1885 ;DECREASING P FIELD
1886 ;P FIELD=22,20,16,14,12
1887 ;S FIELD=6
1888 ;RESULTANT P FIELDS=14,12,10,6,4
1889 ;AN ERROR WILL OCCUR ON AN
1890 ;INCORRECT INCREMENTED PNTR WORD
1891
1892 000005 AC=5
1893 SAVEAC (1,1)^
1894 031733 201 07 0 00 031733 MOVEI AC+2,. ;SAVE TEST PC
1895 031734 202 07 0 00 030051 MOVEM AC+2,TESTPC
1896 031735 201 07 0 00 000007 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
1897 031736 202 07 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
1898
1899 010000 SN=10000
1900 160600 XX=160600
1901 240600 ZZ=240600
1902
1903 ;TEST IBP
1904 G10000: REPEAT ^D5,<
1905 SN=SN+1
1906 XX=XX-020000
1907 ZZ=ZZ-020000
1908 MOVSI AC-2,XX ;SETUP FOR COMPARISON
1909 MOVSI AC+1,ZZ ;SETUP PNTR WORD
1910 IBP ,<AC+1>&17 ;INC BYTE PNTR
1911 CAME AC+1,<AC-2>&17 ;TEST INC PNTR
1912 ER5 AC+1,SN ;IBP FAILED
1913 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH
1914 >
1915
1916 010001 SN=SN+1
1917 140600 XX=XX-020000
1918 220600 ZZ=ZZ-020000
1919 031737 205 03 0 00 140600 MOVSI AC-2,XX ;SETUP FOR COMPARISON
1920 031740 205 06 0 00 220600 MOVSI AC+1,ZZ ;SETUP PNTR WORD
1921 031741 133 00 0 00 000006 IBP ,<AC+1>&17 ;INC BYTE PNTR
1922 031742 312 06 0 00 000003 CAME AC+1,<AC-2>&17 ;TEST INC PNTR
1923 031743 005 06 0 00 010001 ER5 AC+1,SN ;IBP FAILED
1924 031744 321 07 0 00 031737 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH
1925
1926
1927 010002 SN=SN+1
1928 120600 XX=XX-020000
1929 200600 ZZ=ZZ-020000
1930 031745 205 03 0 00 120600 MOVSI AC-2,XX ;SETUP FOR COMPARISON
1931 031746 205 06 0 00 200600 MOVSI AC+1,ZZ ;SETUP PNTR WORD
1932 031747 133 00 0 00 000006 IBP ,<AC+1>&17 ;INC BYTE PNTR
1933 031750 312 06 0 00 000003 CAME AC+1,<AC-2>&17 ;TEST INC PNTR
1934 031751 005 06 0 00 010002 ER5 AC+1,SN ;IBP FAILED
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 30-1
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0062
1935 031752 321 07 0 00 031745 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH
1936
1937
1938 010003 SN=SN+1
1939 100600 XX=XX-020000
1940 160600 ZZ=ZZ-020000
1941 031753 205 03 0 00 100600 MOVSI AC-2,XX ;SETUP FOR COMPARISON
1942 031754 205 06 0 00 160600 MOVSI AC+1,ZZ ;SETUP PNTR WORD
1943 031755 133 00 0 00 000006 IBP ,<AC+1>&17 ;INC BYTE PNTR
1944 031756 312 06 0 00 000003 CAME AC+1,<AC-2>&17 ;TEST INC PNTR
1945 031757 005 06 0 00 010003 ER5 AC+1,SN ;IBP FAILED
1946 031760 321 07 0 00 031753 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH
1947
1948
1949 010004 SN=SN+1
1950 060600 XX=XX-020000
1951 140600 ZZ=ZZ-020000
1952 031761 205 03 0 00 060600 MOVSI AC-2,XX ;SETUP FOR COMPARISON
1953 031762 205 06 0 00 140600 MOVSI AC+1,ZZ ;SETUP PNTR WORD
1954 031763 133 00 0 00 000006 IBP ,<AC+1>&17 ;INC BYTE PNTR
1955 031764 312 06 0 00 000003 CAME AC+1,<AC-2>&17 ;TEST INC PNTR
1956 031765 005 06 0 00 010004 ER5 AC+1,SN ;IBP FAILED
1957 031766 321 07 0 00 031761 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH
1958
1959
1960 010005 SN=SN+1
1961 040600 XX=XX-020000
1962 120600 ZZ=ZZ-020000
1963 031767 205 03 0 00 040600 MOVSI AC-2,XX ;SETUP FOR COMPARISON
1964 031770 205 06 0 00 120600 MOVSI AC+1,ZZ ;SETUP PNTR WORD
1965 031771 133 00 0 00 000006 IBP ,<AC+1>&17 ;INC BYTE PNTR
1966 031772 312 06 0 00 000003 CAME AC+1,<AC-2>&17 ;TEST INC PNTR
1967 031773 005 06 0 00 010005 ER5 AC+1,SN ;IBP FAILED
1968 031774 321 07 0 00 031767 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH
1969
1970 PAGE
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 30-2
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0063
1971 ;INST-IBP
1972 ;DECREASING S FIELD
1973 ;P FIELD=22
1974 ;S FIELD=14,12,10,6,4
1975 ;RESULTANT P FIELDS=6,10,12,14,16
1976 ;AN ERROR WILL OCCUR ON AN
1977 ;INCORRECT INCREMENTED PNTR WORD
1978
1979 000014 AC=14
1980 SAVEAC (1,1)^
1981 031775 201 16 0 00 031775 MOVEI AC+2,. ;SAVE TEST PC
1982 031776 202 16 0 00 030051 MOVEM AC+2,TESTPC
1983 031777 201 16 0 00 000016 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
1984 032000 202 16 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
1985
1986 010100 SN=10100
1987 040000 XX=040000
1988 001600 WW=001600
1989 221600 ZZ=221600
1990
1991 ;TEST IBP
1992 G10100: REPEAT ^D5,<
1993 SN=SN+1
1994 XX=XX+020000
1995 WW=WW-000200
1996 ZZ=ZZ-000200
1997 MOVSI AC-2,XX+WW ;SETUP FOR COMPARISON
1998 MOVSI AC+1,ZZ ;SETUP PNTR WORD
1999 IBP ,<AC+1>&17 ;INC BYTE PNTR
2000 CAME AC+1,<AC-2>&17 ;TEST INC PNTR
2001 ER5 AC+1,SN ;IBP FAILED
2002 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH
2003 >
2004
2005 010101 SN=SN+1
2006 060000 XX=XX+020000
2007 001400 WW=WW-000200
2008 221400 ZZ=ZZ-000200
2009 032001 205 12 0 00 061400 MOVSI AC-2,XX+WW ;SETUP FOR COMPARISON
2010 032002 205 15 0 00 221400 MOVSI AC+1,ZZ ;SETUP PNTR WORD
2011 032003 133 00 0 00 000015 IBP ,<AC+1>&17 ;INC BYTE PNTR
2012 032004 312 15 0 00 000012 CAME AC+1,<AC-2>&17 ;TEST INC PNTR
2013 032005 005 15 0 00 010101 ER5 AC+1,SN ;IBP FAILED
2014 032006 321 16 0 00 032001 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH
2015
2016
2017 010102 SN=SN+1
2018 100000 XX=XX+020000
2019 001200 WW=WW-000200
2020 221200 ZZ=ZZ-000200
2021 032007 205 12 0 00 101200 MOVSI AC-2,XX+WW ;SETUP FOR COMPARISON
2022 032010 205 15 0 00 221200 MOVSI AC+1,ZZ ;SETUP PNTR WORD
2023 032011 133 00 0 00 000015 IBP ,<AC+1>&17 ;INC BYTE PNTR
2024 032012 312 15 0 00 000012 CAME AC+1,<AC-2>&17 ;TEST INC PNTR
2025 032013 005 15 0 00 010102 ER5 AC+1,SN ;IBP FAILED
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 30-3
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0064
2026 032014 321 16 0 00 032007 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH
2027
2028
2029 010103 SN=SN+1
2030 120000 XX=XX+020000
2031 001000 WW=WW-000200
2032 221000 ZZ=ZZ-000200
2033 032015 205 12 0 00 121000 MOVSI AC-2,XX+WW ;SETUP FOR COMPARISON
2034 032016 205 15 0 00 221000 MOVSI AC+1,ZZ ;SETUP PNTR WORD
2035 032017 133 00 0 00 000015 IBP ,<AC+1>&17 ;INC BYTE PNTR
2036 032020 312 15 0 00 000012 CAME AC+1,<AC-2>&17 ;TEST INC PNTR
2037 032021 005 15 0 00 010103 ER5 AC+1,SN ;IBP FAILED
2038 032022 321 16 0 00 032015 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH
2039
2040
2041 010104 SN=SN+1
2042 140000 XX=XX+020000
2043 000600 WW=WW-000200
2044 220600 ZZ=ZZ-000200
2045 032023 205 12 0 00 140600 MOVSI AC-2,XX+WW ;SETUP FOR COMPARISON
2046 032024 205 15 0 00 220600 MOVSI AC+1,ZZ ;SETUP PNTR WORD
2047 032025 133 00 0 00 000015 IBP ,<AC+1>&17 ;INC BYTE PNTR
2048 032026 312 15 0 00 000012 CAME AC+1,<AC-2>&17 ;TEST INC PNTR
2049 032027 005 15 0 00 010104 ER5 AC+1,SN ;IBP FAILED
2050 032030 321 16 0 00 032023 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH
2051
2052
2053 010105 SN=SN+1
2054 160000 XX=XX+020000
2055 000400 WW=WW-000200
2056 220400 ZZ=ZZ-000200
2057 032031 205 12 0 00 160400 MOVSI AC-2,XX+WW ;SETUP FOR COMPARISON
2058 032032 205 15 0 00 220400 MOVSI AC+1,ZZ ;SETUP PNTR WORD
2059 032033 133 00 0 00 000015 IBP ,<AC+1>&17 ;INC BYTE PNTR
2060 032034 312 15 0 00 000012 CAME AC+1,<AC-2>&17 ;TEST INC PNTR
2061 032035 005 15 0 00 010105 ER5 AC+1,SN ;IBP FAILED
2062 032036 321 16 0 00 032031 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH
2063
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 31
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0065
2064
2065 ;INST-IBP
2066 ;OVERFLOW AND INC ADDRESS
2067 ;P FIELD=0
2068 ;S FIELD=14,12,10,6,4
2069 ;RESULTANT P FIELDS=30,32,34,36,40
2070 ;ADDRESS FIELD INCREMENTED BY ONE
2071 ;AN ERROR WILL OCCUR ON AN INCORRECT
2072 ;INCREMENTED PNTR WORD
2073
2074 000013 AC=13
2075 SAVEAC (1,1)^
2076 032037 201 15 0 00 032037 MOVEI AC+2,. ;SAVE TEST PC
2077 032040 202 15 0 00 030051 MOVEM AC+2,TESTPC
2078 032041 201 15 0 00 000015 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
2079 032042 202 15 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
2080
2081 010200 SN=10200
2082 260000 XX=260000
2083 001600 ZZ=001600
2084
2085 ;TEST IBP
2086 G10200: REPEAT ^D5,<
2087 SN=SN+1
2088 XX=XX+020000
2089 ZZ=ZZ-000200
2090 MOVSI AC-2,XX+ZZ ;SETUP AC-2
2091 AOJ AC-2, ;FOR COMPARISON
2092 MOVSI AC+1,ZZ ;SETUP PNTR WORD
2093 IBP ,<AC+1>&17 ;INC BYTE PNTR
2094 CAME AC+1,<AC-2>&17 ;TEST INC PNTR
2095 ER5 AC+1,SN ;IBP FAILED
2096 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
2097 >
2098
2099 010201 SN=SN+1
2100 300000 XX=XX+020000
2101 001400 ZZ=ZZ-000200
2102 032043 205 11 0 00 301400 MOVSI AC-2,XX+ZZ ;SETUP AC-2
2103 032044 340 11 0 00 000000 AOJ AC-2, ;FOR COMPARISON
2104 032045 205 14 0 00 001400 MOVSI AC+1,ZZ ;SETUP PNTR WORD
2105 032046 133 00 0 00 000014 IBP ,<AC+1>&17 ;INC BYTE PNTR
2106 032047 312 14 0 00 000011 CAME AC+1,<AC-2>&17 ;TEST INC PNTR
2107 032050 005 14 0 00 010201 ER5 AC+1,SN ;IBP FAILED
2108 032051 321 15 0 00 032043 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
2109
2110
2111 010202 SN=SN+1
2112 320000 XX=XX+020000
2113 001200 ZZ=ZZ-000200
2114 032052 205 11 0 00 321200 MOVSI AC-2,XX+ZZ ;SETUP AC-2
2115 032053 340 11 0 00 000000 AOJ AC-2, ;FOR COMPARISON
2116 032054 205 14 0 00 001200 MOVSI AC+1,ZZ ;SETUP PNTR WORD
2117 032055 133 00 0 00 000014 IBP ,<AC+1>&17 ;INC BYTE PNTR
2118 032056 312 14 0 00 000011 CAME AC+1,<AC-2>&17 ;TEST INC PNTR
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 31-1
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0066
2119 032057 005 14 0 00 010202 ER5 AC+1,SN ;IBP FAILED
2120 032060 321 15 0 00 032052 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
2121
2122
2123 010203 SN=SN+1
2124 340000 XX=XX+020000
2125 001000 ZZ=ZZ-000200
2126 032061 205 11 0 00 341000 MOVSI AC-2,XX+ZZ ;SETUP AC-2
2127 032062 340 11 0 00 000000 AOJ AC-2, ;FOR COMPARISON
2128 032063 205 14 0 00 001000 MOVSI AC+1,ZZ ;SETUP PNTR WORD
2129 032064 133 00 0 00 000014 IBP ,<AC+1>&17 ;INC BYTE PNTR
2130 032065 312 14 0 00 000011 CAME AC+1,<AC-2>&17 ;TEST INC PNTR
2131 032066 005 14 0 00 010203 ER5 AC+1,SN ;IBP FAILED
2132 032067 321 15 0 00 032061 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
2133
2134
2135 010204 SN=SN+1
2136 360000 XX=XX+020000
2137 000600 ZZ=ZZ-000200
2138 032070 205 11 0 00 360600 MOVSI AC-2,XX+ZZ ;SETUP AC-2
2139 032071 340 11 0 00 000000 AOJ AC-2, ;FOR COMPARISON
2140 032072 205 14 0 00 000600 MOVSI AC+1,ZZ ;SETUP PNTR WORD
2141 032073 133 00 0 00 000014 IBP ,<AC+1>&17 ;INC BYTE PNTR
2142 032074 312 14 0 00 000011 CAME AC+1,<AC-2>&17 ;TEST INC PNTR
2143 032075 005 14 0 00 010204 ER5 AC+1,SN ;IBP FAILED
2144 032076 321 15 0 00 032070 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
2145
2146
2147 010205 SN=SN+1
2148 400000 XX=XX+020000
2149 000400 ZZ=ZZ-000200
2150 032077 205 11 0 00 400400 MOVSI AC-2,XX+ZZ ;SETUP AC-2
2151 032100 340 11 0 00 000000 AOJ AC-2, ;FOR COMPARISON
2152 032101 205 14 0 00 000400 MOVSI AC+1,ZZ ;SETUP PNTR WORD
2153 032102 133 00 0 00 000014 IBP ,<AC+1>&17 ;INC BYTE PNTR
2154 032103 312 14 0 00 000011 CAME AC+1,<AC-2>&17 ;TEST INC PNTR
2155 032104 005 14 0 00 010205 ER5 AC+1,SN ;IBP FAILED
2156 032105 321 15 0 00 032077 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
2157
2158 PAGE
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 31-2
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0067
2159 ;INST-LDB
2160 ;INCREASING S FIELD
2161 ;P FIELD=22
2162 ;S FIELD=1,2,3,4,5
2163 ;BYTE WORD=777777000000
2164 ;AN ERROR WILL OCCUR IF AN
2165 ;IN CORRECT BYTE IS LOADED
2166 ;INTO AC
2167
2168 000012 AC=12
2169 SAVEAC (1,1)^
2170 032106 201 14 0 00 032106 MOVEI AC+2,. ;SAVE TEST PC
2171 032107 202 14 0 00 030051 MOVEM AC+2,TESTPC
2172 032110 201 14 0 00 000014 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
2173 032111 202 14 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
2174
2175 010300 SN=10300
2176 220000 XX=220000
2177 000000 ZZ=0
2178
2179 ;TEST LDB
2180 G10300: REPEAT ^D5,<
2181 SN=SN+1
2182 XX=XX+000100
2183 ZZ=ZZ*2+1
2184 MOVSI AC+1,XX ;SETUP PNTR WORD
2185 HRLZI ,-1 ;SETUP BYTE WORD (AC0)
2186 LDB AC,<AC+1>&17 ;LOAD BYTE
2187 CAIE AC,ZZ ;TEST DEST AC
2188 ER3 AC,SN ;LDB FAILED
2189 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH
2190 >
2191
2192 010301 SN=SN+1
2193 220100 XX=XX+000100
2194 000001 ZZ=ZZ*2+1
2195 032112 205 13 0 00 220100 MOVSI AC+1,XX ;SETUP PNTR WORD
2196 032113 515 00 0 00 777777 HRLZI ,-1 ;SETUP BYTE WORD (AC0)
2197 032114 135 12 0 00 000013 LDB AC,<AC+1>&17 ;LOAD BYTE
2198 032115 302 12 0 00 000001 CAIE AC,ZZ ;TEST DEST AC
2199 032116 003 12 0 00 010301 ER3 AC,SN ;LDB FAILED
2200 032117 321 14 0 00 032112 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH
2201
2202
2203 010302 SN=SN+1
2204 220200 XX=XX+000100
2205 000003 ZZ=ZZ*2+1
2206 032120 205 13 0 00 220200 MOVSI AC+1,XX ;SETUP PNTR WORD
2207 032121 515 00 0 00 777777 HRLZI ,-1 ;SETUP BYTE WORD (AC0)
2208 032122 135 12 0 00 000013 LDB AC,<AC+1>&17 ;LOAD BYTE
2209 032123 302 12 0 00 000003 CAIE AC,ZZ ;TEST DEST AC
2210 032124 003 12 0 00 010302 ER3 AC,SN ;LDB FAILED
2211 032125 321 14 0 00 032120 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH
2212
2213
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 31-3
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0068
2214 010303 SN=SN+1
2215 220300 XX=XX+000100
2216 000007 ZZ=ZZ*2+1
2217 032126 205 13 0 00 220300 MOVSI AC+1,XX ;SETUP PNTR WORD
2218 032127 515 00 0 00 777777 HRLZI ,-1 ;SETUP BYTE WORD (AC0)
2219 032130 135 12 0 00 000013 LDB AC,<AC+1>&17 ;LOAD BYTE
2220 032131 302 12 0 00 000007 CAIE AC,ZZ ;TEST DEST AC
2221 032132 003 12 0 00 010303 ER3 AC,SN ;LDB FAILED
2222 032133 321 14 0 00 032126 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH
2223
2224
2225 010304 SN=SN+1
2226 220400 XX=XX+000100
2227 000017 ZZ=ZZ*2+1
2228 032134 205 13 0 00 220400 MOVSI AC+1,XX ;SETUP PNTR WORD
2229 032135 515 00 0 00 777777 HRLZI ,-1 ;SETUP BYTE WORD (AC0)
2230 032136 135 12 0 00 000013 LDB AC,<AC+1>&17 ;LOAD BYTE
2231 032137 302 12 0 00 000017 CAIE AC,ZZ ;TEST DEST AC
2232 032140 003 12 0 00 010304 ER3 AC,SN ;LDB FAILED
2233 032141 321 14 0 00 032134 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH
2234
2235
2236 010305 SN=SN+1
2237 220500 XX=XX+000100
2238 000037 ZZ=ZZ*2+1
2239 032142 205 13 0 00 220500 MOVSI AC+1,XX ;SETUP PNTR WORD
2240 032143 515 00 0 00 777777 HRLZI ,-1 ;SETUP BYTE WORD (AC0)
2241 032144 135 12 0 00 000013 LDB AC,<AC+1>&17 ;LOAD BYTE
2242 032145 302 12 0 00 000037 CAIE AC,ZZ ;TEST DEST AC
2243 032146 003 12 0 00 010305 ER3 AC,SN ;LDB FAILED
2244 032147 321 14 0 00 032142 JUMPL AC+2,.-5 ;LOOP ON ERROR SWITCH
2245
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 32
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0069
2246
2247 ;INST-LDB
2248 ;INCREASING BYTE WORD
2249 ;INCREASING P FIELD
2250 ;P FIELD=14,17,22,25,33
2251 ;S FIELD=3
2252 ;BYTE WORD=000000070000 SHIFTING
2253 ;LEFT BY 3
2254 ;AN ERROR WILL OCCUR IF DEST AC
2255 ;DIFFERS FROM 7
2256
2257 000011 AC=11
2258 SAVEAC (1,1)^
2259 032150 201 13 0 00 032150 MOVEI AC+2,. ;SAVE TEST PC
2260 032151 202 13 0 00 030051 MOVEM AC+2,TESTPC
2261 032152 201 13 0 00 000013 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
2262 032153 202 13 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
2263
2264 010400 SN=10400
2265 000000 XX=0
2266 110300 ZZ=110300
2267
2268 ;TEST LDB
2269 G10400: REPEAT ^D5,<
2270 SN=SN+1
2271 XX=XX+3
2272 ZZ=ZZ+030000
2273 MOVSI AC+1,ZZ ;SETUP PNTR WORD
2274 MOVEI ,7000 ;SETUP BYTE WORD
2275 ROT ,XX ;ROTATE LEFT BY 3
2276 LDB AC,<AC+1>&17 ;LOAD BYTE
2277 CAIE AC,7 ;TEST DEST AC=7
2278 ER3 AC,SN ;LDB FAILED
2279 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
2280 >
2281
2282 010401 SN=SN+1
2283 000003 XX=XX+3
2284 140300 ZZ=ZZ+030000
2285 032154 205 12 0 00 140300 MOVSI AC+1,ZZ ;SETUP PNTR WORD
2286 032155 201 00 0 00 007000 MOVEI ,7000 ;SETUP BYTE WORD
2287 032156 241 00 0 00 000003 ROT ,XX ;ROTATE LEFT BY 3
2288 032157 135 11 0 00 000012 LDB AC,<AC+1>&17 ;LOAD BYTE
2289 032160 302 11 0 00 000007 CAIE AC,7 ;TEST DEST AC=7
2290 032161 003 11 0 00 010401 ER3 AC,SN ;LDB FAILED
2291 032162 321 13 0 00 032154 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
2292
2293
2294 010402 SN=SN+1
2295 000006 XX=XX+3
2296 170300 ZZ=ZZ+030000
2297 032163 205 12 0 00 170300 MOVSI AC+1,ZZ ;SETUP PNTR WORD
2298 032164 201 00 0 00 007000 MOVEI ,7000 ;SETUP BYTE WORD
2299 032165 241 00 0 00 000006 ROT ,XX ;ROTATE LEFT BY 3
2300 032166 135 11 0 00 000012 LDB AC,<AC+1>&17 ;LOAD BYTE
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 32-1
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0070
2301 032167 302 11 0 00 000007 CAIE AC,7 ;TEST DEST AC=7
2302 032170 003 11 0 00 010402 ER3 AC,SN ;LDB FAILED
2303 032171 321 13 0 00 032163 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
2304
2305
2306 010403 SN=SN+1
2307 000011 XX=XX+3
2308 220300 ZZ=ZZ+030000
2309 032172 205 12 0 00 220300 MOVSI AC+1,ZZ ;SETUP PNTR WORD
2310 032173 201 00 0 00 007000 MOVEI ,7000 ;SETUP BYTE WORD
2311 032174 241 00 0 00 000011 ROT ,XX ;ROTATE LEFT BY 3
2312 032175 135 11 0 00 000012 LDB AC,<AC+1>&17 ;LOAD BYTE
2313 032176 302 11 0 00 000007 CAIE AC,7 ;TEST DEST AC=7
2314 032177 003 11 0 00 010403 ER3 AC,SN ;LDB FAILED
2315 032200 321 13 0 00 032172 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
2316
2317
2318 010404 SN=SN+1
2319 000014 XX=XX+3
2320 250300 ZZ=ZZ+030000
2321 032201 205 12 0 00 250300 MOVSI AC+1,ZZ ;SETUP PNTR WORD
2322 032202 201 00 0 00 007000 MOVEI ,7000 ;SETUP BYTE WORD
2323 032203 241 00 0 00 000014 ROT ,XX ;ROTATE LEFT BY 3
2324 032204 135 11 0 00 000012 LDB AC,<AC+1>&17 ;LOAD BYTE
2325 032205 302 11 0 00 000007 CAIE AC,7 ;TEST DEST AC=7
2326 032206 003 11 0 00 010404 ER3 AC,SN ;LDB FAILED
2327 032207 321 13 0 00 032201 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
2328
2329
2330 010405 SN=SN+1
2331 000017 XX=XX+3
2332 300300 ZZ=ZZ+030000
2333 032210 205 12 0 00 300300 MOVSI AC+1,ZZ ;SETUP PNTR WORD
2334 032211 201 00 0 00 007000 MOVEI ,7000 ;SETUP BYTE WORD
2335 032212 241 00 0 00 000017 ROT ,XX ;ROTATE LEFT BY 3
2336 032213 135 11 0 00 000012 LDB AC,<AC+1>&17 ;LOAD BYTE
2337 032214 302 11 0 00 000007 CAIE AC,7 ;TEST DEST AC=7
2338 032215 003 11 0 00 010405 ER3 AC,SN ;LDB FAILED
2339 032216 321 13 0 00 032210 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
2340
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 33
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0071
2341
2342 ;INST-LDB
2343 ;VARY BYTE ADDRESS
2344 ;P FIELD=22
2345 ;S FIELD=3
2346 ;BYTE WORD=AC NUMBER
2347 ;BYTE PNTR ADDR=AC 6,5,4,3,2
2348 ;AN ERROR WILL OCCUR IF C(DEST AC)
2349 ;DIFFERS FROM AC UNDER TEST
2350
2351 000007 AC=7
2352 SAVEAC (1,1)^
2353 032217 201 11 0 00 032217 MOVEI AC+2,. ;SAVE TEST PC
2354 032220 202 11 0 00 030051 MOVEM AC+2,TESTPC
2355 032221 201 11 0 00 000011 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
2356 032222 202 11 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
2357
2358 010500 SN=10500
2359 000007 ZZ=7
2360
2361 ;TEST LOAD BYTE
2362 G10500: REPEAT ^D5,<
2363 SN=SN+1
2364 ZZ=ZZ-1
2365 HRLI AC+1,220300 ;SETUP BYTE
2366 HRRI AC+1,ZZ ;PNTR WORD
2367 MOVSI ZZ,ZZ ;SETUP BYTE WORD
2368 LDB AC,<AC+1>&17 ;LOAD BYTE
2369 CAIE AC,ZZ ;TEST DEST AC=AC NUMBER
2370 ER3 AC,SN ;LDB FAILED
2371 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
2372 >
2373
2374 010501 SN=SN+1
2375 000006 ZZ=ZZ-1
2376 032223 505 10 0 00 220300 HRLI AC+1,220300 ;SETUP BYTE
2377 032224 541 10 0 00 000006 HRRI AC+1,ZZ ;PNTR WORD
2378 032225 205 06 0 00 000006 MOVSI ZZ,ZZ ;SETUP BYTE WORD
2379 032226 135 07 0 00 000010 LDB AC,<AC+1>&17 ;LOAD BYTE
2380 032227 302 07 0 00 000006 CAIE AC,ZZ ;TEST DEST AC=AC NUMBER
2381 032230 003 07 0 00 010501 ER3 AC,SN ;LDB FAILED
2382 032231 321 11 0 00 032223 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
2383
2384
2385 010502 SN=SN+1
2386 000005 ZZ=ZZ-1
2387 032232 505 10 0 00 220300 HRLI AC+1,220300 ;SETUP BYTE
2388 032233 541 10 0 00 000005 HRRI AC+1,ZZ ;PNTR WORD
2389 032234 205 05 0 00 000005 MOVSI ZZ,ZZ ;SETUP BYTE WORD
2390 032235 135 07 0 00 000010 LDB AC,<AC+1>&17 ;LOAD BYTE
2391 032236 302 07 0 00 000005 CAIE AC,ZZ ;TEST DEST AC=AC NUMBER
2392 032237 003 07 0 00 010502 ER3 AC,SN ;LDB FAILED
2393 032240 321 11 0 00 032232 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
2394
2395
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 33-1
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0072
2396 010503 SN=SN+1
2397 000004 ZZ=ZZ-1
2398 032241 505 10 0 00 220300 HRLI AC+1,220300 ;SETUP BYTE
2399 032242 541 10 0 00 000004 HRRI AC+1,ZZ ;PNTR WORD
2400 032243 205 04 0 00 000004 MOVSI ZZ,ZZ ;SETUP BYTE WORD
2401 032244 135 07 0 00 000010 LDB AC,<AC+1>&17 ;LOAD BYTE
2402 032245 302 07 0 00 000004 CAIE AC,ZZ ;TEST DEST AC=AC NUMBER
2403 032246 003 07 0 00 010503 ER3 AC,SN ;LDB FAILED
2404 032247 321 11 0 00 032241 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
2405
2406
2407 010504 SN=SN+1
2408 000003 ZZ=ZZ-1
2409 032250 505 10 0 00 220300 HRLI AC+1,220300 ;SETUP BYTE
2410 032251 541 10 0 00 000003 HRRI AC+1,ZZ ;PNTR WORD
2411 032252 205 03 0 00 000003 MOVSI ZZ,ZZ ;SETUP BYTE WORD
2412 032253 135 07 0 00 000010 LDB AC,<AC+1>&17 ;LOAD BYTE
2413 032254 302 07 0 00 000003 CAIE AC,ZZ ;TEST DEST AC=AC NUMBER
2414 032255 003 07 0 00 010504 ER3 AC,SN ;LDB FAILED
2415 032256 321 11 0 00 032250 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
2416
2417
2418 010505 SN=SN+1
2419 000002 ZZ=ZZ-1
2420 032257 505 10 0 00 220300 HRLI AC+1,220300 ;SETUP BYTE
2421 032260 541 10 0 00 000002 HRRI AC+1,ZZ ;PNTR WORD
2422 032261 205 02 0 00 000002 MOVSI ZZ,ZZ ;SETUP BYTE WORD
2423 032262 135 07 0 00 000010 LDB AC,<AC+1>&17 ;LOAD BYTE
2424 032263 302 07 0 00 000002 CAIE AC,ZZ ;TEST DEST AC=AC NUMBER
2425 032264 003 07 0 00 010505 ER3 AC,SN ;LDB FAILED
2426 032265 321 11 0 00 032257 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
2427
2428 PAGE
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 33-2
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0073
2429 ;INST-LDB
2430 ;BYTE PNTR INDEXED
2431 ;P FIELD=0
2432 ;S FIELD=3
2433 ;BYTE WORD=PNTR WORD
2434 ;AN ERROR WILL OCCUR IF LOADED
2435 ;BYTE DIFFERS FROM CURRENT
2436 ;AC NUMBER
2437
2438 000010 AC=10
2439 SAVEAC (1,1)^
2440 032266 201 12 0 00 032266 MOVEI AC+2,. ;SAVE TEST PC
2441 032267 202 12 0 00 030051 MOVEM AC+2,TESTPC
2442 032270 201 12 0 00 000012 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
2443 032271 202 12 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
2444
2445 010600 SN=10600
2446 000000 ZZ=0
2447
2448 ;TEST LDB INDEXED
2449 G10600: REPEAT ^D5,<
2450 SN=SN+1
2451 ZZ=ZZ+1
2452 MOVSI ,000300 ;SETUP NON IND PNTR WORD
2453 HRLI ZZ,000300 ;SETUP INDEXED
2454 HRRI ZZ,ZZ ;PNTR WORD
2455 LDB AC,(ZZ) ;LOAD BYTE INDEXED
2456 CAIE AC,ZZ ;TEST FOR AC NUMBER
2457 ER3 AC,SN ;LDB FAILED
2458 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
2459 >
2460
2461 010601 SN=SN+1
2462 000001 ZZ=ZZ+1
2463 032272 205 00 0 00 000300 MOVSI ,000300 ;SETUP NON IND PNTR WORD
2464 032273 505 01 0 00 000300 HRLI ZZ,000300 ;SETUP INDEXED
2465 032274 541 01 0 00 000001 HRRI ZZ,ZZ ;PNTR WORD
2466 032275 135 10 0 01 000000 LDB AC,(ZZ) ;LOAD BYTE INDEXED
2467 032276 302 10 0 00 000001 CAIE AC,ZZ ;TEST FOR AC NUMBER
2468 032277 003 10 0 00 010601 ER3 AC,SN ;LDB FAILED
2469 032300 321 12 0 00 032272 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
2470
2471
2472 010602 SN=SN+1
2473 000002 ZZ=ZZ+1
2474 032301 205 00 0 00 000300 MOVSI ,000300 ;SETUP NON IND PNTR WORD
2475 032302 505 02 0 00 000300 HRLI ZZ,000300 ;SETUP INDEXED
2476 032303 541 02 0 00 000002 HRRI ZZ,ZZ ;PNTR WORD
2477 032304 135 10 0 02 000000 LDB AC,(ZZ) ;LOAD BYTE INDEXED
2478 032305 302 10 0 00 000002 CAIE AC,ZZ ;TEST FOR AC NUMBER
2479 032306 003 10 0 00 010602 ER3 AC,SN ;LDB FAILED
2480 032307 321 12 0 00 032301 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
2481
2482
2483 010603 SN=SN+1
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 33-3
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0074
2484 000003 ZZ=ZZ+1
2485 032310 205 00 0 00 000300 MOVSI ,000300 ;SETUP NON IND PNTR WORD
2486 032311 505 03 0 00 000300 HRLI ZZ,000300 ;SETUP INDEXED
2487 032312 541 03 0 00 000003 HRRI ZZ,ZZ ;PNTR WORD
2488 032313 135 10 0 03 000000 LDB AC,(ZZ) ;LOAD BYTE INDEXED
2489 032314 302 10 0 00 000003 CAIE AC,ZZ ;TEST FOR AC NUMBER
2490 032315 003 10 0 00 010603 ER3 AC,SN ;LDB FAILED
2491 032316 321 12 0 00 032310 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
2492
2493
2494 010604 SN=SN+1
2495 000004 ZZ=ZZ+1
2496 032317 205 00 0 00 000300 MOVSI ,000300 ;SETUP NON IND PNTR WORD
2497 032320 505 04 0 00 000300 HRLI ZZ,000300 ;SETUP INDEXED
2498 032321 541 04 0 00 000004 HRRI ZZ,ZZ ;PNTR WORD
2499 032322 135 10 0 04 000000 LDB AC,(ZZ) ;LOAD BYTE INDEXED
2500 032323 302 10 0 00 000004 CAIE AC,ZZ ;TEST FOR AC NUMBER
2501 032324 003 10 0 00 010604 ER3 AC,SN ;LDB FAILED
2502 032325 321 12 0 00 032317 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
2503
2504
2505 010605 SN=SN+1
2506 000005 ZZ=ZZ+1
2507 032326 205 00 0 00 000300 MOVSI ,000300 ;SETUP NON IND PNTR WORD
2508 032327 505 05 0 00 000300 HRLI ZZ,000300 ;SETUP INDEXED
2509 032330 541 05 0 00 000005 HRRI ZZ,ZZ ;PNTR WORD
2510 032331 135 10 0 05 000000 LDB AC,(ZZ) ;LOAD BYTE INDEXED
2511 032332 302 10 0 00 000005 CAIE AC,ZZ ;TEST FOR AC NUMBER
2512 032333 003 10 0 00 010605 ER3 AC,SN ;LDB FAILED
2513 032334 321 12 0 00 032326 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
2514
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 34
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0075
2515
2516 ;INST-LDB
2517 ;BYTE PNTR INDIRECTLY ADDRESSED
2518 ;P FIELD=0
2519 ;S FIELD=3
2520 ;BYTE WORD=PNTR WORD
2521 ;AN ERROR WILL OCCUR IF LOADED
2522 ;BYTE DIFFERS FROM CURRENT
2523 ;AC NUMBER
2524
2525 000007 AC=7
2526 SAVEAC (1,1)^
2527 032335 201 11 0 00 032335 MOVEI AC+2,. ;SAVE TEST PC
2528 032336 202 11 0 00 030051 MOVEM AC+2,TESTPC
2529 032337 201 11 0 00 000011 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
2530 032340 202 11 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
2531
2532 010700 SN=10700
2533 000000 ZZ=0
2534
2535 ;TEST LDB INDIRECTLY ADDRESSED
2536 G10700: REPEAT ^D5,<
2537 SN=SN+1
2538 ZZ=ZZ+1
2539 MOVSI AC+1,440300 ;SETUP DIRECTLY ADDRESSED PNTR WORD
2540 HRRI AC+1,ZZ ;SETUP INDIRECT ADDRESS
2541 HRLI ZZ,000300 ;SETUP INDIRECTLY ADDRESSED
2542 HRRI ZZ,ZZ ;PNTR WORD
2543 SETZ ;SETUP DIRECTLY ADDRESSED BYTE WORD
2544 LDB AC,@<AC+1>&17 ;LOAD BYTE INDIRECTLY ADDRESSED
2545 CAIE AC,ZZ ;TEST FOR AC NUMBER
2546 ER3 AC,SN ;LDB INDIRECTLY ADDRESSED FAILED
2547 JUMPL AC+2,.-10 ;LOOP ON ERROR SWITCH
2548 >
2549
2550 010701 SN=SN+1
2551 000001 ZZ=ZZ+1
2552 032341 205 10 0 00 440300 MOVSI AC+1,440300 ;SETUP DIRECTLY ADDRESSED PNTR WORD
2553 032342 541 10 0 00 000001 HRRI AC+1,ZZ ;SETUP INDIRECT ADDRESS
2554 032343 505 01 0 00 000300 HRLI ZZ,000300 ;SETUP INDIRECTLY ADDRESSED
2555 032344 541 01 0 00 000001 HRRI ZZ,ZZ ;PNTR WORD
2556 032345 400 00 0 00 000000 SETZ ;SETUP DIRECTLY ADDRESSED BYTE WORD
2557 032346 135 07 1 00 000010 LDB AC,@<AC+1>&17 ;LOAD BYTE INDIRECTLY ADDRESSED
2558 032347 302 07 0 00 000001 CAIE AC,ZZ ;TEST FOR AC NUMBER
2559 032350 003 07 0 00 010701 ER3 AC,SN ;LDB INDIRECTLY ADDRESSED FAILED
2560 032351 321 11 0 00 032341 JUMPL AC+2,.-10 ;LOOP ON ERROR SWITCH
2561
2562
2563 010702 SN=SN+1
2564 000002 ZZ=ZZ+1
2565 032352 205 10 0 00 440300 MOVSI AC+1,440300 ;SETUP DIRECTLY ADDRESSED PNTR WORD
2566 032353 541 10 0 00 000002 HRRI AC+1,ZZ ;SETUP INDIRECT ADDRESS
2567 032354 505 02 0 00 000300 HRLI ZZ,000300 ;SETUP INDIRECTLY ADDRESSED
2568 032355 541 02 0 00 000002 HRRI ZZ,ZZ ;PNTR WORD
2569 032356 400 00 0 00 000000 SETZ ;SETUP DIRECTLY ADDRESSED BYTE WORD
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 34-1
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0076
2570 032357 135 07 1 00 000010 LDB AC,@<AC+1>&17 ;LOAD BYTE INDIRECTLY ADDRESSED
2571 032360 302 07 0 00 000002 CAIE AC,ZZ ;TEST FOR AC NUMBER
2572 032361 003 07 0 00 010702 ER3 AC,SN ;LDB INDIRECTLY ADDRESSED FAILED
2573 032362 321 11 0 00 032352 JUMPL AC+2,.-10 ;LOOP ON ERROR SWITCH
2574
2575
2576 010703 SN=SN+1
2577 000003 ZZ=ZZ+1
2578 032363 205 10 0 00 440300 MOVSI AC+1,440300 ;SETUP DIRECTLY ADDRESSED PNTR WORD
2579 032364 541 10 0 00 000003 HRRI AC+1,ZZ ;SETUP INDIRECT ADDRESS
2580 032365 505 03 0 00 000300 HRLI ZZ,000300 ;SETUP INDIRECTLY ADDRESSED
2581 032366 541 03 0 00 000003 HRRI ZZ,ZZ ;PNTR WORD
2582 032367 400 00 0 00 000000 SETZ ;SETUP DIRECTLY ADDRESSED BYTE WORD
2583 032370 135 07 1 00 000010 LDB AC,@<AC+1>&17 ;LOAD BYTE INDIRECTLY ADDRESSED
2584 032371 302 07 0 00 000003 CAIE AC,ZZ ;TEST FOR AC NUMBER
2585 032372 003 07 0 00 010703 ER3 AC,SN ;LDB INDIRECTLY ADDRESSED FAILED
2586 032373 321 11 0 00 032363 JUMPL AC+2,.-10 ;LOOP ON ERROR SWITCH
2587
2588
2589 010704 SN=SN+1
2590 000004 ZZ=ZZ+1
2591 032374 205 10 0 00 440300 MOVSI AC+1,440300 ;SETUP DIRECTLY ADDRESSED PNTR WORD
2592 032375 541 10 0 00 000004 HRRI AC+1,ZZ ;SETUP INDIRECT ADDRESS
2593 032376 505 04 0 00 000300 HRLI ZZ,000300 ;SETUP INDIRECTLY ADDRESSED
2594 032377 541 04 0 00 000004 HRRI ZZ,ZZ ;PNTR WORD
2595 032400 400 00 0 00 000000 SETZ ;SETUP DIRECTLY ADDRESSED BYTE WORD
2596 032401 135 07 1 00 000010 LDB AC,@<AC+1>&17 ;LOAD BYTE INDIRECTLY ADDRESSED
2597 032402 302 07 0 00 000004 CAIE AC,ZZ ;TEST FOR AC NUMBER
2598 032403 003 07 0 00 010704 ER3 AC,SN ;LDB INDIRECTLY ADDRESSED FAILED
2599 032404 321 11 0 00 032374 JUMPL AC+2,.-10 ;LOOP ON ERROR SWITCH
2600
2601
2602 010705 SN=SN+1
2603 000005 ZZ=ZZ+1
2604 032405 205 10 0 00 440300 MOVSI AC+1,440300 ;SETUP DIRECTLY ADDRESSED PNTR WORD
2605 032406 541 10 0 00 000005 HRRI AC+1,ZZ ;SETUP INDIRECT ADDRESS
2606 032407 505 05 0 00 000300 HRLI ZZ,000300 ;SETUP INDIRECTLY ADDRESSED
2607 032410 541 05 0 00 000005 HRRI ZZ,ZZ ;PNTR WORD
2608 032411 400 00 0 00 000000 SETZ ;SETUP DIRECTLY ADDRESSED BYTE WORD
2609 032412 135 07 1 00 000010 LDB AC,@<AC+1>&17 ;LOAD BYTE INDIRECTLY ADDRESSED
2610 032413 302 07 0 00 000005 CAIE AC,ZZ ;TEST FOR AC NUMBER
2611 032414 003 07 0 00 010705 ER3 AC,SN ;LDB INDIRECTLY ADDRESSED FAILED
2612 032415 321 11 0 00 032405 JUMPL AC+2,.-10 ;LOOP ON ERROR SWITCH
2613
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 35
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0077
2614 ;INST-LDB
2615 ;PNTR INDEXED AND INDIRECTLY ADDRESSED
2616 ;P FIELD=0
2617 ;S FIELD=6
2618 ;PNTR WORD IS IN AC 12,13,14
2619 ;BYTE WORD=PNTR WORD
2620 ;LOADED BYTE SHOULD EQUAL
2621 ;12,13,14
2622
2623 000010 AC=10
2624 SAVEAC (1,1)^
2625 032416 201 12 0 00 032416 MOVEI AC+2,. ;SAVE TEST PC
2626 032417 202 12 0 00 030051 MOVEM AC+2,TESTPC
2627 032420 201 12 0 00 000012 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
2628 032421 202 12 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
2629
2630 011000 SN=11000
2631 000003 VV=3
2632 000006 WW=6
2633 000011 XX=11
2634 000003 ZZ=3
2635
2636 ;TEST LDB INDEXED, INDIRECTLY ADDRESSED
2637 G11000: REPEAT ^D3,<
2638 SN=SN+1
2639 VV=VV+1
2640 WW=WW+1
2641 XX=XX+1
2642 ZZ=ZZ+1
2643 MOVEI VV,WW ;SETUP INDEX AC
2644 MOVEI WW,XX ;SETUP INDIRECT AC
2645 HRLI XX,000600 ;SETUP INDEXED AND
2646 HRRI XX,XX ;INDIRECT PNTR WORD
2647 LDB AC,@(ZZ) ;LOAD BYTE INDEXED, INDIRECTLY ADDRESSED
2648 CAIE AC,XX ;TEST LOAD BYTE=12,13,14
2649 ER3 AC,SN ;LDB INDEXED, INDIRECTLY ADDRESSEDD FAILED
2650 JUMPL AC+2,^D8 ;LOOP ON ERROR SWITCH
2651 >
2652
2653 011001 SN=SN+1
2654 000004 VV=VV+1
2655 000007 WW=WW+1
2656 000012 XX=XX+1
2657 000004 ZZ=ZZ+1
2658 032422 201 04 0 00 000007 MOVEI VV,WW ;SETUP INDEX AC
2659 032423 201 07 0 00 000012 MOVEI WW,XX ;SETUP INDIRECT AC
2660 032424 505 12 0 00 000600 HRLI XX,000600 ;SETUP INDEXED AND
2661 032425 541 12 0 00 000012 HRRI XX,XX ;INDIRECT PNTR WORD
2662 032426 135 10 1 04 000000 LDB AC,@(ZZ) ;LOAD BYTE INDEXED, INDIRECTLY ADDRESSED
2663 032427 302 10 0 00 000012 CAIE AC,XX ;TEST LOAD BYTE=12,13,14
2664 032430 003 10 0 00 011001 ER3 AC,SN ;LDB INDEXED, INDIRECTLY ADDRESSEDD FAILED
2665 032431 321 12 0 00 000010 JUMPL AC+2,^D8 ;LOOP ON ERROR SWITCH
2666
2667
2668 011002 SN=SN+1
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 35-1
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0078
2669 000005 VV=VV+1
2670 000010 WW=WW+1
2671 000013 XX=XX+1
2672 000005 ZZ=ZZ+1
2673 032432 201 05 0 00 000010 MOVEI VV,WW ;SETUP INDEX AC
2674 032433 201 10 0 00 000013 MOVEI WW,XX ;SETUP INDIRECT AC
2675 032434 505 13 0 00 000600 HRLI XX,000600 ;SETUP INDEXED AND
2676 032435 541 13 0 00 000013 HRRI XX,XX ;INDIRECT PNTR WORD
2677 032436 135 10 1 05 000000 LDB AC,@(ZZ) ;LOAD BYTE INDEXED, INDIRECTLY ADDRESSED
2678 032437 302 10 0 00 000013 CAIE AC,XX ;TEST LOAD BYTE=12,13,14
2679 032440 003 10 0 00 011002 ER3 AC,SN ;LDB INDEXED, INDIRECTLY ADDRESSEDD FAILED
2680 032441 321 12 0 00 000010 JUMPL AC+2,^D8 ;LOOP ON ERROR SWITCH
2681
2682
2683 011003 SN=SN+1
2684 000006 VV=VV+1
2685 000011 WW=WW+1
2686 000014 XX=XX+1
2687 000006 ZZ=ZZ+1
2688 032442 201 06 0 00 000011 MOVEI VV,WW ;SETUP INDEX AC
2689 032443 201 11 0 00 000014 MOVEI WW,XX ;SETUP INDIRECT AC
2690 032444 505 14 0 00 000600 HRLI XX,000600 ;SETUP INDEXED AND
2691 032445 541 14 0 00 000014 HRRI XX,XX ;INDIRECT PNTR WORD
2692 032446 135 10 1 06 000000 LDB AC,@(ZZ) ;LOAD BYTE INDEXED, INDIRECTLY ADDRESSED
2693 032447 302 10 0 00 000014 CAIE AC,XX ;TEST LOAD BYTE=12,13,14
2694 032450 003 10 0 00 011003 ER3 AC,SN ;LDB INDEXED, INDIRECTLY ADDRESSEDD FAILED
2695 032451 321 12 0 00 000010 JUMPL AC+2,^D8 ;LOOP ON ERROR SWITCH
2696
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 36
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0079
2697
2698 ;INST-LDB
2699 ;INDEX BYTE ADDRESS
2700 ;P FIELD=0
2701 ;S FIELD=6
2702 ;INDEX AC=AC7
2703 ;BYTE WORD ADDRESS=AC 7,10,11,12,13
2704 ;AN ERROR WILL OCCUR IF LOADED BYTE
2705 ;DIFFERS CURRENT AC
2706
2707 000004 AC=4
2708 SAVEAC (1,1)^
2709 032452 201 06 0 00 032452 MOVEI AC+2,. ;SAVE TEST PC
2710 032453 202 06 0 00 030051 MOVEM AC+2,TESTPC
2711 032454 201 06 0 00 000006 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
2712 032455 202 06 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
2713
2714 011100 SN=11100
2715 000006 ZZ=6
2716
2717 ;TEST LDB BYTE ADDR INDEXED
2718 G11100: REPEAT ^D5,<
2719 SN=SN+1
2720 ZZ=ZZ+1
2721 MOVSI AC+1,000607 ;SETUP PNTR WORD
2722 MOVEI AC+3,ZZ ;SETUP INDEX AC
2723 MOVEI ZZ,ZZ ;SETUP BYTE WORD
2724 LDB AC,<AC+1>&17 ;LOAD BYTE
2725 CAIE AC,ZZ ;TEST BYTE=7,10,11,12,13
2726 ER3 AC,SN ;LDB FAILED
2727 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
2728 >
2729
2730 011101 SN=SN+1
2731 000007 ZZ=ZZ+1
2732 032456 205 05 0 00 000607 MOVSI AC+1,000607 ;SETUP PNTR WORD
2733 032457 201 07 0 00 000007 MOVEI AC+3,ZZ ;SETUP INDEX AC
2734 032460 201 07 0 00 000007 MOVEI ZZ,ZZ ;SETUP BYTE WORD
2735 032461 135 04 0 00 000005 LDB AC,<AC+1>&17 ;LOAD BYTE
2736 032462 302 04 0 00 000007 CAIE AC,ZZ ;TEST BYTE=7,10,11,12,13
2737 032463 003 04 0 00 011101 ER3 AC,SN ;LDB FAILED
2738 032464 321 06 0 00 032456 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
2739
2740
2741 011102 SN=SN+1
2742 000010 ZZ=ZZ+1
2743 032465 205 05 0 00 000607 MOVSI AC+1,000607 ;SETUP PNTR WORD
2744 032466 201 07 0 00 000010 MOVEI AC+3,ZZ ;SETUP INDEX AC
2745 032467 201 10 0 00 000010 MOVEI ZZ,ZZ ;SETUP BYTE WORD
2746 032470 135 04 0 00 000005 LDB AC,<AC+1>&17 ;LOAD BYTE
2747 032471 302 04 0 00 000010 CAIE AC,ZZ ;TEST BYTE=7,10,11,12,13
2748 032472 003 04 0 00 011102 ER3 AC,SN ;LDB FAILED
2749 032473 321 06 0 00 032465 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
2750
2751
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 36-1
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0080
2752 011103 SN=SN+1
2753 000011 ZZ=ZZ+1
2754 032474 205 05 0 00 000607 MOVSI AC+1,000607 ;SETUP PNTR WORD
2755 032475 201 07 0 00 000011 MOVEI AC+3,ZZ ;SETUP INDEX AC
2756 032476 201 11 0 00 000011 MOVEI ZZ,ZZ ;SETUP BYTE WORD
2757 032477 135 04 0 00 000005 LDB AC,<AC+1>&17 ;LOAD BYTE
2758 032500 302 04 0 00 000011 CAIE AC,ZZ ;TEST BYTE=7,10,11,12,13
2759 032501 003 04 0 00 011103 ER3 AC,SN ;LDB FAILED
2760 032502 321 06 0 00 032474 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
2761
2762
2763 011104 SN=SN+1
2764 000012 ZZ=ZZ+1
2765 032503 205 05 0 00 000607 MOVSI AC+1,000607 ;SETUP PNTR WORD
2766 032504 201 07 0 00 000012 MOVEI AC+3,ZZ ;SETUP INDEX AC
2767 032505 201 12 0 00 000012 MOVEI ZZ,ZZ ;SETUP BYTE WORD
2768 032506 135 04 0 00 000005 LDB AC,<AC+1>&17 ;LOAD BYTE
2769 032507 302 04 0 00 000012 CAIE AC,ZZ ;TEST BYTE=7,10,11,12,13
2770 032510 003 04 0 00 011104 ER3 AC,SN ;LDB FAILED
2771 032511 321 06 0 00 032503 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
2772
2773
2774 011105 SN=SN+1
2775 000013 ZZ=ZZ+1
2776 032512 205 05 0 00 000607 MOVSI AC+1,000607 ;SETUP PNTR WORD
2777 032513 201 07 0 00 000013 MOVEI AC+3,ZZ ;SETUP INDEX AC
2778 032514 201 13 0 00 000013 MOVEI ZZ,ZZ ;SETUP BYTE WORD
2779 032515 135 04 0 00 000005 LDB AC,<AC+1>&17 ;LOAD BYTE
2780 032516 302 04 0 00 000013 CAIE AC,ZZ ;TEST BYTE=7,10,11,12,13
2781 032517 003 04 0 00 011105 ER3 AC,SN ;LDB FAILED
2782 032520 321 06 0 00 032512 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
2783
2784 PAGE
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 36-2
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0081
2785 ;INST-LDB
2786 ;BYTE INDIRECTLY ADDRESSED
2787 ;P FIELD=0
2788 ;S FIELD=6
2789 ;BYTE WORD ADDRESS=AC7,10,11,12,13
2790 ;AN ERROR WILL OCCUR IF LOADED
2791 ;BYTE DIFFERS FROM CURRENT AC
2792
2793 000004 AC=4
2794 SAVEAC (1,1)^
2795 032521 201 06 0 00 032521 MOVEI AC+2,. ;SAVE TEST PC
2796 032522 202 06 0 00 030051 MOVEM AC+2,TESTPC
2797 032523 201 06 0 00 000006 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
2798 032524 202 06 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
2799
2800 011200 SN=11200
2801 000006 ZZ=6
2802
2803 ;TEST LDB, BYTE INDIRECTLY ADDRESSED
2804 G11200: REPEAT ^D5,<
2805 SN=SN+1
2806 ZZ=ZZ+1
2807 MOVSI AC+1,000620 ;SETUP PNTR WORD
2808 MOVEI ,ZZ ;SETUP DEFER ADDRESS
2809 MOVEI ZZ,ZZ ;SETUP BYTE WORD
2810 LDB AC,<AC+1>&17 ;LOAD BYTE
2811 CAIE AC,ZZ ;TEST BYTE=7,10,11,12,13
2812 ER3 AC,SN ;LDB FAILED
2813 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
2814 >
2815
2816 011201 SN=SN+1
2817 000007 ZZ=ZZ+1
2818 032525 205 05 0 00 000620 MOVSI AC+1,000620 ;SETUP PNTR WORD
2819 032526 201 00 0 00 000007 MOVEI ,ZZ ;SETUP DEFER ADDRESS
2820 032527 201 07 0 00 000007 MOVEI ZZ,ZZ ;SETUP BYTE WORD
2821 032530 135 04 0 00 000005 LDB AC,<AC+1>&17 ;LOAD BYTE
2822 032531 302 04 0 00 000007 CAIE AC,ZZ ;TEST BYTE=7,10,11,12,13
2823 032532 003 04 0 00 011201 ER3 AC,SN ;LDB FAILED
2824 032533 321 06 0 00 032525 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
2825
2826
2827 011202 SN=SN+1
2828 000010 ZZ=ZZ+1
2829 032534 205 05 0 00 000620 MOVSI AC+1,000620 ;SETUP PNTR WORD
2830 032535 201 00 0 00 000010 MOVEI ,ZZ ;SETUP DEFER ADDRESS
2831 032536 201 10 0 00 000010 MOVEI ZZ,ZZ ;SETUP BYTE WORD
2832 032537 135 04 0 00 000005 LDB AC,<AC+1>&17 ;LOAD BYTE
2833 032540 302 04 0 00 000010 CAIE AC,ZZ ;TEST BYTE=7,10,11,12,13
2834 032541 003 04 0 00 011202 ER3 AC,SN ;LDB FAILED
2835 032542 321 06 0 00 032534 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
2836
2837
2838 011203 SN=SN+1
2839 000011 ZZ=ZZ+1
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 36-3
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0082
2840 032543 205 05 0 00 000620 MOVSI AC+1,000620 ;SETUP PNTR WORD
2841 032544 201 00 0 00 000011 MOVEI ,ZZ ;SETUP DEFER ADDRESS
2842 032545 201 11 0 00 000011 MOVEI ZZ,ZZ ;SETUP BYTE WORD
2843 032546 135 04 0 00 000005 LDB AC,<AC+1>&17 ;LOAD BYTE
2844 032547 302 04 0 00 000011 CAIE AC,ZZ ;TEST BYTE=7,10,11,12,13
2845 032550 003 04 0 00 011203 ER3 AC,SN ;LDB FAILED
2846 032551 321 06 0 00 032543 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
2847
2848
2849 011204 SN=SN+1
2850 000012 ZZ=ZZ+1
2851 032552 205 05 0 00 000620 MOVSI AC+1,000620 ;SETUP PNTR WORD
2852 032553 201 00 0 00 000012 MOVEI ,ZZ ;SETUP DEFER ADDRESS
2853 032554 201 12 0 00 000012 MOVEI ZZ,ZZ ;SETUP BYTE WORD
2854 032555 135 04 0 00 000005 LDB AC,<AC+1>&17 ;LOAD BYTE
2855 032556 302 04 0 00 000012 CAIE AC,ZZ ;TEST BYTE=7,10,11,12,13
2856 032557 003 04 0 00 011204 ER3 AC,SN ;LDB FAILED
2857 032560 321 06 0 00 032552 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
2858
2859
2860 011205 SN=SN+1
2861 000013 ZZ=ZZ+1
2862 032561 205 05 0 00 000620 MOVSI AC+1,000620 ;SETUP PNTR WORD
2863 032562 201 00 0 00 000013 MOVEI ,ZZ ;SETUP DEFER ADDRESS
2864 032563 201 13 0 00 000013 MOVEI ZZ,ZZ ;SETUP BYTE WORD
2865 032564 135 04 0 00 000005 LDB AC,<AC+1>&17 ;LOAD BYTE
2866 032565 302 04 0 00 000013 CAIE AC,ZZ ;TEST BYTE=7,10,11,12,13
2867 032566 003 04 0 00 011205 ER3 AC,SN ;LDB FAILED
2868 032567 321 06 0 00 032561 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
2869
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 37
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0083
2870
2871 ;INST-LDB
2872 ;BYTE ADDRESS INDEXED AND INDIRECT
2873 ;P FIELD=0
2874 ;S FIELD=6
2875 ;BYTE ADDRESS=AC13,14,15
2876 ;BYTE WORD=13,14,15
2877 ;AN ERROR WILL OCCUR IF LOADED
2878 ;BYTE DIFFERS FROM CURRENT AC
2879
2880 000004 AC=4
2881 SAVEAC (1,1)^
2882 032570 201 06 0 00 032570 MOVEI AC+2,. ;SAVE TEST PC
2883 032571 202 06 0 00 030051 MOVEM AC+2,TESTPC
2884 032572 201 06 0 00 000006 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
2885 032573 202 06 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
2886
2887 011300 SN=11300
2888 000012 XX=12
2889 000007 ZZ=7
2890
2891 ;TEST LDB, BYTE ADDR INDEXED AND INDIRECT
2892 G11300: REPEAT ^D3,<
2893 SN=SN+1
2894 XX=XX+1
2895 ZZ=ZZ+1
2896 MOVSI AC+1,000627 ;SETUP PNTR WORD
2897 MOVEI AC+3,ZZ ;SETUP INDEX AC
2898 MOVEI ZZ,XX ;SETUP INDIRECT ADDR
2899 MOVEI XX,XX ;SETUP BYTE WORD
2900 LDB AC,<AC+1>&17 ;LOAD BYTE
2901 CAIE AC,XX ;TEST BYTE=13,14,15
2902 ER3 AC,SN ;LDB FAILED
2903 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
2904 >
2905
2906 011301 SN=SN+1
2907 000013 XX=XX+1
2908 000010 ZZ=ZZ+1
2909 032574 205 05 0 00 000627 MOVSI AC+1,000627 ;SETUP PNTR WORD
2910 032575 201 07 0 00 000010 MOVEI AC+3,ZZ ;SETUP INDEX AC
2911 032576 201 10 0 00 000013 MOVEI ZZ,XX ;SETUP INDIRECT ADDR
2912 032577 201 13 0 00 000013 MOVEI XX,XX ;SETUP BYTE WORD
2913 032600 135 04 0 00 000005 LDB AC,<AC+1>&17 ;LOAD BYTE
2914 032601 302 04 0 00 000013 CAIE AC,XX ;TEST BYTE=13,14,15
2915 032602 003 04 0 00 011301 ER3 AC,SN ;LDB FAILED
2916 032603 321 06 0 00 032574 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
2917
2918
2919 011302 SN=SN+1
2920 000014 XX=XX+1
2921 000011 ZZ=ZZ+1
2922 032604 205 05 0 00 000627 MOVSI AC+1,000627 ;SETUP PNTR WORD
2923 032605 201 07 0 00 000011 MOVEI AC+3,ZZ ;SETUP INDEX AC
2924 032606 201 11 0 00 000014 MOVEI ZZ,XX ;SETUP INDIRECT ADDR
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 37-1
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0084
2925 032607 201 14 0 00 000014 MOVEI XX,XX ;SETUP BYTE WORD
2926 032610 135 04 0 00 000005 LDB AC,<AC+1>&17 ;LOAD BYTE
2927 032611 302 04 0 00 000014 CAIE AC,XX ;TEST BYTE=13,14,15
2928 032612 003 04 0 00 011302 ER3 AC,SN ;LDB FAILED
2929 032613 321 06 0 00 032604 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
2930
2931
2932 011303 SN=SN+1
2933 000015 XX=XX+1
2934 000012 ZZ=ZZ+1
2935 032614 205 05 0 00 000627 MOVSI AC+1,000627 ;SETUP PNTR WORD
2936 032615 201 07 0 00 000012 MOVEI AC+3,ZZ ;SETUP INDEX AC
2937 032616 201 12 0 00 000015 MOVEI ZZ,XX ;SETUP INDIRECT ADDR
2938 032617 201 15 0 00 000015 MOVEI XX,XX ;SETUP BYTE WORD
2939 032620 135 04 0 00 000005 LDB AC,<AC+1>&17 ;LOAD BYTE
2940 032621 302 04 0 00 000015 CAIE AC,XX ;TEST BYTE=13,14,15
2941 032622 003 04 0 00 011303 ER3 AC,SN ;LDB FAILED
2942 032623 321 06 0 00 032614 JUMPL AC+2,.-7 ;LOOP ON ERROR SWITCH
2943
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 38
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0085
2944
2945 ;INST-ILDB
2946 ;DECREASING P FIELD
2947 ;P FIELD=44,36,30,22,14
2948 ;S FIELD=6
2949 ;BYTE ADDRESS=AC0
2950 ;AN ERROR WILL OCCUR IF AC DIFFERS
2951 ;FROM 77
2952
2953 000005 AC=5
2954 SAVEAC (1,1)^
2955 032624 201 07 0 00 032624 MOVEI AC+2,. ;SAVE TEST PC
2956 032625 202 07 0 00 030051 MOVEM AC+2,TESTPC
2957 032626 201 07 0 00 000007 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
2958 032627 202 07 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
2959
2960 011400 SN=11400
2961 520600 XX=520600
2962 000000 ZZ=0
2963
2964 ;TEST ILDB
2965 G11400: REPEAT ^D5,<
2966 SN=SN+1
2967 XX=XX-060000
2968 ZZ=ZZ-6
2969 MOVSI AC+1,XX ;SETUP PNTR WORD
2970 MOVEI ,77 ;SETUP BYTE WORD
2971 ROT ,ZZ ;ROTATE RIGHT
2972 ILDB AC,<AC+1>&17 ;INC AND LOAD BYTE
2973 CAIE AC,77 ;TEST AC=77
2974 ER3 AC,SN ;ILDB FAILED
2975 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
2976 >
2977
2978 011401 SN=SN+1
2979 440600 XX=XX-060000
2980 777777 777772 ZZ=ZZ-6
2981 032630 205 06 0 00 440600 MOVSI AC+1,XX ;SETUP PNTR WORD
2982 032631 201 00 0 00 000077 MOVEI ,77 ;SETUP BYTE WORD
2983 032632 241 00 0 00 777772 ROT ,ZZ ;ROTATE RIGHT
2984 032633 134 05 0 00 000006 ILDB AC,<AC+1>&17 ;INC AND LOAD BYTE
2985 032634 302 05 0 00 000077 CAIE AC,77 ;TEST AC=77
2986 032635 003 05 0 00 011401 ER3 AC,SN ;ILDB FAILED
2987 032636 321 07 0 00 032630 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
2988
2989
2990 011402 SN=SN+1
2991 360600 XX=XX-060000
2992 777777 777764 ZZ=ZZ-6
2993 032637 205 06 0 00 360600 MOVSI AC+1,XX ;SETUP PNTR WORD
2994 032640 201 00 0 00 000077 MOVEI ,77 ;SETUP BYTE WORD
2995 032641 241 00 0 00 777764 ROT ,ZZ ;ROTATE RIGHT
2996 032642 134 05 0 00 000006 ILDB AC,<AC+1>&17 ;INC AND LOAD BYTE
2997 032643 302 05 0 00 000077 CAIE AC,77 ;TEST AC=77
2998 032644 003 05 0 00 011402 ER3 AC,SN ;ILDB FAILED
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 38-1
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0086
2999 032645 321 07 0 00 032637 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
3000
3001
3002 011403 SN=SN+1
3003 300600 XX=XX-060000
3004 777777 777756 ZZ=ZZ-6
3005 032646 205 06 0 00 300600 MOVSI AC+1,XX ;SETUP PNTR WORD
3006 032647 201 00 0 00 000077 MOVEI ,77 ;SETUP BYTE WORD
3007 032650 241 00 0 00 777756 ROT ,ZZ ;ROTATE RIGHT
3008 032651 134 05 0 00 000006 ILDB AC,<AC+1>&17 ;INC AND LOAD BYTE
3009 032652 302 05 0 00 000077 CAIE AC,77 ;TEST AC=77
3010 032653 003 05 0 00 011403 ER3 AC,SN ;ILDB FAILED
3011 032654 321 07 0 00 032646 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
3012
3013
3014 011404 SN=SN+1
3015 220600 XX=XX-060000
3016 777777 777750 ZZ=ZZ-6
3017 032655 205 06 0 00 220600 MOVSI AC+1,XX ;SETUP PNTR WORD
3018 032656 201 00 0 00 000077 MOVEI ,77 ;SETUP BYTE WORD
3019 032657 241 00 0 00 777750 ROT ,ZZ ;ROTATE RIGHT
3020 032660 134 05 0 00 000006 ILDB AC,<AC+1>&17 ;INC AND LOAD BYTE
3021 032661 302 05 0 00 000077 CAIE AC,77 ;TEST AC=77
3022 032662 003 05 0 00 011404 ER3 AC,SN ;ILDB FAILED
3023 032663 321 07 0 00 032655 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
3024
3025
3026 011405 SN=SN+1
3027 140600 XX=XX-060000
3028 777777 777742 ZZ=ZZ-6
3029 032664 205 06 0 00 140600 MOVSI AC+1,XX ;SETUP PNTR WORD
3030 032665 201 00 0 00 000077 MOVEI ,77 ;SETUP BYTE WORD
3031 032666 241 00 0 00 777742 ROT ,ZZ ;ROTATE RIGHT
3032 032667 134 05 0 00 000006 ILDB AC,<AC+1>&17 ;INC AND LOAD BYTE
3033 032670 302 05 0 00 000077 CAIE AC,77 ;TEST AC=77
3034 032671 003 05 0 00 011405 ER3 AC,SN ;ILDB FAILED
3035 032672 321 07 0 00 032664 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
3036
3037 PAGE
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 38-2
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0087
3038 ;INST-ILDB
3039 ;INCREASING S FIELD
3040 ;CALCULATE NEW P FIELD, INCREMENT
3041 ;BYTE WORD ADDRESS
3042 ;P FIELD=0
3043 ;S FIELD=6,14,22,30,36
3044 ;AN ERROR WILL OCCUR IF AC
3045 ;DIFFERS FROM 77
3046
3047 000014 AC=14
3048 SAVEAC (1,1)^
3049 032673 201 16 0 00 032673 MOVEI AC+2,. ;SAVE TEST PC
3050 032674 202 16 0 00 030051 MOVEM AC+2,TESTPC
3051 032675 201 16 0 00 000016 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
3052 032676 202 16 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
3053
3054 011500 SN=11500
3055 000000 XX=0
3056 000000 ZZ=0
3057
3058 ;TEST ILDB
3059 G11500: REPEAT ^D5,<
3060 SN=SN+1
3061 XX=XX+600
3062 ZZ=ZZ-6
3063 MOVSI AC+1,XX ;SETUP PNTR WORD
3064 MOVEI 1,77 ;SETUP BYTE WORD
3065 ROT 1,ZZ ;ROTATE RIGHT BYTE WORD
3066 ILDB AC,<AC+1>&17 ;INC AND LOAD BYTE
3067 CAIE AC,77 ;TEST AC=77
3068 ER3 AC,SN ;ILDB FAILED
3069 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
3070 >
3071
3072 011501 SN=SN+1
3073 000600 XX=XX+600
3074 777777 777772 ZZ=ZZ-6
3075 032677 205 15 0 00 000600 MOVSI AC+1,XX ;SETUP PNTR WORD
3076 032700 201 01 0 00 000077 MOVEI 1,77 ;SETUP BYTE WORD
3077 032701 241 01 0 00 777772 ROT 1,ZZ ;ROTATE RIGHT BYTE WORD
3078 032702 134 14 0 00 000015 ILDB AC,<AC+1>&17 ;INC AND LOAD BYTE
3079 032703 302 14 0 00 000077 CAIE AC,77 ;TEST AC=77
3080 032704 003 14 0 00 011501 ER3 AC,SN ;ILDB FAILED
3081 032705 321 16 0 00 032677 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
3082
3083
3084 011502 SN=SN+1
3085 001400 XX=XX+600
3086 777777 777764 ZZ=ZZ-6
3087 032706 205 15 0 00 001400 MOVSI AC+1,XX ;SETUP PNTR WORD
3088 032707 201 01 0 00 000077 MOVEI 1,77 ;SETUP BYTE WORD
3089 032710 241 01 0 00 777764 ROT 1,ZZ ;ROTATE RIGHT BYTE WORD
3090 032711 134 14 0 00 000015 ILDB AC,<AC+1>&17 ;INC AND LOAD BYTE
3091 032712 302 14 0 00 000077 CAIE AC,77 ;TEST AC=77
3092 032713 003 14 0 00 011502 ER3 AC,SN ;ILDB FAILED
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 38-3
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0088
3093 032714 321 16 0 00 032706 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
3094
3095
3096 011503 SN=SN+1
3097 002200 XX=XX+600
3098 777777 777756 ZZ=ZZ-6
3099 032715 205 15 0 00 002200 MOVSI AC+1,XX ;SETUP PNTR WORD
3100 032716 201 01 0 00 000077 MOVEI 1,77 ;SETUP BYTE WORD
3101 032717 241 01 0 00 777756 ROT 1,ZZ ;ROTATE RIGHT BYTE WORD
3102 032720 134 14 0 00 000015 ILDB AC,<AC+1>&17 ;INC AND LOAD BYTE
3103 032721 302 14 0 00 000077 CAIE AC,77 ;TEST AC=77
3104 032722 003 14 0 00 011503 ER3 AC,SN ;ILDB FAILED
3105 032723 321 16 0 00 032715 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
3106
3107
3108 011504 SN=SN+1
3109 003000 XX=XX+600
3110 777777 777750 ZZ=ZZ-6
3111 032724 205 15 0 00 003000 MOVSI AC+1,XX ;SETUP PNTR WORD
3112 032725 201 01 0 00 000077 MOVEI 1,77 ;SETUP BYTE WORD
3113 032726 241 01 0 00 777750 ROT 1,ZZ ;ROTATE RIGHT BYTE WORD
3114 032727 134 14 0 00 000015 ILDB AC,<AC+1>&17 ;INC AND LOAD BYTE
3115 032730 302 14 0 00 000077 CAIE AC,77 ;TEST AC=77
3116 032731 003 14 0 00 011504 ER3 AC,SN ;ILDB FAILED
3117 032732 321 16 0 00 032724 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
3118
3119
3120 011505 SN=SN+1
3121 003600 XX=XX+600
3122 777777 777742 ZZ=ZZ-6
3123 032733 205 15 0 00 003600 MOVSI AC+1,XX ;SETUP PNTR WORD
3124 032734 201 01 0 00 000077 MOVEI 1,77 ;SETUP BYTE WORD
3125 032735 241 01 0 00 777742 ROT 1,ZZ ;ROTATE RIGHT BYTE WORD
3126 032736 134 14 0 00 000015 ILDB AC,<AC+1>&17 ;INC AND LOAD BYTE
3127 032737 302 14 0 00 000077 CAIE AC,77 ;TEST AC=77
3128 032740 003 14 0 00 011505 ER3 AC,SN ;ILDB FAILED
3129 032741 321 16 0 00 032733 JUMPL AC+2,.-6 ;LOOP ON ERROR SWITCH
3130
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 39
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0089
3131
3132 ;INST-ILDB
3133 ;TESTING SPECIAL POINTER
3134 ;WHICH SETS AC TO ZERO
3135 ;PFIELD=20 ORIG,64 AFTER
3136 ;SFIELD=60 ORIG,60 AFTER
3137 ;AN ERROR WILL OCCUR IF AC IS NOT ZEROED
3138
3139 206000 XX=206000
3140
3141 032742 205 15 0 00 206000 G11600: MOVSI AC+1,XX ;SETUP PNTR WORD
3142 032743 477 00 0 00 000001 SETOB 0,1 ;SETUP BYTE WORD
3143 032744 476 00 0 00 000014 SETOM AC ;SETUP AC FOR TEST
3144 032745 134 14 0 00 000015 ILDB AC,<AC+1>&17 ;THIS SHOULD ZERO AC
3145 032746 332 00 0 00 000014 SKIPE AC ;TEST AC=0
3146 032747 003 14 0 00 011601 ER3 AC,11601 ;ILDB FAILED
3147 032750 321 16 0 00 032742 JUMPL AC+2,G11600 ;LOOP ON ERROR SWITCH
3148 PAGE
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 39-1
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0090
3149 ;INST-DPB
3150 ;INCREASING P FIELD
3151 ;P FIELD=6,14,22,30,36
3152 ;S FIELD=6
3153 ;BYTE WORD=55
3154 ;AN ERROR WILL OCCUR IF DPB
3155 ;FAILS TO DEPOSIT CORRECTLY
3156
3157 000013 AC=13
3158 SAVEAC (1,1)^
3159 032751 201 15 0 00 032751 MOVEI AC+2,. ;SAVE TEST PC
3160 032752 202 15 0 00 030051 MOVEM AC+2,TESTPC
3161 032753 201 15 0 00 000015 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
3162 032754 202 15 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
3163
3164 011700 SN=11700
3165 000000 XX=0
3166 000600 ZZ=000600
3167
3168 ;TEST DPB
3169 G11700: REPEAT ^D5,<
3170 SN=SN+1
3171 XX=XX+6
3172 ZZ=ZZ+60000
3173 MOVEI AC-2,55 ;SETUP AC-2
3174 ROT AC-2,XX ;FOR COMPARISON
3175 MOVSI AC+1,ZZ ;SETUP PNTR WORD
3176 SETZ ;SETUP DEST WORD
3177 MOVEI AC,55 ;SETUP BYTE WORD
3178 DPB AC,<AC+1>&17 ;DEPOSIT BYTE (AC0)
3179 CAME ,<AC-2>&17 ;TEST DEST WORD
3180 ER12 ,SN ;DPB FAILED
3181 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
3182 >
3183
3184 011701 SN=SN+1
3185 000006 XX=XX+6
3186 060600 ZZ=ZZ+60000
3187 032755 201 11 0 00 000055 MOVEI AC-2,55 ;SETUP AC-2
3188 032756 241 11 0 00 000006 ROT AC-2,XX ;FOR COMPARISON
3189 032757 205 14 0 00 060600 MOVSI AC+1,ZZ ;SETUP PNTR WORD
3190 032760 400 00 0 00 000000 SETZ ;SETUP DEST WORD
3191 032761 201 13 0 00 000055 MOVEI AC,55 ;SETUP BYTE WORD
3192 032762 137 13 0 00 000014 DPB AC,<AC+1>&17 ;DEPOSIT BYTE (AC0)
3193 032763 312 00 0 00 000011 CAME ,<AC-2>&17 ;TEST DEST WORD
3194 032764 012 00 0 00 011701 ER12 ,SN ;DPB FAILED
3195 032765 321 15 0 00 032755 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
3196
3197
3198 011702 SN=SN+1
3199 000014 XX=XX+6
3200 140600 ZZ=ZZ+60000
3201 032766 201 11 0 00 000055 MOVEI AC-2,55 ;SETUP AC-2
3202 032767 241 11 0 00 000014 ROT AC-2,XX ;FOR COMPARISON
3203 032770 205 14 0 00 140600 MOVSI AC+1,ZZ ;SETUP PNTR WORD
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 39-2
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0091
3204 032771 400 00 0 00 000000 SETZ ;SETUP DEST WORD
3205 032772 201 13 0 00 000055 MOVEI AC,55 ;SETUP BYTE WORD
3206 032773 137 13 0 00 000014 DPB AC,<AC+1>&17 ;DEPOSIT BYTE (AC0)
3207 032774 312 00 0 00 000011 CAME ,<AC-2>&17 ;TEST DEST WORD
3208 032775 012 00 0 00 011702 ER12 ,SN ;DPB FAILED
3209 032776 321 15 0 00 032766 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
3210
3211
3212 011703 SN=SN+1
3213 000022 XX=XX+6
3214 220600 ZZ=ZZ+60000
3215 032777 201 11 0 00 000055 MOVEI AC-2,55 ;SETUP AC-2
3216 033000 241 11 0 00 000022 ROT AC-2,XX ;FOR COMPARISON
3217 033001 205 14 0 00 220600 MOVSI AC+1,ZZ ;SETUP PNTR WORD
3218 033002 400 00 0 00 000000 SETZ ;SETUP DEST WORD
3219 033003 201 13 0 00 000055 MOVEI AC,55 ;SETUP BYTE WORD
3220 033004 137 13 0 00 000014 DPB AC,<AC+1>&17 ;DEPOSIT BYTE (AC0)
3221 033005 312 00 0 00 000011 CAME ,<AC-2>&17 ;TEST DEST WORD
3222 033006 012 00 0 00 011703 ER12 ,SN ;DPB FAILED
3223 033007 321 15 0 00 032777 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
3224
3225
3226 011704 SN=SN+1
3227 000030 XX=XX+6
3228 300600 ZZ=ZZ+60000
3229 033010 201 11 0 00 000055 MOVEI AC-2,55 ;SETUP AC-2
3230 033011 241 11 0 00 000030 ROT AC-2,XX ;FOR COMPARISON
3231 033012 205 14 0 00 300600 MOVSI AC+1,ZZ ;SETUP PNTR WORD
3232 033013 400 00 0 00 000000 SETZ ;SETUP DEST WORD
3233 033014 201 13 0 00 000055 MOVEI AC,55 ;SETUP BYTE WORD
3234 033015 137 13 0 00 000014 DPB AC,<AC+1>&17 ;DEPOSIT BYTE (AC0)
3235 033016 312 00 0 00 000011 CAME ,<AC-2>&17 ;TEST DEST WORD
3236 033017 012 00 0 00 011704 ER12 ,SN ;DPB FAILED
3237 033020 321 15 0 00 033010 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
3238
3239
3240 011705 SN=SN+1
3241 000036 XX=XX+6
3242 360600 ZZ=ZZ+60000
3243 033021 201 11 0 00 000055 MOVEI AC-2,55 ;SETUP AC-2
3244 033022 241 11 0 00 000036 ROT AC-2,XX ;FOR COMPARISON
3245 033023 205 14 0 00 360600 MOVSI AC+1,ZZ ;SETUP PNTR WORD
3246 033024 400 00 0 00 000000 SETZ ;SETUP DEST WORD
3247 033025 201 13 0 00 000055 MOVEI AC,55 ;SETUP BYTE WORD
3248 033026 137 13 0 00 000014 DPB AC,<AC+1>&17 ;DEPOSIT BYTE (AC0)
3249 033027 312 00 0 00 000011 CAME ,<AC-2>&17 ;TEST DEST WORD
3250 033030 012 00 0 00 011705 ER12 ,SN ;DPB FAILED
3251 033031 321 15 0 00 033021 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
3252
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 40
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0092
3253
3254 ;INST-DPB
3255 ;INCREASING P FIELD
3256 ;P FIELD = 0,6,14,22,30
3257 ;S FIELD = 6
3258 ;BYTE WORD=55 (SHIFTING LEFT 6 PLACES)
3259 ;AN ERROR WILL OCCUR IF DPB FAILS
3260 ;TO DEPOSIT CORRECTLY
3261
3262 000012 AC=12
3263 SAVEAC (1,1)^
3264 033032 201 14 0 00 033032 MOVEI AC+2,. ;SAVE TEST PC
3265 033033 202 14 0 00 030051 MOVEM AC+2,TESTPC
3266 033034 201 14 0 00 000014 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
3267 033035 202 14 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
3268
3269 012000 SN=12000
3270 000000 XX=0
3271 777777 720000 ZZ=-60000
3272
3273 ;TEST DPB
3274 G12000: REPEAT ^D5,<
3275 SN=SN+1
3276 XX=XX+6
3277 ZZ=ZZ+060000
3278 IFE ZZ,<ZZ=000600>
3279 MOVSI AC-2,550000 ;SETUP AC=2
3280 ROT AC-2,XX ;FRO COMPARISON
3281 MOVSI AC+1,ZZ ;SETUP PNTR WORD
3282 MOVEI AC,55 ;SETUP BYTE WORD
3283 SETZ ;SETUP DEST WORD
3284 DPB AC,<AC+1>&17 ;DEPOSIT BYTE (AC0)
3285 CAME ,<AC-2>&17 ;TEST DEST WORD
3286 ER12 ,SN ;DPB FAILED
3287 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
3288 >
3289
3290 012001 SN=SN+1
3291 000006 XX=XX+6
3292 000000 ZZ=ZZ+060000
3293 000600 IFE ZZ,<ZZ=000600>
3294 033036 205 10 0 00 550000 MOVSI AC-2,550000 ;SETUP AC=2
3295 033037 241 10 0 00 000006 ROT AC-2,XX ;FRO COMPARISON
3296 033040 205 13 0 00 000600 MOVSI AC+1,ZZ ;SETUP PNTR WORD
3297 033041 201 12 0 00 000055 MOVEI AC,55 ;SETUP BYTE WORD
3298 033042 400 00 0 00 000000 SETZ ;SETUP DEST WORD
3299 033043 137 12 0 00 000013 DPB AC,<AC+1>&17 ;DEPOSIT BYTE (AC0)
3300 033044 312 00 0 00 000010 CAME ,<AC-2>&17 ;TEST DEST WORD
3301 033045 012 00 0 00 012001 ER12 ,SN ;DPB FAILED
3302 033046 321 14 0 00 033036 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
3303
3304
3305 012002 SN=SN+1
3306 000014 XX=XX+6
3307 060600 ZZ=ZZ+060000
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 40-1
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0093
3308 IFE ZZ,<ZZ=000600>
3309 033047 205 10 0 00 550000 MOVSI AC-2,550000 ;SETUP AC=2
3310 033050 241 10 0 00 000014 ROT AC-2,XX ;FRO COMPARISON
3311 033051 205 13 0 00 060600 MOVSI AC+1,ZZ ;SETUP PNTR WORD
3312 033052 201 12 0 00 000055 MOVEI AC,55 ;SETUP BYTE WORD
3313 033053 400 00 0 00 000000 SETZ ;SETUP DEST WORD
3314 033054 137 12 0 00 000013 DPB AC,<AC+1>&17 ;DEPOSIT BYTE (AC0)
3315 033055 312 00 0 00 000010 CAME ,<AC-2>&17 ;TEST DEST WORD
3316 033056 012 00 0 00 012002 ER12 ,SN ;DPB FAILED
3317 033057 321 14 0 00 033047 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
3318
3319
3320 012003 SN=SN+1
3321 000022 XX=XX+6
3322 140600 ZZ=ZZ+060000
3323 IFE ZZ,<ZZ=000600>
3324 033060 205 10 0 00 550000 MOVSI AC-2,550000 ;SETUP AC=2
3325 033061 241 10 0 00 000022 ROT AC-2,XX ;FRO COMPARISON
3326 033062 205 13 0 00 140600 MOVSI AC+1,ZZ ;SETUP PNTR WORD
3327 033063 201 12 0 00 000055 MOVEI AC,55 ;SETUP BYTE WORD
3328 033064 400 00 0 00 000000 SETZ ;SETUP DEST WORD
3329 033065 137 12 0 00 000013 DPB AC,<AC+1>&17 ;DEPOSIT BYTE (AC0)
3330 033066 312 00 0 00 000010 CAME ,<AC-2>&17 ;TEST DEST WORD
3331 033067 012 00 0 00 012003 ER12 ,SN ;DPB FAILED
3332 033070 321 14 0 00 033060 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
3333
3334
3335 012004 SN=SN+1
3336 000030 XX=XX+6
3337 220600 ZZ=ZZ+060000
3338 IFE ZZ,<ZZ=000600>
3339 033071 205 10 0 00 550000 MOVSI AC-2,550000 ;SETUP AC=2
3340 033072 241 10 0 00 000030 ROT AC-2,XX ;FRO COMPARISON
3341 033073 205 13 0 00 220600 MOVSI AC+1,ZZ ;SETUP PNTR WORD
3342 033074 201 12 0 00 000055 MOVEI AC,55 ;SETUP BYTE WORD
3343 033075 400 00 0 00 000000 SETZ ;SETUP DEST WORD
3344 033076 137 12 0 00 000013 DPB AC,<AC+1>&17 ;DEPOSIT BYTE (AC0)
3345 033077 312 00 0 00 000010 CAME ,<AC-2>&17 ;TEST DEST WORD
3346 033100 012 00 0 00 012004 ER12 ,SN ;DPB FAILED
3347 033101 321 14 0 00 033071 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
3348
3349
3350 012005 SN=SN+1
3351 000036 XX=XX+6
3352 300600 ZZ=ZZ+060000
3353 IFE ZZ,<ZZ=000600>
3354 033102 205 10 0 00 550000 MOVSI AC-2,550000 ;SETUP AC=2
3355 033103 241 10 0 00 000036 ROT AC-2,XX ;FRO COMPARISON
3356 033104 205 13 0 00 300600 MOVSI AC+1,ZZ ;SETUP PNTR WORD
3357 033105 201 12 0 00 000055 MOVEI AC,55 ;SETUP BYTE WORD
3358 033106 400 00 0 00 000000 SETZ ;SETUP DEST WORD
3359 033107 137 12 0 00 000013 DPB AC,<AC+1>&17 ;DEPOSIT BYTE (AC0)
3360 033110 312 00 0 00 000010 CAME ,<AC-2>&17 ;TEST DEST WORD
3361 033111 012 00 0 00 012005 ER12 ,SN ;DPB FAILED
3362 033112 321 14 0 00 033102 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 40-2
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0094
3363
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 41
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0095
3364 ;INST-IDPB
3365 ;INCREASING S FIELD
3366 ;CALCULATE NEW P FIELD, INCREMENT
3367 ;BYTE WORD ADDRESS
3368 ;P FIELD=0
3369 ;S FIELD=6,14,22,30,36
3370 ;BYTE WORD=77
3371 ;AN ERROR WILL OCCUR IF IDPB FAILS
3372 ;TO DEPOSIT CORRECTLY
3373
3374 000011 AC=11
3375 SAVEAC (1,1)^
3376 033113 201 13 0 00 033113 MOVEI AC+2,. ;SAVE TEST PC
3377 033114 202 13 0 00 030051 MOVEM AC+2,TESTPC
3378 033115 201 13 0 00 000013 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
3379 033116 202 13 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
3380
3381 012100 SN=12100
3382 000000 XX=0
3383 000000 ZZ=000000
3384
3385 ;TEST IDPB
3386 G12100: REPEAT ^D5,<
3387 SN=SN+1
3388 XX=XX-6
3389 ZZ=ZZ+600
3390 MOVEI AC-2,77 ;SETUP AC-2
3391 ROT AC-2,XX ;FOR COMPARISON
3392 MOVSI AC+1,ZZ ;SETUP PNTR WORD
3393 MOVEI AC,77 ;SETUP BYTE WORD
3394 SETZ 1, ;SETUP DEST WORD
3395 IDPB AC,<AC+1>&17 ;INC AND DEPOSIT BYTE
3396 CAME 1,<AC-2>&17 ;TEST DEST WORD
3397 ER12 1,SN ;IDPB FAILED
3398 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
3399 >
3400
3401 012101 SN=SN+1
3402 777777 777772 XX=XX-6
3403 000600 ZZ=ZZ+600
3404 033117 201 07 0 00 000077 MOVEI AC-2,77 ;SETUP AC-2
3405 033120 241 07 0 00 777772 ROT AC-2,XX ;FOR COMPARISON
3406 033121 205 12 0 00 000600 MOVSI AC+1,ZZ ;SETUP PNTR WORD
3407 033122 201 11 0 00 000077 MOVEI AC,77 ;SETUP BYTE WORD
3408 033123 400 01 0 00 000000 SETZ 1, ;SETUP DEST WORD
3409 033124 136 11 0 00 000012 IDPB AC,<AC+1>&17 ;INC AND DEPOSIT BYTE
3410 033125 312 01 0 00 000007 CAME 1,<AC-2>&17 ;TEST DEST WORD
3411 033126 012 01 0 00 012101 ER12 1,SN ;IDPB FAILED
3412 033127 321 13 0 00 033117 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
3413
3414
3415 012102 SN=SN+1
3416 777777 777764 XX=XX-6
3417 001400 ZZ=ZZ+600
3418 033130 201 07 0 00 000077 MOVEI AC-2,77 ;SETUP AC-2
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 41-1
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0096
3419 033131 241 07 0 00 777764 ROT AC-2,XX ;FOR COMPARISON
3420 033132 205 12 0 00 001400 MOVSI AC+1,ZZ ;SETUP PNTR WORD
3421 033133 201 11 0 00 000077 MOVEI AC,77 ;SETUP BYTE WORD
3422 033134 400 01 0 00 000000 SETZ 1, ;SETUP DEST WORD
3423 033135 136 11 0 00 000012 IDPB AC,<AC+1>&17 ;INC AND DEPOSIT BYTE
3424 033136 312 01 0 00 000007 CAME 1,<AC-2>&17 ;TEST DEST WORD
3425 033137 012 01 0 00 012102 ER12 1,SN ;IDPB FAILED
3426 033140 321 13 0 00 033130 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
3427
3428
3429 012103 SN=SN+1
3430 777777 777756 XX=XX-6
3431 002200 ZZ=ZZ+600
3432 033141 201 07 0 00 000077 MOVEI AC-2,77 ;SETUP AC-2
3433 033142 241 07 0 00 777756 ROT AC-2,XX ;FOR COMPARISON
3434 033143 205 12 0 00 002200 MOVSI AC+1,ZZ ;SETUP PNTR WORD
3435 033144 201 11 0 00 000077 MOVEI AC,77 ;SETUP BYTE WORD
3436 033145 400 01 0 00 000000 SETZ 1, ;SETUP DEST WORD
3437 033146 136 11 0 00 000012 IDPB AC,<AC+1>&17 ;INC AND DEPOSIT BYTE
3438 033147 312 01 0 00 000007 CAME 1,<AC-2>&17 ;TEST DEST WORD
3439 033150 012 01 0 00 012103 ER12 1,SN ;IDPB FAILED
3440 033151 321 13 0 00 033141 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
3441
3442
3443 012104 SN=SN+1
3444 777777 777750 XX=XX-6
3445 003000 ZZ=ZZ+600
3446 033152 201 07 0 00 000077 MOVEI AC-2,77 ;SETUP AC-2
3447 033153 241 07 0 00 777750 ROT AC-2,XX ;FOR COMPARISON
3448 033154 205 12 0 00 003000 MOVSI AC+1,ZZ ;SETUP PNTR WORD
3449 033155 201 11 0 00 000077 MOVEI AC,77 ;SETUP BYTE WORD
3450 033156 400 01 0 00 000000 SETZ 1, ;SETUP DEST WORD
3451 033157 136 11 0 00 000012 IDPB AC,<AC+1>&17 ;INC AND DEPOSIT BYTE
3452 033160 312 01 0 00 000007 CAME 1,<AC-2>&17 ;TEST DEST WORD
3453 033161 012 01 0 00 012104 ER12 1,SN ;IDPB FAILED
3454 033162 321 13 0 00 033152 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
3455
3456
3457 012105 SN=SN+1
3458 777777 777742 XX=XX-6
3459 003600 ZZ=ZZ+600
3460 033163 201 07 0 00 000077 MOVEI AC-2,77 ;SETUP AC-2
3461 033164 241 07 0 00 777742 ROT AC-2,XX ;FOR COMPARISON
3462 033165 205 12 0 00 003600 MOVSI AC+1,ZZ ;SETUP PNTR WORD
3463 033166 201 11 0 00 000077 MOVEI AC,77 ;SETUP BYTE WORD
3464 033167 400 01 0 00 000000 SETZ 1, ;SETUP DEST WORD
3465 033170 136 11 0 00 000012 IDPB AC,<AC+1>&17 ;INC AND DEPOSIT BYTE
3466 033171 312 01 0 00 000007 CAME 1,<AC-2>&17 ;TEST DEST WORD
3467 033172 012 01 0 00 012105 ER12 1,SN ;IDPB FAILED
3468 033173 321 13 0 00 033163 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
3469
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 42
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0097
3470 ;INST-IDPB
3471 ;P FIELD=44
3472 ;S FIELD=6
3473 ;BYTE WORD=55
3474 ;DEST WORD=-1
3475 ;AN ERROR WILL OCCUR IF IDPB
3476 ;FAILS TO DEPOSIT CORRECTLY
3477
3478 000010 AC=10
3479 SAVEAC (1,1)^
3480 033174 201 12 0 00 033174 MOVEI AC+2,. ;SAVE TEST PC
3481 033175 202 12 0 00 030051 MOVEM AC+2,TESTPC
3482 033176 201 12 0 00 000012 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
3483 033177 202 12 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
3484
3485 012200 SN=12200
3486 000000 ZZ=0
3487
3488 033200 205 11 0 00 440600 G12200: MOVSI AC+1,440600 ;SETUP PNPR WORD
3489 ;TEST IDPB
3490 REPEAT ^D5,<
3491 SN=SN+1
3492 ZZ=ZZ-6
3493 HRLI AC-2,-1 ;SETUP AC-2
3494 HRRI AC-2,-23 ;FOR COMPARISON
3495 ROT AC-2,ZZ ;ROTATE RIGHT BY 6
3496 MOVEI AC,55 ;SETUP BYTE WORD
3497 SETO ;SETUP DEST WORD (AC0)
3498 IDPB AC,<AC+1>&17 ;INC AND DEPOSIT BYTE
3499 CAME ,<AC-2>&17 ;TEST DEST WORD
3500 ER12 ,SN ;IDPB FAILED
3501 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
3502 >
3503
3504 012201 SN=SN+1
3505 777777 777772 ZZ=ZZ-6
3506 033201 505 06 0 00 777777 HRLI AC-2,-1 ;SETUP AC-2
3507 033202 541 06 0 00 777755 HRRI AC-2,-23 ;FOR COMPARISON
3508 033203 241 06 0 00 777772 ROT AC-2,ZZ ;ROTATE RIGHT BY 6
3509 033204 201 10 0 00 000055 MOVEI AC,55 ;SETUP BYTE WORD
3510 033205 474 00 0 00 000000 SETO ;SETUP DEST WORD (AC0)
3511 033206 136 10 0 00 000011 IDPB AC,<AC+1>&17 ;INC AND DEPOSIT BYTE
3512 033207 312 00 0 00 000006 CAME ,<AC-2>&17 ;TEST DEST WORD
3513 033210 012 00 0 00 012201 ER12 ,SN ;IDPB FAILED
3514 033211 321 12 0 00 033201 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
3515
3516
3517 012202 SN=SN+1
3518 777777 777764 ZZ=ZZ-6
3519 033212 505 06 0 00 777777 HRLI AC-2,-1 ;SETUP AC-2
3520 033213 541 06 0 00 777755 HRRI AC-2,-23 ;FOR COMPARISON
3521 033214 241 06 0 00 777764 ROT AC-2,ZZ ;ROTATE RIGHT BY 6
3522 033215 201 10 0 00 000055 MOVEI AC,55 ;SETUP BYTE WORD
3523 033216 474 00 0 00 000000 SETO ;SETUP DEST WORD (AC0)
3524 033217 136 10 0 00 000011 IDPB AC,<AC+1>&17 ;INC AND DEPOSIT BYTE
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 42-1
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0098
3525 033220 312 00 0 00 000006 CAME ,<AC-2>&17 ;TEST DEST WORD
3526 033221 012 00 0 00 012202 ER12 ,SN ;IDPB FAILED
3527 033222 321 12 0 00 033212 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
3528
3529
3530 012203 SN=SN+1
3531 777777 777756 ZZ=ZZ-6
3532 033223 505 06 0 00 777777 HRLI AC-2,-1 ;SETUP AC-2
3533 033224 541 06 0 00 777755 HRRI AC-2,-23 ;FOR COMPARISON
3534 033225 241 06 0 00 777756 ROT AC-2,ZZ ;ROTATE RIGHT BY 6
3535 033226 201 10 0 00 000055 MOVEI AC,55 ;SETUP BYTE WORD
3536 033227 474 00 0 00 000000 SETO ;SETUP DEST WORD (AC0)
3537 033230 136 10 0 00 000011 IDPB AC,<AC+1>&17 ;INC AND DEPOSIT BYTE
3538 033231 312 00 0 00 000006 CAME ,<AC-2>&17 ;TEST DEST WORD
3539 033232 012 00 0 00 012203 ER12 ,SN ;IDPB FAILED
3540 033233 321 12 0 00 033223 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
3541
3542
3543 012204 SN=SN+1
3544 777777 777750 ZZ=ZZ-6
3545 033234 505 06 0 00 777777 HRLI AC-2,-1 ;SETUP AC-2
3546 033235 541 06 0 00 777755 HRRI AC-2,-23 ;FOR COMPARISON
3547 033236 241 06 0 00 777750 ROT AC-2,ZZ ;ROTATE RIGHT BY 6
3548 033237 201 10 0 00 000055 MOVEI AC,55 ;SETUP BYTE WORD
3549 033240 474 00 0 00 000000 SETO ;SETUP DEST WORD (AC0)
3550 033241 136 10 0 00 000011 IDPB AC,<AC+1>&17 ;INC AND DEPOSIT BYTE
3551 033242 312 00 0 00 000006 CAME ,<AC-2>&17 ;TEST DEST WORD
3552 033243 012 00 0 00 012204 ER12 ,SN ;IDPB FAILED
3553 033244 321 12 0 00 033234 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
3554
3555
3556 012205 SN=SN+1
3557 777777 777742 ZZ=ZZ-6
3558 033245 505 06 0 00 777777 HRLI AC-2,-1 ;SETUP AC-2
3559 033246 541 06 0 00 777755 HRRI AC-2,-23 ;FOR COMPARISON
3560 033247 241 06 0 00 777742 ROT AC-2,ZZ ;ROTATE RIGHT BY 6
3561 033250 201 10 0 00 000055 MOVEI AC,55 ;SETUP BYTE WORD
3562 033251 474 00 0 00 000000 SETO ;SETUP DEST WORD (AC0)
3563 033252 136 10 0 00 000011 IDPB AC,<AC+1>&17 ;INC AND DEPOSIT BYTE
3564 033253 312 00 0 00 000006 CAME ,<AC-2>&17 ;TEST DEST WORD
3565 033254 012 00 0 00 012205 ER12 ,SN ;IDPB FAILED
3566 033255 321 12 0 00 033245 JUMPL AC+2,.-^D8 ;LOOP ON ERROR SWITCH
3567
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 43
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0099
3568 ;INST-LDB-SPECIAL CASE-S GREATER THAN 44
3569 ;P FIELD=7
3570 ;S FIELD=60,40
3571 ;VERIFY THAT THE BYTE PROCESSED IS, AT MOST, 44 BITS IF S GREATER THAN 44
3572
3573 000013 AC=13
3574 SAVEAC (1,1)^
3575 033256 201 15 0 00 033256 MOVEI AC+2,. ;SAVE TEST PC
3576 033257 202 15 0 00 030051 MOVEM AC+2,TESTPC
3577 033260 201 15 0 00 000015 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
3578 033261 202 15 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
3579
3580 012210 SN=12210
3581 100000 XX=100000
3582
3583 ;TEST LDB
3584 G12210: REPEAT 2,<
3585 SN=SN+1
3586 XX=XX-2000
3587 SETOB 0,2
3588 MOVE 1,[525252,,525377] ;SETUP BYTE WORD
3589 SETZM AC ;CLEAR DEST WORD
3590 MOVE AC+1,[XX,,1] ;SETUP POINTER
3591 LDB AC,<AC+1>&17 ;LOAD BYTE
3592 CAME AC,[002525,,252525] ;TEST DEST WORD
3593 ER3 AC,SN ;LDB FAILED
3594 CAME AC+1,[XX,,1] ;CHECK POINTER
3595 ER4 AC+1,SN ;POINTER WAS MODIFIED
3596 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
3597 >
3598
3599 012211 SN=SN+1
3600 076000 XX=XX-2000
3601 033262 477 00 0 00 000002 SETOB 0,2
3602 033263 200 01 0 00 040722 MOVE 1,[525252,,525377] ;SETUP BYTE WORD
3603 033264 402 00 0 00 000013 SETZM AC ;CLEAR DEST WORD
3604 033265 200 14 0 00 040723 MOVE AC+1,[XX,,1] ;SETUP POINTER
3605 033266 135 13 0 00 000014 LDB AC,<AC+1>&17 ;LOAD BYTE
3606 033267 312 13 0 00 040724 CAME AC,[002525,,252525] ;TEST DEST WORD
3607 033270 003 13 0 00 012211 ER3 AC,SN ;LDB FAILED
3608 033271 312 14 0 00 040723 CAME AC+1,[XX,,1] ;CHECK POINTER
3609 033272 004 14 0 00 012211 ER4 AC+1,SN ;POINTER WAS MODIFIED
3610 033273 321 15 0 00 033262 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
3611
3612
3613 012212 SN=SN+1
3614 074000 XX=XX-2000
3615 033274 477 00 0 00 000002 SETOB 0,2
3616 033275 200 01 0 00 040722 MOVE 1,[525252,,525377] ;SETUP BYTE WORD
3617 033276 402 00 0 00 000013 SETZM AC ;CLEAR DEST WORD
3618 033277 200 14 0 00 040725 MOVE AC+1,[XX,,1] ;SETUP POINTER
3619 033300 135 13 0 00 000014 LDB AC,<AC+1>&17 ;LOAD BYTE
3620 033301 312 13 0 00 040724 CAME AC,[002525,,252525] ;TEST DEST WORD
3621 033302 003 13 0 00 012212 ER3 AC,SN ;LDB FAILED
3622 033303 312 14 0 00 040725 CAME AC+1,[XX,,1] ;CHECK POINTER
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 43-1
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0100
3623 033304 004 14 0 00 012212 ER4 AC+1,SN ;POINTER WAS MODIFIED
3624 033305 321 15 0 00 033274 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
3625
3626 PAGE
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 43-2
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0101
3627 ;INST-DPB-SPECIAL CASE-S GREATER THAN 44
3628 ;P FIELD=7
3629 ;S FIELD=60,40
3630 ;VERIFY THAT THE BYTE PROCESSED IS, AT MOST, 44 BITS IF S GREATER THAN 44
3631
3632 012220 SN=12220
3633 100000 XX=100000
3634
3635 ;TEST DPB
3636 G12220: REPEAT 2,<
3637 SN=SN+1
3638 XX=XX-2000
3639 SETOB 0,2
3640 MOVE 1,[707070,,707070] ;SETUP DEST WORD
3641 MOVE AC,[323232,,232323] ;SETUP BYTE WORD
3642 MOVE AC+1,[XX,,1] ;SETUP POINTER
3643 DPB AC,<AC+1>&17 ;DEPOSIT BYTE
3644 MOVEI AC-2,[ASCIZ/C(C(E)-1) FAILED/]
3645 MOVE AC-2,SPDES ;FAILURE DESCRIPTOR
3646 CAME 0,[-1,,-1] ;CHECK DEST WORD -1
3647 ER2 0,SN ;DPB FAILED
3648 CAME 1,[646446,,464670] ;CHECK DEST WORD
3649 ER12 1,SN ;DPB FAILED
3650 MOVEI AC-2,[ASCIZ/C(C(E)+1) FAILED/]
3651 MOVEM AC-2,SPDES ;FAILURE DSCRIPTOR
3652 CAME 2,[-1,,-1] ;CHECK DEST WORD +1
3653 ER2 2,SN ;DPB FAILED
3654 JUMPL AC+2,.-^D15 ;LOOP ON ERROR SWITCH
3655 >
3656
3657 012221 SN=SN+1
3658 076000 XX=XX-2000
3659 033306 477 00 0 00 000002 SETOB 0,2
3660 033307 200 01 0 00 040726 MOVE 1,[707070,,707070] ;SETUP DEST WORD
3661 033310 200 13 0 00 040727 MOVE AC,[323232,,232323] ;SETUP BYTE WORD
3662 033311 200 14 0 00 040723 MOVE AC+1,[XX,,1] ;SETUP POINTER
3663 033312 137 13 0 00 000014 DPB AC,<AC+1>&17 ;DEPOSIT BYTE
3664 033313 201 11 0 00 040730 MOVEI AC-2,[ASCIZ/C(C(E)-1) FAILED/]
3665 033314 200 11 0 00 040646 MOVE AC-2,SPDES ;FAILURE DESCRIPTOR
3666 033315 312 00 0 00 040734 CAME 0,[-1,,-1] ;CHECK DEST WORD -1
3667 033316 002 00 0 00 012221 ER2 0,SN ;DPB FAILED
3668 033317 312 01 0 00 040735 CAME 1,[646446,,464670] ;CHECK DEST WORD
3669 033320 012 01 0 00 012221 ER12 1,SN ;DPB FAILED
3670 033321 201 11 0 00 040736 MOVEI AC-2,[ASCIZ/C(C(E)+1) FAILED/]
3671 033322 202 11 0 00 040646 MOVEM AC-2,SPDES ;FAILURE DSCRIPTOR
3672 033323 312 02 0 00 040734 CAME 2,[-1,,-1] ;CHECK DEST WORD +1
3673 033324 002 02 0 00 012221 ER2 2,SN ;DPB FAILED
3674 033325 321 15 0 00 033306 JUMPL AC+2,.-^D15 ;LOOP ON ERROR SWITCH
3675
3676
3677 012222 SN=SN+1
3678 074000 XX=XX-2000
3679 033326 477 00 0 00 000002 SETOB 0,2
3680 033327 200 01 0 00 040726 MOVE 1,[707070,,707070] ;SETUP DEST WORD
3681 033330 200 13 0 00 040727 MOVE AC,[323232,,232323] ;SETUP BYTE WORD
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 43-3
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0102
3682 033331 200 14 0 00 040725 MOVE AC+1,[XX,,1] ;SETUP POINTER
3683 033332 137 13 0 00 000014 DPB AC,<AC+1>&17 ;DEPOSIT BYTE
3684 033333 201 11 0 00 040730 MOVEI AC-2,[ASCIZ/C(C(E)-1) FAILED/]
3685 033334 200 11 0 00 040646 MOVE AC-2,SPDES ;FAILURE DESCRIPTOR
3686 033335 312 00 0 00 040734 CAME 0,[-1,,-1] ;CHECK DEST WORD -1
3687 033336 002 00 0 00 012222 ER2 0,SN ;DPB FAILED
3688 033337 312 01 0 00 040735 CAME 1,[646446,,464670] ;CHECK DEST WORD
3689 033340 012 01 0 00 012222 ER12 1,SN ;DPB FAILED
3690 033341 201 11 0 00 040736 MOVEI AC-2,[ASCIZ/C(C(E)+1) FAILED/]
3691 033342 202 11 0 00 040646 MOVEM AC-2,SPDES ;FAILURE DSCRIPTOR
3692 033343 312 02 0 00 040734 CAME 2,[-1,,-1] ;CHECK DEST WORD +1
3693 033344 002 02 0 00 012222 ER2 2,SN ;DPB FAILED
3694 033345 321 15 0 00 033326 JUMPL AC+2,.-^D15 ;LOOP ON ERROR SWITCH
3695
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 44
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0103
3696 ;VERIFY THAT THE POINTER IS NOT INCREMENTED BY "ILDB" OR "IDPB" IF 'BIS'
3697 ;IS SET; AND THAT THE SECOND PART OF THE BYTE INSTRUCTION CLEARS 'BIS'
3698
3699 000013 AC=13
3700 SAVEAC (1,1)^
3701 033346 201 15 0 00 033346 MOVEI AC+2,. ;SAVE TEST PC
3702 033347 202 15 0 00 030051 MOVEM AC+2,TESTPC
3703 033350 201 15 0 00 000015 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
3704 033351 202 15 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
3705
3706 033352 200 14 0 00 040742 G12300: MOVE AC+1,[220600,,AC-1] ;SETUP BYTE POINTER
3707 033353 200 13 0 00 040726 MOVE AC,[707070,,707070] ;SETUP AC
3708 033354 200 12 0 00 040743 MOVE AC-1,[112233,,445566] ;SETUP BYTE WORD
3709 033355 254 02 1 00 040744 JRSTF @[BIS,,.+1] ;SET 'BIS' FLAG
3710 033356 134 13 0 00 000014 ILDB AC,AC+1
3711 033357 265 11 0 00 033360 JSP AC-2,.+1 ;SAVE FLAGS
3712 033360 302 13 0 00 000033 CAIE AC,33 ;TEST DEST WORD
3713 033361 003 13 0 00 012301 ER3 AC,12301 ;INCORRECT BYTE WAS LOADED
3714 033362 312 14 0 00 040742 CAME AC+1,[220600,,AC-1] ;TEST POINTER
3715 033363 004 14 0 00 012301 ER4 AC+1,12301 ;POINTER WAS INCREMENTED
3716 033364 603 11 0 00 020000 TLNE AC-2,BIS ;EXAMINE 'BIS'
3717 033365 013 11 0 00 012301 ER13 AC-2,12301 ;'BIS' WAS NOT CLEARED
3718 033366 322 15 0 00 033352 JUMPE AC+2,G12300 ;LOOP ON ERROR SWITCH
3719
3720 033367 200 14 0 00 040742 G12400: MOVE AC+1,[220600,,AC-1] ;SET-UP BYTE POINTER
3721 033370 200 13 0 00 040726 MOVE AC,[707070,,707070] ;SET-UP AC
3722 033371 200 12 0 00 040743 MOVE AC-1,[112233,,445566] ;SETUP BYTE WORD
3723 033372 254 02 1 00 040745 JRSTF @[BIS,,.+1] ;SET 'BIS' FLAG
3724 033373 136 13 0 00 000014 IDPB AC,AC+1
3725 033374 265 11 0 00 033375 JSP AC-2,.+1 ;SAVE FLAGS
3726 033375 312 14 0 00 040742 CAME AC+1,[220600,,AC-1] ;TEST POINTER
3727 033376 004 14 0 00 012401 ER4 AC+1,12401 ;POINTER WAS INCREMENTED
3728 033377 312 12 0 00 040746 CAME AC-1,[112270,,445566] ;TEST BYTE WORD
3729 033400 012 12 0 00 012401 ER12 AC-1,12401 ;INCORRECT BYTE WAS DEPOSITED
3730 033401 603 11 0 00 020000 TLNE AC-2,BIS ;EXAMINE 'BIS'
3731 033402 013 11 0 00 012401 ER13 AC-2,12401 ;'BIS' WAS NOT CLEARED
3732 033403 321 15 0 00 033367 JUMPL AC+2,G12400 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 47
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0104
3733 ;MSCL BYTE TESTS - IBP
3734 ;VERIFY THAT IBP WORKS WHEN THE POINTER IS IN AN AC
3735
3736 000007 AC=7
3737 SAVEAC (1,1)^
3738 033404 201 11 0 00 033404 MOVEI AC+2,. ;SAVE TEST PC
3739 033405 202 11 0 00 030051 MOVEM AC+2,TESTPC
3740 033406 201 11 0 00 000011 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
3741 033407 202 11 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
3742 033410 254 02 1 00 040747 JRSTF @[.+1] ;CLEAR ALL FLAGS
3743
3744 033411 205 05 0 00 170600 G12500: MOVSI AC-2,170600 ;SETUP POINTER
3745 033412 205 06 0 00 110600 MOVSI AC-1,110600 ;RESULT FOR COMPARISON
3746 033413 133 00 0 00 000005 IBP <AC-2>&17 ;*IBP SHOULD PLACE 110600,,0 INTO PTR
3747 033414 312 05 0 00 000006 CAME AC-2,<AC-1>&17 ;IS PTR = 110600,,0 ?
3748 033415 005 05 0 00 012501 ER5 AC-2,12501 ;POINTER FAILURE
3749 033416 321 11 0 00 033411 JUMPL AC+2,G12500 ;LOOP ON ERROR SWITCH
3750
3751 ;MSCL BYTE TESTS - IBP
3752 ;VERIFY THAT IBP WORKS WHEN THE POINTER IS IN CORE MEMORY
3753
3754 000006 AC=6
3755 SAVEAC (1,1)^
3756 033417 201 10 0 00 033417 MOVEI AC+2,. ;SAVE TEST PC
3757 033420 202 10 0 00 030051 MOVEM AC+2,TESTPC
3758 033421 201 10 0 00 000010 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
3759 033422 202 10 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
3760 033423 254 02 1 00 040750 JRSTF @[.+1] ;CLEAR ALL FLAGS
3761
3762 033424 205 04 0 00 170600 G12510: MOVSI AC-2,170600
3763 033425 202 04 0 00 040136 MOVEM AC-2,BYTBLK ;SETUP POINTER
3764 033426 205 04 0 00 110600 MOVSI AC-2,110600 ;RESULT FOR COMPARISON
3765 033427 400 05 0 00 000000 SETZ AC-1, ;INITIALIZE FOR RESULT
3766 033430 133 00 0 00 040136 IBP BYTBLK ;*IBP SHOULD PLACE 110600,,0 INTO PTR
3767 033431 200 05 0 00 040136 MOVE AC-1,BYTBLK
3768 033432 312 05 0 00 000004 CAME AC-1,<AC-2>&17 ;IS PTR = 110600,,0 ?
3769 033433 005 05 0 00 012511 ER5 AC-1,12511 ;POINTER FAILURE
3770 033434 321 10 0 00 033424 JUMPL AC+2,G12510 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 48
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0105
3771 ;MSCL BYTE TESTS - DPB
3772 ;VERIFY THAT DPB WORKS WHEN BOTH POINTER AND BYTE
3773 ;ARE IN AC'S
3774
3775 000005 AC=5
3776 SAVEAC (1,1)^
3777 033435 201 07 0 00 033435 MOVEI AC+2,. ;SAVE TEST PC
3778 033436 202 07 0 00 030051 MOVEM AC+2,TESTPC
3779 033437 201 07 0 00 000007 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
3780 033440 202 07 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
3781 033441 254 02 1 00 040751 JRSTF @[.+1] ;CLEAR ALL FLAGS
3782
3783 033442 205 03 0 00 170600 G12600: MOVSI AC-2,170600 ;SETUP POINTER
3784 033443 541 03 0 00 000001 HRRI AC-2,<AC-4>&17
3785 033444 200 02 0 00 000003 MOVE AC-3,<AC-2>&17 ;POINTER FOR COMPARISON
3786 033445 200 01 0 00 040752 MOVE AC-4,[230703,,603700] ;SETUP BYTE WORD
3787 033446 201 05 0 00 654321 MOVEI AC,654321 ;SETUP AC
3788 033447 200 04 0 00 040753 MOVE AC-1,[230702,,103700] ;BYTE WORD FOR COMPARISON
3789 033450 137 05 0 00 000003 DPB AC,<AC-2>&17 ;DPB SHOULD PLACE 230702.103700 INTO BYTE WORD
3790 033451 312 03 0 00 000002 CAME AC-2,<AC-3>&17 ;WAS POINTER MODIFIED ?
3791 033452 005 03 0 00 012601 ER5 AC-2,12601 ;FAILURE - POINTER WAS MODIFIED
3792 033453 302 05 0 00 654321 CAIE AC,654321 ;WAS AC MODIFIED?
3793 033454 003 05 0 00 012602 ER3 AC,12602 ;FAILURE - AC WAS MODIFIED
3794 033455 312 01 0 00 000004 CAME AC-4,<AC-1>&17 ;WAS BYTE DEPOSITED CORRECTLY?
3795 033456 012 01 0 00 012603 ER12 AC-4,12603 ;FAILURE - BYTE NOT DEPOSITED CORRECTLY
3796 033457 321 07 0 00 033442 JUMPL AC+2,G12600 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 49
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0106
3797 ;MSCL BYTE TESTS - DPB
3798 ;VERIFY THAT DPB WORKS WHEN POINTER IS IN AN AC AND
3799 ;BYTE IS IN CORE MEMORY
3800
3801 000014 AC=14
3802 SAVEAC (1,1)^
3803 033460 201 16 0 00 033460 MOVEI AC+2,. ;SAVE TEST PC
3804 033461 202 16 0 00 030051 MOVEM AC+2,TESTPC
3805 033462 201 16 0 00 000016 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
3806 033463 202 16 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
3807 033464 254 02 1 00 040754 JRSTF @[.+1] ;CLEAR ALL FLAGS
3808
3809 033465 205 12 0 00 170600 G12610: MOVSI AC-2,170600 ;SETUP POINTER
3810 033466 541 12 0 00 040136 HRRI AC-2,BYTBLK
3811 033467 200 11 0 00 000012 MOVE AC-3,<AC-2>&17 ;POINTER FOR COMPARISON
3812 033470 200 14 0 00 040752 MOVE AC,[230703,,603700] ;SETUP BYTE WORD
3813 033471 202 14 0 00 040136 MOVEM AC,BYTBLK
3814 033472 200 13 0 00 040753 MOVE AC-1,[230702,,103700] ;BYTE WORD FOR COMPARISON
3815 033473 201 14 0 00 654321 MOVEI AC,654321 ;SETUP AC
3816 033474 137 14 0 00 000012 DPB AC,<AC-2>&17 ;DPB SHOULD PLACE 230702,,103700 INTO BYTE WORD
3817 033475 312 12 0 00 000011 CAME AC-2,<AC-3>&17 ;WAS POINTER MODIFIED?
3818 033476 005 12 0 00 012611 ER5 AC-2,12611 ;FAILURE - POINTER WAS MODIFIED
3819 033477 302 14 0 00 654321 CAIE AC,654321 ;WAS AC MODIFIED?
3820 033500 003 14 0 00 012612 ER3 AC,12612 ;FAILURE - AC WAS MODIFIED
3821 033501 200 07 0 00 040136 MOVE AC-5,BYTBLK
3822 033502 312 13 0 00 040136 CAME AC-1,BYTBLK ;WAS BYTE DEPOSITED CORRECTLY?
3823 033503 012 07 0 00 012613 ER12 AC-5,12613 ;FAILURE - BYTE NOT DEPOSITED CORRECTLY
3824 033504 321 16 0 00 033465 JUMPL AC+2,G12610 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 50
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0107
3825 ;MSCL BYTE TESTS - DPB
3826 ;VERIFY THAT DPB WORKS WHEN BYTE IS IN AN AC AND
3827 ;POINTER IS IN CORE MEMORY
3828
3829 000013 AC=13
3830 SAVEAC (1,1)^
3831 033505 201 15 0 00 033505 MOVEI AC+2,. ;SAVE TEST PC
3832 033506 202 15 0 00 030051 MOVEM AC+2,TESTPC
3833 033507 201 15 0 00 000015 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
3834 033510 202 15 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
3835 033511 254 02 1 00 040755 JRSTF @[.+1] ;CLEAR ALL FLAGS
3836
3837 033512 205 11 0 00 170600 G12620: MOVSI AC-2,170600
3838 033513 541 11 0 00 000007 HRRI AC-2,<AC-4>&17 ;POINTER FOR COMPARISON
3839 033514 202 11 0 00 040136 MOVEM AC-2,BYTBLK ;SETUP POINTER
3840 033515 200 07 0 00 040752 MOVE AC-4,[230703,,603700] ;SETUP BYTE WORD
3841 033516 200 12 0 00 040753 MOVE AC-1,[230702,,103700] ;BYTE WORD FOR COMPARISON
3842 033517 201 13 0 00 654321 MOVEI AC,654321 ;SETUP AC
3843 033520 137 13 0 00 040136 DPB AC,BYTBLK ;DPB SHOULD PLACE 230702,,103700 INTO BYTE WORD
3844 033521 200 10 0 00 040136 MOVE AC-3,BYTBLK
3845 033522 312 11 0 00 040136 CAME AC-2,BYTBLK ;WAS POINTER MODIFIED?
3846 033523 005 10 0 00 012621 ER5 AC-3,12621 ;FAILURE - POINTER WAS MODIFIED
3847 033524 302 13 0 00 654321 CAIE AC,654321 ;WAS AC MODIFIED?
3848 033525 003 13 0 00 012622 ER3 AC,12622 ;FAILURE - AC WAS MODIFIED
3849 033526 312 07 0 00 000012 CAME AC-4,<AC-1>&17 ;WAS BYTE DEPOSITED CORRECTLY?
3850 033527 012 07 0 00 012523 ER12 AC-4,12523 ;FAILURE - BYTE NOT DEPOSITED CORRECTLY
3851 033530 321 05 0 00 033512 JUMPL AC+12,G12620 ;LOOP ON ERROR SWITCH
3852
3853 ;MSCL BYTE TESTS - DPB
3854 ;VERIFY THAT DPB WORKS WHEN BOTH POINTER AND BYTE WORD ARE IN CORE MEMORY
3855
3856 000012 AC=12
3857 SAVEAC (1,1)^
3858 033531 201 14 0 00 033531 MOVEI AC+2,. ;SAVE TEST PC
3859 033532 202 14 0 00 030051 MOVEM AC+2,TESTPC
3860 033533 201 14 0 00 000014 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
3861 033534 202 14 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
3862 033535 254 02 1 00 040756 JRSTF @[.+1] ;CLEAR ALL FLAGS
3863
3864 033536 205 10 0 00 170600 G12630: MOVSI AC-2,170600
3865 033537 541 10 0 00 040141 HRRI AC-2,BYTBLK+3 ;POINTER FOR COMPARISON
3866 033540 202 10 0 00 040136 MOVEM AC-2,BYTBLK ;SETUP POINTER
3867 033541 200 06 0 00 040752 MOVE AC-4,[230703,,603700]
3868 033542 202 06 0 00 040141 MOVEM AC-4,BYTBLK+3 ;SETUP BYTE WORD
3869 033543 200 11 0 00 040753 MOVE AC-1,[230702,,103700] ;BYTE WORD FOR COMPARISON
3870 033544 201 12 0 00 654321 MOVEI AC,654321 ;SETUP AC
3871 033545 137 12 0 00 040136 DPB AC,BYTBLK ;DPB SHOULD PLACE 230702,,103700 INTO BYTE WORD
3872 033546 200 06 0 00 040136 MOVE AC-4,BYTBLK
3873 033547 312 10 0 00 040136 CAME AC-2,BYTBLK ;WAS POINTER MODIFIED?
3874 033550 005 06 0 00 012631 ER5 AC-4,12631 ;FAILURE - POINTER WAS MODIFIED
3875 033551 200 07 0 00 040141 MOVE AC-3,BYTBLK+3
3876 033552 312 11 0 00 040141 CAME AC-1,BYTBLK+3 ;WAS BYTE DEPOSITED CORRECTLY?
3877 033553 012 07 0 00 012632 ER12 AC-3,12632 ;FAILURE - BYTE NOT DEPOSITED CORRECTLY
3878 033554 302 12 0 00 654321 CAIE AC,654321 ;WAS AC MODIFIED?
3879 033555 003 12 0 00 012633 ER3 AC,12633 ;FAILURE - AC WAS MODIFIED
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 50-1
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0108
3880 033556 321 14 0 00 033536 JUMPL AC+2,G12630 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 51
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0109
3881 ;MSCL BYTE TESTS - IDPB
3882 ;VERIFY THAT IDPB WORKS WHEN BOTH POINTER AND BYTE
3883 ;ARE IN AC'S
3884
3885 000011 AC=11
3886 SAVEAC (1,1)^
3887 033557 201 13 0 00 033557 MOVEI AC+2,. ;SAVE TEST PC
3888 033560 202 13 0 00 030051 MOVEM AC+2,TESTPC
3889 033561 201 13 0 00 000013 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
3890 033562 202 13 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
3891 033563 254 02 1 00 040757 JRSTF @[.+1] ;CLEAR ALL FLAGS
3892
3893 033564 205 07 0 00 250600 G12700: MOVSI AC-2,250600 ;SETUP POINTER
3894 033565 541 07 0 00 000005 HRRI AC-2,<AC-4>&17
3895 033566 200 06 0 00 000007 MOVE AC-3,<AC-2>&17
3896 033567 505 06 0 00 170600 HRLI AC-3,170600 ;POINTER FOR COMPARISON
3897 033570 200 05 0 00 040752 MOVE AC-4,[230703,,603700] ;SETUP BYTE WORD
3898 033571 201 11 0 00 654321 MOVEI AC,654321 ;SETUP AC
3899 033572 200 10 0 00 040753 MOVE AC-1,[230702,,103700] ;BYTE WORD FOR COMPARISON
3900 033573 136 11 0 00 000007 IDPB AC,<AC-2>&17 ;IDPB SHOULD PLACE 230702,,103700 INTO BYTE WORD
3901 033574 312 07 0 00 000006 CAME AC-2,<AC-3>&17 ;WAS POINTER INCREMENTED CORRECTLY
3902 033575 005 07 0 00 012701 ER5 AC-2,12701 ;FAILURE - POINTER NOT INCREMENTED CORRECTLY
3903 033576 302 11 0 00 654321 CAIE AC,654321 ;WAS AC MODIFIED
3904 033577 003 11 0 00 012700 ER3 AC,12700 ;FAILURE - AC WAS MODIFIED
3905 033600 312 05 0 00 000010 CAME AC-4,<AC-1>&17 ;WAS BYTE DEPOSITED CORRECTLY?
3906 033601 012 05 0 00 012703 ER12 AC-4,12703 ;FAILURE - BYTE NOT DEPOSITED CORRECTLY
3907 033602 321 13 0 00 033564 JUMPL AC+2,G12700 ;LOOP ON ERROR SWITCH
3908
3909 ;MSCL BYTE TESTS - IDPB
3910 ;VERIFY THAT DPB WORKS WHEN POINTER IS IN AN AC AND
3911 ;BYTE IS IN CORE MEMORY
3912
3913 000010 AC=10
3914 SAVEAC (1,1)^
3915 033603 201 12 0 00 033603 MOVEI AC+2,. ;SAVE TEST PC
3916 033604 202 12 0 00 030051 MOVEM AC+2,TESTPC
3917 033605 201 12 0 00 000012 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
3918 033606 202 12 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
3919 033607 254 02 1 00 040760 JRSTF @[.+1] ;CLEAR ALL FLAGS
3920
3921 033610 205 06 0 00 250600 G12710: MOVSI AC-2,250600 ;SETUP POINTER
3922 033611 541 06 0 00 040136 HRRI AC-2,BYTBLK
3923 033612 200 05 0 00 000006 MOVE AC-3,<AC-2>&17
3924 033613 505 05 0 00 170600 HRLI AC-3,170600 ;POINTER FOR COMPARISON
3925 033614 200 10 0 00 040752 MOVE AC,[230703,,603700] ;SETUP BYTE WORD
3926 033615 202 10 0 00 040136 MOVEM AC,BYTBLK
3927 033616 200 07 0 00 040753 MOVE AC-1,[230702,,103700] ;BYTE WORD FOR COMPARISON
3928 033617 201 10 0 00 654321 MOVEI AC,654321 ;SETUP AC
3929 033620 136 10 0 00 000006 IDPB AC,<AC-2>&17 ;IDPB SHOULD PLACE 230702,,103700 INTO
3930 ;BYTE WORD AND INCREMENT POINTER
3931 033621 312 06 0 00 000005 CAME AC-2,<AC-3>&17 ;WAS POINTER INCREMENTED CORRECTED
3932 033622 012 06 0 00 012713 ER12 AC-2,12713 ;FAILURE - BYTE NOT DEPOSITED CORRECTLY
3933 033623 321 12 0 00 033610 JUMPL AC+2,G12710 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 52
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0110
3934 ;MSCL BYTE TESTS - IDPB
3935 ;VERIFY THAT IDPB WORKS WHEN BYTE IS IN AN AC AND
3936 ;POINTER IS IN CORE MEMORY
3937
3938 000007 AC=7
3939 SAVEAC (1,1)^
3940 033624 201 11 0 00 033624 MOVEI AC+2,. ;SAVE TEST PC
3941 033625 202 11 0 00 030051 MOVEM AC+2,TESTPC
3942 033626 201 11 0 00 000011 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
3943 033627 202 11 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
3944
3945 033630 254 02 1 00 040761 JRSTF @[.+1] ;CLEAR ALL FLAGS
3946
3947 033631 205 05 0 00 250600 G12720: MOVSI AC-2,250600
3948 033632 541 05 0 00 000003 HRRI AC-2,<AC-4>&17
3949 033633 202 05 0 00 040136 MOVEM AC-2,BYTBLK ;SETUP POINTER
3950 033634 505 05 0 00 170600 HRLI AC-2,170600 ;POINTER FOR COMPARISON
3951 033635 200 03 0 00 040752 MOVE AC-4,[230703,,603700] ;SETUP BYTE WORD
3952 033636 200 06 0 00 040753 MOVE AC-1,[230702,,103700] ;BYTE WORD FOR COMPARISON
3953 033637 201 07 0 00 654321 MOVEI AC,654321 ;;SETUP AC
3954 033640 136 07 0 00 040136 IDPB AC,BYTBLK ;IDPB SHOULD PLACE 230702,,103700 INTO
3955 ;BYTE WORD AND INCREMENT POINTER
3956 033641 200 04 0 00 040136 MOVE AC-3,BYTBLK
3957 033642 312 05 0 00 040136 CAME AC-2,BYTBLK ;WAS POINTER INCREMENTED CORRECTLY
3958 033643 005 04 0 00 012721 ER5 AC-3,12721 ;FAILURE - POINTER WAS NOT INCREMENTED CORRECTLY
3959 033644 302 07 0 00 654321 CAIE AC,654321 ;WAS AC MODIFIED?
3960 033645 003 07 0 00 012722 ER3 AC,12722 ;FAILURE - AC WAS MODIFIED
3961 033646 312 03 0 00 000006 CAME AC-4,<AC-1>&17 ;WAS BYTE DEPOSITED CORRECTLY
3962 033647 012 03 0 00 012723 ER12 AC-4,12723 ;FAILURE - BYTE NOT DEPOSITED CORRECTLY
3963 033650 321 11 0 00 033631 JUMPL AC+2,G12720 ;LOOP ON ERROR SWITCH
3964
3965 ;MSCL BYTE TESTS - IDPB
3966 ;VERIFY THAT IDPB WORKS WHEN BOTH POINTER AND BYTE WORD ARE IN CORE MEMORY
3967
3968 000006 AC=6
3969 SAVEAC (1,1)^
3970 033651 201 10 0 00 033651 MOVEI AC+2,. ;SAVE TEST PC
3971 033652 202 10 0 00 030051 MOVEM AC+2,TESTPC
3972 033653 201 10 0 00 000010 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
3973 033654 202 10 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
3974 033655 254 02 1 00 040762 JRSTF @[.+1] ;CLEAR ALL FLAGS
3975
3976 033656 205 04 0 00 250600 G12730: MOVSI AC-2,250600
3977 033657 541 04 0 00 040141 HRRI AC-2,BYTBLK+3
3978 033660 202 04 0 00 040136 MOVEM AC-2,BYTBLK ;SETUP POINTER
3979 033661 505 04 0 00 170600 HRLI AC-2,170600 ;POINTER FOR COMPARISON
3980 033662 200 02 0 00 040752 MOVE AC-4,[230703,,603700]
3981 033663 202 02 0 00 040141 MOVEM AC-4,BYTBLK+3 ;SETUP BYTE WORD
3982 033664 200 05 0 00 040753 MOVE AC-1,[230702,,103700] ;BYTE WORD FOR COMPARISON
3983 033665 201 06 0 00 654321 MOVEI AC,654321 ;SETUP AC
3984 033666 136 06 0 00 040136 IDPB AC,BYTBLK ;IDPB SHOULD PLACE 230702,,103700 INTO
3985 ;BYTE WORD AND INCREMENT POINTER
3986 033667 200 02 0 00 040136 MOVE AC-4,BYTBLK
3987 033670 312 04 0 00 040136 CAME AC-2,BYTBLK ;WAS POINTER MODIFIED?
3988 033671 005 02 0 00 012731 ER5 AC-4,12731 ;FAILURE - POINTER WAS MODIFIED
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 52-1
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0111
3989 033672 200 03 0 00 040141 MOVE AC-3,BYTBLK+3
3990 033673 312 05 0 00 040141 CAME AC-1,BYTBLK+3 ;WAS BYTE DEPOSITED CORRECTLY
3991 033674 012 03 0 00 012732 ER12 AC-3,12732 ;FAILURE - BYTE NOT DEPOSITED CORRECTLY
3992 033675 302 06 0 00 654321 CAIE AC,654321 ;WAS AC MODIFIED
3993 033676 003 06 0 00 012733 ER3 AC,12733 ;FAILURE - AC WAS MODIFIED
3994 033677 321 10 0 00 033656 JUMPL AC+2,G12730 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 53
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0112
3995 ;MSCL BYTE TESTS - LDB
3996 ;VERIFY THAT LDB WORKS WHEN BOTH POINTER AND BYTE
3997 ;ARE IN AC'S
3998
3999 000005 AC=5
4000 SAVEAC (1,1)^
4001 033700 201 07 0 00 033700 MOVEI AC+2,. ;SAVE TEST PC
4002 033701 202 07 0 00 030051 MOVEM AC+2,TESTPC
4003 033702 201 07 0 00 000007 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
4004 033703 202 07 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
4005 033704 254 02 1 00 040763 JRSTF @[.+1] ;CLEAR ALL FLAGS
4006
4007 033705 205 03 0 00 170600 G13000: MOVSI AC-2,170600 ;SETUP POINTER
4008 033706 541 03 0 00 000001 HRRI AC-2,<AC-4>&17
4009 033707 200 02 0 00 000003 MOVE AC-3,<AC-2>&17 ;POINTER FOR COMPARISON
4010 033710 200 01 0 00 040752 MOVE AC-4,[230703,,603700] ;SETUP BYTE WORD
4011 033711 400 05 0 00 000000 SETZ AC, ;SETUP AC
4012 033712 200 04 0 00 000001 MOVE AC-1,<AC-4>&17 ;BYTE WORD FOR COMPARISON
4013 033713 135 05 0 00 000003 LDB AC,<AC-2>&17 ;LDB SHOULD PLACE 0,,36 INTO THE AC
4014 033714 312 03 0 00 000002 CAME AC-2,<AC-3>&17 ;WAS POINTER MODIFIED?
4015 033715 005 03 0 00 013001 ER5 AC-2,13001 ;FAILURE - POINTER WAS MODIFIED
4016 033716 302 05 0 00 000036 CAIE AC,36 ;WAS BYTE LOADED CORRECTLY?
4017 033717 003 05 0 00 013002 ER3 AC,13002 ;FAILURE - BYTE NOT LOADED CORRECTLY.
4018 033720 312 01 0 00 000004 CAME AC-4,<AC-1>&17 ;WAS BYTE WORD MODIFIED
4019 033721 012 01 0 00 013003 ER12 AC-4,13003 ;FAILURE - BYTE WORD WAS MODIFIED
4020 033722 321 07 0 00 033705 JUMPL AC+2,G13000 ;LOOP ON ERROR SWITCH
4021
4022 ;MSCL BYTE TESTS - LDB
4023 ;VERIFY THAT LDB WORKS WHEN POINTER IS IN AN AC AND
4024 ;BYTE IS IN CORE MEMORY
4025
4026 000014 AC=14
4027 SAVEAC (1,1)^
4028 033723 201 16 0 00 033723 MOVEI AC+2,. ;SAVE TEST PC
4029 033724 202 16 0 00 030051 MOVEM AC+2,TESTPC
4030 033725 201 16 0 00 000016 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
4031 033726 202 16 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
4032 033727 254 02 1 00 040764 JRSTF @[.+1] ;CLEAR ALL FLAGS
4033
4034 033730 205 12 0 00 170600 G13010: MOVSI AC-2,170600 ;SETUP POINTER
4035 033731 541 12 0 00 040136 HRRI AC-2,BYTBLK
4036 033732 200 11 0 00 000012 MOVE AC-3,<AC-2>&17 ;POINTER FOR COMPARISON
4037 033733 200 13 0 00 040752 MOVE AC-1,[230703,,603700] ;BYTE WORD FOR COMPARISON
4038 033734 202 13 0 00 040136 MOVEM AC-1,BYTBLK ;SETUP BYTE WORD
4039 033735 400 14 0 00 000000 SETZ AC, ;SETUP AC
4040 033736 135 14 0 00 000012 LDB AC,<AC-2>&17 ;LDB SHOULD PLACE 0,,36 INTO THE AC
4041 033737 312 12 0 00 000011 CAME AC-2,<AC-3>&17 ;WAS POINTER MODIFIED?
4042 033740 005 12 0 00 013011 ER5 AC-2,13011 ;FAILURE - POINTER WAS MODIFIED
4043 033741 302 14 0 00 000036 CAIE AC,36 ;WAS BYTE LOADED CORRECTLY?
4044 033742 003 14 0 00 013012 ER3 AC,13012 ;FAILURE - BYTE NOT LOADED CORRECTLY
4045 033743 200 07 0 00 040136 MOVE AC-5,BYTBLK
4046 033744 312 13 0 00 040136 CAME AC-1,BYTBLK ;WAS BYTE WORD MODIFIED?
4047 033745 012 07 0 00 013013 ER12 AC-5,13013 ;FAILURE - BYTE WORD WAS MODIFIED
4048 033746 321 16 0 00 033730 JUMPL AC+2,G13010 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 54
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0113
4049 ;MSCL BYTE TESTS - LDB
4050 ;VERIFY THAT LDB WORKS WHEN BYTE IS IN AN AC AND
4051 ;POINTER IS IN CORE MEMORY.
4052
4053 000013 AC=13
4054 SAVEAC (1,1)^
4055 033747 201 15 0 00 033747 MOVEI AC+2,. ;SAVE TEST PC
4056 033750 202 15 0 00 030051 MOVEM AC+2,TESTPC
4057 033751 201 15 0 00 000015 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
4058 033752 202 15 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
4059 033753 254 02 1 00 040765 JRSTF @[.+1] ;CLEAR ALL FLAGS
4060
4061 033754 205 11 0 00 170600 G13020: MOVSI AC-2,170600
4062 033755 541 11 0 00 000007 HRRI AC-2,<AC-4>&17 ;POINTER FOR COMPARISON
4063 033756 202 11 0 00 040136 MOVEM AC-2,BYTBLK ;SETUP POINTER
4064 033757 200 07 0 00 040752 MOVE AC-4,[230703,,603700] ;SETUP BYTE WORD
4065 033760 200 12 0 00 040752 MOVE AC-1,[230703,,603700] ;BYTE WORD FOR COMPARISON
4066 033761 400 13 0 00 000000 SETZ AC, ;SETUP AC
4067 033762 135 13 0 00 040136 LDB AC,BYTBLK ;LDB SHOULD PLACE 20,,36 INTO THE AC
4068 033763 200 10 0 00 040136 MOVE AC-3,BYTBLK
4069 033764 312 11 0 00 040136 CAME AC-2,BYTBLK ;WAS POINTER MODIFIED?
4070 033765 005 10 0 00 013021 ER5 AC-3,13021 ;FAILURE - POINTER WAS MODIFIED
4071 033766 302 13 0 00 000036 CAIE AC,36 ;WAS BYTE LOADED CORRECTLY?
4072 033767 003 13 0 00 013022 ER3 AC,13022 ;FAILURE - BYTE NOT LOADED CORRECTLY
4073 033770 312 07 0 00 000012 CAME AC-4,<AC-1>&17 ;WAS BYTE WORD MODIFIED?
4074 033771 012 07 0 00 013023 ER12 AC-4,13023 ;FAILURE - BYTE WORD WAS MODIFIED
4075 033772 321 15 0 00 033754 JUMPL AC+2,G13020 ;LOOP ON ERROR SWITCH
4076
4077 ;MSCL BYTE TESTS - LDB
4078 ;VERIFY THAT LDB WORKS WHEN BOTH POINTER AND BYTE WORD ARE IN CORE MEMORY.
4079
4080 000012 AC=12
4081 SAVEAC (1,1)^
4082 033773 201 14 0 00 033773 MOVEI AC+2,. ;SAVE TEST PC
4083 033774 202 14 0 00 030051 MOVEM AC+2,TESTPC
4084 033775 201 14 0 00 000014 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
4085 033776 202 14 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
4086 033777 254 02 1 00 040766 JRSTF @[.+1] ;CLEAR ALL FLAGS
4087
4088 034000 205 10 0 00 170600 G13030: MOVSI AC-2,170600
4089 034001 541 10 0 00 040141 HRRI AC-2,BYTBLK+3 ;POINTER FOR COMPARISON
4090 034002 202 10 0 00 040136 MOVEM AC-2,BYTBLK ;SETUP POINTER
4091 034003 200 06 0 00 040752 MOVE AC-4,[230703,,603700]
4092 034004 202 06 0 00 040141 MOVEM AC-4,BYTBLK+3 ;SETUP BYTE WORD
4093 034005 200 11 0 00 040752 MOVE AC-1,[230703,,603700] ;BYTE WORD FOR COMPARISON
4094 034006 400 12 0 00 000000 SETZ AC, ;SETUP AC
4095 034007 135 12 0 00 040136 LDB AC,BYTBLK ;LDB SHOULD PLACE 20,,36 INTO THE AC
4096 034010 200 06 0 00 040136 MOVE AC-4,BYTBLK
4097 034011 312 10 0 00 040136 CAME AC-2,BYTBLK ;WAS POINTER MODIFIED?
4098 034012 005 06 0 00 013031 ER5 AC-4,13031 ;FAILURE - POINTER WAS MODIFIED
4099 034013 200 07 0 00 040141 MOVE AC-3,BYTBLK+3
4100 034014 312 11 0 00 040141 CAME AC-1,BYTBLK+3 ;WAS BYTE WORD MODIFIED?
4101 034015 012 07 0 00 013032 ER12 AC-3,13032 ;FAILURE - BYTE WORD WAS MODIFIED
4102 034016 302 12 0 00 000036 CAIE AC,36 ;WAS BYTE LOADED CORRECTLY?
4103 034017 003 12 0 00 013033 ER3 AC,13033 ;FAILURE - BYTE NOT LOADED CORRECTLY
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 54-1
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0114
4104 034020 321 14 0 00 034000 JUMPL AC+2,G13030 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 55
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0115
4105 ;MSCL BYTE TESTS - ILDB
4106 ;VERIFY THAT ILDB WORKS WHEN BOTH POINTER AND BYTE
4107 ;ARE IN AC'S.
4108
4109 000011 AC=11
4110 SAVEAC (1,1)^
4111 034021 201 13 0 00 034021 MOVEI AC+2,. ;SAVE TEST PC
4112 034022 202 13 0 00 030051 MOVEM AC+2,TESTPC
4113 034023 201 13 0 00 000013 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
4114 034024 202 13 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
4115 034025 254 02 1 00 040767 JRSTF @[.+1] ;CLEAR ALL FLAGS
4116
4117 034026 205 07 0 00 170600 G13100: MOVSI AC-2,170600 ;SETUP POINTER
4118 034027 541 07 0 00 000005 HRRI AC-2,<AC-4>&17
4119 034030 200 06 0 00 000007 MOVE AC-3,<AC-2>&17
4120 034031 505 06 0 00 110600 HRLI AC-3,110600 ;POINTER FOR COMPARISON
4121 034032 200 05 0 00 040752 MOVE AC-4,[230703,,603700] ;SETUP BYTE WORD
4122 034033 400 11 0 00 000000 SETZ AC, ;SETUP AC
4123 034034 200 10 0 00 000005 MOVE AC-1,<AC-4>&17 ;BYTE WORD FOR COMPARISON
4124 034035 134 11 0 00 000007 ILDB AC,<AC-2>&17 ;ILDB SHOULD PLACE 0,,3 INTO THE AC
4125 ;AND INCREMENT POINTER
4126 034036 312 07 0 00 000006 CAME AC-2,<AC-3>&17 ;WAS POINTER INCREMENTED CORRECTLY?
4127 034037 005 07 0 00 003101 ER5 AC-2,3101 ;FAILURE - POINTER NOT INCREMENTED CORRECTLY
4128 034040 302 11 0 00 000003 CAIE AC,3 ;WAS BYTE LOADED CORRECTLY?
4129 034041 003 11 0 00 013102 ER3 AC,13102 ;FAILURE - BYTE NOT LOADED CORRECTLY
4130 034042 312 05 0 00 000010 CAME AC-4,<AC-1>&17 ;WAS BYTE WORD MODIFIED?
4131 034043 012 05 0 00 013103 ER12 AC-4,13103 ;FAILURE - BYTE WORD WAS MODIFIED
4132 034044 321 13 0 00 034026 JUMPL AC+2,G13100 ;LOOP ON ERROR SWITCH
4133
4134 ;MSCL BYTE TESTS - ILDB
4135 ;VERIFY THAT ILDB WORKS WHEN POINTER IS IN AN AC AND
4136 ;BYTE IS IN CORE MEMORY
4137
4138 000010 AC=10
4139 SAVEAC (1,1)^
4140 034045 201 12 0 00 034045 MOVEI AC+2,. ;SAVE TEST PC
4141 034046 202 12 0 00 030051 MOVEM AC+2,TESTPC
4142 034047 201 12 0 00 000012 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
4143 034050 202 12 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
4144 034051 254 02 1 00 040770 JRSTF @[.+1] ;CLEAR ALL FLAGS
4145
4146 034052 205 06 0 00 170600 G13110: MOVSI AC-2,170600 ;SETUP POINTER
4147 034053 541 06 0 00 040136 HRRI AC-2,BYTBLK
4148 034054 200 05 0 00 000006 MOVE AC-3,<AC-2>&17
4149 034055 505 05 0 00 110600 HRLI AC-3,110600 ;POINTER FOR COMPARISON
4150 034056 200 07 0 00 040752 MOVE AC-1,[230703,,603700] ;BYTEWORD FOR COMPARISON
4151 034057 202 10 0 00 040136 MOVEM AC,BYTBLK ;SETUP BYTE WORD
4152 034060 400 10 0 00 000000 SETZ AC, ;SETUP AC
4153 034061 134 10 0 00 000006 ILDB AC,<AC-2>&17 ;ILDB SHOULD PLACE 0,,3 INTO THE AC
4154 ;AND INCREMENT POINTER
4155 034062 312 06 0 00 000005 CAME AC-2,<AC-3>&17 ;WAS POINTER INCREMENTED CORRECTLY?
4156 034063 005 06 0 00 013111 ER5 AC-2,13111 ;FAILURE - POINTER NOT INCREMENTED CORRECTLY
4157 034064 302 10 0 00 000003 CAIE AC,3 ;WAS BYTE LOADED CORRECTLY?
4158 034065 003 10 0 00 013012 ER3 AC,13012 ;FAILURE - BYTE NOT LOADED CORRECTLY
4159 034066 200 03 0 00 040136 MOVE AC-5,BYTBLK
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 55-1
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0116
4160 034067 312 07 0 00 040136 CAME AC-1,BYTBLK ;WAS BYTE WORD MODIFIED?
4161 034070 012 03 0 00 013113 ER12 AC-5,13113 ;FAILURE - BYTE WORD WAS MODIFIED
4162 034071 321 12 0 00 034052 JUMPL AC+2,G13110 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 56
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0117
4163 ;MSCL BYTE TESTS - ILDB
4164 ;VERIFY THAT ILDB WORKS WHEN BYTE IS IN AN AC AND
4165 ;POINTER IS IN CORE MEMORY
4166
4167 000007 AC=7
4168 SAVEAC (1,1)^
4169 034072 201 11 0 00 034072 MOVEI AC+2,. ;SAVE TEST PC
4170 034073 202 11 0 00 030051 MOVEM AC+2,TESTPC
4171 034074 201 11 0 00 000011 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
4172 034075 202 11 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
4173 034076 254 02 1 00 040771 JRSTF @[.+1] ;CLEAR ALL FLAGS
4174
4175 034077 205 05 0 00 170600 G13120: MOVSI AC-2,170600
4176 034100 541 05 0 00 000003 HRRI AC-2,<AC-4>&17
4177 034101 202 05 0 00 040136 MOVEM AC-2,BYTBLK ;SETUP POINTER
4178 034102 505 05 0 00 110600 HRLI AC-2,110600 ;POINTER FOR COMPARISON
4179 034103 200 03 0 00 040752 MOVE AC-4,[230703,,603700] ;SETUP BYTE WORD
4180 034104 200 06 0 00 040752 MOVE AC-1,[230703,,603700] ;BYTE WORD FOR COMPARISON
4181 034105 400 00 0 00 000007 SETZ AC ;SETUP AC
4182 034106 134 07 0 00 040136 ILDB AC,BYTBLK ;ILDB SHOULD PLACE 0,,3 INTO THE AC
4183 ;AND INCREMENT POINTER
4184 034107 200 04 0 00 040136 MOVE AC-3,BYTBLK
4185 034110 312 05 0 00 040136 CAME AC-2,BYTBLK ;WAS POINTER INCREMENTED CORRECTLY?
4186 034111 005 04 0 00 013121 ER5 AC-3,13121 ;FAILURE - POINTER NOT INCREMENTED CORRECTLY
4187 034112 302 07 0 00 000003 CAIE AC,3 ;WAS BYTE LOADED CORRECTLY?
4188 034113 003 07 0 00 013122 ER3 AC,13122 ;FAILURE - BYTE NOT LOADED CORRECTLY
4189 034114 312 03 0 00 000006 CAME AC-4,<AC-1>&17 ;WAS BYTE WORD MODIFIED?
4190 034115 012 03 0 00 013123 ER12 AC-4,13123 ;FAILURE - BYTE WORD WAS MODIFIED
4191 034116 321 11 0 00 034077 JUMPL AC+2,G13120 ;LOOP ON ERROR SWITCH
4192
4193 ;MSCL BYTE TESTS - ILDB
4194 ;VERIFY THAT ILDB WORKS WHEN BOTH POINTER AND BYTE WORD ARE IN CORE MEMORY
4195
4196 000006 AC=6
4197 SAVEAC (1,1)^
4198 034117 201 10 0 00 034117 MOVEI AC+2,. ;SAVE TEST PC
4199 034120 202 10 0 00 030051 MOVEM AC+2,TESTPC
4200 034121 201 10 0 00 000010 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
4201 034122 202 10 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
4202 034123 254 02 1 00 040772 JRSTF @[.+1] ;CLEAR ALL FLAGS
4203
4204 034124 205 04 0 00 170600 G13130: MOVSI AC-2,170600
4205 034125 541 04 0 00 040141 HRRI AC-2,BYTBLK+3
4206
4207 034126 202 04 0 00 040136 MOVEM AC-2,BYTBLK ;SETUP POINTER
4208 034127 505 04 0 00 110600 HRLI AC-2,110600 ;POINTER FOR COMPARISON
4209 034130 200 02 0 00 040752 MOVE AC-4,[230703,,603700]
4210 034131 202 02 0 00 040141 MOVEM AC-4,BYTBLK+3 ;SETUP BYTE WORD
4211 034132 200 05 0 00 040752 MOVE AC-1,[230703,,603700] ;BYTE WORD FOR COMPARISON
4212 034133 400 06 0 00 000000 SETZ AC, ;SETUP AC
4213 034134 134 06 0 00 040136 ILDB AC,BYTBLK ;ILDB SHOULD PLACE 0,,3 INTO THE AC
4214 ;AND INCREMENT THE POINTER
4215 034135 200 02 0 00 040136 MOVE AC-4,BYTBLK
4216 034136 312 04 0 00 040136 CAME AC-2,BYTBLK ;WAS POINTER INCREMENTED CORRECTLY?
4217 034137 005 02 0 00 013131 ER5 AC-4,13131 ;FAILURE - POINTER NOT INCREMENTED CORRECTLY
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 56-1
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0118
4218 034140 200 03 0 00 040141 MOVE AC-3,BYTBLK+3
4219 034141 312 05 0 00 040141 CAME AC-1,BYTBLK+3 ;WAS BYTE WORD MODIFIED?
4220 034142 012 03 0 00 013132 ER12 AC-3,13132 ;FAILURE - BYTE WORD WAS MODIFIED
4221 034143 302 06 0 00 000003 CAIE AC,3 ;WAS BYTE LOADED CORRECTLY?
4222 034144 003 06 0 00 013133 ER3 AC,13133 ;FAILURE - BYTE NOT LOADED CORRECTLY
4223 034145 321 10 0 00 034124 JUMPL AC+2,G13130 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 57
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0119
4224 ;TEST LDB WHEN SIZE OF BYTE IS ZERO BITS
4225 ;THE AC SHOULD BE CLEARED
4226
4227 000005 AC=5
4228 SAVEAC (1,1)^
4229 034146 201 07 0 00 034146 MOVEI AC+2,. ;SAVE TEST PC
4230 034147 202 07 0 00 030051 MOVEM AC+2,TESTPC
4231 034150 201 07 0 00 000007 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
4232 034151 202 07 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
4233 034152 254 02 1 00 040773 JRSTF @[.+1] ;CLEAR ALL FLAGS
4234
4235 034153 201 03 0 00 000001 G13200: MOVEI AC-2,<AC-4>&17 ;SETUP POINTER
4236 034154 474 05 0 00 000000 SETO AC, ;SETUP AC
4237 034155 551 01 0 00 000010 HRRZI AC-4,10 ;SETUP BYTE WORD
4238 034156 135 05 0 00 000001 LDB AC,<AC-4>&17 ;LDB SHOULD CLEAR THE AC
4239 034157 302 05 0 00 000000 CAIE AC,0 ;WAS AC CLEARED?
4240 034160 003 05 0 00 013201 ER3 AC,13201 ;FAILURE - AC WAS NOT CLEARED
4241 034161 302 03 0 00 000001 CAIE AC-2,<AC-4>&17 ;WAS POINTER MODIFIED?
4242 034162 005 03 0 00 013202 ER5 AC-2,13202 ;FAILURE - POINTER WAS MODIFIED
4243 034163 302 01 0 00 000010 CAIE AC-4,10 ;WAS BYTE WORD MODIFIED
4244 034164 012 01 0 00 013203 ER12 AC-4,13203 ;FAILURE - BYTE WORD WAS MODIFIED
4245 034165 321 07 0 00 034153 JUMPL AC+2,G13200 ;LOOP ON ERROR SWITCH
4246
4247 ;TEST ILDB WHEN SIZE OF BYTE IS ZERO BITS
4248 ;THE AC SHOULD BE CLEARED
4249
4250 000014 AC=14
4251 SAVEAC (1,1)^
4252 034166 201 16 0 00 034166 MOVEI AC+2,. ;SAVE TEST PC
4253 034167 202 16 0 00 030051 MOVEM AC+2,TESTPC
4254 034170 201 16 0 00 000016 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
4255 034171 202 16 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
4256 034172 254 02 1 00 040774 JRSTF @[.+1] ;CLEAR ALL FLAGS
4257
4258 034173 201 12 0 00 000010 G13210: MOVEI AC-2,<AC-4>&17 ;SETUP POINTER
4259 034174 474 14 0 00 000000 SETO AC, ;SETUP AC
4260 034175 551 10 0 00 000010 HRRZI AC-4,10 ;SETUP BYTE WORD
4261 034176 134 14 0 00 000010 ILDB AC,<AC-4>&17 ;ILDB SHOULD CLEAR THE AC
4262 034177 302 14 0 00 000000 CAIE AC,0 ;WAS AC CLEARED
4263 034200 003 14 0 00 013211 ER3 AC,13211 ;FAILURE - AC WAS NOT CLEARED
4264 034201 302 12 0 00 000010 CAIE AC-2,<AC-4>&17 ;WAS POINTER MODIFIED
4265 034202 005 12 0 00 013212 ER5 AC-2,13212 ;FAILURE - POINTER WAS MODIFIED
4266 034203 302 10 0 00 000010 CAIE AC-4,10 ;WAS BYTE WORD MODIFIED?
4267 034204 012 10 0 00 013213 ER12 AC-4,13213 ;FAILURE - BYTE WORD WAS MODIFIED
4268 034205 321 16 0 00 034173 JUMPL AC+2,G13210 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 58
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0120
4269 ;TEST DPB WHEN SIZE OF BYTE IS ZERO BITS
4270 ;THE AC SHOULD NOT BE AFFECTED
4271
4272 000013 AC=13
4273 SAVEAC (1,1)^
4274 034206 201 15 0 00 034206 MOVEI AC+2,. ;SAVE TEST PC
4275 034207 202 15 0 00 030051 MOVEM AC+2,TESTPC
4276 034210 201 15 0 00 000015 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
4277 034211 202 15 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
4278 034212 254 02 1 00 040775 JRSTF @[.+1] ;CLEAR ALL FLAGS
4279
4280 034213 201 11 0 00 000007 G13220: MOVEI AC-2,<AC-4>&17 ;SETUP POINTER
4281 034214 474 13 0 00 000000 SETO AC, ;SETUP AC
4282 034215 551 07 0 00 000010 HRRZI AC-4,10 ;SETUP BYTE WORD
4283 034216 137 13 0 00 000007 DPB AC,<AC-4>&17 ;DPB SHOULD NOT MODIFY ANYTHING
4284 034217 312 13 0 00 040734 CAME AC,[-1] ;WAS AC MODIFIED?
4285 034220 003 13 0 00 013221 ER3 AC,13221 ;FAILURE - AC WAS MODIFIED
4286 034221 302 11 0 00 000007 CAIE AC-2,<AC-4>&17 ;WAS POINTER MODIFIED?
4287 034222 005 11 0 00 013222 ER5 AC-2,13222 ;FAILURE - POINTER WAS MODIFIED
4288 034223 302 07 0 00 000010 CAIE AC-4,10 ;WAS BYTE WORD MODIFIED?
4289 034224 012 07 0 00 013223 ER12 AC-4,13223 ;FAILURE - BYTE WORD WAS MODIFIED
4290 034225 321 15 0 00 034213 JUMPL AC+2,G13220 ;LOOP ON ERROR SWITCH
4291
4292 ;TEST IDPB WHEN SIZE OF BYTE IS ZERO BITS
4293 ;TITE AC SHOULD NOT BE AFFECTED
4294
4295 000012 AC=12
4296 SAVEAC (1,1)^
4297 034226 201 14 0 00 034226 MOVEI AC+2,. ;SAVE TEST PC
4298 034227 202 14 0 00 030051 MOVEM AC+2,TESTPC
4299 034230 201 14 0 00 000014 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
4300 034231 202 14 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
4301 034232 254 02 1 00 040776 JRSTF @[.+1] ;CLEAR ALL FLAGS
4302
4303 034233 201 10 0 00 000006 G13230: MOVEI AC-2,<AC-4>&17 ;SETUP POINTER
4304 034234 474 12 0 00 000000 SETO AC, ;SETUP AC
4305 034235 551 06 0 00 000010 HRRZI AC-4,10 ;SETUP BYTE WORD
4306 034236 136 12 0 00 000006 IDPB AC,<AC-4>&17 ;IDPB SHOULD NOT MODIFY ANYTHING
4307 034237 312 12 0 00 040734 CAME AC,[-1] ;WAS AC MODIFIED?
4308 034240 003 12 0 00 013231 ER3 AC,13231 ;FAILURE - AC WAS MODIFIED
4309 034241 302 10 0 00 000006 CAIE AC-2,<AC-4>&17 ;WAS POINTER MODIFIED
4310 034242 005 10 0 00 013232 ER5 AC-2,13232 ;FAILURE - POINTER WAS MODIFIED
4311 034243 302 06 0 00 000010 CAIE AC-4,10 ;WAS BYTE WORD MODIFIED
4312 034244 012 06 0 00 013233 ER12 AC-4,13233 ;FAILURE - BYTE WORD WAS MODIFIED
4313 034245 321 14 0 00 034233 JUMPL AC+2,G13230 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 59
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0121
4314 ;TEST IBP WHEN SIZE OF BYTE IS ZERO BITS
4315 ;THE AC SHOULD NOT BE AFFECTED
4316
4317 000011 AC=11
4318 SAVEAC (1,1)^
4319 034246 201 13 0 00 034246 MOVEI AC+2,. ;SAVE TEST PC
4320 034247 202 13 0 00 030051 MOVEM AC+2,TESTPC
4321 034250 201 13 0 00 000013 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
4322 034251 202 13 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
4323 034252 254 02 1 00 040777 JRSTF @[.+1] ;CLEAR ALL FLAGS
4324
4325 034253 201 07 0 00 000005 G13240: MOVEI AC-2,<AC-4>&17 ;SETUP POINTER
4326 034254 474 11 0 00 000000 SETO AC, ;SETUP AC
4327 034255 551 05 0 00 000010 HRRZI AC-4,10 ;SETUP BYTE WORD
4328 034256 336 00 0 00 030041 SKIPN KLFLG
4329 034257 133 11 0 00 000005 IBP AC,<AC-4>&17 ;IBP SHOULD NOT MODIFY ANYTHING
4330 034260 332 00 0 00 030041 SKIPE KLFLG
4331 034261 133 00 0 00 000005 IBP 0,<AC-4>&17 ;KL10, DON'T DO ADJBP !
4332 034262 312 11 0 00 040734 CAME AC,[-1] ;WAS AC MODIFIED?
4333 034263 003 11 0 00 013241 ER3 AC,13241 ;FAILURE - AC WAS MODIFIED
4334 034264 302 07 0 00 000005 CAIE AC-2,<AC-4>&17 ;WASPOINTER MODIFIED?
4335 034265 005 07 0 00 013242 ER5 AC-2,13242 ;FAILURE - POINTER WAS MODIFIED
4336 034266 302 05 0 00 000010 CAIE AC-4,10 ;WAS BYTE WORD MODIFIED
4337 034267 012 05 0 00 013243 ER12 AC-4,13243 ;FAILURE - BYTE WORD WAS MODIFIED
4338 034270 321 13 0 00 034253 JUMPL AC+2,G13240 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 60
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0122
4339 ;TEST LDB WHEN SIZE OF BYTE IS ONE BIT
4340
4341 000010 AC=10
4342 SAVEAC (1,1)^
4343 034271 201 12 0 00 034271 MOVEI AC+2,. ;SAVE TEST PC
4344 034272 202 12 0 00 030051 MOVEM AC+2,TESTPC
4345 034273 201 12 0 00 000012 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
4346 034274 202 12 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
4347 034275 254 02 1 00 041000 JRSTF @[.+1] ;CLEAR ALL FLAGS
4348
4349 034276 205 06 0 00 430100 G13300: MOVSI AC-2,430100
4350 034277 541 06 0 00 000004 HRRI AC-2,<AC-4>&17 ;SETUP POINTER
4351 034300 200 07 0 00 000006 MOVE AC-1,<AC-2>&17 ;POINTER FOR COMPARISON
4352 034301 561 10 0 00 000000 HRROI AC,0 ;SETUP AC
4353 034302 515 04 0 00 777777 HRLZI AC-4,-1 ;SETUP BYTE WORD
4354 034303 200 05 0 00 000004 MOVE AC-3,<AC-4>&17 ;BYTE OWRD FOR COMPARISON
4355 034304 135 10 0 00 000006 LDB AC,<AC-2>&17 ;LDB SHOULD PLACE 0,,1 INTO THE AC
4356 034305 302 10 0 00 000001 CAIE AC,1 ;LOOP ON ERROR SWITCH
4357 034306 003 10 0 00 013301 ER3 AC,13301 ;FAILURE - BYTE NOT LOADED CORRECTLY
4358 034307 312 06 0 00 000007 CAME AC-2,<AC-1>&17 ;WAS POINTER MODIFIED?
4359 034310 005 06 0 00 013302 ER5 AC-2,13302 ;FAILURE POINTER WAS MODIFIED
4360 034311 312 04 0 00 000005 CAME AC-4,<AC-3>&17 ;WAS BYTE WORD MODIFIED?
4361 034312 012 04 0 00 013303 ER12 AC-4,13303 ;FAILURE - BYTE OWRD WAS MODIFIED
4362 034313 321 12 0 00 034276 JUMPL AC+2,G13300 ;LOOP ON ERROR SWITCH
4363
4364 ;TEST LDB WHEN SIZE OF BYTE IS ONE BIT
4365
4366 000007 AC=7
4367 SAVEAC (1,1)^
4368 034314 201 11 0 00 034314 MOVEI AC+2,. ;SAVE TEST PC
4369 034315 202 11 0 00 030051 MOVEM AC+2,TESTPC
4370 034316 201 11 0 00 000011 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
4371 034317 202 11 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
4372 034320 254 02 1 00 041001 JRSTF @[.+1] ;CLEAR ALL FLAGS
4373
4374 034321 205 05 0 00 000100 G13310: MOVSI AC-2,100
4375 034322 541 05 0 00 000003 HRRI AC-2,<AC-4>&17 ;SETUP POINTER
4376 034323 200 06 0 00 000005 MOVE AC-1,<AC-2>&17 ;POINTER FOR COMPARISON
4377 034324 561 07 0 00 000000 HRROI AC,0 ;SETUP AC
4378 034325 525 03 0 00 000000 HRLOI AC-4,0 ;SETUP BYTE WORD
4379 034326 200 04 0 00 000003 MOVE AC-3,<AC-4>&17 ;BYTE WORD FOR COMPARISON
4380 034327 135 07 0 00 000005 LDB AC,<AC-2>&17 ;LDB SHOULD PLACE 0,,1 INTO THE AC
4381 034330 302 07 0 00 000001 CAIE AC,1 ;LOOP ON ERROR SWITCH
4382 034331 003 07 0 00 013311 ER3 AC,13311 ;FAILURE - BYTE NOT LOADED CORRECTLY
4383 034332 312 05 0 00 000006 CAME AC-2,<AC-1>&17 ;WAS POINTER MODIFIED
4384 034333 005 05 0 00 013312 ER5 AC-2,13312 ;FAILURE - POINTER WAS MODIFIED
4385 034334 312 03 0 00 000004 CAME AC-4,<AC-3>&17 ;WAS BYTE WORD MODIFIED
4386 034335 012 03 0 00 013313 ER12 AC-4,13313 ;FAILURE - BYTE WORD WAS MODIFIED
4387 034336 321 11 0 00 034321 JUMPL AC+2,G13310 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 61
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0123
4388 ;TEST DPB WHEN SIZE OF BYTE IS ONE BIT
4389
4390 000006 AC=6
4391 SAVEAC (1,1)^
4392 034337 201 10 0 00 034337 MOVEI AC+2,. ;SAVE TEST PC
4393 034340 202 10 0 00 030051 MOVEM AC+2,TESTPC
4394 034341 201 10 0 00 000010 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
4395 034342 202 10 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
4396 034343 254 02 1 00 041002 JRSTF @[.+1] ;CLEAR ALL FLAGS
4397
4398 034344 205 04 0 00 430100 G13320: MOVSI AC-2,430100
4399 034345 541 04 0 00 000002 HRRI AC-2,<AC-4>&17 ;SETUP POINTER
4400 034346 200 05 0 00 000004 MOVE AC-1,<AC-2>&17 ;POINTER FOR COMPARISON
4401 034347 561 06 0 00 000076 HRROI AC,76 ;SETUP AC
4402 034350 202 06 0 00 000001 MOVEM AC,<AC-5>&17 ;AC FOR COMPARISON
4403 034351 474 02 0 00 000000 SETO AC-4, ;SETUP BYTE WORD
4404 034352 200 03 0 00 041003 MOVE AC-3,[377777,,-1] ;BYTE WORD FOR COMPARISON
4405 034353 137 06 0 00 000004 DPB AC,<AC-2>&17 ;DPB SHOULD PLACE 377777,,-1 INTO BYTE WORD
4406 034354 312 06 0 00 000001 CAME AC,<AC-5>&17 ;WAS AC MODIFIED?
4407 034355 003 06 0 00 013321 ER3 AC,13321 ;FAILURE - AC WAS MODIFIED
4408 034356 312 04 0 00 000005 CAME AC-2,<AC-1>&17 ;WAS POINTER MODIFIED
4409 034357 005 04 0 00 013322 ER5 AC-2,13322 ;FAILURE - POINTER WAS MODIFIED
4410 034360 312 02 0 00 000003 CAME AC-4,<AC-3>&17 ;WAS BYTE DEPOSITED CORRECTLY
4411 034361 012 02 0 00 013323 ER12 AC-4,13323 ;FAILURE - BYTE NOT DEPOSITED CORRECTLY
4412 034362 321 10 0 00 034344 JUMPL AC+2,G13320 ;LOOP ON ERROR SWITCH
4413
4414 ;TEST DPB WHEN SIZE OF BYTE IS ONE BIT
4415
4416 000005 AC=5
4417 SAVEAC (1,1)^
4418 034363 201 07 0 00 034363 MOVEI AC+2,. ;SAVE TEST PC
4419 034364 202 07 0 00 030051 MOVEM AC+2,TESTPC
4420 034365 201 07 0 00 000007 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
4421 034366 202 07 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
4422 034367 254 02 1 00 041004 JRSTF @[.+1] ;CLEAR ALL FLAGS
4423
4424 034370 205 03 0 00 000100 G13330: MOVSI AC-2,100
4425 034371 541 03 0 00 000001 HRRI AC-2,<AC-4>&17 ;SETUP POINTER
4426 034372 200 04 0 00 000003 MOVE AC-1,<AC-2>&17 ;POINTER FOR COMPARISON
4427 034373 561 05 0 00 000076 HRROI AC,76 ;SETUP AC
4428 034374 202 05 0 00 000000 MOVEM AC,<AC-5>&17 ;AC FOR COMPARISON
4429 034375 474 01 0 00 000000 SETO AC-4, ;SETUP BYTE WORD
4430 034376 200 02 0 00 041005 MOVE AC-3,[-2] ;BYTE WORD FOR COMPARISON
4431 034377 137 05 0 00 000003 DPB AC,<AC-2>&17 ;DPB SHOULD PLACE -1,,-2 INTO BYTE WORD
4432 034400 312 05 0 00 000000 CAME AC,<AC-5>&17 ;WAS AC MODIFIED
4433 034401 003 05 0 00 013331 ER3 AC,13331 ;FAILURE - AC WAS MODIFIED
4434 034402 312 03 0 00 000004 CAME AC-2,<AC-1>&17 ;WAS POINTER MODIFIED
4435 034403 005 03 0 00 013332 ER5 AC-2,13332 ;FAILURE - POINTER WAS MODIFIED
4436 034404 312 01 0 00 000002 CAME AC-4,<AC-3>&17 ;WAS BYTE DEPOSITED CORRECTLY
4437 034405 012 01 0 00 013333 ER12 AC-4,13333 ;FAILURE - BYTE NOT DEPOSITED CORRECTLY
4438 034406 321 07 0 00 034370 JUMPL AC+2,G13330 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 62
DAKAMM MAC 20-JAN-77 11:34 PART IB-GENERAL BYTE TEST SEQ 0124
4439 ;TEST IBP WHEN S IS GREATER THAN P AND THE ADDRESS FIELD OF THE POINTER IS 777777
4440 ;IBP SHOULD CAUSE THE ADDRESS FIELD TO CLEAR AND P SHOULD BECOME 44-S
4441
4442 000004 AC=4
4443 SAVEAC (1,1)^
4444 034407 201 06 0 00 034407 MOVEI AC+2,. ;SAVE TEST PC
4445 034410 202 06 0 00 030051 MOVEM AC+2,TESTPC
4446 034411 201 06 0 00 000006 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
4447 034412 202 06 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
4448 034413 254 02 1 00 041006 JRSTF @[.+1] ;CLEAR ALL FLAGS
4449
4450 034414 525 02 0 00 000100 G13400: HRLOI AC-2,000100 ;SETUP POINTER
4451 034415 515 01 0 00 430101 HRLZI AC-3,430101 ;RESULT FOR COMPARISON (KA)
4452 034416 133 00 0 00 000002 IBP <AC-2>&17 ;IBP SHOULD PLACE 430100,,0 INTO PTR
4453 034417 312 02 0 00 000001 CAME AC-2,<AC-3>&17 ;PASS IF POINTER UPATED CORRECTLY
4454 034420 005 02 0 00 013400 ER5 AC-2,13400 ;POINTER NOT UPDATED CORRECTLY
4455 034421 321 06 0 00 034414 JUMPL AC+2,G13400 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 63
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0125
4456 SUBTTL PART II - GENERAL BLOCK TRANSFER TEST
4457
4458 034422 201 00 0 00 041007 MOVEI [ASCIZ/BLT FAILED/]
4459 034423 202 00 0 00 040646 MOVEM SPDES ;INITIALIZE SPECIAL FAILURE DESCRIPTOR
4460
4461 ;VERFIY THAT BLT WILL TRANSFER A 1 - WORD BLOCK OF ZEROS
4462 ;WHERE BOTH SOURCE AND DESTINATION BLOCKS ARE THE SAME
4463 ;AND WITHIN THE AC ADDRESS RANGE.
4464 000007 AC=7
4465 SAVEAC (1,1)^
4466 034424 201 11 0 00 034424 MOVEI AC+2,. ;SAVE TEST PC
4467 034425 202 11 0 00 030051 MOVEM AC+2,TESTPC
4468 034426 201 11 0 00 000011 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
4469 034427 202 11 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
4470 022100 SN=22100
4471 000001 SRCE=<AC-6>&17 ;SOURCE BLOCK=AC-6
4472 000001 DEST=<AC-6>&17 ;DESTINATION BLOCK=AC-6
4473 000001 SIZ=1 ;BLOCK SIZE = 1 OWRD
4474
4475 034430 200 07 0 00 041012 G22100: MOVE AC,[SRCE,,DEST] ;PRELOAD AC WITH ADR OF SRCE AND DEST
4476 034431 477 00 0 00 000002 SETOB SRCE-1,SRCE+1 ;PRELOAD SRCE-1 AND SRCE+1 WITH ONES
4477 034432 402 00 0 00 000001 SETZM SRCE ;LOAD SRCE WITH ZEROS
4478 034433 251 07 0 00 000001 BLT AC,DEST+SIZ-1 ;*BLT SHOULD CLEAR DEST BLOCK
4479 022101 SN=SN+1
4480 034434 312 00 0 00 040734 CAME DEST-1,[-1] ;WAS DEST-1 CLOBBERRED?
4481 034435 002 00 0 00 022101 ER2 DEST-1,SN ;DEST -1 WAS CLOBBERRED
4482 022102 SN=SN+1
4483 034436 332 00 0 00 000001 SKIPE DEST ;DID BLT LOAD DEST FROM SRCE?
4484 034437 002 01 0 00 022102 ER2 DEST,SN ;FAIL IF C(DEST) NON-ZERO
4485 022103 SN=SN+1
4486 034440 312 02 0 00 040734 CAME DEST+1,[-1] ;WAS DEST+1 CLOBBERRED?
4487 034441 002 02 0 00 022103 ER2 DEST+1,SN ;DEST +1 WAS CLOBBERRED
4488 034442 321 11 0 00 034430 JUMPL AC+2,G22100 ;LOOP ON ERROR SWITCH
4489 PAGE
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 63-1
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0126
4490 ;VERIFY THAT BLT WILL TRANSFER A 1 - WORD BLOCK OF ONES
4491 ;WHERE BOTH SOURCE AND DESTINATION BLOCKS ARE THE SAME
4492 ;AND WITHIN THE AC ADDRESS RANGE.
4493 000014 AC=14
4494 SAVEAC (1,1)^
4495 034443 201 16 0 00 034443 MOVEI AC+2,. ;SAVE TEST PC
4496 034444 202 16 0 00 030051 MOVEM AC+2,TESTPC
4497 034445 201 16 0 00 000016 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
4498 034446 202 16 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
4499 022200 SN=22200
4500 000006 SRCE=<AC-6>&17 ;SOURCE BLOCK = AC-6
4501 000006 DEST=<AC-6>&17 ;DESTINATION BLOCK = AC-6
4502 000001 SIZ=1 ;BLOCK = 1 WORD
4503
4504 034447 200 14 0 00 041013 G22200: MOVE AC,[SRCE,,DEST] ;PRELOAD AC WITH ADR OF SRCE AND DEST
4505 034450 403 05 0 00 000007 SETZB SRCE-1,SRCE+1 ;PRELOAD SRCE-1 AND SRCE+1 WITH ZEROS
4506 034451 476 00 0 00 000006 SETOM SRCE ;LOAD SRCE WITH ONES
4507 034452 251 14 0 00 000006 BLT AC,DEST+SIZ-1 ;*BLT SHOULD LOAD DEST WITH ONES
4508 022201 SN=SN+1
4509 034453 332 00 0 00 000005 SKIPE DEST-1 ;WAS DEST-1 CLOBBERRED?
4510 034454 002 05 0 00 022201 ER2 DEST-1,SN ;DEST-1 WAS CLOBBERRED
4511 022202 SN=SN+1
4512 034455 312 06 0 00 040734 CAME DEST,[-1] ;DID BLT LOAD DEST FROM SRCE?
4513 034456 002 06 0 00 022202 ER2 DEST,SN ;FAIL IF C(DEST) NOT ALL ONES
4514 022203 SN=SN+1
4515 034457 332 00 0 00 000007 SKIPE DEST+1 ;WAS DEST+1 CLOBBERRED?
4516 034460 002 07 0 00 022203 ER2 DEST+1,SN ;DEST+1 WAS CLOBBERRED
4517 034461 321 16 0 00 034447 JUMPL AC+2,G22200 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 64
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0127
4518 ;VERIFY THAT BLT WILL TRANSFER A 1 - WORD BLOCK OF DATA
4519 ;WHERE BOTH SOURCE AND DESTINATION BLOCKS ARE THE SAME
4520 ;AND WITHIN THE AC ADDRESS RANGE.
4521
4522 000014 AC=14
4523 SAVEAC (1,1)^
4524 034462 201 16 0 00 034462 MOVEI AC+2,. ;SAVE TEST PC
4525 034463 202 16 0 00 030051 MOVEM AC+2,TESTPC
4526 034464 201 16 0 00 000016 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
4527 034465 202 16 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
4528 022300 SN=22300
4529 000006 SRCE=<AC-6>&17 ;SOURCE BLOCK = AC-6
4530 000006 DEST=<AC-6>&17 ;DESTINATION BLOCK = AC-6
4531 000001 SIZ=1 ;BLOCK SIZE = 1 WORD
4532
4533 034466 200 14 0 00 041013 G22300: MOVE AC,[SRCE,,DEST] ;PRELOAD AC WITH ADR OF ARCE AND DEST
4534 034467 403 05 0 00 000007 SETZB SRCE-1,SRCE+1 ;CLEAR SRCE-1 AND SRCE+1
4535 034470 200 06 0 00 040752 MOVE SRCE,[230703,,603700] ;PRELOAD SOURCE BLOCK
4536 034471 251 14 0 00 000006 BLT AC,DEST+SIZ-1 ;*BLT SHOULD PLACE C(SRCE) INTO DEST
4537 022301 SN=SN+1
4538 034472 332 00 0 00 000005 SKIPE DEST-1 ;WAS DEST-1 CLOBBERRED?
4539 034473 002 05 0 00 022301 ER2 DEST-1,SN ;DEST-1 WAS CLOBBERRED
4540 022302 SN=SN+1
4541 034474 312 06 0 00 040752 CAME DEST,[230703,,603700] ;DID BLT LOAD DEST FROM SRCE
4542 034475 002 06 0 00 022302 ER2 DEST,SN ;FAIL IF C(DEST) NOT 230703,,603700
4543 022303 SN=SN+1
4544 034476 332 00 0 00 000007 SKIPE DEST+1 ;WAS DEST+1 CLOBBERRED?
4545 034477 002 07 0 00 022303 ER2 DEST+1,SN ;DEST+1 WAS CLOBBERRED
4546 034500 321 16 0 00 034466 JUMPL AC+2,G22300 ;LOOP ON ERROR SWITCH
4547 PAGE
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 64-1
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0128
4548 ;VERIFY THAT BLT WILL TRANSFER A 1 - WORD BLOCK OF ZEROS
4549 ;WHERE BOTH SOURCE AND DESTINATION BLOCKS ARE THE SAME
4550 ;AND BEYOND THE AC ADDRESS RANGE.
4551 000014 AC=14
4552 SAVEAC (1,1)^
4553 034501 201 16 0 00 034501 MOVEI AC+2,. ;SAVE TEST PC
4554 034502 202 16 0 00 030051 MOVEM AC+2,TESTPC
4555 034503 201 16 0 00 000016 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
4556 034504 202 16 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
4557 022400 SN=22400
4558 040221 SRCE=BLTBLK+1 ;SOURCE BLOCK = BLTBLK+1
4559 040221 DEST=BLTBLK+1 ;DEST BLOCK = BLTBLK+1
4560 000001 SIZ=1 ;BLOCK SIZE = 1 WORD
4561
4562 034505 200 14 0 00 041014 G22400: MOVE AC,[SRCE,,DEST] ;PRELOAD AC WITH ADR OF SRCE AND DEST
4563 034506 476 00 0 00 040220 SETOM SRCE-1 ;PRELOAD SRCE-1 WITH ONES
4564 034507 402 00 0 00 040221 SETZM SRCE ;LOAD SRCE WITH ZEROS
4565 034510 476 00 0 00 040222 SETOM SRCE+1 ;PRELOAD SRCE+1 WITH ONES
4566 034511 251 14 0 00 040221 BLT AC,DEST+SIZ-1 ;*BLT SHOULD CLEAR DEST BLOCK
4567 022401 SN=SN+1
4568 034512 200 13 0 00 040220 MOVE AC-1,DEST-1
4569 034513 312 13 0 00 040734 CAME AC-1,[-1] ;WAS DEST-1 CLOBBERRED?
4570 034514 002 13 0 00 022401 ER2 AC-1,SN ;DEST-1 WAS CLOBBERRED
4571 022402 SN=SN+1
4572 034515 200 13 0 00 040221 MOVE AC-1,DEST
4573 034516 332 00 0 00 000013 SKIPE AC-1 ;DID BLT LOAD DEST FROM SRCE?
4574 034517 002 13 0 00 022402 ER2 AC-1,SN ;FAIL IF C(DEST) NOT ZERO
4575 022403 SN=SN+1
4576 034520 200 13 0 00 040222 MOVE AC-1,DEST+1
4577 034521 312 13 0 00 040734 CAME AC-1,[-1] ;WAS DEST+1 CLOBBERRED?
4578 034522 002 13 0 00 022403 ER2 AC-1,SN ;DEST+1 WAS CLOBBERRED
4579 034523 321 15 0 00 034505 JUMPL AC+1,G22400 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 65
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0129
4580 ;VERIFY THAT BLT WILL TRANSFER A 1 - WORD BLOCK OF ONES
4581 ;WHERE BOTH SOURCE AND DESTINATION BLOCKS ARE THE SAME
4582 ;AND BEYOND THE AC ADDRESS RANGE.
4583
4584 000013 AC=13
4585 SAVEAC (1,1)^
4586 034524 201 15 0 00 034524 MOVEI AC+2,. ;SAVE TEST PC
4587 034525 202 15 0 00 030051 MOVEM AC+2,TESTPC
4588 034526 201 15 0 00 000015 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
4589 034527 202 15 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
4590 022500 SN=22500
4591 040221 SRCE=BLTBLK+1 ;SOURCE BLOCK = BLTBLK+1
4592 040221 DEST=BLTBLK+1 ;DEST BLOCK = BLTBLK+1
4593 000001 SIZ=1 ;BLOCK SIZE = 1 WORD
4594
4595 034530 200 13 0 00 041014 G22500: MOVE AC,[SRCE,,DEST] ;PRELOAD AC WITH ADR OF SRCE AND DEST
4596 034531 402 00 0 00 040220 SETZM SRCE-1 ;PRELOAD SRCE-1 WITH ZEROS
4597 034532 476 00 0 00 040221 SETOM SRCE ;LOAD SRCE WITH ONES
4598 034533 402 00 0 00 040222 SETZM SRCE+1 ;PRELOAD SRCE+1 WITH ZEROS
4599 034534 251 13 0 00 040221 BLT AC,DEST+SIZ-1 ;*BLT SHOULD LOAD DEST BLOCK WITH ONES
4600 022501 SN=SN+1
4601 034535 200 12 0 00 040220 MOVE AC-1,DEST-1
4602 034536 332 00 0 00 000012 SKIPE AC-1 ;WAS DEST-1 CLOBBERRED?
4603 034537 002 12 0 00 022501 ER2 AC-1,SN ;DEST-1 WAS CLOBBERRED
4604 022502 SN=SN+1
4605 034540 200 12 0 00 040221 MOVE AC-1,DEST
4606 034541 312 12 0 00 040734 CAME AC-1,[-1] ;DID BLT LOAD DEST FROM SRCE?
4607 034542 002 12 0 00 022502 ER2 AC-1,SN ;FAIL IF C(DEST) NOT ALL ONES
4608 022503 SN=SN+1
4609 034543 200 12 0 00 040222 MOVE AC-1,DEST+1
4610 034544 332 00 0 00 000012 SKIPE AC-1 ;WAS DEST+1 CLOBBERRED?
4611 034545 002 12 0 00 022503 ER2 AC-1,SN ;DEST+1 WAS CLOBBERRED
4612 034546 321 15 0 00 034530 JUMPL AC+2,G22500 ;LOOP ON ERROR SWITCH
4613 PAGE
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 65-1
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0130
4614 ;VERIFY THAT BLT WILL TRANSFER A 1 - WORD BLOCK OF DATA
4615 ;WHERE BOTH SOURCE AND DESTINATION BLOCKS ARE THE SAME
4616 ;AND BEYOND THE AC ADDRESS RANGE.
4617
4618 000012 AC=12
4619 SAVEAC (1,1)^
4620 034547 201 14 0 00 034547 MOVEI AC+2,. ;SAVE TEST PC
4621 034550 202 14 0 00 030051 MOVEM AC+2,TESTPC
4622 034551 201 14 0 00 000014 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
4623 034552 202 14 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
4624 022600 SN=22600
4625 040221 SRCE=BLTBLK+1 ;SOURCE BLOCK = BLTBLK+1
4626 040221 DEST=BLTBLK+1 ;DEST BLOCK = BLTBLK+1
4627 000001 SIZ=1 ;BLOCK SIZE = 1 WORD
4628
4629 034553 200 12 0 00 041014 G22600: MOVE AC,[SRCE,,DEST] ;PRELOAD AC WITH ADR OF SRCE AND DEST
4630 034554 402 00 0 00 040220 SETZM SRCE-1 ;PRELOAD SRCE-1 WITH ZEROS
4631 034555 200 13 0 00 040752 MOVE AC+1,[230703,,603700] ;LOAD SRCE BLOCK
4632 034556 202 13 0 00 040221 MOVEM AC+1,SRCE
4633 034557 402 00 0 00 040222 SETZM SRCE+1 ;PRELOAD SRCE+1 WITH ZEROS
4634 034560 251 12 0 00 040221 BLT AC,DEST+SIZ-1 ;*BLT SHOULD PLACE C(SRCE) INTO DEST
4635 022601 SN=SN+1
4636 034561 200 11 0 00 040220 MOVE AC-1,DEST-1
4637 034562 332 00 0 00 000011 SKIPE AC-1 ;WAS DEST-1 CLOBBERRED?
4638 034563 002 11 0 00 022601 ER2 AC-1,SN ;DEST-1 WAS CLOBBERRED
4639 022602 SN=SN+1
4640 034564 200 11 0 00 040221 MOVE AC-1,DEST
4641 034565 312 11 0 00 040752 CAME AC-1,[230703,,603700] ;DID BLT LOAD DEST FROM SRCE?
4642 034566 002 11 0 00 022602 ER2 AC-1,SN ;FAIL IF C(DEST) NOT 230703,,603700
4643 022603 SN=SN+1
4644 034567 200 11 0 00 040222 MOVE AC-1,DEST+1
4645 034570 332 00 0 00 000011 SKIPE AC-1 ;WAS DEST+1 CLOBBERRED?
4646 034571 002 11 0 00 022603 ER2 AC-1,SN ;DEST+1 WAS CLOBBERRED
4647 034572 321 13 0 00 034553 JUMPL AC+1,G22600 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 66
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0131
4648 ;BOTH SOURCE AND DESTINATION BLOCKS HAVE AC ADDRESSES.
4649
4650 BLTM1 (22700,14,<<AC-6>&17>,<<AC-3>&17>,0)^
4651 ;VERIFY THAT BLT WILL TRANSFER A 1 WORD BLOCK OF DATA
4652 ;WHERE SOURCE AND DESTINATION ARE DIFFERENT
4653 ;SOURCE DATA = 0
4654
4655 000014 AC=14
4656 SAVEAC (1,1)^
4657 034573 201 16 0 00 034573 MOVEI AC+2,. ;SAVE TEST PC
4658 034574 202 16 0 00 030051 MOVEM AC+2,TESTPC
4659 034575 201 16 0 00 000016 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
4660 034576 202 16 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
4661 022700 SN=22700
4662 000006 SRCE=<AC-6>&17 ;1ST LOC OF SOURCE = <AC-6>&17
4663 000011 DEST=<AC-3>&17 ;1ST LOC OF DESTINATION = <AC-3>&17
4664 000001 SIZ=1 ;BLOCK SIZE = 1 WORD
4665
4666 034577 200 14 0 00 041015 G22700: MOVE AC,[SRCE,,DEST] ;LOAD BLT AC
4667 GMOV (SRCE-1,<252525252525>)^
4668 IFLE <SRCE-1-20>,<
4669 034600 200 05 0 00 041016 MOVE SRCE-1,[252525252525] ;PRELOAD SRCE-1 WITH 252525252525>
4670 IFG <SRCE-1-20>,<
4671 MOVE AC+1,[252525252525]
4672 MOVEM AC+1,SRCE-1 ;PRELOAD SRCE-1 WITH 252525252525>^
4673 GMOV (SRCE,<0>)^
4674 IFLE <SRCE-20>,<
4675 034601 200 06 0 00 041011 MOVE SRCE,[0] ;PRELOAD SRCE WITH 0>
4676 IFG <SRCE-20>,<
4677 MOVE AC+1,[0]
4678 MOVEM AC+1,SRCE ;PRELOAD SRCE WITH 0>^
4679 GMOV (SRCE+1,<770077007700>)^
4680 IFLE <SRCE+1-20>,<
4681 034602 200 07 0 00 041017 MOVE SRCE+1,[770077007700] ;PRELOAD SRCE+1 WITH 770077007700>
4682 IFG <SRCE+1-20>,<
4683 MOVE AC+1,[770077007700]
4684 MOVEM AC+1,SRCE+1 ;PRELOAD SRCE+1 WITH 770077007700>^
4685 GMOV (DEST-1,<070707070707>)^
4686 IFLE <DEST-1-20>,<
4687 034603 200 10 0 00 041020 MOVE DEST-1,[070707070707] ;PRELOAD DEST-1 WITH 070707070707>
4688 IFG <DEST-1-20>,<
4689 MOVE AC+1,[070707070707]
4690 MOVEM AC+1,DEST-1 ;PRELOAD DEST-1 WITH 070707070707>^
4691 GMOV (DEST,<123456765432>)^
4692 IFLE <DEST-20>,<
4693 034604 200 11 0 00 041021 MOVE DEST,[123456765432] ;PRELOAD DEST WITH 123456765432>
4694 IFG <DEST-20>,<
4695 MOVE AC+1,[123456765432]
4696 MOVEM AC+1,DEST ;PRELOAD DEST WITH 123456765432>^
4697 GMOV (DEST+1,<552255225522>)^
4698 IFLE <DEST+1-20>,<
4699 034605 200 12 0 00 041022 MOVE DEST+1,[552255225522] ;PRELOAD DEST+1 WITH 552255225522>
4700 IFG <DEST+1-20>,<
4701 MOVE AC+1,[552255225522]
4702 MOVEM AC+1,DEST+1 ;PRELOAD DEST+1 WITH 552255225522>^
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 66-1
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0132
4703 034606 251 14 0 00 000011 BLT AC,DEST+SIZ-1 ;*BLOCK TRANSFER
4704 GCAM (SRCE-1,<252525252525>)^
4705 022701 SN=SN+1
4706 IFG <SRCE-1-20>,<
4707 MOVE AC-1,SRCE-1
4708 CAME AC-1,[252525252525] ;IS C(SRCE-1) = 252525252525
4709 IFIDN <DEST>,<SRCE-1>,<
4710 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
4711 IFDIF <DEST>,<SRCE-1>,<
4712 ER2 AC-1,SN ;C(SRCE-1) WAS CLOBBERED>>
4713 IFLE <SRCE-1-20>,<
4714 034607 312 05 0 00 041016 CAME SRCE-1,[252525252525] ;IS C(SRCE-1) = 252525252525
4715 IFIDN <DEST>,<SRCE-1>,<
4716 ER2 SRCE-1,SN ;DEST NOT LOADED CORRECTLY>
4717 IFDIF <DEST>,<SRCE-1>,<
4718 034610 002 05 0 00 022701 ER2 SRCE-1,SN ;C(SRCE-1) WAS CLOBBERED>>^
4719 GCAM (SRCE,<0>)^
4720 022702 SN=SN+1
4721 IFG <SRCE-20>,<
4722 MOVE AC-1,SRCE
4723 CAME AC-1,[0] ;IS C(SRCE) = 0
4724 IFIDN <DEST>,<SRCE>,<
4725 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
4726 IFDIF <DEST>,<SRCE>,<
4727 ER2 AC-1,SN ;C(SRCE) WAS CLOBBERED>>
4728 IFLE <SRCE-20>,<
4729 034611 312 06 0 00 041011 CAME SRCE,[0] ;IS C(SRCE) = 0
4730 IFIDN <DEST>,<SRCE>,<
4731 ER2 SRCE,SN ;DEST NOT LOADED CORRECTLY>
4732 IFDIF <DEST>,<SRCE>,<
4733 034612 002 06 0 00 022702 ER2 SRCE,SN ;C(SRCE) WAS CLOBBERED>>^
4734 GCAM (SRCE+1,<770077007700>)^
4735 022703 SN=SN+1
4736 IFG <SRCE+1-20>,<
4737 MOVE AC-1,SRCE+1
4738 CAME AC-1,[770077007700] ;IS C(SRCE+1) = 770077007700
4739 IFIDN <DEST>,<SRCE+1>,<
4740 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
4741 IFDIF <DEST>,<SRCE+1>,<
4742 ER2 AC-1,SN ;C(SRCE+1) WAS CLOBBERED>>
4743 IFLE <SRCE+1-20>,<
4744 034613 312 07 0 00 041017 CAME SRCE+1,[770077007700] ;IS C(SRCE+1) = 770077007700
4745 IFIDN <DEST>,<SRCE+1>,<
4746 ER2 SRCE+1,SN ;DEST NOT LOADED CORRECTLY>
4747 IFDIF <DEST>,<SRCE+1>,<
4748 034614 002 07 0 00 022703 ER2 SRCE+1,SN ;C(SRCE+1) WAS CLOBBERED>>^
4749 GCAM (DEST-1,<070707070707>)^
4750 022704 SN=SN+1
4751 IFG <DEST-1-20>,<
4752 MOVE AC-1,DEST-1
4753 CAME AC-1,[070707070707] ;IS C(DEST-1) = 070707070707
4754 IFIDN <DEST>,<DEST-1>,<
4755 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
4756 IFDIF <DEST>,<DEST-1>,<
4757 ER2 AC-1,SN ;C(DEST-1) WAS CLOBBERED>>
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 66-2
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0133
4758 IFLE <DEST-1-20>,<
4759 034615 312 10 0 00 041020 CAME DEST-1,[070707070707] ;IS C(DEST-1) = 070707070707
4760 IFIDN <DEST>,<DEST-1>,<
4761 ER2 DEST-1,SN ;DEST NOT LOADED CORRECTLY>
4762 IFDIF <DEST>,<DEST-1>,<
4763 034616 002 10 0 00 022704 ER2 DEST-1,SN ;C(DEST-1) WAS CLOBBERED>>^
4764 GCAM (DEST,<0>)^
4765 022705 SN=SN+1
4766 IFG <DEST-20>,<
4767 MOVE AC-1,DEST
4768 CAME AC-1,[0] ;IS C(DEST) = 0
4769 IFIDN <DEST>,<DEST>,<
4770 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
4771 IFDIF <DEST>,<DEST>,<
4772 ER2 AC-1,SN ;C(DEST) WAS CLOBBERED>>
4773 IFLE <DEST-20>,<
4774 034617 312 11 0 00 041011 CAME DEST,[0] ;IS C(DEST) = 0
4775 IFIDN <DEST>,<DEST>,<
4776 034620 002 11 0 00 022705 ER2 DEST,SN ;DEST NOT LOADED CORRECTLY>
4777 IFDIF <DEST>,<DEST>,<
4778 ER2 DEST,SN ;C(DEST) WAS CLOBBERED>>^
4779 GCAM (DEST+1,<552255225522>)^
4780 022706 SN=SN+1
4781 IFG <DEST+1-20>,<
4782 MOVE AC-1,DEST+1
4783 CAME AC-1,[552255225522] ;IS C(DEST+1) = 552255225522
4784 IFIDN <DEST>,<DEST+1>,<
4785 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
4786 IFDIF <DEST>,<DEST+1>,<
4787 ER2 AC-1,SN ;C(DEST+1) WAS CLOBBERED>>
4788 IFLE <DEST+1-20>,<
4789 034621 312 12 0 00 041022 CAME DEST+1,[552255225522] ;IS C(DEST+1) = 552255225522
4790 IFIDN <DEST>,<DEST+1>,<
4791 ER2 DEST+1,SN ;DEST NOT LOADED CORRECTLY>
4792 IFDIF <DEST>,<DEST+1>,<
4793 034622 002 12 0 00 022706 ER2 DEST+1,SN ;C(DEST+1) WAS CLOBBERED>>^
4794 034623 321 16 0 00 034577 JUMPL AC+2,G22700 ;LOOP ON ERROR^
4795 PAGE
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 66-3
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0134
4796 ;BOTH SOURCE AND DESTINATION BLOCKS HAVE AC ADDRESSES.
4797
4798 BLTM1 (23000,13,<<AC-6>&17>,<<AC-3>&17>,-1)^
4799 ;VERIFY THAT BLT WILL TRANSFER A 1 WORD BLOCK OF DATA
4800 ;WHERE SOURCE AND DESTINATION ARE DIFFERENT
4801 ;SOURCE DATA = -1
4802
4803 000013 AC=13
4804 SAVEAC (1,1)^
4805 034624 201 15 0 00 034624 MOVEI AC+2,. ;SAVE TEST PC
4806 034625 202 15 0 00 030051 MOVEM AC+2,TESTPC
4807 034626 201 15 0 00 000015 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
4808 034627 202 15 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
4809 023000 SN=23000
4810 000005 SRCE=<AC-6>&17 ;1ST LOC OF SOURCE = <AC-6>&17
4811 000010 DEST=<AC-3>&17 ;1ST LOC OF DESTINATION = <AC-3>&17
4812 000001 SIZ=1 ;BLOCK SIZE = 1 WORD
4813
4814 034630 200 13 0 00 041023 G23000: MOVE AC,[SRCE,,DEST] ;LOAD BLT AC
4815 GMOV (SRCE-1,<252525252525>)^
4816 IFLE <SRCE-1-20>,<
4817 034631 200 04 0 00 041016 MOVE SRCE-1,[252525252525] ;PRELOAD SRCE-1 WITH 252525252525>
4818 IFG <SRCE-1-20>,<
4819 MOVE AC+1,[252525252525]
4820 MOVEM AC+1,SRCE-1 ;PRELOAD SRCE-1 WITH 252525252525>^
4821 GMOV (SRCE,<-1>)^
4822 IFLE <SRCE-20>,<
4823 034632 200 05 0 00 040734 MOVE SRCE,[-1] ;PRELOAD SRCE WITH -1>
4824 IFG <SRCE-20>,<
4825 MOVE AC+1,[-1]
4826 MOVEM AC+1,SRCE ;PRELOAD SRCE WITH -1>^
4827 GMOV (SRCE+1,<770077007700>)^
4828 IFLE <SRCE+1-20>,<
4829 034633 200 06 0 00 041017 MOVE SRCE+1,[770077007700] ;PRELOAD SRCE+1 WITH 770077007700>
4830 IFG <SRCE+1-20>,<
4831 MOVE AC+1,[770077007700]
4832 MOVEM AC+1,SRCE+1 ;PRELOAD SRCE+1 WITH 770077007700>^
4833 GMOV (DEST-1,<070707070707>)^
4834 IFLE <DEST-1-20>,<
4835 034634 200 07 0 00 041020 MOVE DEST-1,[070707070707] ;PRELOAD DEST-1 WITH 070707070707>
4836 IFG <DEST-1-20>,<
4837 MOVE AC+1,[070707070707]
4838 MOVEM AC+1,DEST-1 ;PRELOAD DEST-1 WITH 070707070707>^
4839 GMOV (DEST,<123456765432>)^
4840 IFLE <DEST-20>,<
4841 034635 200 10 0 00 041021 MOVE DEST,[123456765432] ;PRELOAD DEST WITH 123456765432>
4842 IFG <DEST-20>,<
4843 MOVE AC+1,[123456765432]
4844 MOVEM AC+1,DEST ;PRELOAD DEST WITH 123456765432>^
4845 GMOV (DEST+1,<552255225522>)^
4846 IFLE <DEST+1-20>,<
4847 034636 200 11 0 00 041022 MOVE DEST+1,[552255225522] ;PRELOAD DEST+1 WITH 552255225522>
4848 IFG <DEST+1-20>,<
4849 MOVE AC+1,[552255225522]
4850 MOVEM AC+1,DEST+1 ;PRELOAD DEST+1 WITH 552255225522>^
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 66-4
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0135
4851 034637 251 13 0 00 000010 BLT AC,DEST+SIZ-1 ;*BLOCK TRANSFER
4852 GCAM (SRCE-1,<252525252525>)^
4853 023001 SN=SN+1
4854 IFG <SRCE-1-20>,<
4855 MOVE AC-1,SRCE-1
4856 CAME AC-1,[252525252525] ;IS C(SRCE-1) = 252525252525
4857 IFIDN <DEST>,<SRCE-1>,<
4858 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
4859 IFDIF <DEST>,<SRCE-1>,<
4860 ER2 AC-1,SN ;C(SRCE-1) WAS CLOBBERED>>
4861 IFLE <SRCE-1-20>,<
4862 034640 312 04 0 00 041016 CAME SRCE-1,[252525252525] ;IS C(SRCE-1) = 252525252525
4863 IFIDN <DEST>,<SRCE-1>,<
4864 ER2 SRCE-1,SN ;DEST NOT LOADED CORRECTLY>
4865 IFDIF <DEST>,<SRCE-1>,<
4866 034641 002 04 0 00 023001 ER2 SRCE-1,SN ;C(SRCE-1) WAS CLOBBERED>>^
4867 GCAM (SRCE,<-1>)^
4868 023002 SN=SN+1
4869 IFG <SRCE-20>,<
4870 MOVE AC-1,SRCE
4871 CAME AC-1,[-1] ;IS C(SRCE) = -1
4872 IFIDN <DEST>,<SRCE>,<
4873 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
4874 IFDIF <DEST>,<SRCE>,<
4875 ER2 AC-1,SN ;C(SRCE) WAS CLOBBERED>>
4876 IFLE <SRCE-20>,<
4877 034642 312 05 0 00 040734 CAME SRCE,[-1] ;IS C(SRCE) = -1
4878 IFIDN <DEST>,<SRCE>,<
4879 ER2 SRCE,SN ;DEST NOT LOADED CORRECTLY>
4880 IFDIF <DEST>,<SRCE>,<
4881 034643 002 05 0 00 023002 ER2 SRCE,SN ;C(SRCE) WAS CLOBBERED>>^
4882 GCAM (SRCE+1,<770077007700>)^
4883 023003 SN=SN+1
4884 IFG <SRCE+1-20>,<
4885 MOVE AC-1,SRCE+1
4886 CAME AC-1,[770077007700] ;IS C(SRCE+1) = 770077007700
4887 IFIDN <DEST>,<SRCE+1>,<
4888 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
4889 IFDIF <DEST>,<SRCE+1>,<
4890 ER2 AC-1,SN ;C(SRCE+1) WAS CLOBBERED>>
4891 IFLE <SRCE+1-20>,<
4892 034644 312 06 0 00 041017 CAME SRCE+1,[770077007700] ;IS C(SRCE+1) = 770077007700
4893 IFIDN <DEST>,<SRCE+1>,<
4894 ER2 SRCE+1,SN ;DEST NOT LOADED CORRECTLY>
4895 IFDIF <DEST>,<SRCE+1>,<
4896 034645 002 06 0 00 023003 ER2 SRCE+1,SN ;C(SRCE+1) WAS CLOBBERED>>^
4897 GCAM (DEST-1,<070707070707>)^
4898 023004 SN=SN+1
4899 IFG <DEST-1-20>,<
4900 MOVE AC-1,DEST-1
4901 CAME AC-1,[070707070707] ;IS C(DEST-1) = 070707070707
4902 IFIDN <DEST>,<DEST-1>,<
4903 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
4904 IFDIF <DEST>,<DEST-1>,<
4905 ER2 AC-1,SN ;C(DEST-1) WAS CLOBBERED>>
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 66-5
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0136
4906 IFLE <DEST-1-20>,<
4907 034646 312 07 0 00 041020 CAME DEST-1,[070707070707] ;IS C(DEST-1) = 070707070707
4908 IFIDN <DEST>,<DEST-1>,<
4909 ER2 DEST-1,SN ;DEST NOT LOADED CORRECTLY>
4910 IFDIF <DEST>,<DEST-1>,<
4911 034647 002 07 0 00 023004 ER2 DEST-1,SN ;C(DEST-1) WAS CLOBBERED>>^
4912 GCAM (DEST,<-1>)^
4913 023005 SN=SN+1
4914 IFG <DEST-20>,<
4915 MOVE AC-1,DEST
4916 CAME AC-1,[-1] ;IS C(DEST) = -1
4917 IFIDN <DEST>,<DEST>,<
4918 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
4919 IFDIF <DEST>,<DEST>,<
4920 ER2 AC-1,SN ;C(DEST) WAS CLOBBERED>>
4921 IFLE <DEST-20>,<
4922 034650 312 10 0 00 040734 CAME DEST,[-1] ;IS C(DEST) = -1
4923 IFIDN <DEST>,<DEST>,<
4924 034651 002 10 0 00 023005 ER2 DEST,SN ;DEST NOT LOADED CORRECTLY>
4925 IFDIF <DEST>,<DEST>,<
4926 ER2 DEST,SN ;C(DEST) WAS CLOBBERED>>^
4927 GCAM (DEST+1,<552255225522>)^
4928 023006 SN=SN+1
4929 IFG <DEST+1-20>,<
4930 MOVE AC-1,DEST+1
4931 CAME AC-1,[552255225522] ;IS C(DEST+1) = 552255225522
4932 IFIDN <DEST>,<DEST+1>,<
4933 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
4934 IFDIF <DEST>,<DEST+1>,<
4935 ER2 AC-1,SN ;C(DEST+1) WAS CLOBBERED>>
4936 IFLE <DEST+1-20>,<
4937 034652 312 11 0 00 041022 CAME DEST+1,[552255225522] ;IS C(DEST+1) = 552255225522
4938 IFIDN <DEST>,<DEST+1>,<
4939 ER2 DEST+1,SN ;DEST NOT LOADED CORRECTLY>
4940 IFDIF <DEST>,<DEST+1>,<
4941 034653 002 11 0 00 023006 ER2 DEST+1,SN ;C(DEST+1) WAS CLOBBERED>>^
4942 034654 321 15 0 00 034630 JUMPL AC+2,G23000 ;LOOP ON ERROR^
4943 PAGE
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 66-6
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0137
4944 ;BOTH SOURCE AND DESTINATION BLOCKS HAVE AC ADDRESSES.
4945
4946 BLTM1 (23100,12,<<AC-6>&17>,<<AC-3>&17>,<230703,,603700>)^
4947 ;VERIFY THAT BLT WILL TRANSFER A 1 WORD BLOCK OF DATA
4948 ;WHERE SOURCE AND DESTINATION ARE DIFFERENT
4949 ;SOURCE DATA = 230703,,603700
4950
4951 000012 AC=12
4952 SAVEAC (1,1)^
4953 034655 201 14 0 00 034655 MOVEI AC+2,. ;SAVE TEST PC
4954 034656 202 14 0 00 030051 MOVEM AC+2,TESTPC
4955 034657 201 14 0 00 000014 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
4956 034660 202 14 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
4957 023100 SN=23100
4958 000004 SRCE=<AC-6>&17 ;1ST LOC OF SOURCE = <AC-6>&17
4959 000007 DEST=<AC-3>&17 ;1ST LOC OF DESTINATION = <AC-3>&17
4960 000001 SIZ=1 ;BLOCK SIZE = 1 WORD
4961
4962 034661 200 12 0 00 041024 G23100: MOVE AC,[SRCE,,DEST] ;LOAD BLT AC
4963 GMOV (SRCE-1,<252525252525>)^
4964 IFLE <SRCE-1-20>,<
4965 034662 200 03 0 00 041016 MOVE SRCE-1,[252525252525] ;PRELOAD SRCE-1 WITH 252525252525>
4966 IFG <SRCE-1-20>,<
4967 MOVE AC+1,[252525252525]
4968 MOVEM AC+1,SRCE-1 ;PRELOAD SRCE-1 WITH 252525252525>^
4969 GMOV (SRCE,<230703,,603700>)^
4970 IFLE <SRCE-20>,<
4971 034663 200 04 0 00 040752 MOVE SRCE,[230703,,603700] ;PRELOAD SRCE WITH 230703,,603700>
4972 IFG <SRCE-20>,<
4973 MOVE AC+1,[230703,,603700]
4974 MOVEM AC+1,SRCE ;PRELOAD SRCE WITH 230703,,603700>^
4975 GMOV (SRCE+1,<770077007700>)^
4976 IFLE <SRCE+1-20>,<
4977 034664 200 05 0 00 041017 MOVE SRCE+1,[770077007700] ;PRELOAD SRCE+1 WITH 770077007700>
4978 IFG <SRCE+1-20>,<
4979 MOVE AC+1,[770077007700]
4980 MOVEM AC+1,SRCE+1 ;PRELOAD SRCE+1 WITH 770077007700>^
4981 GMOV (DEST-1,<070707070707>)^
4982 IFLE <DEST-1-20>,<
4983 034665 200 06 0 00 041020 MOVE DEST-1,[070707070707] ;PRELOAD DEST-1 WITH 070707070707>
4984 IFG <DEST-1-20>,<
4985 MOVE AC+1,[070707070707]
4986 MOVEM AC+1,DEST-1 ;PRELOAD DEST-1 WITH 070707070707>^
4987 GMOV (DEST,<123456765432>)^
4988 IFLE <DEST-20>,<
4989 034666 200 07 0 00 041021 MOVE DEST,[123456765432] ;PRELOAD DEST WITH 123456765432>
4990 IFG <DEST-20>,<
4991 MOVE AC+1,[123456765432]
4992 MOVEM AC+1,DEST ;PRELOAD DEST WITH 123456765432>^
4993 GMOV (DEST+1,<552255225522>)^
4994 IFLE <DEST+1-20>,<
4995 034667 200 10 0 00 041022 MOVE DEST+1,[552255225522] ;PRELOAD DEST+1 WITH 552255225522>
4996 IFG <DEST+1-20>,<
4997 MOVE AC+1,[552255225522]
4998 MOVEM AC+1,DEST+1 ;PRELOAD DEST+1 WITH 552255225522>^
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 66-7
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0138
4999 034670 251 12 0 00 000007 BLT AC,DEST+SIZ-1 ;*BLOCK TRANSFER
5000 GCAM (SRCE-1,<252525252525>)^
5001 023101 SN=SN+1
5002 IFG <SRCE-1-20>,<
5003 MOVE AC-1,SRCE-1
5004 CAME AC-1,[252525252525] ;IS C(SRCE-1) = 252525252525
5005 IFIDN <DEST>,<SRCE-1>,<
5006 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
5007 IFDIF <DEST>,<SRCE-1>,<
5008 ER2 AC-1,SN ;C(SRCE-1) WAS CLOBBERED>>
5009 IFLE <SRCE-1-20>,<
5010 034671 312 03 0 00 041016 CAME SRCE-1,[252525252525] ;IS C(SRCE-1) = 252525252525
5011 IFIDN <DEST>,<SRCE-1>,<
5012 ER2 SRCE-1,SN ;DEST NOT LOADED CORRECTLY>
5013 IFDIF <DEST>,<SRCE-1>,<
5014 034672 002 03 0 00 023101 ER2 SRCE-1,SN ;C(SRCE-1) WAS CLOBBERED>>^
5015 GCAM (SRCE,<230703,,603700>)^
5016 023102 SN=SN+1
5017 IFG <SRCE-20>,<
5018 MOVE AC-1,SRCE
5019 CAME AC-1,[230703,,603700] ;IS C(SRCE) = 230703,,603700
5020 IFIDN <DEST>,<SRCE>,<
5021 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
5022 IFDIF <DEST>,<SRCE>,<
5023 ER2 AC-1,SN ;C(SRCE) WAS CLOBBERED>>
5024 IFLE <SRCE-20>,<
5025 034673 312 04 0 00 040752 CAME SRCE,[230703,,603700] ;IS C(SRCE) = 230703,,603700
5026 IFIDN <DEST>,<SRCE>,<
5027 ER2 SRCE,SN ;DEST NOT LOADED CORRECTLY>
5028 IFDIF <DEST>,<SRCE>,<
5029 034674 002 04 0 00 023102 ER2 SRCE,SN ;C(SRCE) WAS CLOBBERED>>^
5030 GCAM (SRCE+1,<770077007700>)^
5031 023103 SN=SN+1
5032 IFG <SRCE+1-20>,<
5033 MOVE AC-1,SRCE+1
5034 CAME AC-1,[770077007700] ;IS C(SRCE+1) = 770077007700
5035 IFIDN <DEST>,<SRCE+1>,<
5036 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
5037 IFDIF <DEST>,<SRCE+1>,<
5038 ER2 AC-1,SN ;C(SRCE+1) WAS CLOBBERED>>
5039 IFLE <SRCE+1-20>,<
5040 034675 312 05 0 00 041017 CAME SRCE+1,[770077007700] ;IS C(SRCE+1) = 770077007700
5041 IFIDN <DEST>,<SRCE+1>,<
5042 ER2 SRCE+1,SN ;DEST NOT LOADED CORRECTLY>
5043 IFDIF <DEST>,<SRCE+1>,<
5044 034676 002 05 0 00 023103 ER2 SRCE+1,SN ;C(SRCE+1) WAS CLOBBERED>>^
5045 GCAM (DEST-1,<070707070707>)^
5046 023104 SN=SN+1
5047 IFG <DEST-1-20>,<
5048 MOVE AC-1,DEST-1
5049 CAME AC-1,[070707070707] ;IS C(DEST-1) = 070707070707
5050 IFIDN <DEST>,<DEST-1>,<
5051 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
5052 IFDIF <DEST>,<DEST-1>,<
5053 ER2 AC-1,SN ;C(DEST-1) WAS CLOBBERED>>
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 66-8
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0139
5054 IFLE <DEST-1-20>,<
5055 034677 312 06 0 00 041020 CAME DEST-1,[070707070707] ;IS C(DEST-1) = 070707070707
5056 IFIDN <DEST>,<DEST-1>,<
5057 ER2 DEST-1,SN ;DEST NOT LOADED CORRECTLY>
5058 IFDIF <DEST>,<DEST-1>,<
5059 034700 002 06 0 00 023104 ER2 DEST-1,SN ;C(DEST-1) WAS CLOBBERED>>^
5060 GCAM (DEST,<230703,,603700>)^
5061 023105 SN=SN+1
5062 IFG <DEST-20>,<
5063 MOVE AC-1,DEST
5064 CAME AC-1,[230703,,603700] ;IS C(DEST) = 230703,,603700
5065 IFIDN <DEST>,<DEST>,<
5066 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
5067 IFDIF <DEST>,<DEST>,<
5068 ER2 AC-1,SN ;C(DEST) WAS CLOBBERED>>
5069 IFLE <DEST-20>,<
5070 034701 312 07 0 00 040752 CAME DEST,[230703,,603700] ;IS C(DEST) = 230703,,603700
5071 IFIDN <DEST>,<DEST>,<
5072 034702 002 07 0 00 023105 ER2 DEST,SN ;DEST NOT LOADED CORRECTLY>
5073 IFDIF <DEST>,<DEST>,<
5074 ER2 DEST,SN ;C(DEST) WAS CLOBBERED>>^
5075 GCAM (DEST+1,<552255225522>)^
5076 023106 SN=SN+1
5077 IFG <DEST+1-20>,<
5078 MOVE AC-1,DEST+1
5079 CAME AC-1,[552255225522] ;IS C(DEST+1) = 552255225522
5080 IFIDN <DEST>,<DEST+1>,<
5081 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
5082 IFDIF <DEST>,<DEST+1>,<
5083 ER2 AC-1,SN ;C(DEST+1) WAS CLOBBERED>>
5084 IFLE <DEST+1-20>,<
5085 034703 312 10 0 00 041022 CAME DEST+1,[552255225522] ;IS C(DEST+1) = 552255225522
5086 IFIDN <DEST>,<DEST+1>,<
5087 ER2 DEST+1,SN ;DEST NOT LOADED CORRECTLY>
5088 IFDIF <DEST>,<DEST+1>,<
5089 034704 002 10 0 00 023106 ER2 DEST+1,SN ;C(DEST+1) WAS CLOBBERED>>^
5090 034705 321 14 0 00 034661 JUMPL AC+2,G23100 ;LOOP ON ERROR^
5091 PAGE
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 66-9
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0140
5092 ;SOURCE BLOCK HAS AC ADDRESS, DESTINATION BLOCK HAS NON-AC ADDRESS
5093
5094 BLTM1 (23200,14,<<AC-6>&17>,<BLTBLK+4>,0)^
5095 ;VERIFY THAT BLT WILL TRANSFER A 1 WORD BLOCK OF DATA
5096 ;WHERE SOURCE AND DESTINATION ARE DIFFERENT
5097 ;SOURCE DATA = 0
5098
5099 000014 AC=14
5100 SAVEAC (1,1)^
5101 034706 201 16 0 00 034706 MOVEI AC+2,. ;SAVE TEST PC
5102 034707 202 16 0 00 030051 MOVEM AC+2,TESTPC
5103 034710 201 16 0 00 000016 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
5104 034711 202 16 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
5105 023200 SN=23200
5106 000006 SRCE=<AC-6>&17 ;1ST LOC OF SOURCE = <AC-6>&17
5107 040224 DEST=BLTBLK+4 ;1ST LOC OF DESTINATION = BLTBLK+4
5108 000001 SIZ=1 ;BLOCK SIZE = 1 WORD
5109
5110 034712 200 14 0 00 041025 G23200: MOVE AC,[SRCE,,DEST] ;LOAD BLT AC
5111 GMOV (SRCE-1,<252525252525>)^
5112 IFLE <SRCE-1-20>,<
5113 034713 200 05 0 00 041016 MOVE SRCE-1,[252525252525] ;PRELOAD SRCE-1 WITH 252525252525>
5114 IFG <SRCE-1-20>,<
5115 MOVE AC+1,[252525252525]
5116 MOVEM AC+1,SRCE-1 ;PRELOAD SRCE-1 WITH 252525252525>^
5117 GMOV (SRCE,<0>)^
5118 IFLE <SRCE-20>,<
5119 034714 200 06 0 00 041011 MOVE SRCE,[0] ;PRELOAD SRCE WITH 0>
5120 IFG <SRCE-20>,<
5121 MOVE AC+1,[0]
5122 MOVEM AC+1,SRCE ;PRELOAD SRCE WITH 0>^
5123 GMOV (SRCE+1,<770077007700>)^
5124 IFLE <SRCE+1-20>,<
5125 034715 200 07 0 00 041017 MOVE SRCE+1,[770077007700] ;PRELOAD SRCE+1 WITH 770077007700>
5126 IFG <SRCE+1-20>,<
5127 MOVE AC+1,[770077007700]
5128 MOVEM AC+1,SRCE+1 ;PRELOAD SRCE+1 WITH 770077007700>^
5129 GMOV (DEST-1,<070707070707>)^
5130 IFLE <DEST-1-20>,<
5131 MOVE DEST-1,[070707070707] ;PRELOAD DEST-1 WITH 070707070707>
5132 IFG <DEST-1-20>,<
5133 034716 200 15 0 00 041020 MOVE AC+1,[070707070707]
5134 034717 202 15 0 00 040223 MOVEM AC+1,DEST-1 ;PRELOAD DEST-1 WITH 070707070707>^
5135 GMOV (DEST,<123456765432>)^
5136 IFLE <DEST-20>,<
5137 MOVE DEST,[123456765432] ;PRELOAD DEST WITH 123456765432>
5138 IFG <DEST-20>,<
5139 034720 200 15 0 00 041021 MOVE AC+1,[123456765432]
5140 034721 202 15 0 00 040224 MOVEM AC+1,DEST ;PRELOAD DEST WITH 123456765432>^
5141 GMOV (DEST+1,<552255225522>)^
5142 IFLE <DEST+1-20>,<
5143 MOVE DEST+1,[552255225522] ;PRELOAD DEST+1 WITH 552255225522>
5144 IFG <DEST+1-20>,<
5145 034722 200 15 0 00 041022 MOVE AC+1,[552255225522]
5146 034723 202 15 0 00 040225 MOVEM AC+1,DEST+1 ;PRELOAD DEST+1 WITH 552255225522>^
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 66-10
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0141
5147 034724 251 14 0 00 040224 BLT AC,DEST+SIZ-1 ;*BLOCK TRANSFER
5148 GCAM (SRCE-1,<252525252525>)^
5149 023201 SN=SN+1
5150 IFG <SRCE-1-20>,<
5151 MOVE AC-1,SRCE-1
5152 CAME AC-1,[252525252525] ;IS C(SRCE-1) = 252525252525
5153 IFIDN <DEST>,<SRCE-1>,<
5154 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
5155 IFDIF <DEST>,<SRCE-1>,<
5156 ER2 AC-1,SN ;C(SRCE-1) WAS CLOBBERED>>
5157 IFLE <SRCE-1-20>,<
5158 034725 312 05 0 00 041016 CAME SRCE-1,[252525252525] ;IS C(SRCE-1) = 252525252525
5159 IFIDN <DEST>,<SRCE-1>,<
5160 ER2 SRCE-1,SN ;DEST NOT LOADED CORRECTLY>
5161 IFDIF <DEST>,<SRCE-1>,<
5162 034726 002 05 0 00 023201 ER2 SRCE-1,SN ;C(SRCE-1) WAS CLOBBERED>>^
5163 GCAM (SRCE,<0>)^
5164 023202 SN=SN+1
5165 IFG <SRCE-20>,<
5166 MOVE AC-1,SRCE
5167 CAME AC-1,[0] ;IS C(SRCE) = 0
5168 IFIDN <DEST>,<SRCE>,<
5169 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
5170 IFDIF <DEST>,<SRCE>,<
5171 ER2 AC-1,SN ;C(SRCE) WAS CLOBBERED>>
5172 IFLE <SRCE-20>,<
5173 034727 312 06 0 00 041011 CAME SRCE,[0] ;IS C(SRCE) = 0
5174 IFIDN <DEST>,<SRCE>,<
5175 ER2 SRCE,SN ;DEST NOT LOADED CORRECTLY>
5176 IFDIF <DEST>,<SRCE>,<
5177 034730 002 06 0 00 023202 ER2 SRCE,SN ;C(SRCE) WAS CLOBBERED>>^
5178 GCAM (SRCE+1,<770077007700>)^
5179 023203 SN=SN+1
5180 IFG <SRCE+1-20>,<
5181 MOVE AC-1,SRCE+1
5182 CAME AC-1,[770077007700] ;IS C(SRCE+1) = 770077007700
5183 IFIDN <DEST>,<SRCE+1>,<
5184 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
5185 IFDIF <DEST>,<SRCE+1>,<
5186 ER2 AC-1,SN ;C(SRCE+1) WAS CLOBBERED>>
5187 IFLE <SRCE+1-20>,<
5188 034731 312 07 0 00 041017 CAME SRCE+1,[770077007700] ;IS C(SRCE+1) = 770077007700
5189 IFIDN <DEST>,<SRCE+1>,<
5190 ER2 SRCE+1,SN ;DEST NOT LOADED CORRECTLY>
5191 IFDIF <DEST>,<SRCE+1>,<
5192 034732 002 07 0 00 023203 ER2 SRCE+1,SN ;C(SRCE+1) WAS CLOBBERED>>^
5193 GCAM (DEST-1,<070707070707>)^
5194 023204 SN=SN+1
5195 IFG <DEST-1-20>,<
5196 034733 200 13 0 00 040223 MOVE AC-1,DEST-1
5197 034734 312 13 0 00 041020 CAME AC-1,[070707070707] ;IS C(DEST-1) = 070707070707
5198 IFIDN <DEST>,<DEST-1>,<
5199 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
5200 IFDIF <DEST>,<DEST-1>,<
5201 034735 002 13 0 00 023204 ER2 AC-1,SN ;C(DEST-1) WAS CLOBBERED>>
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 66-11
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0142
5202 IFLE <DEST-1-20>,<
5203 CAME DEST-1,[070707070707] ;IS C(DEST-1) = 070707070707
5204 IFIDN <DEST>,<DEST-1>,<
5205 ER2 DEST-1,SN ;DEST NOT LOADED CORRECTLY>
5206 IFDIF <DEST>,<DEST-1>,<
5207 ER2 DEST-1,SN ;C(DEST-1) WAS CLOBBERED>>^
5208 GCAM (DEST,<0>)^
5209 023205 SN=SN+1
5210 IFG <DEST-20>,<
5211 034736 200 13 0 00 040224 MOVE AC-1,DEST
5212 034737 312 13 0 00 041011 CAME AC-1,[0] ;IS C(DEST) = 0
5213 IFIDN <DEST>,<DEST>,<
5214 034740 002 13 0 00 023205 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
5215 IFDIF <DEST>,<DEST>,<
5216 ER2 AC-1,SN ;C(DEST) WAS CLOBBERED>>
5217 IFLE <DEST-20>,<
5218 CAME DEST,[0] ;IS C(DEST) = 0
5219 IFIDN <DEST>,<DEST>,<
5220 ER2 DEST,SN ;DEST NOT LOADED CORRECTLY>
5221 IFDIF <DEST>,<DEST>,<
5222 ER2 DEST,SN ;C(DEST) WAS CLOBBERED>>^
5223 GCAM (DEST+1,<552255225522>)^
5224 023206 SN=SN+1
5225 IFG <DEST+1-20>,<
5226 034741 200 13 0 00 040225 MOVE AC-1,DEST+1
5227 034742 312 13 0 00 041022 CAME AC-1,[552255225522] ;IS C(DEST+1) = 552255225522
5228 IFIDN <DEST>,<DEST+1>,<
5229 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
5230 IFDIF <DEST>,<DEST+1>,<
5231 034743 002 13 0 00 023206 ER2 AC-1,SN ;C(DEST+1) WAS CLOBBERED>>
5232 IFLE <DEST+1-20>,<
5233 CAME DEST+1,[552255225522] ;IS C(DEST+1) = 552255225522
5234 IFIDN <DEST>,<DEST+1>,<
5235 ER2 DEST+1,SN ;DEST NOT LOADED CORRECTLY>
5236 IFDIF <DEST>,<DEST+1>,<
5237 ER2 DEST+1,SN ;C(DEST+1) WAS CLOBBERED>>^
5238 034744 321 16 0 00 034712 JUMPL AC+2,G23200 ;LOOP ON ERROR^
5239 PAGE
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 66-12
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0143
5240 ;SOURCE BLOCK HAS AC ADDRESS, DESTINATION BLOCK HAS NON-AC ADDRESS
5241
5242 BLTM1 (23300,13,<<AC-6>&17>,<BLTBLK+4>,-1)^
5243 ;VERIFY THAT BLT WILL TRANSFER A 1 WORD BLOCK OF DATA
5244 ;WHERE SOURCE AND DESTINATION ARE DIFFERENT
5245 ;SOURCE DATA = -1
5246
5247 000013 AC=13
5248 SAVEAC (1,1)^
5249 034745 201 15 0 00 034745 MOVEI AC+2,. ;SAVE TEST PC
5250 034746 202 15 0 00 030051 MOVEM AC+2,TESTPC
5251 034747 201 15 0 00 000015 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
5252 034750 202 15 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
5253 023300 SN=23300
5254 000005 SRCE=<AC-6>&17 ;1ST LOC OF SOURCE = <AC-6>&17
5255 040224 DEST=BLTBLK+4 ;1ST LOC OF DESTINATION = BLTBLK+4
5256 000001 SIZ=1 ;BLOCK SIZE = 1 WORD
5257
5258 034751 200 13 0 00 041026 G23300: MOVE AC,[SRCE,,DEST] ;LOAD BLT AC
5259 GMOV (SRCE-1,<252525252525>)^
5260 IFLE <SRCE-1-20>,<
5261 034752 200 04 0 00 041016 MOVE SRCE-1,[252525252525] ;PRELOAD SRCE-1 WITH 252525252525>
5262 IFG <SRCE-1-20>,<
5263 MOVE AC+1,[252525252525]
5264 MOVEM AC+1,SRCE-1 ;PRELOAD SRCE-1 WITH 252525252525>^
5265 GMOV (SRCE,<-1>)^
5266 IFLE <SRCE-20>,<
5267 034753 200 05 0 00 040734 MOVE SRCE,[-1] ;PRELOAD SRCE WITH -1>
5268 IFG <SRCE-20>,<
5269 MOVE AC+1,[-1]
5270 MOVEM AC+1,SRCE ;PRELOAD SRCE WITH -1>^
5271 GMOV (SRCE+1,<770077007700>)^
5272 IFLE <SRCE+1-20>,<
5273 034754 200 06 0 00 041017 MOVE SRCE+1,[770077007700] ;PRELOAD SRCE+1 WITH 770077007700>
5274 IFG <SRCE+1-20>,<
5275 MOVE AC+1,[770077007700]
5276 MOVEM AC+1,SRCE+1 ;PRELOAD SRCE+1 WITH 770077007700>^
5277 GMOV (DEST-1,<070707070707>)^
5278 IFLE <DEST-1-20>,<
5279 MOVE DEST-1,[070707070707] ;PRELOAD DEST-1 WITH 070707070707>
5280 IFG <DEST-1-20>,<
5281 034755 200 14 0 00 041020 MOVE AC+1,[070707070707]
5282 034756 202 14 0 00 040223 MOVEM AC+1,DEST-1 ;PRELOAD DEST-1 WITH 070707070707>^
5283 GMOV (DEST,<123456765432>)^
5284 IFLE <DEST-20>,<
5285 MOVE DEST,[123456765432] ;PRELOAD DEST WITH 123456765432>
5286 IFG <DEST-20>,<
5287 034757 200 14 0 00 041021 MOVE AC+1,[123456765432]
5288 034760 202 14 0 00 040224 MOVEM AC+1,DEST ;PRELOAD DEST WITH 123456765432>^
5289 GMOV (DEST+1,<552255225522>)^
5290 IFLE <DEST+1-20>,<
5291 MOVE DEST+1,[552255225522] ;PRELOAD DEST+1 WITH 552255225522>
5292 IFG <DEST+1-20>,<
5293 034761 200 14 0 00 041022 MOVE AC+1,[552255225522]
5294 034762 202 14 0 00 040225 MOVEM AC+1,DEST+1 ;PRELOAD DEST+1 WITH 552255225522>^
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 66-13
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0144
5295 034763 251 13 0 00 040224 BLT AC,DEST+SIZ-1 ;*BLOCK TRANSFER
5296 GCAM (SRCE-1,<252525252525>)^
5297 023301 SN=SN+1
5298 IFG <SRCE-1-20>,<
5299 MOVE AC-1,SRCE-1
5300 CAME AC-1,[252525252525] ;IS C(SRCE-1) = 252525252525
5301 IFIDN <DEST>,<SRCE-1>,<
5302 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
5303 IFDIF <DEST>,<SRCE-1>,<
5304 ER2 AC-1,SN ;C(SRCE-1) WAS CLOBBERED>>
5305 IFLE <SRCE-1-20>,<
5306 034764 312 04 0 00 041016 CAME SRCE-1,[252525252525] ;IS C(SRCE-1) = 252525252525
5307 IFIDN <DEST>,<SRCE-1>,<
5308 ER2 SRCE-1,SN ;DEST NOT LOADED CORRECTLY>
5309 IFDIF <DEST>,<SRCE-1>,<
5310 034765 002 04 0 00 023301 ER2 SRCE-1,SN ;C(SRCE-1) WAS CLOBBERED>>^
5311 GCAM (SRCE,<-1>)^
5312 023302 SN=SN+1
5313 IFG <SRCE-20>,<
5314 MOVE AC-1,SRCE
5315 CAME AC-1,[-1] ;IS C(SRCE) = -1
5316 IFIDN <DEST>,<SRCE>,<
5317 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
5318 IFDIF <DEST>,<SRCE>,<
5319 ER2 AC-1,SN ;C(SRCE) WAS CLOBBERED>>
5320 IFLE <SRCE-20>,<
5321 034766 312 05 0 00 040734 CAME SRCE,[-1] ;IS C(SRCE) = -1
5322 IFIDN <DEST>,<SRCE>,<
5323 ER2 SRCE,SN ;DEST NOT LOADED CORRECTLY>
5324 IFDIF <DEST>,<SRCE>,<
5325 034767 002 05 0 00 023302 ER2 SRCE,SN ;C(SRCE) WAS CLOBBERED>>^
5326 GCAM (SRCE+1,<770077007700>)^
5327 023303 SN=SN+1
5328 IFG <SRCE+1-20>,<
5329 MOVE AC-1,SRCE+1
5330 CAME AC-1,[770077007700] ;IS C(SRCE+1) = 770077007700
5331 IFIDN <DEST>,<SRCE+1>,<
5332 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
5333 IFDIF <DEST>,<SRCE+1>,<
5334 ER2 AC-1,SN ;C(SRCE+1) WAS CLOBBERED>>
5335 IFLE <SRCE+1-20>,<
5336 034770 312 06 0 00 041017 CAME SRCE+1,[770077007700] ;IS C(SRCE+1) = 770077007700
5337 IFIDN <DEST>,<SRCE+1>,<
5338 ER2 SRCE+1,SN ;DEST NOT LOADED CORRECTLY>
5339 IFDIF <DEST>,<SRCE+1>,<
5340 034771 002 06 0 00 023303 ER2 SRCE+1,SN ;C(SRCE+1) WAS CLOBBERED>>^
5341 GCAM (DEST-1,<070707070707>)^
5342 023304 SN=SN+1
5343 IFG <DEST-1-20>,<
5344 034772 200 12 0 00 040223 MOVE AC-1,DEST-1
5345 034773 312 12 0 00 041020 CAME AC-1,[070707070707] ;IS C(DEST-1) = 070707070707
5346 IFIDN <DEST>,<DEST-1>,<
5347 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
5348 IFDIF <DEST>,<DEST-1>,<
5349 034774 002 12 0 00 023304 ER2 AC-1,SN ;C(DEST-1) WAS CLOBBERED>>
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 66-14
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0145
5350 IFLE <DEST-1-20>,<
5351 CAME DEST-1,[070707070707] ;IS C(DEST-1) = 070707070707
5352 IFIDN <DEST>,<DEST-1>,<
5353 ER2 DEST-1,SN ;DEST NOT LOADED CORRECTLY>
5354 IFDIF <DEST>,<DEST-1>,<
5355 ER2 DEST-1,SN ;C(DEST-1) WAS CLOBBERED>>^
5356 GCAM (DEST,<-1>)^
5357 023305 SN=SN+1
5358 IFG <DEST-20>,<
5359 034775 200 12 0 00 040224 MOVE AC-1,DEST
5360 034776 312 12 0 00 040734 CAME AC-1,[-1] ;IS C(DEST) = -1
5361 IFIDN <DEST>,<DEST>,<
5362 034777 002 12 0 00 023305 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
5363 IFDIF <DEST>,<DEST>,<
5364 ER2 AC-1,SN ;C(DEST) WAS CLOBBERED>>
5365 IFLE <DEST-20>,<
5366 CAME DEST,[-1] ;IS C(DEST) = -1
5367 IFIDN <DEST>,<DEST>,<
5368 ER2 DEST,SN ;DEST NOT LOADED CORRECTLY>
5369 IFDIF <DEST>,<DEST>,<
5370 ER2 DEST,SN ;C(DEST) WAS CLOBBERED>>^
5371 GCAM (DEST+1,<552255225522>)^
5372 023306 SN=SN+1
5373 IFG <DEST+1-20>,<
5374 035000 200 12 0 00 040225 MOVE AC-1,DEST+1
5375 035001 312 12 0 00 041022 CAME AC-1,[552255225522] ;IS C(DEST+1) = 552255225522
5376 IFIDN <DEST>,<DEST+1>,<
5377 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
5378 IFDIF <DEST>,<DEST+1>,<
5379 035002 002 12 0 00 023306 ER2 AC-1,SN ;C(DEST+1) WAS CLOBBERED>>
5380 IFLE <DEST+1-20>,<
5381 CAME DEST+1,[552255225522] ;IS C(DEST+1) = 552255225522
5382 IFIDN <DEST>,<DEST+1>,<
5383 ER2 DEST+1,SN ;DEST NOT LOADED CORRECTLY>
5384 IFDIF <DEST>,<DEST+1>,<
5385 ER2 DEST+1,SN ;C(DEST+1) WAS CLOBBERED>>^
5386 035003 321 15 0 00 034751 JUMPL AC+2,G23300 ;LOOP ON ERROR^
5387 PAGE
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 66-15
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0146
5388 ;SOURCE BLOCK HAS AC ADDRESS, DESTINATION BLOCK HAS NON-AC ADDRESS
5389
5390 BLTM1 (23400,12,<<AC-6>&17>,<BLTBLK+4>,<230703,,603700>)^
5391 ;VERIFY THAT BLT WILL TRANSFER A 1 WORD BLOCK OF DATA
5392 ;WHERE SOURCE AND DESTINATION ARE DIFFERENT
5393 ;SOURCE DATA = 230703,,603700
5394
5395 000012 AC=12
5396 SAVEAC (1,1)^
5397 035004 201 14 0 00 035004 MOVEI AC+2,. ;SAVE TEST PC
5398 035005 202 14 0 00 030051 MOVEM AC+2,TESTPC
5399 035006 201 14 0 00 000014 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
5400 035007 202 14 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
5401 023400 SN=23400
5402 000004 SRCE=<AC-6>&17 ;1ST LOC OF SOURCE = <AC-6>&17
5403 040224 DEST=BLTBLK+4 ;1ST LOC OF DESTINATION = BLTBLK+4
5404 000001 SIZ=1 ;BLOCK SIZE = 1 WORD
5405
5406 035010 200 12 0 00 041027 G23400: MOVE AC,[SRCE,,DEST] ;LOAD BLT AC
5407 GMOV (SRCE-1,<252525252525>)^
5408 IFLE <SRCE-1-20>,<
5409 035011 200 03 0 00 041016 MOVE SRCE-1,[252525252525] ;PRELOAD SRCE-1 WITH 252525252525>
5410 IFG <SRCE-1-20>,<
5411 MOVE AC+1,[252525252525]
5412 MOVEM AC+1,SRCE-1 ;PRELOAD SRCE-1 WITH 252525252525>^
5413 GMOV (SRCE,<230703,,603700>)^
5414 IFLE <SRCE-20>,<
5415 035012 200 04 0 00 040752 MOVE SRCE,[230703,,603700] ;PRELOAD SRCE WITH 230703,,603700>
5416 IFG <SRCE-20>,<
5417 MOVE AC+1,[230703,,603700]
5418 MOVEM AC+1,SRCE ;PRELOAD SRCE WITH 230703,,603700>^
5419 GMOV (SRCE+1,<770077007700>)^
5420 IFLE <SRCE+1-20>,<
5421 035013 200 05 0 00 041017 MOVE SRCE+1,[770077007700] ;PRELOAD SRCE+1 WITH 770077007700>
5422 IFG <SRCE+1-20>,<
5423 MOVE AC+1,[770077007700]
5424 MOVEM AC+1,SRCE+1 ;PRELOAD SRCE+1 WITH 770077007700>^
5425 GMOV (DEST-1,<070707070707>)^
5426 IFLE <DEST-1-20>,<
5427 MOVE DEST-1,[070707070707] ;PRELOAD DEST-1 WITH 070707070707>
5428 IFG <DEST-1-20>,<
5429 035014 200 13 0 00 041020 MOVE AC+1,[070707070707]
5430 035015 202 13 0 00 040223 MOVEM AC+1,DEST-1 ;PRELOAD DEST-1 WITH 070707070707>^
5431 GMOV (DEST,<123456765432>)^
5432 IFLE <DEST-20>,<
5433 MOVE DEST,[123456765432] ;PRELOAD DEST WITH 123456765432>
5434 IFG <DEST-20>,<
5435 035016 200 13 0 00 041021 MOVE AC+1,[123456765432]
5436 035017 202 13 0 00 040224 MOVEM AC+1,DEST ;PRELOAD DEST WITH 123456765432>^
5437 GMOV (DEST+1,<552255225522>)^
5438 IFLE <DEST+1-20>,<
5439 MOVE DEST+1,[552255225522] ;PRELOAD DEST+1 WITH 552255225522>
5440 IFG <DEST+1-20>,<
5441 035020 200 13 0 00 041022 MOVE AC+1,[552255225522]
5442 035021 202 13 0 00 040225 MOVEM AC+1,DEST+1 ;PRELOAD DEST+1 WITH 552255225522>^
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 66-16
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0147
5443 035022 251 12 0 00 040224 BLT AC,DEST+SIZ-1 ;*BLOCK TRANSFER
5444 GCAM (SRCE-1,<252525252525>)^
5445 023401 SN=SN+1
5446 IFG <SRCE-1-20>,<
5447 MOVE AC-1,SRCE-1
5448 CAME AC-1,[252525252525] ;IS C(SRCE-1) = 252525252525
5449 IFIDN <DEST>,<SRCE-1>,<
5450 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
5451 IFDIF <DEST>,<SRCE-1>,<
5452 ER2 AC-1,SN ;C(SRCE-1) WAS CLOBBERED>>
5453 IFLE <SRCE-1-20>,<
5454 035023 312 03 0 00 041016 CAME SRCE-1,[252525252525] ;IS C(SRCE-1) = 252525252525
5455 IFIDN <DEST>,<SRCE-1>,<
5456 ER2 SRCE-1,SN ;DEST NOT LOADED CORRECTLY>
5457 IFDIF <DEST>,<SRCE-1>,<
5458 035024 002 03 0 00 023401 ER2 SRCE-1,SN ;C(SRCE-1) WAS CLOBBERED>>^
5459 GCAM (SRCE,<230703,,603700>)^
5460 023402 SN=SN+1
5461 IFG <SRCE-20>,<
5462 MOVE AC-1,SRCE
5463 CAME AC-1,[230703,,603700] ;IS C(SRCE) = 230703,,603700
5464 IFIDN <DEST>,<SRCE>,<
5465 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
5466 IFDIF <DEST>,<SRCE>,<
5467 ER2 AC-1,SN ;C(SRCE) WAS CLOBBERED>>
5468 IFLE <SRCE-20>,<
5469 035025 312 04 0 00 040752 CAME SRCE,[230703,,603700] ;IS C(SRCE) = 230703,,603700
5470 IFIDN <DEST>,<SRCE>,<
5471 ER2 SRCE,SN ;DEST NOT LOADED CORRECTLY>
5472 IFDIF <DEST>,<SRCE>,<
5473 035026 002 04 0 00 023402 ER2 SRCE,SN ;C(SRCE) WAS CLOBBERED>>^
5474 GCAM (SRCE+1,<770077007700>)^
5475 023403 SN=SN+1
5476 IFG <SRCE+1-20>,<
5477 MOVE AC-1,SRCE+1
5478 CAME AC-1,[770077007700] ;IS C(SRCE+1) = 770077007700
5479 IFIDN <DEST>,<SRCE+1>,<
5480 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
5481 IFDIF <DEST>,<SRCE+1>,<
5482 ER2 AC-1,SN ;C(SRCE+1) WAS CLOBBERED>>
5483 IFLE <SRCE+1-20>,<
5484 035027 312 05 0 00 041017 CAME SRCE+1,[770077007700] ;IS C(SRCE+1) = 770077007700
5485 IFIDN <DEST>,<SRCE+1>,<
5486 ER2 SRCE+1,SN ;DEST NOT LOADED CORRECTLY>
5487 IFDIF <DEST>,<SRCE+1>,<
5488 035030 002 05 0 00 023403 ER2 SRCE+1,SN ;C(SRCE+1) WAS CLOBBERED>>^
5489 GCAM (DEST-1,<070707070707>)^
5490 023404 SN=SN+1
5491 IFG <DEST-1-20>,<
5492 035031 200 11 0 00 040223 MOVE AC-1,DEST-1
5493 035032 312 11 0 00 041020 CAME AC-1,[070707070707] ;IS C(DEST-1) = 070707070707
5494 IFIDN <DEST>,<DEST-1>,<
5495 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
5496 IFDIF <DEST>,<DEST-1>,<
5497 035033 002 11 0 00 023404 ER2 AC-1,SN ;C(DEST-1) WAS CLOBBERED>>
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 66-17
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0148
5498 IFLE <DEST-1-20>,<
5499 CAME DEST-1,[070707070707] ;IS C(DEST-1) = 070707070707
5500 IFIDN <DEST>,<DEST-1>,<
5501 ER2 DEST-1,SN ;DEST NOT LOADED CORRECTLY>
5502 IFDIF <DEST>,<DEST-1>,<
5503 ER2 DEST-1,SN ;C(DEST-1) WAS CLOBBERED>>^
5504 GCAM (DEST,<230703,,603700>)^
5505 023405 SN=SN+1
5506 IFG <DEST-20>,<
5507 035034 200 11 0 00 040224 MOVE AC-1,DEST
5508 035035 312 11 0 00 040752 CAME AC-1,[230703,,603700] ;IS C(DEST) = 230703,,603700
5509 IFIDN <DEST>,<DEST>,<
5510 035036 002 11 0 00 023405 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
5511 IFDIF <DEST>,<DEST>,<
5512 ER2 AC-1,SN ;C(DEST) WAS CLOBBERED>>
5513 IFLE <DEST-20>,<
5514 CAME DEST,[230703,,603700] ;IS C(DEST) = 230703,,603700
5515 IFIDN <DEST>,<DEST>,<
5516 ER2 DEST,SN ;DEST NOT LOADED CORRECTLY>
5517 IFDIF <DEST>,<DEST>,<
5518 ER2 DEST,SN ;C(DEST) WAS CLOBBERED>>^
5519 GCAM (DEST+1,<552255225522>)^
5520 023406 SN=SN+1
5521 IFG <DEST+1-20>,<
5522 035037 200 11 0 00 040225 MOVE AC-1,DEST+1
5523 035040 312 11 0 00 041022 CAME AC-1,[552255225522] ;IS C(DEST+1) = 552255225522
5524 IFIDN <DEST>,<DEST+1>,<
5525 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
5526 IFDIF <DEST>,<DEST+1>,<
5527 035041 002 11 0 00 023406 ER2 AC-1,SN ;C(DEST+1) WAS CLOBBERED>>
5528 IFLE <DEST+1-20>,<
5529 CAME DEST+1,[552255225522] ;IS C(DEST+1) = 552255225522
5530 IFIDN <DEST>,<DEST+1>,<
5531 ER2 DEST+1,SN ;DEST NOT LOADED CORRECTLY>
5532 IFDIF <DEST>,<DEST+1>,<
5533 ER2 DEST+1,SN ;C(DEST+1) WAS CLOBBERED>>^
5534 035042 321 14 0 00 035010 JUMPL AC+2,G23400 ;LOOP ON ERROR^
5535 PAGE
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 66-18
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0149
5536 ;BOTH SOURCE AND DESTINATION BLOCKS HAVE NON-AC ADDRESSES
5537
5538 BLTM1 (23500,11,<BLTBLK+1>,<BLTBLK+4>,0)^
5539 ;VERIFY THAT BLT WILL TRANSFER A 1 WORD BLOCK OF DATA
5540 ;WHERE SOURCE AND DESTINATION ARE DIFFERENT
5541 ;SOURCE DATA = 0
5542
5543 000011 AC=11
5544 SAVEAC (1,1)^
5545 035043 201 13 0 00 035043 MOVEI AC+2,. ;SAVE TEST PC
5546 035044 202 13 0 00 030051 MOVEM AC+2,TESTPC
5547 035045 201 13 0 00 000013 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
5548 035046 202 13 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
5549 023500 SN=23500
5550 040221 SRCE=BLTBLK+1 ;1ST LOC OF SOURCE = BLTBLK+1
5551 040224 DEST=BLTBLK+4 ;1ST LOC OF DESTINATION = BLTBLK+4
5552 000001 SIZ=1 ;BLOCK SIZE = 1 WORD
5553
5554 035047 200 11 0 00 041030 G23500: MOVE AC,[SRCE,,DEST] ;LOAD BLT AC
5555 GMOV (SRCE-1,<252525252525>)^
5556 IFLE <SRCE-1-20>,<
5557 MOVE SRCE-1,[252525252525] ;PRELOAD SRCE-1 WITH 252525252525>
5558 IFG <SRCE-1-20>,<
5559 035050 200 12 0 00 041016 MOVE AC+1,[252525252525]
5560 035051 202 12 0 00 040220 MOVEM AC+1,SRCE-1 ;PRELOAD SRCE-1 WITH 252525252525>^
5561 GMOV (SRCE,<0>)^
5562 IFLE <SRCE-20>,<
5563 MOVE SRCE,[0] ;PRELOAD SRCE WITH 0>
5564 IFG <SRCE-20>,<
5565 035052 200 12 0 00 041011 MOVE AC+1,[0]
5566 035053 202 12 0 00 040221 MOVEM AC+1,SRCE ;PRELOAD SRCE WITH 0>^
5567 GMOV (SRCE+1,<770077007700>)^
5568 IFLE <SRCE+1-20>,<
5569 MOVE SRCE+1,[770077007700] ;PRELOAD SRCE+1 WITH 770077007700>
5570 IFG <SRCE+1-20>,<
5571 035054 200 12 0 00 041017 MOVE AC+1,[770077007700]
5572 035055 202 12 0 00 040222 MOVEM AC+1,SRCE+1 ;PRELOAD SRCE+1 WITH 770077007700>^
5573 GMOV (DEST-1,<070707070707>)^
5574 IFLE <DEST-1-20>,<
5575 MOVE DEST-1,[070707070707] ;PRELOAD DEST-1 WITH 070707070707>
5576 IFG <DEST-1-20>,<
5577 035056 200 12 0 00 041020 MOVE AC+1,[070707070707]
5578 035057 202 12 0 00 040223 MOVEM AC+1,DEST-1 ;PRELOAD DEST-1 WITH 070707070707>^
5579 GMOV (DEST,<123456765432>)^
5580 IFLE <DEST-20>,<
5581 MOVE DEST,[123456765432] ;PRELOAD DEST WITH 123456765432>
5582 IFG <DEST-20>,<
5583 035060 200 12 0 00 041021 MOVE AC+1,[123456765432]
5584 035061 202 12 0 00 040224 MOVEM AC+1,DEST ;PRELOAD DEST WITH 123456765432>^
5585 GMOV (DEST+1,<552255225522>)^
5586 IFLE <DEST+1-20>,<
5587 MOVE DEST+1,[552255225522] ;PRELOAD DEST+1 WITH 552255225522>
5588 IFG <DEST+1-20>,<
5589 035062 200 12 0 00 041022 MOVE AC+1,[552255225522]
5590 035063 202 12 0 00 040225 MOVEM AC+1,DEST+1 ;PRELOAD DEST+1 WITH 552255225522>^
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 66-19
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0150
5591 035064 251 11 0 00 040224 BLT AC,DEST+SIZ-1 ;*BLOCK TRANSFER
5592 GCAM (SRCE-1,<252525252525>)^
5593 023501 SN=SN+1
5594 IFG <SRCE-1-20>,<
5595 035065 200 10 0 00 040220 MOVE AC-1,SRCE-1
5596 035066 312 10 0 00 041016 CAME AC-1,[252525252525] ;IS C(SRCE-1) = 252525252525
5597 IFIDN <DEST>,<SRCE-1>,<
5598 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
5599 IFDIF <DEST>,<SRCE-1>,<
5600 035067 002 10 0 00 023501 ER2 AC-1,SN ;C(SRCE-1) WAS CLOBBERED>>
5601 IFLE <SRCE-1-20>,<
5602 CAME SRCE-1,[252525252525] ;IS C(SRCE-1) = 252525252525
5603 IFIDN <DEST>,<SRCE-1>,<
5604 ER2 SRCE-1,SN ;DEST NOT LOADED CORRECTLY>
5605 IFDIF <DEST>,<SRCE-1>,<
5606 ER2 SRCE-1,SN ;C(SRCE-1) WAS CLOBBERED>>^
5607 GCAM (SRCE,<0>)^
5608 023502 SN=SN+1
5609 IFG <SRCE-20>,<
5610 035070 200 10 0 00 040221 MOVE AC-1,SRCE
5611 035071 312 10 0 00 041011 CAME AC-1,[0] ;IS C(SRCE) = 0
5612 IFIDN <DEST>,<SRCE>,<
5613 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
5614 IFDIF <DEST>,<SRCE>,<
5615 035072 002 10 0 00 023502 ER2 AC-1,SN ;C(SRCE) WAS CLOBBERED>>
5616 IFLE <SRCE-20>,<
5617 CAME SRCE,[0] ;IS C(SRCE) = 0
5618 IFIDN <DEST>,<SRCE>,<
5619 ER2 SRCE,SN ;DEST NOT LOADED CORRECTLY>
5620 IFDIF <DEST>,<SRCE>,<
5621 ER2 SRCE,SN ;C(SRCE) WAS CLOBBERED>>^
5622 GCAM (SRCE+1,<770077007700>)^
5623 023503 SN=SN+1
5624 IFG <SRCE+1-20>,<
5625 035073 200 10 0 00 040222 MOVE AC-1,SRCE+1
5626 035074 312 10 0 00 041017 CAME AC-1,[770077007700] ;IS C(SRCE+1) = 770077007700
5627 IFIDN <DEST>,<SRCE+1>,<
5628 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
5629 IFDIF <DEST>,<SRCE+1>,<
5630 035075 002 10 0 00 023503 ER2 AC-1,SN ;C(SRCE+1) WAS CLOBBERED>>
5631 IFLE <SRCE+1-20>,<
5632 CAME SRCE+1,[770077007700] ;IS C(SRCE+1) = 770077007700
5633 IFIDN <DEST>,<SRCE+1>,<
5634 ER2 SRCE+1,SN ;DEST NOT LOADED CORRECTLY>
5635 IFDIF <DEST>,<SRCE+1>,<
5636 ER2 SRCE+1,SN ;C(SRCE+1) WAS CLOBBERED>>^
5637 GCAM (DEST-1,<070707070707>)^
5638 023504 SN=SN+1
5639 IFG <DEST-1-20>,<
5640 035076 200 10 0 00 040223 MOVE AC-1,DEST-1
5641 035077 312 10 0 00 041020 CAME AC-1,[070707070707] ;IS C(DEST-1) = 070707070707
5642 IFIDN <DEST>,<DEST-1>,<
5643 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
5644 IFDIF <DEST>,<DEST-1>,<
5645 035100 002 10 0 00 023504 ER2 AC-1,SN ;C(DEST-1) WAS CLOBBERED>>
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 66-20
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0151
5646 IFLE <DEST-1-20>,<
5647 CAME DEST-1,[070707070707] ;IS C(DEST-1) = 070707070707
5648 IFIDN <DEST>,<DEST-1>,<
5649 ER2 DEST-1,SN ;DEST NOT LOADED CORRECTLY>
5650 IFDIF <DEST>,<DEST-1>,<
5651 ER2 DEST-1,SN ;C(DEST-1) WAS CLOBBERED>>^
5652 GCAM (DEST,<0>)^
5653 023505 SN=SN+1
5654 IFG <DEST-20>,<
5655 035101 200 10 0 00 040224 MOVE AC-1,DEST
5656 035102 312 10 0 00 041011 CAME AC-1,[0] ;IS C(DEST) = 0
5657 IFIDN <DEST>,<DEST>,<
5658 035103 002 10 0 00 023505 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
5659 IFDIF <DEST>,<DEST>,<
5660 ER2 AC-1,SN ;C(DEST) WAS CLOBBERED>>
5661 IFLE <DEST-20>,<
5662 CAME DEST,[0] ;IS C(DEST) = 0
5663 IFIDN <DEST>,<DEST>,<
5664 ER2 DEST,SN ;DEST NOT LOADED CORRECTLY>
5665 IFDIF <DEST>,<DEST>,<
5666 ER2 DEST,SN ;C(DEST) WAS CLOBBERED>>^
5667 GCAM (DEST+1,<552255225522>)^
5668 023506 SN=SN+1
5669 IFG <DEST+1-20>,<
5670 035104 200 10 0 00 040225 MOVE AC-1,DEST+1
5671 035105 312 10 0 00 041022 CAME AC-1,[552255225522] ;IS C(DEST+1) = 552255225522
5672 IFIDN <DEST>,<DEST+1>,<
5673 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
5674 IFDIF <DEST>,<DEST+1>,<
5675 035106 002 10 0 00 023506 ER2 AC-1,SN ;C(DEST+1) WAS CLOBBERED>>
5676 IFLE <DEST+1-20>,<
5677 CAME DEST+1,[552255225522] ;IS C(DEST+1) = 552255225522
5678 IFIDN <DEST>,<DEST+1>,<
5679 ER2 DEST+1,SN ;DEST NOT LOADED CORRECTLY>
5680 IFDIF <DEST>,<DEST+1>,<
5681 ER2 DEST+1,SN ;C(DEST+1) WAS CLOBBERED>>^
5682 035107 321 13 0 00 035047 JUMPL AC+2,G23500 ;LOOP ON ERROR^
5683 PAGE
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 66-21
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0152
5684 ;BOTH SOURCE AND DESTINATION BLOCKS HAVE NON-AC ADDRESSES
5685
5686 BLTM1 (23600,10,<BLTBLK+1>,<BLTBLK+4>,-1)^
5687 ;VERIFY THAT BLT WILL TRANSFER A 1 WORD BLOCK OF DATA
5688 ;WHERE SOURCE AND DESTINATION ARE DIFFERENT
5689 ;SOURCE DATA = -1
5690
5691 000010 AC=10
5692 SAVEAC (1,1)^
5693 035110 201 12 0 00 035110 MOVEI AC+2,. ;SAVE TEST PC
5694 035111 202 12 0 00 030051 MOVEM AC+2,TESTPC
5695 035112 201 12 0 00 000012 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
5696 035113 202 12 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
5697 023600 SN=23600
5698 040221 SRCE=BLTBLK+1 ;1ST LOC OF SOURCE = BLTBLK+1
5699 040224 DEST=BLTBLK+4 ;1ST LOC OF DESTINATION = BLTBLK+4
5700 000001 SIZ=1 ;BLOCK SIZE = 1 WORD
5701
5702 035114 200 10 0 00 041030 G23600: MOVE AC,[SRCE,,DEST] ;LOAD BLT AC
5703 GMOV (SRCE-1,<252525252525>)^
5704 IFLE <SRCE-1-20>,<
5705 MOVE SRCE-1,[252525252525] ;PRELOAD SRCE-1 WITH 252525252525>
5706 IFG <SRCE-1-20>,<
5707 035115 200 11 0 00 041016 MOVE AC+1,[252525252525]
5708 035116 202 11 0 00 040220 MOVEM AC+1,SRCE-1 ;PRELOAD SRCE-1 WITH 252525252525>^
5709 GMOV (SRCE,<-1>)^
5710 IFLE <SRCE-20>,<
5711 MOVE SRCE,[-1] ;PRELOAD SRCE WITH -1>
5712 IFG <SRCE-20>,<
5713 035117 200 11 0 00 040734 MOVE AC+1,[-1]
5714 035120 202 11 0 00 040221 MOVEM AC+1,SRCE ;PRELOAD SRCE WITH -1>^
5715 GMOV (SRCE+1,<770077007700>)^
5716 IFLE <SRCE+1-20>,<
5717 MOVE SRCE+1,[770077007700] ;PRELOAD SRCE+1 WITH 770077007700>
5718 IFG <SRCE+1-20>,<
5719 035121 200 11 0 00 041017 MOVE AC+1,[770077007700]
5720 035122 202 11 0 00 040222 MOVEM AC+1,SRCE+1 ;PRELOAD SRCE+1 WITH 770077007700>^
5721 GMOV (DEST-1,<070707070707>)^
5722 IFLE <DEST-1-20>,<
5723 MOVE DEST-1,[070707070707] ;PRELOAD DEST-1 WITH 070707070707>
5724 IFG <DEST-1-20>,<
5725 035123 200 11 0 00 041020 MOVE AC+1,[070707070707]
5726 035124 202 11 0 00 040223 MOVEM AC+1,DEST-1 ;PRELOAD DEST-1 WITH 070707070707>^
5727 GMOV (DEST,<123456765432>)^
5728 IFLE <DEST-20>,<
5729 MOVE DEST,[123456765432] ;PRELOAD DEST WITH 123456765432>
5730 IFG <DEST-20>,<
5731 035125 200 11 0 00 041021 MOVE AC+1,[123456765432]
5732 035126 202 11 0 00 040224 MOVEM AC+1,DEST ;PRELOAD DEST WITH 123456765432>^
5733 GMOV (DEST+1,<552255225522>)^
5734 IFLE <DEST+1-20>,<
5735 MOVE DEST+1,[552255225522] ;PRELOAD DEST+1 WITH 552255225522>
5736 IFG <DEST+1-20>,<
5737 035127 200 11 0 00 041022 MOVE AC+1,[552255225522]
5738 035130 202 11 0 00 040225 MOVEM AC+1,DEST+1 ;PRELOAD DEST+1 WITH 552255225522>^
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 66-22
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0153
5739 035131 251 10 0 00 040224 BLT AC,DEST+SIZ-1 ;*BLOCK TRANSFER
5740 GCAM (SRCE-1,<252525252525>)^
5741 023601 SN=SN+1
5742 IFG <SRCE-1-20>,<
5743 035132 200 07 0 00 040220 MOVE AC-1,SRCE-1
5744 035133 312 07 0 00 041016 CAME AC-1,[252525252525] ;IS C(SRCE-1) = 252525252525
5745 IFIDN <DEST>,<SRCE-1>,<
5746 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
5747 IFDIF <DEST>,<SRCE-1>,<
5748 035134 002 07 0 00 023601 ER2 AC-1,SN ;C(SRCE-1) WAS CLOBBERED>>
5749 IFLE <SRCE-1-20>,<
5750 CAME SRCE-1,[252525252525] ;IS C(SRCE-1) = 252525252525
5751 IFIDN <DEST>,<SRCE-1>,<
5752 ER2 SRCE-1,SN ;DEST NOT LOADED CORRECTLY>
5753 IFDIF <DEST>,<SRCE-1>,<
5754 ER2 SRCE-1,SN ;C(SRCE-1) WAS CLOBBERED>>^
5755 GCAM (SRCE,<-1>)^
5756 023602 SN=SN+1
5757 IFG <SRCE-20>,<
5758 035135 200 07 0 00 040221 MOVE AC-1,SRCE
5759 035136 312 07 0 00 040734 CAME AC-1,[-1] ;IS C(SRCE) = -1
5760 IFIDN <DEST>,<SRCE>,<
5761 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
5762 IFDIF <DEST>,<SRCE>,<
5763 035137 002 07 0 00 023602 ER2 AC-1,SN ;C(SRCE) WAS CLOBBERED>>
5764 IFLE <SRCE-20>,<
5765 CAME SRCE,[-1] ;IS C(SRCE) = -1
5766 IFIDN <DEST>,<SRCE>,<
5767 ER2 SRCE,SN ;DEST NOT LOADED CORRECTLY>
5768 IFDIF <DEST>,<SRCE>,<
5769 ER2 SRCE,SN ;C(SRCE) WAS CLOBBERED>>^
5770 GCAM (SRCE+1,<770077007700>)^
5771 023603 SN=SN+1
5772 IFG <SRCE+1-20>,<
5773 035140 200 07 0 00 040222 MOVE AC-1,SRCE+1
5774 035141 312 07 0 00 041017 CAME AC-1,[770077007700] ;IS C(SRCE+1) = 770077007700
5775 IFIDN <DEST>,<SRCE+1>,<
5776 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
5777 IFDIF <DEST>,<SRCE+1>,<
5778 035142 002 07 0 00 023603 ER2 AC-1,SN ;C(SRCE+1) WAS CLOBBERED>>
5779 IFLE <SRCE+1-20>,<
5780 CAME SRCE+1,[770077007700] ;IS C(SRCE+1) = 770077007700
5781 IFIDN <DEST>,<SRCE+1>,<
5782 ER2 SRCE+1,SN ;DEST NOT LOADED CORRECTLY>
5783 IFDIF <DEST>,<SRCE+1>,<
5784 ER2 SRCE+1,SN ;C(SRCE+1) WAS CLOBBERED>>^
5785 GCAM (DEST-1,<070707070707>)^
5786 023604 SN=SN+1
5787 IFG <DEST-1-20>,<
5788 035143 200 07 0 00 040223 MOVE AC-1,DEST-1
5789 035144 312 07 0 00 041020 CAME AC-1,[070707070707] ;IS C(DEST-1) = 070707070707
5790 IFIDN <DEST>,<DEST-1>,<
5791 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
5792 IFDIF <DEST>,<DEST-1>,<
5793 035145 002 07 0 00 023604 ER2 AC-1,SN ;C(DEST-1) WAS CLOBBERED>>
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 66-23
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0154
5794 IFLE <DEST-1-20>,<
5795 CAME DEST-1,[070707070707] ;IS C(DEST-1) = 070707070707
5796 IFIDN <DEST>,<DEST-1>,<
5797 ER2 DEST-1,SN ;DEST NOT LOADED CORRECTLY>
5798 IFDIF <DEST>,<DEST-1>,<
5799 ER2 DEST-1,SN ;C(DEST-1) WAS CLOBBERED>>^
5800 GCAM (DEST,<-1>)^
5801 023605 SN=SN+1
5802 IFG <DEST-20>,<
5803 035146 200 07 0 00 040224 MOVE AC-1,DEST
5804 035147 312 07 0 00 040734 CAME AC-1,[-1] ;IS C(DEST) = -1
5805 IFIDN <DEST>,<DEST>,<
5806 035150 002 07 0 00 023605 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
5807 IFDIF <DEST>,<DEST>,<
5808 ER2 AC-1,SN ;C(DEST) WAS CLOBBERED>>
5809 IFLE <DEST-20>,<
5810 CAME DEST,[-1] ;IS C(DEST) = -1
5811 IFIDN <DEST>,<DEST>,<
5812 ER2 DEST,SN ;DEST NOT LOADED CORRECTLY>
5813 IFDIF <DEST>,<DEST>,<
5814 ER2 DEST,SN ;C(DEST) WAS CLOBBERED>>^
5815 GCAM (DEST+1,<552255225522>)^
5816 023606 SN=SN+1
5817 IFG <DEST+1-20>,<
5818 035151 200 07 0 00 040225 MOVE AC-1,DEST+1
5819 035152 312 07 0 00 041022 CAME AC-1,[552255225522] ;IS C(DEST+1) = 552255225522
5820 IFIDN <DEST>,<DEST+1>,<
5821 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
5822 IFDIF <DEST>,<DEST+1>,<
5823 035153 002 07 0 00 023606 ER2 AC-1,SN ;C(DEST+1) WAS CLOBBERED>>
5824 IFLE <DEST+1-20>,<
5825 CAME DEST+1,[552255225522] ;IS C(DEST+1) = 552255225522
5826 IFIDN <DEST>,<DEST+1>,<
5827 ER2 DEST+1,SN ;DEST NOT LOADED CORRECTLY>
5828 IFDIF <DEST>,<DEST+1>,<
5829 ER2 DEST+1,SN ;C(DEST+1) WAS CLOBBERED>>^
5830 035154 321 12 0 00 035114 JUMPL AC+2,G23600 ;LOOP ON ERROR^
5831 PAGE
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 66-24
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0155
5832 ;BOTH SOURCE AND DESTINATION BLOCKS HAVE NON-AC ADDRESSES
5833
5834 BLTM1 (23700,7,<BLTBLK+1>,<BLTBLK+4>,<230703,,603700>)^
5835 ;VERIFY THAT BLT WILL TRANSFER A 1 WORD BLOCK OF DATA
5836 ;WHERE SOURCE AND DESTINATION ARE DIFFERENT
5837 ;SOURCE DATA = 230703,,603700
5838
5839 000007 AC=7
5840 SAVEAC (1,1)^
5841 035155 201 11 0 00 035155 MOVEI AC+2,. ;SAVE TEST PC
5842 035156 202 11 0 00 030051 MOVEM AC+2,TESTPC
5843 035157 201 11 0 00 000011 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
5844 035160 202 11 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
5845 023700 SN=23700
5846 040221 SRCE=BLTBLK+1 ;1ST LOC OF SOURCE = BLTBLK+1
5847 040224 DEST=BLTBLK+4 ;1ST LOC OF DESTINATION = BLTBLK+4
5848 000001 SIZ=1 ;BLOCK SIZE = 1 WORD
5849
5850 035161 200 07 0 00 041030 G23700: MOVE AC,[SRCE,,DEST] ;LOAD BLT AC
5851 GMOV (SRCE-1,<252525252525>)^
5852 IFLE <SRCE-1-20>,<
5853 MOVE SRCE-1,[252525252525] ;PRELOAD SRCE-1 WITH 252525252525>
5854 IFG <SRCE-1-20>,<
5855 035162 200 10 0 00 041016 MOVE AC+1,[252525252525]
5856 035163 202 10 0 00 040220 MOVEM AC+1,SRCE-1 ;PRELOAD SRCE-1 WITH 252525252525>^
5857 GMOV (SRCE,<230703,,603700>)^
5858 IFLE <SRCE-20>,<
5859 MOVE SRCE,[230703,,603700] ;PRELOAD SRCE WITH 230703,,603700>
5860 IFG <SRCE-20>,<
5861 035164 200 10 0 00 040752 MOVE AC+1,[230703,,603700]
5862 035165 202 10 0 00 040221 MOVEM AC+1,SRCE ;PRELOAD SRCE WITH 230703,,603700>^
5863 GMOV (SRCE+1,<770077007700>)^
5864 IFLE <SRCE+1-20>,<
5865 MOVE SRCE+1,[770077007700] ;PRELOAD SRCE+1 WITH 770077007700>
5866 IFG <SRCE+1-20>,<
5867 035166 200 10 0 00 041017 MOVE AC+1,[770077007700]
5868 035167 202 10 0 00 040222 MOVEM AC+1,SRCE+1 ;PRELOAD SRCE+1 WITH 770077007700>^
5869 GMOV (DEST-1,<070707070707>)^
5870 IFLE <DEST-1-20>,<
5871 MOVE DEST-1,[070707070707] ;PRELOAD DEST-1 WITH 070707070707>
5872 IFG <DEST-1-20>,<
5873 035170 200 10 0 00 041020 MOVE AC+1,[070707070707]
5874 035171 202 10 0 00 040223 MOVEM AC+1,DEST-1 ;PRELOAD DEST-1 WITH 070707070707>^
5875 GMOV (DEST,<123456765432>)^
5876 IFLE <DEST-20>,<
5877 MOVE DEST,[123456765432] ;PRELOAD DEST WITH 123456765432>
5878 IFG <DEST-20>,<
5879 035172 200 10 0 00 041021 MOVE AC+1,[123456765432]
5880 035173 202 10 0 00 040224 MOVEM AC+1,DEST ;PRELOAD DEST WITH 123456765432>^
5881 GMOV (DEST+1,<552255225522>)^
5882 IFLE <DEST+1-20>,<
5883 MOVE DEST+1,[552255225522] ;PRELOAD DEST+1 WITH 552255225522>
5884 IFG <DEST+1-20>,<
5885 035174 200 10 0 00 041022 MOVE AC+1,[552255225522]
5886 035175 202 10 0 00 040225 MOVEM AC+1,DEST+1 ;PRELOAD DEST+1 WITH 552255225522>^
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 66-25
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0156
5887 035176 251 07 0 00 040224 BLT AC,DEST+SIZ-1 ;*BLOCK TRANSFER
5888 GCAM (SRCE-1,<252525252525>)^
5889 023701 SN=SN+1
5890 IFG <SRCE-1-20>,<
5891 035177 200 06 0 00 040220 MOVE AC-1,SRCE-1
5892 035200 312 06 0 00 041016 CAME AC-1,[252525252525] ;IS C(SRCE-1) = 252525252525
5893 IFIDN <DEST>,<SRCE-1>,<
5894 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
5895 IFDIF <DEST>,<SRCE-1>,<
5896 035201 002 06 0 00 023701 ER2 AC-1,SN ;C(SRCE-1) WAS CLOBBERED>>
5897 IFLE <SRCE-1-20>,<
5898 CAME SRCE-1,[252525252525] ;IS C(SRCE-1) = 252525252525
5899 IFIDN <DEST>,<SRCE-1>,<
5900 ER2 SRCE-1,SN ;DEST NOT LOADED CORRECTLY>
5901 IFDIF <DEST>,<SRCE-1>,<
5902 ER2 SRCE-1,SN ;C(SRCE-1) WAS CLOBBERED>>^
5903 GCAM (SRCE,<230703,,603700>)^
5904 023702 SN=SN+1
5905 IFG <SRCE-20>,<
5906 035202 200 06 0 00 040221 MOVE AC-1,SRCE
5907 035203 312 06 0 00 040752 CAME AC-1,[230703,,603700] ;IS C(SRCE) = 230703,,603700
5908 IFIDN <DEST>,<SRCE>,<
5909 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
5910 IFDIF <DEST>,<SRCE>,<
5911 035204 002 06 0 00 023702 ER2 AC-1,SN ;C(SRCE) WAS CLOBBERED>>
5912 IFLE <SRCE-20>,<
5913 CAME SRCE,[230703,,603700] ;IS C(SRCE) = 230703,,603700
5914 IFIDN <DEST>,<SRCE>,<
5915 ER2 SRCE,SN ;DEST NOT LOADED CORRECTLY>
5916 IFDIF <DEST>,<SRCE>,<
5917 ER2 SRCE,SN ;C(SRCE) WAS CLOBBERED>>^
5918 GCAM (SRCE+1,<770077007700>)^
5919 023703 SN=SN+1
5920 IFG <SRCE+1-20>,<
5921 035205 200 06 0 00 040222 MOVE AC-1,SRCE+1
5922 035206 312 06 0 00 041017 CAME AC-1,[770077007700] ;IS C(SRCE+1) = 770077007700
5923 IFIDN <DEST>,<SRCE+1>,<
5924 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
5925 IFDIF <DEST>,<SRCE+1>,<
5926 035207 002 06 0 00 023703 ER2 AC-1,SN ;C(SRCE+1) WAS CLOBBERED>>
5927 IFLE <SRCE+1-20>,<
5928 CAME SRCE+1,[770077007700] ;IS C(SRCE+1) = 770077007700
5929 IFIDN <DEST>,<SRCE+1>,<
5930 ER2 SRCE+1,SN ;DEST NOT LOADED CORRECTLY>
5931 IFDIF <DEST>,<SRCE+1>,<
5932 ER2 SRCE+1,SN ;C(SRCE+1) WAS CLOBBERED>>^
5933 GCAM (DEST-1,<070707070707>)^
5934 023704 SN=SN+1
5935 IFG <DEST-1-20>,<
5936 035210 200 06 0 00 040223 MOVE AC-1,DEST-1
5937 035211 312 06 0 00 041020 CAME AC-1,[070707070707] ;IS C(DEST-1) = 070707070707
5938 IFIDN <DEST>,<DEST-1>,<
5939 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
5940 IFDIF <DEST>,<DEST-1>,<
5941 035212 002 06 0 00 023704 ER2 AC-1,SN ;C(DEST-1) WAS CLOBBERED>>
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 66-26
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0157
5942 IFLE <DEST-1-20>,<
5943 CAME DEST-1,[070707070707] ;IS C(DEST-1) = 070707070707
5944 IFIDN <DEST>,<DEST-1>,<
5945 ER2 DEST-1,SN ;DEST NOT LOADED CORRECTLY>
5946 IFDIF <DEST>,<DEST-1>,<
5947 ER2 DEST-1,SN ;C(DEST-1) WAS CLOBBERED>>^
5948 GCAM (DEST,<230703,,603700>)^
5949 023705 SN=SN+1
5950 IFG <DEST-20>,<
5951 035213 200 06 0 00 040224 MOVE AC-1,DEST
5952 035214 312 06 0 00 040752 CAME AC-1,[230703,,603700] ;IS C(DEST) = 230703,,603700
5953 IFIDN <DEST>,<DEST>,<
5954 035215 002 06 0 00 023705 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
5955 IFDIF <DEST>,<DEST>,<
5956 ER2 AC-1,SN ;C(DEST) WAS CLOBBERED>>
5957 IFLE <DEST-20>,<
5958 CAME DEST,[230703,,603700] ;IS C(DEST) = 230703,,603700
5959 IFIDN <DEST>,<DEST>,<
5960 ER2 DEST,SN ;DEST NOT LOADED CORRECTLY>
5961 IFDIF <DEST>,<DEST>,<
5962 ER2 DEST,SN ;C(DEST) WAS CLOBBERED>>^
5963 GCAM (DEST+1,<552255225522>)^
5964 023706 SN=SN+1
5965 IFG <DEST+1-20>,<
5966 035216 200 06 0 00 040225 MOVE AC-1,DEST+1
5967 035217 312 06 0 00 041022 CAME AC-1,[552255225522] ;IS C(DEST+1) = 552255225522
5968 IFIDN <DEST>,<DEST+1>,<
5969 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
5970 IFDIF <DEST>,<DEST+1>,<
5971 035220 002 06 0 00 023706 ER2 AC-1,SN ;C(DEST+1) WAS CLOBBERED>>
5972 IFLE <DEST+1-20>,<
5973 CAME DEST+1,[552255225522] ;IS C(DEST+1) = 552255225522
5974 IFIDN <DEST>,<DEST+1>,<
5975 ER2 DEST+1,SN ;DEST NOT LOADED CORRECTLY>
5976 IFDIF <DEST>,<DEST+1>,<
5977 ER2 DEST+1,SN ;C(DEST+1) WAS CLOBBERED>>^
5978 035221 321 11 0 00 035161 JUMPL AC+2,G23700 ;LOOP ON ERROR^
5979 PAGE
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 66-27
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0158
5980 ;SOURCE BLOCK HAS NON-AC ADDRESS, DESTINATION BLOCK HAS AC ADDRESS
5981
5982 BLTM1 (24000,14,<BLTBLK+1>,<<AC-6>&17>,0)^
5983 ;VERIFY THAT BLT WILL TRANSFER A 1 WORD BLOCK OF DATA
5984 ;WHERE SOURCE AND DESTINATION ARE DIFFERENT
5985 ;SOURCE DATA = 0
5986
5987 000014 AC=14
5988 SAVEAC (1,1)^
5989 035222 201 16 0 00 035222 MOVEI AC+2,. ;SAVE TEST PC
5990 035223 202 16 0 00 030051 MOVEM AC+2,TESTPC
5991 035224 201 16 0 00 000016 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
5992 035225 202 16 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
5993 024000 SN=24000
5994 040221 SRCE=BLTBLK+1 ;1ST LOC OF SOURCE = BLTBLK+1
5995 000006 DEST=<AC-6>&17 ;1ST LOC OF DESTINATION = <AC-6>&17
5996 000001 SIZ=1 ;BLOCK SIZE = 1 WORD
5997
5998 035226 200 14 0 00 041031 G24000: MOVE AC,[SRCE,,DEST] ;LOAD BLT AC
5999 GMOV (SRCE-1,<252525252525>)^
6000 IFLE <SRCE-1-20>,<
6001 MOVE SRCE-1,[252525252525] ;PRELOAD SRCE-1 WITH 252525252525>
6002 IFG <SRCE-1-20>,<
6003 035227 200 15 0 00 041016 MOVE AC+1,[252525252525]
6004 035230 202 15 0 00 040220 MOVEM AC+1,SRCE-1 ;PRELOAD SRCE-1 WITH 252525252525>^
6005 GMOV (SRCE,<0>)^
6006 IFLE <SRCE-20>,<
6007 MOVE SRCE,[0] ;PRELOAD SRCE WITH 0>
6008 IFG <SRCE-20>,<
6009 035231 200 15 0 00 041011 MOVE AC+1,[0]
6010 035232 202 15 0 00 040221 MOVEM AC+1,SRCE ;PRELOAD SRCE WITH 0>^
6011 GMOV (SRCE+1,<770077007700>)^
6012 IFLE <SRCE+1-20>,<
6013 MOVE SRCE+1,[770077007700] ;PRELOAD SRCE+1 WITH 770077007700>
6014 IFG <SRCE+1-20>,<
6015 035233 200 15 0 00 041017 MOVE AC+1,[770077007700]
6016 035234 202 15 0 00 040222 MOVEM AC+1,SRCE+1 ;PRELOAD SRCE+1 WITH 770077007700>^
6017 GMOV (DEST-1,<070707070707>)^
6018 IFLE <DEST-1-20>,<
6019 035235 200 05 0 00 041020 MOVE DEST-1,[070707070707] ;PRELOAD DEST-1 WITH 070707070707>
6020 IFG <DEST-1-20>,<
6021 MOVE AC+1,[070707070707]
6022 MOVEM AC+1,DEST-1 ;PRELOAD DEST-1 WITH 070707070707>^
6023 GMOV (DEST,<123456765432>)^
6024 IFLE <DEST-20>,<
6025 035236 200 06 0 00 041021 MOVE DEST,[123456765432] ;PRELOAD DEST WITH 123456765432>
6026 IFG <DEST-20>,<
6027 MOVE AC+1,[123456765432]
6028 MOVEM AC+1,DEST ;PRELOAD DEST WITH 123456765432>^
6029 GMOV (DEST+1,<552255225522>)^
6030 IFLE <DEST+1-20>,<
6031 035237 200 07 0 00 041022 MOVE DEST+1,[552255225522] ;PRELOAD DEST+1 WITH 552255225522>
6032 IFG <DEST+1-20>,<
6033 MOVE AC+1,[552255225522]
6034 MOVEM AC+1,DEST+1 ;PRELOAD DEST+1 WITH 552255225522>^
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 66-28
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0159
6035 035240 251 14 0 00 000006 BLT AC,DEST+SIZ-1 ;*BLOCK TRANSFER
6036 GCAM (SRCE-1,<252525252525>)^
6037 024001 SN=SN+1
6038 IFG <SRCE-1-20>,<
6039 035241 200 13 0 00 040220 MOVE AC-1,SRCE-1
6040 035242 312 13 0 00 041016 CAME AC-1,[252525252525] ;IS C(SRCE-1) = 252525252525
6041 IFIDN <DEST>,<SRCE-1>,<
6042 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
6043 IFDIF <DEST>,<SRCE-1>,<
6044 035243 002 13 0 00 024001 ER2 AC-1,SN ;C(SRCE-1) WAS CLOBBERED>>
6045 IFLE <SRCE-1-20>,<
6046 CAME SRCE-1,[252525252525] ;IS C(SRCE-1) = 252525252525
6047 IFIDN <DEST>,<SRCE-1>,<
6048 ER2 SRCE-1,SN ;DEST NOT LOADED CORRECTLY>
6049 IFDIF <DEST>,<SRCE-1>,<
6050 ER2 SRCE-1,SN ;C(SRCE-1) WAS CLOBBERED>>^
6051 GCAM (SRCE,<0>)^
6052 024002 SN=SN+1
6053 IFG <SRCE-20>,<
6054 035244 200 13 0 00 040221 MOVE AC-1,SRCE
6055 035245 312 13 0 00 041011 CAME AC-1,[0] ;IS C(SRCE) = 0
6056 IFIDN <DEST>,<SRCE>,<
6057 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
6058 IFDIF <DEST>,<SRCE>,<
6059 035246 002 13 0 00 024002 ER2 AC-1,SN ;C(SRCE) WAS CLOBBERED>>
6060 IFLE <SRCE-20>,<
6061 CAME SRCE,[0] ;IS C(SRCE) = 0
6062 IFIDN <DEST>,<SRCE>,<
6063 ER2 SRCE,SN ;DEST NOT LOADED CORRECTLY>
6064 IFDIF <DEST>,<SRCE>,<
6065 ER2 SRCE,SN ;C(SRCE) WAS CLOBBERED>>^
6066 GCAM (SRCE+1,<770077007700>)^
6067 024003 SN=SN+1
6068 IFG <SRCE+1-20>,<
6069 035247 200 13 0 00 040222 MOVE AC-1,SRCE+1
6070 035250 312 13 0 00 041017 CAME AC-1,[770077007700] ;IS C(SRCE+1) = 770077007700
6071 IFIDN <DEST>,<SRCE+1>,<
6072 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
6073 IFDIF <DEST>,<SRCE+1>,<
6074 035251 002 13 0 00 024003 ER2 AC-1,SN ;C(SRCE+1) WAS CLOBBERED>>
6075 IFLE <SRCE+1-20>,<
6076 CAME SRCE+1,[770077007700] ;IS C(SRCE+1) = 770077007700
6077 IFIDN <DEST>,<SRCE+1>,<
6078 ER2 SRCE+1,SN ;DEST NOT LOADED CORRECTLY>
6079 IFDIF <DEST>,<SRCE+1>,<
6080 ER2 SRCE+1,SN ;C(SRCE+1) WAS CLOBBERED>>^
6081 GCAM (DEST-1,<070707070707>)^
6082 024004 SN=SN+1
6083 IFG <DEST-1-20>,<
6084 MOVE AC-1,DEST-1
6085 CAME AC-1,[070707070707] ;IS C(DEST-1) = 070707070707
6086 IFIDN <DEST>,<DEST-1>,<
6087 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
6088 IFDIF <DEST>,<DEST-1>,<
6089 ER2 AC-1,SN ;C(DEST-1) WAS CLOBBERED>>
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 66-29
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0160
6090 IFLE <DEST-1-20>,<
6091 035252 312 05 0 00 041020 CAME DEST-1,[070707070707] ;IS C(DEST-1) = 070707070707
6092 IFIDN <DEST>,<DEST-1>,<
6093 ER2 DEST-1,SN ;DEST NOT LOADED CORRECTLY>
6094 IFDIF <DEST>,<DEST-1>,<
6095 035253 002 05 0 00 024004 ER2 DEST-1,SN ;C(DEST-1) WAS CLOBBERED>>^
6096 GCAM (DEST,<0>)^
6097 024005 SN=SN+1
6098 IFG <DEST-20>,<
6099 MOVE AC-1,DEST
6100 CAME AC-1,[0] ;IS C(DEST) = 0
6101 IFIDN <DEST>,<DEST>,<
6102 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
6103 IFDIF <DEST>,<DEST>,<
6104 ER2 AC-1,SN ;C(DEST) WAS CLOBBERED>>
6105 IFLE <DEST-20>,<
6106 035254 312 06 0 00 041011 CAME DEST,[0] ;IS C(DEST) = 0
6107 IFIDN <DEST>,<DEST>,<
6108 035255 002 06 0 00 024005 ER2 DEST,SN ;DEST NOT LOADED CORRECTLY>
6109 IFDIF <DEST>,<DEST>,<
6110 ER2 DEST,SN ;C(DEST) WAS CLOBBERED>>^
6111 GCAM (DEST+1,<552255225522>)^
6112 024006 SN=SN+1
6113 IFG <DEST+1-20>,<
6114 MOVE AC-1,DEST+1
6115 CAME AC-1,[552255225522] ;IS C(DEST+1) = 552255225522
6116 IFIDN <DEST>,<DEST+1>,<
6117 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
6118 IFDIF <DEST>,<DEST+1>,<
6119 ER2 AC-1,SN ;C(DEST+1) WAS CLOBBERED>>
6120 IFLE <DEST+1-20>,<
6121 035256 312 07 0 00 041022 CAME DEST+1,[552255225522] ;IS C(DEST+1) = 552255225522
6122 IFIDN <DEST>,<DEST+1>,<
6123 ER2 DEST+1,SN ;DEST NOT LOADED CORRECTLY>
6124 IFDIF <DEST>,<DEST+1>,<
6125 035257 002 07 0 00 024006 ER2 DEST+1,SN ;C(DEST+1) WAS CLOBBERED>>^
6126 035260 321 16 0 00 035226 JUMPL AC+2,G24000 ;LOOP ON ERROR^
6127 PAGE
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 66-30
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0161
6128 ;SOURCE BLOCK HAS NON-AC ADDRESS, DESTINATION BLOCK HAS AC ADDRESS
6129
6130 BLTM1 (24100,13,<BLTBLK+1>,<<AC-6>&17>,-1)^
6131 ;VERIFY THAT BLT WILL TRANSFER A 1 WORD BLOCK OF DATA
6132 ;WHERE SOURCE AND DESTINATION ARE DIFFERENT
6133 ;SOURCE DATA = -1
6134
6135 000013 AC=13
6136 SAVEAC (1,1)^
6137 035261 201 15 0 00 035261 MOVEI AC+2,. ;SAVE TEST PC
6138 035262 202 15 0 00 030051 MOVEM AC+2,TESTPC
6139 035263 201 15 0 00 000015 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
6140 035264 202 15 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
6141 024100 SN=24100
6142 040221 SRCE=BLTBLK+1 ;1ST LOC OF SOURCE = BLTBLK+1
6143 000005 DEST=<AC-6>&17 ;1ST LOC OF DESTINATION = <AC-6>&17
6144 000001 SIZ=1 ;BLOCK SIZE = 1 WORD
6145
6146 035265 200 13 0 00 041032 G24100: MOVE AC,[SRCE,,DEST] ;LOAD BLT AC
6147 GMOV (SRCE-1,<252525252525>)^
6148 IFLE <SRCE-1-20>,<
6149 MOVE SRCE-1,[252525252525] ;PRELOAD SRCE-1 WITH 252525252525>
6150 IFG <SRCE-1-20>,<
6151 035266 200 14 0 00 041016 MOVE AC+1,[252525252525]
6152 035267 202 14 0 00 040220 MOVEM AC+1,SRCE-1 ;PRELOAD SRCE-1 WITH 252525252525>^
6153 GMOV (SRCE,<-1>)^
6154 IFLE <SRCE-20>,<
6155 MOVE SRCE,[-1] ;PRELOAD SRCE WITH -1>
6156 IFG <SRCE-20>,<
6157 035270 200 14 0 00 040734 MOVE AC+1,[-1]
6158 035271 202 14 0 00 040221 MOVEM AC+1,SRCE ;PRELOAD SRCE WITH -1>^
6159 GMOV (SRCE+1,<770077007700>)^
6160 IFLE <SRCE+1-20>,<
6161 MOVE SRCE+1,[770077007700] ;PRELOAD SRCE+1 WITH 770077007700>
6162 IFG <SRCE+1-20>,<
6163 035272 200 14 0 00 041017 MOVE AC+1,[770077007700]
6164 035273 202 14 0 00 040222 MOVEM AC+1,SRCE+1 ;PRELOAD SRCE+1 WITH 770077007700>^
6165 GMOV (DEST-1,<070707070707>)^
6166 IFLE <DEST-1-20>,<
6167 035274 200 04 0 00 041020 MOVE DEST-1,[070707070707] ;PRELOAD DEST-1 WITH 070707070707>
6168 IFG <DEST-1-20>,<
6169 MOVE AC+1,[070707070707]
6170 MOVEM AC+1,DEST-1 ;PRELOAD DEST-1 WITH 070707070707>^
6171 GMOV (DEST,<123456765432>)^
6172 IFLE <DEST-20>,<
6173 035275 200 05 0 00 041021 MOVE DEST,[123456765432] ;PRELOAD DEST WITH 123456765432>
6174 IFG <DEST-20>,<
6175 MOVE AC+1,[123456765432]
6176 MOVEM AC+1,DEST ;PRELOAD DEST WITH 123456765432>^
6177 GMOV (DEST+1,<552255225522>)^
6178 IFLE <DEST+1-20>,<
6179 035276 200 06 0 00 041022 MOVE DEST+1,[552255225522] ;PRELOAD DEST+1 WITH 552255225522>
6180 IFG <DEST+1-20>,<
6181 MOVE AC+1,[552255225522]
6182 MOVEM AC+1,DEST+1 ;PRELOAD DEST+1 WITH 552255225522>^
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 66-31
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0162
6183 035277 251 13 0 00 000005 BLT AC,DEST+SIZ-1 ;*BLOCK TRANSFER
6184 GCAM (SRCE-1,<252525252525>)^
6185 024101 SN=SN+1
6186 IFG <SRCE-1-20>,<
6187 035300 200 12 0 00 040220 MOVE AC-1,SRCE-1
6188 035301 312 12 0 00 041016 CAME AC-1,[252525252525] ;IS C(SRCE-1) = 252525252525
6189 IFIDN <DEST>,<SRCE-1>,<
6190 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
6191 IFDIF <DEST>,<SRCE-1>,<
6192 035302 002 12 0 00 024101 ER2 AC-1,SN ;C(SRCE-1) WAS CLOBBERED>>
6193 IFLE <SRCE-1-20>,<
6194 CAME SRCE-1,[252525252525] ;IS C(SRCE-1) = 252525252525
6195 IFIDN <DEST>,<SRCE-1>,<
6196 ER2 SRCE-1,SN ;DEST NOT LOADED CORRECTLY>
6197 IFDIF <DEST>,<SRCE-1>,<
6198 ER2 SRCE-1,SN ;C(SRCE-1) WAS CLOBBERED>>^
6199 GCAM (SRCE,<-1>)^
6200 024102 SN=SN+1
6201 IFG <SRCE-20>,<
6202 035303 200 12 0 00 040221 MOVE AC-1,SRCE
6203 035304 312 12 0 00 040734 CAME AC-1,[-1] ;IS C(SRCE) = -1
6204 IFIDN <DEST>,<SRCE>,<
6205 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
6206 IFDIF <DEST>,<SRCE>,<
6207 035305 002 12 0 00 024102 ER2 AC-1,SN ;C(SRCE) WAS CLOBBERED>>
6208 IFLE <SRCE-20>,<
6209 CAME SRCE,[-1] ;IS C(SRCE) = -1
6210 IFIDN <DEST>,<SRCE>,<
6211 ER2 SRCE,SN ;DEST NOT LOADED CORRECTLY>
6212 IFDIF <DEST>,<SRCE>,<
6213 ER2 SRCE,SN ;C(SRCE) WAS CLOBBERED>>^
6214 GCAM (SRCE+1,<770077007700>)^
6215 024103 SN=SN+1
6216 IFG <SRCE+1-20>,<
6217 035306 200 12 0 00 040222 MOVE AC-1,SRCE+1
6218 035307 312 12 0 00 041017 CAME AC-1,[770077007700] ;IS C(SRCE+1) = 770077007700
6219 IFIDN <DEST>,<SRCE+1>,<
6220 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
6221 IFDIF <DEST>,<SRCE+1>,<
6222 035310 002 12 0 00 024103 ER2 AC-1,SN ;C(SRCE+1) WAS CLOBBERED>>
6223 IFLE <SRCE+1-20>,<
6224 CAME SRCE+1,[770077007700] ;IS C(SRCE+1) = 770077007700
6225 IFIDN <DEST>,<SRCE+1>,<
6226 ER2 SRCE+1,SN ;DEST NOT LOADED CORRECTLY>
6227 IFDIF <DEST>,<SRCE+1>,<
6228 ER2 SRCE+1,SN ;C(SRCE+1) WAS CLOBBERED>>^
6229 GCAM (DEST-1,<070707070707>)^
6230 024104 SN=SN+1
6231 IFG <DEST-1-20>,<
6232 MOVE AC-1,DEST-1
6233 CAME AC-1,[070707070707] ;IS C(DEST-1) = 070707070707
6234 IFIDN <DEST>,<DEST-1>,<
6235 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
6236 IFDIF <DEST>,<DEST-1>,<
6237 ER2 AC-1,SN ;C(DEST-1) WAS CLOBBERED>>
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 66-32
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0163
6238 IFLE <DEST-1-20>,<
6239 035311 312 04 0 00 041020 CAME DEST-1,[070707070707] ;IS C(DEST-1) = 070707070707
6240 IFIDN <DEST>,<DEST-1>,<
6241 ER2 DEST-1,SN ;DEST NOT LOADED CORRECTLY>
6242 IFDIF <DEST>,<DEST-1>,<
6243 035312 002 04 0 00 024104 ER2 DEST-1,SN ;C(DEST-1) WAS CLOBBERED>>^
6244 GCAM (DEST,<-1>)^
6245 024105 SN=SN+1
6246 IFG <DEST-20>,<
6247 MOVE AC-1,DEST
6248 CAME AC-1,[-1] ;IS C(DEST) = -1
6249 IFIDN <DEST>,<DEST>,<
6250 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
6251 IFDIF <DEST>,<DEST>,<
6252 ER2 AC-1,SN ;C(DEST) WAS CLOBBERED>>
6253 IFLE <DEST-20>,<
6254 035313 312 05 0 00 040734 CAME DEST,[-1] ;IS C(DEST) = -1
6255 IFIDN <DEST>,<DEST>,<
6256 035314 002 05 0 00 024105 ER2 DEST,SN ;DEST NOT LOADED CORRECTLY>
6257 IFDIF <DEST>,<DEST>,<
6258 ER2 DEST,SN ;C(DEST) WAS CLOBBERED>>^
6259 GCAM (DEST+1,<552255225522>)^
6260 024106 SN=SN+1
6261 IFG <DEST+1-20>,<
6262 MOVE AC-1,DEST+1
6263 CAME AC-1,[552255225522] ;IS C(DEST+1) = 552255225522
6264 IFIDN <DEST>,<DEST+1>,<
6265 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
6266 IFDIF <DEST>,<DEST+1>,<
6267 ER2 AC-1,SN ;C(DEST+1) WAS CLOBBERED>>
6268 IFLE <DEST+1-20>,<
6269 035315 312 06 0 00 041022 CAME DEST+1,[552255225522] ;IS C(DEST+1) = 552255225522
6270 IFIDN <DEST>,<DEST+1>,<
6271 ER2 DEST+1,SN ;DEST NOT LOADED CORRECTLY>
6272 IFDIF <DEST>,<DEST+1>,<
6273 035316 002 06 0 00 024106 ER2 DEST+1,SN ;C(DEST+1) WAS CLOBBERED>>^
6274 035317 321 15 0 00 035265 JUMPL AC+2,G24100 ;LOOP ON ERROR^
6275 PAGE
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 66-33
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0164
6276 ;SOURCE BLOCK HAS NON-AC ADDRESS, DESTINATION BLOCK HAS AC ADDRESS
6277
6278 BLTM1 (24200,12,<BLTBLK+1>,<<AC-6>&17>,<230703,,603700>)^
6279 ;VERIFY THAT BLT WILL TRANSFER A 1 WORD BLOCK OF DATA
6280 ;WHERE SOURCE AND DESTINATION ARE DIFFERENT
6281 ;SOURCE DATA = 230703,,603700
6282
6283 000012 AC=12
6284 SAVEAC (1,1)^
6285 035320 201 14 0 00 035320 MOVEI AC+2,. ;SAVE TEST PC
6286 035321 202 14 0 00 030051 MOVEM AC+2,TESTPC
6287 035322 201 14 0 00 000014 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
6288 035323 202 14 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
6289 024200 SN=24200
6290 040221 SRCE=BLTBLK+1 ;1ST LOC OF SOURCE = BLTBLK+1
6291 000004 DEST=<AC-6>&17 ;1ST LOC OF DESTINATION = <AC-6>&17
6292 000001 SIZ=1 ;BLOCK SIZE = 1 WORD
6293
6294 035324 200 12 0 00 041033 G24200: MOVE AC,[SRCE,,DEST] ;LOAD BLT AC
6295 GMOV (SRCE-1,<252525252525>)^
6296 IFLE <SRCE-1-20>,<
6297 MOVE SRCE-1,[252525252525] ;PRELOAD SRCE-1 WITH 252525252525>
6298 IFG <SRCE-1-20>,<
6299 035325 200 13 0 00 041016 MOVE AC+1,[252525252525]
6300 035326 202 13 0 00 040220 MOVEM AC+1,SRCE-1 ;PRELOAD SRCE-1 WITH 252525252525>^
6301 GMOV (SRCE,<230703,,603700>)^
6302 IFLE <SRCE-20>,<
6303 MOVE SRCE,[230703,,603700] ;PRELOAD SRCE WITH 230703,,603700>
6304 IFG <SRCE-20>,<
6305 035327 200 13 0 00 040752 MOVE AC+1,[230703,,603700]
6306 035330 202 13 0 00 040221 MOVEM AC+1,SRCE ;PRELOAD SRCE WITH 230703,,603700>^
6307 GMOV (SRCE+1,<770077007700>)^
6308 IFLE <SRCE+1-20>,<
6309 MOVE SRCE+1,[770077007700] ;PRELOAD SRCE+1 WITH 770077007700>
6310 IFG <SRCE+1-20>,<
6311 035331 200 13 0 00 041017 MOVE AC+1,[770077007700]
6312 035332 202 13 0 00 040222 MOVEM AC+1,SRCE+1 ;PRELOAD SRCE+1 WITH 770077007700>^
6313 GMOV (DEST-1,<070707070707>)^
6314 IFLE <DEST-1-20>,<
6315 035333 200 03 0 00 041020 MOVE DEST-1,[070707070707] ;PRELOAD DEST-1 WITH 070707070707>
6316 IFG <DEST-1-20>,<
6317 MOVE AC+1,[070707070707]
6318 MOVEM AC+1,DEST-1 ;PRELOAD DEST-1 WITH 070707070707>^
6319 GMOV (DEST,<123456765432>)^
6320 IFLE <DEST-20>,<
6321 035334 200 04 0 00 041021 MOVE DEST,[123456765432] ;PRELOAD DEST WITH 123456765432>
6322 IFG <DEST-20>,<
6323 MOVE AC+1,[123456765432]
6324 MOVEM AC+1,DEST ;PRELOAD DEST WITH 123456765432>^
6325 GMOV (DEST+1,<552255225522>)^
6326 IFLE <DEST+1-20>,<
6327 035335 200 05 0 00 041022 MOVE DEST+1,[552255225522] ;PRELOAD DEST+1 WITH 552255225522>
6328 IFG <DEST+1-20>,<
6329 MOVE AC+1,[552255225522]
6330 MOVEM AC+1,DEST+1 ;PRELOAD DEST+1 WITH 552255225522>^
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 66-34
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0165
6331 035336 251 12 0 00 000004 BLT AC,DEST+SIZ-1 ;*BLOCK TRANSFER
6332 GCAM (SRCE-1,<252525252525>)^
6333 024201 SN=SN+1
6334 IFG <SRCE-1-20>,<
6335 035337 200 11 0 00 040220 MOVE AC-1,SRCE-1
6336 035340 312 11 0 00 041016 CAME AC-1,[252525252525] ;IS C(SRCE-1) = 252525252525
6337 IFIDN <DEST>,<SRCE-1>,<
6338 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
6339 IFDIF <DEST>,<SRCE-1>,<
6340 035341 002 11 0 00 024201 ER2 AC-1,SN ;C(SRCE-1) WAS CLOBBERED>>
6341 IFLE <SRCE-1-20>,<
6342 CAME SRCE-1,[252525252525] ;IS C(SRCE-1) = 252525252525
6343 IFIDN <DEST>,<SRCE-1>,<
6344 ER2 SRCE-1,SN ;DEST NOT LOADED CORRECTLY>
6345 IFDIF <DEST>,<SRCE-1>,<
6346 ER2 SRCE-1,SN ;C(SRCE-1) WAS CLOBBERED>>^
6347 GCAM (SRCE,<230703,,603700>)^
6348 024202 SN=SN+1
6349 IFG <SRCE-20>,<
6350 035342 200 11 0 00 040221 MOVE AC-1,SRCE
6351 035343 312 11 0 00 040752 CAME AC-1,[230703,,603700] ;IS C(SRCE) = 230703,,603700
6352 IFIDN <DEST>,<SRCE>,<
6353 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
6354 IFDIF <DEST>,<SRCE>,<
6355 035344 002 11 0 00 024202 ER2 AC-1,SN ;C(SRCE) WAS CLOBBERED>>
6356 IFLE <SRCE-20>,<
6357 CAME SRCE,[230703,,603700] ;IS C(SRCE) = 230703,,603700
6358 IFIDN <DEST>,<SRCE>,<
6359 ER2 SRCE,SN ;DEST NOT LOADED CORRECTLY>
6360 IFDIF <DEST>,<SRCE>,<
6361 ER2 SRCE,SN ;C(SRCE) WAS CLOBBERED>>^
6362 GCAM (SRCE+1,<770077007700>)^
6363 024203 SN=SN+1
6364 IFG <SRCE+1-20>,<
6365 035345 200 11 0 00 040222 MOVE AC-1,SRCE+1
6366 035346 312 11 0 00 041017 CAME AC-1,[770077007700] ;IS C(SRCE+1) = 770077007700
6367 IFIDN <DEST>,<SRCE+1>,<
6368 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
6369 IFDIF <DEST>,<SRCE+1>,<
6370 035347 002 11 0 00 024203 ER2 AC-1,SN ;C(SRCE+1) WAS CLOBBERED>>
6371 IFLE <SRCE+1-20>,<
6372 CAME SRCE+1,[770077007700] ;IS C(SRCE+1) = 770077007700
6373 IFIDN <DEST>,<SRCE+1>,<
6374 ER2 SRCE+1,SN ;DEST NOT LOADED CORRECTLY>
6375 IFDIF <DEST>,<SRCE+1>,<
6376 ER2 SRCE+1,SN ;C(SRCE+1) WAS CLOBBERED>>^
6377 GCAM (DEST-1,<070707070707>)^
6378 024204 SN=SN+1
6379 IFG <DEST-1-20>,<
6380 MOVE AC-1,DEST-1
6381 CAME AC-1,[070707070707] ;IS C(DEST-1) = 070707070707
6382 IFIDN <DEST>,<DEST-1>,<
6383 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
6384 IFDIF <DEST>,<DEST-1>,<
6385 ER2 AC-1,SN ;C(DEST-1) WAS CLOBBERED>>
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 66-35
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0166
6386 IFLE <DEST-1-20>,<
6387 035350 312 03 0 00 041020 CAME DEST-1,[070707070707] ;IS C(DEST-1) = 070707070707
6388 IFIDN <DEST>,<DEST-1>,<
6389 ER2 DEST-1,SN ;DEST NOT LOADED CORRECTLY>
6390 IFDIF <DEST>,<DEST-1>,<
6391 035351 002 03 0 00 024204 ER2 DEST-1,SN ;C(DEST-1) WAS CLOBBERED>>^
6392 GCAM (DEST,<230703,,603700>)^
6393 024205 SN=SN+1
6394 IFG <DEST-20>,<
6395 MOVE AC-1,DEST
6396 CAME AC-1,[230703,,603700] ;IS C(DEST) = 230703,,603700
6397 IFIDN <DEST>,<DEST>,<
6398 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
6399 IFDIF <DEST>,<DEST>,<
6400 ER2 AC-1,SN ;C(DEST) WAS CLOBBERED>>
6401 IFLE <DEST-20>,<
6402 035352 312 04 0 00 040752 CAME DEST,[230703,,603700] ;IS C(DEST) = 230703,,603700
6403 IFIDN <DEST>,<DEST>,<
6404 035353 002 04 0 00 024205 ER2 DEST,SN ;DEST NOT LOADED CORRECTLY>
6405 IFDIF <DEST>,<DEST>,<
6406 ER2 DEST,SN ;C(DEST) WAS CLOBBERED>>^
6407 GCAM (DEST+1,<552255225522>)^
6408 024206 SN=SN+1
6409 IFG <DEST+1-20>,<
6410 MOVE AC-1,DEST+1
6411 CAME AC-1,[552255225522] ;IS C(DEST+1) = 552255225522
6412 IFIDN <DEST>,<DEST+1>,<
6413 ER2 AC-1,SN ;DEST NOT LOADED CORRECTLY>
6414 IFDIF <DEST>,<DEST+1>,<
6415 ER2 AC-1,SN ;C(DEST+1) WAS CLOBBERED>>
6416 IFLE <DEST+1-20>,<
6417 035354 312 05 0 00 041022 CAME DEST+1,[552255225522] ;IS C(DEST+1) = 552255225522
6418 IFIDN <DEST>,<DEST+1>,<
6419 ER2 DEST+1,SN ;DEST NOT LOADED CORRECTLY>
6420 IFDIF <DEST>,<DEST+1>,<
6421 035355 002 05 0 00 024206 ER2 DEST+1,SN ;C(DEST+1) WAS CLOBBERED>>^
6422 035356 321 14 0 00 035324 JUMPL AC+2,G24200 ;LOOP ON ERROR^
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 67
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0167
6423 ;DO A BLT WHERE SOURCE AND DESTINATION BLOCKS HAVE SAME STARTING ADDRESS
6424 ;- AC RANGE - ZEROS
6425
6426 000014 AC=14
6427 SAVEAC (1,1)^
6428 035357 201 16 0 00 035357 MOVEI AC+2,. ;SAVE TEST PC
6429 035360 202 16 0 00 030051 MOVEM AC+2,TESTPC
6430 035361 201 16 0 00 000016 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
6431 035362 202 16 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
6432
6433 020100 SN=20100
6434 000004 SRCE=<AC-10>&17 ;SOURCE BLOCK STARTING ADDRESS=<AC-10>&17
6435 000004 DEST=<AC-10>&17 ;DESTINATION BLOCK STARTING ADDRESS=<AC-10>&17
6436 000005 SIZ=5 ;BLOCK SIZE=5 WORDS
6437
6438 035363 200 14 0 00 041034 G20100: MOVE AC,[SRCE,,DEST] ;PRELOAD AC WITH STARTING ADDRESSES OF SOURCE
6439 ;AND DESTINATION BLOCKS
6440 035364 477 03 0 00 000011 SETOB SRCE-1,SRCE+SIZ ;PRELOAD SOURCE BLOCK -1 AND LAST WORD OF
6441 ;SOURCE BLOCK +1 WITH ONES
6442 035365 403 04 0 00 000005 SETZB SRCE,SRCE+1 ;PRELOAD ALL WORDS OF SOURCE BLOCK WITH ZEROS
6443 035366 403 06 0 00 000007 SETZB SRCE+2,SRCE+3
6444 035367 402 00 0 00 000010 SETZM SRCE+4
6445 035370 251 14 0 00 000010 BLT AC,DEST+SIZ-1 ;*BLT SHOULD LOAD DESTINATION BLOCK FROM SOURCE BLOCK
6446 020101 SN=SN+1
6447 035371 312 03 0 00 040734 CAME DEST-1,[-1,,-1] ;WAS WORD PRECEEDING FIRST WORD OF DESTINATION BLOCK
6448 ;CLOBBERED?
6449 035372 002 03 0 00 020101 ER2 DEST-1,SN ;FAIL IF WORD PRECEEDING FIRST WORD OF DESTINATION
6450 ;BLOCK WAS CLOBBERED?
6451 020102 SN=SN+1
6452 035373 332 00 0 00 000004 SKIPE DEST ;WAS FIRST WORD OF DESTINATION BLOCK LOADED
6453 ;CORRECTLY FROM SOURCE?
6454 035374 002 04 0 00 020102 ER2 DEST,SN ;FAIL IF FIRST WORD OF DESTINATION BLOCK NOT LOADED
6455 ;CORRECTLY FROM SOURCE
6456 020103 SN=SN+1
6457 035375 332 00 0 00 000005 SKIPE DEST+1 ;WAS SECOND WORD OF DESTINATION BLOCK LOADED CORRECTLY
6458 ;FROM SOURCE?
6459 035376 002 05 0 00 020103 ER2 DEST+1,SN ;FAIL IF SECOND WORD OF DESTINATION BLOCK NOT LOADED
6460 ;CORRECTLY FROM SOURCE
6461 020104 SN=SN+1
6462 035377 332 00 0 00 000006 SKIPE DEST+2 ;WAS THIRD WORD OF DESTINATION BLOCK LOADED CORRECTLY
6463 ;FROM SOURCE?
6464 035400 002 06 0 00 020104 ER2 DEST+2,SN ;FAIL IF THIRD WORD OF DESTINATION BLOCK NOT LOADED
6465 ;CORRECTLY FROM SOURCE
6466 020105 SN=SN+1
6467 035401 332 00 0 00 000007 SKIPE DEST+3 ;WAS FOURTH WORD OF DESTINATION BLOCK LOADED CORRECTLY
6468 ;FROM SOURCE?
6469 035402 002 07 0 00 020105 ER2 DEST+3,SN ;FAIL IF FOURTH WORD OF DESTINATION BLOCK NOT LOADED
6470 ;CORRECTLY FROM SOURCE
6471 020106 SN=SN+1
6472 035403 332 00 0 00 000010 SKIPE DEST+4 ;WAS FIFTH WORD OF DESTINATION BLOCK LOADED CORRECTLY
6473 ;FROM SOURCE?
6474 035404 002 10 0 00 020106 ER2 DEST+4,SN ;FAIL IF FIFTH WORD OF DESTINATION BLOCK NOT LOADED
6475 ;CORRECTLY FROM SOURCE
6476 020107 SN=SN+1
6477 035405 312 11 0 00 040734 CAME DEST+SIZ,[-1,,-1] ;WAS WORD FOLLOWING LAST WORD OF DESTINATION BLOCK
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 67-1
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0168
6478 ;CLOBBERED?
6479 035406 002 11 0 00 020107 ER2 DEST+SIZ,SN ;FAIL IF WORD FOLLOWING LAST WORD OF DESTINATION
6480 ;BLOCK WAS CLOBBERED
6481 035407 321 16 0 00 035363 JUMPL AC+2,G20100 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 68
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0169
6482 ;DO A BLT WHERE SOURCE AND DESTINATION BLOCKS HAVE SAME STARTING ADDRESS
6483 ;- AC RANGE - ONES
6484
6485 000014 AC=14
6486 SAVEAC (1,1)^
6487 035410 201 16 0 00 035410 MOVEI AC+2,. ;SAVE TEST PC
6488 035411 202 16 0 00 030051 MOVEM AC+2,TESTPC
6489 035412 201 16 0 00 000016 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
6490 035413 202 16 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
6491
6492 020200 SN=20200
6493 000004 SRCE=<AC-10>&17 ;SOURCE BLOCK STARTING ADDRESS=<AC-10>&17
6494 000004 DEST=<AC-10>&17 ;DESTINATION BLOCK STARTING ADDRESS=<AC-10>&17
6495 000005 SIZ=5 ;BLOCK SIZE=5 WORDS
6496
6497 035414 200 14 0 00 041034 G20200: MOVE AC,[SRCE,,DEST] ;PRELOAD AC WITH STARTING ADDRESSES OF SOURCE
6498 ;AND DESTINATION BLOCKS
6499 035415 403 03 0 00 000011 SETZB SRCE-1,SRCE+SIZ ;PRELOAD SOURCE BLOCK -1 AND LAST WORD OF SOURCE
6500 ;BLOCK +1 WITH ZEROS
6501 035416 477 04 0 00 000005 SETOB SRCE,SRCE+1 ;PRELOAD ALL WORDS OF SOURCE BLOCK WITH ONES
6502 035417 477 06 0 00 000007 SETOB SRCE+2,SRCE+3
6503 035420 476 00 0 00 000010 SETOM SRCE+4
6504 035421 251 14 0 00 000010 BLT AC,DEST+SIZ-1 ;*BLT SHOULD LOAD DESTINATION BLOCK FROM SOURCE BLOCK
6505 020201 SN=SN+1
6506 035422 332 00 0 00 000003 SKIPE DEST-1 ;WAS WORD PRECEEDING FIRST WORD OF DESTINATION BLOCK
6507 ;CLOBBERED?
6508 035423 002 03 0 00 020201 ER2 DEST-1,SN ;FAIL IF WORD PRECEEDING FIRST WORD OF DESTINATION
6509 ;BLOCK WAS CLOBBERED?
6510 020202 SN=SN+1
6511 035424 312 04 0 00 040734 CAME DEST,[-1,,-1] ;WAS FIRST WORD OF DESTINATION BLOCK LOAED CORRECTLY
6512 ;FROM SOURCE?
6513 035425 002 04 0 00 020202 ER2 DEST,SN ;FAIL IF FIRST WORD OF DESTINATION BLOCK NOT LOADED
6514 ;CORRECTLY FROM SOURCE
6515 020203 SN=SN+1
6516 035426 312 05 0 00 040734 CAME DEST+1,[-1,,-1] ;WAS SECOND WORD OF DESTINATION BLOCK LOADED
6517 ;CORRECTLY FROM SOURCE?
6518 035427 002 05 0 00 020203 ER2 DEST+1,SN ;FAIL IF SECOND WORD OF DESTINATION BLOCK NOT LOADED
6519 ;CORRECTLY FROM SOURCE
6520 020204 SN=SN+1
6521 035430 312 06 0 00 040734 CAME DEST+2,[-1,,-1] ;WAS THIRD WORD OF DESTINATION BLOCK LOADED
6522 ;CORRECTLY FROM SOURCE?
6523 035431 002 06 0 00 020204 ER2 DEST+2,SN ;FAIL IF THIRD WORD OF DESTINATION BLOCK NOT LOADED
6524 ;CORRECTLY FROM SOURCE
6525 020205 SN=SN+1
6526 035432 312 07 0 00 040734 CAME DEST+3,[-1,,-1] ;WAS FOURTH WORD OF DESTINATION BLOCK LOADED
6527 ;CORRECTLY FROM SOURCE?
6528 035433 002 07 0 00 020205 ER2 DEST+3,SN ;FAIL IF FOURTH WORD OF DESTINATION BLOCK NOT LOADED
6529 ;CORRECTLY FROM SOURCE
6530 020206 SN=SN+1
6531 035434 312 10 0 00 040734 CAME DEST+4,[-1,,-1] ;WAS FIFTH WORD OF DESTINATION BLOCK LOADED
6532 ;CORRECTLY FROM SOURCE?
6533 035435 002 10 0 00 020206 ER2 DEST+4,SN ;FAIL IF FIFTH WORD OF DESTINATION BLOCK NOT LOADED
6534 ;CORRECTLY FROM SOURCE
6535 020207 SN=SN+1
6536 035436 332 00 0 00 000011 SKIPE DEST+SIZ ;WAS WORD FOLLOWING LAST WORD OF DESTINATION BLOCK
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 68-1
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0170
6537 ;CLOBBERED?
6538 035437 002 11 0 00 020207 ER2 DEST+SIZ,SN ;FAIL IF WORD FOLLOWING LAST WORD OF DESTINATION
6539 ;BLOCK WAS CLOBBERED
6540 035440 321 16 0 00 035414 JUMPL AC+2,G20200 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 69
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0171
6541 ;DO A BLT WHERE SOURCE AND DESTINATION BLOCKS HAVE SAME STARTING ADDRESS
6542 ;- AC RANGE - SINGLE PATTERN
6543
6544 000014 AC=14
6545 SAVEAC (1,1)^
6546 035441 201 16 0 00 035441 MOVEI AC+2,. ;SAVE TEST PC
6547 035442 202 16 0 00 030051 MOVEM AC+2,TESTPC
6548 035443 201 16 0 00 000016 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
6549 035444 202 16 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
6550
6551 020300 SN=20300
6552 000004 SRCE=<AC-10>&17 ;SOURCE BLOCK STARTING ADDRESS=<AC-10>&17
6553 000004 DEST=<AC-10>&17 ;DESTINATION BLOCK STARTING ADDRESS=<AC-10>&17
6554 000005 SIZ=5 ;BLOCK SIZE=5 WORDS
6555
6556 035445 200 14 0 00 041034 G20300: MOVE AC,[SRCE,,DEST] ;PRELOAD AC WITH STARTING ADDRESSES OF
6557 ;SOURCE AND DESTINATION BLOCKS
6558 035446 477 03 0 00 000011 SETOB SRCE-1,SRCE+SIZ ;PRELOAD SOURCE BLOCK -1 AND LAST WORD OF SOURCE
6559 ;BLOCK +1 WITH ONES
6560 035447 200 04 0 00 040752 MOVE SRCE,[230703,,603700] ;PRELOAD ALL WORDS OF SOURCE BLOCK WITH
6561 ;230703,,603700
6562 035450 200 05 0 00 040752 MOVE SRCE+1,[230703,,603700]
6563 035451 200 06 0 00 040752 MOVE SRCE+2,[230703,,603700]
6564 035452 200 07 0 00 040752 MOVE SRCE+3,[230703,,603700]
6565 035453 200 10 0 00 040752 MOVE SRCE+4,[230703,,603700]
6566 035454 251 14 0 00 000010 BLT AC,DEST+SIZ-1 ;*BLT SHOULD LOAD DESTINATION BLOCK FROM SOURCE BLOCK
6567 020301 SN=SN+1
6568 035455 312 03 0 00 040734 CAME DEST-1,[-1,,-1] ;WAS WORD PRECEEDING FIRST WORD OF DESTINATION
6569 ;BLOCK CLOBBERED?
6570 035456 002 03 0 00 020301 ER2 DEST-1,SN ;FAIL IF WORD PRECEEDING FIRST WORD OF DESTINATION
6571 ;BLOCK WAS CLOBBERED?
6572 020302 SN=SN+1
6573 035457 312 04 0 00 040752 CAME DEST,[230703,,603700] ;WAS FIRST WORD OF DESTINATION BLOCK LOADED
6574 ;CORRECTLY FROM SOURCE?
6575 035460 002 04 0 00 020302 ER2 DEST,SN ;FAIL IF FIRST WORD OF DESTINATION BLOCK NOT LOADED
6576 ;CORRECTLY FROM SOURCE
6577 020303 SN=SN+1
6578 035461 312 05 0 00 040752 CAME DEST+1,[230703,,603700] ;WAS SECOND WORD OF DESTINATION BLOCK
6579 ;LOADED CORRECTLY FROM SOURCE?
6580 035462 002 05 0 00 020303 ER2 DEST+1,SN ;FAIL IF SECOND WORD OF DESTINATION BLOCK NOT LOADED
6581 ;CORRECTLY FROM SOURCE
6582 020304 SN=SN+1
6583 035463 312 06 0 00 040752 CAME DEST+2,[230703,,603700] ;WAS THIRD WORD OF DESTINATION BLOCK
6584 ;LOADED CORRECTLY FROM SOURCE?
6585 035464 002 06 0 00 020304 ER2 DEST+2,SN ;FAIL IF THIRD WORD OF DESTINATION BLOCK NOT LOADED
6586 ;CORRECTLY FROM SOURCE
6587 020305 SN=SN+1
6588 035465 312 07 0 00 040752 CAME DEST+3,[230703,,603700] ;WAS FOURTH WORD OF DESTINATION BLOCK
6589 ;LOADED CORRECTLY FROM SOURCE?
6590 035466 002 07 0 00 020305 ER2 DEST+3,SN ;FAIL IF FOURTH WORD OF DESTINATION BLOCK NOT LOADED
6591 ;CORRECTLY FROM SOURCE
6592 020306 SN=SN+1
6593 035467 312 10 0 00 040752 CAME DEST+4,[230703,,603700] ;WAS FIFTH WORD OF DESTINATION BLOCK
6594 ;NOT LOADED CORRECTLY FROM SOURCE
6595 035470 002 10 0 00 020306 ER2 DEST+4,SN ;FAIL IF FIFTH WORD OF DESTINATION BLOCK NOT LOADED
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 69-1
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0172
6596 ;CORRECTLY FROM SOURCE
6597 020307 SN=SN+1
6598 035471 312 11 0 00 040734 CAME DEST+SIZ,[-1,,-1] ;WAS WORD FOLLOWING LAST WORD OF DESTINATION
6599 ;BLOCK CLOBBERED?
6600 035472 002 11 0 00 020307 ER2 DEST+SIZ,SN ;FAIL IF WORD FOLLOWING LAST WORD OF DESTINATION
6601 ;BLOCK WAS CLOBBERED
6602 035473 321 16 0 00 035445 JUMPL AC+2,G20300 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 70
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0173
6603 ;DO A BLT WHERE SOURCE AND DESTINATION BLOCKS HAVE SAME STARTING ADDRESS
6604 ;- AC RANGE - MULTIPLE PATTERN
6605
6606 000014 AC=14
6607 SAVEAC (1,1)^
6608 035474 201 16 0 00 035474 MOVEI AC+2,. ;SAVE TEST PC
6609 035475 202 16 0 00 030051 MOVEM AC+2,TESTPC
6610 035476 201 16 0 00 000016 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
6611 035477 202 16 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
6612
6613 020400 SN=20400
6614 000004 SRCE=<AC-10>&17 ;SOURCE BLOCK STARTING ADDRESS=<AC-10>&17
6615 000004 DEST=<AC-10>&17 ;DESTINATION BLOCK STARTING ADDRESS=<AC-10>&17
6616 000005 SIZ=5 ;BLOCK SIZE=5 WORDS
6617
6618 035500 200 14 0 00 041034 G20400: MOVE AC,[SRCE,,DEST] ;PRELOAD AC WITH STARTING ADDRESSES OF
6619 ;SOURCE AND DESTINATION BLOCKS
6620 035501 200 03 0 00 040752 MOVE SRCE-1,[230703,,603700] ;PRELOAD WORD PRECEEDING FIRST WORD
6621 ;OF SOURCE BLOCK WITH 230703,,603700
6622 035502 200 04 0 00 041016 MOVE SRCE,[252525,,252525] ;PRELOAD FIRST WORD OF SOURCE BLOCK WITH
6623 ;252525,,252525
6624 035503 200 05 0 00 041035 MOVE SRCE+1,[146314,,631463] ;PRELOAD SECOND WORD OF SOURCE BLOCK
6625 ;WITH 146314,,631463
6626 035504 200 06 0 00 041020 MOVE SRCE+2,[070707,,070707] ;PRELOAD THIRD WORD OF SOURCE BLOCK
6627 ;WITH 070707,,070707
6628 035505 200 07 0 00 041036 MOVE SRCE+3,[036074,,170360] ;PRELOAD FOURTH WORD OF SOURCE BLOCK
6629 ;WITH 036074,,170360
6630 035506 200 10 0 00 041037 MOVE SRCE+4,[017407,,603701] ;PRELOAD FIFTH WORD OF SOURCE BLOCK
6631 ;WITH 017407,,603701
6632 035507 200 11 0 00 041040 MOVE SRCE+SIZ,[007603,,607062] ;PRELOAD WORD FOLLOWING LAST WORD
6633 ;OF SOURCE BLOCK WITH 007603,,607062
6634 035510 251 14 0 00 000010 BLT AC,DEST+SIZ-1 ;*BLT SHOULD LOAD DESTINATION BLOCK FROM SOURCE BLOCK
6635 020401 SN=SN+1
6636 035511 312 03 0 00 040752 CAME DEST-1,[230703,,603700] ;WAS WORD PRECEEDING FIRST WORD OF DESTINATION
6637 ;BLOCK CLOBBERED?
6638 035512 002 03 0 00 020401 ER2 DEST-1,SN ;FAIL IF WORD PRECEEDING FIRST WORD OF DESTINATION
6639 ;BLOCK WAS CLOBBERED?
6640 020402 SN=SN+1
6641 035513 312 04 0 00 041016 CAME DEST,[252525,,252525] ;WAS FIRST WORD OF DESTINATION BLOCK LOADED
6642 ;CORRECTLY FROM SOURCE?
6643 035514 002 04 0 00 020402 ER2 DEST,SN ;FAIL IF FIRST WORD OF DESTINATION BLOCK NOT LOADED
6644 ;CORRECTLY FROM SOURCE
6645 020403 SN=SN+1
6646 035515 312 05 0 00 041035 CAME DEST+1,[146314,,631463] ;WAS SECOND WORD OF DESTINATION BLOCK
6647 ;LOADED CORRECTLY FROM SOURCE?
6648 035516 002 05 0 00 020403 ER2 DEST+1,SN ;FAIL IF THIRD WORD OF DESTINATION BLOCK NOT LOADED
6649 ;CORRECTLY FROM SOURCE
6650 020404 SN=SN+1
6651 035517 312 06 0 00 041020 CAME DEST+2,[070707,,070707] ;WAS THIRD WORD OF DESTINATION BLOCK
6652 ;LOADED CORRECTLY FROM SOURCE?
6653 035520 002 06 0 00 020404 ER2 DEST+2,SN ;FAIL IF THIRD WORD OF DESTINATION BLOCK NOT LOADED
6654 ;CORRECTLY FROM SOURCE
6655 020405 SN=SN+1
6656 035521 312 07 0 00 041036 CAME DEST+3,[036074,,170360] ;WAS FOURTH WORD OF DESTINATION BLOCK
6657 ;LOADED CORRECTLY FROM SOURCE?
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 70-1
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0174
6658 035522 002 07 0 00 020405 ER2 DEST+3,SN ;FAIL IF FOURTH WORD OF DESTINATION BLOCK NOT LOADED
6659 ;CORRECTLY FROM SOURCE
6660 020406 SN=SN+1
6661 035523 312 10 0 00 041037 CAME DEST+4,[017407,,603701] ;WAS FIFTH WORD OF DESTINATION BLOCK
6662 ;LOADED CORRECTLY FROM SOURCE?
6663 035524 002 10 0 00 020406 ER2 DEST+4,SN ;FAIL IF FIFTH WORD OF DESTINATION BLOCK NOT LOADED
6664 ;CORRECTLY FROM SOURCE
6665 020407 SN=SN+1
6666 035525 312 11 0 00 041040 CAME DEST+SIZ,[007603,,607062] ;WAS WORD FOLLOWING LAST WORD OF DESTINATION
6667 ;BLOCK CLOBBERED?
6668 035526 002 11 0 00 020407 ER2 DEST+SIZ,SN ;FAIL IF WORD FOLLOWING LAST WORD OF DESTINATION
6669 ;BLOCK WAS CLOBBERED
6670 035527 321 16 0 00 035500 JUMPL AC+2,G20400 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 71
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0175
6671 ;DO A BLT WHERE SOURCE AND DESTINATION BLOCKS HAVE SAME STARTING ADDRESS
6672 ;- NON-AC RANGE - ZEROS
6673
6674 000013 AC=13
6675 SAVEAC (1,1)^
6676 035530 201 15 0 00 035530 MOVEI AC+2,. ;SAVE TEST PC
6677 035531 202 15 0 00 030051 MOVEM AC+2,TESTPC
6678 035532 201 15 0 00 000015 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
6679 035533 202 15 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
6680
6681 020500 SN=20500
6682 040221 SRCE=BLTBLK+1 ;SOURCE BLOCK STARTING ADDRESS=BLTBLK+1
6683 040221 DEST=BLTBLK+1 ;DESTINATION BLOCK STARTING ADDRESS=BLTBLK+1
6684 000005 SIZ=5 ;BLOCK SIZE=5 WORDS
6685
6686 035534 200 13 0 00 041014 G20500: MOVE AC,[SRCE,,DEST] ;PRELOAD AC WITH STARTING ADDRESSES OF
6687 ;SOURCE AND DESTINATION BLOCKS
6688 035535 476 00 0 00 040220 SETOM SRCE-1 ;PRELOAD WORD PRECEEDING FIRST WORD OF SOURCE BLOCK
6689 ;WITH ONES
6690 035536 402 00 0 00 040221 SETZM SRCE ;PRELOAD WORD FOLLOWING LAST WORD OF SOURCE BLOCK WITH
6691 ;ZEROS
6692 035537 402 00 0 00 040222 SETZM SRCE+1
6693 035540 402 00 0 00 040223 SETZM SRCE+2
6694 035541 402 00 0 00 040224 SETZM SRCE+3
6695 035542 402 00 0 00 040225 SETZM SRCE+4
6696 035543 476 00 0 00 040226 SETOM SRCE+SIZ ;PRELOAD WORD FOLLOWING LAST WORD OF SOURCE BLOCK
6697 ;WITH ONES
6698 035544 251 13 0 00 040225 BLT AC,DEST+SIZ-1 ;*BLT SHOULD LOAD DESTINATION BLOCK FROM SOURCE BLOCK
6699 020501 SN=SN+1
6700 035545 200 11 0 00 040220 MOVE AC-2,DEST-1
6701 035546 312 11 0 00 040734 CAME AC-2,[-1,,-1] ;WAS WORD PRECEEDING FIRST WORD OF DESTINATION
6702 ;BLOCK CLOBBERED?
6703 035547 002 11 0 00 020501 ER2 AC-2,SN ;FAIL IF WORD PRECEEDING FIRST WORD OF DESTINATION
6704 ;BLOCK WAS CLOBBERED?
6705 020502 SN=SN+1
6706 035550 200 11 0 00 040221 MOVE AC-2,DEST
6707 035551 332 00 0 00 000011 SKIPE <AC-2>&17 ;WAS FIRST WORD OF DESTINATION BLOCK LOADED CORRECTLY
6708 ;FROM SOURCE?
6709 035552 002 11 0 00 020502 ER2 AC-2,SN ;FAIL IF FIRST WORD OF DESTINATION BLOCK NOT LOADED
6710 ;CORRECTLY FROM SOURCE
6711 020503 SN=SN+1
6712 035553 200 11 0 00 040222 MOVE AC-2,DEST+1
6713 035554 332 00 0 00 000011 SKIPE <AC-2>&17 ;WAS SECOND WORD OF DESTINATION BLOCK LOADED CORRECTLY
6714 ;FROM SOURCE?
6715 035555 002 11 0 00 020503 ER2 AC-2,SN ;FAIL IF SECOND WORD OF DESTINATION BLOCK NOT LOADED
6716 ;CORRECTLY FROM SOURCE
6717 020504 SN=SN+1
6718 035556 200 11 0 00 040223 MOVE AC-2,DEST+2
6719 035557 332 00 0 00 000011 SKIPE <AC-2>&17 ;WAS THIRD WORD OF DESTINATION BLOCK LOADED CORRECTLY
6720 ;FROM SOURCE?
6721 035560 002 11 0 00 020504 ER2 AC-2,SN ;FAIL IF THIRD WORD OF DESTINATION BLOCK NOT LOADED
6722 ;CORRECTLY FROM SOURCE
6723 020505 SN=SN+1
6724 035561 200 11 0 00 040224 MOVE AC-2,DEST+3
6725 035562 332 00 0 00 000011 SKIPE <AC-2>&17 ;WAS FOURTH WORD OF DESTINATION BLOCK LOADED CORRECTLY
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 71-1
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0176
6726 ;FROM SOURCE?
6727 035563 002 11 0 00 020505 ER2 AC-2,SN ;FAIL IF FOURTH WORD OF DESTINATION BLOCK NOT LOADED
6728 ;CORRECTLY FROM SOURCE
6729 020506 SN=SN+1
6730 035564 200 11 0 00 040225 MOVE AC-2,DEST+4
6731 035565 332 00 0 00 000011 SKIPE <AC-2>&17 ;WAS FIFTH WORD OF DESTINATION BLOCK LOADED CORRECTLY
6732 ;FROM SOURCE?
6733 035566 002 11 0 00 020506 ER2 AC-2,SN ;FAIL IF FIFTH WORD OF DESTINATION BLOCK NOT LOADED
6734 ;CORRECTLY FROM SOURCE
6735 020507 SN=SN+1
6736 035567 200 11 0 00 040226 MOVE AC-2,DEST+SIZ
6737 035570 312 11 0 00 040734 CAME AC-2,[-1,,-1] ;WAS WORD FOLLOWING LAST WORD OF DESTINATION BLOCK
6738 ;CLOBBERED?
6739 035571 002 11 0 00 020507 ER2 AC-2,SN ;FAIL IF WORD FOLLOWING LAST WORD OF DESTINATION BLOCK
6740 ;WAS CLOBBERED
6741 035572 321 15 0 00 035534 JUMPL AC+2,G20500 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 72
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0177
6742 ;DO A BLT WHERE SOURCE AND DESTINATION BLOCKS HAVE SAME STARTING ADDRESS
6743 ;- NON-AC RANGE - ONES
6744
6745 000012 AC=12
6746 SAVEAC (1,1)^
6747 035573 201 14 0 00 035573 MOVEI AC+2,. ;SAVE TEST PC
6748 035574 202 14 0 00 030051 MOVEM AC+2,TESTPC
6749 035575 201 14 0 00 000014 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
6750 035576 202 14 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
6751
6752 020600 SN=20600
6753 040221 SRCE=BLTBLK+1 ;SOURCE BLOCK STARTING ADDRESS=BLTBLK+1
6754 040221 DEST=BLTBLK+1 ;DESTINATION BLOCK STARTING ADDRESS=BLTBLK+1
6755 000005 SIZ=5 ;BLOCK SIZE=5 WORDS
6756
6757 035577 200 12 0 00 041014 G20600: MOVE AC,[SRCE,,DEST] ;PRELOAD AC WITH STARTING ADDRESSES OF
6758 ;SOURCE AND DESTINATION BLOCKS
6759 035600 402 00 0 00 040220 SETZM SRCE-1 ;PRELOAD WORD PRECEEDING FIRST WORD OF SOURCE BLOCK
6760 ;WITH ZEROS
6761 035601 476 00 0 00 040221 SETOM SRCE ;PRELOAD WORD FOLLOWING LAST WORD OF SOURCE BLOCK WITH
6762 ;ONES
6763 035602 476 00 0 00 040222 SETOM SRCE+1
6764 035603 476 00 0 00 040223 SETOM SRCE+2
6765 035604 476 00 0 00 040224 SETOM SRCE+3
6766 035605 476 00 0 00 040225 SETOM SRCE+4
6767 035606 402 00 0 00 040226 SETZM SRCE+SIZ ;PRELOAD WORD FOLLOWING LAST WORD OF SOURCE BLOCK
6768 ;WITH ZEROS
6769 035607 251 12 0 00 040225 BLT AC,DEST+SIZ-1 ;*BLT SHOULD LOAD DESTINATION BLOCK FROM SOURCE BLOCK
6770 020601 SN=SN+1
6771 035610 200 10 0 00 040220 MOVE AC-2,DEST-1
6772 035611 332 00 0 00 000010 SKIPE <AC-2>&17 ;WAS WORD PRECEEDING FIRST WORD OF DESTINATION BLOCK
6773 ;CLOBBERED?
6774 035612 002 10 0 00 020601 ER2 AC-2,SN ;FAIL IF WORD PRECEEDING FIRST WORD OF DESTINATION
6775 ;BLOCK WAS CLOBBERED?
6776 020602 SN=SN+1
6777 035613 200 10 0 00 040221 MOVE AC-2,DEST
6778 035614 312 10 0 00 040734 CAME AC-2,[-1,,-1] ;WAS FIRST WORD OF DESTINATION BLOCK LOADED CORRECTLY
6779 ;FROM SOURCE?
6780 035615 002 10 0 00 020602 ER2 AC-2,SN ;FAIL IF FIRST WORD OF DESTINATION BLOCK NOT LOADED
6781 ;CORRECTLY FROM SOURCE
6782 020603 SN=SN+1
6783 035616 200 10 0 00 040222 MOVE AC-2,DEST+1
6784 035617 312 10 0 00 040734 CAME AC-2,[-1,,-1] ;WAS SECOND WORD OF DESTINATION BLOCK LOADED CORRECTLY
6785 ;FROM SOURCE?
6786 035620 002 10 0 00 020603 ER2 AC-2,SN ;FAIL IF SECOND WORD OF DESTINATION BLOCK NOT LOADED
6787 ;CORRECTLY FROM SOURCE
6788 020604 SN=SN+1
6789 035621 200 10 0 00 040223 MOVE AC-2,DEST+2
6790 035622 312 10 0 00 040734 CAME AC-2,[-1,,-1] ;WAS THIRD WORD OF DESTINATION BLOCK LOADED CORRECTLY
6791 ;FROM SOURCE?
6792 035623 002 10 0 00 020604 ER2 AC-2,SN ;FAIL IF THIRD WORD OF DESTINATION BLOCK NOT LOADED
6793 ;CORRECTLY FROM SOURCE
6794 020605 SN=SN+1
6795 035624 200 10 0 00 040224 MOVE AC-2,DEST+3
6796 035625 312 10 0 00 040734 CAME AC-2,[-1,,-1] ;WAS FOURTH WORD OF DESTINATION BLOCK LOADED CORRECTLY
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 72-1
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0178
6797 ;FROM SOURCE?
6798 035626 002 10 0 00 020605 ER2 AC-2,SN ;FAIL IF FOURTH WORD OF DESTINATION BLOCK NOT LOADED
6799 ;CORRECTLY FROM SOURCE
6800 020606 SN=SN+1
6801 035627 200 10 0 00 040225 MOVE AC-2,DEST+4
6802 035630 312 10 0 00 040734 CAME AC-2,[-1,,-1] ;WAS FIFTH WORD OF DESTINATION BLOCK LOADED CORRECTLY
6803 ;FROM SOURCE?
6804 035631 002 10 0 00 020606 ER2 AC-2,SN ;FAIL IF FIFTH WORD OF DESTINATION BLOCK NOT LOADED
6805 ;CORRECTLY FROM SOURCE
6806 020607 SN=SN+1
6807 035632 200 10 0 00 040226 MOVE AC-2,DEST+SIZ
6808 035633 332 00 0 00 000010 SKIPE <AC-2>&17 ;WAS WORD FOLLOWING LAST WORD OF DESTINATION BLOCK
6809 ;CLOBBERED?
6810 035634 002 10 0 00 020607 ER2 AC-2,SN ;FAIL IF WORD FOLLOWING LAST WORD OF DESTINATION BLOCK
6811 ;WAS CLOBBERED
6812 035635 321 14 0 00 035577 JUMPL AC+2,G20600 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 73
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0179
6813 ;DO A BLT WHERE SOURCE AND DESTINATION BLOCKS HAVE SAME STARTING ADDRESS
6814 ;- NON-AC RANGE - SINGLE PATTERN
6815
6816 000011 AC=11
6817 SAVEAC (1,1)^
6818 035636 201 13 0 00 035636 MOVEI AC+2,. ;SAVE TEST PC
6819 035637 202 13 0 00 030051 MOVEM AC+2,TESTPC
6820 035640 201 13 0 00 000013 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
6821 035641 202 13 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
6822
6823 020700 SN=20700
6824 040221 SRCE=BLTBLK+1 ;SOURCE BLOCK STARTING ADDRESS=BLTBLK+1
6825 040221 DEST=BLTBLK+1 ;DESTINATION BLOCK STARTING ADDRESS=BLTBLK+1
6826 000005 SIZ=5 ;BLOCK SIZE=5 WORDS
6827
6828 035642 200 11 0 00 041014 G20700: MOVE AC,[SRCE,,DEST] ;PRELOAD AC WITH STARTING ADDRESSES OF
6829 ;SOURCE AND DESTINATION BLOCKS
6830 035643 476 00 0 00 040220 SETOM SRCE-1 ;PRELOAD WORD PRECEEDING FIRST WORD OF SOURCE BLOCK
6831 ;WITH ONES
6832 035644 200 00 0 00 040752 MOVE [230703,,603700]
6833 035645 202 00 0 00 040221 MOVEM SRCE ;PRELOAD ALL WORDS OF SOURCE BLOCK WITH 230703,,603700
6834 035646 202 00 0 00 040222 MOVEM SRCE+1
6835 035647 202 00 0 00 040223 MOVEM SRCE+2
6836 035650 202 00 0 00 040224 MOVEM SRCE+3
6837 035651 202 00 0 00 040225 MOVEM SRCE+4
6838 035652 476 00 0 00 040226 SETOM SRCE+SIZ ;PRELOAD WORD FOLLOWING LAST WORD OF SOURCE BLOCK
6839 ;WITH ONES
6840 035653 251 11 0 00 040225 BLT AC,DEST+SIZ-1 ;*BLT SHOULD LOAD DESTINATION BLOCK FROM SOURCE BLOCK
6841 020701 SN=SN+1
6842 035654 200 07 0 00 040220 MOVE AC-2,DEST-1
6843 035655 312 07 0 00 040734 CAME AC-2,[-1,,-1] ;WAS WORD PRECEEDING FIRST WORD OF DESTINATION
6844 ;BLOCK CLOBBERED?
6845 035656 002 07 0 00 020701 ER2 AC-2,SN ;FAIL IF WORD PRECEEDING FIRST WORD OF DESTINATION
6846 ;BLOCK WAS CLOBBERED?
6847 020702 SN=SN+1
6848 035657 200 07 0 00 040221 MOVE AC-2,DEST
6849 035660 312 07 0 00 040752 CAME AC-2,[230703,,603700] ;WAS FIRST WORD OF DESTINATION BLOCK LOADED
6850 ;CORRECTLY FROM SOURCE?
6851 035661 002 07 0 00 020702 ER2 AC-2,SN ;FAIL IF FIRST WORD OF DESTINATION BLOCK NOT LOADED
6852 ;CORRECTLY FROM SOURCE
6853 020703 SN=SN+1
6854 035662 200 07 0 00 040222 MOVE AC-2,DEST+1
6855 035663 312 07 0 00 040752 CAME AC-2,[230703,,603700] ;WAS SECOND WORD OF DESTINATION BLOCK
6856 ;LOADED CORRECTLY FROM SOURCE?
6857 035664 002 07 0 00 020703 ER2 AC-2,SN ;FAIL IF SECOND WORD OF DESTINATION BLOCK NOT LOADED
6858 ;CORRECTLY FROM SOURCE
6859 020704 SN=SN+1
6860 035665 200 07 0 00 040223 MOVE AC-2,DEST+2
6861 035666 312 07 0 00 040752 CAME AC-2,[230703,,603700] ;WAS THIRD WORD OF DESTINATION BLOCK LOADED
6862 ;CORRECTLY FROM SOURCE?
6863 035667 002 07 0 00 020704 ER2 AC-2,SN ;FAIL IF THIRD WORD OF DESTINATION BLOCK NOT LOADED
6864 ;CORRECTLY FROM SOURCE
6865 020705 SN=SN+1
6866 035670 200 07 0 00 040224 MOVE AC-2,DEST+3
6867 035671 312 07 0 00 040752 CAME AC-2,[230703,,603700] ;WAS FOURTH WORD OF DESTINATION BLOCK
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 73-1
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0180
6868 ;LOADED CORRECTLY FROM SOURCE?
6869 035672 002 07 0 00 020705 ER2 AC-2,SN ;FOURTH WORD OF DESTINATION BLOCK NOT LOADED CORRECTLY
6870 ;FROM SOURCE
6871 020706 SN=SN+1
6872 035673 200 07 0 00 040225 MOVE AC-2,DEST+4
6873 035674 312 07 0 00 040752 CAME AC-2,[230703,,603700] ;WAS FIFTH WORD OF DESTINATION BLOCK LOADED
6874 ;CORRECTLY FROM SOURCE?
6875 035675 002 07 0 00 020706 ER2 AC-2,SN ;FAIL IF FIFTH WORD OF DESTINATION BLOCK NOT LOADED
6876 ;CORRECTLY FROM SOURCE
6877 020707 SN=SN+1
6878 035676 200 07 0 00 040226 MOVE AC-2,DEST+SIZ
6879 035677 312 07 0 00 040734 CAME AC-2,[-1,,-1] ;WAS WORD FOLLOWING LAST WORD OF DESTINATION BLOCK
6880 ;CLOBBERED?
6881 035700 002 13 0 00 020707 ER2 AC+2,SN ;FAIL IF WORD FOLLOWING LAST WORD OF DESTINATION BLOCK
6882 ;WAS CLOBBERED
6883 035701 321 13 0 00 035642 JUMPL AC+2,G20700 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 74
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0181
6884 ;DO A BLT WHERE SOURCE AND DESTINATION BLOCKS HAVE SAME STARTING ADDRESS
6885 ;- NON-AC RANGE - MULTIPLE PATTERN
6886
6887 000010 AC=10
6888 SAVEAC (1,1)^
6889 035702 201 12 0 00 035702 MOVEI AC+2,. ;SAVE TEST PC
6890 035703 202 12 0 00 030051 MOVEM AC+2,TESTPC
6891 035704 201 12 0 00 000012 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
6892 035705 202 12 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
6893
6894 021000 SN=21000
6895 040221 SRCE=BLTBLK+1 ;SOURCE BLOCK STARTING ADDRESS=BLTBLK+1
6896 040221 DEST=BLTBLK+1 ;DESTINATION BLOCK STARTING ADDRESS=BLTBLK+1
6897 000005 SIZ=5 ;BLOCK SIZE=5 WORDS
6898
6899 035706 200 10 0 00 041014 G21000: MOVE AC,[SRCE,,DEST] ;PRELOAD AC WITH STARTING ADDRESSES OF
6900 ;SOURCE AND DESTINATION BLOCKS
6901 035707 200 00 0 00 040752 MOVE [230703,,603700]
6902 035710 202 00 0 00 040220 MOVEM SRCE-1 ;PRELOAD WORD PRECEEDING FIRST WORD OF SOURCE BLOCK
6903 ;WITH 230703,,603700
6904 035711 200 00 0 00 041016 MOVE [252525,,252525]
6905 035712 202 00 0 00 040221 MOVEM SRCE ;PRELOAD FIRST WORD OF SOURCE BLOCK WITH 252525,,252525
6906 035713 200 00 0 00 041035 MOVE [146314,,631463]
6907 035714 202 00 0 00 040222 MOVEM SRCE+1 ;PRELOAD SECOND WORD OF SOURCE BLOCK
6908 ;WITH 146314,,631463
6909 035715 200 00 0 00 041020 MOVE [070707,,070707]
6910 035716 202 00 0 00 040223 MOVEM SRCE+2 ;PRELOAD THIRD WORD OF SOURCE BLOCK WITH 070707,,070707
6911 035717 200 00 0 00 041036 MOVE [036074,,170360]
6912 035720 202 00 0 00 040224 MOVEM SRCE+3 ;PRELOAD FOURTH WORD OF SOURCE BLOCK
6913 ;WITH 036074,,170360
6914 035721 200 00 0 00 041037 MOVE [017407,,603701]
6915 035722 202 00 0 00 040225 MOVEM SRCE+4 ;PRELOAD FIFTH WORD OF SOURCE BLOCK WITH 017407,,603701
6916 035723 200 00 0 00 041040 MOVE [007603,,607062]
6917 035724 202 00 0 00 040226 MOVEM SRCE+SIZ ;PRELOAD WORD FOLLOWING LAST WORD OF SOURCE BLOCK
6918 ;WITH 007603,,607062
6919 035725 251 10 0 00 040225 BLT AC,DEST+SIZ-1 ;*BLT SHOULD LOAD DESTINATION BLOCK FROM SOURCE BLOCK
6920 021001 SN=SN+1
6921 035726 200 06 0 00 040220 MOVE AC-2,DEST-1
6922 035727 312 06 0 00 040752 CAME AC-2,[230703,,603700] ;WAS WORD PRECEEDING FIRST WORD OF DESTINATION
6923 ;BLOCK CLOBBERED?
6924 035730 002 06 0 00 021001 ER2 AC-2,SN ;FAIL IF WORD PRECEEDING FIRST WORD OF DESTINATION
6925 ;BLOCK WAS CLOBBERED?
6926 021002 SN=SN+1
6927 035731 200 06 0 00 040221 MOVE AC-2,DEST
6928 035732 312 06 0 00 041016 CAME AC-2,[252525,,252525] ;WAS FIRST WORD OF DESTINATION BLOCK LOADED
6929 ;CORRECTLY FROM SOURCE?
6930 035733 002 06 0 00 021002 ER2 AC-2,SN ;FAIL IF FIRST WORD OF DESTINATION BLOCK NOT LOADED
6931 ;CORRECTLY FROM SOURCE
6932 021003 SN=SN+1
6933 035734 200 06 0 00 040222 MOVE AC-2,DEST+1
6934 035735 312 06 0 00 041035 CAME AC-2,[146314,,631463] ;WAS SECOND WORD OF DESTINATION BLOCK
6935 ;LOADED CORRECTLY FROM SOURCE?
6936 035736 002 06 0 00 021003 ER2 AC-2,SN ;FAIL IF SECOND WORD OF DESTINATION BLOCK NOT LOADED
6937 ;CORRECTLY FROM SOURCE
6938 021004 SN=SN+1
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 74-1
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0182
6939 035737 200 06 0 00 040223 MOVE AC-2,DEST+2
6940 035740 312 06 0 00 041020 CAME AC-2,[070707,,070707] ;WAS THIRD WORD OF DESTINATION BLOCK LOADED
6941 ;CORRECTLY FROM SOURCE?
6942 035741 002 06 0 00 021004 ER2 AC-2,SN ;FAIL IF THIRD WORD OF DESTINATION BLOCK NOT LOADED
6943 ;CORRECTLY FROM SOURCE
6944 021005 SN=SN+1
6945 035742 200 06 0 00 040224 MOVE AC-2,DEST+3
6946 035743 312 06 0 00 041036 CAME AC-2,[036074,,170360] ;WAS FOURTH WORD OF DESTINATION BLOCK
6947 ;LOADED CORRECTLY FROM SOURCE?
6948 035744 002 06 0 00 021005 ER2 AC-2,SN ;FAIL IF FOURTH WORD OF DESTINATION BLOCK NOT LOADED
6949 ;CORRECTLY FROM SOURCE
6950 021006 SN=SN+1
6951 035745 200 06 0 00 040225 MOVE AC-2,DEST+4
6952 035746 312 06 0 00 041037 CAME AC-2,[017407,,603701] ;WAS FIFTH WORD OF DESTINATION BLOCK LOADED
6953 ;CORRECTLY FROM SOURCE?
6954 035747 002 06 0 00 021006 ER2 AC-2,SN ;FAIL IF FIFTH WORD OF DESTINATION BLOCK NOT LOADED
6955 ;CORRECTLY FROM SOURCE
6956 021007 SN=SN+1
6957 035750 200 06 0 00 040226 MOVE AC-2,DEST+SIZ
6958 035751 312 06 0 00 041040 CAME AC-2,[007603,,607062] ;WAS WORD FOLLOWING LAST WORD OF DESTINATION
6959 ;BLOCK CLOBBERED?
6960 035752 002 06 0 00 021007 ER2 AC-2,SN ;FAIL IF WORD FOLLOWING LAST WORD OF DESTINATION BLOCK
6961 ;WAS CLOBBERED
6962 035753 321 12 0 00 035706 JUMPL AC+2,G21000 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 75
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0183
6963 ;DO A BLT WHERE DESTINATION STARTING ADDRESS EQUALS SOURCE STARTING
6964 ;ADDRESS MINUS ONE - AC RANGE - MULTIPLE PATTERN
6965
6966 000014 AC=14
6967 SAVEAC (1,1)^
6968 035754 201 16 0 00 035754 MOVEI AC+2,. ;SAVE TEST PC
6969 035755 202 16 0 00 030051 MOVEM AC+2,TESTPC
6970 035756 201 16 0 00 000016 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
6971 035757 202 16 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
6972
6973 021100 SN=21100
6974 000002 SRCE=<AC-12>&17 ;SOURCE BLOCK STARTING ADDRESS= <AC-12>&17
6975 000001 DEST=<AC-13>&17 ;DESTINATION BLOCK STARTING ADDRESS= <AC-13>&17
6976 000005 SIZ=5 ;BLOCK SIZE=5 WORDS
6977
6978 035760 200 14 0 00 041041 G21100: MOVE AC,[SRCE,,DEST] ;PRELOAD AC WITH STARTING ADDRESSES OF
6979 ;SOURCE AND DESTINATION BLOCKS
6980 035761 476 00 0 00 000000 SETOM DEST-1 ;PRELOAD WORD PRECEEDING FIRST WORD OF DESTINATION
6981 ;BLOCK WITH ONES
6982 035762 200 01 0 00 040752 MOVE DEST,[230703,,603700] ;PRELOAD FIRST WORD OF DESTINATION BLOCK
6983 ;WITH 230703,,603700
6984 035763 200 02 0 00 041016 MOVE SRCE,[252525,,252525] ;PRELOAD FIRST WORD OF SOURCE BLOCK WITH
6985 ;252525,,252525
6986 035764 200 03 0 00 041035 MOVE SRCE+1,[146314,,631463] ;PRELOAD SECOND WORD OF SOURCE BLOCK
6987 ;WITH 146314,,631463
6988 035765 200 04 0 00 041020 MOVE SRCE+2,[070707,,070707] ;PRELOAD THIRD WORD OF SOURCE BLOCK
6989 ;WITH 070707,,070707
6990 035766 200 05 0 00 041042 MOVE SRCE+3,[036074,,170630] ;PRELOAD FOURTH WORD OF SOURCE BLOCK
6991 ;WITH 036074,,170630
6992 035767 200 06 0 00 041037 MOVE SRCE+4,[017407,,603701] ;PRELOAD FIFTH WORD OF SOURCE BLOCK
6993 ;WITH 017407,,603701
6994 035770 200 07 0 00 041040 MOVE SRCE+SIZ,[007603,,607062] ;PRELOAD WORD FOLLOWING LAST WORD
6995 ;OF SOURCE BLOCK WITH 007603,,607062
6996 035771 251 14 0 00 000005 BLT AC,DEST+SIZ-1 ;*BLT SHOULD LOAD DESTINATION BLOCK FROM SOURCE BLOCK
6997 021101 SN=SN+1
6998 035772 312 00 0 00 040734 CAME DEST-1,[-1,,-1] ;WAS WORD PRECEEDING FIRST WORD OF DESTINATION
6999 ;BLOCK CLOBBERED?
7000 035773 002 00 0 00 021101 ER2 DEST-1,SN ;FAIL IF WORD PRECEEDING FIRST WORD OF DESTINATION
7001 ;BLOCK WAS CLOBBERED?
7002 021102 SN=SN+1
7003 035774 312 01 0 00 041016 CAME DEST,[252525,,252525] ;WAS FIRST WORD OF DESTINATION BLOCK LOADED
7004 ;CORRECTLY FROM SOURCE?
7005 035775 002 01 0 00 021102 ER2 DEST,SN ;FAIL IF FIRST WORD OF DESTINATION BLOCK NOT LOADED
7006 ;CORRECTLY FROM SOURCE
7007 021103 SN=SN+1
7008 035776 312 02 0 00 041035 CAME DEST+1,[146314,,631463] ;WAS SECOND WORD OF DESTINATION BLOCK
7009 ;LOADED CORRECTLY FROM SOURCE?
7010 035777 002 02 0 00 021103 ER2 DEST+1,SN ;FAIL IF SECOND WORD OF DESTINATION BLOCK NOT LOADED
7011 ;CORRECTLY FROM SOURCE
7012 021104 SN=SN+1
7013 036000 312 03 0 00 041020 CAME DEST+2,[070707,,070707] ;WAS THIRD WORD OF DESTINATION BLOCK
7014 ;LOADED CORRECTLY FROM SOURCE?
7015 036001 002 03 0 00 021104 ER2 DEST+2,SN ;FAIL IF THIRD WORD OF DESTINATION BLOCK NOT LOADED
7016 ;CORRECTLY FROM SOURCE
7017
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 75-1
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0184
7018 021105 SN=SN+1
7019 036002 312 04 0 00 041042 CAME DEST+3,[036074,,170630] ;WAS FOURTH WORD OF DESTINATION
7020 ;BLOCK LOADED CORRECTLY FROM SOURCE?
7021 036003 002 04 0 00 021105 ER2 DEST+3,SN ;FAIL IF FOURTH WORD OF DESTINATION BLOCK NOT LOADED
7022 ;CORRECTLY FROM SOURCE
7023 021106 SN=SN+1
7024 036004 312 05 0 00 041037 CAME DEST+4,[017407,,603701] ;WAS LAST WORD OF DESTINATION BLOCK
7025 ;LOADED CORRECTLY FROM SOURCE?
7026 036005 002 05 0 00 021106 ER2 DEST+4,SN ;FAIL IF LAST WORD OF DESTINATION BLOCK NOT LOADED
7027 ;CORRECTLY FROM SOURCE
7028 021107 SN=SN+1
7029 036006 312 06 0 00 041037 CAME DEST+SIZ,[017407,,603701] ;WAS WORD FOLLOWING LAST WORD OF DESTINATION
7030 ;BLOCK CLOBBERED?
7031 036007 002 06 0 00 021107 ER2 DEST+SIZ,SN ;FAIL IF WORD FOLLOWING LAST WORD OF DESTINATION
7032 ;BLOCK WAS CLOBBERED
7033 021110 SN=SN+1
7034 036010 312 07 0 00 041040 CAME SRCE+SIZ,[007603,,607062] ;WAS WORD FOLLOWING LAST WORD OF SOURCE
7035 ;BLOCK CLOBBERED?
7036 036011 002 07 0 00 021110 ER2 SRCE+SIZ,SN ;FAIL IF WORD FOLLOWING LAST WORD OF SOURCE BLOCK
7037 ;WAS CLOBBERED
7038 036012 321 16 0 00 035760 JUMPL AC+2,G21100 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 76
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0185
7039 ;DO A BLT WHERE DESTINATION STARTING ADDRESS EQUALS SOURCE STARTING
7040 ;ADDRESS MINUS ONE - NON-AC RANGE - MULTIPLE PATTERN
7041
7042 000006 AC=6
7043 SAVEAC (1,1)^
7044 036013 201 10 0 00 036013 MOVEI AC+2,. ;SAVE TEST PC
7045 036014 202 10 0 00 030051 MOVEM AC+2,TESTPC
7046 036015 201 10 0 00 000010 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
7047 036016 202 10 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
7048
7049 021200 SN=21200
7050 040222 SRCE=BLTBLK+2 ;SOURCE BLOCK STARTING ADDRESS= BLTBLK+2
7051 040221 DEST=BLTBLK+1 ;DESTINATION BLOCK STARTING ADDRESS= BLTBLK+1
7052 000005 SIZ=5 ;BLOCK SIZE=5 WORDS
7053
7054 036017 200 06 0 00 041043 G21200: MOVE AC,[SRCE,,DEST] ;PRELOAD AC WITH STARTING ADDRESSES OF
7055 ;SOURCE AND DESTINATION BLOCKS
7056 036020 476 00 0 00 040220 SETOM DEST-1 ;PRELOAD WORD PRECEEDING FIRST WORD OF DESTINATION
7057 ;BLOCK WITH ONES
7058 036021 200 00 0 00 040752 MOVE [230703,,603700]
7059 036022 202 00 0 00 040221 MOVEM DEST ;PRELOAD FIRST WORD OF DESTINATION BLOCK
7060 ;WITH 230703,,603700
7061 036023 200 00 0 00 041016 MOVE [252525,,252525]
7062 036024 202 00 0 00 040222 MOVEM SRCE ;PRELOAD FIRST WORD OF SOURCE BLOCK WITH 252525,,252525
7063 036025 200 00 0 00 041035 MOVE [146314,,631463]
7064 036026 202 00 0 00 040223 MOVEM SRCE+1 ;PRELOAD SECOND WORD OF SOURCE BLOCK
7065 ;WITH 146314,,631463
7066 036027 200 00 0 00 041020 MOVE [070707,,070707]
7067 036030 202 00 0 00 040224 MOVEM SRCE+2 ;PRELOAD THIRD WORD OF SOURCE BLOCK WITH 070707,,070707
7068 036031 200 00 0 00 041042 MOVE [036074,,170630]
7069 036032 202 00 0 00 040225 MOVEM SRCE+3 ;PRELOAD FOURTH WORD OF SOURCE BLOCK
7070 ;WITH 036074,,170630
7071 036033 200 00 0 00 041037 MOVE [017407,,603701]
7072 036034 202 00 0 00 040226 MOVEM SRCE+4 ;PRELOAD FIFTH WORD OF SOURCE BLOCK WITH 017407,,603701
7073 036035 200 00 0 00 041040 MOVE [007603,,607062]
7074 036036 202 00 0 00 040227 MOVEM SRCE+SIZ ;PRELOAD WORD FOLLOWING LAST WORD OF SOURCE BLOCK
7075 ;WITH 007603,,607062
7076 036037 251 06 0 00 040225 BLT AC,DEST+SIZ-1 ;*BLT SHOULD LOAD DESTINATION BLOCK FROM SOURCE BLOCK
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 77
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0186
7077 ;DO A BLT WHERE DESTINATION STARTING ADDRESS EQUALS SOURCE STARTING
7078 ;ADDRESS MINUS ONE - NON-AC RANGE - MULTIPLE PATTERN (CONTINUED)
7079
7080 021201 SN=SN+1
7081 036040 200 04 0 00 040220 MOVE AC-2,DEST-1
7082 036041 312 04 0 00 040734 CAME AC-2,[-1,,-1] ;WAS WORD PRECEEDING FIRST WORD OF DESTINATION
7083 ;BLOCK CLOBBERED?
7084 036042 002 04 0 00 021201 ER2 AC-2,SN ;FAIL IF WORD PRECEEDING FIRST WORD OF DESTINATION
7085 ;BLOCK WAS CLOBBERED?
7086 021202 SN=SN+1
7087 036043 200 04 0 00 040221 MOVE AC-2,DEST
7088 036044 312 04 0 00 041016 CAME AC-2,[252525,,252525] ;WAS FIRST WORD OF DESTINATION BLOCK LOADED
7089 ;CORRECTLY FROM SOURCE?
7090 036045 002 04 0 00 021202 ER2 AC-2,SN ;FAIL IF FIRST WORD OF DESTINATION BLOCK NOT LOADED
7091 ;CORRECTLY FROM SOURCE
7092 021203 SN=SN+1
7093 036046 200 04 0 00 040222 MOVE AC-2,DEST+1
7094 036047 312 04 0 00 041035 CAME AC-2,[146314,,631463] ;WAS SECOND WORD OF DESTINATION BLOCK
7095 ;LOADED CORRECTLY FROM SOURCE?
7096 036050 002 04 0 00 021203 ER2 AC-2,SN ;FAIL IF SECOND WORD OF DESTINATION BLOCK NOT LOADED
7097 ;CORRECTLY FROM SOURCE
7098 021204 SN=SN+1
7099 036051 200 04 0 00 040223 MOVE AC-2,DEST+2
7100 036052 312 04 0 00 041020 CAME AC-2,[070707,,070707] ;WAS THIRD WORD OF DESTINATION BLOCK LOADED
7101 ;CORRECTLY FROM SOURCE?
7102 036053 002 04 0 00 021204 ER2 AC-2,SN ;FAIL IF THIRD WORD OF DESTINATION BLOCK NOT LOADED
7103 ;CORRECTLY FROM SOURCE
7104 021205 SN=SN+1
7105 036054 200 04 0 00 040224 MOVE AC-2,DEST+3
7106 036055 312 04 0 00 041042 CAME AC-2,[036074,,170630] ;WAS FOURTH WORD OF DESTINATION BLOCK
7107 ;LOADED CORRECTLY FROM SOURCE?
7108 036056 002 04 0 00 021205 ER2 AC-2,SN ;FAIL IF FOURTH WORD OF DESTINATION BLOCK NOT LOADED
7109 ;CORRECTLY FROM SOURCE
7110 021206 SN=SN+1
7111 036057 200 04 0 00 040225 MOVE AC-2,DEST+4
7112 036060 312 04 0 00 041037 CAME AC-2,[017407,,603701] ;WAS LAST WORD OF DESTINATION BLOCK LOADED
7113 ;CORRECTLY FROM SOURCE?
7114 036061 002 04 0 00 021206 ER2 AC-2,SN ;FAIL IF LAST WORD OF DESTINATION BLOCK NOT LOADED
7115 ;CORRECTLY FROM SOURCE
7116 021207 SN=SN+1
7117 036062 200 04 0 00 040226 MOVE AC-2,DEST+SIZ
7118 036063 312 04 0 00 041037 CAME AC-2,[017407,,603701] ;WAS WORD FOLLOWING LAST WORD OF DESTINATION
7119 ;BLOCK CLOBBERED?
7120 036064 002 04 0 00 021207 ER2 AC-2,SN ;FAIL IF WORD FOLLOWING LAST WORD OF DESTINATION BLOCK
7121 ;WAS CLOBBERED
7122 021210 SN=SN+1
7123 036065 200 04 0 00 040227 MOVE AC-2,SRCE+SIZ
7124 036066 312 04 0 00 041040 CAME AC-2,[007603,,607062] ;WAS WORD FOLLOWING LAST WORD OF SOURCE
7125 ;BLOCK CLOBBERED?
7126 036067 002 04 0 00 021210 ER2 AC-2,SN ;FAIL IF WORD FOLLOWING LAST WORD OF SOURCE BLOCK WAS
7127 ;CLOBBERED
7128 036070 321 10 0 00 036017 JUMPL AC+2,G21200 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 78
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0187
7129 ;DO A BLT WHERE DESTINATION STARTING ADDRESS EQUALS SOURCE STARTING
7130 ;ADDRESS PLUS ONE - AC RANGE - MULTIPLE PATTERN
7131
7132 000014 AC=14
7133 SAVEAC (1,1)^
7134 036071 201 16 0 00 036071 MOVEI AC+2,. ;SAVE TEST PC
7135 036072 202 16 0 00 030051 MOVEM AC+2,TESTPC
7136 036073 201 16 0 00 000016 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
7137 036074 202 16 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
7138
7139 021300 SN=21300
7140 000001 SRCE=<AC-13>&17 ;SOURCE BLOCK STARTING ADDRESS= <AC-13>&17
7141 000002 DEST=<AC-12>&17 ;DESTINATION BLOCK STARTING ADDRESS= <AC-12>&17
7142 000005 SIZ=5 ;BLOCK SIZE=5 WORDS
7143
7144 036075 200 14 0 00 041044 G21300: MOVE AC,[SRCE,,DEST] ;PRELOAD AC WITH STARTING ADDRESSES OF
7145 ;SOURCE AND DESTINATION BLOCKS
7146 036076 200 00 0 00 040752 MOVE SRCE-1,[230703,,603700] ;PRELOAD WORD PRECEEDING FIRST WORD
7147 ;OF SOURCE BLOCK WITH 230703,,603700
7148 036077 200 01 0 00 041016 MOVE SRCE,[252525,,252525] ;PRELOAD FIRST WORD OF SOURCE BLOCK WITH
7149 ;252525,,252525
7150 036100 200 02 0 00 041035 MOVE SRCE+1,[146314,,631463] ;PRELOAD SECOND WORD OF SOURCE BLOCK
7151 ;WITH 146314,,631463
7152 036101 200 03 0 00 041020 MOVE SRCE+2,[070707,,070707] ;PRELOAD THIRD WORD OF SOURCE BLOCK
7153 ;WITH 070707,,070707
7154 036102 200 04 0 00 041042 MOVE SRCE+3,[036074,,170630] ;PRELOAD FOURTH WORD OF SOURCE BLOCK
7155 ;WITH 036074,,170630
7156 036103 200 05 0 00 041037 MOVE SRCE+4,[017407,,603701] ;PRELOAD FIFTH WORD OF SOURCE BLOCK
7157 ;WITH 017407,,603701
7158 036104 200 06 0 00 041040 MOVE SRCE+SIZ,[007603,,607062] ;PRELOAD WORD FOLLOWING LAST WORD
7159 ;OF SOURCE BLOCK WITH 007603,,607062
7160 036105 476 00 0 00 000007 SETOM DEST+SIZ ;PRELOAD WORD FOLLOWING LAST WORD OF DESTINATION BLOCK
7161 ;WITH ONES
7162 036106 251 14 0 00 000006 BLT AC,DEST+SIZ-1 ;*BLT SHOULD LOAD DESTINATION BLOCK FROM SOURCE BLOCK
7163 021301 SN=SN+1
7164 036107 312 00 0 00 040752 CAME SRCE-1,[230703,,603700] ;WAS WORD PRECEEDING FIRST WORD OF SOURCE
7165 ;BLOCK CLOBBERED?
7166 036110 002 00 0 00 021301 ER2 SRCE-1,SN ;FAIL IF WORD PRECEEDING FIRST WORD OF SOURCE BLOCK
7167 ;WAS CLOBBERED
7168 021302 SN=SN+1
7169 036111 312 01 0 00 041016 CAME SRCE,[252525,,252525] ;WAS FIRST WORD OF SOURCE BLOCK CLOBBERED
7170 036112 002 01 0 00 021302 ER2 SRCE,SN ;FAIL IF FIRST WORD OF SOURCE BLOCK WAS CLOBBERED
7171 021303 SN=SN+1
7172 036113 312 02 0 00 041016 CAME DEST,[252525,,252525] ;WAS FIRST WORD OF DESTINATION BLOCK LOADED
7173 ;CORRECTLY FROM SOURCE?
7174 036114 002 02 0 00 021303 ER2 DEST,SN ;FAIL IF FIRST WORD OF DESTINATION BLOCK NOT LOADED
7175 ;CORRECTLY FROM SOURCE
7176 021304 SN=SN+1
7177 036115 312 03 0 00 041016 CAME DEST+1,[252525,,252525] ;WAS SECOND WORD OF DESTINATION BLOCK
7178 ;LOADED CORRECTLY FROM SOURCE?
7179 036116 002 03 0 00 021304 ER2 DEST+1,SN ;FAIL IF SECOND WORD OF DESTINATION BLOCK NOT LOADED
7180 ;CORRECTLY FROM SOURCE
7181 021305 SN=SN+1
7182 036117 312 04 0 00 041016 CAME DEST+2,[252525,,252525] ;WAS THIRD WORD OF DESTINATION BLOCK
7183 ;LOADED CORRECTLY FROM SOURCE?
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 78-1
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0188
7184 036120 002 04 0 00 021305 ER2 DEST+2,SN ;FAIL IF THIRD WORD OF DESTINATION BLOCK NOT LOADED
7185 ;CORRECTLY FROM SOURCE
7186 021306 SN=SN+1
7187 036121 312 05 0 00 041016 CAME DEST+3,[252525,,252525] ;WAS FOURTH WORD OF DESTINATION BLOCK
7188 ;LOADED CORRECTLY FROM SOURCE?
7189 036122 002 05 0 00 021306 ER2 DEST+3,SN ;FAIL IF FOURTH WORD OF DESTINATION BLOCK NOT LOADED
7190 ;CORRECTLY FROM SOURCE
7191 021307 SN=SN+1
7192 036123 312 06 0 00 041016 CAME DEST+4,[252525,,252525] ;WAS LAST WORD OF DESTINATION BLOCK
7193 ;LOADED CORRECTLY FROM SOURCE?
7194 036124 002 06 0 00 021307 ER2 DEST+4,SN ;FAIL IF LAST WORD OF DESTINATION BLOCK NOT LOADED
7195 ;CORRECTLY FROM SOURCE
7196 021310 SN=SN+1
7197 036125 312 07 0 00 040734 CAME DEST+SIZ,[-1,,-1] ;WAS WORD FOLLOWING LAST WORD OF DESTINATION
7198 ;BLOCK CLOBBERED?
7199 036126 002 07 0 00 021310 ER2 DEST+SIZ,SN ;FAIL IF WORD FOLLOWING LAST WORD OF DESTINATION
7200 ;BLOCK WAS CLOBBERED
7201 036127 321 16 0 00 036075 JUMPL AC+2,G21300 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 79
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0189
7202 ;DO A BLT WHERE DESTINATION STARTING ADDRESS EQUALS SOURCE STARTING
7203 ;ADDRESS PLUS ONE - NON-AC RANGE - MULTIPLE PATTERN
7204
7205 000004 AC=4
7206 SAVEAC (1,1)^
7207 036130 201 06 0 00 036130 MOVEI AC+2,. ;SAVE TEST PC
7208 036131 202 06 0 00 030051 MOVEM AC+2,TESTPC
7209 036132 201 06 0 00 000006 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
7210 036133 202 06 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
7211
7212 021400 SN=21400
7213 040221 SRCE=BLTBLK+1 ;SOURCE BLOCK STARTING ADDRESS= BLTBLK+1
7214 040222 DEST=BLTBLK+2 ;DESTINATION BLOCK STARTING ADDRESS= BLTBLK+2
7215 000005 SIZ=5 ;BLOCK SIZE=5 WORDS
7216
7217 036134 200 04 0 00 041045 G21400: MOVE AC,[SRCE,,DEST] ;PRELOAD AC WITH STARTING ADDRESSES OF
7218 ;SOURCE AND DESTINATION BLOCKS
7219 036135 200 00 0 00 040752 MOVE [230703,,603700]
7220 036136 202 00 0 00 040220 MOVEM SRCE-1 ;PRELOAD WORD PRECEEDING FIRST WORD OF SOURCE BLOCK
7221 ;WITH 23703,,603700
7222 036137 200 00 0 00 041016 MOVE [252525,,252525]
7223 036140 202 00 0 00 040221 MOVEM SRCE ;PRELOAD FIRST WORD OF SOURCE BLOCK WITH 252525,,252525
7224 036141 200 00 0 00 041046 MOVE [146314,,146314]
7225 036142 202 00 0 00 040222 MOVEM SRCE+1 ;PRELOAD SECOND WORD OF SOURCE BLOCK
7226 ;WITH 146314,,631463
7227 036143 200 00 0 00 041020 MOVE [070707,,070707]
7228 036144 202 00 0 00 040223 MOVEM SRCE+2 ;PRELOAD THIRD WORD OF SOURCE BLOCK WITH 070707,,070707
7229 036145 200 00 0 00 041042 MOVE [036074,,170630]
7230 036146 202 00 0 00 040224 MOVEM SRCE+3 ;PRELOAD FOURTH WORD OF SOURCE BLOCK
7231 ;WITH 036074,,170630
7232 036147 200 00 0 00 041037 MOVE [017407,,603701]
7233 036150 202 00 0 00 040225 MOVEM SRCE+4 ;PRELOAD FIFTH WORD OF SOURCE BLOCK WITH 017407,,603701
7234 036151 200 00 0 00 041040 MOVE [007603,,607062]
7235 036152 202 00 0 00 040226 MOVEM SRCE+SIZ ;PRELOAD WORD FOLLOWING LAST WORD OF SOURCE BLOCK
7236 ;WITH 007603,,607062
7237 036153 476 00 0 00 040227 SETOM DEST+SIZ ;PRELOAD WORD FOLLOWING LAST WORD OF DESTINATION BLOCK
7238 ;WITH ONES
7239 036154 251 04 0 00 040226 BLT AC,DEST+SIZ-1 ;*BLT SHOULD LOAD DESTINATION BLOCK FROM SOURCE BLOCK
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 80
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0190
7240 ;DO A BLT WHERE DESTINATION STARTING ADDRESS EQUALS SOURCE STARTING
7241 ;ADDRESS PLUS ONE - NON-AC RANGE - MULTIPLE PATTERN (CONTINUED)
7242
7243 021401 SN=SN+1
7244 036155 200 02 0 00 040220 MOVE AC-2,SRCE-1
7245 036156 312 02 0 00 040752 CAME AC-2,[230703,,603700] ;WAS WORD PRECEEDING FIRST WORD OF SOURCE
7246 ;BLOCK CLOBBERED?
7247 036157 002 02 0 00 021401 ER2 AC-2,SN ;FAIL IF WORD PRECEEDING FIRST WORD OF SOURCE BLOCK
7248 ;WAS CLOBBERED
7249 021402 SN=SN+1
7250 036160 200 02 0 00 040221 MOVE AC-2,SRCE
7251 036161 312 02 0 00 041016 CAME AC-2,[252525,,252525] ;WAS FIRST WORD OF SOURCE BLOCK CLOBBERED
7252 036162 002 02 0 00 021402 ER2 AC-2,SN ;FAIL IF FIRST WORD OF SOURCE BLOCK WAS CLOBBERED
7253 021403 SN=SN+1
7254 036163 200 02 0 00 040222 MOVE AC-2,DEST
7255 036164 312 02 0 00 041016 CAME AC-2,[252525,,252525] ;WAS FIRST WORD OF DESTINATION BLOCK LOADED
7256 ;CORRECTLY FROM SOURCE?
7257 036165 002 02 0 00 021403 ER2 AC-2,SN ;FAIL IF FIRST WORD OF DESTINATION BLOCK NOT LOADED
7258 ;CORRECTLY FROM SOURCE
7259 021404 SN=SN+1
7260 036166 200 02 0 00 040223 MOVE AC-2,DEST+1
7261 036167 312 02 0 00 041016 CAME AC-2,[252525,,252525] ;WAS SECOND WORD OF DESTINATION BLOCK
7262 ;LOADED CORRECTLY FROM SOURCE?
7263 036170 002 02 0 00 021404 ER2 AC-2,SN ;FAIL IF SECOND WORD OF DESTINATION BLOCK NOT LOADED
7264 ;CORRECTLY FROM SOURCE
7265 021405 SN=SN+1
7266 036171 200 02 0 00 040224 MOVE AC-2,DEST+2
7267 036172 312 02 0 00 041016 CAME AC-2,[252525,,252525] ;WAS THIRD WORD OF DESTINATION BLOCK LOADED
7268 ;CORRECTLY FROM SOURCE?
7269 036173 002 02 0 00 021405 ER2 AC-2,SN ;FAIL IF THIRD WORD OF DESTINATION BLOCK NOT LOADED
7270 ;CORRECTLY FROM SOURCE
7271 021406 SN=SN+1
7272 036174 200 02 0 00 040225 MOVE AC-2,DEST+3
7273 036175 312 02 0 00 041016 CAME AC-2,[252525,,252525] ;WAS FOURTH WORD OF DESTINATION BLOCK
7274 ;LOADED CORRECTLY FROM SOURCE?
7275 036176 002 02 0 00 021406 ER2 AC-2,SN ;FAIL IF FOURTH WORD OF DESTINATION BLOCK NOT LOADED
7276 ;CORRECTLY FROM SOURCE
7277 021407 SN=SN+1
7278 036177 200 02 0 00 040226 MOVE AC-2,DEST+4
7279 036200 312 02 0 00 041016 CAME AC-2,[252525,,252525] ;WAS LAST WORD OF DESTINATION BLOCK LOADED
7280 ;CORRECTLY FROM SOURCE?
7281 036201 002 02 0 00 021407 ER2 AC-2,SN ;FAIL IF LAST WORD OF DESTINATION BLOCK NOT LOADED
7282 ;CORRECTLY FROM SOURCE
7283 021410 SN=SN+1
7284 036202 200 02 0 00 040227 MOVE AC-2,DEST+SIZ
7285 036203 312 02 0 00 040734 CAME AC-2,[-1,,-1] ;WAS WORD FOLLOWING LAST WORD OF DESTINATION BLOCK
7286 ;CLOBBERED?
7287 036204 002 02 0 00 021410 ER2 AC-2,SN ;FAIL IF WORD FOLLOWING LAST WORD OF DESTINATION BLOCK
7288 ;WAS CLOBBERED
7289 036205 321 06 0 00 036134 JUMPL AC+2,G21400 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 81
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0191
7290 ;DO A BLT WHERE SOURCE BLOCK HAS AC ADDRESS AND DESTINATION BLOCK
7291 ;HAS NON-AC ADDRESS- MULTIPLE PATTERN
7292
7293 000014 AC=14
7294 SAVEAC (1,1)^
7295 036206 201 16 0 00 036206 MOVEI AC+2,. ;SAVE TEST PC
7296 036207 202 16 0 00 030051 MOVEM AC+2,TESTPC
7297 036210 201 16 0 00 000016 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
7298 036211 202 16 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
7299
7300 021500 SN=21500
7301 000001 SRCE=<AC-13>&17 ;SOURCE BLOCK STARTING ADDRESS=<AC-13>&17
7302 040221 DEST=BLTBLK+1 ;DESTINATION BLOCK STARTING ADDRESS=BLTBLK+1
7303 000012 SIZ=^D10 ;BLOCK SIZE=10 WORDS
7304
7305 036212 200 14 0 00 041047 G21500: MOVE AC,[SRCE,,DEST] ;PRELOAD AC WITH STARTING ADDRESSES OF
7306 ;SOURCE AND DESTINATION BLOCKS
7307 036213 200 00 0 00 040752 MOVE SRCE-1,[230703,,603700] ;PRELOAD WORD PRECEEDING FIRST WORD
7308 ;OF SOURCE BLOCK WITH 230703,,603700
7309 036214 200 01 0 00 041016 MOVE SRCE,[252525,,252525] ;PRELOAD FIRST WORD OF SOURCE BLOCK WITH
7310 ;252525,,252525
7311 036215 200 02 0 00 041035 MOVE SRCE+1,[146314,,631463] ;PRELOAD SECOND WORD OF SOURCE BLOCK
7312 ;WITH 146314,,631463
7313 036216 200 03 0 00 041020 MOVE SRCE+2,[070707,,070707] ;PRELOAD THIRD WORD OF SOURCE BLOCK
7314 ;WITH 070707,,070707
7315 036217 200 04 0 00 041042 MOVE SRCE+3,[036074,,170630] ;PRELOAD FOURTH WORD OF SOURCE BLOCK
7316 ;WITH 036074,,170630
7317 036220 200 05 0 00 041037 MOVE SRCE+4,[017407,,603701] ;PRELOAD FIFTH WORD OF SOURCE BLOCK
7318 ;WITH 017407,,603701
7319 036221 200 06 0 00 041050 MOVE SRCE+5,[007700,,770077] ;PRELOAD SIXTH WORD OF SOURCE BLOCK
7320 ;WITH 007700,,770077
7321 036222 200 07 0 00 041051 MOVE SRCE+6,[003760,,077401] ;PRELOAD SEVENTH WORD OF SOURCE BLOCK
7322 ;WITH 003760,,077401
7323 036223 200 10 0 00 041052 MOVE SRCE+7,[001774,,007760] ;PRELOAD EIGHTH WORD OF SOURCE BLOCK
7324 ;WITH 001774,,007760
7325 036224 200 11 0 00 041053 MOVE SRCE+^D8,[000777,,000777] ;PRELOAD NINTH WORD OF SOURCE BLOCK
7326 ;WITH 000777,,000777
7327 036225 200 12 0 00 041054 MOVE SRCE+^D9,[000377,,600077] ;PRELOAD TENTH WORD OF SOURCE BLOCK
7328 ;WITH 000377,,600077
7329 036226 200 13 0 00 041040 MOVE SRCE+SIZ,[007603,,607062] ;PRELOAD WORD FOLLOWING LAST WORD
7330 ;OF SOURCE BLOCK WITH 007603,,607062
7331 036227 202 00 0 00 041212 MOVEM GSVAC0#
7332 036230 561 00 0 00 040220 HRROI DEST-1
7333 036231 202 00 0 00 040220 MOVEM DEST-1 ;PRELOAD WORD PRECEEDING FIRST WORD OF DESTINATION
7334 ;BLOCK WITH DEST-1
7335 036232 561 00 0 00 040221 HRROI DEST
7336 036233 202 00 0 00 040221 MOVEM DEST ;PRELOAD FIRST WORD OF DESTINATION BLOCK WITH DEST
7337 036234 561 00 0 00 040222 HRROI DEST+1
7338 036235 202 00 0 00 040222 MOVEM DEST+1 ;PRELOAD SECOND WORD OF DESTINATION BLOCK WITH DEST+1
7339 036236 561 00 0 00 040223 HRROI DEST+2
7340 036237 202 00 0 00 040223 MOVEM DEST+2 ;PRELOAD THIRD WORD OF DESTINATION BLOCK WITH DEST+2
7341 036240 561 00 0 00 040224 HRROI DEST+3
7342 036241 202 00 0 00 040224 MOVEM DEST+3 ;PRELOAD FOURTH WORD OF DESTINATION BLOCK WITH DEST+3
7343 036242 561 00 0 00 040225 HRROI DEST+4
7344 036243 202 00 0 00 040225 MOVEM DEST+4 ;PRELOAD FIFTH WORD OF DESTINATION BLOCK WITH DEST+4
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 81-1
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0192
7345 036244 561 00 0 00 040226 HRROI DEST+5
7346 036245 202 00 0 00 040226 MOVEM DEST+5 ;PRELOAD SIXTH WORD OF DESTINATION BLOCK WITH DEST+5
7347 036246 561 00 0 00 040227 HRROI DEST+6
7348 036247 202 00 0 00 040227 MOVEM DEST+6 ;PRELOAD SEVENTH WORD OF DESTINATION BLOCK WITH DEST+6
7349 036250 561 00 0 00 040230 HRROI DEST+7
7350 036251 202 00 0 00 040230 MOVEM DEST+7 ;PRELOAD EIGHTH WORD OF DESTINATION BLOCK WITH DEST+7
7351 036252 561 00 0 00 040231 HRROI DEST+^D8
7352 036253 202 00 0 00 040231 MOVEM DEST+^D8 ;PRELOAD NINTH WORD OF DESTINATION BLOCK WITH DEST+8
7353 036254 561 00 0 00 040232 HRROI DEST+^D9
7354 036255 202 00 0 00 040232 MOVEM DEST+^D9 ;PRELOAD TENTH WORD OF DESTINATION BLOCK WITH DEST+9
7355 036256 561 00 0 00 040233 HRROI DEST+SIZ
7356 036257 202 00 0 00 040233 MOVEM DEST+SIZ ;PRELOAD WORD FOLLOWING LAST WORD OF DESTINATION BLOCK
7357 ;WITH DEST+SIZ
7358 036260 200 00 0 00 041212 MOVE GSVAC0
7359
7360 036261 251 14 0 00 040232 BLT AC,DEST+SIZ-1 ;*BLT SHOULD LOAD DESTINATION BLOCK FROM SOURCE BLOCK
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 82
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0193
7361 ;DO A BLT WHERE SOURCE BLOCK HAS AC ADDRESS AND DESTINATION BLOCK
7362 ;HAS NON-AC ADDRESS- MULTIPLE PATTERN (CONTINUED)
7363
7364 021501 SN=SN+1
7365 036262 312 00 0 00 040752 CAME SRCE-1,[230703,,603700] ;WAS WORD PRECEEDING FIRST WORD OF SOURCE
7366 ;BLOCK CLOBBERED?
7367 036263 002 00 0 00 021501 ER2 SRCE-1,SN ;FAIL IF WORD PRECEEDING FIRST WORD OF SOURCE BLOCK
7368 ;WAS CLOBBERED
7369 021502 SN=SN+1
7370 036264 312 01 0 00 041016 CAME SRCE,[252525,,252525] ;WAS FIRST WORD OF SOURCE BLOCK CLOBBERED
7371 036265 002 01 0 00 021502 ER2 SRCE,SN ;FAIL IF FIRST WORD OF SOURCE BLOCK WAS CLOBBERED
7372 021503 SN=SN+1
7373 036266 312 02 0 00 041035 CAME SRCE+1,[146314,,631463] ;WAS SECOND WORD OF SOURCE BLOCK CLOBBERED?
7374 036267 002 02 0 00 021503 ER2 SRCE+1,SN ;FAIL IF SECOND WORD OF SOURCE BLOCK WAS CLOBBERED
7375 021504 SN=SN+1
7376 036270 312 03 0 00 041020 CAME SRCE+2,[070707,,070707] ;WAS THIRD WORD OF SOURCE BLOCK CLOBBERED?
7377 036271 002 03 0 00 021504 ER2 SRCE+2,SN ;FAIL IF THIRD WORD OF SOURCE BLOCK WAS CLOBBERED
7378 021505 SN=SN+1
7379 036272 312 04 0 00 041042 CAME SRCE+3,[036074,,170630] ;WAS FOURTH WORD OF SOURCE BLOCK CLOBBERED?
7380 036273 002 04 0 00 021505 ER2 SRCE+3,SN ;FAIL IF FOURTH WORD OF SOURCE BLOCK WAS CLOBBERED
7381 021506 SN=SN+1
7382 036274 312 05 0 00 041037 CAME SRCE+4,[017407,,603701] ;WAS FIFTH WORD OF SOURCE BLOCK CLOBBERED?
7383 036275 002 05 0 00 021506 ER2 SRCE+4,SN ;FAIL IF FIFTH WORD OF SOURCE BLOCK WAS CLOBBERED
7384 021507 SN=SN+1
7385 036276 312 06 0 00 041050 CAME SRCE+5,[007700,,770077] ;WAS SIXTH WORD OF SOURCE BLOCK CLOBBERED?
7386 036277 002 06 0 00 021507 ER2 SRCE+5,SN ;FAIL IF SIXTH WORD OF SOURCE BLOCK WAS CLOBBERED
7387 021510 SN=SN+1
7388 036300 312 07 0 00 041051 CAME SRCE+6,[003760,,077401] ;WAS SEVENTH WORD OF SOURCE BLOCK CLOBBERED?
7389 036301 002 07 0 00 021510 ER2 SRCE+6,SN ;FAIL IF SEVENTH WORD OF SOURCE BLOCK WAS CLOBBERED
7390 021511 SN=SN+1
7391 036302 312 10 0 00 041052 CAME SRCE+7,[001774,,007760] ;WAS EIGHTH WORD OF SOURCE BLOCK CLOBBERED?
7392 036303 002 10 0 00 021511 ER2 SRCE+7,SN ;FAIL IF EIGHTH WORD OF SOURCE BLOCK WAS CLOBBERED
7393 021512 SN=SN+1
7394 036304 312 11 0 00 041053 CAME SRCE+^D8,[000777,,000777] ;WAS NINTH WORD OF SOURCE BLOCK CLOBBERED?
7395 036305 002 11 0 00 021512 ER2 SRCE+^D8,SN ;FAIL IF NINTH WORD OF SOURCE BLOCK WAS CLOBBERED
7396 021513 SN=SN+1
7397 036306 312 12 0 00 041054 CAME SRCE+^D9,[000377,,600077] ;WAS LAST WORD OF SOURCE BLOCK CLOBBERED?
7398 036307 002 12 0 00 021513 ER2 SRCE+^D9,SN ;FAIL IF LAST WORD OF SOURCE BLOCK WAS CLOBBERED
7399 021514 SN=SN+1
7400 036310 312 13 0 00 041040 CAME SRCE+SIZ,[007603,,607062] ;WAS WORD FOLLOWING LAST WORD OF SOURCE
7401 ;BLOCK CLOBBERED?
7402 036311 002 13 0 00 021514 ER2 SRCE+SIZ,SN ;FAIL IF WORD FOLLOWING LAST WORD OF SOURCE BLOCK
7403 ;WAS CLOBBERED
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 83
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0194
7404 ;DO A BLT WHERE SOURCE BLOCK HAS AC ADDRESS AND DESTINATION BLOCK
7405 ;HAS NON-AC ADDRESS- MULTIPLE PATTERN (CONTINUED)
7406
7407 021515 SN=SN+1
7408 036312 200 15 0 00 040220 MOVE AC+1,DEST-1
7409 036313 312 15 0 00 041055 CAME AC+1,[-1,,DEST-1] ;WAS WORD PRECEEDING FIRST WORD OF DESTINATION
7410 ;BLOCK CLOBBERED?
7411 036314 002 15 0 00 021515 ER2 AC+1,SN ;FAIL IF WORD PRECEEDING FIRST WORD OF DESTINATION
7412 ;BLOCK WAS CLOBBERED?
7413 021516 SN=SN+1
7414 036315 200 15 0 00 040221 MOVE AC+1,DEST
7415 036316 312 15 0 00 041016 CAME AC+1,[252525,,252525] ;WAS FIRST WORD OF DESTINATION BLOCK LOADED
7416 ;CORRECTLY FROM SOURCE?
7417 036317 002 15 0 00 021516 ER2 AC+1,SN ;FAIL IF FIRST WORD OF DESTINATION BLOCK NOT LOADED
7418 ;CORRECTLY FROM SOURCE
7419 021517 SN=SN+1
7420 036320 200 15 0 00 040222 MOVE AC+1,DEST+1
7421 036321 312 15 0 00 041035 CAME AC+1,[146314,,631463] ;WAS SECOND WORD OF DESTINATION BLOCK
7422 ;LOADED CORRECTLY FROM SOURCE?
7423 036322 002 15 0 00 021517 ER2 AC+1,SN ;FAIL IF SECOND WORD OF DESTINATION BLOCK NOT LOADED
7424 ;CORRECTLY FROM SOURCE
7425 021520 SN=SN+1
7426 036323 200 15 0 00 040223 MOVE AC+1,DEST+2
7427 036324 312 15 0 00 041020 CAME AC+1,[070707,,070707] ;WAS THIRD WORD OF DESTINATION BLOCK LOADED
7428 ;CORRECTLY FROM SOURCE?
7429 036325 002 15 0 00 021520 ER2 AC+1,SN ;FAIL IF THIRD WORD OF DESTINATION BLOCK NOT LOADED
7430 ;CORRECTLY FROM SOURCE
7431 021521 SN=SN+1
7432 036326 200 15 0 00 040224 MOVE AC+1,DEST+3
7433 036327 312 15 0 00 041042 CAME AC+1,[036074,,170630] ;WAS FOURTH WORD OF DESTINATION BLOCK
7434 ;LOADED CORRECTLY FROM SOURCE?
7435 036330 002 15 0 00 021521 ER2 AC+1,SN ;FAIL IF FOURTH WORD OF DESTINATION BLOCK NOT LOADED
7436 ;CORRECTLY FROM SOURCE
7437 021522 SN=SN+1
7438 036331 200 15 0 00 040225 MOVE AC+1,DEST+4
7439 036332 312 15 0 00 041037 CAME AC+1,[017407,,603701] ;WAS FIFTH WORD OF DESTINATION BLOCK
7440 ;LOADED CORRECTLY FROM SOURCE?
7441 036333 002 15 0 00 021522 ER2 AC+1,SN ;FAIL IF FIFTH WORD OF DESTINATION BLOCK NOT LOADED
7442 ;CORRECTLY FROM SOURCE
7443 021523 SN=SN+1
7444 036334 200 15 0 00 040226 MOVE AC+1,DEST+5
7445 036335 312 15 0 00 041050 CAME AC+1,[007700,,770077] ;WAS SIXTH WORD OF DESTINATION BLOCK LOADED
7446 ;CORRECTLY FROM SOURCE?
7447 036336 002 15 0 00 021523 ER2 AC+1,SN ;FAIL IF SIXTH WORD OF DESTINATION BLOCK NOT LOADED
7448 ;CORRECTLY FROM SOURCE
7449 021524 SN=SN+1
7450 036337 200 15 0 00 040227 MOVE AC+1,DEST+6
7451 036340 312 15 0 00 041051 CAME AC+1,[003760,,077401] ;WAS SEVENTH WORD OF DESTINATION BLOCK
7452 ;LOADED CORRECTLY FROM SOURCE?
7453 036341 002 15 0 00 021524 ER2 AC+1,SN ;FAIL IF SEVENTH WORD OF DESTINATION BLOCK NOT LOADED
7454 ;CORRECTLY FROM SOURCE
7455 021525 SN=SN+1
7456 036342 200 15 0 00 040230 MOVE AC+1,DEST+7
7457 036343 312 15 0 00 041052 CAME AC+1,[001774,,007760] ;WAS EIGHTH WORD OF DESTINATION BLOCK
7458 ;LOADED CORRECTLY FROM SOURCE?
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 83-1
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0195
7459 036344 002 15 0 00 021525 ER2 AC+1,SN ;FAIL IF EIGHTH WORD OF DESTINATION BLOCK NOT LOADED
7460 ;CORRECTLY FROM SOURCE
7461 021526 SN=SN+1
7462 036345 200 15 0 00 040231 MOVE AC+1,DEST+^D8
7463 036346 312 15 0 00 041053 CAME AC+1,[000777,,000777] ;WAS NINTH WORD OF DESTINATION BLOCK LOADED
7464 ;CORRECTLY FROM SOURCE?
7465 036347 002 15 0 00 021526 ER2 AC+1,SN ;FAIL IF NINTH WORD OF DESTINATION BLOCK NOT LOADED
7466 ;CORRECTLY FROM SOURCE
7467 021527 SN=SN+1
7468 036350 200 15 0 00 040232 MOVE AC+1,DEST+^D9
7469 036351 312 15 0 00 041054 CAME AC+1,[000377,,600077] ;WAS LAST WORD OF DESTINATION BLOCK LOADED
7470 ;CORRECTLY FROM SOURCE?
7471 036352 002 15 0 00 021527 ER2 AC+1,SN ;FAIL IF LAST WORD OF DESTINATION BLOCK NOT LOADED
7472 ;CORRECTLY FROM SOURCE
7473 021530 SN=SN+1
7474 036353 200 15 0 00 040233 MOVE AC+1,DEST+SIZ
7475 036354 312 15 0 00 041056 CAME AC+1,[-1,,DEST+SIZ] ;WAS WORD FOLLOWING LAST WORD OF DESTINATION
7476 ;BLOCK CLOBBERED?
7477 036355 002 15 0 00 021530 ER2 AC+1,SN ;FAIL IF WORD FOLLOWING LAST WORD OF DESTINATION BLOCK
7478 ;WAS CLOBBERED
7479 036356 321 16 0 00 036212 JUMPL AC+2,G21500 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 84
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0196
7480 ;DO A BLT WHERE SOURCE BLOCK HAS NON-AC ADDRESS AND DESTINATION BLOCK
7481 ;HAS AC ADDRESS - MULTIPLE PATTERN
7482
7483 000014 AC=14
7484 SAVEAC (1,1)^
7485 036357 201 16 0 00 036357 MOVEI AC+2,. ;SAVE TEST PC
7486 036360 202 16 0 00 030051 MOVEM AC+2,TESTPC
7487 036361 201 16 0 00 000016 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
7488 036362 202 16 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
7489
7490 021600 SN=21600
7491 040221 SRCE=BLTBLK+1 ;SOURCE BLOCK STARTING ADDRESS= BLTBLK+1
7492 000001 DEST=<AC-13>&17 ;DESTINATION BLOCK STARTING ADDRESS= <AC-13>&17
7493 000012 SIZ=^D10 ;BLOCK SIZE=10 WORDS
7494
7495 036363 200 14 0 00 041057 G21600: MOVE AC,[SRCE,,DEST] ;PRELOAD AC WITH STARTING ADDRESSES OF
7496 ;SOURCE AND DESTINATION BLOCKS
7497 036364 200 00 0 00 040752 MOVE [230703,,603700]
7498 036365 202 00 0 00 040220 MOVEM SRCE-1 ;PRELOAD WORD PRECEEDING FIRST WORD OF SOURCE BLOCK
7499 ;WITH 230703,,603700
7500 036366 200 00 0 00 041016 MOVE [252525,,252525]
7501 036367 202 00 0 00 040221 MOVEM SRCE ;PRELOAD FIRST WORD OF SOURCE BLOCK WITH 252525,,252525
7502 036370 200 00 0 00 041035 MOVE [146314,,631463]
7503 036371 202 00 0 00 040222 MOVEM SRCE+1 ;PRELOAD SECOND WORD OF SOURCE BLOCK
7504 ;WITH 146314,,631463
7505 036372 200 00 0 00 041020 MOVE [070707,,070707]
7506 036373 202 00 0 00 040223 MOVEM SRCE+2 ;PRELOAD THIRD WORD OF SOURCE BLOCK WITH 070707,,070707
7507 036374 200 00 0 00 041042 MOVE [036074,,170630]
7508 036375 202 00 0 00 040224 MOVEM SRCE+3 ;PRELOAD FOURTH WORD OF SOURCE BLOCK
7509 ;WITH 036074,,170630
7510 036376 200 00 0 00 041037 MOVE [017407,,603701]
7511 036377 202 00 0 00 040225 MOVEM SRCE+4 ;PRELOAD
7512 ;FIFTH WORD OF SOURCE BLOCK WITH 017407,,603701
7513 036400 200 00 0 00 041050 MOVE [007700,,770077]
7514 036401 202 00 0 00 040226 MOVEM SRCE+5 ;PRELOAD SIXTH WORD OF SOURCE BLOCK WITH 007700,,770077
7515 036402 200 00 0 00 041051 MOVE [003760,,077401]
7516 036403 202 00 0 00 040227 MOVEM SRCE+6 ;PRELOAD SEVENTH WORD OF SOURCE BLOCK
7517 ;WITH 003760,,077401
7518 036404 200 00 0 00 041052 MOVE [001774,,007760]
7519 036405 202 00 0 00 040230 MOVEM SRCE+7 ;PRELOAD EIGHTH WORD OF SOURCE BLOCK
7520 ;WITH 001774,,007760
7521 036406 200 00 0 00 041053 MOVE [000777,,000777]
7522 036407 202 00 0 00 040231 MOVEM SRCE+^D8 ;PRELOAD NINTH WORD OF SOURCE BLOCK WITH 000777,,000777
7523 036410 200 00 0 00 041054 MOVE [000377,,600077]
7524 036411 202 00 0 00 040232 MOVEM SRCE+^D9 ;PRELOAD TENTH WORD OF SOURCE BLOCK WITH 000377,,600077
7525 036412 200 00 0 00 041040 MOVE [007603,,607062]
7526 036413 202 00 0 00 040233 MOVEM SRCE+SIZ ;PRELOAD WORD FOLLOWING LAST WORD OF SOURCE BLOCK
7527 ;WITH 007603,,607062
7528 036414 561 00 0 00 000000 HRROI DEST-1,DEST-1 ;PRELOAD WORD PRECEEDING FIRST WORD OF DESTINATION
7529 ;BLOCK WITH DEST-1
7530 036415 561 01 0 00 000001 HRROI DEST,DEST ;PRELOAD FIRST WORD OF DESTINATION BLOCK WITH DEST
7531 036416 561 02 0 00 000002 HRROI DEST+1,DEST+1 ;PRELOAD SECOND WORD OF DESTINATION BLOCK
7532 ;WITH DEST+1,DEST+1
7533 036417 561 03 0 00 000003 HRROI DEST+2,DEST+2 ;PRELOAD THIRD WORD OF DESTINATION BLOCK WITH DEST+2
7534 036420 561 04 0 00 000004 HRROI DEST+3,DEST+3 ;PRELOAD FOURTH WORD OF DESTINATION BLOCK WITH DEST+3
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 84-1
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0197
7535 036421 561 05 0 00 000005 HRROI DEST+4,DEST+4 ;PRELOAD FIFTH WORD OF DESTINATION BLOCK WITH DEST+4
7536 036422 561 06 0 00 000006 HRROI DEST+5,DEST+5 ;PRELOAD SIXTH WORD OF DESTINATION BLOCK WITH DEST+5
7537 036423 561 07 0 00 000007 HRROI DEST+6,DEST+6 ;PRELOAD SEVENTH WORD OF DESTINATION BLOCK WITH DEST+6
7538 036424 561 10 0 00 000010 HRROI DEST+7,DEST+7 ;PRELOAD EIGHTH WORD OF DESTINATION BLOCK WITH DEST+7
7539 036425 561 11 0 00 000011 HRROI DEST+^D8,DEST+^D8 ;PRELOAD NINTH WORD OF DESTINATION BLOCK WITH DEST+8
7540 036426 561 12 0 00 000012 HRROI DEST+^D9,DEST+^D9 ;PRELOAD TENTH WORD OF DESTINATION BLOCK WITH DEST+9
7541 036427 561 13 0 00 000013 HRROI DEST+SIZ,DEST+SIZ ;PRELOAD WORD FOLLOWING LAST WORD OF DESTINATION
7542 ;BLOCK WITH DEST+SIZ
7543 036430 251 14 0 00 000012 BLT AC,DEST+SIZ-1 ;*BLT SHOULD LOAD DESTINATION BLOCK FROM SOURCE BLOCK
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 85
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0198
7544 ;DO A BLT WHERE SOURCE BLOCK HAS NON-AC ADDRESS AND DESTINATION BLOCK
7545 ;HAS AC ADDRESS - MULTIPLE PATTERN (CONTINUED)
7546
7547 021601 SN=SN+1
7548 036431 200 15 0 00 040220 MOVE AC+1,SRCE-1
7549 036432 312 15 0 00 040752 CAME AC+1,[230703,,603700] ;WAS WORD PRECEEDING FIRST WORD OF SOURCE
7550 ;BLOCK CLOBBERED?
7551 036433 002 15 0 00 021601 ER2 AC+1,SN ;FAIL IF WORD PRECEEDING FIRST WORD OF SOURCE BLOCK
7552 ;WAS CLOBBERED
7553 021602 SN=SN+1
7554 036434 200 15 0 00 040221 MOVE AC+1,SRCE
7555 036435 312 15 0 00 041016 CAME AC+1,[252525,,252525] ;WAS FIRST WORD OF SOURCE BLOCK CLOBBERED
7556 036436 002 15 0 00 021602 ER2 AC+1,SN ;FAIL IF FIRST WORD OF SOURCE BLOCK WAS CLOBBERED
7557 021603 SN=SN+1
7558 036437 200 15 0 00 040222 MOVE AC+1,SRCE+1
7559 036440 312 15 0 00 041035 CAME AC+1,[146314,,631463] ;WAS SECOND WORD OF SOURCE BLOCK CLOBBERED?
7560 036441 002 15 0 00 021603 ER2 AC+1,SN ;FAIL IF SECOND WORD OF SOURCE BLOCK WAS CLOBBERED
7561 021604 SN=SN+1
7562 036442 200 15 0 00 040223 MOVE AC+1,SRCE+2
7563 036443 312 15 0 00 041020 CAME AC+1,[070707,,070707] ;WAS THIRD WORD OF SOURCE BLOCK CLOBBERED?
7564 036444 002 15 0 00 021604 ER2 AC+1,SN ;FAIL IF THIRD WORD OF SOURCE BLOCK WAS CLOBBERED
7565 021605 SN=SN+1
7566 036445 200 15 0 00 040224 MOVE AC+1,SRCE+3
7567 036446 312 15 0 00 041042 CAME AC+1,[036074,,170630] ;WAS FOURTH WORD OF SOURCE BLOCK CLOBBERED?
7568 036447 002 15 0 00 021605 ER2 AC+1,SN ;FAIL IF FOURTH WORD OF SOURCE BLOCK WAS CLOBBERED
7569 021606 SN=SN+1
7570 036450 200 15 0 00 040225 MOVE AC+1,SRCE+4
7571 036451 312 15 0 00 041037 CAME AC+1,[017407,,603701] ;WAS FIFTH WORD OF SOURCE BLOCK CLOBBERED?
7572 036452 002 15 0 00 021606 ER2 AC+1,SN ;FAIL IF FIFTH WORD OF SOURCE BLOCK WAS CLOBBERED
7573 021607 SN=SN+1
7574 036453 200 15 0 00 040226 MOVE AC+1,SRCE+5
7575 036454 312 15 0 00 041050 CAME AC+1,[007700,,770077] ;WAS SIXTH WORD OF SOURCE BLOCK CLOBBERED?
7576 036455 002 15 0 00 021607 ER2 AC+1,SN ;FAIL IF SIXTH WORD OF SOURCE BLOCK WAS CLOBBERED
7577 021610 SN=SN+1
7578 036456 200 15 0 00 040227 MOVE AC+1,SRCE+6
7579 036457 312 15 0 00 041051 CAME AC+1,[003760,,077401] ;WAS SEVENTH WORD OF SOURCE BLOCK CLOBBERED?
7580 036460 002 15 0 00 021610 ER2 AC+1,SN ;FAIL IF SEVENTH WORD OF SOURCE BLOCK WAS CLOBBERED
7581 021611 SN=SN+1
7582 036461 200 15 0 00 040230 MOVE AC+1,SRCE+7
7583 036462 312 15 0 00 041052 CAME AC+1,[001774,,007760] ;WAS EIGHTH WORD OF SOURCE BLOCK CLOBBERED?
7584 036463 002 15 0 00 021611 ER2 AC+1,SN ;FAIL IF EIGTH WORD OF SOURCE BLOCK WAS CLOBBERED
7585 021612 SN=SN+1
7586 036464 200 15 0 00 040231 MOVE AC+1,SRCE+^D8
7587 036465 312 15 0 00 041053 CAME AC+1,[000777,,000777] ;WAS NINTH WORD OF SOURCE BLOCK CLOBBERED?
7588 036466 002 15 0 00 021612 ER2 AC+1,SN ;FAIL IF NINTH WORD OF SOURCE BLOCK WAS CLOBBERED
7589 021613 SN=SN+1
7590 036467 200 15 0 00 040232 MOVE AC+1,SRCE+^D9
7591 036470 312 15 0 00 041054 CAME AC+1,[000377,,600077] ;WAS LAST WORD OF SOURCE BLOCK CLOBBERED?
7592 036471 002 15 0 00 021613 ER2 AC+1,SN ;FAIL IF LAST WORD OF SOURCE BLOCK WAS CLOBBERED
7593 021614 SN=SN+1
7594 036472 200 15 0 00 040233 MOVE AC+1,SRCE+SIZ
7595 036473 312 15 0 00 041040 CAME AC+1,[007603,,607062] ;WAS WORD FOLLOWING LAST WORD OF SOURCE
7596 ;BLOCK CLOBBERED?
7597 036474 002 15 0 00 021614 ER2 AC+1,SN ;FAIL IF WORD FOLLOWING LAST WORD OF SOURCE BLOCK WAS
7598 ;CLOBBERED
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 86
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0199
7599 ;DO A BLT WHERE SOURCE BLOCK HAS NON-AC ADDRESS AND DESTINATION BLOCK
7600 ;HAS AC ADDRESS - MULTIPLE PATTERN (CONTINUED)
7601
7602 021615 SN=SN+1
7603 036475 312 00 0 00 041060 CAME DEST-1,[-1,,DEST-1] ;WAS WORD PRECEEDING FIRST WORD OF DESTINATION
7604 ;BLOCK CLOBBERED?
7605 036476 002 00 0 00 021615 ER2 DEST-1,SN ;FAIL IF WORD PRECEEDING FIRST WORD OF DESTINATION
7606 ;BLOCK WAS CLOBBERED?
7607 021616 SN=SN+1
7608 036477 312 01 0 00 041016 CAME DEST,[252525,,252525] ;WAS FIRST WORD OF DESTINATION BLOCK LOADED
7609 ;CORRECTLY FROM SOURCE?
7610 036500 002 01 0 00 021616 ER2 DEST,SN ;FAIL IF FIRST WORD OF DESTINATION BLOCK NOT LOADED
7611 ;CORRECTLY FROM SOURCE
7612 021617 SN=SN+1
7613 036501 312 02 0 00 041035 CAME DEST+1,[146314,,631463] ;WAS SECOND WORD OF DESTINATION BLOCK
7614 ;LOADED CORRECTLY FROM SOURCE?
7615 036502 002 02 0 00 021617 ER2 DEST+1,SN ;FAIL IF SECOND WORD OF DESTINATION BLOCK NOT LOADED
7616 ;CORRECTLY FROM SOURCE
7617 021620 SN=SN+1
7618 036503 312 03 0 00 041020 CAME DEST+2,[070707,,070707] ;WAS THIRD WORD OF DESTINATION BLOCK
7619 ;LOADED CORRECTLY FROM SOURCE?
7620 036504 002 03 0 00 021620 ER2 DEST+2,SN ;FAIL IF THIRD WORD OF DESTINATION BLOCK NOT LOADED
7621 ;CORRECTLY FROM SOURCE
7622 021621 SN=SN+1
7623 036505 312 04 0 00 041042 CAME DEST+3,[036074,,170630] ;WAS FOURTH WORD OF DESTINATION BLOCK
7624 ;LOADED CORRECTLY FROM SOURCE?
7625 036506 002 04 0 00 021621 ER2 DEST+3,SN ;FAIL IF FOURTH WORD OF DESTINATION BLOCK NOT LOADED
7626 ;CORRECTLY FROM SOURCE
7627 021622 SN=SN+1
7628 036507 312 05 0 00 041037 CAME DEST+4,[017407,,603701] ;WAS FIFTH WORD OF DESTINATION BLOCK
7629 ;LOADED CORRECTLY FROM SOURCE?
7630 036510 002 05 0 00 021622 ER2 DEST+4,SN ;FAIL IF FIFTH WORD OF DESTINATION BLOCK NOT LOADED
7631 ;CORRECTLY FROM SOURCE
7632 021623 SN=SN+1
7633 036511 312 06 0 00 041050 CAME DEST+5,[007700,,770077] ;WAS SIXTH WORD OF DESTINATION BLOCK
7634 ;LOADED CORRECTLY FROM SOURCE?
7635 036512 002 06 0 00 021623 ER2 DEST+5,SN ;FAIL IF SIXTH WORD OF DESTINATION BLOCK NOT LOADED
7636 ;CORRECTLY FROM SOURCE
7637 021624 SN=SN+1
7638 036513 312 07 0 00 041051 CAME DEST+6,[003760,,077401] ;WAS SEVENTH WORD OF DESTINATION BLOCK
7639 ;LOADED CORRECTLY FROM SOURCE?
7640 036514 002 07 0 00 021624 ER2 DEST+6,SN ;FAIL IF SEVENTH WORD OF DESTINATION BLOCK NOT LOADED
7641 ;CORRECTLY FROM SOURCE
7642 021625 SN=SN+1
7643 036515 312 10 0 00 041052 CAME DEST+7,[001774,,007760] ;WAS EIGHTH WORD OF DESTINATION BLOCK
7644 ;LOADED CORRECTLY FROM SOURCE?
7645 036516 002 10 0 00 021625 ER2 DEST+7,SN ;FAIL IF EIGHTH WORD OF DESTINATION BLOCK NOT LOADED
7646 ;CORRECTLY FROM SOURCE
7647 021626 SN=SN+1
7648 036517 312 11 0 00 041053 CAME DEST+^D8,[000777,,000777] ;WAS NINTH WORD OF DESTINATION BLOCK
7649 ;LOADED CORRECTLY FROM SOURCE?
7650 036520 002 11 0 00 021626 ER2 DEST+^D8,SN ;FAIL IF NINTH WORD OF DESTINATION BLOCK NOT LOADED
7651 ;CORRECTLY FROM SOURCE
7652 021627 SN=SN+1
7653 036521 312 12 0 00 041054 CAME DEST+^D9,[000377,,600077] ;WAS LAST WORD OF DESTINATION BLOCK
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 86-1
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0200
7654 ;LOADED CORRECTLY FROM SOURCE?
7655 036522 002 12 0 00 021627 ER2 DEST+^D9,SN ;FAIL IF LAST WORD OF DESTINATION BLOCK NOT LOADED
7656 ;CORRECTLY FROM SOURCE
7657 021630 SN=SN+1
7658 036523 312 13 0 00 041061 CAME DEST+SIZ,[-1,,DEST+SIZ] ;WAS WORD FOLLOWING LAST WORD OF DESTINATION
7659 ;BLOCK CLOBBERED?
7660 036524 002 13 0 00 021630 ER2 DEST+SIZ,SN ;FAIL IF WORD FOLLOWING LAST WORD OF DESTINATION
7661 ;BLOCK WAS CLOBBERED
7662 036525 321 16 0 00 036363 JUMPL AC+2,G21600 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 87
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0201
7663 ;TEST BLT WITH 'E' LESS THAN RH(AC)
7664 ;SUCH THAT THE BLT INSTR. TRANSFERS ONLY ONE WORD, THEN STOPS.
7665
7666 000010 AC=10
7667 SAVEAC (1,1)^
7668 036526 201 12 0 00 036526 MOVEI AC+2,. ;SAVE TEST PC
7669 036527 202 12 0 00 030051 MOVEM AC+2,TESTPC
7670 036530 201 12 0 00 000012 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
7671 036531 202 12 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
7672 021700 SN=21700
7673
7674 041224 BLTSRC=END+2
7675 041230 BLTDST=END+6
7676
7677 036532 200 10 0 00 041016 G21700: MOVE AC,[252525,,252525] ; PRELOAD FOR SRC-1
7678 036533 202 10 0 00 041223 MOVEM AC,BLTSRC-1
7679 036534 200 10 0 00 040726 MOVE AC,[707070,,707070] ; PRELOAD FOR SRC
7680 036535 202 10 0 00 041224 MOVEM AC,BLTSRC
7681 036536 200 10 0 00 041062 MOVE AC,[525252,,525252] ;PRELOAD FOR SRC+1
7682 036537 202 10 0 00 041225 MOVEM AC,BLTSRC+1
7683 036540 200 10 0 00 041063 MOVE AC,[123456,,654321] ;PRELOAD FOR DST-1
7684 036541 202 10 0 00 041227 MOVEM AC,BLTDST-1
7685 036542 200 10 0 00 041020 MOVE AC,[070707,,070707] ;PRELOAD FOR DST
7686 036543 202 10 0 00 041230 MOVEM AC,BLTDST
7687 036544 200 10 0 00 040743 MOVE AC,[112233,,445566] ;PRELOAD FOR DST+1
7688 036545 202 10 0 00 041231 MOVEM AC,BLTDST+1
7689
7690 036546 200 10 0 00 041064 MOVE AC,[BLTSRC,,BLTDST] ;SETUP BLT PTR=FROM,,TO
7691 036547 251 10 0 00 041227 BLT AC,BLTDST-1 ;*BLT SHOULD XFER ONE WORD AND STOP
7692
7693 021701 SN=SN+1
7694 036550 312 10 0 00 041064 CAME AC,[BLTSRC,,BLTDST] ;SEE IF PTR CHANGED
7695 036551 002 10 0 00 021701 ER2 AC,SN ;YES, REPORT
7696 021702 SN=SN+1
7697 036552 200 10 0 00 041016 MOVE AC,[252525,,252525] ;GET PRELOAD FOR SRC-1
7698 036553 312 10 0 00 041223 CAME AC,BLTSRC-1 ;SEE IF OK
7699 036554 002 10 0 00 021702 ER2 AC,SN ;REPORT ERROR
7700 021703 SN=SN+1
7701 036555 200 10 0 00 040726 MOVE AC,[707070,,707070] ;GET PRELOAD FOR SRC
7702 036556 312 10 0 00 041224 CAME AC,BLTSRC ;SEE IF SRC OK
7703 036557 002 10 0 00 021703 ER2 AC,SN ; REPORT ERR
7704 021704 SN=SN+1
7705 036560 200 10 0 00 041062 MOVE AC,[525252,,525252] ;GET PRELOAD FOR SRC+1
7706 036561 312 10 0 00 041225 CAME AC,BLTSRC+1 ;SEE IF OK
7707 036562 002 10 0 00 021704 ER2 AC,SN ;REPORT ER
7708 021705 SN=SN+1
7709 036563 200 10 0 00 041063 MOVE AC,[123456,,654321] ;GET PRELOAD FOR DST-1
7710 036564 312 10 0 00 041227 CAME AC,BLTDST-1 ;SEE IF OK
7711 036565 002 10 0 00 021705 ER2 AC,SN ;REPORT ERR
7712 021706 SN=SN+1
7713 036566 200 10 0 00 040726 MOVE AC,[707070,,707070] ;GET PRELOAD FOR SRC***
7714 036567 312 10 0 00 041230 CAME AC,BLTDST ;SEE IF IT XFERED A WORD
7715 036570 002 10 0 00 021706 ER2 AC,SN ;REPORT ER
7716 021707 SN=SN+1
7717 036571 200 10 0 00 040743 MOVE AC,[112233,,445566] ;GET PRELOAD FOR DST+1
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 87-1
DAKAMM MAC 20-JAN-77 11:34 PART II - GENERAL BLOCK TRANSFER TEST SEQ 0202
7718 036572 312 10 0 00 041231 CAME AC,BLTDST+1 ;SEE IF XFERED ONLY ONE WORD
7719 036573 002 10 0 00 021707 ER2 AC,SN ;REPORT ERR
7720
7721 036574 321 12 0 00 036532 JUMPL AC+2,G21700 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 88
DAKAMM MAC 20-JAN-77 11:34 PART III - GENERAL JFFO TEST SEQ 0203
7722 SUBTTL PART III - GENERAL JFFO TEST
7723
7724 ;VERIFY THAT JFFO WILL CLEAR AC+1 AND NOT JUMP WHEN C(AC)=0
7725
7726 030100 G30000: SN=30100
7727 777777 777777 AC=-1
7728
7729 036575 201 00 0 00 041065 MOVEI [ASCIZ/JFFO NO-JUMP FAILED/]
7730 036576 202 00 0 00 040646 MOVEM SPDES ;INITIALIZE SPECIAL FAILURE DESCRIPTOR
7731
7732 G30100: REPEAT ^D13,<
7733 ;VERIFY THAT JFFO WILL CLEAR AC+1 AND NOT JUMP WHEN C(AC)=0.
7734 ;THIS TEST IS REPEATED 13 TIMES, ONCE FOR EACH USABLE AC.
7735
7736 SN=SN+1
7737 AC=<AC+1>&17
7738 SAVEAC (1,1)
7739
7740 SETZM AC ;CLEAR AC
7741 SETOM <AC+1>&17 ;INITIALIZE AC+1
7742 JFFO AC,.+2 ;*JFFO SHOULD CLEAR AC+1 AND NOT JUMP
7743 JRST .+2 ;PASS IF JFFO DOES NOT JUMP
7744 ER2 AC,SN ;ERROR IF JFFO JUMPED
7745 SKIPE AC ;EXAMINE AC
7746 ER3 AC,SN ;C(AC) WAS CLOBBERED
7747 SKIPE <AC+1>&17 ;EXAMINE AC+1
7748 ER4 AC+1,SN ;AC+1 WAS NOT CLEARED
7749 JUMPL AC+2,-^D9 ;LOOP ON ERROR SWITCH
7750 >
7751
7752 ;VERIFY THAT JFFO WILL CLEAR AC+1 AND NOT JUMP WHEN C(AC)=0.
7753 ;THIS TEST IS REPEATED 13 TIMES, ONCE FOR EACH USABLE AC.
7754
7755 030101 SN=SN+1
7756 000000 AC=<AC+1>&17
7757 SAVEAC (1,1)^
7758 036577 201 02 0 00 036577 MOVEI AC+2,. ;SAVE TEST PC
7759 036600 202 02 0 00 030051 MOVEM AC+2,TESTPC
7760 036601 201 02 0 00 000002 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
7761 036602 202 02 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
7762
7763 036603 402 00 0 00 000000 SETZM AC ;CLEAR AC
7764 036604 476 00 0 00 000001 SETOM <AC+1>&17 ;INITIALIZE AC+1
7765 036605 243 00 0 00 036607 JFFO AC,.+2 ;*JFFO SHOULD CLEAR AC+1 AND NOT JUMP
7766 036606 254 00 0 00 036610 JRST .+2 ;PASS IF JFFO DOES NOT JUMP
7767 036607 002 00 0 00 030101 ER2 AC,SN ;ERROR IF JFFO JUMPED
7768 036610 332 00 0 00 000000 SKIPE AC ;EXAMINE AC
7769 036611 003 00 0 00 030101 ER3 AC,SN ;C(AC) WAS CLOBBERED
7770 036612 332 00 0 00 000001 SKIPE <AC+1>&17 ;EXAMINE AC+1
7771 036613 004 01 0 00 030101 ER4 AC+1,SN ;AC+1 WAS NOT CLEARED
7772 036614 321 02 0 00 777767 JUMPL AC+2,-^D9 ;LOOP ON ERROR SWITCH
7773
7774
7775 ;VERIFY THAT JFFO WILL CLEAR AC+1 AND NOT JUMP WHEN C(AC)=0.
7776 ;THIS TEST IS REPEATED 13 TIMES, ONCE FOR EACH USABLE AC.
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 88-1
DAKAMM MAC 20-JAN-77 11:34 PART III - GENERAL JFFO TEST SEQ 0204
7777
7778 030102 SN=SN+1
7779 000001 AC=<AC+1>&17
7780 SAVEAC (1,1)^
7781 036615 201 03 0 00 036615 MOVEI AC+2,. ;SAVE TEST PC
7782 036616 202 03 0 00 030051 MOVEM AC+2,TESTPC
7783 036617 201 03 0 00 000003 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
7784 036620 202 03 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
7785
7786 036621 402 00 0 00 000001 SETZM AC ;CLEAR AC
7787 036622 476 00 0 00 000002 SETOM <AC+1>&17 ;INITIALIZE AC+1
7788 036623 243 01 0 00 036625 JFFO AC,.+2 ;*JFFO SHOULD CLEAR AC+1 AND NOT JUMP
7789 036624 254 00 0 00 036626 JRST .+2 ;PASS IF JFFO DOES NOT JUMP
7790 036625 002 01 0 00 030102 ER2 AC,SN ;ERROR IF JFFO JUMPED
7791 036626 332 00 0 00 000001 SKIPE AC ;EXAMINE AC
7792 036627 003 01 0 00 030102 ER3 AC,SN ;C(AC) WAS CLOBBERED
7793 036630 332 00 0 00 000002 SKIPE <AC+1>&17 ;EXAMINE AC+1
7794 036631 004 02 0 00 030102 ER4 AC+1,SN ;AC+1 WAS NOT CLEARED
7795 036632 321 03 0 00 777767 JUMPL AC+2,-^D9 ;LOOP ON ERROR SWITCH
7796
7797
7798 ;VERIFY THAT JFFO WILL CLEAR AC+1 AND NOT JUMP WHEN C(AC)=0.
7799 ;THIS TEST IS REPEATED 13 TIMES, ONCE FOR EACH USABLE AC.
7800
7801 030103 SN=SN+1
7802 000002 AC=<AC+1>&17
7803 SAVEAC (1,1)^
7804 036633 201 04 0 00 036633 MOVEI AC+2,. ;SAVE TEST PC
7805 036634 202 04 0 00 030051 MOVEM AC+2,TESTPC
7806 036635 201 04 0 00 000004 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
7807 036636 202 04 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
7808
7809 036637 402 00 0 00 000002 SETZM AC ;CLEAR AC
7810 036640 476 00 0 00 000003 SETOM <AC+1>&17 ;INITIALIZE AC+1
7811 036641 243 02 0 00 036643 JFFO AC,.+2 ;*JFFO SHOULD CLEAR AC+1 AND NOT JUMP
7812 036642 254 00 0 00 036644 JRST .+2 ;PASS IF JFFO DOES NOT JUMP
7813 036643 002 02 0 00 030103 ER2 AC,SN ;ERROR IF JFFO JUMPED
7814 036644 332 00 0 00 000002 SKIPE AC ;EXAMINE AC
7815 036645 003 02 0 00 030103 ER3 AC,SN ;C(AC) WAS CLOBBERED
7816 036646 332 00 0 00 000003 SKIPE <AC+1>&17 ;EXAMINE AC+1
7817 036647 004 03 0 00 030103 ER4 AC+1,SN ;AC+1 WAS NOT CLEARED
7818 036650 321 04 0 00 777767 JUMPL AC+2,-^D9 ;LOOP ON ERROR SWITCH
7819
7820
7821 ;VERIFY THAT JFFO WILL CLEAR AC+1 AND NOT JUMP WHEN C(AC)=0.
7822 ;THIS TEST IS REPEATED 13 TIMES, ONCE FOR EACH USABLE AC.
7823
7824 030104 SN=SN+1
7825 000003 AC=<AC+1>&17
7826 SAVEAC (1,1)^
7827 036651 201 05 0 00 036651 MOVEI AC+2,. ;SAVE TEST PC
7828 036652 202 05 0 00 030051 MOVEM AC+2,TESTPC
7829 036653 201 05 0 00 000005 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
7830 036654 202 05 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
7831
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 88-2
DAKAMM MAC 20-JAN-77 11:34 PART III - GENERAL JFFO TEST SEQ 0205
7832 036655 402 00 0 00 000003 SETZM AC ;CLEAR AC
7833 036656 476 00 0 00 000004 SETOM <AC+1>&17 ;INITIALIZE AC+1
7834 036657 243 03 0 00 036661 JFFO AC,.+2 ;*JFFO SHOULD CLEAR AC+1 AND NOT JUMP
7835 036660 254 00 0 00 036662 JRST .+2 ;PASS IF JFFO DOES NOT JUMP
7836 036661 002 03 0 00 030104 ER2 AC,SN ;ERROR IF JFFO JUMPED
7837 036662 332 00 0 00 000003 SKIPE AC ;EXAMINE AC
7838 036663 003 03 0 00 030104 ER3 AC,SN ;C(AC) WAS CLOBBERED
7839 036664 332 00 0 00 000004 SKIPE <AC+1>&17 ;EXAMINE AC+1
7840 036665 004 04 0 00 030104 ER4 AC+1,SN ;AC+1 WAS NOT CLEARED
7841 036666 321 05 0 00 777767 JUMPL AC+2,-^D9 ;LOOP ON ERROR SWITCH
7842
7843
7844 ;VERIFY THAT JFFO WILL CLEAR AC+1 AND NOT JUMP WHEN C(AC)=0.
7845 ;THIS TEST IS REPEATED 13 TIMES, ONCE FOR EACH USABLE AC.
7846
7847 030105 SN=SN+1
7848 000004 AC=<AC+1>&17
7849 SAVEAC (1,1)^
7850 036667 201 06 0 00 036667 MOVEI AC+2,. ;SAVE TEST PC
7851 036670 202 06 0 00 030051 MOVEM AC+2,TESTPC
7852 036671 201 06 0 00 000006 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
7853 036672 202 06 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
7854
7855 036673 402 00 0 00 000004 SETZM AC ;CLEAR AC
7856 036674 476 00 0 00 000005 SETOM <AC+1>&17 ;INITIALIZE AC+1
7857 036675 243 04 0 00 036677 JFFO AC,.+2 ;*JFFO SHOULD CLEAR AC+1 AND NOT JUMP
7858 036676 254 00 0 00 036700 JRST .+2 ;PASS IF JFFO DOES NOT JUMP
7859 036677 002 04 0 00 030105 ER2 AC,SN ;ERROR IF JFFO JUMPED
7860 036700 332 00 0 00 000004 SKIPE AC ;EXAMINE AC
7861 036701 003 04 0 00 030105 ER3 AC,SN ;C(AC) WAS CLOBBERED
7862 036702 332 00 0 00 000005 SKIPE <AC+1>&17 ;EXAMINE AC+1
7863 036703 004 05 0 00 030105 ER4 AC+1,SN ;AC+1 WAS NOT CLEARED
7864 036704 321 06 0 00 777767 JUMPL AC+2,-^D9 ;LOOP ON ERROR SWITCH
7865
7866
7867 ;VERIFY THAT JFFO WILL CLEAR AC+1 AND NOT JUMP WHEN C(AC)=0.
7868 ;THIS TEST IS REPEATED 13 TIMES, ONCE FOR EACH USABLE AC.
7869
7870 030106 SN=SN+1
7871 000005 AC=<AC+1>&17
7872 SAVEAC (1,1)^
7873 036705 201 07 0 00 036705 MOVEI AC+2,. ;SAVE TEST PC
7874 036706 202 07 0 00 030051 MOVEM AC+2,TESTPC
7875 036707 201 07 0 00 000007 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
7876 036710 202 07 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
7877
7878 036711 402 00 0 00 000005 SETZM AC ;CLEAR AC
7879 036712 476 00 0 00 000006 SETOM <AC+1>&17 ;INITIALIZE AC+1
7880 036713 243 05 0 00 036715 JFFO AC,.+2 ;*JFFO SHOULD CLEAR AC+1 AND NOT JUMP
7881 036714 254 00 0 00 036716 JRST .+2 ;PASS IF JFFO DOES NOT JUMP
7882 036715 002 05 0 00 030106 ER2 AC,SN ;ERROR IF JFFO JUMPED
7883 036716 332 00 0 00 000005 SKIPE AC ;EXAMINE AC
7884 036717 003 05 0 00 030106 ER3 AC,SN ;C(AC) WAS CLOBBERED
7885 036720 332 00 0 00 000006 SKIPE <AC+1>&17 ;EXAMINE AC+1
7886 036721 004 06 0 00 030106 ER4 AC+1,SN ;AC+1 WAS NOT CLEARED
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 88-3
DAKAMM MAC 20-JAN-77 11:34 PART III - GENERAL JFFO TEST SEQ 0206
7887 036722 321 07 0 00 777767 JUMPL AC+2,-^D9 ;LOOP ON ERROR SWITCH
7888
7889
7890 ;VERIFY THAT JFFO WILL CLEAR AC+1 AND NOT JUMP WHEN C(AC)=0.
7891 ;THIS TEST IS REPEATED 13 TIMES, ONCE FOR EACH USABLE AC.
7892
7893 030107 SN=SN+1
7894 000006 AC=<AC+1>&17
7895 SAVEAC (1,1)^
7896 036723 201 10 0 00 036723 MOVEI AC+2,. ;SAVE TEST PC
7897 036724 202 10 0 00 030051 MOVEM AC+2,TESTPC
7898 036725 201 10 0 00 000010 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
7899 036726 202 10 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
7900
7901 036727 402 00 0 00 000006 SETZM AC ;CLEAR AC
7902 036730 476 00 0 00 000007 SETOM <AC+1>&17 ;INITIALIZE AC+1
7903 036731 243 06 0 00 036733 JFFO AC,.+2 ;*JFFO SHOULD CLEAR AC+1 AND NOT JUMP
7904 036732 254 00 0 00 036734 JRST .+2 ;PASS IF JFFO DOES NOT JUMP
7905 036733 002 06 0 00 030107 ER2 AC,SN ;ERROR IF JFFO JUMPED
7906 036734 332 00 0 00 000006 SKIPE AC ;EXAMINE AC
7907 036735 003 06 0 00 030107 ER3 AC,SN ;C(AC) WAS CLOBBERED
7908 036736 332 00 0 00 000007 SKIPE <AC+1>&17 ;EXAMINE AC+1
7909 036737 004 07 0 00 030107 ER4 AC+1,SN ;AC+1 WAS NOT CLEARED
7910 036740 321 10 0 00 777767 JUMPL AC+2,-^D9 ;LOOP ON ERROR SWITCH
7911
7912
7913 ;VERIFY THAT JFFO WILL CLEAR AC+1 AND NOT JUMP WHEN C(AC)=0.
7914 ;THIS TEST IS REPEATED 13 TIMES, ONCE FOR EACH USABLE AC.
7915
7916 030110 SN=SN+1
7917 000007 AC=<AC+1>&17
7918 SAVEAC (1,1)^
7919 036741 201 11 0 00 036741 MOVEI AC+2,. ;SAVE TEST PC
7920 036742 202 11 0 00 030051 MOVEM AC+2,TESTPC
7921 036743 201 11 0 00 000011 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
7922 036744 202 11 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
7923
7924 036745 402 00 0 00 000007 SETZM AC ;CLEAR AC
7925 036746 476 00 0 00 000010 SETOM <AC+1>&17 ;INITIALIZE AC+1
7926 036747 243 07 0 00 036751 JFFO AC,.+2 ;*JFFO SHOULD CLEAR AC+1 AND NOT JUMP
7927 036750 254 00 0 00 036752 JRST .+2 ;PASS IF JFFO DOES NOT JUMP
7928 036751 002 07 0 00 030110 ER2 AC,SN ;ERROR IF JFFO JUMPED
7929 036752 332 00 0 00 000007 SKIPE AC ;EXAMINE AC
7930 036753 003 07 0 00 030110 ER3 AC,SN ;C(AC) WAS CLOBBERED
7931 036754 332 00 0 00 000010 SKIPE <AC+1>&17 ;EXAMINE AC+1
7932 036755 004 10 0 00 030110 ER4 AC+1,SN ;AC+1 WAS NOT CLEARED
7933 036756 321 11 0 00 777767 JUMPL AC+2,-^D9 ;LOOP ON ERROR SWITCH
7934
7935
7936 ;VERIFY THAT JFFO WILL CLEAR AC+1 AND NOT JUMP WHEN C(AC)=0.
7937 ;THIS TEST IS REPEATED 13 TIMES, ONCE FOR EACH USABLE AC.
7938
7939 030111 SN=SN+1
7940 000010 AC=<AC+1>&17
7941 SAVEAC (1,1)^
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 88-4
DAKAMM MAC 20-JAN-77 11:34 PART III - GENERAL JFFO TEST SEQ 0207
7942 036757 201 12 0 00 036757 MOVEI AC+2,. ;SAVE TEST PC
7943 036760 202 12 0 00 030051 MOVEM AC+2,TESTPC
7944 036761 201 12 0 00 000012 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
7945 036762 202 12 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
7946
7947 036763 402 00 0 00 000010 SETZM AC ;CLEAR AC
7948 036764 476 00 0 00 000011 SETOM <AC+1>&17 ;INITIALIZE AC+1
7949 036765 243 10 0 00 036767 JFFO AC,.+2 ;*JFFO SHOULD CLEAR AC+1 AND NOT JUMP
7950 036766 254 00 0 00 036770 JRST .+2 ;PASS IF JFFO DOES NOT JUMP
7951 036767 002 10 0 00 030111 ER2 AC,SN ;ERROR IF JFFO JUMPED
7952 036770 332 00 0 00 000010 SKIPE AC ;EXAMINE AC
7953 036771 003 10 0 00 030111 ER3 AC,SN ;C(AC) WAS CLOBBERED
7954 036772 332 00 0 00 000011 SKIPE <AC+1>&17 ;EXAMINE AC+1
7955 036773 004 11 0 00 030111 ER4 AC+1,SN ;AC+1 WAS NOT CLEARED
7956 036774 321 12 0 00 777767 JUMPL AC+2,-^D9 ;LOOP ON ERROR SWITCH
7957
7958
7959 ;VERIFY THAT JFFO WILL CLEAR AC+1 AND NOT JUMP WHEN C(AC)=0.
7960 ;THIS TEST IS REPEATED 13 TIMES, ONCE FOR EACH USABLE AC.
7961
7962 030112 SN=SN+1
7963 000011 AC=<AC+1>&17
7964 SAVEAC (1,1)^
7965 036775 201 13 0 00 036775 MOVEI AC+2,. ;SAVE TEST PC
7966 036776 202 13 0 00 030051 MOVEM AC+2,TESTPC
7967 036777 201 13 0 00 000013 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
7968 037000 202 13 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
7969
7970 037001 402 00 0 00 000011 SETZM AC ;CLEAR AC
7971 037002 476 00 0 00 000012 SETOM <AC+1>&17 ;INITIALIZE AC+1
7972 037003 243 11 0 00 037005 JFFO AC,.+2 ;*JFFO SHOULD CLEAR AC+1 AND NOT JUMP
7973 037004 254 00 0 00 037006 JRST .+2 ;PASS IF JFFO DOES NOT JUMP
7974 037005 002 11 0 00 030112 ER2 AC,SN ;ERROR IF JFFO JUMPED
7975 037006 332 00 0 00 000011 SKIPE AC ;EXAMINE AC
7976 037007 003 11 0 00 030112 ER3 AC,SN ;C(AC) WAS CLOBBERED
7977 037010 332 00 0 00 000012 SKIPE <AC+1>&17 ;EXAMINE AC+1
7978 037011 004 12 0 00 030112 ER4 AC+1,SN ;AC+1 WAS NOT CLEARED
7979 037012 321 13 0 00 777767 JUMPL AC+2,-^D9 ;LOOP ON ERROR SWITCH
7980
7981
7982 ;VERIFY THAT JFFO WILL CLEAR AC+1 AND NOT JUMP WHEN C(AC)=0.
7983 ;THIS TEST IS REPEATED 13 TIMES, ONCE FOR EACH USABLE AC.
7984
7985 030113 SN=SN+1
7986 000012 AC=<AC+1>&17
7987 SAVEAC (1,1)^
7988 037013 201 14 0 00 037013 MOVEI AC+2,. ;SAVE TEST PC
7989 037014 202 14 0 00 030051 MOVEM AC+2,TESTPC
7990 037015 201 14 0 00 000014 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
7991 037016 202 14 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
7992
7993 037017 402 00 0 00 000012 SETZM AC ;CLEAR AC
7994 037020 476 00 0 00 000013 SETOM <AC+1>&17 ;INITIALIZE AC+1
7995 037021 243 12 0 00 037023 JFFO AC,.+2 ;*JFFO SHOULD CLEAR AC+1 AND NOT JUMP
7996 037022 254 00 0 00 037024 JRST .+2 ;PASS IF JFFO DOES NOT JUMP
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 88-5
DAKAMM MAC 20-JAN-77 11:34 PART III - GENERAL JFFO TEST SEQ 0208
7997 037023 002 12 0 00 030113 ER2 AC,SN ;ERROR IF JFFO JUMPED
7998 037024 332 00 0 00 000012 SKIPE AC ;EXAMINE AC
7999 037025 003 12 0 00 030113 ER3 AC,SN ;C(AC) WAS CLOBBERED
8000 037026 332 00 0 00 000013 SKIPE <AC+1>&17 ;EXAMINE AC+1
8001 037027 004 13 0 00 030113 ER4 AC+1,SN ;AC+1 WAS NOT CLEARED
8002 037030 321 14 0 00 777767 JUMPL AC+2,-^D9 ;LOOP ON ERROR SWITCH
8003
8004
8005 ;VERIFY THAT JFFO WILL CLEAR AC+1 AND NOT JUMP WHEN C(AC)=0.
8006 ;THIS TEST IS REPEATED 13 TIMES, ONCE FOR EACH USABLE AC.
8007
8008 030114 SN=SN+1
8009 000013 AC=<AC+1>&17
8010 SAVEAC (1,1)^
8011 037031 201 15 0 00 037031 MOVEI AC+2,. ;SAVE TEST PC
8012 037032 202 15 0 00 030051 MOVEM AC+2,TESTPC
8013 037033 201 15 0 00 000015 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
8014 037034 202 15 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
8015
8016 037035 402 00 0 00 000013 SETZM AC ;CLEAR AC
8017 037036 476 00 0 00 000014 SETOM <AC+1>&17 ;INITIALIZE AC+1
8018 037037 243 13 0 00 037041 JFFO AC,.+2 ;*JFFO SHOULD CLEAR AC+1 AND NOT JUMP
8019 037040 254 00 0 00 037042 JRST .+2 ;PASS IF JFFO DOES NOT JUMP
8020 037041 002 13 0 00 030114 ER2 AC,SN ;ERROR IF JFFO JUMPED
8021 037042 332 00 0 00 000013 SKIPE AC ;EXAMINE AC
8022 037043 003 13 0 00 030114 ER3 AC,SN ;C(AC) WAS CLOBBERED
8023 037044 332 00 0 00 000014 SKIPE <AC+1>&17 ;EXAMINE AC+1
8024 037045 004 14 0 00 030114 ER4 AC+1,SN ;AC+1 WAS NOT CLEARED
8025 037046 321 15 0 00 777767 JUMPL AC+2,-^D9 ;LOOP ON ERROR SWITCH
8026
8027
8028 ;VERIFY THAT JFFO WILL CLEAR AC+1 AND NOT JUMP WHEN C(AC)=0.
8029 ;THIS TEST IS REPEATED 13 TIMES, ONCE FOR EACH USABLE AC.
8030
8031 030115 SN=SN+1
8032 000014 AC=<AC+1>&17
8033 SAVEAC (1,1)^
8034 037047 201 16 0 00 037047 MOVEI AC+2,. ;SAVE TEST PC
8035 037050 202 16 0 00 030051 MOVEM AC+2,TESTPC
8036 037051 201 16 0 00 000016 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
8037 037052 202 16 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
8038
8039 037053 402 00 0 00 000014 SETZM AC ;CLEAR AC
8040 037054 476 00 0 00 000015 SETOM <AC+1>&17 ;INITIALIZE AC+1
8041 037055 243 14 0 00 037057 JFFO AC,.+2 ;*JFFO SHOULD CLEAR AC+1 AND NOT JUMP
8042 037056 254 00 0 00 037060 JRST .+2 ;PASS IF JFFO DOES NOT JUMP
8043 037057 002 14 0 00 030115 ER2 AC,SN ;ERROR IF JFFO JUMPED
8044 037060 332 00 0 00 000014 SKIPE AC ;EXAMINE AC
8045 037061 003 14 0 00 030115 ER3 AC,SN ;C(AC) WAS CLOBBERED
8046 037062 332 00 0 00 000015 SKIPE <AC+1>&17 ;EXAMINE AC+1
8047 037063 004 15 0 00 030115 ER4 AC+1,SN ;AC+1 WAS NOT CLEARED
8048 037064 321 16 0 00 777767 JUMPL AC+2,-^D9 ;LOOP ON ERROR SWITCH
8049
8050 PAGE
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 88-6
DAKAMM MAC 20-JAN-77 11:34 PART III - GENERAL JFFO TEST SEQ 0209
8051 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8052 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO
8053
8054 037065 201 00 0 00 041071 MOVEI [ASCIZ/JFFO JUMP FAILED/]
8055 037066 202 00 0 00 040646 MOVEM SPDES ;INITIALIZE SPECIAL FAILURE DESCRIPTER
8056
8057 037067 477 14 0 00 000015 G30200: SETOB AC,<AC+1>&17 ;INITIALIZE AC AND AC+1
8058 037070 243 14 0 00 037072 JFFO AC,.+2
8059 037071 002 14 0 00 030201 ER2 AC,30201 ;ERROR IF JFFO DID NOT JUMP
8060 037072 312 14 0 00 040734 CAME AC,[-1,,-1] ;EXAMINE AC
8061 037073 003 14 0 00 030201 ER3 AC,30201 ;C(AC) WAS CLOBBERED
8062 037074 332 00 0 00 000015 SKIPE <AC+1>&17 ;EXAMINE AC+1
8063 037075 004 15 0 00 030201 ER4 AC+1,30201 ;C(AC+1) NOT = TO NO OF LEADING ZEROS IN AC
8064 037076 321 16 0 00 037067 JUMPL AC+2,G30200 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 89
DAKAMM MAC 20-JAN-77 11:34 PART III - GENERAL JFFO TEST SEQ 0210
8065 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8066 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO
8067 ;RIPPLE A ONE THROUGH A FIELD OF ZEROS IN THE AC TO TEST JFFO
8068
8069 030300 SN=30300
8070 000001 000000 XX=1000000
8071 777777 777777 ZZ=-1
8072
8073 G30300: REPEAT ^D18,<
8074 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8075 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO
8076 ;RIPPLE A ONE THROUGH A FIELD OF ZEROS IN THE AC TO TEST JFFO
8077
8078 SN=SN+1
8079 XX=XX/2
8080 ZZ=ZZ+1
8081 MOVSI AC,XX ;INITIALIZE AC
8082 MOVE AC-2,AC ;INITIALIZE AC-2 FOR COMPARISON
8083 SETOM <AC+1>&17 ;INITIALIZE AC+1
8084 JFFO AC,.+2 ;*JFFO SHOULD PLACE ZZ INTO AC+1 AND JUMP
8085 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
8086 CAME AC,<AC-2>&17 ;EXAMINE AC
8087 ER3 AC,SN ;C(AC) WAS CLOBBERED
8088 CAIE AC+1,ZZ ;EXAMINE AC+1
8089 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ZEROS IN AC
8090 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
8091 >
8092
8093 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8094 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO
8095 ;RIPPLE A ONE THROUGH A FIELD OF ZEROS IN THE AC TO TEST JFFO
8096
8097 030301 SN=SN+1
8098 400000 XX=XX/2
8099 000000 ZZ=ZZ+1
8100 037077 205 14 0 00 400000 MOVSI AC,XX ;INITIALIZE AC
8101 037100 200 12 0 00 000014 MOVE AC-2,AC ;INITIALIZE AC-2 FOR COMPARISON
8102 037101 476 00 0 00 000015 SETOM <AC+1>&17 ;INITIALIZE AC+1
8103 037102 243 14 0 00 037104 JFFO AC,.+2 ;*JFFO SHOULD PLACE ZZ INTO AC+1 AND JUMP
8104 037103 002 14 0 00 030301 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
8105 037104 312 14 0 00 000012 CAME AC,<AC-2>&17 ;EXAMINE AC
8106 037105 003 14 0 00 030301 ER3 AC,SN ;C(AC) WAS CLOBBERED
8107 037106 302 15 0 00 000000 CAIE AC+1,ZZ ;EXAMINE AC+1
8108 037107 004 15 0 00 030301 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ZEROS IN AC
8109 037110 321 16 0 00 037077 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
8110
8111
8112 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8113 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO
8114 ;RIPPLE A ONE THROUGH A FIELD OF ZEROS IN THE AC TO TEST JFFO
8115
8116 030302 SN=SN+1
8117 200000 XX=XX/2
8118 000001 ZZ=ZZ+1
8119 037111 205 14 0 00 200000 MOVSI AC,XX ;INITIALIZE AC
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 89-1
DAKAMM MAC 20-JAN-77 11:34 PART III - GENERAL JFFO TEST SEQ 0211
8120 037112 200 12 0 00 000014 MOVE AC-2,AC ;INITIALIZE AC-2 FOR COMPARISON
8121 037113 476 00 0 00 000015 SETOM <AC+1>&17 ;INITIALIZE AC+1
8122 037114 243 14 0 00 037116 JFFO AC,.+2 ;*JFFO SHOULD PLACE ZZ INTO AC+1 AND JUMP
8123 037115 002 14 0 00 030302 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
8124 037116 312 14 0 00 000012 CAME AC,<AC-2>&17 ;EXAMINE AC
8125 037117 003 14 0 00 030302 ER3 AC,SN ;C(AC) WAS CLOBBERED
8126 037120 302 15 0 00 000001 CAIE AC+1,ZZ ;EXAMINE AC+1
8127 037121 004 15 0 00 030302 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ZEROS IN AC
8128 037122 321 16 0 00 037111 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
8129
8130
8131 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8132 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO
8133 ;RIPPLE A ONE THROUGH A FIELD OF ZEROS IN THE AC TO TEST JFFO
8134
8135 030303 SN=SN+1
8136 100000 XX=XX/2
8137 000002 ZZ=ZZ+1
8138 037123 205 14 0 00 100000 MOVSI AC,XX ;INITIALIZE AC
8139 037124 200 12 0 00 000014 MOVE AC-2,AC ;INITIALIZE AC-2 FOR COMPARISON
8140 037125 476 00 0 00 000015 SETOM <AC+1>&17 ;INITIALIZE AC+1
8141 037126 243 14 0 00 037130 JFFO AC,.+2 ;*JFFO SHOULD PLACE ZZ INTO AC+1 AND JUMP
8142 037127 002 14 0 00 030303 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
8143 037130 312 14 0 00 000012 CAME AC,<AC-2>&17 ;EXAMINE AC
8144 037131 003 14 0 00 030303 ER3 AC,SN ;C(AC) WAS CLOBBERED
8145 037132 302 15 0 00 000002 CAIE AC+1,ZZ ;EXAMINE AC+1
8146 037133 004 15 0 00 030303 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ZEROS IN AC
8147 037134 321 16 0 00 037123 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
8148
8149
8150 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8151 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO
8152 ;RIPPLE A ONE THROUGH A FIELD OF ZEROS IN THE AC TO TEST JFFO
8153
8154 030304 SN=SN+1
8155 040000 XX=XX/2
8156 000003 ZZ=ZZ+1
8157 037135 205 14 0 00 040000 MOVSI AC,XX ;INITIALIZE AC
8158 037136 200 12 0 00 000014 MOVE AC-2,AC ;INITIALIZE AC-2 FOR COMPARISON
8159 037137 476 00 0 00 000015 SETOM <AC+1>&17 ;INITIALIZE AC+1
8160 037140 243 14 0 00 037142 JFFO AC,.+2 ;*JFFO SHOULD PLACE ZZ INTO AC+1 AND JUMP
8161 037141 002 14 0 00 030304 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
8162 037142 312 14 0 00 000012 CAME AC,<AC-2>&17 ;EXAMINE AC
8163 037143 003 14 0 00 030304 ER3 AC,SN ;C(AC) WAS CLOBBERED
8164 037144 302 15 0 00 000003 CAIE AC+1,ZZ ;EXAMINE AC+1
8165 037145 004 15 0 00 030304 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ZEROS IN AC
8166 037146 321 16 0 00 037135 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
8167
8168
8169 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8170 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO
8171 ;RIPPLE A ONE THROUGH A FIELD OF ZEROS IN THE AC TO TEST JFFO
8172
8173 030305 SN=SN+1
8174 020000 XX=XX/2
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 89-2
DAKAMM MAC 20-JAN-77 11:34 PART III - GENERAL JFFO TEST SEQ 0212
8175 000004 ZZ=ZZ+1
8176 037147 205 14 0 00 020000 MOVSI AC,XX ;INITIALIZE AC
8177 037150 200 12 0 00 000014 MOVE AC-2,AC ;INITIALIZE AC-2 FOR COMPARISON
8178 037151 476 00 0 00 000015 SETOM <AC+1>&17 ;INITIALIZE AC+1
8179 037152 243 14 0 00 037154 JFFO AC,.+2 ;*JFFO SHOULD PLACE ZZ INTO AC+1 AND JUMP
8180 037153 002 14 0 00 030305 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
8181 037154 312 14 0 00 000012 CAME AC,<AC-2>&17 ;EXAMINE AC
8182 037155 003 14 0 00 030305 ER3 AC,SN ;C(AC) WAS CLOBBERED
8183 037156 302 15 0 00 000004 CAIE AC+1,ZZ ;EXAMINE AC+1
8184 037157 004 15 0 00 030305 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ZEROS IN AC
8185 037160 321 16 0 00 037147 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
8186
8187
8188 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8189 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO
8190 ;RIPPLE A ONE THROUGH A FIELD OF ZEROS IN THE AC TO TEST JFFO
8191
8192 030306 SN=SN+1
8193 010000 XX=XX/2
8194 000005 ZZ=ZZ+1
8195 037161 205 14 0 00 010000 MOVSI AC,XX ;INITIALIZE AC
8196 037162 200 12 0 00 000014 MOVE AC-2,AC ;INITIALIZE AC-2 FOR COMPARISON
8197 037163 476 00 0 00 000015 SETOM <AC+1>&17 ;INITIALIZE AC+1
8198 037164 243 14 0 00 037166 JFFO AC,.+2 ;*JFFO SHOULD PLACE ZZ INTO AC+1 AND JUMP
8199 037165 002 14 0 00 030306 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
8200 037166 312 14 0 00 000012 CAME AC,<AC-2>&17 ;EXAMINE AC
8201 037167 003 14 0 00 030306 ER3 AC,SN ;C(AC) WAS CLOBBERED
8202 037170 302 15 0 00 000005 CAIE AC+1,ZZ ;EXAMINE AC+1
8203 037171 004 15 0 00 030306 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ZEROS IN AC
8204 037172 321 16 0 00 037161 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
8205
8206
8207 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8208 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO
8209 ;RIPPLE A ONE THROUGH A FIELD OF ZEROS IN THE AC TO TEST JFFO
8210
8211 030307 SN=SN+1
8212 004000 XX=XX/2
8213 000006 ZZ=ZZ+1
8214 037173 205 14 0 00 004000 MOVSI AC,XX ;INITIALIZE AC
8215 037174 200 12 0 00 000014 MOVE AC-2,AC ;INITIALIZE AC-2 FOR COMPARISON
8216 037175 476 00 0 00 000015 SETOM <AC+1>&17 ;INITIALIZE AC+1
8217 037176 243 14 0 00 037200 JFFO AC,.+2 ;*JFFO SHOULD PLACE ZZ INTO AC+1 AND JUMP
8218 037177 002 14 0 00 030307 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
8219 037200 312 14 0 00 000012 CAME AC,<AC-2>&17 ;EXAMINE AC
8220 037201 003 14 0 00 030307 ER3 AC,SN ;C(AC) WAS CLOBBERED
8221 037202 302 15 0 00 000006 CAIE AC+1,ZZ ;EXAMINE AC+1
8222 037203 004 15 0 00 030307 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ZEROS IN AC
8223 037204 321 16 0 00 037173 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
8224
8225
8226 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8227 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO
8228 ;RIPPLE A ONE THROUGH A FIELD OF ZEROS IN THE AC TO TEST JFFO
8229
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 89-3
DAKAMM MAC 20-JAN-77 11:34 PART III - GENERAL JFFO TEST SEQ 0213
8230 030310 SN=SN+1
8231 002000 XX=XX/2
8232 000007 ZZ=ZZ+1
8233 037205 205 14 0 00 002000 MOVSI AC,XX ;INITIALIZE AC
8234 037206 200 12 0 00 000014 MOVE AC-2,AC ;INITIALIZE AC-2 FOR COMPARISON
8235 037207 476 00 0 00 000015 SETOM <AC+1>&17 ;INITIALIZE AC+1
8236 037210 243 14 0 00 037212 JFFO AC,.+2 ;*JFFO SHOULD PLACE ZZ INTO AC+1 AND JUMP
8237 037211 002 14 0 00 030310 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
8238 037212 312 14 0 00 000012 CAME AC,<AC-2>&17 ;EXAMINE AC
8239 037213 003 14 0 00 030310 ER3 AC,SN ;C(AC) WAS CLOBBERED
8240 037214 302 15 0 00 000007 CAIE AC+1,ZZ ;EXAMINE AC+1
8241 037215 004 15 0 00 030310 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ZEROS IN AC
8242 037216 321 16 0 00 037205 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
8243
8244
8245 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8246 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO
8247 ;RIPPLE A ONE THROUGH A FIELD OF ZEROS IN THE AC TO TEST JFFO
8248
8249 030311 SN=SN+1
8250 001000 XX=XX/2
8251 000010 ZZ=ZZ+1
8252 037217 205 14 0 00 001000 MOVSI AC,XX ;INITIALIZE AC
8253 037220 200 12 0 00 000014 MOVE AC-2,AC ;INITIALIZE AC-2 FOR COMPARISON
8254 037221 476 00 0 00 000015 SETOM <AC+1>&17 ;INITIALIZE AC+1
8255 037222 243 14 0 00 037224 JFFO AC,.+2 ;*JFFO SHOULD PLACE ZZ INTO AC+1 AND JUMP
8256 037223 002 14 0 00 030311 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
8257 037224 312 14 0 00 000012 CAME AC,<AC-2>&17 ;EXAMINE AC
8258 037225 003 14 0 00 030311 ER3 AC,SN ;C(AC) WAS CLOBBERED
8259 037226 302 15 0 00 000010 CAIE AC+1,ZZ ;EXAMINE AC+1
8260 037227 004 15 0 00 030311 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ZEROS IN AC
8261 037230 321 16 0 00 037217 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
8262
8263
8264 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8265 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO
8266 ;RIPPLE A ONE THROUGH A FIELD OF ZEROS IN THE AC TO TEST JFFO
8267
8268 030312 SN=SN+1
8269 000400 XX=XX/2
8270 000011 ZZ=ZZ+1
8271 037231 205 14 0 00 000400 MOVSI AC,XX ;INITIALIZE AC
8272 037232 200 12 0 00 000014 MOVE AC-2,AC ;INITIALIZE AC-2 FOR COMPARISON
8273 037233 476 00 0 00 000015 SETOM <AC+1>&17 ;INITIALIZE AC+1
8274 037234 243 14 0 00 037236 JFFO AC,.+2 ;*JFFO SHOULD PLACE ZZ INTO AC+1 AND JUMP
8275 037235 002 14 0 00 030312 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
8276 037236 312 14 0 00 000012 CAME AC,<AC-2>&17 ;EXAMINE AC
8277 037237 003 14 0 00 030312 ER3 AC,SN ;C(AC) WAS CLOBBERED
8278 037240 302 15 0 00 000011 CAIE AC+1,ZZ ;EXAMINE AC+1
8279 037241 004 15 0 00 030312 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ZEROS IN AC
8280 037242 321 16 0 00 037231 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
8281
8282
8283 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8284 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 89-4
DAKAMM MAC 20-JAN-77 11:34 PART III - GENERAL JFFO TEST SEQ 0214
8285 ;RIPPLE A ONE THROUGH A FIELD OF ZEROS IN THE AC TO TEST JFFO
8286
8287 030313 SN=SN+1
8288 000200 XX=XX/2
8289 000012 ZZ=ZZ+1
8290 037243 205 14 0 00 000200 MOVSI AC,XX ;INITIALIZE AC
8291 037244 200 12 0 00 000014 MOVE AC-2,AC ;INITIALIZE AC-2 FOR COMPARISON
8292 037245 476 00 0 00 000015 SETOM <AC+1>&17 ;INITIALIZE AC+1
8293 037246 243 14 0 00 037250 JFFO AC,.+2 ;*JFFO SHOULD PLACE ZZ INTO AC+1 AND JUMP
8294 037247 002 14 0 00 030313 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
8295 037250 312 14 0 00 000012 CAME AC,<AC-2>&17 ;EXAMINE AC
8296 037251 003 14 0 00 030313 ER3 AC,SN ;C(AC) WAS CLOBBERED
8297 037252 302 15 0 00 000012 CAIE AC+1,ZZ ;EXAMINE AC+1
8298 037253 004 15 0 00 030313 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ZEROS IN AC
8299 037254 321 16 0 00 037243 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
8300
8301
8302 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8303 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO
8304 ;RIPPLE A ONE THROUGH A FIELD OF ZEROS IN THE AC TO TEST JFFO
8305
8306 030314 SN=SN+1
8307 000100 XX=XX/2
8308 000013 ZZ=ZZ+1
8309 037255 205 14 0 00 000100 MOVSI AC,XX ;INITIALIZE AC
8310 037256 200 12 0 00 000014 MOVE AC-2,AC ;INITIALIZE AC-2 FOR COMPARISON
8311 037257 476 00 0 00 000015 SETOM <AC+1>&17 ;INITIALIZE AC+1
8312 037260 243 14 0 00 037262 JFFO AC,.+2 ;*JFFO SHOULD PLACE ZZ INTO AC+1 AND JUMP
8313 037261 002 14 0 00 030314 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
8314 037262 312 14 0 00 000012 CAME AC,<AC-2>&17 ;EXAMINE AC
8315 037263 003 14 0 00 030314 ER3 AC,SN ;C(AC) WAS CLOBBERED
8316 037264 302 15 0 00 000013 CAIE AC+1,ZZ ;EXAMINE AC+1
8317 037265 004 15 0 00 030314 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ZEROS IN AC
8318 037266 321 16 0 00 037255 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
8319
8320
8321 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8322 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO
8323 ;RIPPLE A ONE THROUGH A FIELD OF ZEROS IN THE AC TO TEST JFFO
8324
8325 030315 SN=SN+1
8326 000040 XX=XX/2
8327 000014 ZZ=ZZ+1
8328 037267 205 14 0 00 000040 MOVSI AC,XX ;INITIALIZE AC
8329 037270 200 12 0 00 000014 MOVE AC-2,AC ;INITIALIZE AC-2 FOR COMPARISON
8330 037271 476 00 0 00 000015 SETOM <AC+1>&17 ;INITIALIZE AC+1
8331 037272 243 14 0 00 037274 JFFO AC,.+2 ;*JFFO SHOULD PLACE ZZ INTO AC+1 AND JUMP
8332 037273 002 14 0 00 030315 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
8333 037274 312 14 0 00 000012 CAME AC,<AC-2>&17 ;EXAMINE AC
8334 037275 003 14 0 00 030315 ER3 AC,SN ;C(AC) WAS CLOBBERED
8335 037276 302 15 0 00 000014 CAIE AC+1,ZZ ;EXAMINE AC+1
8336 037277 004 15 0 00 030315 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ZEROS IN AC
8337 037300 321 16 0 00 037267 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
8338
8339
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 89-5
DAKAMM MAC 20-JAN-77 11:34 PART III - GENERAL JFFO TEST SEQ 0215
8340 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8341 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO
8342 ;RIPPLE A ONE THROUGH A FIELD OF ZEROS IN THE AC TO TEST JFFO
8343
8344 030316 SN=SN+1
8345 000020 XX=XX/2
8346 000015 ZZ=ZZ+1
8347 037301 205 14 0 00 000020 MOVSI AC,XX ;INITIALIZE AC
8348 037302 200 12 0 00 000014 MOVE AC-2,AC ;INITIALIZE AC-2 FOR COMPARISON
8349 037303 476 00 0 00 000015 SETOM <AC+1>&17 ;INITIALIZE AC+1
8350 037304 243 14 0 00 037306 JFFO AC,.+2 ;*JFFO SHOULD PLACE ZZ INTO AC+1 AND JUMP
8351 037305 002 14 0 00 030316 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
8352 037306 312 14 0 00 000012 CAME AC,<AC-2>&17 ;EXAMINE AC
8353 037307 003 14 0 00 030316 ER3 AC,SN ;C(AC) WAS CLOBBERED
8354 037310 302 15 0 00 000015 CAIE AC+1,ZZ ;EXAMINE AC+1
8355 037311 004 15 0 00 030316 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ZEROS IN AC
8356 037312 321 16 0 00 037301 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
8357
8358
8359 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8360 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO
8361 ;RIPPLE A ONE THROUGH A FIELD OF ZEROS IN THE AC TO TEST JFFO
8362
8363 030317 SN=SN+1
8364 000010 XX=XX/2
8365 000016 ZZ=ZZ+1
8366 037313 205 14 0 00 000010 MOVSI AC,XX ;INITIALIZE AC
8367 037314 200 12 0 00 000014 MOVE AC-2,AC ;INITIALIZE AC-2 FOR COMPARISON
8368 037315 476 00 0 00 000015 SETOM <AC+1>&17 ;INITIALIZE AC+1
8369 037316 243 14 0 00 037320 JFFO AC,.+2 ;*JFFO SHOULD PLACE ZZ INTO AC+1 AND JUMP
8370 037317 002 14 0 00 030317 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
8371 037320 312 14 0 00 000012 CAME AC,<AC-2>&17 ;EXAMINE AC
8372 037321 003 14 0 00 030317 ER3 AC,SN ;C(AC) WAS CLOBBERED
8373 037322 302 15 0 00 000016 CAIE AC+1,ZZ ;EXAMINE AC+1
8374 037323 004 15 0 00 030317 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ZEROS IN AC
8375 037324 321 16 0 00 037313 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
8376
8377
8378 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8379 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO
8380 ;RIPPLE A ONE THROUGH A FIELD OF ZEROS IN THE AC TO TEST JFFO
8381
8382 030320 SN=SN+1
8383 000004 XX=XX/2
8384 000017 ZZ=ZZ+1
8385 037325 205 14 0 00 000004 MOVSI AC,XX ;INITIALIZE AC
8386 037326 200 12 0 00 000014 MOVE AC-2,AC ;INITIALIZE AC-2 FOR COMPARISON
8387 037327 476 00 0 00 000015 SETOM <AC+1>&17 ;INITIALIZE AC+1
8388 037330 243 14 0 00 037332 JFFO AC,.+2 ;*JFFO SHOULD PLACE ZZ INTO AC+1 AND JUMP
8389 037331 002 14 0 00 030320 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
8390 037332 312 14 0 00 000012 CAME AC,<AC-2>&17 ;EXAMINE AC
8391 037333 003 14 0 00 030320 ER3 AC,SN ;C(AC) WAS CLOBBERED
8392 037334 302 15 0 00 000017 CAIE AC+1,ZZ ;EXAMINE AC+1
8393 037335 004 15 0 00 030320 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ZEROS IN AC
8394 037336 321 16 0 00 037325 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 89-6
DAKAMM MAC 20-JAN-77 11:34 PART III - GENERAL JFFO TEST SEQ 0216
8395
8396
8397 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8398 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO
8399 ;RIPPLE A ONE THROUGH A FIELD OF ZEROS IN THE AC TO TEST JFFO
8400
8401 030321 SN=SN+1
8402 000002 XX=XX/2
8403 000020 ZZ=ZZ+1
8404 037337 205 14 0 00 000002 MOVSI AC,XX ;INITIALIZE AC
8405 037340 200 12 0 00 000014 MOVE AC-2,AC ;INITIALIZE AC-2 FOR COMPARISON
8406 037341 476 00 0 00 000015 SETOM <AC+1>&17 ;INITIALIZE AC+1
8407 037342 243 14 0 00 037344 JFFO AC,.+2 ;*JFFO SHOULD PLACE ZZ INTO AC+1 AND JUMP
8408 037343 002 14 0 00 030321 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
8409 037344 312 14 0 00 000012 CAME AC,<AC-2>&17 ;EXAMINE AC
8410 037345 003 14 0 00 030321 ER3 AC,SN ;C(AC) WAS CLOBBERED
8411 037346 302 15 0 00 000020 CAIE AC+1,ZZ ;EXAMINE AC+1
8412 037347 004 15 0 00 030321 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ZEROS IN AC
8413 037350 321 16 0 00 037337 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
8414
8415
8416 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8417 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO
8418 ;RIPPLE A ONE THROUGH A FIELD OF ZEROS IN THE AC TO TEST JFFO
8419
8420 030322 SN=SN+1
8421 000001 XX=XX/2
8422 000021 ZZ=ZZ+1
8423 037351 205 14 0 00 000001 MOVSI AC,XX ;INITIALIZE AC
8424 037352 200 12 0 00 000014 MOVE AC-2,AC ;INITIALIZE AC-2 FOR COMPARISON
8425 037353 476 00 0 00 000015 SETOM <AC+1>&17 ;INITIALIZE AC+1
8426 037354 243 14 0 00 037356 JFFO AC,.+2 ;*JFFO SHOULD PLACE ZZ INTO AC+1 AND JUMP
8427 037355 002 14 0 00 030322 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
8428 037356 312 14 0 00 000012 CAME AC,<AC-2>&17 ;EXAMINE AC
8429 037357 003 14 0 00 030322 ER3 AC,SN ;C(AC) WAS CLOBBERED
8430 037360 302 15 0 00 000021 CAIE AC+1,ZZ ;EXAMINE AC+1
8431 037361 004 15 0 00 030322 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ZEROS IN AC
8432 037362 321 16 0 00 037351 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
8433
8434 PAGE
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 89-7
DAKAMM MAC 20-JAN-77 11:34 PART III - GENERAL JFFO TEST SEQ 0217
8435 030400 SN=30400
8436 000001 000000 XX=1000000
8437
8438 G30400: REPEAT ^D18,<
8439 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8440 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO
8441 ;RIPPLE A ONE THROUGH A FIELD OF ZEROS IN THE AC TO TEST JFFO
8442
8443 SN=SN+1
8444 XX=XX/2
8445 ZZ=ZZ+1
8446 MOVEI AC,XX ;INITIALIZE AC
8447 MOVE AC-2,AC ;INITIALIZE AC-2 FOR LATER COMPARISON
8448 SETOM <AC+1>&17 ;INITIALIZE AC+1
8449 JFFO AC,.+2 ;*JFFO SHOULD PLACE ZZ INTO AC+1 AND JUMP
8450 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
8451 CAME AC,<AC-2>&17 ;EXAMINE AC
8452 ER3 AC,SN ;C(AC) WAS CLOBBERED
8453 CAIE AC+1,ZZ ;EXAMINE AC+1
8454 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ERRORS IN AC
8455 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
8456 >
8457
8458 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8459 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO
8460 ;RIPPLE A ONE THROUGH A FIELD OF ZEROS IN THE AC TO TEST JFFO
8461
8462 030401 SN=SN+1
8463 400000 XX=XX/2
8464 000022 ZZ=ZZ+1
8465 037363 201 14 0 00 400000 MOVEI AC,XX ;INITIALIZE AC
8466 037364 200 12 0 00 000014 MOVE AC-2,AC ;INITIALIZE AC-2 FOR LATER COMPARISON
8467 037365 476 00 0 00 000015 SETOM <AC+1>&17 ;INITIALIZE AC+1
8468 037366 243 14 0 00 037370 JFFO AC,.+2 ;*JFFO SHOULD PLACE ZZ INTO AC+1 AND JUMP
8469 037367 002 14 0 00 030401 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
8470 037370 312 14 0 00 000012 CAME AC,<AC-2>&17 ;EXAMINE AC
8471 037371 003 14 0 00 030401 ER3 AC,SN ;C(AC) WAS CLOBBERED
8472 037372 302 15 0 00 000022 CAIE AC+1,ZZ ;EXAMINE AC+1
8473 037373 004 15 0 00 030401 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ERRORS IN AC
8474 037374 321 16 0 00 037363 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
8475
8476
8477 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8478 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO
8479 ;RIPPLE A ONE THROUGH A FIELD OF ZEROS IN THE AC TO TEST JFFO
8480
8481 030402 SN=SN+1
8482 200000 XX=XX/2
8483 000023 ZZ=ZZ+1
8484 037375 201 14 0 00 200000 MOVEI AC,XX ;INITIALIZE AC
8485 037376 200 12 0 00 000014 MOVE AC-2,AC ;INITIALIZE AC-2 FOR LATER COMPARISON
8486 037377 476 00 0 00 000015 SETOM <AC+1>&17 ;INITIALIZE AC+1
8487 037400 243 14 0 00 037402 JFFO AC,.+2 ;*JFFO SHOULD PLACE ZZ INTO AC+1 AND JUMP
8488 037401 002 14 0 00 030402 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
8489 037402 312 14 0 00 000012 CAME AC,<AC-2>&17 ;EXAMINE AC
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 89-8
DAKAMM MAC 20-JAN-77 11:34 PART III - GENERAL JFFO TEST SEQ 0218
8490 037403 003 14 0 00 030402 ER3 AC,SN ;C(AC) WAS CLOBBERED
8491 037404 302 15 0 00 000023 CAIE AC+1,ZZ ;EXAMINE AC+1
8492 037405 004 15 0 00 030402 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ERRORS IN AC
8493 037406 321 16 0 00 037375 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
8494
8495
8496 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8497 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO
8498 ;RIPPLE A ONE THROUGH A FIELD OF ZEROS IN THE AC TO TEST JFFO
8499
8500 030403 SN=SN+1
8501 100000 XX=XX/2
8502 000024 ZZ=ZZ+1
8503 037407 201 14 0 00 100000 MOVEI AC,XX ;INITIALIZE AC
8504 037410 200 12 0 00 000014 MOVE AC-2,AC ;INITIALIZE AC-2 FOR LATER COMPARISON
8505 037411 476 00 0 00 000015 SETOM <AC+1>&17 ;INITIALIZE AC+1
8506 037412 243 14 0 00 037414 JFFO AC,.+2 ;*JFFO SHOULD PLACE ZZ INTO AC+1 AND JUMP
8507 037413 002 14 0 00 030403 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
8508 037414 312 14 0 00 000012 CAME AC,<AC-2>&17 ;EXAMINE AC
8509 037415 003 14 0 00 030403 ER3 AC,SN ;C(AC) WAS CLOBBERED
8510 037416 302 15 0 00 000024 CAIE AC+1,ZZ ;EXAMINE AC+1
8511 037417 004 15 0 00 030403 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ERRORS IN AC
8512 037420 321 16 0 00 037407 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
8513
8514
8515 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8516 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO
8517 ;RIPPLE A ONE THROUGH A FIELD OF ZEROS IN THE AC TO TEST JFFO
8518
8519 030404 SN=SN+1
8520 040000 XX=XX/2
8521 000025 ZZ=ZZ+1
8522 037421 201 14 0 00 040000 MOVEI AC,XX ;INITIALIZE AC
8523 037422 200 12 0 00 000014 MOVE AC-2,AC ;INITIALIZE AC-2 FOR LATER COMPARISON
8524 037423 476 00 0 00 000015 SETOM <AC+1>&17 ;INITIALIZE AC+1
8525 037424 243 14 0 00 037426 JFFO AC,.+2 ;*JFFO SHOULD PLACE ZZ INTO AC+1 AND JUMP
8526 037425 002 14 0 00 030404 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
8527 037426 312 14 0 00 000012 CAME AC,<AC-2>&17 ;EXAMINE AC
8528 037427 003 14 0 00 030404 ER3 AC,SN ;C(AC) WAS CLOBBERED
8529 037430 302 15 0 00 000025 CAIE AC+1,ZZ ;EXAMINE AC+1
8530 037431 004 15 0 00 030404 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ERRORS IN AC
8531 037432 321 16 0 00 037421 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
8532
8533
8534 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8535 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO
8536 ;RIPPLE A ONE THROUGH A FIELD OF ZEROS IN THE AC TO TEST JFFO
8537
8538 030405 SN=SN+1
8539 020000 XX=XX/2
8540 000026 ZZ=ZZ+1
8541 037433 201 14 0 00 020000 MOVEI AC,XX ;INITIALIZE AC
8542 037434 200 12 0 00 000014 MOVE AC-2,AC ;INITIALIZE AC-2 FOR LATER COMPARISON
8543 037435 476 00 0 00 000015 SETOM <AC+1>&17 ;INITIALIZE AC+1
8544 037436 243 14 0 00 037440 JFFO AC,.+2 ;*JFFO SHOULD PLACE ZZ INTO AC+1 AND JUMP
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 89-9
DAKAMM MAC 20-JAN-77 11:34 PART III - GENERAL JFFO TEST SEQ 0219
8545 037437 002 14 0 00 030405 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
8546 037440 312 14 0 00 000012 CAME AC,<AC-2>&17 ;EXAMINE AC
8547 037441 003 14 0 00 030405 ER3 AC,SN ;C(AC) WAS CLOBBERED
8548 037442 302 15 0 00 000026 CAIE AC+1,ZZ ;EXAMINE AC+1
8549 037443 004 15 0 00 030405 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ERRORS IN AC
8550 037444 321 16 0 00 037433 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
8551
8552
8553 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8554 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO
8555 ;RIPPLE A ONE THROUGH A FIELD OF ZEROS IN THE AC TO TEST JFFO
8556
8557 030406 SN=SN+1
8558 010000 XX=XX/2
8559 000027 ZZ=ZZ+1
8560 037445 201 14 0 00 010000 MOVEI AC,XX ;INITIALIZE AC
8561 037446 200 12 0 00 000014 MOVE AC-2,AC ;INITIALIZE AC-2 FOR LATER COMPARISON
8562 037447 476 00 0 00 000015 SETOM <AC+1>&17 ;INITIALIZE AC+1
8563 037450 243 14 0 00 037452 JFFO AC,.+2 ;*JFFO SHOULD PLACE ZZ INTO AC+1 AND JUMP
8564 037451 002 14 0 00 030406 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
8565 037452 312 14 0 00 000012 CAME AC,<AC-2>&17 ;EXAMINE AC
8566 037453 003 14 0 00 030406 ER3 AC,SN ;C(AC) WAS CLOBBERED
8567 037454 302 15 0 00 000027 CAIE AC+1,ZZ ;EXAMINE AC+1
8568 037455 004 15 0 00 030406 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ERRORS IN AC
8569 037456 321 16 0 00 037445 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
8570
8571
8572 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8573 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO
8574 ;RIPPLE A ONE THROUGH A FIELD OF ZEROS IN THE AC TO TEST JFFO
8575
8576 030407 SN=SN+1
8577 004000 XX=XX/2
8578 000030 ZZ=ZZ+1
8579 037457 201 14 0 00 004000 MOVEI AC,XX ;INITIALIZE AC
8580 037460 200 12 0 00 000014 MOVE AC-2,AC ;INITIALIZE AC-2 FOR LATER COMPARISON
8581 037461 476 00 0 00 000015 SETOM <AC+1>&17 ;INITIALIZE AC+1
8582 037462 243 14 0 00 037464 JFFO AC,.+2 ;*JFFO SHOULD PLACE ZZ INTO AC+1 AND JUMP
8583 037463 002 14 0 00 030407 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
8584 037464 312 14 0 00 000012 CAME AC,<AC-2>&17 ;EXAMINE AC
8585 037465 003 14 0 00 030407 ER3 AC,SN ;C(AC) WAS CLOBBERED
8586 037466 302 15 0 00 000030 CAIE AC+1,ZZ ;EXAMINE AC+1
8587 037467 004 15 0 00 030407 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ERRORS IN AC
8588 037470 321 16 0 00 037457 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
8589
8590
8591 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8592 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO
8593 ;RIPPLE A ONE THROUGH A FIELD OF ZEROS IN THE AC TO TEST JFFO
8594
8595 030410 SN=SN+1
8596 002000 XX=XX/2
8597 000031 ZZ=ZZ+1
8598 037471 201 14 0 00 002000 MOVEI AC,XX ;INITIALIZE AC
8599 037472 200 12 0 00 000014 MOVE AC-2,AC ;INITIALIZE AC-2 FOR LATER COMPARISON
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 89-10
DAKAMM MAC 20-JAN-77 11:34 PART III - GENERAL JFFO TEST SEQ 0220
8600 037473 476 00 0 00 000015 SETOM <AC+1>&17 ;INITIALIZE AC+1
8601 037474 243 14 0 00 037476 JFFO AC,.+2 ;*JFFO SHOULD PLACE ZZ INTO AC+1 AND JUMP
8602 037475 002 14 0 00 030410 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
8603 037476 312 14 0 00 000012 CAME AC,<AC-2>&17 ;EXAMINE AC
8604 037477 003 14 0 00 030410 ER3 AC,SN ;C(AC) WAS CLOBBERED
8605 037500 302 15 0 00 000031 CAIE AC+1,ZZ ;EXAMINE AC+1
8606 037501 004 15 0 00 030410 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ERRORS IN AC
8607 037502 321 16 0 00 037471 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
8608
8609
8610 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8611 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO
8612 ;RIPPLE A ONE THROUGH A FIELD OF ZEROS IN THE AC TO TEST JFFO
8613
8614 030411 SN=SN+1
8615 001000 XX=XX/2
8616 000032 ZZ=ZZ+1
8617 037503 201 14 0 00 001000 MOVEI AC,XX ;INITIALIZE AC
8618 037504 200 12 0 00 000014 MOVE AC-2,AC ;INITIALIZE AC-2 FOR LATER COMPARISON
8619 037505 476 00 0 00 000015 SETOM <AC+1>&17 ;INITIALIZE AC+1
8620 037506 243 14 0 00 037510 JFFO AC,.+2 ;*JFFO SHOULD PLACE ZZ INTO AC+1 AND JUMP
8621 037507 002 14 0 00 030411 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
8622 037510 312 14 0 00 000012 CAME AC,<AC-2>&17 ;EXAMINE AC
8623 037511 003 14 0 00 030411 ER3 AC,SN ;C(AC) WAS CLOBBERED
8624 037512 302 15 0 00 000032 CAIE AC+1,ZZ ;EXAMINE AC+1
8625 037513 004 15 0 00 030411 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ERRORS IN AC
8626 037514 321 16 0 00 037503 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
8627
8628
8629 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8630 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO
8631 ;RIPPLE A ONE THROUGH A FIELD OF ZEROS IN THE AC TO TEST JFFO
8632
8633 030412 SN=SN+1
8634 000400 XX=XX/2
8635 000033 ZZ=ZZ+1
8636 037515 201 14 0 00 000400 MOVEI AC,XX ;INITIALIZE AC
8637 037516 200 12 0 00 000014 MOVE AC-2,AC ;INITIALIZE AC-2 FOR LATER COMPARISON
8638 037517 476 00 0 00 000015 SETOM <AC+1>&17 ;INITIALIZE AC+1
8639 037520 243 14 0 00 037522 JFFO AC,.+2 ;*JFFO SHOULD PLACE ZZ INTO AC+1 AND JUMP
8640 037521 002 14 0 00 030412 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
8641 037522 312 14 0 00 000012 CAME AC,<AC-2>&17 ;EXAMINE AC
8642 037523 003 14 0 00 030412 ER3 AC,SN ;C(AC) WAS CLOBBERED
8643 037524 302 15 0 00 000033 CAIE AC+1,ZZ ;EXAMINE AC+1
8644 037525 004 15 0 00 030412 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ERRORS IN AC
8645 037526 321 16 0 00 037515 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
8646
8647
8648 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8649 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO
8650 ;RIPPLE A ONE THROUGH A FIELD OF ZEROS IN THE AC TO TEST JFFO
8651
8652 030413 SN=SN+1
8653 000200 XX=XX/2
8654 000034 ZZ=ZZ+1
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 89-11
DAKAMM MAC 20-JAN-77 11:34 PART III - GENERAL JFFO TEST SEQ 0221
8655 037527 201 14 0 00 000200 MOVEI AC,XX ;INITIALIZE AC
8656 037530 200 12 0 00 000014 MOVE AC-2,AC ;INITIALIZE AC-2 FOR LATER COMPARISON
8657 037531 476 00 0 00 000015 SETOM <AC+1>&17 ;INITIALIZE AC+1
8658 037532 243 14 0 00 037534 JFFO AC,.+2 ;*JFFO SHOULD PLACE ZZ INTO AC+1 AND JUMP
8659 037533 002 14 0 00 030413 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
8660 037534 312 14 0 00 000012 CAME AC,<AC-2>&17 ;EXAMINE AC
8661 037535 003 14 0 00 030413 ER3 AC,SN ;C(AC) WAS CLOBBERED
8662 037536 302 15 0 00 000034 CAIE AC+1,ZZ ;EXAMINE AC+1
8663 037537 004 15 0 00 030413 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ERRORS IN AC
8664 037540 321 16 0 00 037527 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
8665
8666
8667 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8668 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO
8669 ;RIPPLE A ONE THROUGH A FIELD OF ZEROS IN THE AC TO TEST JFFO
8670
8671 030414 SN=SN+1
8672 000100 XX=XX/2
8673 000035 ZZ=ZZ+1
8674 037541 201 14 0 00 000100 MOVEI AC,XX ;INITIALIZE AC
8675 037542 200 12 0 00 000014 MOVE AC-2,AC ;INITIALIZE AC-2 FOR LATER COMPARISON
8676 037543 476 00 0 00 000015 SETOM <AC+1>&17 ;INITIALIZE AC+1
8677 037544 243 14 0 00 037546 JFFO AC,.+2 ;*JFFO SHOULD PLACE ZZ INTO AC+1 AND JUMP
8678 037545 002 14 0 00 030414 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
8679 037546 312 14 0 00 000012 CAME AC,<AC-2>&17 ;EXAMINE AC
8680 037547 003 14 0 00 030414 ER3 AC,SN ;C(AC) WAS CLOBBERED
8681 037550 302 15 0 00 000035 CAIE AC+1,ZZ ;EXAMINE AC+1
8682 037551 004 15 0 00 030414 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ERRORS IN AC
8683 037552 321 16 0 00 037541 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
8684
8685
8686 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8687 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO
8688 ;RIPPLE A ONE THROUGH A FIELD OF ZEROS IN THE AC TO TEST JFFO
8689
8690 030415 SN=SN+1
8691 000040 XX=XX/2
8692 000036 ZZ=ZZ+1
8693 037553 201 14 0 00 000040 MOVEI AC,XX ;INITIALIZE AC
8694 037554 200 12 0 00 000014 MOVE AC-2,AC ;INITIALIZE AC-2 FOR LATER COMPARISON
8695 037555 476 00 0 00 000015 SETOM <AC+1>&17 ;INITIALIZE AC+1
8696 037556 243 14 0 00 037560 JFFO AC,.+2 ;*JFFO SHOULD PLACE ZZ INTO AC+1 AND JUMP
8697 037557 002 14 0 00 030415 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
8698 037560 312 14 0 00 000012 CAME AC,<AC-2>&17 ;EXAMINE AC
8699 037561 003 14 0 00 030415 ER3 AC,SN ;C(AC) WAS CLOBBERED
8700 037562 302 15 0 00 000036 CAIE AC+1,ZZ ;EXAMINE AC+1
8701 037563 004 15 0 00 030415 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ERRORS IN AC
8702 037564 321 16 0 00 037553 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
8703
8704
8705 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8706 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO
8707 ;RIPPLE A ONE THROUGH A FIELD OF ZEROS IN THE AC TO TEST JFFO
8708
8709 030416 SN=SN+1
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 89-12
DAKAMM MAC 20-JAN-77 11:34 PART III - GENERAL JFFO TEST SEQ 0222
8710 000020 XX=XX/2
8711 000037 ZZ=ZZ+1
8712 037565 201 14 0 00 000020 MOVEI AC,XX ;INITIALIZE AC
8713 037566 200 12 0 00 000014 MOVE AC-2,AC ;INITIALIZE AC-2 FOR LATER COMPARISON
8714 037567 476 00 0 00 000015 SETOM <AC+1>&17 ;INITIALIZE AC+1
8715 037570 243 14 0 00 037572 JFFO AC,.+2 ;*JFFO SHOULD PLACE ZZ INTO AC+1 AND JUMP
8716 037571 002 14 0 00 030416 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
8717 037572 312 14 0 00 000012 CAME AC,<AC-2>&17 ;EXAMINE AC
8718 037573 003 14 0 00 030416 ER3 AC,SN ;C(AC) WAS CLOBBERED
8719 037574 302 15 0 00 000037 CAIE AC+1,ZZ ;EXAMINE AC+1
8720 037575 004 15 0 00 030416 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ERRORS IN AC
8721 037576 321 16 0 00 037565 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
8722
8723
8724 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8725 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO
8726 ;RIPPLE A ONE THROUGH A FIELD OF ZEROS IN THE AC TO TEST JFFO
8727
8728 030417 SN=SN+1
8729 000010 XX=XX/2
8730 000040 ZZ=ZZ+1
8731 037577 201 14 0 00 000010 MOVEI AC,XX ;INITIALIZE AC
8732 037600 200 12 0 00 000014 MOVE AC-2,AC ;INITIALIZE AC-2 FOR LATER COMPARISON
8733 037601 476 00 0 00 000015 SETOM <AC+1>&17 ;INITIALIZE AC+1
8734 037602 243 14 0 00 037604 JFFO AC,.+2 ;*JFFO SHOULD PLACE ZZ INTO AC+1 AND JUMP
8735 037603 002 14 0 00 030417 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
8736 037604 312 14 0 00 000012 CAME AC,<AC-2>&17 ;EXAMINE AC
8737 037605 003 14 0 00 030417 ER3 AC,SN ;C(AC) WAS CLOBBERED
8738 037606 302 15 0 00 000040 CAIE AC+1,ZZ ;EXAMINE AC+1
8739 037607 004 15 0 00 030417 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ERRORS IN AC
8740 037610 321 16 0 00 037577 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
8741
8742
8743 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8744 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO
8745 ;RIPPLE A ONE THROUGH A FIELD OF ZEROS IN THE AC TO TEST JFFO
8746
8747 030420 SN=SN+1
8748 000004 XX=XX/2
8749 000041 ZZ=ZZ+1
8750 037611 201 14 0 00 000004 MOVEI AC,XX ;INITIALIZE AC
8751 037612 200 12 0 00 000014 MOVE AC-2,AC ;INITIALIZE AC-2 FOR LATER COMPARISON
8752 037613 476 00 0 00 000015 SETOM <AC+1>&17 ;INITIALIZE AC+1
8753 037614 243 14 0 00 037616 JFFO AC,.+2 ;*JFFO SHOULD PLACE ZZ INTO AC+1 AND JUMP
8754 037615 002 14 0 00 030420 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
8755 037616 312 14 0 00 000012 CAME AC,<AC-2>&17 ;EXAMINE AC
8756 037617 003 14 0 00 030420 ER3 AC,SN ;C(AC) WAS CLOBBERED
8757 037620 302 15 0 00 000041 CAIE AC+1,ZZ ;EXAMINE AC+1
8758 037621 004 15 0 00 030420 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ERRORS IN AC
8759 037622 321 16 0 00 037611 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
8760
8761
8762 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8763 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO
8764 ;RIPPLE A ONE THROUGH A FIELD OF ZEROS IN THE AC TO TEST JFFO
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 89-13
DAKAMM MAC 20-JAN-77 11:34 PART III - GENERAL JFFO TEST SEQ 0223
8765
8766 030421 SN=SN+1
8767 000002 XX=XX/2
8768 000042 ZZ=ZZ+1
8769 037623 201 14 0 00 000002 MOVEI AC,XX ;INITIALIZE AC
8770 037624 200 12 0 00 000014 MOVE AC-2,AC ;INITIALIZE AC-2 FOR LATER COMPARISON
8771 037625 476 00 0 00 000015 SETOM <AC+1>&17 ;INITIALIZE AC+1
8772 037626 243 14 0 00 037630 JFFO AC,.+2 ;*JFFO SHOULD PLACE ZZ INTO AC+1 AND JUMP
8773 037627 002 14 0 00 030421 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
8774 037630 312 14 0 00 000012 CAME AC,<AC-2>&17 ;EXAMINE AC
8775 037631 003 14 0 00 030421 ER3 AC,SN ;C(AC) WAS CLOBBERED
8776 037632 302 15 0 00 000042 CAIE AC+1,ZZ ;EXAMINE AC+1
8777 037633 004 15 0 00 030421 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ERRORS IN AC
8778 037634 321 16 0 00 037623 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
8779
8780
8781 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8782 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO
8783 ;RIPPLE A ONE THROUGH A FIELD OF ZEROS IN THE AC TO TEST JFFO
8784
8785 030422 SN=SN+1
8786 000001 XX=XX/2
8787 000043 ZZ=ZZ+1
8788 037635 201 14 0 00 000001 MOVEI AC,XX ;INITIALIZE AC
8789 037636 200 12 0 00 000014 MOVE AC-2,AC ;INITIALIZE AC-2 FOR LATER COMPARISON
8790 037637 476 00 0 00 000015 SETOM <AC+1>&17 ;INITIALIZE AC+1
8791 037640 243 14 0 00 037642 JFFO AC,.+2 ;*JFFO SHOULD PLACE ZZ INTO AC+1 AND JUMP
8792 037641 002 14 0 00 030422 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
8793 037642 312 14 0 00 000012 CAME AC,<AC-2>&17 ;EXAMINE AC
8794 037643 003 14 0 00 030422 ER3 AC,SN ;C(AC) WAS CLOBBERED
8795 037644 302 15 0 00 000043 CAIE AC+1,ZZ ;EXAMINE AC+1
8796 037645 004 15 0 00 030422 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ERRORS IN AC
8797 037646 321 16 0 00 037635 JUMPL AC+2,.-^D9 ;LOOP ON ERROR SWITCH
8798
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 90
DAKAMM MAC 20-JAN-77 11:34 PART III - GENERAL JFFO TEST SEQ 0224
8799 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8800 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO.
8801 ;THIS TEST IS REPEATED 13 TIMES, ONCE FOR EACH USABLE AC.
8802
8803 030500 SN=30500
8804 777777 777777 AC=-1
8805
8806 G30500: REPEAT ^D13,<
8807 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8808 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO.
8809 ;THIS TEST IS REPEATED 13 TIMES, ONCE FOR EACH USABLE AC.
8810
8811 SN=SN+1
8812 AC=<AC+1>&17
8813 SAVEAC (1,1)
8814
8815 MOVSI AC,(1B<^O<AC>>) ;INITIALIZE AC
8816 MOVEM AC,GSVAC# ;INITIALIZE FOR LATER COMPARISON
8817 SETOM <AC+1>&17 ;INITIALIZE AC+1
8818 JFFO AC,.+2 ;*JFFO SHOULD PLACE AC INTO AC+1 AC+1 AND JUMP
8819 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
8820 CAME AC,GSVAC ;EXAMINE AC
8821 ER3 AC,SN ;C(AC) WAS CLOBBERED
8822 CAIE AC+1,AC ;EXAMINE AC+1
8823 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ZEROS IN AC
8824 JUMPL AC+2,-^D9 ;LOOP ON ERROR SWITCH
8825 >
8826
8827 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8828 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO.
8829 ;THIS TEST IS REPEATED 13 TIMES, ONCE FOR EACH USABLE AC.
8830
8831 030501 SN=SN+1
8832 000000 AC=<AC+1>&17
8833 SAVEAC (1,1)^
8834 037647 201 02 0 00 037647 MOVEI AC+2,. ;SAVE TEST PC
8835 037650 202 02 0 00 030051 MOVEM AC+2,TESTPC
8836 037651 201 02 0 00 000002 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
8837 037652 202 02 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
8838
8839 037653 205 00 0 00 400000 MOVSI AC,(1B<^O<AC>>) ;INITIALIZE AC
8840 037654 202 00 0 00 041211 MOVEM AC,GSVAC# ;INITIALIZE FOR LATER COMPARISON
8841 037655 476 00 0 00 000001 SETOM <AC+1>&17 ;INITIALIZE AC+1
8842 037656 243 00 0 00 037660 JFFO AC,.+2 ;*JFFO SHOULD PLACE AC INTO AC+1 AC+1 AND JUMP
8843 037657 002 00 0 00 030501 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
8844 037660 312 00 0 00 041211 CAME AC,GSVAC ;EXAMINE AC
8845 037661 003 00 0 00 030501 ER3 AC,SN ;C(AC) WAS CLOBBERED
8846 037662 302 01 0 00 000000 CAIE AC+1,AC ;EXAMINE AC+1
8847 037663 004 01 0 00 030501 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ZEROS IN AC
8848 037664 321 02 0 00 777767 JUMPL AC+2,-^D9 ;LOOP ON ERROR SWITCH
8849
8850
8851 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8852 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO.
8853 ;THIS TEST IS REPEATED 13 TIMES, ONCE FOR EACH USABLE AC.
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 90-1
DAKAMM MAC 20-JAN-77 11:34 PART III - GENERAL JFFO TEST SEQ 0225
8854
8855 030502 SN=SN+1
8856 000001 AC=<AC+1>&17
8857 SAVEAC (1,1)^
8858 037665 201 03 0 00 037665 MOVEI AC+2,. ;SAVE TEST PC
8859 037666 202 03 0 00 030051 MOVEM AC+2,TESTPC
8860 037667 201 03 0 00 000003 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
8861 037670 202 03 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
8862
8863 037671 205 01 0 00 200000 MOVSI AC,(1B<^O<AC>>) ;INITIALIZE AC
8864 037672 202 01 0 00 041211 MOVEM AC,GSVAC# ;INITIALIZE FOR LATER COMPARISON
8865 037673 476 00 0 00 000002 SETOM <AC+1>&17 ;INITIALIZE AC+1
8866 037674 243 01 0 00 037676 JFFO AC,.+2 ;*JFFO SHOULD PLACE AC INTO AC+1 AC+1 AND JUMP
8867 037675 002 01 0 00 030502 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
8868 037676 312 01 0 00 041211 CAME AC,GSVAC ;EXAMINE AC
8869 037677 003 01 0 00 030502 ER3 AC,SN ;C(AC) WAS CLOBBERED
8870 037700 302 02 0 00 000001 CAIE AC+1,AC ;EXAMINE AC+1
8871 037701 004 02 0 00 030502 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ZEROS IN AC
8872 037702 321 03 0 00 777767 JUMPL AC+2,-^D9 ;LOOP ON ERROR SWITCH
8873
8874
8875 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8876 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO.
8877 ;THIS TEST IS REPEATED 13 TIMES, ONCE FOR EACH USABLE AC.
8878
8879 030503 SN=SN+1
8880 000002 AC=<AC+1>&17
8881 SAVEAC (1,1)^
8882 037703 201 04 0 00 037703 MOVEI AC+2,. ;SAVE TEST PC
8883 037704 202 04 0 00 030051 MOVEM AC+2,TESTPC
8884 037705 201 04 0 00 000004 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
8885 037706 202 04 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
8886
8887 037707 205 02 0 00 100000 MOVSI AC,(1B<^O<AC>>) ;INITIALIZE AC
8888 037710 202 02 0 00 041211 MOVEM AC,GSVAC# ;INITIALIZE FOR LATER COMPARISON
8889 037711 476 00 0 00 000003 SETOM <AC+1>&17 ;INITIALIZE AC+1
8890 037712 243 02 0 00 037714 JFFO AC,.+2 ;*JFFO SHOULD PLACE AC INTO AC+1 AC+1 AND JUMP
8891 037713 002 02 0 00 030503 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
8892 037714 312 02 0 00 041211 CAME AC,GSVAC ;EXAMINE AC
8893 037715 003 02 0 00 030503 ER3 AC,SN ;C(AC) WAS CLOBBERED
8894 037716 302 03 0 00 000002 CAIE AC+1,AC ;EXAMINE AC+1
8895 037717 004 03 0 00 030503 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ZEROS IN AC
8896 037720 321 04 0 00 777767 JUMPL AC+2,-^D9 ;LOOP ON ERROR SWITCH
8897
8898
8899 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8900 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO.
8901 ;THIS TEST IS REPEATED 13 TIMES, ONCE FOR EACH USABLE AC.
8902
8903 030504 SN=SN+1
8904 000003 AC=<AC+1>&17
8905 SAVEAC (1,1)^
8906 037721 201 05 0 00 037721 MOVEI AC+2,. ;SAVE TEST PC
8907 037722 202 05 0 00 030051 MOVEM AC+2,TESTPC
8908 037723 201 05 0 00 000005 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 90-2
DAKAMM MAC 20-JAN-77 11:34 PART III - GENERAL JFFO TEST SEQ 0226
8909 037724 202 05 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
8910
8911 037725 205 03 0 00 040000 MOVSI AC,(1B<^O<AC>>) ;INITIALIZE AC
8912 037726 202 03 0 00 041211 MOVEM AC,GSVAC# ;INITIALIZE FOR LATER COMPARISON
8913 037727 476 00 0 00 000004 SETOM <AC+1>&17 ;INITIALIZE AC+1
8914 037730 243 03 0 00 037732 JFFO AC,.+2 ;*JFFO SHOULD PLACE AC INTO AC+1 AC+1 AND JUMP
8915 037731 002 03 0 00 030504 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
8916 037732 312 03 0 00 041211 CAME AC,GSVAC ;EXAMINE AC
8917 037733 003 03 0 00 030504 ER3 AC,SN ;C(AC) WAS CLOBBERED
8918 037734 302 04 0 00 000003 CAIE AC+1,AC ;EXAMINE AC+1
8919 037735 004 04 0 00 030504 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ZEROS IN AC
8920 037736 321 05 0 00 777767 JUMPL AC+2,-^D9 ;LOOP ON ERROR SWITCH
8921
8922
8923 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8924 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO.
8925 ;THIS TEST IS REPEATED 13 TIMES, ONCE FOR EACH USABLE AC.
8926
8927 030505 SN=SN+1
8928 000004 AC=<AC+1>&17
8929 SAVEAC (1,1)^
8930 037737 201 06 0 00 037737 MOVEI AC+2,. ;SAVE TEST PC
8931 037740 202 06 0 00 030051 MOVEM AC+2,TESTPC
8932 037741 201 06 0 00 000006 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
8933 037742 202 06 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
8934
8935 037743 205 04 0 00 020000 MOVSI AC,(1B<^O<AC>>) ;INITIALIZE AC
8936 037744 202 04 0 00 041211 MOVEM AC,GSVAC# ;INITIALIZE FOR LATER COMPARISON
8937 037745 476 00 0 00 000005 SETOM <AC+1>&17 ;INITIALIZE AC+1
8938 037746 243 04 0 00 037750 JFFO AC,.+2 ;*JFFO SHOULD PLACE AC INTO AC+1 AC+1 AND JUMP
8939 037747 002 04 0 00 030505 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
8940 037750 312 04 0 00 041211 CAME AC,GSVAC ;EXAMINE AC
8941 037751 003 04 0 00 030505 ER3 AC,SN ;C(AC) WAS CLOBBERED
8942 037752 302 05 0 00 000004 CAIE AC+1,AC ;EXAMINE AC+1
8943 037753 004 05 0 00 030505 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ZEROS IN AC
8944 037754 321 06 0 00 777767 JUMPL AC+2,-^D9 ;LOOP ON ERROR SWITCH
8945
8946
8947 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8948 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO.
8949 ;THIS TEST IS REPEATED 13 TIMES, ONCE FOR EACH USABLE AC.
8950
8951 030506 SN=SN+1
8952 000005 AC=<AC+1>&17
8953 SAVEAC (1,1)^
8954 037755 201 07 0 00 037755 MOVEI AC+2,. ;SAVE TEST PC
8955 037756 202 07 0 00 030051 MOVEM AC+2,TESTPC
8956 037757 201 07 0 00 000007 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
8957 037760 202 07 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
8958
8959 037761 205 05 0 00 010000 MOVSI AC,(1B<^O<AC>>) ;INITIALIZE AC
8960 037762 202 05 0 00 041211 MOVEM AC,GSVAC# ;INITIALIZE FOR LATER COMPARISON
8961 037763 476 00 0 00 000006 SETOM <AC+1>&17 ;INITIALIZE AC+1
8962 037764 243 05 0 00 037766 JFFO AC,.+2 ;*JFFO SHOULD PLACE AC INTO AC+1 AC+1 AND JUMP
8963 037765 002 05 0 00 030506 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 90-3
DAKAMM MAC 20-JAN-77 11:34 PART III - GENERAL JFFO TEST SEQ 0227
8964 037766 312 05 0 00 041211 CAME AC,GSVAC ;EXAMINE AC
8965 037767 003 05 0 00 030506 ER3 AC,SN ;C(AC) WAS CLOBBERED
8966 037770 302 06 0 00 000005 CAIE AC+1,AC ;EXAMINE AC+1
8967 037771 004 06 0 00 030506 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ZEROS IN AC
8968 037772 321 07 0 00 777767 JUMPL AC+2,-^D9 ;LOOP ON ERROR SWITCH
8969
8970
8971 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8972 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO.
8973 ;THIS TEST IS REPEATED 13 TIMES, ONCE FOR EACH USABLE AC.
8974
8975 030507 SN=SN+1
8976 000006 AC=<AC+1>&17
8977 SAVEAC (1,1)^
8978 037773 201 10 0 00 037773 MOVEI AC+2,. ;SAVE TEST PC
8979 037774 202 10 0 00 030051 MOVEM AC+2,TESTPC
8980 037775 201 10 0 00 000010 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
8981 037776 202 10 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
8982
8983 037777 205 06 0 00 004000 MOVSI AC,(1B<^O<AC>>) ;INITIALIZE AC
8984 040000 202 06 0 00 041211 MOVEM AC,GSVAC# ;INITIALIZE FOR LATER COMPARISON
8985 040001 476 00 0 00 000007 SETOM <AC+1>&17 ;INITIALIZE AC+1
8986 040002 243 06 0 00 040004 JFFO AC,.+2 ;*JFFO SHOULD PLACE AC INTO AC+1 AC+1 AND JUMP
8987 040003 002 06 0 00 030507 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
8988 040004 312 06 0 00 041211 CAME AC,GSVAC ;EXAMINE AC
8989 040005 003 06 0 00 030507 ER3 AC,SN ;C(AC) WAS CLOBBERED
8990 040006 302 07 0 00 000006 CAIE AC+1,AC ;EXAMINE AC+1
8991 040007 004 07 0 00 030507 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ZEROS IN AC
8992 040010 321 10 0 00 777767 JUMPL AC+2,-^D9 ;LOOP ON ERROR SWITCH
8993
8994
8995 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
8996 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO.
8997 ;THIS TEST IS REPEATED 13 TIMES, ONCE FOR EACH USABLE AC.
8998
8999 030510 SN=SN+1
9000 000007 AC=<AC+1>&17
9001 SAVEAC (1,1)^
9002 040011 201 11 0 00 040011 MOVEI AC+2,. ;SAVE TEST PC
9003 040012 202 11 0 00 030051 MOVEM AC+2,TESTPC
9004 040013 201 11 0 00 000011 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
9005 040014 202 11 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
9006
9007 040015 205 07 0 00 002000 MOVSI AC,(1B<^O<AC>>) ;INITIALIZE AC
9008 040016 202 07 0 00 041211 MOVEM AC,GSVAC# ;INITIALIZE FOR LATER COMPARISON
9009 040017 476 00 0 00 000010 SETOM <AC+1>&17 ;INITIALIZE AC+1
9010 040020 243 07 0 00 040022 JFFO AC,.+2 ;*JFFO SHOULD PLACE AC INTO AC+1 AC+1 AND JUMP
9011 040021 002 07 0 00 030510 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
9012 040022 312 07 0 00 041211 CAME AC,GSVAC ;EXAMINE AC
9013 040023 003 07 0 00 030510 ER3 AC,SN ;C(AC) WAS CLOBBERED
9014 040024 302 10 0 00 000007 CAIE AC+1,AC ;EXAMINE AC+1
9015 040025 004 10 0 00 030510 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ZEROS IN AC
9016 040026 321 11 0 00 777767 JUMPL AC+2,-^D9 ;LOOP ON ERROR SWITCH
9017
9018
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 90-4
DAKAMM MAC 20-JAN-77 11:34 PART III - GENERAL JFFO TEST SEQ 0228
9019 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
9020 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO.
9021 ;THIS TEST IS REPEATED 13 TIMES, ONCE FOR EACH USABLE AC.
9022
9023 030511 SN=SN+1
9024 000010 AC=<AC+1>&17
9025 SAVEAC (1,1)^
9026 040027 201 12 0 00 040027 MOVEI AC+2,. ;SAVE TEST PC
9027 040030 202 12 0 00 030051 MOVEM AC+2,TESTPC
9028 040031 201 12 0 00 000012 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
9029 040032 202 12 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
9030
9031 040033 205 10 0 00 001000 MOVSI AC,(1B<^O<AC>>) ;INITIALIZE AC
9032 040034 202 10 0 00 041211 MOVEM AC,GSVAC# ;INITIALIZE FOR LATER COMPARISON
9033 040035 476 00 0 00 000011 SETOM <AC+1>&17 ;INITIALIZE AC+1
9034 040036 243 10 0 00 040040 JFFO AC,.+2 ;*JFFO SHOULD PLACE AC INTO AC+1 AC+1 AND JUMP
9035 040037 002 10 0 00 030511 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
9036 040040 312 10 0 00 041211 CAME AC,GSVAC ;EXAMINE AC
9037 040041 003 10 0 00 030511 ER3 AC,SN ;C(AC) WAS CLOBBERED
9038 040042 302 11 0 00 000010 CAIE AC+1,AC ;EXAMINE AC+1
9039 040043 004 11 0 00 030511 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ZEROS IN AC
9040 040044 321 12 0 00 777767 JUMPL AC+2,-^D9 ;LOOP ON ERROR SWITCH
9041
9042
9043 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
9044 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO.
9045 ;THIS TEST IS REPEATED 13 TIMES, ONCE FOR EACH USABLE AC.
9046
9047 030512 SN=SN+1
9048 000011 AC=<AC+1>&17
9049 SAVEAC (1,1)^
9050 040045 201 13 0 00 040045 MOVEI AC+2,. ;SAVE TEST PC
9051 040046 202 13 0 00 030051 MOVEM AC+2,TESTPC
9052 040047 201 13 0 00 000013 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
9053 040050 202 13 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
9054
9055 040051 205 11 0 00 000400 MOVSI AC,(1B<^O<AC>>) ;INITIALIZE AC
9056 040052 202 11 0 00 041211 MOVEM AC,GSVAC# ;INITIALIZE FOR LATER COMPARISON
9057 040053 476 00 0 00 000012 SETOM <AC+1>&17 ;INITIALIZE AC+1
9058 040054 243 11 0 00 040056 JFFO AC,.+2 ;*JFFO SHOULD PLACE AC INTO AC+1 AC+1 AND JUMP
9059 040055 002 11 0 00 030512 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
9060 040056 312 11 0 00 041211 CAME AC,GSVAC ;EXAMINE AC
9061 040057 003 11 0 00 030512 ER3 AC,SN ;C(AC) WAS CLOBBERED
9062 040060 302 12 0 00 000011 CAIE AC+1,AC ;EXAMINE AC+1
9063 040061 004 12 0 00 030512 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ZEROS IN AC
9064 040062 321 13 0 00 777767 JUMPL AC+2,-^D9 ;LOOP ON ERROR SWITCH
9065
9066
9067 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
9068 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO.
9069 ;THIS TEST IS REPEATED 13 TIMES, ONCE FOR EACH USABLE AC.
9070
9071 030513 SN=SN+1
9072 000012 AC=<AC+1>&17
9073 SAVEAC (1,1)^
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 90-5
DAKAMM MAC 20-JAN-77 11:34 PART III - GENERAL JFFO TEST SEQ 0229
9074 040063 201 14 0 00 040063 MOVEI AC+2,. ;SAVE TEST PC
9075 040064 202 14 0 00 030051 MOVEM AC+2,TESTPC
9076 040065 201 14 0 00 000014 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
9077 040066 202 14 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
9078
9079 040067 205 12 0 00 000200 MOVSI AC,(1B<^O<AC>>) ;INITIALIZE AC
9080 040070 202 12 0 00 041211 MOVEM AC,GSVAC# ;INITIALIZE FOR LATER COMPARISON
9081 040071 476 00 0 00 000013 SETOM <AC+1>&17 ;INITIALIZE AC+1
9082 040072 243 12 0 00 040074 JFFO AC,.+2 ;*JFFO SHOULD PLACE AC INTO AC+1 AC+1 AND JUMP
9083 040073 002 12 0 00 030513 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
9084 040074 312 12 0 00 041211 CAME AC,GSVAC ;EXAMINE AC
9085 040075 003 12 0 00 030513 ER3 AC,SN ;C(AC) WAS CLOBBERED
9086 040076 302 13 0 00 000012 CAIE AC+1,AC ;EXAMINE AC+1
9087 040077 004 13 0 00 030513 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ZEROS IN AC
9088 040100 321 14 0 00 777767 JUMPL AC+2,-^D9 ;LOOP ON ERROR SWITCH
9089
9090
9091 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
9092 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO.
9093 ;THIS TEST IS REPEATED 13 TIMES, ONCE FOR EACH USABLE AC.
9094
9095 030514 SN=SN+1
9096 000013 AC=<AC+1>&17
9097 SAVEAC (1,1)^
9098 040101 201 15 0 00 040101 MOVEI AC+2,. ;SAVE TEST PC
9099 040102 202 15 0 00 030051 MOVEM AC+2,TESTPC
9100 040103 201 15 0 00 000015 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
9101 040104 202 15 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
9102
9103 040105 205 13 0 00 000100 MOVSI AC,(1B<^O<AC>>) ;INITIALIZE AC
9104 040106 202 13 0 00 041211 MOVEM AC,GSVAC# ;INITIALIZE FOR LATER COMPARISON
9105 040107 476 00 0 00 000014 SETOM <AC+1>&17 ;INITIALIZE AC+1
9106 040110 243 13 0 00 040112 JFFO AC,.+2 ;*JFFO SHOULD PLACE AC INTO AC+1 AC+1 AND JUMP
9107 040111 002 13 0 00 030514 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
9108 040112 312 13 0 00 041211 CAME AC,GSVAC ;EXAMINE AC
9109 040113 003 13 0 00 030514 ER3 AC,SN ;C(AC) WAS CLOBBERED
9110 040114 302 14 0 00 000013 CAIE AC+1,AC ;EXAMINE AC+1
9111 040115 004 14 0 00 030514 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ZEROS IN AC
9112 040116 321 15 0 00 777767 JUMPL AC+2,-^D9 ;LOOP ON ERROR SWITCH
9113
9114
9115 ;VERIFY THAT JFFO WILL JUMP AND SET AC+1 TO THE NO. OF LEADING
9116 ;ZEROS IN AC WHEN C(AC) IS NON-ZERO.
9117 ;THIS TEST IS REPEATED 13 TIMES, ONCE FOR EACH USABLE AC.
9118
9119 030515 SN=SN+1
9120 000014 AC=<AC+1>&17
9121 SAVEAC (1,1)^
9122 040117 201 16 0 00 040117 MOVEI AC+2,. ;SAVE TEST PC
9123 040120 202 16 0 00 030051 MOVEM AC+2,TESTPC
9124 040121 201 16 0 00 000016 MOVEI AC+2,<AC+2>&17 ;INFORM ERROR ROUTINE WHICH
9125 040122 202 16 0 00 041210 MOVEM AC+2,ERRLOP# ;AC IS USED FOR ITERATION^
9126
9127 040123 205 14 0 00 000040 MOVSI AC,(1B<^O<AC>>) ;INITIALIZE AC
9128 040124 202 14 0 00 041211 MOVEM AC,GSVAC# ;INITIALIZE FOR LATER COMPARISON
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 90-6
DAKAMM MAC 20-JAN-77 11:34 PART III - GENERAL JFFO TEST SEQ 0230
9129 040125 476 00 0 00 000015 SETOM <AC+1>&17 ;INITIALIZE AC+1
9130 040126 243 14 0 00 040130 JFFO AC,.+2 ;*JFFO SHOULD PLACE AC INTO AC+1 AC+1 AND JUMP
9131 040127 002 14 0 00 030515 ER2 AC,SN ;ERROR IF JFFO DID NOT JUMP
9132 040130 312 14 0 00 041211 CAME AC,GSVAC ;EXAMINE AC
9133 040131 003 14 0 00 030515 ER3 AC,SN ;C(AC) WAS CLOBBERED
9134 040132 302 15 0 00 000014 CAIE AC+1,AC ;EXAMINE AC+1
9135 040133 004 15 0 00 030515 ER4 AC+1,SN ;C(AC+1) NOT = NO. OF LEADING ZEROS IN AC
9136 040134 321 16 0 00 777767 JUMPL AC+2,-^D9 ;LOOP ON ERROR SWITCH
9137
9138
9139 040135 254 00 0 00 030057 LAST1: JRST BEGEND ;REPEAT DIAGNOSTIC
9140
9141 IF1,<PURGE BYTBLK>
9142 040136 BYTBLK: BLOCK ^D50
9143
9144 IF1,<PURGE BLTBLK>
9145 040220 BLTBLK: BLOCK ^D200
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 1
UUOERR KLM 22-APR-75 01:42 *UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975 SEQ 0231
9146 SUBTTL *UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975
9147
9148 ;THIS SUBROUTINE PROVIDES ERROR REPORTING THRU THE USE OF UUO'S.
9149
9150 040530 202 00 0 00 041216 ERRMES: MOVEM 0,%ERAC0# ;SAVE AC0
9151 IFDEF EXCASB,<IFDEF KI10,<
9152 SKIPN KAIFLG
9153 JRST .+5
9154 SKIPE USER ;USER MODE ?
9155 JRST .+3
9156 SKIPE MARGIN
9157 DATAO APR,[IMGNOF,,ISPDOF] ;CLR MARGINS >>
9158 040531 202 01 0 00 041217 MOVEM 1,%ERAC1# ;SAVE AC1
9159 040532 202 02 0 00 041220 MOVEM 2,%ERAC2# ;SAVE AC2
9160 040533 350 00 0 00 030053 AOS ERRTLS ;INCREMENT ERROR TOTALS
9161 040534 550 00 0 00 030114 HRRZ 0,$SVUPC ;GET PC OF UUO
9162 040535 316 00 0 00 030052 CAMN 0,ERRPC ;PC = PC OF LAST ERROR ?
9163 040536 350 00 0 00 041213 AOS MICNT# ;YES, ADD 1 TO ERROR COUNT
9164 040537 200 00 0 00 041213 MOVE 0,MICNT
9165 040540 504 00 0 00 030114 HRL 0,$SVUPC
9166 040541 336 00 0 00 030041 SKIPN KLFLG ;NOT KL10
9167 040542 332 00 0 00 030037 SKIPE USER ;AND NOT USER?
9168 040543 254 00 0 00 040545 JRST .+2
9169 040544 7 004 14 0 00 000000 DATAO PI,0 ;YES, DISPLAY ERROR PC,ERROR COUNT
9170 040545 402 00 0 00 041214 SETZM PROCED# ;CLEAR PROCEED FLAG
9171 040546 037 10 0 00 000002 SWITCH
9172 040547 603 00 0 00 040000 TLNE NOPNT ;PRINTOUT ?
9173 040550 254 00 0 00 040663 JRST %ERRS1 ;NO, RESTORE AC'S AND RETURN
9174 040551 200 01 0 00 030113 MOVE 1,$SVUUO
9175 040552 242 01 0 00 777745 LSH 1,-^D27
9176 040553 202 01 0 00 041215 MOVEM 1,%ACS1A# ;SAVE UUO NUMBER
9177 040554 200 00 0 00 041216 MOVE 0,%ERAC0
9178 040555 200 01 0 00 041217 MOVE 1,%ERAC1
9179 040556 335 00 1 00 041210 SKIPGE @ERRLOP ;ERR LOOP AC > OR = 0 ?
9180 040557 254 00 0 00 040715 JRST %ERRS4 ;NO, SEE IF PRINT ALL
9181 040560 402 00 0 00 041213 %ERMS1: SETZM MICNT ;CLEAR ERROR COUNT
9182 040561 331 00 0 00 030043 SKIPL MONCTL ;DIAG MON OR SYS EXER ?
9183 040562 254 00 0 00 040566 JRST .+4 ;NO, DON'T NEED TITLE
9184 040563 336 00 0 00 041221 SKIPN %ERFST# ;FIRST ERROR ?
9185 040564 037 04 0 00 000002 PNTNM ;YES, PRINT PROGRAM TITLE
9186 040565 476 00 0 00 041221 SETOM %ERFST
9187 040566 336 00 0 00 030047 SKIPN PASCNT ;FIRST PASS ?
9188 040567 254 00 0 00 040573 JRST .+4 ;YES
9189 PMSG <^TEST PASS COUNT = >^
9190 040570 037 02 0 00 041075 PSIXM [SIXBIT\^TEST PASS COUNT = _\]^
9191 040571 200 00 0 00 030047 MOVE PASCNT
9192 040572 037 15 0 00 000000 PNTDEC
9193 PMSG <^PC = >^
9194 040573 037 02 0 00 041101 PSIXM [SIXBIT\^PC = _\]^
9195 040574 550 00 0 00 030114 HRRZ 0,$SVUPC ;GET PC OF UUO
9196 040575 202 00 0 00 030052 MOVEM 0,ERRPC ;SAVE FOR COMPARE
9197 040576 037 06 0 00 000000 PNT6 ;PRINT UUO ADDRESS
9198 XLIST
9199 IFDEF ERDIAG,<LIST
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 2
UUOERR KLM 22-APR-75 01:42 *UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975 SEQ 0232
9200 ;DIAGNOSTIC FORMAT ERROR PRINTER
9201
9202 ;PRINT RESULT
9203
9204 040577 %ERMS2: PMSG <^RESULT = >^
9205 040577 037 02 0 00 041103 PSIXM [SIXBIT\^RESULT = _\]^
9206 040600 200 01 0 00 030113 MOVE 1,$SVUUO ;GET AC # OF UUO
9207 040601 242 01 0 00 777751 LSH 1,-27
9208 040602 405 01 0 00 000017 ANDI 1,17
9209 040603 200 00 0 01 000000 MOVE 0,(1) ;GET C(AC)
9210 040604 307 01 0 00 000001 CAIG 1,1 ;IS AC # = TO SAVE AC ?
9211 040605 200 00 0 01 041216 MOVE 0,%ERAC0(1) ;YES, GET SAVED AC
9212 040606 037 13 0 00 000000 PNTHW ;PRINT C(AC)
9213
9214 040607 200 00 0 00 030046 MOVE CONSW
9215 040610 603 00 0 00 000200 TLNE TXTINH ;PRINT FAILURE DES AND FLT NBR ?
9216 040611 254 00 0 00 040660 JRST %ERMORE ;NO, RESTORE AC'S ETC.
9217
9218 ;PRINT FAILURE DESCRIPTOR
9219
9220 040612 200 01 0 00 041215 MOVE 1,%ACS1A ;GET UUO NUMBER
9221 040613 307 01 0 00 000001 CAIG 1,1 ;PRINT DESCRIPTOR ?
9222 040614 254 00 0 00 040620 JRST %ERMS3 ;NO, JUST PRINT FAULT NUMBER
9223 040615 037 00 0 00 030242 PCRL
9224 040616 200 00 0 01 040644 MOVE %FLTTB(1)
9225 040617 037 17 0 00 000000 PNTAL ;PRINT FAULT DESCRIPTOR
9226
9227 ;PRINT FAULT NUMBER
9228
9229 040620 %ERMS3: PMSG <^FAULT NUMBER = >^
9230 040620 037 02 0 00 041105 PSIXM [SIXBIT\^FAULT NUMBER = _\]^
9231 040621 201 00 0 00 040643 MOVEI TLET
9232 040622 037 00 0 00 000000 PNTA ;PRINT TEST LETTER
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 3
UUOERR KLM 22-APR-75 01:42 *UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975 SEQ 0233
9233
9234 040623 550 00 0 00 030113 HRRZ $SVUUO
9235 040624 602 00 0 00 700000 TRNE 700000
9236 040625 254 00 0 00 040641 JRST %ER6X
9237 040626 602 00 0 00 070000 TRNE 070000
9238 040627 254 00 0 00 040637 JRST %ER5X
9239 040630 602 00 0 00 007000 TRNE 007000
9240 040631 254 00 0 00 040635 JRST %ER4X
9241 040632 037 03 0 00 000000 PNT3 ;PRINT FAULT NUMBER
9242 040633 037 00 0 00 030242 %ER7X: PCRL
9243 040634 254 00 0 00 040660 JRST %ERMORE
9244
9245 040635 037 04 0 00 000000 %ER4X: PNT4
9246 040636 254 00 0 00 040633 JRST %ER7X
9247 040637 037 05 0 00 000000 %ER5X: PNT5
9248 040640 254 00 0 00 040633 JRST %ER7X
9249 040641 037 06 0 00 000000 %ER6X: PNT6
9250 040642 254 00 0 00 040633 JRST %ER7X
9251
9252 ;FAILURE DESCRIPTORS
9253
9254 040643 000000 000000 TLET: 0 ;TEST LETTER
9255 040644 000000 000000 %FLTTB: 0 ;DESCRIPTOR TABLE
9256 040645 000000 041011 %NODES: [0] ;NO DESCRIPTOR
9257 040646 000000 041011 SPDES: [0] ;SPECIAL USER FAILURE DESCRIPTOR
9258 040647 000000 041110 $ACF: [ASCIZ/C(AC) FAILED/]
9259 040650 000000 041113 %AC1F: [ASCIZ/C(AC+1) FAILED/]
9260 040651 000000 041116 %EF: [ASCIZ/C(E) FAILED/]
9261 040652 000000 041121 %E1F: [ASCIZ/C(E+1) FAILED/]
9262 040653 000000 041124 %ARF: [ASCIZ/C(C(ACR)) FAILED/]
9263 040654 000000 041130 %AR1F: [ASCIZ/C(C(ACR+1)) FAILED/]
9264 040655 000000 041134 %ALF: [ASCIZ/C(C(ACL)) FAILED/]
9265 040656 000000 041140 %EEF: [ASCIZ/C(C(E)) FAILED/]
9266 040657 000000 041143 %FF: [ASCIZ/FLAG FAILED/]
9267 >
9268 XLIST
9269 LIST
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 8
UUOERR KLM 22-APR-75 01:42 *UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975 SEQ 0234
9270 ;RESTORE AC'S AND RETURN OR HALT
9271
9272 040660 256 00 0 00 030101 %ERMORE:XCT ERMORE
9273 040661 037 16 0 00 000002 PNTMGN ;PRINT MARGINS
9274 040662 037 10 0 00 000002 SWITCH
9275
9276 040663 037 07 0 00 000003 %ERRS1: TTALTM ;ALTMODE CHECK
9277 040664 254 00 0 00 040670 JRST .+4 ;NONE
9278 040665 201 00 0 00 040670 MOVEI .+3 ;SAVE CONT ADDRESS
9279 040666 202 00 0 00 000130 MOVEM JOBOPC
9280 040667 254 00 1 00 030063 JRST @ALTMGO ;PERFORM TRANSFER
9281 040670 200 00 0 00 030046 MOVE CONSW
9282 040671 603 00 0 00 002000 TLNE 0,ERSTOP ;HALT ON ERROR SWITCH SET ?
9283 040672 037 14 0 00 000004 ERRHLT ;YES
9284 040673 607 00 0 00 004000 TLNN 0,LOOPER ;LOOP ON ERROR SWITCH SET ?
9285 040674 476 00 0 00 041214 SETOM PROCED ;NO, SET THE PROCEED FLAG
9286 040675 603 00 0 00 010000 TLNE 0,DING ;RING BELL SWITCH SET ?
9287 040676 037 01 0 00 000007 PBELL ;YES, GO RING BELL
9288
9289 040677 200 02 0 00 041220 %ERRS2: MOVE 2,%ERAC2 ;RESTORE AC'S
9290 040700 200 01 0 00 041217 MOVE 1,%ERAC1
9291 040701 476 00 1 00 041210 SETOM @ERRLOP ;SET C(ERR LOOP AC) TO -1
9292 040702 336 00 0 00 041214 SKIPN PROCED ;LOOP ON ERROR ?
9293 040703 254 00 0 00 040713 JRST %ERRS5 ;YES
9294 040704 350 00 1 00 041210 AOS @ERRLOP ;NO, INC C(ERR LOOP AC)
9295 040705 350 00 1 00 041210 AOS @ERRLOP ;SO IT ='S 1
9296 040706 331 00 0 00 030043 SKIPL MONCTL ;UNDER DIAGNOSTIC MONITOR ?
9297 040707 254 00 0 00 040713 JRST %ERRS5 ;NO, CONTINUE PROGRAM
9298 040710 200 00 0 00 030053 MOVE 0,ERRTLS ;YES
9299 040711 301 00 0 00 000005 CAIL 0,5 ;PRINTED ALLOWED ERRORS ?
9300 040712 254 00 0 00 030061 JRST $BEND2
9301
9302 040713 200 00 0 00 041216 %ERRS5: MOVE 0,%ERAC0 ;NO, CONTINUE PROGRAM
9303 IFDEF EXCASB,<IFDEF KI10,<
9304 SKIPN KAIFLG
9305 JRST .+5
9306 SKIPE USER
9307 JRST .+3
9308 SKIPE MARGIN
9309 DATAO APR,MARGIN ;RESET MARGIN SYSTEM >>
9310 040714 254 00 0 00 030065 JRST UUOEXT
9311
9312 040715 200 00 0 00 030046 %ERRS4: MOVE 0,CONSW
9313 040716 607 00 0 00 001000 TLNN PALERS ;PRINT ALL ERRORS ?
9314 040717 254 00 0 00 040663 JRST %ERRS1 ;NO
9315 040720 254 00 0 00 040560 JRST %ERMS1 ;YES
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 1
STOR KLM 18-JAN-77 11:42 *STOR* RESERVED STORAGE, JAN 18,1977 SEQ 0235
9316 SUBTTL *STOR* RESERVED STORAGE, JAN 18,1977
9317
9318 ;PROGRAM LITERALS
9319
9320 XLIST
9321 IFNDEF $LPAPER,<LIST>
9322 040721 LIT
9323 040721 101 115 000 000 000
9324 040722 525252 525377
9325 040723 076000 000001
9326 040724 002525 252525
9327 040725 074000 000001
9328 040726 707070 707070
9329 040727 323232 232323
9330 040730 103 050 103 050 105
9331 040731 051 055 061 051 040
9332 040732 106 101 111 114 105
9333 040733 104 000 000 000 000
9334 040734 777777 777777
9335 040735 646446 464670
9336 040736 103 050 103 050 105
9337 040737 051 053 061 051 040
9338 040740 106 101 111 114 105
9339 040741 104 000 000 000 000
9340 040742 220600 000012
9341 040743 112233 445566
9342 040744 020000 033356
9343 040745 020000 033373
9344 040746 112270 445566
9345 040747 000000 033411
9346 040750 000000 033424
9347 040751 000000 033442
9348 040752 230703 603700
9349 040753 230702 103700
9350 040754 000000 033465
9351 040755 000000 033512
9352 040756 000000 033536
9353 040757 000000 033564
9354 040760 000000 033610
9355 040761 000000 033631
9356 040762 000000 033656
9357 040763 000000 033705
9358 040764 000000 033730
9359 040765 000000 033754
9360 040766 000000 034000
9361 040767 000000 034026
9362 040770 000000 034052
9363 040771 000000 034077
9364 040772 000000 034124
9365 040773 000000 034153
9366 040774 000000 034173
9367 040775 000000 034213
9368 040776 000000 034233
9369 040777 000000 034253
9370 041000 000000 034276
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 1-1
STOR KLM 18-JAN-77 11:42 *STOR* RESERVED STORAGE, JAN 18,1977 SEQ 0236
9371 041001 000000 034321
9372 041002 000000 034344
9373 041003 377777 777777
9374 041004 000000 034370
9375 041005 777777 777776
9376 041006 000000 034414
9377 041007 102 114 124 040 106
9378 041010 101 111 114 105 104
9379 041011 000 000 000 000 000
9380 041012 000001 000001
9381 041013 000006 000006
9382 041014 040221 040221
9383 041015 000006 000011
9384 041016 252525 252525
9385 041017 770077 007700
9386 041020 070707 070707
9387 041021 123456 765432
9388 041022 552255 225522
9389 041023 000005 000010
9390 041024 000004 000007
9391 041025 000006 040224
9392 041026 000005 040224
9393 041027 000004 040224
9394 041030 040221 040224
9395 041031 040221 000006
9396 041032 040221 000005
9397 041033 040221 000004
9398 041034 000004 000004
9399 041035 146314 631463
9400 041036 036074 170360
9401 041037 017407 603701
9402 041040 007603 607062
9403 041041 000002 000001
9404 041042 036074 170630
9405 041043 040222 040221
9406 041044 000001 000002
9407 041045 040221 040222
9408 041046 146314 146314
9409 041047 000001 040221
9410 041050 007700 770077
9411 041051 003760 077401
9412 041052 001774 007760
9413 041053 000777 000777
9414 041054 000377 600077
9415 041055 777777 040220
9416 041056 777777 040233
9417 041057 040221 000001
9418 041060 777777 000000
9419 041061 777777 000013
9420 041062 525252 525252
9421 041063 123456 654321
9422 041064 041224 041230
9423 041065 112 106 106 117 040
9424 041066 116 117 055 112 125
9425 041067 115 120 040 106 101
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 1-2
STOR KLM 18-JAN-77 11:42 *STOR* RESERVED STORAGE, JAN 18,1977 SEQ 0237
9426 041070 111 114 105 104 000
9427 041071 112 106 106 117 040
9428 041072 112 125 115 120 040
9429 041073 106 101 111 114 105
9430 041074 104 000 000 000 000
9431 041075 76 64 45 63 64 00
9432 041076 60 41 63 63 00 43
9433 041077 57 65 56 64 00 35
9434 041100 00 77 00 00 00 00
9435 041101 76 60 43 00 35 00
9436 041102 00 00 77 00 00 00
9437 041103 76 62 45 63 65 54
9438 041104 64 00 00 35 00 77
9439 041105 76 46 41 65 54 64
9440 041106 00 56 65 55 42 45
9441 041107 62 00 35 00 77 00
9442 041110 103 050 101 103 051
9443 041111 040 106 101 111 114
9444 041112 105 104 000 000 000
9445 041113 103 050 101 103 053
9446 041114 061 051 040 106 101
9447 041115 111 114 105 104 000
9448 041116 103 050 105 051 040
9449 041117 106 101 111 114 105
9450 041120 104 000 000 000 000
9451 041121 103 050 105 053 061
9452 041122 051 040 106 101 111
9453 041123 114 105 104 000 000
9454 041124 103 050 103 050 101
9455 041125 103 122 051 051 040
9456 041126 106 101 111 114 105
9457 041127 104 000 000 000 000
9458 041130 103 050 103 050 101
9459 041131 103 122 053 061 051
9460 041132 051 040 106 101 111
9461 041133 114 105 104 000 000
9462 041134 103 050 103 050 101
9463 041135 103 114 051 051 040
9464 041136 106 101 111 114 105
9465 041137 104 000 000 000 000
9466 041140 103 050 103 050 105
9467 041141 051 051 040 106 101
9468 041142 111 114 105 104 000
9469 041143 106 114 101 107 040
9470 041144 106 101 111 114 105
9471 041145 104 000 000 000 000
9472 LIST
9473 041147 000000 000000 ENDSLD: 0
9474
9475 IFDEF DEBUG,<
9476 041150 PATCH: BLOCK DEBUG ;PATCHING AREA
9477 >
9478
9479 ;PROGRAM VARIABLES
9480 041210 VAR
DAKAM PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (13) 0,2 MACRO %52(537) 15:23 20-JAN-77 PAGE 1-3
STOR KLM 18-JAN-77 11:42 *STOR* RESERVED STORAGE, JAN 18,1977 SEQ 0238
9481
9482 IFDEF PGMEND,<
9483 041222 000000 000000 END: 0
9484 030000 END BEGIN >
NO ERRORS DETECTED
PROGRAM BREAK IS 000000
ABSLUTE BREAK IS 041223
CPU TIME USED 00:42.173
11K CORE USED