pcjs/apps/pdp10/diags/ka10/dakac/DAKAC.LST.txt

7750 lines
389 KiB
Text

DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 1
DAKACT MAC 19-JAN-77 13:36 DIAGNOSTIC PARAMETERS SEQ 0007
1 ;DAKAC
2
3
4
5 000002 DECVER==2
6 000000 MCNVER==0
7
8 XLIST
9 LIST
10 LALL
11 NAME \MCNVER,\DECVER^
12
13 TITLE DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2
14 ^
15
16 ;TEST DESIGNED FOR INITIAL DEBUGGING OF PROCESSOR HARDWARE
17 ;AND TO DETECT (SOLID) FAILURES IN THE FIELD.
18
19 ;COPYRIGHT 1972,1977
20 ;DIGITAL EQUIPMENT CORPORATION
21 ;MARLBORO, MASS. 01752
22
23 ;JOHN R. KIRCHOFF
24 ;DICK MALISKA
25
26 000137 LOC 137
27 000137 000000 000002 MCNVER,,DECVER
28
29 NOSYM
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 2
DAKACT MAC 19-JAN-77 13:36 DIAGNOSTIC PARAMETERS SEQ 0008
30 SUBTTL DIAGNOSTIC PARAMETERS
31 ;PARAMETER DEFINITIONS
32 000001 EXCASB==1
33 000001 USRASB==1
34 000001 PGMEND==1
35 000100 DEBUG==100
36
37 ;FLAG DEFINITIONS
38 010000 USERF=10000 ;USER MODE FLAG
39
40
41 ;MACROS
42
43 ; STOP - USED FOR SCOPE LOOP, IF INSTRUCTION FAILS, CHANGE (JUMPA .+1)
44 ; TO A (JUMPA .-X) TO CYCLE ON FAILING INSTRUCTION
45
46 DEFINE STOP (A)<
47 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
48 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
49 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
50 ;IN THE SUBTEST) TO LOOP ON ERROR>
51
52 ;SPECIAL FEATURE PARAMETERS
53
54 030741 SADR1=STARTA
55 030741 SADR2=STARTA
56 030741 SADR3=STARTA
57 030741 SADR4=STARTA
58 254000 030741 SADR5=JRST STARTA
59 254000 030741 SADR6=JRST STARTA
60 254000 030741 SADR7=JRST STARTA
61 254000 030741 SADR8=JRST STARTA
62 254000 030741 SADR9=JRST STARTA
63 254000 030741 SADR10=JRST STARTA
64 254000 030741 SADR11=JRST STARTA
65
66 000000 PAREA0=0
67 000000 PAREA1=0
68 000000 PAREA2=0
69 444153 414300 PAREA3=SIXBIT/DAKAC/
70 645560 000000 PAREA4=SIXBIT/TMP/
71 000000 PAREA5=0
72 000000 PAREA6=0
73 001000 ITERAT==1000
74 000001 PGMEND==1
75 .DIRECTIVE .OKOVL
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 1
PARAM KLM 18-JAN-77 11:38 *PARAM* CONSOLE DATA SWITCH ASSIGNMENTS, JAN 18,1977 SEQ 0009
76 SUBTTL *PARAM* CONSOLE DATA SWITCH ASSIGNMENTS, JAN 18,1977
77
78 DEFINE S,<;*********************************************************************>
79
80 S^;*********************************************************************^
81 ;*DATA SWITCHES (READ FROM CONSOLE IN EXEC MODE OR TYPED IN IN USER MODE)
82 ;*LEFT HALF SWITCHES ARE PRE-ASSIGNED FOR SUBROUTINE PACKAGE USE
83 ;*AND CONTROL LOOPING, PRINTING (TTY OR OTHER DEVICE) AND MISC. FUNCTIONS
84 S^;*********************************************************************^
85
86 400000 ABORT== 400000 ;ABORT PROGRAM ON PASS COMPLETION
87 200000 RSTART==200000 ;RESTART TEST, PRINT TOTALS
88 100000 TOTALS==100000 ;PRINT TOTALS, CONTINUE
89
90 040000 NOPNT== 040000 ;INHIBIT ALL PRINT/TYPE OUT (EXCEPT FORCED)
91 020000 PNTLPT==020000 ;PRINT ALL DATA ON LPT (LOGICAL DEVICE, USER MODE)
92 010000 DING== 010000 ;RING BELL ON ERROR
93
94 004000 LOOPER==004000 ;ENTER EXERCISE/CHECK LOOP ON ERROR
95 002000 ERSTOP==002000 ;HALT ON TEST ERROR
96 001000 PALERS==001000 ;PRINT ALL ERRORS
97
98 000400 RELIAB==000400 ;RELIABILITY MODE
99 000200 TXTINH==000200 ;INHIBIT ERROR TEXT
100 000100 INHPAG==000100 ;INHIBIT PAGING
101
102 000040 MODDVC==000040 ;MODIFY DEVICE CODE
103 000020 INHCSH==000020 ;INHIBIT CACHE
104 000010 OPRSEL==000010 ;OPERATOR SELECTION
105
106 000004 CHAIN== 000004 ;CHAIN CONTROL SWITCH
107
108 000002 KAHZ50==000002 ;KA10 50 HERTZ POWER
109
110 ;SWITCH 17 RESERVED !!!
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 2
PARAM KLM 18-JAN-77 11:38 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 SEQ 0010
111 SUBTTL *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977
112
113 S^;*********************************************************************^
114 ;*SPECIAL SUBPROGRAM LINKAGES
115 S^;*********************************************************************^
116
117 027772 FSELNK= 27772 ;FILE SELECT LINK
118 027773 FRDLNK= 27773 ;FILE READ LINK
119 027774 LDLNK= 27774 ;LOAD LINKAGE ADDRESS
120 027775 DDTLNK= 27775 ;DDT LINKAGE ADDRESS
121 027776 MODLNK= 27776 ;OPERATIONAL MODE CHECK LINKAGE ADDRESS
122 027777 SUBLNK= 27777 ;SUBROUTINE LINKAGE ADDRESS
123
124 S^;*********************************************************************^
125 ;*SPECIAL SUBROUTINE FATAL HALTS
126 ;*USED TO REPORT ERRORS THAT CAUSE THE SUBROUTINES TO BE UNUSABLE
127 S^;*********************************************************************^
128
129 ;ADDRESS TAG REASON
130 ;---------------------
131
132 ; 1010 NOEXEC ;PROGRAM NOT CODED FOR EXEC MODE OPERATION
133 ; 1011 PLERR ;FATAL PUSH LIST POINTER ERROR
134 ; 1012 PLERR1 ;INITIAL PUSH LIST POINTER ERROR
135 ; 1013 MUOERR ;MUUO WITH LUUO HANDLER WIPED OUT
136 ; 1014 DTEBER ;DTE20 INTERRUPT WITHOUT DOORBELL
137 ; 1015 DTECER ;DTE20 CLOCK INTERRUPT WITHOUT FLAG SET
138 ; 1016 CPIERR ;CPU INITIALIZATION ERROR
139 ; 1017 EOPERR ;END OF PROGRAM ERROR
140 ; 1020 LUOERR ;INTERRUPT WITH LUUO HANDLER WIPED OUT
141
142 S^;*********************************************************************^
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 3
PARAM KLM 18-JAN-77 11:38 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 SEQ 0011
143 S^;*********************************************************************^
144 ;OPERATOR DEFINITIONS (NON-UUO'S)
145 S^;*********************************************************************^
146
147 260740 000000 OPDEF GO [PUSHJ P,] ;SUBROUTINE CALL
148 263740 000000 OPDEF RTN [POPJ P,] ;SUBROUTINE RETURN
149 261740 000000 OPDEF PUT [PUSH P,] ;PUT DATA ON PUSH LIST
150 262740 000000 OPDEF GET [POP P,] ;GET DATA FROM PUSH LIST
151 254000 000000 OPDEF PJRST [JRST ] ;JRST TO ROUTINE THAT RTN'S
152 254200 000000 OPDEF HALT [JRST 4,] ;DEFINITION FOR DDT
153 254100 000000 OPDEF JRSTF [JRST 2,] ;DEFINITION FOR DDT
154 254500 000000 OPDEF JEN [JRST 12,] ;DEFINITION FOR DDT
155
156 S^;*********************************************************************^
157 ;*SUBROUTINE INITIALIZATION CALL
158 S^;*********************************************************************^
159
160 265000 030011 OPDEF PGMINT [JSP 0,SBINIT] ;SUBROUTINE INITIALIZATION
161
162 S^;*********************************************************************^
163 ;*HALTING UUO'S (A MORE GRACEFUL HALT THAN SIMPLY USING THE HALT INSTRUCTION).
164 S^;*********************************************************************^
165
166 037640 000004 OPDEF FATAL [37B8!15B12!4] ;FATAL PROGRAMMING HALT
167 037600 000004 OPDEF ERRHLT [37B8!14B12!4] ;PROGRAM ERROR HALT
168
169 S^;*********************************************************************^
170 ;*TERMINAL INPUT UUO'S
171 ;*ALWAYS COME FROM THE CONSOLE TERMINAL IN EXEC MODE OR THE
172 ;*CONTROLLING TERMINAL (REAL TERMINAL OR PTY) IN USER MODE.
173 S^;*********************************************************************^
174
175 037000 000003 OPDEF TTICHR [37B8!0B12!3] ;TTY, INPUT ANY CHARACTER
176 037040 000003 OPDEF TTIYES [37B8!1B12!3] ;TTY, NORMAL RETURN Y
177 037100 000003 OPDEF TTINO [37B8!2B12!3] ;TTY, NORMAL RETURN N
178 037140 000003 OPDEF TTIOCT [37B8!3B12!3] ;TTY, INPUT OCTAL WORD
179 037200 000003 OPDEF TTIDEC [37B8!4B12!3] ;TTY, INPUT DECIMAL WORD
180 037240 000003 OPDEF TTICNV [37B8!5B12!3] ;TTY, INPUT CONVERTABLE WORD
181 037300 000003 OPDEF TTLOOK [37B8!6B12!3] ;TTY, KEYBOARD CHECK
182 037340 000003 OPDEF TTALTM [37B8!7B12!3] ;TTY, ALT-MODE CHECK
183 037400 000003 OPDEF TTSIXB [37B8!10B12!3] ;TTY, INPUT SIXBIT WORD
184 037440 000003 OPDEF TTYINP [37B8!11B12!3] ;TTY, IMAGE MODE INPUT
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 4
PARAM KLM 18-JAN-77 11:38 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 SEQ 0012
185 ;*TERMINAL OUTPUT UUO'S.
186
187 037000 000000 OPDEF PNTA [37B8!0B12!0] ;PRINT ASCII WORD
188 037000 000001 OPDEF PNTAF [37B8!0B12!1] ;PRINT ASCII WORD FORCED
189 037740 000000 OPDEF PNTAL [37B8!17B12!0] ;PRINT ASCIZ LINE
190 037740 000001 OPDEF PNTALF [37B8!17B12!1] ;PRINT ASCIZ LINE FORCED
191 037600 000003 OPDEF PSIXL [37B8!14B12!3] ;PRINT SIXBIT'Z LINE
192 037640 000003 OPDEF PSIXLF [37B8!15B12!3] ;PRINT SIXBIT'Z LINE FORCED
193 037000 000000 OPDEF PNTMSG [37B8!0B12!0] ;PRINT MESSAGE IMMEDIATE
194 037040 000000 OPDEF PNTMSF [37B8!1B12!0] ;PRINT MESSAGE IMMEDIATE FORCED
195 037100 000000 OPDEF PSIXM [37B8!2B12!0] ;PRINT SIXBIT'Z MSG IMMEDIATE
196 037200 000000 OPDEF PSIXMF [37B8!4B12!0] ;PRINT SIXBIT'Z MSG IMM FORCED
197 037000 000000 OPDEF PNTCI [37B8!0B12!0] ;PRINT CHARACTER IMMEDIATE
198 037040 000000 OPDEF PNTCIF [37B8!1B12!0] ;PRINT CHARACTER IMMEDIATE FORCED
199 037500 000000 OPDEF PNTCHR [37B8!12B12!0] ;PRINT CHARACTER
200 037500 000001 OPDEF PNTCHF [37B8!12B12!1] ;PRINT CHARACTER FORCED
201 037040 000000 OPDEF PNT1 [37B8!1B12!0] ;PRINT ONE OCTAL DIGIT
202 037040 000001 OPDEF PNT1F [37B8!1B12!1] ;PRINT 1 OCTAL DIGIT FORCED
203 037100 000000 OPDEF PNT2 [37B8!2B12!0] ;PRINT TWO OCTAL DIGITS
204 037100 000001 OPDEF PNT2F [37B8!2B12!1] ;PRINT 2 OCTAL DIGITS FORCED
205 037140 000000 OPDEF PNT3 [37B8!3B12!0] ;PRINT THREE OCTAL DIGITS
206 037140 000001 OPDEF PNT3F [37B8!3B12!1] ;PRINT THREE OCTAL DIGITS FORCED
207 037200 000000 OPDEF PNT4 [37B8!4B12!0] ;PRINT FOUR OCTAL DIGITS
208 037200 000001 OPDEF PNT4F [37B8!4B12!1] ;PRINT FOUR OCTAL DIGITS FORCED
209 037240 000000 OPDEF PNT5 [37B8!5B12!0] ;PRINT FIVE OCTAL DIGITS
210 037240 000001 OPDEF PNT5F [37B8!5B12!1] ;PRINT FIVE OCTAL DIGITS FORCED
211 037300 000000 OPDEF PNT6 [37B8!6B12!0] ;PRINT SIX OCTAL DIGITS
212 037300 000001 OPDEF PNT6F [37B8!6B12!1] ;PRINT SIX OCTAL DIGITS FORCED
213 037340 000000 OPDEF PNT7 [37B8!7B12!0] ;PRINT 7 OCTAL DIGITS
214 037340 000001 OPDEF PNT7F [37B8!7B12!1] ;PRINT 7 OCTAL DIGITS FORCED
215 037440 000000 OPDEF PNT11 [37B8!11B12!0] ;PRINT 11 OCTAL DIGITS
216 037440 000001 OPDEF PNT11F [37B8!11B12!1] ;PRINT 11 OCTAL DIGITS FORCED.
217 037400 000000 OPDEF PNTADR [37B8!10B12!0] ;PRINT PHYSICAL ADDRESS
218 037400 000001 OPDEF PNTADF [37B8!10B12!1] ;PRINT PHYSICAL ADDRESS FORCED
219 037600 000000 OPDEF PNTOCT [37B8!14B12!0] ;PRINT FULL WORD OCTAL
220 037600 000001 OPDEF PNTOTF [37B8!14B12!1] ;PRINT FULL WORD OCTAL FORCED
221 037540 000000 OPDEF PNTHW [37B8!13B12!0] ;PRINT OCTAL HALF WORDS, 6 SP 6
222 037540 000001 OPDEF PNTHWF [37B8!13B12!1] ;PRINT OCTAL HALF WORDS, 6 SP 6 FORCED
223 037700 000003 OPDEF PNTOCS [37B8!16B12!3] ;PRINT OCTAL, SUPPRESS LEADING 0'S
224 037740 000003 OPDEF PNTOCF [37B8!17B12!3] ;PRINT OCTAL, SUPPRESS LEADING 0'S FORCED
225 037640 000000 OPDEF PNTDEC [37B8!15B12!0] ;PRINT DECIMAL, SUPRESS LEADING 0'S
226 037640 000001 OPDEF PNTDCF [37B8!15B12!1] ;PRINT DECIMAL, SUPRESS LEADING 0'S FORCED
227 037700 000000 OPDEF PNTDS [37B8!16B12!0] ;PRINT DECIMAL, SPACES FOR LD 0'S
228 037700 000001 OPDEF PNTDSF [37B8!16B12!1] ;PRINT DECIMAL, SPACES FOR LD 0'S FORCED
229 037200 000002 OPDEF PNTNM [37B8!4B12!2] ;PRINT PROGRAM NAME
230 037000 000002 OPDEF PNTSIX [37B8!0B12!2] ;PRINT SIXBIT WORD
231 037040 000002 OPDEF PNTSXF [37B8!1B12!2] ;PRINT SIXBIT WORD FORCED
232 037240 000002 OPDEF DROPDV [37B8!5B12!2] ;CLOSE LOGICAL FILE, USER MODE
233 037100 000002 OPDEF PNTCW [37B8!2B12!2] ;PRINT DF10 CONTROL WORD
234 037140 000002 OPDEF PNTCWF [37B8!3B12!2] ;PRINT DF10 CONTROL WORD FORCED
235 037000 030242 OPDEF PCRL [37B8!0B12!CRLF] ;PRINT CARRIAGE RETURN/LINE FEED
236 037040 030242 OPDEF PCRLF [37B8!1B12!CRLF] ;PRINT CARRIAGE RETURN/LINE FEED FORCED
237 037000 000040 OPDEF PSP [37B8!0B12!40] ;PRINT SPACE
238 037040 000040 OPDEF PSPF [37B8!1B12!40] ;PRINT SPACE FORCED
239 037000 030243 OPDEF PCRL2 [37B8!0B12!CRLF2] ;PRINT CARRIAGE RETURN/LINE FEED (TWICE)
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 4-1
PARAM KLM 18-JAN-77 11:38 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 SEQ 0013
240 037040 030243 OPDEF PCRL2F [37B8!1B12!CRLF2] ;PRINT CARRIAGE RETURN/LINE FEED (TWICE) FORCED
241 037040 000007 OPDEF PBELL [37B8!1B12!7] ;PRINT TTY BELL
242
243 037040 000026 OPDEF PFORCE [37B8!1B12!26] ;PRINT FORCE, CONTROL O OVERRIDE
244
245 DEFINE PMSG (ARG),<
246 PSIXM [SIXBIT\ARG'_\]>
247
248 DEFINE PMSGF (ARG),<
249 PSIXMF [SIXBIT\ARG'_\]>
250
251 ;*SIXBTZ -- MACRO TO GENERATE SIXBIT DATA FOR PRINTING
252 ;* CONSERVES CORE OVER ASCIZ
253
254 DEFINE SIXBTZ (ARG),< [SIXBIT\ARG'_\]>
255
256 ;*CONSOLE SWITCH INPUT UUO.
257 ;*READS CONSOLE SWITCHES IF IN EXEC MODE OR ASKS FOR THEM IF
258 ;* USER MODE.
259
260 037400 000002 OPDEF SWITCH [37B8!10B12!2] ;INPUT CONSOLE SWITCHES
261
262 ;*CLOCK INITIALIZATION UUO - TO SET DESIRED CLOCK OPERATION
263 ;*EITHER IGNORE CLOCK, ONLY LET IT TICK OR CAUSE INTERRUPT TO OCCUR.
264
265 037540 000004 OPDEF CLOKOP [37B8!13B12!4] ;CLOCK OPERATION UUO - PDP-11 CLOCK
266 037200 000004 OPDEF MTROP [37B8!4B12!4] ;CLOCK OPERATION UUO - DK20 METER
267
268 ;*KL10 ONLY CACHE OPERATION UUO'S
269
270 037040 000004 OPDEF CINVAL [37B8!1B12!4] ;CACHE INVALIDATE
271 037100 000004 OPDEF CFLUSH [37B8!2B12!4] ;CACHE FLUSH
272 037140 000004 OPDEF CWRTBI [37B8!3B12!4] ;CACHE WRITE-BACK & INVALIDATE
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 5
PARAM KLM 18-JAN-77 11:38 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 SEQ 0014
273 ;*END OF PASS/PROGRAM UUOS
274
275 ;PERFORMS THE END OF PASS FUNCTIONS. INCREMENT PASS COUNT,
276 ;*DECREMENT ITERATION COUNT, CHECK IF FINISHED WITH THIS PROGRAM ETC.
277
278 037500 000004 OPDEF ENDUUO [37B8!12B12!4] ;UUO TO DISPLAY LIGHTS
279 037700 000004 OPDEF EOPUUO [37B8!16B12!4] ;END OF PROGRAM UUO
280
281 ;*MEMORY MANAGEMENT UUO'S
282 ;*UUO'S TO PERFORM VARIOUS MEMORY FUNCTIONS. MAPPING, ZEROING, PAGING,
283 ;*ADDRESS CONVERSION, ETC...
284
285 037000 000004 OPDEF MAPMEM [37B8!0B12!4] ;MAP MEMORY
286 037500 000002 OPDEF MEMZRO [37B8!12B12!2] ;ZERO MEMORY
287 037440 000002 OPDEF MEMSEG [37B8!11B12!2] ;SETUP MEMORY SEGMENT
288 037540 000002 OPDEF MAPADR [37B8!13B12!2] ;VIRTUAL TO PHYSICAL ADR CONVERT
289 037640 000002 OPDEF MAPCNK [37B8!15B12!2] ;MAP MEMORY CHUNK
290 037600 000002 OPDEF MAPSET [37B8!14B12!2] ;SET KI10 EXEC PAGE MAP
291 037740 000002 OPDEF MAPPNT [37B8!17B12!2] ;PRINT MEMORY MAP
292
293 ;*DEVICE CODE MODIFICATION UUO
294 ;*ALLOWS THE MODIFICATION OF IOT'S TO ONE DEVICE TO BE CHANGED TO
295 ;*IOT'S TO A DIFFERENT DEVICE CODE.
296
297 037340 000002 OPDEF MODPCU [37B8!7B12!2] ;MODIFY PERHIPERAL CODE, USER
298 037300 000002 OPDEF MODPCP [37B8!6B12!2] ;MODIFY PERHIPERAL CODE, PROGRAM
299
300 030000 IFNDEF MODDVL,<MODDVL==BEGIN>
301 030000 IFNDEF MODDVU,<MODDVU==BEGIN>
302
303 ;*"DIAMON" FILE SELECTION AND READ UUOS
304
305 037240 000004 OPDEF FSELECT [37B8!5B12!4] ;FILE SELECTION
306 037300 000004 OPDEF FREAD [37B8!6B12!4] ;FILE READ - ASCII DATA
307 037340 000004 OPDEF FRD36 [37B8!7B12!4] ;FILE READ - 36 BIT DATA
308 037400 000004 OPDEF FRD8 [37B8!10B12!4] ;FILE READ - 8 BIT DATA
309
310 ;*KI10 ONLY UUO FOR PRINTING MARGIN VALUES
311
312 037700 000002 OPDEF PNTMGN [37B8!16B12!2] ;PRINT MARGIN VALUE
313
314 XLIST
315 IFNDEF KLOLD,<LIST
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 6
PARAM KLM 18-JAN-77 11:38 ERROR HANDLING UUO DEFINITIONS, JAN 18,1977 SEQ 0015
316 SUBTTL ERROR HANDLING UUO DEFINITIONS, JAN 18,1977
317
318 S^;*********************************************************************^
319 ;*ERROR HANDLER PARAMETERS
320 S^;*********************************************************************^
321
322 036000 000000 OPDEF ERUUO [36B8] ;ERROR CALL UUO
323 035000 000000 OPDEF ERLOOP [35B8] ;ERROR LOOP, CHECKS PC,REPT,REPT1,ERROR
324 035040 000000 OPDEF ERLP1 [35B8!1B12] ;ERROR LOOP IF PC'S MATCH
325 035100 000000 OPDEF ERLP2 [35B8!2B12] ;ERROR LOOP IF ANY ERROR
326 034000 000000 OPDEF REPTUO [34B8] ;REPEAT LOOP UUO
327
328 ;*THE ERROR HANDLER MACROS
329
330 ;*A MACRO TO REPORT AN ERROR AND LOOP
331
332 DEFINE ERROR (ADR,FORMAT,CORECT,ACTUAL,F,D,ERR)<
333 SALL
334 ERUUO FORMAT,[T,,[SIXBIT\F'_\]
335 CORECT,,ACTUAL
336 [SIXBIT\D'_\],,ERR]
337 XALL
338
339 ERLOOP ADR ;IF ERROR, LOOP TO ADR
340 >
341
342 ;*A MACRO TO REPORT AN ERROR AND NOT LOOP
343
344 DEFINE ERROR1 (FORMAT,CORECT,ACTUAL,F,D,ERR)<
345 SALL
346 ERUUO FORMAT,[T,,[SIXBIT\F'_\]
347 CORECT,,ACTUAL
348 [SIXBIT\D'_\],,ERR]
349 XALL >
350
351 >;END OF KLOLD CONDITIONAL
352
353 XLIST
354 LIST
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 1
FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0016
355 SUBTTL *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977
356
357 030000 LOC 30000
358
359 S^;*********************************************************************^
360 ;*PROGRAM STARTING ADDRESSES
361 ;*THESE ADDRESSES CALL VARIOUS SPECIAL START ROUTINES AND OR OPTIONS
362 ;*NORMAL START ADDRESS IS 30000 ALL OTHERS ARE SPECIAL. INVOKED BECAUSE
363 ;*OF END OF PASS, POWER FAILURE, DDT START, RE-ENTERING(TYPICALLY USER
364 ;*MODE), OR ANY NUMBER OF SPECIAL FEATURE TESTS.
365 S^;*********************************************************************^
366
367 030000 254 00 1 00 027776 BEGIN: JRST @MODLNK ;STAND-ALONE START
368 030001 254 00 0 00 030712 $START: JRST START ;MODE CHECK STARTING ADDRESS
369
370 030002 254 00 1 00 027774 DIAGMN: JRST @LDLNK ;DIAGNOSTIC MONITOR START
371
372 030003 254 00 1 00 027774 SYSEXR: JRST @LDLNK ;SYSTEM EXERCISER START
373
374 030004 254 00 0 00 030741 SFSTRT: JRST SADR1 ;SPECIAL FEATURE START
375
376 030005 254 00 0 00 030741 PFSTRT: JRST SADR2 ;POWER FAIL RESTART
377
378 030006 254 00 0 00 030741 REENTR: JRST SADR3 ;REENTER START(USUALLY USER MODE ONLY)
379
380 030007 SRTDDT: ;COMMONLY MISTAKEN NAME FOR "DDTSRT"
381 030007 254 00 1 00 027775 DDTSRT: JRST @DDTLNK ;DDT START
382
383 030010 254 00 0 00 030741 BEGIN1: JRST STARTA ;LOOP START(END OF PASS COMES HERE)
384 030011 254 00 1 00 027777 SBINIT: JRST @SUBLNK ;PMGINT LINKAGE
385 030012 000000 000000 RETURN: 0 ;RETURN ADDRESS STORAGE
386
387 030013 254000 030741 START1: SADR7 ;OPTIONAL STARTING ADR/INSTRUCTIONS
388 030014 254000 030741 START2: SADR8 ; "
389 030015 254000 030741 START3: SADR9 ; "
390 030016 254000 030741 START4: SADR10 ; "
391 030017 254000 030741 START5: SADR11 ; "
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 2
FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0017
392 S^;*********************************************************************^
393 ;*PROGRAM FIXED PARAMETER AREA
394 S^;*********************************************************************^
395
396 030020 444153 414300 PNTNAM: PAREA3 ;SIXBIT PROGRAM NAME
397 030021 645560 000000 PNTEXT: PAREA4 ;SIXBIT PROGRAM EXTENSION
398 030022 000000 000000 RANDBS: PAREA1 ;RANDOM BASE NUMBER
399 030023 000000 000000 SWTEXR: PAREA2 ;SYSTEM EXERCISER SWITCHES
400 030024 000000 001000 ITRCNT: ITERAT ;PROGRAM ITERATIONS
401 030025 000000 030725 $PNAME: PGMNAM ;POINTER TO PROGRAMS NAME
402 030026 000000 000002 $PVER: MCNVER,,DECVER ;MCN & DEC VERSION LEVEL
403 030027 000000 030000 $MODVL: MODDVL ;DEVICE CODE CHANGE LOWER LIMIT
404 030030 000000 030000 $MODVU: MODDVU ;DEVICE CODE CHANGE UPPER LIMIT
405 030031 777777 777777 $EMODE: IFNDEF EXCASB,<0> IFDEF EXCASB,<-1> ;EXEC ALLOWED
406 030032 777777 777777 $UMODE: IFNDEF USRASB,<0> IFDEF USRASB,<-1> ;USER ALLOWED
407 030033 000000 000000 $DSKUP: IFNDEF DSKUPD,<0> IFDEF DSKUPD,<-1> ;DISK UPDATE MODE
408 030034 000000 000000 $MMAP: IFNDEF MEMMAP,<0> IFDEF MEMMAP,<-1> ;ALLOW MEMORY RTNS
409 030035 000000 000000 PAREA7: PAREA5 ;OPTIONAL PARAMETER
410 030036 000000 000000 PAREA8: PAREA6 ;OPTIONAL PARAMETER
411
412 S^;*********************************************************************^
413 ;*PROGRAM VARIABLE PARAMETER AREA
414 S^;*********************************************************************^
415
416 030037 000000 000000 USER: 0 ; 0 = EXEC, -1 = USER MODE FLAG
417 030040 000000 000000 KAIFLG: 0 ;PROCESSOR TYPE, 0 = KA10, -1 = KI10
418 030041 000000 000000 KLFLG: 0 ;PROCESSOR TYPE, 0 = KA/KI, -1 = KL10
419 030042 777777 777777 MONFLG: -1 ;DIAG MONITOR SPECIAL USER FLAG
420 030043 000000 000000 MONCTL: 0 ;DIAG MON/SYS EXR FLAG
421 030044 000000 000000 MONTEN: 0 ;-1= LOADED BY 10
422 030045 000000 000000 CLOCKF: 0 ;CLOCK TICKED FLAG
423 030046 000000 000000 CONSW: 0 ;CONSOLE SWITCH SETTINGS
424 030047 000000 000000 PASCNT: 0 ;PROGRAM PASS COUNT
425 030050 000000 000000 RUNFLG: 0 ;PROGRAM RUN FLAG
426 030051 000000 000000 TESTPC: 0 ;SUBTEST PC
427 030052 000000 000000 ERRPC: 0 ;ERROR PC
428 030053 000000 000000 ERRTLS: 0 ;ERROR TOTALS
429 030054 000000 000000 TICKS: 0 ;PROGRAM RUNNING TIME
430 030055 000000 000000 MARGIN: 0 ;KI10 MARGIN WORD VALUE
431 030056 000000 000000 $ONETM: 0 ;SUBROUTINE INITIALIZATION FLAG
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 3
FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0018
432 S^;*********************************************************************^
433 ;*SPECIAL PROGRAM DISPATCH ADDRESSES
434 S^;*********************************************************************^
435
436 030057 037 12 0 00 000004 BEGEND: ENDUUO ;END OF PASS
437 030060 254 00 0 00 030010 $BEND1: JRST BEGIN1 ;KEEP RUNNING PROGRAM
438 030061 037 16 0 00 000004 $BEND2: EOPUUO ;END OF PROGRAM - NO RETURN
439 030062 254000 030741 CNTLC: SADR5 ;CONTROL C XFER ADDRESS
440 030063 254000 030741 ALTMGO: SADR6 ;ALTMODE XFER ADDRESS
441 030064 CPOPJ1: ;SKIP RETURN
442 030064 350 00 0 17 000000 UUOSKP: AOS (P) ;SKIP RETURN FROM UUO
443 030065 CPOPJ: ;NON-SKIP REGULAR RETURN
444 030065 263 17 0 00 000000 UUOEXT: RTN ;UUO RETURN
445 030066 255 00 0 00 000000 UUORTN: JFCL ;ADDITIONAL USERS UUO ROUTINE
446 030067 255 00 0 00 000000 $UORTX: JFCL ;ADDITIONAL UUO LINKAGE
447 030070 255 00 0 00 000000 $UUOER: JFCL ;INITED AS (JRST $UOERX)
448 030071 255 00 0 00 000000 $ITRHL: JFCL ;ADDITIONAL INTERRUPT LINKAGE
449 030072 255 00 0 00 000000 $ITRX1: JFCL ; "
450 030073 255 00 0 00 000000 $USRHL: JFCL ; "
451 030074 255 00 0 00 000000 $RSRTX: JFCL ;ADDITIONAL POWER FAIL LINKAGE
452 030075 255 00 0 00 000000 $RSRTY: JFCL ; "
453 030076 255 00 0 00 000000 RESRT1: JFCL ; INITED AS (JRST RESRTX)
454 030077 255 00 0 00 000000 RESRT2: JFCL ; "
455 030100 255 00 0 00 000000 $PARER: JFCL ;ADDITIONAL PARITY ERROR LINKAGE
456 030101 255 00 0 00 000000 ERMORE: JFCL ;ADDITIONAL ERROR HANDLER LINKAGE
457 030102 254 04 0 00 030102 HALT . ;IMPROPER TRANSFER HALT
458
459 030103 000000 000000 $PSHER: 0 ;INITED AS (JRST PSHERR)
460 030104 000000 000000 ITRCH1: 0 ;PC & FLAGS OF CURRENT INTERRUPT
461 030105 000000 000000 0 ;INITED AS (JRST $ITRC1)
462
463 S^;*********************************************************************^
464 ;*PROCESSOR CONTROL STORAGE
465 S^;*********************************************************************^
466
467 030106 000000 000000 $ACC0: 0 ;INTERRUPT SAVED AC0
468 030107 000000 000000 $SVPI: 0 ;INTERRUPT SAVED PI
469 030110 000000 000000 $SVAPR: 0 ;INTERRUPT SAVED APR
470 030111 000000 000000 $SVPAG: 0 ;INTERRUPT SAVED PAG (DATAI)
471 030112 000000 000000 $SPAG1: 0 ;INTERRUPT SAVED PAG (CONI)
472
473 030113 000000 000000 $SVUUO: 0 ;CURRENT USERS UUO
474 030114 000000 000000 $SVUPC: 0 ;PC OF CURRENT USERS UUO
475
476 030115 000000 000000 REPTU: 0 ;REPEAT UUO ITERATIONS
477 030116 000000 000000 SCOPE: 0 ;ERROR HANDLER SCOPE LOOP FLAG
478 030117 000000 000000 %CORFLG:0 ; " CORRECT FLAG
479 030120 000000 000000 %COREC: 0 ; " CORRECT DATA
480 030121 000000 000000 %ACTFL: 0 ; " ACTUAL FLAG
481 030122 000000 000000 %ACTUL: 0 ; " ACTUAL DATA
482 030123 000000 000000 %DISCR: 0 ; " DISCREPENCY DATA
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 4
FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0019
483 S^;*********************************************************************^
484 ;*UUO DISPATCH TABLE
485 S^;*********************************************************************^
486 XLIST
487 LIST
488 030124 030070 030070 UUODIS: LUUO1,,$UUOER
489 030125 030070 030070 LUUO3,,LUUO2
490 030126 030070 030070 LUUO5,,LUUO4
491 030127 030070 030070 LUUO7,,LUUO6
492 030130 030070 030070 LUUO11,,LUUO10
493 030131 030070 030070 LUUO13,,LUUO12
494 030132 030070 030070 LUUO15,,LUUO14
495 030133 030070 030070 LUUO17,,LUUO16
496 030134 030070 030070 LUUO21,,LUUO20
497 030135 030070 030070 LUUO23,,LUUO22
498 030136 030070 030070 LUUO25,,LUUO24
499 030137 030070 030070 LUUO27,,LUUO26
500 030140 030070 030070 LUUO31,,LUUO30
501 030141 030070 030070 LUUO33,,LUUO32
502
503 S^;*********************************************************************^
504 ;*MEMORY MANAGMENT STORAGE
505 S^;*********************************************************************^
506
507 030142 000000 000000 DF22F: 0 ;DF10 CONTROL FLAG, 0 = 18, -1 = 22 BIT
508 030143 000000 000000 MAPNEW: 0 ;MEMORY MAPPING CONTROL FLAG, -1 = 4096K MAPPING
509 030144 000000 000000 MEMTOT: 0 ;TOTAL MEMORY SIZE IN K (1024.)
510 030145 000000 000000 MEMLOW: 0 ;LOWEST USABLE MEMORY
511 030146 MEMSIZ: BLOCK ^D41 ;MEMORY SEGMENT POINTER TABLE
512
513 S^;*********************************************************************^
514 ;*PRINT CONTROL STORAGE
515 S^;*********************************************************************^
516
517 030217 000000 000000 PNTFLG: 0 ;PRINT FLAG, -1 WHILE IN PRINT ROUTINE
518 030220 000000 000000 PNTENB: 0 ;PRINT ENABLE
519 030221 000000 000000 PDISF: 0 ;PRINT DISABLED FLAG
520 030222 000000 000000 PNTINH: 0 ;INHIBIT PRINT INPUT CHECKS
521 030223 000000 000000 PNTSPC: 0 ;PRINT SPACE CONTROL
522 030224 000000 000000 OPTIME: 0 ;TYPE-IN WAIT TIME
523 030225 000000 000000 $TWCNT: 0 ;TIME WAITED
524 030226 000000 000000 $DVOFF: 0 ;LOGICAL DEVICE INITED FLAG
525 030227 000000 000000 TTYFIL: 0 ;TTY EXEC FILLERS FLAG
526 030230 000000 000000 TTYSPD: 0 ;TTY EXEC BAUD RATE
527 030231 000000 000000 $TTCHR: 0 ;ACTUAL TYPED IN CHAR
528 030232 000000 000000 $CHRIN: 0 ;UPPER CASED & PARITY STRIPPED CHAR
529 030233 000000 000000 $TYPNB: 0 ;TYPED IN NUMBER
530 030234 000000 000000 $CRLF: 0 ;FREE CR/LF FLAG
531 030235 000000 000000 $TABF: 0 ;TAB CONVERSION FLAG
532 030236 000000 000000 $FFF: 0 ;FORM FEED CONVERSION FLAG
533 030237 000000 000000 $VTF: 0 ;VERTICAL TAB CONVERSION FLAG
534 030240 000000 000000 USRLFF: 0 ;USER LF FILLERS
535 030241 000000 000000 USRCRF: 0 ;USER CR FILLERS
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 5
FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0020
536 S^;*********************************************************************^
537 ;*THE FOLLOWING MISCELLANEOUS PRINT CHARACTERS ARE INCLUDED
538 ;*TO FACILITATE PRINTING AND ARE CALLED AS FOLLOWS:
539 ;* MOVEI NAME
540 ;* PNTA ;OR PNTAF
541 S^;*********************************************************************^
542
543 030242 CRLF: ASCII/
544 030242 015 012 000 000 000 /
545 030243 CRLF2: ASCII/
546
547 030243 015 012 015 012 000 /
548 030244 054 000 000 000 000 COMMA: ASCII/,/
549 030245 056 000 000 000 000 PERIOD: ASCII/./
550 030246 040 000 000 000 000 SPACE: ASCII/ /
551 030247 011 000 000 000 000 TAB: ASCII/ /
552 030250 MINUS:
553 030250 055 000 000 000 000 HYPEN: ASCII/-/
554 030251 053 000 000 000 000 PLUS: ASCII/+/
555 030252 052 000 000 000 000 AST: ASCII/*/
556 030253 100 000 000 000 000 ATSIN: ASCII/@/
557 030254 050 000 000 000 000 LFP: ASCII/(/
558 030255 051 000 000 000 000 RTP: ASCII/)/
559 030256 007 0000000000 BELL: BYTE (7) 007
560 030257 077 000 000 000 000 QUEST: ASCII/?/
561 030260 057 000 000 000 000 SLASH: ASCII!/!
562 030261 044 000 000 000 000 DOLLAR: ASCII/$/
563 030262 000000 000012 RADIX: ^D10 ;DECIMAL PRINT RADIX
564 030263 000000 000040 RADLSP: 40 ;DECIMAL PRINT LEADING CHAR
565 030264 000000 000012 RADLSC: ^D10 ;DECIMAL PRINT LEADING CHAR COUNT
566
567 S^;*********************************************************************^
568 ;*USER MODE OUTPUT FILE INFORMATION
569 S^;*********************************************************************^
570
571 030265 $OBUF: BLOCK 3 ;LOGICAL FILE OUTPUT BUFFER HEADER
572 030270 60 62 51 56 64 00 $OUTNM: SIXBIT /PRINT/ ;FILE NAME
573 030271 60 56 64 00 00 00 $OUTEX: SIXBIT /PNT/ ;FILE NAME EXTENSION
574 030272 BLOCK 2
575
576 S^;*********************************************************************^
577 ;*DISK UPDATE MODE FILE INFORMATION
578 S^;*********************************************************************^
579
580 030274 $IBUF: BLOCK 3
581 030277 60 62 51 56 64 00 $INNM: SIXBIT /PRINT/
582 030300 60 56 64 00 00 00 $INEXT: SIXBIT /PNT/
583 030301 BLOCK 2
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 6
FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0021
584 S^;*********************************************************************^
585 ;*PUSHDOWN LIST CONTROL INFORMATION
586 S^;*********************************************************************^
587
588 030303 777577 030303 PLIST: PLIST-PLISTE,,PLIST
589 030304 PLISTS: BLOCK 200
590 030504 000000 000000 PLISTE: 0 ;END OF PUSHDOWN LIST
591
592 S^;*********************************************************************^
593 ;*POWER LINE CLOCK FREQUENCY FLAG
594 S^;*********************************************************************^
595
596 030505 000000 000000 CYCL60: 0 ;0 = 60, -1 = 50 CYCLE
597
598 S^;*********************************************************************^
599 ;*KL10 CACHE CONTROL FLAGS
600 S^;*********************************************************************^
601
602 030506 000000 000000 CSHFLG: 0 ;ALLOW CACHE IF 0
603 030507 000000 000000 CSHMEM: 0 ;CACHE MEMORY SEGMENTS IF 0
604
605 S^;*********************************************************************^
606 ;*NUMBER INPUT DIGIT FLAG
607 S^;*********************************************************************^
608
609 030510 000000 000000 TTNBRF: 0 ;-1 IF ANY DIGIT TYPED
610
611 S^;*********************************************************************^
612 ;*KL10 & KI10 "INHPAG" SWITCH PAGING PREVENTION
613 S^;*********************************************************************^
614
615 030511 000000 000000 PVPAGI: 0 ;IF NON-ZERO, OVERRIDE "INHPAG" SWITCH ACTION
616
617 S^;*********************************************************************^
618 ;*ERROR REPORTING ROUTINE ADDITIONAL USERS CONTROL INSTRUCTIONS
619 S^;*********************************************************************^
620
621 030512 000000 000000 %ERHI1: 0 ;IF NON-ZERO, XCT'D AT START OF %ERUUO
622 030513 000000 000000 %ERHI2: 0 ;IF NON-ZERO, XCT'D AT END OF %ERUUO
623 030514 000000 000000 %ERHI3: 0 ;IF NON-ZERO, XCT'D AFTER "PC" OF %ERUUO
624
625 S^;*********************************************************************^
626 ;*SPECIAL USERS UUO INTERCEPT INSTRUCTION
627 S^;*********************************************************************^
628
629 030515 000000 000000 $$UUO: 0 ;IF NON-ZERO, XCT'D AT START OF $UORTN
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 7
FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0022
630 S^;*********************************************************************^
631 ;*KL10 PROCESSOR TYPE FLAG, 0=P0, 1=BBD NEW, 2=BBD OLD
632 S^;*********************************************************************^
633
634 030516 000000 000000 KLTYP: 0
635
636 S^;*********************************************************************^
637 ;*SPECIAL USERS MUUO INTERCEPT INSTRUCTION
638 S^;*********************************************************************^
639
640 030517 000000 000000 $$MUUO: 0 ;IF NON-ZERO, XCT'D AT START OF MUUOER
641
642 S^;*********************************************************************^
643 ;*SPECIAL USERS USER MODE OUTPUT ERROR INTERCEPT INSTUCTION
644 S^;*********************************************************************^
645
646 030520 000000 000000 $$OUTER:0 ;IF NON-ZERO, XCT'D AT END OF USER MODE ERROR
647
648 S^;*********************************************************************^
649 ;*"SWITCH" CALL USAGE CONTROL
650 S^;*********************************************************************^
651
652 030521 000000 000000 $$TOGGLE:0 ;IF NON-ZERO, USE C(CONSW) FOR SWITCHES
653
654 S^;*********************************************************************^
655 ;*SPECIAL USERS ALTMODE SWITCH CALL INTERCEPT INSTRUCTIONS
656 S^;*********************************************************************^
657
658 030522 000000 000000 $$TAX1: 0 ;IF NON-ZERO, XCT'D AT START OF ALTMODE SWITCH CALL
659 030523 000000 000000 $$TAX2: 0 ;IF NON-ZERO, XCT'D AT END OF ALTMODE SWITCH CALL
660
661 S^;*********************************************************************^
662 ;*SPECIAL FUTURE EXPANSION ROOM
663 ;*IF ANY FIXED AREA TAGS ARE ADDED, REDUCE THE SIZE OF
664 ;*THIS BLOCK STATEMENT ACCORDINGLY. THIS MUST BE DONE
665 ;*SO THAT PREVIOUS FIXED ASSIGNMENTS DO NOT CHANGE.
666 S^;*********************************************************************^
667
668 030524 BLOCK 53 ;HOPEFULLY THIS IS ENOUGH FOREVER
669
670 S^;*********************************************************************^
671 ;*END OF FIXED STORAGE
672 S^;*********************************************************************^
673
674 030577 $ENDFX=<PLISTE+100>&<777700>-1
675 030577 LOC $ENDFX
676 030577 000000 000000 ENDFIX: 0 ;END OF FIXED STORAGE
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 1
SPCCPU KLM 26-FEB-76 05:50 *SPCCPU* SPECIAL BASIC CPU PROCESSOR CONTROL, 26-FEB-76 SEQ 0023
677 SUBTTL *SPCCPU* SPECIAL BASIC CPU PROCESSOR CONTROL, 26-FEB-76
678
679 ;NEW DEFINITIONS USED BY THE KL10 SUBROUTINE PACKAGE
680
681 000000 AC0= 0
682 030000 DIAGNOS=30000 ;PDP-10 DIAGNOSTIC START ADDRESS
683 010000 DDT= 10000 ;PDP-10 DDT START ADDRESS
684 020000 DIAMON= 20000 ;PDP-10 DIAMON LOADER START ADDRESS
685 020000 DONG11= 1B22 ;11 DOORBELL (FROM THE 10)
686
687 ;DTE20 DEVICE CODES
688
689 000200 DTE== 200 ;DTE0
690 000204 DTE0== 204
691 000204 DTE1== 204
692 000210 DTE2== 210
693 000214 DTE3== 214
694
695 ;KL10 EPT COMMUNICATION AREA
696
697 000440 $STD= 440 ;PDP-10 DIAGNOSTIC START ADDRESS
698 000441 $DDT= 441 ;PDP-10 DDT START ADDRESS
699 000442 $STL= 442 ;PDP-10 LOADER START ADDRESS
700 000443 $STM= 443 ;PDP-10 MONITOR START ADDRESS
701
702 000444 $DTFLG= 444 ;DTE20 OPERATION COMPLETE FLAG
703 000445 $DTCLK= 445 ;DTE20 CLOCK INTERRUPT FLAG
704 000446 $DTCI= 446 ;DTE20 CLOCK INTERRUPT INSTRUCTION
705 000447 $DTT11= 447 ;DTE20 10 TO 11 ARGUMENT
706 000450 $DTF11= 450 ;DTE20 11 TO 10 ARGUMENT
707 000451 $DTCMD= 451 ;DTE20 TO 11 COMMAND WORD
708 000452 $DTSEQ= 452 ;DTE20 OPERATION SEQUENCE NUMBER
709 000453 $DTOPR= 453 ;DTE20 OPERATIONAL DTE #
710 000454 $DTCHR= 454 ;DTE20 LAST TYPED CHARACTER
711 000455 $DTMTD= 455 ;DTE20 MONITOR TTY OUTPUT COMPLETE FLAG
712 000456 $DTMTI= 456 ;DTE20 MONITOR TTY INPUT FLAG
713
714 000457 $DTSWR= 457 ;DTE20 CONSOLE SWITCH REGISTER
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 2
SPCCPU KLM 26-FEB-76 05:50 *SPCCPU* SPECIAL BASIC CPU PROCESSOR CONTROL, 26-FEB-76 SEQ 0024
715 ;SPECIAL "FIXED" REASSIGNMENTS
716
717 030600 $$LOC=. ;SAVE CURRENT LOCATION
718
719 030000 LOC 30000
720 030000 254 00 0 00 030600 $$BEGIN:JRST $$START ;SETUP SPECIAL START
721 030001 254 00 0 00 030600 JRST $$START ;"DIAMON" CHAIN START ADDRESS
722
723 000440 LOC 440
724 000440 254 00 0 00 030000 $STD: JRST BEGIN ;SETUP FOR "STD"
725 000443 LOC 443
726 000443 254 00 0 00 030636 $STM: JRST $SPEC ;SIMPLE RUN CONTROL
727
728 030057 LOC 30057
729 030057 254 00 0 00 030641 $BEGEND:JRST $SPBEND ;SETUP SPECIAL "BEGEND"
730
731 ;SPECIAL MUUO, TRAP & PAGE FAIL SETUP
732
733 000420 LOC 420
734 000420 254 04 0 00 000420 $$420: HALT . ;KI10 PAGE FAIL
735 000421 255 00 0 00 000000 $$421: JFCL ;OVERFLOW
736 000422 254 04 0 00 000422 $$422: HALT . ;PUSHDOWN OVERFLOW
737 000423 254 04 0 00 000423 $$423: HALT . ;TRAP 3
738 000424 000000 000000 $$424: 0 ;MMUO
739 000425 000000 000000 $$425: 0 ;MMUO PC
740 000426 000000 000000 $$426: 0 ;KI10-PAGE FAIL, KL10-PROCESS CONTEXT
741 000427 254 04 0 00 000427 $$427: HALT .
742 000430 000000 000427 $$430: 427 ;MMUO NEW PC'S
743 000431 000000 000427 $$431: 427
744 000432 000000 000427 $$432: 427
745 000433 000000 000427 $$433: 427
746 000434 000000 000427 $$434: 427
747 000435 000000 000427 $$435: 427
748 000436 000000 000427 $$436: 427
749 000437 000000 000427 $$437: 427
750
751 000500 LOC 500
752 000500 000000 000000 $$500: 0 ;KL10 PAGE FAIL WORD
753 000501 000000 000000 $$501: 0 ;KL10 PAGE FAIL PC
754 000502 000000 000503 $$502: 503 ;KL10 PAGE FAIL NEW PC
755 000503 254 04 0 00 000503 $$503: HALT .
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 3
SPCCPU KLM 26-FEB-76 05:50 *SPCCPU* SPECIAL BASIC CPU PROCESSOR CONTROL, 26-FEB-76 SEQ 0025
756 030600 LOC $$LOC ;RESET CURRENT LOCATION
757
758 ;SPECIAL STARTUP SEQUENCE
759
760 030600 402 00 0 00 030037 $$START:SETZM USER
761 030601 265 00 0 00 030602 JSP 0,.+1 ;IN USER MODE ?
762 030602 603 00 0 00 010000 TLNE 0,USERF
763 030603 476 00 0 00 030037 SETOM USER ;YES, SET CONTROL WORD
764 030604 336 00 0 00 030042 SKIPN MONFLG ;SPECIAL USER MODE ?
765 030605 402 00 0 00 030037 SETZM USER ;YES, RUN AS EXEC
766 030606 332 00 0 00 030037 SKIPE USER
767 030607 254 00 0 00 030712 JRST START ;USER MODE, DON'T NEED CPU TYPE
768
769 030610 336 00 0 00 030044 $STKIL: SKIPN MONTEN ;LOADED BY "DIAMON" ?
770 030611 476 00 0 00 030024 SETOM ITRCNT ;NO, RUN FOREVER
771 030612 402 00 0 00 030516 SETZM KLTYP
772 030613 402 00 0 00 030041 SETZM KLFLG ;ASSUME KI10
773 030614 200 01 0 00 034010 MOVE 1,[1,,1]
774 030615 251 01 0 00 000001 BLT 1,1 ;HOPE THIS WORKS
775 030616 316 01 0 00 034010 CAMN 1,[1,,1] ;IF AC NE 1,,1 AFTER BLT, KL10
776 030617 254 00 0 00 030712 JRST START ;KI10, NO ADDITIONAL SETUP
777
778 030620 7 000 20 0 00 010040 $STKL: CONO APR,10040 ;SET BBD NOT BIT
779 030621 7 000 24 0 00 000000 CONI APR,0
780 030622 7 000 20 0 00 020040 CONO APR,20040 ;CLEAR BBD NOT BIT
781 030623 606 00 0 00 000040 TRNN 0,40 ;IF SET, KL10
782 030624 350 00 0 00 030516 AOS KLTYP ;IF NOT, BBD
783 030625 402 00 0 00 000444 SETZM $DTFLG
784 030626 402 00 0 00 000445 SETZM $DTCLK
785 030627 200 00 0 00 000453 MOVE $DTOPR ;GET DTE #
786 030630 436 00 0 00 030670 ORM $$DTE0 ;INSERT IN DTE I/O INSTS
787 030631 436 00 0 00 030672 ORM $$DTE1
788 030632 436 00 0 00 030704 ORM $$DTE2
789 030633 436 00 0 00 030706 ORM $$DTE3
790 030634 476 00 0 00 030041 SETOM KLFLG ;SET KL10 CONTROL FLAG
791 030635 254 00 0 00 030712 JRST START
792
793 030636 200 00 0 00 034011 $SPEC: MOVE [JRST STARTA] ;SIMPLE RUN CONTROL
794 030637 202 00 0 00 030643 MOVEM $SPB1
795 030640 254 00 0 00 030712 JRST START
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 4
SPCCPU KLM 26-FEB-76 05:50 *SPCCPU* SPECIAL BASIC CPU PROCESSOR CONTROL, 26-FEB-76 SEQ 0026
796 ;SPECIAL "BEGEND" ROUTINE
797
798 030641 350 00 0 00 030047 $SPBEND:AOS PASCNT ;INCREMENT PASS COUNT
799 030642 370 00 0 00 030024 SOS ITRCNT ;DECREMENT ITERATION COUNT
800 030643 336 00 0 00 030037 $SPB1: SKIPN USER
801 030644 254 00 0 00 030652 JRST $SPBEX ;EXEC MODE
802
803 030645 332 00 0 00 030024 $SPBUS: SKIPE ITRCNT ;USER MODE, COMPLETED ?
804 030646 254 00 0 00 030741 JRST STARTA ;NO, KEEP RUNNING
805 030647 336 00 0 00 030044 SKIPN MONTEN ;DONE, LOADED BY "DIAMON" ?
806 030650 047 00 0 00 000012 EXIT ;NO, RETURN TO MONITOR
807 030651 254 00 1 00 030012 JRST @RETURN ;YES, RETURN TO "DIAMON"
808
809 030652 332 00 0 00 030041 $SPBEX: SKIPE KLFLG
810 030653 254 00 0 00 030660 JRST $SPBKL ;KL10 & EXEC
811 030654 7 004 14 0 00 030024 DATAO PI,ITRCNT ;KI10 & EXEC, DISPLAY ITER COUNT
812 030655 332 00 0 00 030024 SKIPE ITRCNT
813 030656 254 00 0 00 030741 JRST STARTA ;NOT COMPLETED YET
814 030657 254 00 1 00 030012 JRST @RETURN ;DONE
815
816 030660 336 00 0 00 030024 $SPBKL: SKIPN ITRCNT
817 030661 254 00 0 00 030676 JRST $SPKLD ;KL10, EXEC & COMPLETED
818
819 030662 335 00 0 00 030043 SKIPGE MONCTL
820 030663 254 00 0 00 030741 JRST STARTA ;"DIAMON" CONTROL
821 030664 201 00 0 00 000404 MOVEI 0,404 ;NOTIFY PDP-11 OF END OF PASS
822 030665 202 00 0 00 000451 MOVEM 0,$DTCMD
823 030666 402 00 0 00 000444 SETZM $DTFLG
824 030667 336 00 0 00 030516 SKIPN KLTYP
825 030670 7 200 20 0 00 020000 $$DTE0: CONO DTE,DONG11
826 030671 332 00 0 00 030516 SKIPE KLTYP
827 030672 7 200 20 0 00 010000 $$DTE1: CONO DTE,10000
828 030673 336 00 0 00 000444 SKIPN $DTFLG ;WAIT TILL 11 RESPONDS
829 030674 254 00 0 00 030673 JRST .-1
830 030675 254 00 0 00 030741 JRST STARTA ;KEEP RUNNING
831
832 ;SPECIAL KL10 COMPLETED ROUTINE
833
834 030676 332 00 0 00 030044 $SPKLD: SKIPE MONTEN
835 030677 254 00 1 00 030012 JRST @RETURN ;LOADED BY "DIAMON"
836
837 030700 201 00 0 00 000403 MOVEI 0,403 ;NOTIFY PDP-11 OF COMPLETION
838 030701 202 00 0 00 000451 MOVEM 0,$DTCMD
839 030702 402 00 0 00 000444 SETZM $DTFLG
840 030703 336 00 0 00 030516 SKIPN KLTYP
841 030704 7 200 20 0 00 020000 $$DTE2: CONO DTE,DONG11
842 030705 332 00 0 00 030516 SKIPE KLTYP
843 030706 7 200 20 0 00 010000 $$DTE3: CONO DTE,10000
844 030707 336 00 0 00 000444 SKIPN $DTFLG ;SHOULD NEVER HAPPEN
845 030710 254 00 0 00 030707 JRST .-1 ;11 NEVER RETURNS ON END OF PROGRAM
846 030711 254 04 0 00 030000 HALT BEGIN ;IF IT DOES, HALT.
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 1
DAKACM MAC 19-JAN-77 13:40 DIAGNOSTIC SECTION SEQ 0027
847 SUBTTL DIAGNOSTIC SECTION
848
849 LALL
850
851 030712 402 00 0 00 030037 START: SETZM USER#
852 030713 265 00 0 00 030714 JSP 0,.+1 ;GET FLAGS
853 030714 603 00 0 00 010000 TLNE USERF ;IN USER MODE
854 030715 476 00 0 00 030037 SETOM USER ;YES SET USER CONTROLL WORD
855 030716 336 00 0 00 030042 SKIPN MONFLG ;SPECIAL USER MODE
856 030717 402 00 0 00 030037 SETZM USER ;YES CLEAR USER CONTROLL WORD
857 030720 336 00 0 00 030037 SKIPN USER
858 030721 254 00 0 00 030741 JRST STARTA
859 030722 331 00 0 00 030043 SKIPL MONCTL
860 030723 051 03 0 00 030725 TTCALL 3,PGMNAM ;MENTION OUR NAME
861 030724 254 00 0 00 030741 JRST STARTA
862
863 030725 PGMNAM: ASCIZ/
864 030725 015 012 120 104 120 PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) [DAKAC]
865 030726 055 061 060 040 113
866 030727 101 061 060 040 102
867 030730 101 123 111 103 040
868 030731 111 116 123 124 122
869 030732 125 103 124 111 117
870 030733 116 040 104 111 101
871 030734 107 116 117 123 124
872 030735 111 103 040 050 063
873 030736 051 040 133 104 101
874 030737 113 101 103 135 015
875 030740 012 000 000 000 000 /
876 030741 254 00 0 00 030742 STARTA: JRST .+1
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 2
DAKACM MAC 19-JAN-77 13:40 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0028
877 SUBTTL TEST OF LOGICAL TEST INSTRUCTIONS
878
879 ;**********
880
881 ;THIS TEST VERIFIES THAT TDN DOES NOT MODIFY THE AC BECAUSE
882 ;TDN IS A NO-OP
883 ;FIRST, THE AC IS PRELOADED WITH 0. THEN,
884 ;TDN IS EXECUTED. THE AC IS THEN CHECKED FOR
885 ;NO MODIFICATION. IF C(AC) IS UNALTERED, THE TEST PASSES
886 030742 400 00 0 00 000000 B12600: SETZ ;PRELOAD AC WITH 0
887 030743 610 00 0 00 034012 TDN [-1] ;*TDN IS A NO-OP
888 030744 310 00 0 00 000000 CAM ;CAM IS A NO-OP. IT IS HERE IN CASE TDN SKIPS
889 030745 302 00 0 00 000000 CAIE ;PASS TEST IF C(AC) IS UNMODIFIED BY TDN
890 STOP^
891 030746 254 04 0 00 030747 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
892 030747 324 00 0 00 030750 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
893 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
894 ;IN THE SUBTEST) TO LOOP ON ERROR^
895
896 ;***** FAILURE ANALYSIS *****
897 ;C(AC0) C(AC1) FAILING SIGNAL
898
899 ;-1,,-1 FC: AD FM + EN
900
901 ;**********
902
903 ;THIS TEST VERIFIES THAT TSN DOES NOT MODIFY THE AC BECAUSE
904 ;TSN IS A NO-OP
905 ;FIRST, THE AC IS PRELOADED WITH -1. THEN,
906 ;TSN IS EXECUTED. THE AC IS THEN CHECKED FOR
907 ;NO MODIFICATION. IF C(AC) IS UNALTERED, THIS TEST PASSES
908
909 030750 474 00 0 00 000000 B12700: SETO ;PRELOAD AC WITH -1,,-1
910 030751 611 00 0 00 034013 TSN [XWD -1,0] ;*TSN IS A NO-OP
911 030752 310 00 0 00 000000 CAM ;CAM IS A NO-OP. IT IS HERE IN CASE TSN SKIPS
912 030753 312 00 0 00 034012 CAME [-1] ;PASS TEST IF C(AC) IS UNMODIFIED BY TSN
913 STOP^
914 030754 254 04 0 00 030755 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
915 030755 324 00 0 00 030756 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
916 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
917 ;IN THE SUBTEST) TO LOOP ON ERROR^
918
919 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 3
DAKACM MAC 19-JAN-77 13:40 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0029
920 ;THIS TEST VERIFIES THAT TRN DOE NOT MODIFY THE AC BECAUSE
921 ;TRN IS A NO-OP.
922 ;FIRST, THE AC IS PRELOADED WITH 0. THEN,
923 ;TRN IS EXECUTED. THE AC IS THEN CHECKED FOR
924 ;NO MODIFICATION. IF C(AC) IS UNALTERED, THIS TEST PASSES
925
926 030756 400 00 0 00 000000 B13000: SETZ ;PRELOAD AC WITH 0
927 030757 600 00 0 00 123456 TRN 123456 ;*TRN IS A NO-OP
928 030760 310 00 0 00 000000 CAM ;CAM IS A NO-OP. IT IS HERE IN CASE TRN SKIPS
929 030761 302 00 0 00 000000 CAIE ;PASS TEST IF C(AC) IS UNMODIFIED BY TRN
930 STOP^
931 030762 254 04 0 00 030763 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
932 030763 324 00 0 00 030764 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
933 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
934 ;IN THE SUBTEST) TO LOOP ON ERROR^
935
936 ;**********
937
938 ;THIS TEST VERIFIES THAT TLN DOES NOT MODIFY THE AC BECAUSE
939 ;TLN IS A NO-OP.
940 ;FIRST,THE AC IS PRELOADED WITH -1,,-1. THEN,
941 ;TRN IS EXECUTED. THE AC IS THEN CHECKED FOR
942 ;NO MODIFICATION. IF C(AC) IS UNALTERED, THIS TEST PASSES
943
944 030764 474 00 0 00 000000 B13100: SETO ;PRELOAD AC WITH -1,,-1
945 030765 601 00 0 00 123456 TLN 123456 ;*TRN IS A NO-OP
946 030766 310 00 0 00 000000 CAM ;CAM IS A NO-OP. IT IS HERE IN CASE TRN SKIPS
947 030767 312 00 0 00 000000 CAME ;PASS TEST IF C(AC) IS UNMODIFIED BY TRN
948 STOP^
949 030770 254 04 0 00 030771 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
950 030771 324 00 0 00 030772 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
951 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
952 ;IN THE SUBTEST) TO LOOP ON ERROR^
953
954 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 4
DAKACM MAC 19-JAN-77 13:40 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0030
955 ;THIS TEST VERIFIES THAT TDO PLACES ONES IN THE BITS OF THE AC
956 ;WHICH ARE MASKED BY C(E) AND DOES NOT AFFECT THE UNMASKED BITS OF THE AC.
957 ;IN THIS CASE, C(AC)=0 AND C(E)=-1,,-1. HENCE, THE RESULT IN THE AC SHOULD BE -1,,-1.
958 ;THE AC IS CHECKED FOR -1,,-1. IF C(AC) -1,,-1, THE TEST PASSES.
959
960 030772 400 00 0 00 000000 B13200: SETZ ;PRELOAD AC WITH 0
961 030773 670 00 0 00 034012 TDO [-1] ;*TDO SHOULD PLACE ALL ONES IN THE AC
962 030774 300 00 0 00 000000 CAI ;CAI IS A NO-OP. IT IS HERE IN CASE TDO SKIPS
963 030775 312 00 0 00 034012 CAME [-1] ;PASS TEST IF C(AC)=-1,,-1
964 STOP^
965 030776 254 04 0 00 030777 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
966 030777 324 00 0 00 031000 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
967 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
968 ;IN THE SUBTEST) TO LOOP ON ERROR^
969
970 ;***** FAILURE ANALYSIS *****
971 ;C(AC0) C(AC1) FAILING SIGNAL
972
973 ;E SW: FCE
974 ;0 SW: ET1
975 ;0 ET1: BR AR EN
976 ;0 ET1: AD BR - EN
977 ;0 ET1: AD EQV
978
979 ;**********
980
981 ;THIS TEST VERIFIES THAT TDO PLACES ONES IN THE BITS OF THE AC
982 ;WHICH ARE MASKED BY C(E) AND DOES NOT AFFECT THE UNMASKED BITS OF THE AC.
983 ;IN THIS CASE, AC=E AND C(AC)= C(E)=0. HENCE, THE RESULT IN THE AC SHOULD BE 0.
984 ;THIS AC IS CHECKED FOR ZERO. IF C(AC) IS ZERO, THE TEST PASSES.
985
986 031000 400 00 0 00 000000 B13300: SETZ ;PRELOAD AC WITH 0
987 031001 670 00 0 00 000000 TDO ;*TDO SHOULD PLACE ALL ZERO IN THE AC
988 031002 300 00 0 00 000000 CAI ;CAI IS A NO-OP. IT IS HERE IN CASE TDO SKIPS
989 031003 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC) ZERO
990 STOP^
991 031004 254 04 0 00 031005 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
992 031005 324 00 0 00 031006 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
993 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
994 ;IN THE SUBTEST) TO LOOP ON ERROR^
995
996 ;***** FAILURE ANALYSIS *****
997 ;C(AC0) C(AC1) FAILING SIGNAL
998
999 ;-1,,-1 ET1: AD AR + EN
1000
1001 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 5
DAKACM MAC 19-JAN-77 13:40 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0031
1002 ;THIS TEST VERIFIES THAT TDO PLACES ONES IN THE BITS OF THE AC,
1003 ;WHICH ARE MASKED BY C(E) AND DOES NOT AFFECT THE UNMASKED BITS OF THE AC.
1004 ;IN THIS CASE, C(AC)=0 AND C(E)=0. HENCE, THE RESULT IN THE AC SHOULD BE 0.
1005 ;THE AC IS CHECKED FOR ITS CONTENTS ZERO. IF C(AC) IS ZERO, THE TEST PASSES.
1006
1007 031006 400 00 0 00 000000 B13400: SETZ ;PRELOAD AC WITH 0
1008 031007 670 00 0 00 034014 TDO [0] ;*TDO SHOULD PLACE ALL ZERO IN THE AC
1009 031010 300 00 0 00 000000 CAI ;CAI IS A NO-OP. IT IS HERE IN CASE TDO SKIPS
1010 031011 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC) IS ZERO
1011 STOP^
1012 031012 254 04 0 00 031013 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1013 031013 324 00 0 00 031014 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1014 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1015 ;IN THE SUBTEST) TO LOOP ON ERROR^
1016
1017 ;**********
1018
1019 ;THIS TEST VERIFIES THAT TDO PLACES ONES IN THE BITS OF THE AC
1020 ;WHICH ARE MASKED BY C(E) AND DOES NOT AFFECT THE UNMASKED BITS OF THE AC.
1021 ;IN THIS CASE, AC=E AND C(AC)= C(E)=-1,,-1.
1022 ;HENCE, THE RESULT IN THE AC SHOULD BE -1,,-1.
1023 ;THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THE TEST PASSES.
1024
1025 031014 474 00 0 00 000000 B13600: SETO ;PRELOAD AC WITH -1,,-1
1026 031015 670 00 0 00 000000 TDO ;*TDO SHOULD PLACE ALL ONES IN THE AC
1027 031016 300 00 0 00 000000 CAI ;CAI IS A NO-OP. IT IS HERE IN CASE TDO SKIPS
1028 031017 312 00 0 00 034012 CAME [-1] ;PASS TEST IF C(AC) -1,,-1
1029 STOP^
1030 031020 254 04 0 00 031021 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1031 031021 324 00 0 00 031022 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1032 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1033 ;IN THE SUBTEST) TO LOOP ON ERROR^
1034
1035 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 6
DAKACM MAC 19-JAN-77 13:40 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0032
1036 ;THIS TEST VERIFIES THAT TDO PLACES ONES IN THE BITS OF THE AC
1037 ;WHICH ARE MASKED BY C(E) AND DOES NOT AFFECT THE UNMASKED BITS OF THE AC.
1038 ;IN THIS CASE, C(AC)=-1,,-1 AND C(E)=0. HENCE, THE RESULT IN THE AC SHOULD BE -1,,-1.
1039 ;THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THE TEST PASSES.
1040
1041 031022 474 00 0 00 000000 B14000: SETO ;PRELOAD AC WITH -1,,-1
1042 031023 670 00 0 00 034014 TDO [0] ;*TDO SHOULD PLACE ALL ONES IN THE AC
1043 031024 300 00 0 00 000000 CAI ;CAI IS A NO-OP. IT IS HERE IN CASE TDO SKIPS
1044 031025 312 00 0 00 034012 CAME [-1] ;PASS TEST IF C(AC)=-1,,-1
1045 STOP^
1046 031026 254 04 0 00 031027 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1047 031027 324 00 0 00 031030 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1048 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1049 ;IN THE SUBTEST) TO LOOP ON ERROR^
1050
1051 ;***** FAILURE ANALYSIS *****
1052 ;C(AC0) C(AC1) FAILING SIGNAL
1053
1054 ;0 ET1: AD FM - EN
1055 ;0 ET2: AR AD EN
1056
1057 ;**********
1058
1059 ;THIS TEST VERIFIES THAT TDZ PLACES ZERO IN THE BITS OF THE AC
1060 ;WHICH ARE MASKED BY C(E) AND DOES NOT AFFECT THE UNMASKED BITS OF THE AC.
1061 ;IN THIS CASE, AC=E AND C(AC)= C(E)=0. HENCE, THE RESULT IN THE AC SHOULD BE 0.
1062 ;THE AC IS CHECKED FOR 0. IF C(AC) 0, THE TEST PASSES.
1063
1064 031030 400 00 0 00 000000 B14100: SETZ ;PRELOAD AC WITH 0
1065 031031 630 00 0 00 000000 TDZ ;*TDZ SHOULD PLACE ALL ZERO IN THE AC
1066 031032 300 00 0 00 000000 CAI ;CAI IS A NO-OP. IT IS HERE IN CASE TDO
1067 031033 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
1068 STOP^
1069 031034 254 04 0 00 031035 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1070 031035 324 00 0 00 031036 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1071 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1072 ;IN THE SUBTEST) TO LOOP ON ERROR^
1073
1074 ;***** FAILURE ANALYSIS *****
1075 ;C(AC0) C(AC1) FAILING SIGNAL
1076
1077 ;-1,,-1 FC: AD FM + EN
1078
1079 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 7
DAKACM MAC 19-JAN-77 13:40 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0033
1080 ;THIS TEST VERIFIES THAT TDZ PLACES ZERO IN THE BITS OF THE AC
1081 ;WHICH ARE MASKED BY C(E) AND DOES NOT AFFECT THE UNMASKED BITS OF THE AC.
1082 ;IN THIS CASE, C(AC)=-1,,-1,,-1 AND C(E)=-1,,0.
1083 ;HENCE, THE RESULT IN THE AC SHOULD BE 0,,-1.
1084 ;THE AC IS CHECKED FOR 0,,-1. IF C(AC)= 0,,-1, THE TEST PASSES.
1085
1086 031036 474 00 0 00 000000 B14200: SETO ;PRELOAD AC WITH -1,,-1
1087 031037 630 00 0 00 034013 TDZ [XWD -1,0] ;*TDZ SHOULD PLACE 0,,-1 IN THE AC
1088 031040 300 00 0 00 000000 CAI ;CAI IS A NO-OP. IT IS HERE IN CASE TDO
1089 031041 312 00 0 00 034015 CAME [0,-1] ;PASS TEST IF C(AC)=0,,-1
1090 STOP^
1091 031042 254 04 0 00 031043 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1092 031043 324 00 0 00 031044 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1093 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1094 ;IN THE SUBTEST) TO LOOP ON ERROR^
1095
1096 ;***** FAILURE ANALYSIS *****
1097 ;C(AC0) C(AC1) FAILING SIGNAL
1098
1099 ;-E SW: FCE
1100 ;-1,,-1 FC: AD AR -EN
1101 ;-1,,0 ET2: AR AD EN
1102
1103 ;**********
1104
1105 ;THIS TEST VERIFIES THAT TDZ PLACES ZEROS IN THE BITS OF THE AC
1106 ;WHICH ARE MASKED BY C(E) AND DOES NOT AFFECT THE UNMASKED BITS OF THE AC.
1107 ;IN THIS CASE, AC=E AND C(AC)= C(E)=-1,,-1. HENCE, THE RESULT IN THE AC SHOULD BE 0.
1108 ;THE AC IS CHECKED FOR 0. IF C(AC)=0, THE TEST PASSES.
1109
1110 031044 474 00 0 00 000000 B14400: SETO ;PRELOAD AC WITH -1,,-1
1111 031045 630 00 0 00 000000 TDZ ;*TDZ SHOULD PLACE ALL ZERO IN THE AC
1112 031046 300 00 0 00 000000 CAI ;CAI IS A NO-OP. IT IS HERE IN CASE TDO
1113 031047 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
1114 STOP^
1115 031050 254 04 0 00 031051 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1116 031051 324 00 0 00 031052 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1117 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1118 ;IN THE SUBTEST) TO LOOP ON ERROR^
1119
1120 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 8
DAKACM MAC 19-JAN-77 13:40 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0034
1121 ;THIS TEST VERIFIES THAT TDZ PLACES ZEROS IN THE BITS OF THE AC
1122 ;WHICH ARE MASKED BY C(E) AND DOES NOT AFFECT THE UNMASKED BITS OF THE AC.
1123 ;IN THIS CASE, C(AC)=0 AND C(E)=-1,,-1. HENCE, THE RESULT IN THE AC SHOULD BE 0.
1124 ;THE AC IS CHECKED FOR 0. IF C(AC)=0, THE TEST PASSES.
1125
1126 031052 400 00 0 00 000000 B14500: SETZ ;PRELOAD AC WITH 0
1127 031053 630 00 0 00 034012 TDZ [-1] ;*TDZ SHOULD PLACE ALL ZEROS IN THE AC
1128 031054 300 00 0 00 000000 CAI ;CAI IS A NO-OP. IT IS HERE IN CASE TDO
1129 031055 332 00 0 00 000000 SKIPE ;PASS TEST IS C(AC)=0
1130 STOP^
1131 031056 254 04 0 00 031057 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1132 031057 324 00 0 00 031060 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1133 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1134 ;IN THE SUBTEST) TO LOOP ON ERROR^
1135
1136 ;**********
1137
1138 ;THIS TEST VERIFIES THAT TDZ PLACES ZEROS IN THE BITS OF THE AC
1139 ;WHICH ARE MASKED BY C(E) AND DOES NOT AFFECT THE UNMASKED BITS OF THE AC.
1140 ;IN THIS CASE, AC=E AND C(AC)= C(E)=-1,,-1.
1141 ;HENCE, THE RESULT IN THE AC SHOULD BE -1,,-1.
1142 ;THE AC IS CHECKED -1,,-1. IF C(AC)=-1,,-1, THE TEST PASSES.
1143
1144 031060 474 00 0 00 000000 B14600: SETO ;PRELOAD AC WITH -1,,-1
1145 031061 630 00 0 00 034014 TDZ [0] ;*TDZ SHOULD PLACE ALL ONES IN THE AC
1146 031062 300 00 0 00 000000 CAI ;CAI IS A NO-OP. IT IS HERE IN CASE TDO
1147 031063 312 00 0 00 034012 CAME [-1] ;PASS TEST IF C(AC)=-1,,-1
1148 STOP^
1149 031064 254 04 0 00 031065 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1150 031065 324 00 0 00 031066 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1151 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1152 ;IN THE SUBTEST) TO LOOP ON ERROR^
1153 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 9
DAKACM MAC 19-JAN-77 13:40 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0035
1154 ;THIS TEST VERIFIES THAT TDC COMPLEMENTS THE BITS OF THE AC
1155 ;WHICH ARE MASKED BY C(E) AND DOES NOT AFFECT THE UNMASKED BITS OF THE AC.
1156 ;IN THIS CASE, C(AC)=-1 AND C(E)=0,,-1. HENCE, THE RESULT IN THE AC SHOULD BE -1,,0.
1157 ;THE AC IS CHECKED FOR -1,,0. IF C(AC)=-1,,0, THIS TEST PASSES
1158
1159 031066 474 00 0 00 000000 B14700: SETO ;PRELOAD AC WITH -1,,-1
1160 031067 650 00 0 00 034015 TDC [XWD 0,-1] ;*TDC SHOULD PLACE -1,,0 INTO THE AC
1161 031070 300 00 0 00 000000 CAI ;CAI IS A NO-OP. IT IS HERE IN CASE TDC SKIPS
1162 031071 312 00 0 00 034013 CAME [-1,,0] ;PASS TEST IF C(AC)=-1,,0
1163 STOP^
1164 031072 254 04 0 00 031073 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1165 031073 324 00 0 00 031074 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1166 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1167 ;IN THE SUBTEST) TO LOOP ON ERROR^
1168
1169 ;***** FAILURE ANALYSIS *****
1170 ;C(AC0) C(AC1) FAILING SIGNAL
1171
1172 ;-E SW: FCE
1173 ;0 FC: AD AR - EN
1174 ;0,,-1 ET2: AR AD EN
1175
1176 ;**********
1177
1178 ;THIS TEST VERIFIES THAT TDC COMPLEMENTS THE BITS OF THE AC
1179 ;WHICH ARE MASKED BY C(E) AND DOES NOT AFFECT THE UNMASKED BITS OF THE AC.
1180 ;IN THIS CASE, AC=E AND C(AC)= C(E)=0. HENCE, THE RESULT IN THE AC SHOULD BE 0.
1181 ;THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES
1182
1183 031074 400 00 0 00 000000 B15000: SETZ ;PRELOAD AC, E WITH 0
1184 031075 650 00 0 00 000000 TDC ;*TDC SHOULD PLACE 0 INTO THE AC
1185 031076 300 00 0 00 000000 CAI ;CAI IS A NO-OP. IT IS HERE IN CASE TDC SKIPS
1186 031077 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
1187 STOP^
1188 031100 254 04 0 00 031101 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1189 031101 324 00 0 00 031102 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1190 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1191 ;IN THE SUBTEST) TO LOOP ON ERROR^
1192
1193 ;***** FAILURE ANALYSIS *****
1194 ;C(AC0) C(AC1) FAILING SIGNAL
1195
1196 ;-1,,-1 FC:AD FM + EN
1197
1198 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 10
DAKACM MAC 19-JAN-77 13:40 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0036
1199 ;THIS TEST VERIFIES THAT TDC COMPLEMENTS THE BITS OF THE AC
1200 ;WHICH ARE MASKED BY C(E) AND DOES NOT AFFECT THE UNMASKED BITS OF THE AC.
1201 ;IN THIS CASE, AC=E AND C(AC)= C(E)=-1,,-1. HENCE, THE RESULT IN THE AC SHOULD BE 0.
1202 ;THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST FAILS
1203
1204 031102 474 00 0 00 000000 B15400: SETO ;PRELOAD AC WITH -1,,-1
1205 031103 650 00 0 00 000000 TDC ;*TDC SHOULD PLACE 0 INTO THE AC
1206 031104 300 00 0 00 000000 CAI ;CAI IS A NO-OP. IT IS HERE IN CASE TDC SKIPS
1207 031105 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
1208 STOP^
1209 031106 254 04 0 00 031107 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1210 031107 324 00 0 00 031110 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1211 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1212 ;IN THE SUBTEST) TO LOOP ON ERROR^
1213
1214 ;**********
1215
1216 ;THIS TEST VERIFIES THAT TDC COMPLEMENTS THE BITS OF THE AC
1217 ;WHICH ARE MASKED BY C(E) AND DOES NOT AFFECT THE UNMASKED BITS OF THE AC.
1218 ;IN THIS CASE, C(AC)=0 AND C(E)=-1,,-1. HENCE, THE RESULT IN THE AC SHOULD BE -1,,-1.
1219 ;THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES
1220
1221 031110 400 00 0 00 000000 B15500: SETZ ;PRELOAD AC WITH 0
1222 031111 650 00 0 00 034012 TDC [-1] ;*TDC SHOULD PLACE -1,,-1 INTO THE AC
1223 031112 300 00 0 00 000000 CAI ;CAI IS A NO-OP. IT IS HERE IN CASE TDC SKIPS
1224 031113 312 00 0 00 034012 CAME [-1] ;PASS TEST IF C(AC)=-1,,-1
1225 STOP^
1226 031114 254 04 0 00 031115 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1227 031115 324 00 0 00 031116 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1228 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1229 ;IN THE SUBTEST) TO LOOP ON ERROR^
1230
1231 ;***** FAILURE ANALYSIS *****
1232 ;C(AC0) C(AC1) FAILING SIGNAL
1233
1234 ;0 FC: AD EQV
1235
1236 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 11
DAKACM MAC 19-JAN-77 13:40 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0037
1237 ;THIS TEST VERIFIES THAT TDC COMPLEMENTS THE BITS OF THE AC
1238 ;WHICH ARE MASKED BY C(E) AND DOES NOT AFFECT THE UNMASKED BITS OF THE AC.
1239 ;IN THIS CASE, C(AC)=-1 AND C(E)=0. HENCE, THE RESULT IN THE AC SHOULD BE -1,,-1.
1240 ;THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES
1241
1242 031116 474 00 0 00 000000 B15600: SETO ;PRELOAD AC WITH -1,,-1
1243 031117 650 00 0 00 034014 TDC [0] ;*TDC SHOULD PLACE -1,,-1 INTO THE AC
1244 031120 300 00 0 00 000000 CAI ;CAI IS A NO-OP. IT IS HERE IN CASE TDC SKIPS
1245 031121 312 00 0 00 034012 CAME [-1] ;PASS TEST IF C(AC)=-1,,-1
1246 STOP^
1247 031122 254 04 0 00 031123 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1248 031123 324 00 0 00 031124 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1249 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1250 ;IN THE SUBTEST) TO LOOP ON ERROR^
1251
1252 ;**********
1253
1254 ;THIS TEST VERIFIES THAT TDNA ALWAYS SKIPS THE NEXT
1255 ;SEQUENTIAL INSTRUCTION. IF TDNA DOES NOT
1256 ;SKIP, THIS TEST FAILS.
1257
1258 031124 400 00 0 00 000000 B15700: SETZ ;PRESET AC, E TO 0
1259 031125 614 00 0 00 000000 TDNA ;*TDNA SHOULD SKIP THE NEXT INSTRUCTION
1260 STOP^
1261 031126 254 04 0 00 031127 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1262 031127 324 00 0 00 031130 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1263 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1264 ;IN THE SUBTEST) TO LOOP ON ERROR^
1265
1266 ;***** FAILURE ANALYSIS *****
1267 ;C(AC0) C(AC1) FAILING SIGNAL
1268
1269 ;0 SW: ET1
1270 ;0 FC: AB PC EN
1271 ;0 ET1: BR AR EN
1272 ;0 ET1: PC CLOCK
1273 ;0 ET2: MC INST FETCH EN
1274
1275 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 12
DAKACM MAC 19-JAN-77 13:40 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0038
1276 ;THIS TEST VERIFIES THAT TDN NEVER SKIPS
1277 ;NEXT SEQUENTIAL INSTRUCTION.
1278 ;THIS TEST FAILS IF TDN SKIPS.
1279
1280 031130 474 00 0 00 000000 B16000: SETO ;PRESET AC, E TO -1,,-1
1281 031131 610 00 0 00 000000 TDN ;*TDN SHOULD NOT SKIP
1282 031132 334 00 0 00 000000 SKIPA ;SKIP HALT IF TDN PASSES
1283 STOP^
1284 031133 254 04 0 00 031134 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1285 031134 324 00 0 00 031135 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1286 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1287 ;IN THE SUBTEST) TO LOOP ON ERROR^
1288
1289 ;**********
1290
1291 ;THIS TEST VERIFIES THAT TDN NEVER SKIPS THE
1292 ;NEXT SEQUENTIAL INSTRUCTION.
1293 ;THIS TEST FAILS IF TDN SKIPS.
1294
1295 031135 400 00 0 00 000000 B16100: SETZ ;PRESET AC, E TO 0
1296 031136 610 00 0 00 000000 TDN ;*TDN SHOULD NOT SKIP
1297 031137 334 00 0 00 000000 SKIPA ;SKIP HALT IF TDN PASSES
1298 STOP^
1299 031140 254 04 0 00 031141 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1300 031141 324 00 0 00 031142 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1301 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1302 ;IN THE SUBTEST) TO LOOP ON ERROR^
1303
1304 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 13
DAKACM MAC 19-JAN-77 13:40 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0039
1305 ;THIS TEST VERIFIES THAT TDNE SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN
1306 ;AND ONLY WHEN ALL OF THE BITS OF THE AC, WHICH ARE MASKED
1307 ;BY C(E), ARE ZERO.
1308 ;IN THIS TEST C(AC) = -1..0 AND C(E) = 707070..707070.
1309 ;HENCE, TDNE SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION.
1310 ;IF TDNE SKIPS, THIS TEST FAILS
1311
1312 031142 200 00 0 00 034013 B16200: MOVE [XWD -1,0] ;PRELOAD AC WITH -1..0
1313 031143 612 00 0 00 034016 TDNE [707070707070] ;*TDNE SHOULD NOT SKIP
1314 031144 334 00 0 00 000000 SKIPA ;SKIP HALT IF TDNE PASSES
1315 STOP^
1316 031145 254 04 0 00 031146 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1317 031146 324 00 0 00 031147 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1318 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1319 ;IN THE SUBTEST) TO LOOP ON ERROR^
1320
1321 ;***** FAILURE ANALYSIS *****
1322 ;C(AC0) C(AC1) FAILING SIGNAL
1323
1324 ;-1,,0 SW:FCE
1325 ;-1,,0 SW: PC CHANGE
1326 ;-1,,-1 FC: AD AR + EN
1327 ;E ET2: MC INST FETCH EN
1328
1329 ;**********
1330
1331 ;THIS TEST VERIFIES THAT TDNE SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN
1332 ;AND ONLY WHEN ALL OF THE BITS OF THE AC, WHICH ARE MASKED
1333 ;BY C(E), ARE ZERO.
1334 ;IN THIS CASE, AC=E AND C(AC)=0.
1335 ;HENCE, TDNE SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION
1336 ;IF TDNE DOES NOT SKIP, THIS TEST FAILS.
1337
1338 031147 400 00 0 00 000000 B16300: SETZ ;PRELOAD AC, E WITH 0
1339 031150 612 00 0 00 000000 TDNE ;*TDNE SHOULD SKIP THE NEXT INSTRUCTION
1340 STOP^
1341 031151 254 04 0 00 031152 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1342 031152 324 00 0 00 031153 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1343 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1344 ;IN THE SUBTEST) TO LOOP ON ERROR^
1345
1346 ;***** FAILURE ANALYSIS *****
1347 ;C(AC0) C(AC1) FAILING SIGNAL
1348
1349 ;0 SW: ET1
1350 ;0 ET1: PC CLOCK
1351
1352 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 14
DAKACM MAC 19-JAN-77 13:40 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0040
1353 ;THIS TEST VERIFIES THAT TDNN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN
1354 ;AND ONLY WHEN NOT ALL OF THE BITS OF THE AC, WHICH ARE MASKED
1355 ;BY C(E) ARE ZERO.
1356 ;IN THIS TEST AC=E AND C(AC)=C(E)=0. HENCE TDNN
1357 ;SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION
1358 ;IF TDNN SKIPS, THE TEST FAILS.
1359
1360 031153 400 00 0 00 000000 B16400: SETZ ;PRELOAD AC,E WITH 0
1361 031154 616 00 0 00 000000 TDNN ;*TDNN SHOULD NOT SKIP THE NEXT INSTRUCTION
1362 031155 334 00 0 00 000000 SKIPA ;SKIP HALT IF TDNE PASSES
1363 STOP^
1364 031156 254 04 0 00 031157 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1365 031157 324 00 0 00 031160 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1366 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1367 ;IN THE SUBTEST) TO LOOP ON ERROR^
1368
1369 ;***** FAILURE ANALYSIS *****
1370 ;C(AC0) C(AC1) FAILING SIGNAL
1371
1372 ;0 SW: PC CHANGE
1373 ;0 FC: AB PC EN
1374 ;0 ET2: MC INST FETCH EN
1375
1376 ;**********
1377
1378 ;THIS TEST VERIFIES THAT TDNA ALWAYS SKIPS THE NEXT
1379 ;SEQUENTIAL INSTRUCTION. IF TDNA DOES NOT
1380 ;SKIP, THIS TEST FAILS.
1381
1382 031160 474 00 0 00 000000 B16500: SETO ;PRESET AC, E TO 0
1383 031161 614 00 0 00 000000 TDNA ;*TDNA SHOULD SKIP THE NEXT INSTRUCTION
1384 STOP^
1385 031162 254 04 0 00 031163 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1386 031163 324 00 0 00 031164 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1387 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1388 ;IN THE SUBTEST) TO LOOP ON ERROR^
1389
1390 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 15
DAKACM MAC 19-JAN-77 13:40 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0041
1391 ;THIS TEST VERIFIES THAT TDNN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN
1392 ;AND ONLY WHEN NOT ALL OF THE BITS OF THE AC, WHICH ARE MASKED BY C(E),
1393 ;ARE ZERO
1394 ;IN THIS TEST C(AC)=-1,,0 AND C(E)=707070,,707070. HENCE, TDNN
1395 ;SHOULD SKIP THE NEXT INSTRUCTION. IF IT DOES NOT SKIP, THIS TEST FAILS.
1396
1397 031164 200 00 0 00 034013 B16600: MOVE [XWD -1,0] ;PRESET AC TO -1,,0
1398 031165 616 00 0 00 034016 TDNN [707070707070] ;*TDNN SHOULD SKIP THE NEXT INSTRUCTION
1399 STOP^
1400 031166 254 04 0 00 031167 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1401 031167 324 00 0 00 031170 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1402 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1403 ;IN THE SUBTEST) TO LOOP ON ERROR^
1404
1405 ;***** FAILURE ANALYSIS *****
1406 ;C(AC0) C(AC1) FAILING SIGNAL
1407
1408 ;-1,,0 SW: FCE
1409 ;-1,,0 SW: ET1
1410 ;-1,,0 ET1: PC CLOCK
1411
1412 ;**********
1413
1414 ;THIS TEST VERIFIES THAT TDNE SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN
1415 ;AND ONLY WHEN ALL OF THE BITS OF THE AC, WHICH ARE MASKED
1416 ;BY C(E), ARE ZERO.
1417 ;IN THIS TEST, C(AC)=-1,,-1 AND C(E)=0. HENCE, TDNE SHOULD SKIP
1418 ;THE NEXT SEQUENTIAL INSTRUCTION.
1419 ;IF TDNE DOES NOT SKIP, THIS TEST FAILS
1420
1421 031170 474 00 0 00 000000 B16700: SETO ;PRESET AC TO ALL ONES
1422 031171 612 00 0 00 034014 TDNE [0] ;*TDNE SHOULD SKIP THE NEXT INSTRUCTION
1423 STOP^
1424 031172 254 04 0 00 031173 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1425 031173 324 00 0 00 031174 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1426 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1427 ;IN THE SUBTEST) TO LOOP ON ERROR^
1428
1429 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 16
DAKACM MAC 19-JAN-77 13:40 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0042
1430 ;THIS TEST VERIFIES THAT TDNE SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN
1431 ;AND ONLY WHEN ALL OF THE BITS OF THE AC, WHICH ARE MASKED
1432 ;BY C(E), ARE ZERO.
1433 ;IN THIS TEST C(AC)=0 AND C(E)=-1,,-1, HENCE, TDNE SHOULD SKIP
1434 ;THE NEXT SEQUENTIAL INSTRUCTION.
1435 ;IF TDNE DOES NOT SKIP, THIS TEST FAILS
1436
1437 031174 400 00 0 00 000000 B17000: SETZ ;PRESET AC TO 0
1438 031175 612 00 0 00 034012 TDNE [-1] ;*TDNE SHOULD SKIP THE NEXT INSTRUCTION
1439 STOP^
1440 031176 254 04 0 00 031177 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1441 031177 324 00 0 00 031200 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1442 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1443 ;IN THE SUBTEST) TO LOOP ON ERROR^
1444
1445 ;***** FAILURE ANALYSIS *****
1446 ;C(AC0) C(AC1) FAILING SIGNAL
1447
1448 ;0 FC: AD FM + EN
1449
1450 ;**********
1451
1452 ;THIS TEST VERIFIES THAT TDN NEVER SKIPS THE NEXT SEQUENTIAL INSTRUCTION.
1453 ;THIS TEST FAILS IF TDN SKIPS
1454
1455 031200 474 00 0 00 000000 B17300: SETO ;PRESET AC TO -1,,-1
1456 031201 610 00 0 00 034014 TDN [0] ;*TDN SHOULD NOT SKIP
1457 031202 334 00 0 00 000000 SKIPA ;SKIP HALT IF TDN PASSES
1458 STOP^
1459 031203 254 04 0 00 031204 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1460 031204 324 00 0 00 031205 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1461 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1462 ;IN THE SUBTEST) TO LOOP ON ERROR^
1463
1464 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 17
DAKACM MAC 19-JAN-77 13:40 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0043
1465 ;THIS TEST VERIFIES THAT TDN NEVER SKIPS THE NEXT SEQUENTIAL INSTRUCTION.
1466 ;THIS TEST FAILS IF TDN SKIPS
1467
1468 031205 400 00 0 00 000000 B17400: SETZ ;PRESET AC TO 0
1469 031206 610 00 0 00 034012 TDN [-1] ;*TDN SHOULD NOT SKIP
1470 031207 334 00 0 00 000000 SKIPA ;SKIP HALT IF TDN PASSES
1471 STOP^
1472 031210 254 04 0 00 031211 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1473 031211 324 00 0 00 031212 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1474 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1475 ;IN THE SUBTEST) TO LOOP ON ERROR^
1476
1477 ;**********
1478
1479 ;THIS TEST VERIFIES THAT TDNA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRUCTION
1480 ;THIS TEST FAILS IF TDNA DOES NOT SKIP
1481
1482 031212 474 00 0 00 000000 B17700: SETO ;PRESET AC TO -1,,-1
1483 031213 614 00 0 00 034014 TDNA [0] ;*TDNA SHOULD SKIP
1484 STOP^
1485 031214 254 04 0 00 031215 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1486 031215 324 00 0 00 031216 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1487 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1488 ;IN THE SUBTEST) TO LOOP ON ERROR^
1489
1490 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 18
DAKACM MAC 19-JAN-77 13:40 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0044
1491 ;THIS TEST VERIFIES THAT TDNA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRUCTION
1492 ;THIS TEST FAILS IF TDNA DOES NOT SKIP
1493
1494 031216 400 00 0 00 000000 B20000: SETZ ;PRESET AC TO 0
1495 031217 614 00 0 00 034012 TDNA [-1] ;*TDNA SHOULD SKIP
1496 STOP^
1497 031220 254 04 0 00 031221 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1498 031221 324 00 0 00 031222 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1499 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1500 ;IN THE SUBTEST) TO LOOP ON ERROR^
1501
1502 ;**********
1503
1504 ;THIS TEST VERIFIES THAT TDNE SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN
1505 ;AND ONLY WHEN ALL OF THE BITS OF THE AC, WHICH ARE MASKED BY C(E), ARE ZERO.
1506 ;IN THIS TEST AC=E AND C(AC)=C(E)=-1,,-1. HENCE TDNE SHOULD NOT SKIP.
1507 ;IF TDNE SKIPS, THIS TEST FAILS.
1508
1509 031222 474 00 0 00 000000 B20400: SETO ;PRESET AC,E TO -1,,-1
1510 031223 612 00 0 00 000000 TDNE ;*TDNE SHOULD NOT SKIP
1511 031224 334 00 0 00 000000 SKIPA ;SKIP HALT IF TDNE PASSES
1512 STOP^
1513 031225 254 04 0 00 031226 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1514 031226 324 00 0 00 031227 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1515 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1516 ;IN THE SUBTEST) TO LOOP ON ERROR^
1517
1518 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 19
DAKACM MAC 19-JAN-77 13:40 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0045
1519 ;THIS TEST VERIFIES THAT TDNN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN
1520 ;AND ONLY WHEN NOT ALL OF THE BITS OF THE AC, WHICH ARE MASKED BY C(E), ARE ZERO.
1521 ;IN THIS TEST, AC=E AND C(AC)=C(E)=-1,,-1. HENCE TDNN SHOULD SKIP
1522 ;IF TDNN DOES NOT SKIP, THIS TEST FAILS
1523
1524 031227 474 00 0 00 000000 B20600: SETO ;PRESET AC,E TO -1,,-1
1525 031230 616 00 0 00 000000 TDNN ;*TDNN SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION
1526 STOP^
1527 031231 254 04 0 00 031232 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1528 031232 324 00 0 00 031233 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1529 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1530 ;IN THE SUBTEST) TO LOOP ON ERROR^
1531
1532 ;**********
1533
1534 ;THIS TEST VERIFIES THAT TDNN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN
1535 ;AND ONLY WHEN NOT ALL OF THE BITS OF THE AC, WHICH ARE MASKED BY C(E), ARE ZERO.
1536 ;IN THIS TEST, C(AC)=0 AND C(E)=-1,,-1. HENCE TDNN SHOULD NOT SKIP
1537 ;IF TDNN SKIPS, THIS TEST FAILS
1538
1539 031233 400 00 0 00 000000 B20700: SETZ ;PRESET AC TO 0
1540 031234 616 00 0 00 034012 TDNN [-1] ;*TDNN SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION
1541 031235 334 00 0 00 000000 SKIPA ;SKIP HALT IF TDNN PASSES
1542 STOP^
1543 031236 254 04 0 00 031237 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1544 031237 324 00 0 00 031240 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1545 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1546 ;IN THE SUBTEST) TO LOOP ON ERROR^
1547
1548 ;***** FAILURE ANALYSIS *****
1549 ;C(AC0) C(AC1) FAILING SIGNAL
1550
1551 ;0 FC: AD FM + EN
1552
1553 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 20
DAKACM MAC 19-JAN-77 13:40 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0046
1554 ;THIS TEST VERIFIES THAT TDNN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN
1555 ;AND ONLY WHEN NOT ALL OF THE BITS OF THE AC, WHICH ARE MASKED BY C(E), ARE ZERO.
1556 ;IN THIS TEST, C(AC)=-1,,-1 AND C(E)=0. HENCE TDNN SHOULD NOT SKIP
1557 ;IF TDNN SKIPS, THIS TEST FAILS
1558
1559 031240 474 00 0 00 000000 B21000: SETO ;PRESET AC TO -1,,-1
1560 031241 616 00 0 00 034014 TDNN [0] ;*TDNN SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION
1561 031242 334 00 0 00 000000 SKIPA ;SKIP HALT IF TDNN PASSES
1562 STOP^
1563 031243 254 04 0 00 031244 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1564 031244 324 00 0 00 031245 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1565 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1566 ;IN THE SUBTEST) TO LOOP ON ERROR^
1567
1568 ;***** FAILURE ANALYSIS *****
1569 ;C(AC0) C(AC1) FAILING SIGNAL
1570
1571 ;-1,,-1 FC: AD AR + EN
1572
1573 ;**********
1574
1575 ;THIS TEST VERIFIES THAT TDO PLACES ONES IN THE BITS OF THE AC
1576 ;WHICH ARE MASKED BY C(E) AND DOES NOT EFFECT THE UNMASKED BITS OF THE AC.
1577 ;IN THIS CASE C(AC)=0 AND C(E)=-1,,0. HENCE, THE RESULT IN THE AC SHOULD BE -1,,0
1578 ;THE AC IS CHECKED FOR -1,,0. IF C(AC)=-1,,0, THIS TEST PASSES
1579
1580 031245 400 00 0 00 000000 B21100: SETZ ;PRELOAD AC WITH 0
1581 031246 670 00 0 00 034013 TDO [XWD -1,0] ;*TDO SHOULD PLACE -1,,0 INTO THE AC
1582 031247 312 00 0 00 034013 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0
1583 STOP^
1584 031250 254 04 0 00 031251 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1585 031251 324 00 0 00 031252 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1586 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1587 ;IN THE SUBTEST) TO LOOP ON ERROR^
1588
1589 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 21
DAKACM MAC 19-JAN-77 13:40 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0047
1590 ;THIS TEST VERIFIES THAT TSO PLACES ONES IN THE BITS OF THE AC
1591 ;WHICH ARE MASKED BY BOTH HALVES OF C(E) SWAPPED.
1592 ;THE UNMASKED BITS OF THE AC ARE NOT AFFECTED
1593 ;IN THIS CASE, C(AC)=0 AND C(E)=-1,,0. HENCE,
1594 ;THE RESULT IN THE AC SHOULD BE 0,,-1. THE AC IS
1595 ;CHECKED FOR 0,,-1. THIS TEST PASSES IF C(AC)=0,,-1
1596
1597 031252 400 00 0 00 000000 B21400: SETZ ;PRESET AC WITH 0
1598 031253 671 00 0 00 034013 TSO [XWD -1,0] ;*TSO SHOULD PLACE 0,,-1 INTO THE AC
1599 031254 312 00 0 00 034015 CAME [XWD 0,-1] ;PASS IF C(AC)=0,,-1
1600 STOP^
1601 031255 254 04 0 00 031256 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1602 031256 324 00 0 00 031257 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1603 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1604 ;IN THE SUBTEST) TO LOOP ON ERROR^
1605
1606 ;***** FAILURE ANALYSIS *****
1607 ;C(AC0) C(AC1) FAILING SIGNAL
1608
1609 ;0 SW: FCE
1610 ;0 SW: ET0
1611 ;0 SW: ET1
1612 ;0 FC: AD FM + EN
1613 ;0 FC: AD AR + EN
1614 ;0 ET0: AR SWAP
1615 ;0 ET0: AD FM + EN
1616 ;0 ET0: AD AR + EN
1617 ;0 ET1: BR AR EN
1618 ;0 ET1: AD BR - EN
1619 ;-1,,-1 ET1: AD AR + EN
1620 ;0 ET1: AD EQV
1621
1622 ;**********
1623
1624 ;THIS TEST VERIFIES THAT TSO PLACES ONES IN THE BITS OF THE AC
1625 ;WHICH ARE MASKED BY BOTH HALVES OF C(E) SWAPPED.
1626 ;THE UNMASKED BITS OF THE AC ARE NOT AFFECTED
1627 ;IN THIS CASE, C(AC)=0 AND C(E)=0,,-1. HENCE,
1628 ;THE RESULT IN THE AC SHOULD BE -1,,0. THE AC IS
1629 ;CHECKED FOR -1,,0. THIS TEST PASSES IF C(AC)=-1,,0
1630
1631 031257 400 00 0 00 000000 B21500: SETZ ;PRESET AC WITH 0
1632 031260 671 00 0 00 034015 TSO [XWD 0,-1] ;*TSO SHOULD PLACE -1,,0 INTO THE AC
1633 031261 312 00 0 00 034013 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0
1634 STOP^
1635 031262 254 04 0 00 031263 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1636 031263 324 00 0 00 031264 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1637 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1638 ;IN THE SUBTEST) TO LOOP ON ERROR^
1639
1640 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 22
DAKACM MAC 19-JAN-77 13:40 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0048
1641 ;THIS TEST VERIFIES THAT TSO PLACES ONES IN THE BITS OF THE AC
1642 ;WHICH ARE MASKED BY BOTH HALVES OF C(E) SWAPPED.
1643 ;THE UNMASKED BITS OF THE AC ARE NOT AFFECTED
1644 ;IN THIS CASE, C(AC)=0 AND C(E)=0,,-1. HENCE,
1645 ;THE RESULT IN THE AC SHOULD BE -1,,0. THE AC IS
1646 ;CHECKED FOR ITS CONTENTS NON-ZERO. THIS TEST PASSES IF C(AC) IS NON-ZERO
1647
1648 031264 400 00 0 00 000000 B21600: SETZ ;PRELOAD AC,E WITH 0
1649 031265 671 00 0 00 000000 TSO ;*TSO SHOULD PLACE 0 INTO THE AC
1650 031266 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
1651 STOP^
1652 031267 254 04 0 00 031270 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1653 031270 324 00 0 00 031271 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1654 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1655 ;IN THE SUBTEST) TO LOOP ON ERROR^
1656
1657 ;**********
1658
1659 ;THIS TEST VERIFIES THAT TSO PLACES ONES IN THE BITS OF THE AC
1660 ;WHICH ARE MASKED BY BOTH HALVES OF C(E) SWAPPED.
1661 ;THE UNMASKED BITS OF THE AC ARE NOT AFFECTED
1662 ;IN THIS CASE, AC=E AND C(AC)=C(E)=-1,,-1. HENCE,
1663 ;THE RESULT IN THE AC SHOULD BE -1,,-1. THE AC IS
1664 ;CHECKED FOR -1,,-1. THIS TEST PASSES IF C(AC) -1,,-1
1665
1666 031271 474 00 0 00 000000 B21700: SETO ;PRELOAD AC,E WITH -1,,-1
1667 031272 671 00 0 00 000000 TSO ;*TSO SHOULD PLACE -1,,-1 INTO THE AC
1668 031273 312 00 0 00 034012 CAME [-1] ;PASS IF C(AC)=-1,,-1
1669 STOP^
1670 031274 254 04 0 00 031275 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1671 031275 324 00 0 00 031276 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1672 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1673 ;IN THE SUBTEST) TO LOOP ON ERROR^
1674
1675 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 23
DAKACM MAC 19-JAN-77 13:40 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0049
1676 ;THIS TEST VERIFIES THAT TSO PLACES ONES IN THE BITS OF THE AC
1677 ;WHICH ARE MASKED BY BOTH HALVES OF C(E) SWAPPED.
1678 ;THE UNMASKED BITS OF THE AC ARE NOT AFFECTED
1679 ;IN THIS CASE, C(AC)=-1,,0 AND C(E)=0,,-1. HENCE,
1680 ;THE RESULT IN THE AC SHOULD BE -1,,0. THE AC IS
1681 ;CHECKED FOR -1,,0. THIS TEST PASSES IF C(AC)=-1,,0
1682
1683 031276 200 00 0 00 034013 B22200: MOVE [XWD -1,0] ;PRELOAD AC WITH -1,,0
1684 031277 671 00 0 00 034015 TSO [XWD 0,-1] ;*TSO SHOULD PLACE -1,,0 INTO THE AC
1685 031300 312 00 0 00 034013 CAME [-1,,0] ;PASS IF C(AC)=-1,,0
1686 STOP^
1687 031301 254 04 0 00 031302 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1688 031302 324 00 0 00 031303 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1689 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1690 ;IN THE SUBTEST) TO LOOP ON ERROR^
1691
1692 ;**********
1693
1694 ;THIS TEST VERIFIES THAT TSO PLACES ONES IN THE BITS OF THE AC
1695 ;WHICH ARE MASKED BY BOTH HALVES OF C(E) SWAPPED.
1696 ;THE UNMASKED BITS OF THE AC ARE NOT AFFECTED
1697 ;IN THIS CASE, C(AC)=0,,-1 AND C(E)=0. HENCE,
1698 ;THE RESULT IN THE AC SHOULD BE 0,,-1. THE AC IS
1699 ;CHECKED FOR 0,,-1. THIS TEST PASSES IF C(AC)=0,,-1
1700
1701 031303 201 00 0 00 777777 B22300: MOVEI -1 ;PRELOAD AC WITH 0,,-1
1702 031304 671 00 0 00 034014 TSO [0] ;*TSO SHOULD PLACE 0,,-1 INTO THE AC
1703 031305 312 00 0 00 034015 CAME [XWD 0,-1] ;PASS IF C(AC)=0,,-1
1704 STOP^
1705 031306 254 04 0 00 031307 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1706 031307 324 00 0 00 031310 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1707 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1708 ;IN THE SUBTEST) TO LOOP ON ERROR^
1709
1710 ;***** FAILURE ANALYSIS *****
1711 ;C(AC0) C(AC1) FAILING SIGNAL
1712
1713 ;0 ET1: AD FM - EN
1714 ;0 ET2: AR AD EN
1715
1716 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 24
DAKACM MAC 19-JAN-77 13:40 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0050
1717 ;THIS TEST VERIFIES THAT TSO PLACES ONES IN THE BITS OF THE AC
1718 ;WHICH ARE MASKED BY BOTH HALVES OF C(E) SWAPPED.
1719 ;THE UNMASKED BITS OF THE AC ARE NOT AFFECTED
1720 ;IN THIS CASE, C(AC)=-1,,0 AND C(E)=0. HENCE,
1721 ;THE RESULT IN THE AC SHOULD BE -1,,0. THE AC IS
1722 ;CHECKED FOR -1,,0. THIS TEST PASSES IF C(AC)=-1,,0
1723
1724 031310 200 00 0 00 034013 B22400: MOVE [XWD -1,0] ;PRELOAD AC WITH -1,,0
1725 031311 671 00 0 00 034014 TSO [0] ;*TSO SHOULD PLACE -1,,0 INTO THE AC
1726 031312 312 00 0 00 034013 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0
1727 STOP^
1728 031313 254 04 0 00 031314 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1729 031314 324 00 0 00 031315 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1730 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1731 ;IN THE SUBTEST) TO LOOP ON ERROR^
1732
1733 ;**********
1734
1735 ;THIS TEST VERIFIES THAT TSO PLACES ONES IN THE BITS OF THE AC
1736 ;WHICH ARE MARKED BY BOTH HALVES OF C(E) SWAPPED.
1737 ;THE UNMASKED BITS OF THE AC ARE NOT AFFECTED
1738 ;IN THIS CASE, C(AC)=0,,-1 AND C(E)=-1,,-1. HENCE,
1739 ;THE RESULT IN THE AC SHOULD BE -1,,-1. THE AC IS
1740 ;CHECKED FOR -1,,-1. THIS TEST PASSES IF C(AC)=-1,,-1
1741
1742 031315 201 00 0 00 777777 B22500: MOVEI -1 ;PRELOAD AC WITH 0,,-1
1743 031316 671 00 0 00 034012 TSO [-1] ;*TSO SHOULD PLACE -1,,-1 INTO THE AC
1744 031317 312 00 0 00 034012 CAME [-1] ;PASS IF C(AC)=-1,,-1
1745 STOP^
1746 031320 254 04 0 00 031321 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1747 031321 324 00 0 00 031322 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1748 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1749 ;IN THE SUBTEST) TO LOOP ON ERROR^
1750
1751 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 25
DAKACM MAC 19-JAN-77 13:40 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0051
1752 ;THIS TEST VERIFIES THAT TSO PLACES ONES IN THE BITS OF THE AC
1753 ;WHICH ARE MARKED BY BOTH HALVES OF C(E) SWAPPED.
1754 ;THE UNMASKED BITS OF THE AC ARE NOT AFFECTED
1755 ;IN THIS CASE, C(AC)=-1,,0 AND C(E)=-1,,-1. HENCE,
1756 ;THE RESULT IN THE AC SHOULD BE -1,,-1. THE AC IS
1757 ;CHECKED FOR -1,,-1. THIS TEST PASSES IF C(AC)=-1,,-1
1758
1759 031322 200 00 0 00 034013 B22600: MOVE [XWD -1,0] ;PRELOAD AC WITH -1,,0
1760 031323 671 00 0 00 034012 TSO [-1] ;*TSO SHOULD PLACE -1,,-1 INTO THE AC
1761 031324 312 00 0 00 034012 CAME [-1] ;PASS IF C(AC)=-1,,-1
1762 STOP^
1763 031325 254 04 0 00 031326 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1764 031326 324 00 0 00 031327 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1765 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1766 ;IN THE SUBTEST) TO LOOP ON ERROR^
1767
1768 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 26
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0052
1769 SUBTTL TEST OF HWT INSTRUCTIONS
1770
1771 ;**********
1772
1773 ;THIS TEST VERIFIES THAT HLL PLACES THE LEFT HALF OF C(E) INTO
1774 ;THE LEFT HALF OF THE AC. THE RIGHT HALF OF THE AC IS UNAFFECTED.
1775 ;IN THIS CASE AC=E AND C(AC)=C(E)=0. HENCE, THE RESULT IN THE AC
1776 ;SHOULD BE 0. THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES
1777
1778 031327 400 00 0 00 000000 B22700: SETZ ;PRELOAD AC,E WITH 0
1779 031330 500 00 0 00 000000 HLL ;*HLL SHOULD PLACE 0 INTO THE AC
1780 031331 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
1781 STOP^
1782 031332 254 04 0 00 031333 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1783 031333 324 00 0 00 031334 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1784 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1785 ;IN THE SUBTEST) TO LOOP ON ERROR^
1786
1787 ;***** FAILURE ANALYSIS *****
1788 ;C(AC0) C(AC1) FAILING SIGNAL
1789
1790 ;-1,,0 FC: AD AR + EN
1791 ;0,,-1 FC: AD RT FM + EN
1792
1793 ;**********
1794
1795 ;THIS TEST VERIFIES THAT HLL PLACES THE LEFT HALF OF C(E) INTO
1796 ;THE LEFT HALF OF THE AC. THE RIGHT HALF OF THE AC IS UNAFFECTED.
1797 ;IN THIS CASE, C(AC)=-1,,-1 AND C(E)=0. HENCE, THE RESULT IN THE AC
1798 ;SHOULD BE 0,,-1. THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1,
1799 ;THIS TEST PASSES.
1800
1801 031334 474 00 0 00 000000 B23000: SETO ;PRELOAD AC WITH -1,,-1
1802 031335 500 00 0 00 034014 HLL [0] ;*HLL SHOULD PLACE 0,,-1 INTO THE AC
1803 031336 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC)=0,,-1
1804 STOP^
1805 031337 254 04 0 00 031340 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1806 031340 324 00 0 00 031341 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1807 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1808 ;IN THE SUBTEST) TO LOOP ON ERROR^
1809
1810 ;***** FAILURE ANALYSIS *****
1811 ;C(AC0) C(AC1) FAILING SIGNAL
1812
1813 ;0,,-1 SW: FCE
1814 ;0 ET2: AR AD EN
1815
1816 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 27
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0053
1817 ;THIS TEST VERIFIES THAT HLL PLACES THE LEFT HALF OF C(E) INTO
1818 ;THE LEFT HALF OF THE AC. THE RIGHT HALF OF THE AC IS UNAFFECTED.
1819 ;IN THIS CASE AC=E AND C(AC)=C(E)=-1,,-1. HENCE, THE RESULT IN THE AC
1820 ;SHOULD BE -1,,-1. THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES.
1821
1822 031341 474 00 0 00 000000 B23200: SETO ;PRELOAD AC,E WITH -1,,-1
1823 031342 500 00 0 00 000000 HLL ;*HLL SHOULD PLACE -1,,-1 INTO THE AC
1824 031343 312 00 0 00 034012 CAME [-1] ;PASS IF C(AC)=-1,,-1
1825 STOP^
1826 031344 254 04 0 00 031345 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1827 031345 324 00 0 00 031346 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1828 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1829 ;IN THE SUBTEST) TO LOOP ON ERROR^
1830
1831 ;**********
1832
1833 ;THIS TEST VERIFIES THAT HLL PLACES THE LEFT HALF OF C(E) INTO
1834 ;THE LEFT HALF OF THE AC. THE RIGHT HALF OF THE AC IS UNAFFECTED.
1835 ;IN THIS CASE C(AC)=0 AND C(E)=-1,,-1. HENCE, THE RESULT IN THE AC
1836 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0. IF C(AC)=-1,,0,
1837 ;THIS TEST PASSES
1838
1839 031346 400 00 0 00 000000 B23400: SETZ ;PRELOAD AC WITH 0
1840 031347 500 00 0 00 034012 HLL [-1] ;*HLL SHOULD PLACE -1,,0 INTO THE AC
1841 031350 312 00 0 00 034013 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0
1842 STOP^
1843 031351 254 04 0 00 031352 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1844 031352 324 00 0 00 031353 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1845 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1846 ;IN THE SUBTEST) TO LOOP ON ERROR^
1847
1848 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 28
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0054
1849 ;THIS TEST VERIFIES THAT HLL PLACES THE LEFT HALF OF C(E) INTO
1850 ;THE LEFT HALF OF THE AC. THE RIGHT HALF OF THE AC IS UNAFFECTED.
1851 ;IN THIS CASE, C(AC)=0 AND C(E)=-1,,0. HENCE, THE RESULT IN THE AC
1852 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0. IF C(AC)=-1,,0,
1853 ;THIS TEST PASSES.
1854
1855 031353 400 00 0 00 000000 B23600: SETZ ;PRELOAD AC WITH 0
1856 031354 500 00 0 00 034013 HLL [XWD -1,0] ;*HLL SHOULD PLACE -1,,0 INTO THE AC
1857 031355 312 00 0 00 034013 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0
1858 STOP^
1859 031356 254 04 0 00 031357 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1860 031357 324 00 0 00 031360 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1861 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1862 ;IN THE SUBTEST) TO LOOP ON ERROR^
1863
1864 ;**********
1865
1866 ;THIS TEST VERIFIES THAT HLL PLACES THE LEFT HALF OF C(E) INTO
1867 ;THE LEFT HALF OF THE AC. THE RIGHT HALF OF THE AC IS UNAFFECTED.
1868 ;IN THIS CASE, C(AC)=-1,,-1 AND C(E)=0,,-1. HENCE, THE RESULT IN THE AC
1869 ;SHOULD BE 0,,-1. THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1,
1870 ;THIS TEST PASSES.
1871
1872 031360 474 00 0 00 000000 B23700: SETO ;PRELOAD AC WITH -1,,-1
1873 031361 500 00 0 00 034015 HLL [XWD 0,-1] ;*HLL SHOULD PLACE 0,,-1 INTO THE AC
1874 031362 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC)=0,,-1
1875 STOP^
1876 031363 254 04 0 00 031364 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1877 031364 324 00 0 00 031365 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1878 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1879 ;IN THE SUBTEST) TO LOOP ON ERROR^
1880
1881 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 29
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0055
1882 ;THIS TEST VERIFIES THAT HLLZ PLACES THE LEFT HALF OF C(E) INTO
1883 ;THE LEFT HALF OF THE AC AND PLACES ZEROS INTO THE RIGHT HALF OF THE AC.
1884 ;IN THIS CASE, AC=E AND C(AC)=C(E)=0. HENCE, THE RESULT IN THE AC
1885 ;SHOULD BE 0. THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES
1886
1887 031365 400 00 0 00 000000 B24000: SETZ ;PRELOAD AC,E WITH 0
1888 031366 510 00 0 00 000000 HLLZ ;*HLLZ SHOULD PLACE 0 INTO THE AC
1889 031367 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
1890 STOP^
1891 031370 254 04 0 00 031371 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1892 031371 324 00 0 00 031372 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1893 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1894 ;IN THE SUBTEST) TO LOOP ON ERROR^
1895
1896 ;***** FAILURE ANALYSIS *****
1897 ;C(AC0) C(AC1) FAILING SIGNAL
1898
1899 ;-1,,0 FC: AD LT AR + EN
1900
1901 ;**********
1902
1903 ;THIS TEST VERIFIES THAT HLLZ PLACES THE LEFT HALF OF C(E) INTO
1904 ;THE LEFT HALF OF THE AC AND PLACES ZEROS INTO THE RIGHT HALF OF THE AC.
1905 ;IN THIS CASE, C(AC)=-1,,-1 AND C(E)=-1,,-1. HENCE, THE RESULT IN THE AC
1906 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0.
1907 ;IF C(AC)=-1,,0, THIS TEST PASSES.
1908
1909 031372 474 00 0 00 000000 B24300: SETO ;PRELOAD AC WITH -1,,-1
1910 031373 510 00 0 00 034012 HLLZ [-1] ;*HLLZ SHOULD PLACE -1,,0 INTO THE AC
1911 031374 312 00 0 00 034013 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0
1912 STOP^
1913 031375 254 04 0 00 031376 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1914 031376 324 00 0 00 031377 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1915 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1916 ;IN THE SUBTEST) TO LOOP ON ERROR^
1917
1918 ;***** FAILURE ANALYSIS *****
1919 ;C(AC0) C(AC1) FAILING SIGNAL
1920
1921 ;0 SW: FCE
1922 ;-1,,-1 ET2: AR LT AD EN
1923
1924 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 30
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0056
1925 ;THIS TEST VERIFIES THAT HLLZ PLACES THE LEFT HALF OF C(E) INTO
1926 ;THE LEFT HALF OF THE AC AND PLACES ZEROS INTO THE RIGHT HALF OF THE AC.
1927 ;IN THIS CASE, C(AC)=0 AND C(E)=-1,,-1. HENCE, THE RESULT IN THE AC
1928 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR ITS CONTENTS NON-ZERO
1929 ;IF C(AC) IS NON-ZERO, THIS TEST PASSES.
1930
1931 031377 400 00 0 00 000000 B24400: SETZ ;PRELOAD AC WITH -1,,-1
1932 031400 510 00 0 00 034012 HLLZ [-1] ;*HLLZ SHOULD PLACE -1,,0 INTO THE AC
1933 031401 312 00 0 00 034013 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0
1934 STOP^
1935 031402 254 04 0 00 031403 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1936 031403 324 00 0 00 031404 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1937 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1938 ;IN THE SUBTEST) TO LOOP ON ERROR^
1939
1940 ;**********
1941
1942 ;THIS TEST VERIFIES THAT HLLZ PLACES THE LEFT HALF OF C(E) INTO
1943 ;THE LEFT HALF OF THE AC AND PLACES ZEROS INTO THE RIGHT HALF OF THE AC.
1944 ;IN THIS CASE, C(AC)=-1,,-1 AND C(E)=0. HENCE, THE RESULT IN THE AC
1945 ;SHOULD BE 0. THE AC IS CHECKED FOR ZERO
1946 ;IF C(AC) IS ZERO, THIS TEST PASSES.
1947
1948 031404 474 00 0 00 000000 B24500: SETO ;PRELOAD AC WITH -1,,-1
1949 031405 510 00 0 00 034014 HLLZ [0] ;*HLLZ SHOULD PLACE -1,,0 INTO THE AC
1950 031406 332 00 0 00 000000 SKIPE ;PASS IF C(AC) IS ZERO.
1951 STOP^
1952 031407 254 04 0 00 031410 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1953 031410 324 00 0 00 031411 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1954 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1955 ;IN THE SUBTEST) TO LOOP ON ERROR^
1956
1957 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 31
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0057
1958 ;THIS TEST VERIFIES THAT HLLZ PLACES THE LEFT HALF OF C(E) INTO
1959 ;THE LEFT HALF OF THE AC AND PLACES ZEROS INTO THE RIGHT HALF OF THE AC.
1960 ;IN THIS CASE, C(AC)=0 AND C(E)=0. HENCE, THE RESULT IN THE AC
1961 ;SHOULD BE 0. THE AC IS CHECKED FOR ZERO
1962 ;IF C(AC) IS ZERO, THIS TEST PASSES.
1963
1964 031411 400 00 0 00 000000 B24600: SETZ ;PRELOAD AC WITH 0
1965 031412 510 00 0 00 034014 HLLZ [0] ;*HLLZ SHOULD PLACE 0 INTO THE AC
1966 031413 332 00 0 00 000000 SKIPE ;PASS IF C(AC) IS ZERO.
1967 STOP^
1968 031414 254 04 0 00 031415 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1969 031415 324 00 0 00 031416 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1970 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1971 ;IN THE SUBTEST) TO LOOP ON ERROR^
1972
1973 ;**********
1974
1975 ;THIS TEST VERIFIES THAT HLLZI ALWAYS CLEARS THE AC.
1976 ;IN THIS CASE C(AC)=-1,,-1 AND E=0,,-1.
1977 ;THE RESULT IN THE AC SHOULD BE 0
1978 ;THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES
1979
1980 031416 474 00 0 00 000000 B24700: SETO ;PRELOAD AC WITH -1,,-1
1981 031417 511 00 0 00 777777 HLLZI -1 ;*HLLZI SHOULD CLEAR THE AC
1982 031420 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
1983 STOP^
1984 031421 254 04 0 00 031422 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1985 031422 324 00 0 00 031423 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1986 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1987 ;IN THE SUBTEST) TO LOOP ON ERROR^
1988
1989 ;***** FAILURE ANALYSIS *****
1990 ;C(AC0) C(AC1) FAILING SIGNAL
1991
1992 ;-1,,0 FC: AD LT AR + EN
1993 ;0,,-1 ET2: AR LT AD EN
1994
1995 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 32
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0058
1996 ;THIS TEST VERIFIES THAT HLLZI ALWAYS CLEARS THE AC.
1997 ;IN THIS CASE C(AC)=0 AND E=0,,-1.
1998 ;THE RESULT IN THE AC SHOULD BE 0
1999 ;THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES
2000
2001 031423 400 00 0 00 000000 B25000: SETZ ;PRELOAD AC WITH 0
2002 031424 511 00 0 00 777777 HLLZI -1 ;*HLLZI SHOULD CLEAR THE AC
2003 031425 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
2004 STOP^
2005 031426 254 04 0 00 031427 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2006 031427 324 00 0 00 031430 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2007 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2008 ;IN THE SUBTEST) TO LOOP ON ERROR^
2009
2010 ;**********
2011
2012 ;THIS TEST VERIFIES THAT HLLZ PLACES THE LEFT HALF OF C(E) INTO
2013 ;THE LEFT HALF OF THE AC AND PLACES ZEROS INTO THE RIGHT HALF OF THE AC.
2014 ;IN THIS CASE, C(AC)=-1,,-1 AND C(E)=-1,,0. HENCE, THE RESULT IN THE AC
2015 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0.
2016 ;IF C(AC)=-1,,0, THIS TEST PASSES.
2017
2018 031430 474 00 0 00 000000 B25100: SETO ;PRELOAD AC WITH -1,,-1
2019 031431 510 00 0 00 034013 HLLZ [XWD -1,0] ;*HLLZ SHOULD PLACE -1,,0 INTO THE AC
2020 031432 312 00 0 00 034013 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0.
2021 STOP^
2022 031433 254 04 0 00 031434 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2023 031434 324 00 0 00 031435 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2024 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2025 ;IN THE SUBTEST) TO LOOP ON ERROR^
2026
2027 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 33
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0059
2028 ;THIS TEST VERIFIES THAT HLLZ PLACES THE LEFT HALF OF C(E) INTO
2029 ;THE LEFT HALF OF THE AC AND PLACES ZEROS INTO THE RIGHT HALF OF THE AC.
2030 ;IN THIS CASE, C(AC)=0 AND C(E)=-1,,0. HENCE, THE RESULT IN THE AC
2031 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0.
2032 ;IF C(AC)=-1,,0 THIS TEST PASSES.
2033
2034 031435 400 00 0 00 000000 B25200: SETZ ;PRELOAD AC WITH 0
2035 031436 510 00 0 00 034013 HLLZ [XWD -1,0] ;*HLLZ SHOULD PLACE -1,,0 INTO THE AC
2036 031437 312 00 0 00 034013 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0
2037 STOP^
2038 031440 254 04 0 00 031441 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2039 031441 324 00 0 00 031442 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2040 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2041 ;IN THE SUBTEST) TO LOOP ON ERROR^
2042
2043 ;**********
2044
2045 ;THIS TEST VERIFIES THAT HLLZ PLACES THE LEFT HALF OF C(E) INTO
2046 ;THE LEFT HALF OF THE AC AND PLACES ZEROS INTO THE RIGHT HALF OF THE AC.
2047 ;IN THIS CASE, C(AC)=0,,-1 AND C(E)=-1,,-1. HENCE, THE RESULT IN THE AC
2048 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0.
2049 ;IF C(AC)=-1,,0, THIS TEST PASSES.
2050
2051 031442 201 00 0 00 777777 B25300: MOVEI -1 ;PRELOAD AC WITH -1,,-1
2052 031443 510 00 0 00 034012 HLLZ [-1] ;*HLLZ SHOULD PLACE -1,,0 INTO THE AC
2053 031444 312 00 0 00 034013 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0
2054 STOP^
2055 031445 254 04 0 00 031446 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2056 031446 324 00 0 00 031447 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2057 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2058 ;IN THE SUBTEST) TO LOOP ON ERROR^
2059
2060 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 34
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0060
2061 ;THIS TEST VERIFIES THAT HLLZ PLACES THE LEFT HALF OF C(E) INTO
2062 ;THE LEFT HALF OF THE AC AND PLACES ZEROS INTO THE RIGHT HALF OF THE AC.
2063 ;IN THIS CASE, C(AC)=-1,,0 AND C(E)=-1,,-1. HENCE, THE RESULT IN THE AC
2064 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0.
2065 ;IF C(AC)=-1,,0 THIS TEST PASSES.
2066
2067 031447 205 00 0 00 777777 B25400: MOVSI -1 ;PRELOAD AC WITH -1,,0
2068 031450 510 00 0 00 034012 HLLZ [-1] ;*HLLZ SHOULD PLACE -1,,0 INTO THE AC
2069 031451 312 00 0 00 034013 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0.
2070 STOP^
2071 031452 254 04 0 00 031453 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2072 031453 324 00 0 00 031454 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2073 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2074 ;IN THE SUBTEST) TO LOOP ON ERROR^
2075
2076 ;**********
2077
2078 ;THIS TEST VERIFIES THAT HLLZ PLACES THE LEFT HALF OF C(E) INTO
2079 ;THE LEFT HALF OF THE AC AND PLACES ZEROS INTO THE RIGHT HALF OF THE AC.
2080 ;IN THIS CASE, C(AC)=0,,-1 AND C(E)=0. HENCE, THE RESULT IN THE AC
2081 ;SHOULD BE 0. THE AC IS CHECKED FOR ZERO.
2082 ;IF C(AC) IS ZERO, THIS TEST PASSES.
2083
2084 031454 201 00 0 00 777777 B25500: MOVEI -1 ;PRELOAD AC WITH 0,,-1
2085 031455 510 00 0 00 034014 HLLZ [0] ;*HLLZ SHOULD PLACE 0 INTO THE AC
2086 031456 332 00 0 00 000000 SKIPE ;PASS IF C(AC) IS ZERO.
2087 STOP^
2088 031457 254 04 0 00 031460 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2089 031460 324 00 0 00 031461 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2090 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2091 ;IN THE SUBTEST) TO LOOP ON ERROR^
2092
2093 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 35
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0061
2094 ;THIS TEST VERIFIES THAT HLLZ PLACES THE LEFT HALF OF C(E) INTO
2095 ;THE LEFT HALF OF THE AC AND PLACES ZEROS INTO THE RIGHT HALF OF THE AC.
2096 ;IN THIS CASE, C(AC)=-1,,0 AND C(E)=0. HENCE, THE RESULT IN THE AC
2097 ;SHOULD BE 0. THE AC IS CHECKED FOR ZERO.
2098 ;IF C(AC) IS ZERO, THIS TEST PASSES.
2099
2100 031461 205 00 0 00 777777 B25600: MOVSI -1 ;PRELOAD AC WITH -1,,0
2101 031462 510 00 0 00 034014 HLLZ [0] ;*HLLZ SHOULD PLACE -1,,0 INTO THE AC
2102 031463 332 00 0 00 000000 SKIPE ;PASS IF C(AC) IS ZERO.
2103 STOP^
2104 031464 254 04 0 00 031465 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2105 031465 324 00 0 00 031466 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2106 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2107 ;IN THE SUBTEST) TO LOOP ON ERROR^
2108
2109 ;**********
2110
2111 ;THIS TEST VERIFIES THAT HLLZ PLACES THE LEFT HALF OF C(E) INTO
2112 ;THE LEFT HALF OF THE AC AND PLACES ZEROS INTO THE RIGHT HALF OF THE AC.
2113 ;IN THIS CASE, C(AC)=0,,-1 AND C(E)=-1,,0. HENCE, THE RESULT IN THE AC
2114 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0.
2115 ;IF C(AC)=-1,,0, THIS TEST PASSES.
2116
2117 031466 201 00 0 00 777777 B25700: MOVEI -1 ;PRELOAD AC WITH 0,,-1
2118 031467 510 00 0 00 034013 HLLZ [XWD -1,0] ;*HLLZ SHOULD PLACE -1,,0 INTO THE AC
2119 031470 312 00 0 00 034013 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0
2120 STOP^
2121 031471 254 04 0 00 031472 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2122 031472 324 00 0 00 031473 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2123 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2124 ;IN THE SUBTEST) TO LOOP ON ERROR^
2125
2126 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 36
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0062
2127 ;THIS TEST VERIFIES THAT HLLZI ALWAYS CLEARS THE AC.
2128 ;IN THIS CASE C(AC)=0,,-1 AND E=0,,-1.
2129 ;THE RESULT IN THE AC SHOULD BE 0
2130 ;THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES
2131
2132 031473 201 00 0 00 777777 B26000: MOVEI -1 ;PRELOAD AC WITH 0,,-1
2133 031474 511 00 0 00 777777 HLLZI -1 ;*HLLZI SHOULD CLEAR THE AC
2134 031475 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
2135 STOP^
2136 031476 254 04 0 00 031477 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2137 031477 324 00 0 00 031500 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2138 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2139 ;IN THE SUBTEST) TO LOOP ON ERROR^
2140
2141 ;**********
2142
2143 ;THIS TEST VERIFIES THAT HLLZ PLACES THE LEFT HALF OF C(E) INTO
2144 ;THE LEFT HALF OF THE AC AND PLACES ZEROS INTO THE RIGHT HALF OF THE AC.
2145 ;IN THIS CASE, C(AC)=-1,,0 AND C(E)=-1,,0. HENCE, THE RESULT IN THE AC
2146 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0.
2147 ;IF C(AC)=-1,,0, THIS TEST PASSES.
2148
2149 031500 205 00 0 00 777777 B26100: MOVSI -1 ;PRELOAD AC WITH -1,,0
2150 031501 510 00 0 00 034013 HLLZ [XWD -1,0] ;*HLLZ SHOULD PLACE -1,,0 INTO THE AC
2151 031502 312 00 0 00 034013 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0
2152 STOP^
2153 031503 254 04 0 00 031504 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2154 031504 324 00 0 00 031505 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2155 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2156 ;IN THE SUBTEST) TO LOOP ON ERROR^
2157
2158 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 37
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0063
2159 ;THIS TEST VERIFIES THAT HLLZI ALWAYS CLEARS THE AC.
2160 ;IN THIS CASE C(AC)=-1,,0 AND E=0,,-1.
2161 ;THE RESULT IN THE AC SHOULD BE 0
2162 ;THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES
2163
2164 031505 205 00 0 00 777777 B26200: MOVSI -1 ;PRELOAD AC WITH -1,,0
2165 031506 511 00 0 00 777777 HLLZI -1 ;*HLLZI SHOULD CLEAR THE AC
2166 031507 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
2167 STOP^
2168 031510 254 04 0 00 031511 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2169 031511 324 00 0 00 031512 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2170 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2171 ;IN THE SUBTEST) TO LOOP ON ERROR^
2172
2173 ;**********
2174
2175 ;THIS TEST VERIFIES THAT HRR PLACES THE RIGHT HALF OF C(E) INTO
2176 ;THE RIGHT HALF OF THE AC. THE LEFT HALF OF THE AC IS UNAFFECTED.
2177 ;IN THIS CASE AC=E AND C(AC)=C(E)=0. HENCE, THE RESULT IN THE AC
2178 ;SHOULD BE 0. THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES.
2179
2180 031512 400 00 0 00 000000 B26300: SETZ ;PRELOAD AC WITH 0
2181 031513 540 00 0 00 000000 HRR ;*HRR SHOULD PLACE 0 INTO THE AC
2182 031514 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
2183 STOP^
2184 031515 254 04 0 00 031516 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2185 031516 324 00 0 00 031517 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2186 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2187 ;IN THE SUBTEST) TO LOOP ON ERROR^
2188
2189 ;***** FAILURE ANALYSIS *****
2190 ;C(AC0) C(AC1) FAILING SIGNAL
2191
2192 ;0,,-1 FC: AD RT AR + EN
2193 ;-1,,0 FC: AD LT FM + EN
2194
2195 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 38
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0064
2196 ;THIS TEST VERIFIES THAT HRR PLACES THE RIGHT HALF OF C(E) INTO
2197 ;THE RIGHT HALF OF THE AC. THE LEFT HALF OF THE AC IS UNAFFECTED.
2198 ;IN THIS CASE AC=E AND C(AC)=C(E)=-1,,-1. HENCE, THE RESULT IN THE AC
2199 ;SHOULD BE -1,,-1. THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES.
2200
2201 031517 474 00 0 00 000000 B26500: SETO ;PRELOAD AC WITH -1,,-1
2202 031520 540 00 0 00 000000 HRR ;*HRR SHOULD PLACE -1,,-1 INTO THE AC
2203 031521 312 00 0 00 034012 CAME [-1] ;PASS IF C(AC)=-1,,-1
2204 STOP^
2205 031522 254 04 0 00 031523 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2206 031523 324 00 0 00 031524 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2207 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2208 ;IN THE SUBTEST) TO LOOP ON ERROR^
2209
2210 ;***** FAILURE ANALYSIS *****
2211 ;C(AC0) C(AC1) FAILING SIGNAL
2212
2213 ;-1,,0 SW: FCE
2214
2215 ;**********
2216
2217 ;THIS TEST VERIFIES THAT HRR PLACES THE RIGHT HALF OF C(E) INTO
2218 ;THE RIGHT HALF OF THE AC. THE LEFT HALF OF THE AC IS UNAFFECTED.
2219 ;IN THIS CASE C(AC)=0 AND C(E)=-1,,0. HENCE, THE RESULT IN THE AC
2220 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0. IF C(AC)=-1,,0, THIS TEST PASSES.
2221
2222 031524 474 00 0 00 000000 B26600: SETO ;PRELOAD AC WITH -1,,-1
2223 031525 540 00 0 00 034013 HRR [XWD -1,0] ;*HRR SHOULD PLACE -1,,0 INTO THE AC
2224 031526 312 00 0 00 034013 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0
2225 STOP^
2226 031527 254 04 0 00 031530 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2227 031530 324 00 0 00 031531 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2228 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2229 ;IN THE SUBTEST) TO LOOP ON ERROR^
2230
2231 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 39
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0065
2232 ;THIS TEST VERIFIES THAT HRRI PLACES E INTO
2233 ;THE RIGHT HALF OF THE AC. THE LEFT HALF OF THE AC IS UNAFFECTED
2234 ;IN THIS CASE C(AC)=-1,,-1 AND E=0,,-1. HENCE, THE RESULT IN THE AC
2235 ;SHOULD BE -1,,-1. THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES.
2236
2237 031531 474 00 0 00 000000 B26700: SETO ;PRELOAD AC WITH -1,,-1
2238 031532 541 00 0 00 777777 HRRI -1 ;*HRRI SHOULD PLACE -1,,-1 INTO THE AC
2239 031533 312 00 0 00 034012 CAME [-1] ;PASS IF C(AC)=-1,,-1
2240 STOP^
2241 031534 254 04 0 00 031535 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2242 031535 324 00 0 00 031536 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2243 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2244 ;IN THE SUBTEST) TO LOOP ON ERROR^
2245
2246 ;***** FAILURE ANALYSIS *****
2247 ;C(AC0) C(AC1) FAILING SIGNAL
2248
2249 ;0,,-1 ET2: AR AD EN
2250
2251 ;**********
2252
2253 ;THIS TEST VERIFIES THAT HRR PLACES THE RIGHT HALF OF C(E) INTO
2254 ;THE RIGHT HALF OF THE AC. THE LEFT HALF OF THE AC IS UNAFFECTED.
2255 ;IN THIS CASE C(AC)=-1,,-1 AND C(E)=0. HENCE, THE RESULT IN THE AC
2256 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0. IF C(AC)=-1,,0, THIS TEST PASSES.
2257
2258 031536 474 00 0 00 000000 B27000: SETO ;PRELOAD AC WITH -1,,-1
2259 031537 540 00 0 00 034014 HRR [0] ;*HRR SHOULD PLACE -1,,0 INTO THE AC
2260 031540 312 00 0 00 034013 CAME [XWD -1,0] ;PASS IF C(AC)=0
2261 STOP^
2262 031541 254 04 0 00 031542 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2263 031542 324 00 0 00 031543 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2264 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2265 ;IN THE SUBTEST) TO LOOP ON ERROR^
2266
2267 ;***** FAILURE ANALYSIS *****
2268 ;C(AC0) C(AC1) FAILING SIGNAL
2269
2270 ;0 ET2: AR AD EN
2271
2272 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 40
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0066
2273 ;THIS TEST VERIFIES THAT HRR PLACES THE RIGHT HALF OF C(E) INTO
2274 ;THE RIGHT HALF OF THE AC. THE LEFT HALF OF THE AC IS UNAFFECTED.
2275 ;IN THIS CASE C(AC)=0 AND C(E)=0. HENCE, THE RESULT IN THE AC
2276 ;SHOULD BE 0. THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES.
2277
2278 031543 400 00 0 00 000000 B27100: SETZ ;PRELOAD AC WITH 0
2279 031544 540 00 0 00 034014 HRR [0] ;*HRR SHOULD PLACE 0 INTO THE AC
2280 031545 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
2281 STOP^
2282 031546 254 04 0 00 031547 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2283 031547 324 00 0 00 031550 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2284 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2285 ;IN THE SUBTEST) TO LOOP ON ERROR^
2286
2287 ;**********
2288
2289 ;THIS TEST VERIFIES THAT HRR PLACES THE RIGHT HALF OF C(E) INTO
2290 ;THE RIGHT HALF OF THE AC. THE LEFT HALF OF THE AC IS UNAFFECTED.
2291 ;IN THIS CASE C(AC)=0 AND C(E)=-1,,-1. HENCE, THE RESULT IN THE AC
2292 ;SHOULD BE 0,,-1. THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST PASSES.
2293
2294 031550 400 00 0 00 000000 B27200: SETZ ;PRELOAD AC WITH 0
2295 031551 540 00 0 00 034012 HRR [-1] ;*HRR SHOULD PLACE 0,,-1 INTO THE AC
2296 031552 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC)=0,,-1
2297 STOP^
2298 031553 254 04 0 00 031554 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2299 031554 324 00 0 00 031555 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2300 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2301 ;IN THE SUBTEST) TO LOOP ON ERROR^
2302
2303 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 41
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0067
2304 ;THIS TEST VERIFIES THAT HRRI PLACES E INTO
2305 ;THE RIGHT HALF OF THE AC. THE LEFT HALF OF THE AC IS UNAFFECTED
2306 ;IN THIS CASE C(AC)=0 AND E=0,,-1. HENCE, THE RESULT IN THE AC
2307 ;SHOULD BE 0,,-1. THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST PASSES.
2308
2309 031555 400 00 0 00 000000 B27300: SETZ ;PRELOAD AC WITH 0
2310 031556 541 00 0 00 777777 HRRI -1 ;*HRRI SHOULD PLACE 0,,-1 INTO THE AC
2311 031557 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC)=0,,-1
2312 STOP^
2313 031560 254 04 0 00 031561 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2314 031561 324 00 0 00 031562 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2315 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2316 ;IN THE SUBTEST) TO LOOP ON ERROR^
2317
2318 ;***** FAILURE ANALYSIS *****
2319 ;C(AC0) C(AC1) FAILING SIGNAL
2320
2321 ;-1,,-1 FC: AD LT FM + EN
2322
2323 ;**********
2324
2325 ;THIS TEST VERIFIES THAT HRR PLACES THE RIGHT HALF OF C(E) INTO
2326 ;THE RIGHT HALF OF THE AC. THE LEFT HALF OF THE AC IS UNAFFECTED.
2327 ;IN THIS CASE C(AC)=0 AND C(E)=-1,,0. HENCE, THE RESULT IN THE AC
2328 ;SHOULD BE 0. THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES.
2329
2330 031562 400 00 0 00 000000 B27400: SETZ ;PRELOAD AC WITH 0
2331 031563 540 00 0 00 034013 HRR [XWD -1,0] ;*HRR SHOULD PLACE 0 INTO THE AC
2332 031564 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
2333 STOP^
2334 031565 254 04 0 00 031566 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2335 031566 324 00 0 00 031567 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2336 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2337 ;IN THE SUBTEST) TO LOOP ON ERROR^
2338
2339 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 42
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0068
2340 ;THIS TEST VERIFIES THAT HRR PLACES THE RIGHT HALF OF C(E) INTO
2341 ;THE RIGHT HALF OF THE AC. THE LEFT HALF OF THE AC IS UNAFFECTED.
2342 ;IN THIS CASE C(AC)=0,,-1 AND C(E)=-1,,0. HENCE, THE RESULT IN THE AC
2343 ;SHOULD BE 0. THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES.
2344
2345 031567 201 00 0 00 777777 B27500: MOVEI -1 ;PRELOAD AC WITH 0,,-1
2346 031570 540 00 0 00 034013 HRR [XWD -1,0] ;*HRR SHOULD PLACE 0 INTO THE AC
2347 031571 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
2348 STOP^
2349 031572 254 04 0 00 031573 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2350 031573 324 00 0 00 031574 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2351 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2352 ;IN THE SUBTEST) TO LOOP ON ERROR^
2353
2354 ;**********
2355
2356 ;THIS TEST VERIFIES THAT HRRI PLACES E INTO
2357 ;THE RIGHT HALF OF THE AC. THE LEFT HALF OF THE AC IS UNAFFECTED
2358 ;IN THIS CASE C(AC)=-1,,0 AND E=0,,-1. HENCE, THE RESULT IN THE AC
2359 ;SHOULD BE -1,,-1. THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES.
2360
2361 031574 205 00 0 00 777777 B27600: MOVSI -1 ;PRELOAD AC WITH -1,,0
2362 031575 541 00 0 00 777777 HRRI -1 ;*HRRI SHOULD PLACE -1,,-1 INTO THE AC
2363 031576 312 00 0 00 034012 CAME [-1] ;PASS IF C(AC)=-1,,-1
2364 STOP^
2365 031577 254 04 0 00 031600 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2366 031600 324 00 0 00 031601 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2367 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2368 ;IN THE SUBTEST) TO LOOP ON ERROR^
2369
2370 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 43
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0069
2371 ;THIS TEST VERIFIES THAT HRRI PLACES E INTO
2372 ;THE RIGHT HALF OF THE AC. THE LEFT HALF OF THE AC IS UNAFFECTED
2373 ;IN THIS CASE C(AC)=0,,-1 AND E=0,,-1. HENCE, THE RESULT IN THE AC
2374 ;SHOULD BE 0,,-1. THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST PASSES.
2375
2376 031601 201 00 0 00 777777 B27700: MOVEI -1 ;PRELOAD AC WITH 0,,-1
2377 031602 541 00 0 00 777777 HRRI -1 ;*HRRI SHOULD PLACE 0,,-1 INTO THE AC
2378 031603 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC)=0,,-1
2379 STOP^
2380 031604 254 04 0 00 031605 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2381 031605 324 00 0 00 031606 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2382 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2383 ;IN THE SUBTEST) TO LOOP ON ERROR^
2384
2385 ;**********
2386
2387 ;THIS TEST VERIFIES THAT HRR PLACES THE RIGHT HALF OF C(E) INTO
2388 ;THE RIGHT HALF OF THE AC. THE LEFT HALF OF THE AC IS UNAFFECTED.
2389 ;IN THIS CASE C(AC)=-1,,0 AND C(E)=-1,,0. HENCE, THE RESULT IN THE AC
2390 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0. IF C(AC)=-1,,0, THIS TEST PASSES.
2391
2392 031606 205 00 0 00 777777 B30000: MOVSI -1 ;PRELOAD AC WITH -1,,0
2393 031607 540 00 0 00 034013 HRR [XWD -1,0] ;*HRR SHOULD PLACE -1,,0 INTO THE AC
2394 031610 312 00 0 00 034013 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0
2395 STOP^
2396 031611 254 04 0 00 031612 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2397 031612 324 00 0 00 031613 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2398 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2399 ;IN THE SUBTEST) TO LOOP ON ERROR^
2400
2401 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 44
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0070
2402 ;THIS TEST VERIFIES THAT HRRZ PLACES THE RIGHT HALF OF C(E) INTO
2403 ;RIGHT HALF OF THE AC AND PLACES ZEROS INTO THE LEFT HALF OF THE AC
2404 ;IN THIS CASE, AC=E AND C(AC)=C(E)=0. HENCE, THE RESULT IN THE AC
2405 ;SHOULD BE 0. THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES.
2406
2407 031613 400 00 0 00 000000 B30100: SETZ ;PRELOAD AC,E WITH 0
2408 031614 550 00 0 00 000000 HRRZ ;*HRRZ SHOULD PLACE 0 INTO THE AC
2409 031615 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
2410 STOP^
2411 031616 254 04 0 00 031617 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2412 031617 324 00 0 00 031620 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2413 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2414 ;IN THE SUBTEST) TO LOOP ON ERROR^
2415
2416 ;***** FAILURE ANALYSIS *****
2417 ;C(AC0) C(AC1) FAILING SIGNAL
2418
2419 ;0,,-1 FC: AD RT AR + EN
2420
2421 ;**********
2422
2423 ;THIS TEST VERIFIES THAT HRRZI PLACES E INTO
2424 ;THE RIGHT HALF OF THE AC AND CLEARS THE LEFT HALF OF THE AC
2425 ;IN THIS CASE C(AC)=-1,,-1. HENCE, THE RESULT IN THE AC
2426 ;SHOULD BE 0,,-1. THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST PASSES
2427
2428 031620 474 00 0 00 000000 B30400: SETO ;PRELOAD AC WITH -1,,-1
2429 031621 551 00 0 00 777777 HRRZI -1 ;*HRRZI SHOULD PLACE 0,,-1 INTO THE AC
2430 031622 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC)=0,,-1
2431 STOP^
2432 031623 254 04 0 00 031624 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2433 031624 324 00 0 00 031625 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2434 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2435 ;IN THE SUBTEST) TO LOOP ON ERROR^
2436
2437 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 45
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0071
2438 ;THIS TEST VERIFIES THAT HRRZI PLACES E INTO
2439 ;THE RIGHT HALF OF THE AC AND CLEARS THE LEFT HALF OF THE AC
2440 ;IN THIS CASE C(AC)=-1,,-1. HENCE, THE RESULT IN THE AC
2441 ;SHOULD BE 0. THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES
2442
2443 031625 474 00 0 00 000000 B30500: SETO ;PRELOAD AC WITH -1,,-1
2444 031626 551 00 0 00 000000 HRRZI 0 ;*HRRZI SHOULD PLACE 0 INTO THE AC
2445 031627 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
2446 STOP^
2447 031630 254 04 0 00 031631 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2448 031631 324 00 0 00 031632 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2449 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2450 ;IN THE SUBTEST) TO LOOP ON ERROR^
2451
2452 ;***** FAILURE ANALYSIS *****
2453 ;C(AC0) C(AC1) FAILING SIGNAL
2454
2455 ;0,,-1 FC: AD RT AR + EN
2456
2457 ;**********
2458
2459 ;THIS TEST VERIFIES THAT HRRZ PLACES THE RIGHT HALF OF C(E) INTO
2460 ;RIGHT HALF OF THE AC AND PLACES ZEROS INTO THE LEFT HALF OF THE AC
2461 ;IN THIS CASE C(AC)=-1,,-1 AND C(E)=-1,,-1. HENCE, THE RESULT IN THE AC
2462 ;SHOULD BE 0. THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES.
2463
2464 031632 474 00 0 00 000000 B30600: SETO ;PRELOAD AC WITH -1,,-1
2465 031633 550 00 0 00 034013 HRRZ [XWD -1,0] ;*HRRZ SHOULD PLACE 0 INTO THE AC
2466 031634 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
2467 STOP^
2468 031635 254 04 0 00 031636 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2469 031636 324 00 0 00 031637 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2470 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2471 ;IN THE SUBTEST) TO LOOP ON ERROR^
2472
2473 ;***** FAILURE ANALYSIS *****
2474 ;C(AC0) C(AC1) FAILING SIGNAL
2475
2476 ;E SW: FCE
2477 ;-1,,0 ET2: AR RT AD EN
2478
2479 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 46
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0072
2480 ;THIS TEST VERIFIES THAT HRRZ PLACES THE RIGHT HALF OF C(E) INTO
2481 ;RIGHT HALF OF THE AC AND PLACES ZEROS INTO THE LEFT HALF OF THE AC
2482 ;IN THIS CASE C(AC)=-1,,-1 AND C(E)=-1,,-1. HENCE, THE RESULT IN THE AC
2483 ;SHOULD BE 0,,-1. THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST PASSES.
2484
2485 031637 474 00 0 00 000000 B30700: SETO ;PRELOAD AC WITH -1,,-1
2486 031640 550 00 0 00 034012 HRRZ [-1] ;*HRRZ SHOULD PLACE 0,,-1 INTO THE AC
2487 031641 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC)=0,,-1
2488 STOP^
2489 031642 254 04 0 00 031643 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2490 031643 324 00 0 00 031644 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2491 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2492 ;IN THE SUBTEST) TO LOOP ON ERROR^
2493
2494 ;**********
2495
2496 ;THIS TEST VERIFIES THAT HRRZ PLACES THE RIGHT HALF OF C(E) INTO
2497 ;RIGHT HALF OF THE AC AND PLACES ZEROS INTO THE LEFT HALF OF THE AC
2498 ;IN THIS CASE C(AC)=0,,-1 AND C(E)=-1,,-1. HENCE, THE RESULT IN THE AC
2499 ;SHOULD BE 0,,-1. THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST PASSES.
2500
2501 031644 201 00 0 00 777777 B31000: MOVEI -1 ;PRELOAD AC WITH 0,,-1
2502 031645 550 00 0 00 034012 HRRZ [-1] ;*HRRZ SHOULD PLACE 0,,-1 INTO THE AC
2503 031646 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC)=0,,-1
2504 STOP^
2505 031647 254 04 0 00 031650 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2506 031650 324 00 0 00 031651 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2507 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2508 ;IN THE SUBTEST) TO LOOP ON ERROR^
2509
2510 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 47
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0073
2511 ;THIS TEST VERIFIES THAT HRRZ PLACES THE RIGHT HALF OF C(E) INTO
2512 ;RIGHT HALF OF THE AC AND PLACES ZEROS INTO THE LEFT HALF OF THE AC
2513 ;IN THIS CASE C(AC)=0,,-1 AND C(E)=0. HENCE, THE RESULT IN THE AC
2514 ;SHOULD BE 0. THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES.
2515
2516 031651 201 00 0 00 777777 B31100: MOVEI -1 ;PRELOAD AC WITH 0,,-1
2517 031652 550 00 0 00 034014 HRRZ [0] ;*HRRZ SHOULD PLACE 0 INTO THE AC
2518 031653 302 00 0 00 000000 CAIE 0 ;PASS IF C(AC)=0
2519 STOP^
2520 031654 254 04 0 00 031655 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2521 031655 324 00 0 00 031656 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2522 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2523 ;IN THE SUBTEST) TO LOOP ON ERROR^
2524
2525 ;**********
2526
2527 ;THIS TEST VERIFIES THAT HRRZ PLACES THE RIGHT HALF OF C(E) INTO
2528 ;RIGHT HALF OF THE AC AND PLACES ZEROS INTO THE LEFT HALF OF THE AC
2529 ;IN THIS CASE C(AC)=-1,,0 AND C(E)=-1,,-1. HENCE, THE RESULT IN THE AC
2530 ;SHOULD BE 0,,-1. THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST PASSES.
2531
2532 031656 205 00 0 00 777777 B31200: MOVSI -1 ;PRELOAD AC WITH -1,,0
2533 031657 550 00 0 00 034012 HRRZ [-1] ;*HRRZ SHOULD PLACE 0,,-1 INTO THE AC
2534 031660 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC)=0,,-1
2535 STOP^
2536 031661 254 04 0 00 031662 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2537 031662 324 00 0 00 031663 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2538 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2539 ;IN THE SUBTEST) TO LOOP ON ERROR^
2540
2541 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 48
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0074
2542 ;THIS TEST VERIFIES THAT HRRZ PLACES THE RIGHT HALF OF C(E) INTO
2543 ;RIGHT HALF OF THE AC AND PLACES ZEROS INTO THE LEFT HALF OF THE AC
2544 ;IN THIS CASE C(AC)=-1,,0 AND C(E)=0. HENCE, THE RESULT IN THE AC
2545 ;SHOULD BE 0. THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES.
2546
2547 031663 205 00 0 00 777777 B31300: MOVSI -1 ;PRELOAD AC WITH -1,,0
2548 031664 550 00 0 00 034014 HRRZ [0] ;*HRRZ SHOULD PLACE 0 INTO THE AC
2549 031665 302 00 0 00 000000 CAIE 0 ;PASS IF C(AC)=0
2550 STOP^
2551 031666 254 04 0 00 031667 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2552 031667 324 00 0 00 031670 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2553 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2554 ;IN THE SUBTEST) TO LOOP ON ERROR^
2555
2556 ;**********
2557
2558 ;THIS TEST VERIFIES THAT HRRZ PLACES THE RIGHT HALF OF C(E) INTO
2559 ;RIGHT HALF OF THE AC AND PLACES ZEROS INTO THE LEFT HALF OF THE AC
2560 ;IN THIS CASE C(AC)=0,,-1 AND C(E)=-1,,0. HENCE, THE RESULT IN THE AC
2561 ;SHOULD BE 0. THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES.
2562
2563 031670 201 00 0 00 777777 B31400: MOVEI -1 ;PRELOAD AC WITH 0,,-1
2564 031671 550 00 0 00 034013 HRRZ [XWD -1,0] ;*HRRZ SHOULD PLACE 0 INTO THE AC
2565 031672 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
2566 STOP^
2567 031673 254 04 0 00 031674 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2568 031674 324 00 0 00 031675 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2569 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2570 ;IN THE SUBTEST) TO LOOP ON ERROR^
2571
2572 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 49
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0075
2573 ;THIS TEST VERIFIES THAT HRRZ PLACES THE RIGHT HALF OF C(E) INTO
2574 ;RIGHT HALF OF THE AC AND PLACES ZEROS INTO THE LEFT HALF OF THE AC
2575 ;IN THIS CASE C(AC)=-1,,0 AND C(E)=0,,-1. HENCE, THE RESULT IN THE AC
2576 ;SHOULD BE 0,,-1. THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST PASSES.
2577
2578 031675 205 00 0 00 777777 B31500: MOVSI -1 ;PRELOAD AC WITH -1,,0
2579 031676 550 00 0 00 034015 HRRZ [XWD 0,-1] ;*HRRZ SHOULD PLACE 0,,-1 INTO THE AC
2580 031677 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC)=0,,-1
2581 STOP^
2582 031700 254 04 0 00 031701 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2583 031701 324 00 0 00 031702 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2584 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2585 ;IN THE SUBTEST) TO LOOP ON ERROR^
2586
2587 ;**********
2588
2589 ;THIS TEST VERIFIES THAT HRRZI PLACES E INTO
2590 ;THE RIGHT HALF OF THE AC AND CLEARS THE LEFT HALF OF THE AC
2591 ;IN THIS CASE C(AC)=0,,-1 AND E=0,,-1. HENCE, THE RESULT IN THE AC
2592 ;SHOULD BE 0,,-1. THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST PASSES
2593
2594 031702 201 00 0 00 777777 B31600: MOVEI -1 ;PRELOAD AC WITH 0,,-1
2595 031703 551 00 0 00 777777 HRRZI -1 ;*HRRZI SHOULD PLACE 0,,-1 INTO THE AC
2596 031704 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC)=0,,1
2597 STOP^
2598 031705 254 04 0 00 031706 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2599 031706 324 00 0 00 031707 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2600 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2601 ;IN THE SUBTEST) TO LOOP ON ERROR^
2602
2603 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 50
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0076
2604 ;THIS TEST VERIFIES THAT HRRZ PLACES THE RIGHT HALF OF C(E) INTO
2605 ;RIGHT HALF OF THE AC AND PLACES ZEROS INTO THE LEFT HALF OF THE AC
2606 ;IN THIS CASE C(AC)=-1,,0 AND C(E)=-1,,0. HENCE, THE RESULT IN THE AC
2607 ;SHOULD BE 0. THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES.
2608
2609 031707 205 00 0 00 777777 B31700: MOVSI -1 ;PRELOAD AC WITH -1,,0
2610 031710 550 00 0 00 034013 HRRZ [XWD -1,0] ;*HRRZ SHOULD PLACE 0 INTO THE AC,0]
2611 031711 302 00 0 00 000000 CAIE 0 ;PASS IF C(AC)=0
2612 STOP^
2613 031712 254 04 0 00 031713 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2614 031713 324 00 0 00 031714 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2615 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2616 ;IN THE SUBTEST) TO LOOP ON ERROR^
2617
2618 ;**********
2619
2620 ;THIS TEST VERIFIES THAT HRL PLACES THE RIGHT HALF OF C(E) INTO
2621 ;THE LEFT HALF OF THE AC. THE RIGHT HALF OF THE AC IS UNAFFECTED
2622 ;IN THIS CASE, AC=E AND C(AC)=C(E)=0. HENCE, THE RESULT IN THE AC
2623 ;SHOULD BE 0. THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES.
2624
2625 031714 400 00 0 00 000000 B32000: SETZ ;PRELOAD AC WITH 0
2626 031715 504 00 0 00 000000 HRL ;*HRL SHOULD PLACE 0 INTO THE AC
2627 031716 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
2628 STOP^
2629 031717 254 04 0 00 031720 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2630 031720 324 00 0 00 031721 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2631 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2632 ;IN THE SUBTEST) TO LOOP ON ERROR^
2633
2634 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 51
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0077
2635 ;THIS TEST VERIFIES THAT HRL PLACES THE RIGHT HALF OF C(E) INTO
2636 ;THE LEFT HALF OF THE AC. THE RIGHT HALF OF THE AC IS UNAFFECTED
2637 ;IN THIS CASE, C(AC)=-1,,-1 AND C(E)=-1,,-1. HENCE, THE RESULT IN THE AC
2638 ;SHOULD BE -1,,-1. THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES.
2639
2640 031721 474 00 0 00 000000 B32100: SETO ;PRELOAD AC WITH -1,,-1
2641 031722 504 00 0 00 034012 HRL [-1] ;*HRL SHOULD PLACE -1,,-1 INTO THE AC
2642 031723 312 00 0 00 034012 CAME [-1] ;PASS IF C(AC)=-1,,-1
2643 STOP^
2644 031724 254 04 0 00 031725 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2645 031725 324 00 0 00 031726 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2646 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2647 ;IN THE SUBTEST) TO LOOP ON ERROR^
2648
2649 ;***** FAILURE ANALYSIS *****
2650 ;C(AC0) C(AC1) FAILING SIGNAL
2651
2652 ;E,,-1 SW: FCE
2653 ;0,,-1 FC: AD RT FM + EN
2654 ;0,,-1 ET2: AR LT AR RT EN
2655 ;-1,,0 ET2: AR RT AD EN
2656
2657 ;**********
2658
2659 ;THIS TEST VERIFIES THAT HRL PLACES THE RIGHT HALF OF C(E) INTO
2660 ;THE LEFT HALF OF THE AC. THE RIGHT HALF OF THE AC IS UNAFFECTED
2661 ;IN THIS CASE, C(AC)=-1,,-1 AND C(E)=0. HENCE, THE RESULT IN THE AC
2662 ;SHOULD BE 0,,-1. THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST PASSES.
2663
2664 031726 474 00 0 00 000000 B32200: SETO ;PRELOAD AC WITH -1,,-1
2665 031727 504 00 0 00 034014 HRL [0] ;*HRL SHOULD PLACE 0,,-1 INTO THE AC
2666 031730 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC)=0,,-1
2667 STOP^
2668 031731 254 04 0 00 031732 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2669 031732 324 00 0 00 031733 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2670 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2671 ;IN THE SUBTEST) TO LOOP ON ERROR^
2672
2673 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 52
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0078
2674 ;THIS TEST VERIFIES THAT HLR PLACES THE LEFT HALF OF C(E) INTO
2675 ;THE RIGHT HALF OF THE AC. THE LEFT HALF OF THE AC IS UNAFFECTED.
2676 ;IN THIS CASE, C(AC)=-1,,-1 AND C(E)=0. HENCE, THE RESULT IN THE AC
2677 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0. IF C(AC)=-1,,0, THIS TEST PASSES.
2678
2679 031733 474 00 0 00 000000 B32300: SETO ;PRELOAD AC WITH -1,,-1
2680 031734 544 00 0 00 034014 HLR [0] ;*HLR SHOULD PLACE -1,,0 INTO THE AC
2681 031735 312 00 0 00 034013 CAME [-1,,0] ;PASS IF C(AC)=-1,,0
2682 STOP^
2683 031736 254 04 0 00 031737 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2684 031737 324 00 0 00 031740 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2685 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2686 ;IN THE SUBTEST) TO LOOP ON ERROR^
2687
2688 ;***** FAILURE ANALYSIS *****
2689 ;C(AC0) C(AC1) FAILING SIGNAL
2690
2691 ;0 ET2: AR LT AD EN
2692
2693 ;**********
2694
2695 ;THIS TEST VERIFIES THAT HRL PLACES THE RIGHT HALF OF C(E) INTO
2696 ;THE LEFT HALF OF THE AC. THE RIGHT HALF OF THE AC IS UNAFFECTED
2697 ;IN THIS CASE, C(AC)=-1,,-1 AND C(E)=0. HENCE, THE RESULT IN THE AC
2698 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0. IF C(AC)=-1,,0, THIS TEST PASSES.
2699
2700 031740 400 00 0 00 000000 B32600: SETZ ;PRELOAD AC WITH 0
2701 031741 504 00 0 00 034012 HRL [-1] ;*HRL SHOULD PLACE -1,,0 INTO THE AC
2702 031742 312 00 0 00 034013 CAME [-1,,0] ;PASS IF C(AC)=-1,,0
2703 STOP^
2704 031743 254 04 0 00 031744 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2705 031744 324 00 0 00 031745 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2706 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2707 ;IN THE SUBTEST) TO LOOP ON ERROR^
2708
2709 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 53
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0079
2710 ;THIS TEST VERIFIES THAT HLR PLACES THE LEFT HALF OF C(E) INTO
2711 ;THE RIGHT HALF OF THE AC. THE LEFT HALF OF THE AC IS UNAFFECTED.
2712 ;IN THIS CASE, C(AC)=0 AND C(E)=-1,,-1. HENCE, THE RESULT IN THE AC
2713 ;SHOULD BE 0,,-1. THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST PASSES.
2714
2715 031745 400 00 0 00 000000 B32700: SETZ ;PRELOAD AC WITH 0
2716 031746 544 00 0 00 034012 HLR [-1] ;*HLR SHOULD PLACE 0,,-1 INTO THE AC
2717 031747 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC)=0,,-1
2718 STOP^
2719 031750 254 04 0 00 031751 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2720 031751 324 00 0 00 031752 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2721 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2722 ;IN THE SUBTEST) TO LOOP ON ERROR^
2723
2724 ;***** FAILURE ANALYSIS *****
2725 ;C(AC0) C(AC1) FAILING SIGNAL
2726
2727 ;0 SW: FCE
2728 ;-1,,-1 FC: AD LT FM + EN
2729 ;0 ET2: AR RT AR LT EN
2730
2731 ;**********
2732
2733 ;THIS TEST VERIFIES THAT HRLI PLACES E INTO
2734 ;THE LEFT HALF OF THE AC. THE RIGHT HALF OF THE AC IS UNAFFECTED.
2735 ;IN THIS CASE C(AC)=-1,,-1 AND E=0,,-1. HENCE, THE RESULT IN THE AC
2736 ;SHOULD BE -1,,-1. THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES
2737
2738 031752 400 00 0 00 000000 B33000: SETZ ;PRELOAD AC WITH -1,,-1
2739 031753 505 00 0 00 777777 HRLI -1 ;*HRLI SHOULD PLACE -1,,-1 INTO THE AC
2740 031754 312 00 0 00 034013 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,-1
2741 STOP^
2742 031755 254 04 0 00 031756 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2743 031756 324 00 0 00 031757 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2744 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2745 ;IN THE SUBTEST) TO LOOP ON ERROR^
2746
2747 ;***** FAILURE ANALYSIS *****
2748 ;C(AC0) C(AC1) FAILING SIGNAL
2749
2750 ;-1,,-1 FC: AD RT FM + EN
2751 ;0 ET2: AR LT AR RT EN
2752
2753 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 54
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0080
2754 ;THIS TEST VERIFIES THAT HLR PLACES THE LEFT HALF OF C(E) INTO
2755 ;THE RIGHT HALF OF THE AC. THE LEFT HALF OF THE AC IS UNAFFECTED.
2756 ;IN THIS CASE, C(AC)=-1,,-1 AND C(E)=-1,,0. HENCE, THE RESULT IN THE AC
2757 ;SHOULD BE 0,,-1. THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST PASSES.
2758
2759 031757 400 00 0 00 000000 B33100: SETZ ;PRELOAD AC WITH -1,,-1
2760 031760 544 00 0 00 034013 HLR [XWD -1,0] ;*HLR SHOULD PLACE -1,,-1 INTO THE AC
2761 031761 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC)=0,,-1
2762 STOP^
2763 031762 254 04 0 00 031763 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2764 031763 324 00 0 00 031764 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2765 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2766 ;IN THE SUBTEST) TO LOOP ON ERROR^
2767
2768 ;**********
2769
2770 ;THIS TEST VERIFIES THAT HRL PLACES THE RIGHT HALF OF C(E) INTO
2771 ;THE LEFT HALF OF THE AC. THE RIGHT HALF OF THE AC IS UNAFFECTED
2772 ;IN THIS CASE, C(AC)=0 AND C(E)=-1,,0. HENCE, THE RESULT IN THE AC
2773 ;SHOULD BE 0. THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES.
2774
2775 031764 400 00 0 00 000000 B33200: SETZ ;PRELOAD AC WITH 0
2776 031765 504 00 0 00 034013 HRL [XWD -1,0] ;*HRL SHOULD PLACE 0 INTO THE AC
2777 031766 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
2778 STOP^
2779 031767 254 04 0 00 031770 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2780 031770 324 00 0 00 031771 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2781 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2782 ;IN THE SUBTEST) TO LOOP ON ERROR^
2783
2784 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 55
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0081
2785 ;THIS TEST VERIFIES THAT HLRI ALWAYS CLEARS THE RIGHT HALF
2786 ;OF THE AC. THE LEFT HALF OF THE AC IS UNAFFECTED.
2787 ;IN THIS CASE, C(AC)=0 AND E=0,,-1. HENCE, THE RESULT IN THE AC
2788 ;SHOULD BE 0. THE AC IS CHECKED FOR 0
2789 ;IF C(AC)=0, THIS TEST PASSES.
2790
2791 031771 400 00 0 00 000000 B33300: SETZ ;PRELOAD AC WITH 0
2792 031772 545 00 0 00 777777 HLRI -1 ;*HLRI SHOULD PLACE 0 INTO THE AC
2793 031773 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
2794 STOP^
2795 031774 254 04 0 00 031775 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2796 031775 324 00 0 00 031776 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2797 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2798 ;IN THE SUBTEST) TO LOOP ON ERROR^
2799
2800 ;***** FAILURE ANALYSIS *****
2801 ;C(AC0) C(AC1) FAILING SIGNAL
2802
2803 ;-1,,0 FC:AD LT FM + EN
2804
2805 ;**********
2806
2807 ;THIS TEST VERIFIES THAT HRLI PLACES E INTO
2808 ;THE LEFT HALF OF THE AC. THE RIGHT HALF OF THE AC IS UNAFFECTED.
2809 ;IN THIS CASE C(AC)=-1,,-1 AND E=-1,,-1. HENCE, THE RESULT IN THE AC
2810 ;SHOULD BE -1,,-1. THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES
2811
2812 031776 474 00 0 00 000000 B33400: SETO ;PRELOAD AC WITH -1,,-1
2813 031777 505 00 0 00 777777 HRLI -1 ;*HRLI SHOULD PLACE -1,,-1 INTO THE AC
2814 032000 312 00 0 00 034012 CAME [-1] ;PASS IF C(AC)=-1,,-1
2815 STOP^
2816 032001 254 04 0 00 032002 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2817 032002 324 00 0 00 032003 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2818 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2819 ;IN THE SUBTEST) TO LOOP ON ERROR^
2820
2821 ;***** FAILURE ANALYSIS *****
2822 ;C(AC0) C(AC1) FAILING SIGNAL
2823
2824 ;-1,,0 ET2: AR RT AD EN
2825
2826
2827 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 56
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0082
2828 ;THIS TEST VERIFIES THAT HLR PLACES THE LEFT HALF OF C(E) INTO
2829 ;THE RIGHT HALF OF THE AC. THE LEFT HALF OF THE AC IS UNAFFECTED.
2830 ;IN THIS CASE, C(AC)=-1,,-1 AND C(E)=-1,,0. HENCE, THE RESULT IN THE AC
2831 ;SHOULD BE -1,,-1. THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES.
2832
2833 032003 474 00 0 00 000000 B33500: SETO ;PRELOAD AC WITH -1,,-1
2834 032004 544 00 0 00 034013 HLR [XWD -1,0] ;*HLR SHOULD PLACE -1,,-1 INTO THE AC
2835 032005 312 00 0 00 034012 CAME [-1] ;PASS IF C(AC)=-1,,-1
2836 STOP^
2837 032006 254 04 0 00 032007 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2838 032007 324 00 0 00 032010 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2839 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2840 ;IN THE SUBTEST) TO LOOP ON ERROR^
2841
2842 ;**********
2843
2844 ;THIS TEST VERIFIES THAT HRL PLACES THE RIGHT HALF OF C(E) INTO
2845 ;THE LEFT HALF OF THE AC. THE RIGHT HALF OF THE AC IS UNAFFECTED
2846 ;IN THIS CASE, C(AC)=-1,,-1 AND C(E)=-1,,0. HENCE, THE RESULT IN THE AC
2847 ;SHOULD BE 0,,-1. THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST PASSES.
2848
2849 032010 474 00 0 00 000000 B33600: SETO ;PRELOAD AC WITH -1,,-1
2850 032011 504 00 0 00 034013 HRL [XWD -1,0] ;*HRL SHOULD PLACE 0,,-1 INTO THE AC
2851 032012 312 00 0 00 034015 CAME [XWD 0,-1] ;PASS IF C(AC)=0,,-1
2852 STOP^
2853 032013 254 04 0 00 032014 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2854 032014 324 00 0 00 032015 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2855 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2856 ;IN THE SUBTEST) TO LOOP ON ERROR^
2857
2858 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 57
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0083
2859 ;THIS TEST VERIFIES THAT HLRI ALWAYS CLEARS THE RIGHT HALF
2860 ;OF THE AC. THE LEFT HALF OF THE AC IS UNAFFECTED.
2861 ;IN THIS CASE, C(AC)=-1,,-1 AND E=0,,-1. HENCE, THE RESULT IN THE AC
2862 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0
2863 ;IF C(AC)=-1,,0, THIS TEST PASSES.
2864
2865 032015 474 00 0 00 000000 B33700: SETO ;PRELOAD AC WITH -1,,-1
2866 032016 545 00 0 00 777777 HLRI -1 ;*HLRI SHOULD PLACE -1,,0 INTO THE AC
2867 032017 312 00 0 00 034013 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0
2868 STOP^
2869 032020 254 04 0 00 032021 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2870 032021 324 00 0 00 032022 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2871 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2872 ;IN THE SUBTEST) TO LOOP ON ERROR^
2873
2874 ;***** FAILURE ANALYSIS *****
2875 ;C(AC0) C(AC1) FAILING SIGNAL
2876
2877 ;0 ET2: AR LT AD EN
2878
2879 ;**********
2880
2881 ;THIS TEST VERIFIES THAT HRL PLACES THE RIGHT HALF OF C(E) INTO
2882 ;THE LEFT HALF OF THE AC. THE RIGHT HALF OF THE AC IS UNAFFECTED
2883 ;IN THIS CASE, C(AC)=0,,-1 AND C(E)=0. HENCE, THE RESULT IN THE AC
2884 ;SHOULD BE 0,,-1. THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST PASSES.
2885
2886 032022 201 00 0 00 777777 B34000: MOVEI -1 ;PRELOAD AC WITH 0,,-1
2887 032023 504 00 0 00 034014 HRL [0] ;*HRL SHOULD PLACE 0,,-1 INTO THE AC
2888 032024 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC)=0,,-1
2889 STOP^
2890 032025 254 04 0 00 032026 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2891 032026 324 00 0 00 032027 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2892 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2893 ;IN THE SUBTEST) TO LOOP ON ERROR^
2894
2895 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 58
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0084
2896 ;THIS TEST VERIFIES THAT HLRI ALWAYS CLEARS THE RIGHT HALF
2897 ;OF THE AC. THE LEFT HALF OF THE AC IS UNAFFECTED.
2898 ;IN THIS CASE, C(AC)=0,,-1 AND E=0. HENCE, THE RESULT IN THE AC
2899 ;SHOULD BE 0. THE AC IS CHECKED FOR 0
2900 ;IF C(AC)=0, THIS TEST PASSES.
2901
2902 032027 201 00 0 00 777777 B34100: MOVEI -1 ;PRELOAD AC WITH 0,,-1
2903 032030 545 00 0 00 000000 HLRI ;*HLRI SHOULD PLACE 0 INTO THE AC
2904 032031 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
2905 STOP^
2906 032032 254 04 0 00 032033 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2907 032033 324 00 0 00 032034 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2908 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2909 ;IN THE SUBTEST) TO LOOP ON ERROR^
2910
2911 ;**********
2912
2913 ;THIS TEST VERIFIES THAT HRL PLACES THE RIGHT HALF OF C(E) INTO
2914 ;THE LEFT HALF OF THE AC. THE RIGHT HALF OF THE AC IS UNAFFECTED
2915 ;IN THIS CASE, C(AC)=0,,-1 AND C(E)=-1,,-1. HENCE, THE RESULT IN THE AC
2916 ;SHOULD BE -1,,-1. THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES.
2917
2918 032034 201 00 0 00 777777 B34200: MOVEI -1 ;PRELOAD AC WITH 0,,-1
2919 032035 504 00 0 00 034012 HRL [-1] ;*HRL SHOULD PLACE -1,,-1 INTO THE AC
2920 032036 312 00 0 00 034012 CAME [-1] ;PASS IF C(AC)=-1,,-1
2921 STOP^
2922 032037 254 04 0 00 032040 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2923 032040 324 00 0 00 032041 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2924 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2925 ;IN THE SUBTEST) TO LOOP ON ERROR^
2926
2927 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 59
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0085
2928 ;THIS TEST VERIFIES THAT HLR PLACES THE LEFT HALF OF C(E) INTO
2929 ;THE RIGHT HALF OF THE AC. THE LEFT HALF OF THE AC IS UNAFFECTED.
2930 ;IN THIS CASE, C(AC)=0,,-1 AND C(E)=-1,,-1. HENCE, THE RESULT IN THE AC
2931 ;SHOULD BE 0,,-1. THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST PASSES.
2932
2933 032041 201 00 0 00 777777 B34300: MOVEI -1 ;PRELOAD AC WITH 0,,-1
2934 032042 544 00 0 00 034012 HLR [-1] ;*HLR SHOULD PLACE 0,,-1 INTO THE AC
2935 032043 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC)=0,,-1
2936 STOP^
2937 032044 254 04 0 00 032045 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2938 032045 324 00 0 00 032046 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2939 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2940 ;IN THE SUBTEST) TO LOOP ON ERROR^
2941
2942 ;**********
2943
2944 ;THIS TEST VERIFIES THAT HRL PLACES THE RIGHT HALF OF C(E) INTO
2945 ;THE LEFT HALF OF THE AC. THE RIGHT HALF OF THE AC IS UNAFFECTED
2946 ;IN THIS CASE, C(AC)=-1,,0 AND C(E)=0. HENCE, THE RESULT IN THE AC
2947 ;SHOULD BE 0. THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES.
2948
2949 032046 205 00 0 00 777777 B34400: MOVSI -1 ;PRELOAD AC WITH -1,,0
2950 032047 504 00 0 00 034014 HRL [0] ;*HRL SHOULD PLACE 0 INTO THE AC
2951 032050 302 00 0 00 000000 CAIE 0 ;PASS IF C(AC)=0
2952 STOP^
2953 032051 254 04 0 00 032052 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2954 032052 324 00 0 00 032053 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2955 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2956 ;IN THE SUBTEST) TO LOOP ON ERROR^
2957
2958 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 60
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0086
2959 ;THIS TEST VERIFIES THAT HLR PLACES THE LEFT HALF OF C(E) INTO
2960 ;THE RIGHT HALF OF THE AC. THE LEFT HALF OF THE AC IS UNAFFECTED.
2961 ;IN THIS CASE, C(AC)=-1,,0 AND C(E)=0. HENCE, THE RESULT IN THE AC
2962 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0. IF C(AC)=-1,,0, THIS TEST PASSES.
2963
2964 032053 205 00 0 00 777777 B34500: MOVSI -1 ;PRELOAD AC WITH -1,,0
2965 032054 544 00 0 00 034014 HLR [0] ;*HLR SHOULD PLACE -1,,0 INTO THE AC
2966 032055 312 00 0 00 034013 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0
2967 STOP^
2968 032056 254 04 0 00 032057 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2969 032057 324 00 0 00 032060 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2970 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2971 ;IN THE SUBTEST) TO LOOP ON ERROR^
2972
2973 ;**********
2974
2975 ;THIS TEST VERIFIES THAT HRL PLACES THE RIGHT HALF OF C(E) INTO
2976 ;THE LEFT HALF OF THE AC. THE RIGHT HALF OF THE AC IS UNAFFECTED
2977 ;IN THIS CASE, C(AC)=-1,,0 AND C(E)=-1,,-1. HENCE, THE RESULT IN THE AC
2978 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0. IF C(AC)=-1,,0, THIS TEST PASSES.
2979
2980 032060 205 00 0 00 777777 B34600: MOVSI -1 ;PRELOAD AC WITH -1,,0
2981 032061 504 00 0 00 034012 HRL [-1] ;*HRL SHOULD PLACE -1,,0 INTO THE AC
2982 032062 312 00 0 00 034013 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0
2983 STOP^
2984 032063 254 04 0 00 032064 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2985 032064 324 00 0 00 032065 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2986 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2987 ;IN THE SUBTEST) TO LOOP ON ERROR^
2988
2989 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 61
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0087
2990 ;THIS TEST VERIFIES THAT HLR PLACES THE LEFT HALF OF C(E) INTO
2991 ;THE RIGHT HALF OF THE AC. THE LEFT HALF OF THE AC IS UNAFFECTED.
2992 ;IN THIS CASE, C(AC)=-1,,0 AND C(E)=-1,,-1 HENCE, THE RESULT IN THE AC
2993 ;SHOULD BE -1,,-1. THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES.
2994
2995 032065 205 00 0 00 777777 B34700: MOVSI -1 ;PRELOAD AC WITH -1,,0
2996 032066 544 00 0 00 034012 HLR [-1] ;*HLR SHOULD PLACE -1,,-1 INTO THE AC
2997 032067 312 00 0 00 034012 CAME [-1] ;PASS IF C(AC)=-1,,-1
2998 STOP^
2999 032070 254 04 0 00 032071 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3000 032071 324 00 0 00 032072 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3001 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3002 ;IN THE SUBTEST) TO LOOP ON ERROR^
3003
3004 ;**********
3005
3006 ;THIS TEST VERIFIES THAT HLLM PLACES THE LEFT HALF OF C(AC) INTO
3007 ;THE LEFT HALF OF E. THE RIGHT HALF OF E IS UNAFFECTED.
3008 ;IN THIS CASE, AC=E AND C(AC)= C(E)=0. HENCE, THE RESULT IN E
3009 ;SHOULD BE 0. E IS CHECKED FOR 0. IF C(E)=0, THIS TEXT PASSES.
3010
3011 032072 400 00 0 00 000000 B35000: SETZ ;PRELOAD AC,E WITH 0
3012 032073 502 00 0 00 000000 HLLM ;*HLLM SHOULD PLACE 0 INTO E
3013 032074 332 00 0 00 000000 SKIPE ;PASS IF C(E)=0
3014 STOP^
3015 032075 254 04 0 00 032076 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3016 032076 324 00 0 00 032077 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3017 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3018 ;IN THE SUBTEST) TO LOOP ON ERROR^
3019
3020 ;***** FAILURE ANALYSIS *****
3021 ;C(AC0) C(AC1) FAILING SIGNAL
3022
3023 ;-1,,0 0 FC: AD FM + EN
3024 ;0,,-1 0,,-1 ET0: AD RT BR + EN
3025 ;B35000 0,,-1 ET0: BR AR EN
3026 ;-1,,0 0,,-1 ET0: AD LT AR + EN
3027
3028 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 62
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0088
3029 ;THIS TEST VERIFIES THAT HLLM PLACES THE LEFT HALF OF C(AC) INTO
3030 ;THE LEFT HALF OF E. THE RIGHT HALF OF E IS UNAFFECTED.
3031 ;IN THIS CASE, C(AC)=0 AND C(E)=-1,,-1. HENCE, THE RESULT IN E
3032 ;SHOULD BE 0,,-1. E IS CHECKED FOR 0,,-1. IF C(E)=0,,-1, THIS TEST PASSES.
3033
3034 032077 400 00 0 00 000000 B35500: SETZ ;PRELOAD AC WITH 0
3035 032100 474 01 0 00 000000 SETO 1, ;PRELOAD E WITH -1,,-1
3036 032101 502 00 0 00 000001 HLLM 1 ;*HLLM SHOULD PLACE 0,,-1 INTO E
3037 032102 302 01 0 00 777777 CAIE 1,- 1 ;PASS IF C(E) =0,,-1
3038 STOP^
3039 032103 254 04 0 00 032104 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3040 032104 324 00 0 00 032105 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3041 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3042 ;IN THE SUBTEST) TO LOOP ON ERROR^
3043
3044 ;***** FAILURE ANALYSIS *****
3045 ;C(AC0) C(AC1) FAILING SIGNAL
3046
3047 ;0 -1,,-1 SW: FCE PSE
3048 ;0 0 SW: ET0
3049 ;0 -1,,-1 ET0: AR AD EN
3050 ;0 0 ET2: AR LT AD EN
3051
3052 ;**********
3053
3054 ;THIS TEST VERIFIES THAT HLLM PLACES THE LEFT HALF OF C(AC) INTO
3055 ;THE LEFT HALF OF E. THE RIGHT HALF OF E IS UNAFFECTED.
3056 ;IN THIS CASE, C(AC)=-1,,-1 AND C(E)=0. HENCE, THE RESULT IN E
3057 ;SHOULD BE -1,,0. E IS CHECKED FOR -1,,0. IF C(E)=-1,,0, THIS TEST PASSES
3058
3059 032105 474 00 0 00 000000 B35600: SETO ;PRELOAD AC WITH -1,,-1
3060 032106 400 01 0 00 000000 SETZ 1, ;PRELOAD E WITH 0
3061 032107 502 00 0 00 000001 HLLM 1 ;*HLLM SHOULD PLACE -1,,0 INTO E
3062 032110 312 01 0 00 034013 CAME 1,[XWD -1,0] ;PASS IF C(E) = -1,,0
3063 STOP^
3064 032111 254 04 0 00 032112 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3065 032112 324 00 0 00 032113 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3066 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3067 ;IN THE SUBTEST) TO LOOP ON ERROR^
3068
3069 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 63
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0089
3070 ;THIS TEST VERIFIES THAT HRRM PLACES THE RIGHT HALF OF C(AC) INTO
3071 ;THE RIGHT HALF OF E. THE LEFT HALF OF E IS UNAFFECTED.
3072 ;IN THIS CASE, C(AC)=0 AND C(E)=-1,,-1. HENCE, THE RESULT IN E
3073 ;SHOULD BE -1,,0. E IS CHECKED FOR -1,,0
3074 ;IF C(E) = -1,,0, THIS TEST PASSES.
3075
3076 032113 400 00 0 00 000000 B35700: SETZ ;PRELOAD AC WITH 0
3077 032114 474 01 0 00 000000 SETO 1, ;PRELOAD E WITH -1,,-1
3078 032115 542 00 0 00 000001 HRRM 1 ;*HRRM SHOULD PLACE -1,,0 INTO E
3079 032116 312 01 0 00 034013 CAME 1,[XWD -1,0] ;PASS IF C(E) = -1,,0
3080 STOP^
3081 032117 254 04 0 00 032120 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3082 032120 324 00 0 00 032121 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3083 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3084 ;IN THE SUBTEST) TO LOOP ON ERROR^
3085
3086 ;***** FAILURE ANALYSIS *****
3087 ;C(AC0) C(AC1) FAILING SIGNAL
3088
3089 ;0 -1,,-1 SW: FCE PSE
3090 ;0 0 SW: ET0
3091 ;0 -1,,-1 FC: AD FM + EN
3092 ;-1,,-1 -1,,-1 ET0: AD LT BR + EN
3093 ;0 -1,,-1 ET0: AD RT AR + EN
3094 ;0 0 ET0: BR AR EN
3095 ;0 -1,,-1 ET0: AR AD EN
3096 ;0 0 ET2: AR AD EN
3097
3098 ;**********
3099
3100 ;THIS TEST VERIFIES THAT HRRM PLACES THE RIGHT HALF OF C(AC) INTO
3101 ;THE RIGHT HALF OF E. THE LEFT HALF OF E IS UNAFFECTED.
3102 ;IN THIS CASE, C(AC)=-1,,-1 AND C(E)=0. HENCE, THE RESULT IN E
3103 ;SHOULD BE 0,,-1. E IS CHECKED FOR = 0,,-1
3104 ;IF C(E) = 0,,-1, THIS TEST PASSES.
3105
3106 032121 474 00 0 00 000000 B36000: SETO ;PRELOAD AC WITH -1,,-1
3107 032122 400 01 0 00 000000 SETZ 1, ;PRELOAD E WITH 0
3108 032123 542 00 0 00 000001 HRRM 1 ;*HRRM SHOULD PLACE 0,,-1 INTO E
3109 032124 302 01 0 00 777777 CAIE 1,-1 ;PASS IF C(E) = 0,,-1
3110 STOP^
3111 032125 254 04 0 00 032126 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3112 032126 324 00 0 00 032127 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3113 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3114 ;IN THE SUBTEST) TO LOOP ON ERROR^
3115
3116 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 64
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0090
3117 ;THIS TEST VERIFIES THAT HLLO PLACES THE LEFT HALF OF C(E) INTO
3118 ;THE LEFT HALF OF THE AC AND PLACES ONES INTO THE RIGHT HALF OF THE AC.
3119 ;IN THIS CASE, AC=E AND C(AC)=C(E)=-1,,-1. HENCE THE RESULT IN THE AC
3120 ;SHOULD BE -1,,-1. THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES.
3121
3122 032127 474 00 0 00 000000 B36100: SETO ;PRELOAD AC WITH -1,,-1
3123 032130 520 00 0 00 000000 HLLO ;*HLLO SHOULD PLACE -1,,-1 INTO THE AC
3124 032131 312 00 0 00 034012 CAME [-1] ;PASS OF C(AC)=-1,,-1
3125 STOP^
3126 032132 254 04 0 00 032133 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3127 032133 324 00 0 00 032134 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3128 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3129 ;IN THE SUBTEST) TO LOOP ON ERROR^
3130
3131 ;***** FAILURE ANALYSIS *****
3132 ;C(AC0) C(AC1) FAILING SIGNAL
3133
3134 ;0,,-1 SW: FCE
3135
3136 ;**********
3137
3138 ;THIS TEST VERIFIES THAT HLLO PLACES THE LEFT HALF OF C(E) INTO
3139 ;THE LEFT HALF OF THE AC AND PLACES ONES INTO THE RIGHT HALF OF THE AC.
3140 ;IN THIS CASE, C(AC)=0 AND C(E)=0,,-1. HENCE THE RESULT IN THE AC
3141 ;SHOULD BE 0,,-1. THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST PASSES.
3142
3143 032134 400 00 0 00 000000 B36200: SETZ ;PRELOAD AC WITH 0
3144 032135 520 00 0 00 034015 HLLO [XWD 0,-1] ;*HLLO SHOULD PLACE 0,,-1 INTO THE AC
3145 032136 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC)=0,,-1
3146 STOP^
3147 032137 254 04 0 00 032140 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3148 032140 324 00 0 00 032141 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3149 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3150 ;IN THE SUBTEST) TO LOOP ON ERROR^
3151
3152 ;***** FAILURE ANALYSIS *****
3153 ;C(AC0) C(AC1) FAILING SIGNAL
3154
3155 ;-1,,-1 FC: AD LT AR + EN
3156
3157 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 65
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0091
3158 ;THIS TEST VERIFIES THAT HRRO PLACES THE RIGHT HALF OF C(E) INTO
3159 ;THE RIGHT HALF OF THE AC AND PLACES ONES INTO THE LEFT HALF OF THE AC.
3160 ;IN THIS CASE, AC=E AND C(AC)=C(E)=-1,,-1. HENCE, THE RESULT IN THE AC
3161 ;SHOULD BE -1,,-1. THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES.
3162
3163 032141 474 00 0 00 000000 B36300: SETO ;PRELOAD AC,E WITH -1,,-1
3164 032142 560 00 0 00 000000 HRRO ;*HRRO SHOULD PLACE -1,,-1 INTO THE AC
3165 032143 312 00 0 00 034012 CAME [-1] ;PASS IF C(AC)=-1,,-1
3166 STOP^
3167 032144 254 04 0 00 032145 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3168 032145 324 00 0 00 032146 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3169 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3170 ;IN THE SUBTEST) TO LOOP ON ERROR^
3171
3172 ;***** FAILURE ANALYSIS *****
3173 ;C(AC0) C(AC1) FAILING SIGNAL
3174
3175 ;-1,,0 SW: FCE
3176
3177 ;**********
3178
3179 ;THIS TEST VERIFIES THAT HRRO PLACES THE RIGHT HALF OF C(E) INTO
3180 ;THE RIGHT HALF OF THE AC AND PLACES ONES INTO THE LEFT HALF OF THE AC.
3181 ;IN THIS CASE, C(AC)=0 AND C(E)=-1,,0. HENCE, THE RESULT IN THE AC
3182 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0. IF C(AC)=-1,,0, THIS TEST PASSES.
3183
3184 032146 400 00 0 00 000000 B36400: SETZ ;PRELOAD AC WITH 0
3185 032147 560 00 0 00 034013 HRRO [XWD -1,0] ;*HRRO SHOULD PLACE -1,,0 INTO THE AC
3186 032150 312 00 0 00 034013 CAME [-1,,0] ;PASS IF C(AC)=-1,,0
3187 STOP^
3188 032151 254 04 0 00 032152 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3189 032152 324 00 0 00 032153 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3190 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3191 ;IN THE SUBTEST) TO LOOP ON ERROR^
3192
3193 ;***** FAILURE ANALYSIS *****
3194 ;C(AC0) C(AC1) FAILING SIGNAL
3195
3196 ;-1,,-1 FC: AD RT AR + EN
3197
3198 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 66
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0092
3199 ;THIS TEST VERIFIES THAT HLLO PLACES THE LEFT HALF OF C(E) INTO
3200 ;THE LEFT HALF OF THE AC AND PLACES ONES INTO THE RIGHT HALF OF THE AC.
3201 ;IN THIS CASE, C(AC)=0 AND C(E)=0. HENCE THE RESULT IN THE AC
3202 ;SHOULD BE 0,,-1. THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST PASSES.
3203
3204 032153 400 00 0 00 000000 B36500: SETZ ;PRELOAD AC WITH 0
3205 032154 520 00 0 00 034014 HLLO [0] ;*HLLO SHOULD PLACE 0,,-1 INTO THE AC
3206 032155 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC)=0,,-1
3207 STOP^
3208 032156 254 04 0 00 032157 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3209 032157 324 00 0 00 032160 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3210 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3211 ;IN THE SUBTEST) TO LOOP ON ERROR^
3212
3213 ;***** FAILURE ANALYSIS *****
3214 ;C(AC0) C(AC1) FAILING SIGNAL
3215
3216 ;0 ET2: AR LT AD EN
3217
3218 ;**********
3219
3220 ;THIS TEST VERIFIES THAT HRRO PLACES THE RIGHT HALF OF C(E) INTO
3221 ;THE RIGHT HALF OF THE AC AND PLACES ONES INTO THE LEFT HALF OF THE AC.
3222 ;IN THIS CASE, C(AC)=0 AND C(E)=0. HENCE, THE RESULT IN THE AC
3223 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0. IF C(AC)=-1,,0, THIS TEST PASSES.
3224
3225 032160 400 00 0 00 000000 B36600: SETZ ;PRELOAD AC WITH 0
3226 032161 560 00 0 00 034014 HRRO [0] ;*HRRO SHOULD PLACE -1,,0 INTO THE AC
3227 032162 312 00 0 00 034013 CAME [-1,,0] ;PASS IF C(AC)=-1,,0
3228 STOP^
3229 032163 254 04 0 00 032164 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3230 032164 324 00 0 00 032165 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3231 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3232 ;IN THE SUBTEST) TO LOOP ON ERROR^
3233
3234 ;***** FAILURE ANALYSIS *****
3235 ;C(AC0) C(AC1) FAILING SIGNAL
3236
3237 ;0 ET2: AR AD EN
3238
3239 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 67
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0093
3240 ;THIS TEST VERIFIES THAT HLLOI ALWAYS PLACES 0,,-1 INTO THE AC.
3241 ;IN THIS CASE, C(AC)=0 AND E=0.
3242 ;THE RESULT IN THE AC SHOULD BE 0,,-1.
3243 ;THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST PASSES
3244
3245 032165 400 00 0 00 000000 B37100: SETZ ;PRELOAD AC WITH 0
3246 032166 521 00 0 00 000000 HLLOI ;*HLLOI SHOULD PLACE 0,,-1 INTO THE AC
3247 032167 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC)=0,,-1
3248 STOP^
3249 032170 254 04 0 00 032171 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3250 032171 324 00 0 00 032172 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3251 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3252 ;IN THE SUBTEST) TO LOOP ON ERROR^
3253
3254 ;***** FAILURE ANALYSIS *****
3255 ;C(AC0) C(AC1) FAILING SIGNAL
3256
3257 ;-1,,-1 FC: AD LT AR + EN
3258 ;0 ET2: AR AD EN
3259
3260 ;**********
3261
3262 ;THIS TEST VERIFIES THAT HRROI PLACES E INTO THE RIGHT HALF OF THE AC
3263 ;AND PLACES ONES INTO THE LEFT HALF OF THE AC.
3264 ;IN THIS CASE, C(AC)=0 AND E=0. HENCE, THE RESULT IN THE AC
3265 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0. IF C(AC)=-1, THIS TEST PASSES
3266
3267 032172 400 00 0 00 000000 B37200: SETZ ;PRELOAD AC WITH 0
3268 032173 561 00 0 00 000000 HRROI ;*HRROI SHOULD PLACE -1,,0 INTO THE AC
3269 032174 312 00 0 00 034013 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0
3270 STOP^
3271 032175 254 04 0 00 032176 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3272 032176 324 00 0 00 032177 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3273 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3274 ;IN THE SUBTEST) TO LOOP ON ERROR^
3275
3276 ;***** FAILURE ANALYSIS *****
3277 ;C(AC0) C(AC1) FAILING SIGNAL
3278
3279 ;-1,,-1 FC: AD RT AR + EN
3280 ;0 ET2: AR AD EN
3281
3282 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 68
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0094
3283 ;THIS TEST VERIFIES THAT HLLO PLACES THE LEFT HALF OF C(E) INTO
3284 ;THE LEFT HALF OF THE AC AND PLACES ONES INTO THE RIGHT HALF OF THE AC.
3285 ;IN THIS CASE, C(AC)=0 AND C(E)=-1,,0. HENCE THE RESULT IN THE AC
3286 ;SHOULD BE -1,,-1. THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES.
3287
3288 032177 400 00 0 00 000000 B37300: SETZ ;PRELOAD AC WITH 0
3289 032200 520 00 0 00 034013 HLLO [XWD -1,0] ;*HLLO SHOULD PLACE -1,,-1 INTO THE AC
3290 032201 312 00 0 00 034012 CAME [-1] ;PASS IF C(AC)=-1,,-1
3291 STOP^
3292 032202 254 04 0 00 032203 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3293 032203 324 00 0 00 032204 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3294 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3295 ;IN THE SUBTEST) TO LOOP ON ERROR^
3296
3297 ;**********
3298
3299 ;THIS TEST VERIFIES THAT HRROI PLACES E INTO THE RIGHT HALF OF THE AC
3300 ;AND PLACES ONES INTO THE LEFT HALF OF THE AC.
3301 ;IN THIS CASE, C(AC)=0 AND E=0,,-1. HENCE, THE RESULT IN THE AC
3302 ;SHOULD BE -1,,-1. THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES
3303
3304 032204 400 00 0 00 000000 B37400: SETZ ;PRELOAD AC WITH 0
3305 032205 561 00 0 00 777777 HRROI -1 ;*HRRIO SHOULD PLACE -1,,-1 INTO THE AC
3306 032206 312 00 0 00 034012 CAME [-1] ;PASS IF C(AC)=-1,,-1
3307 STOP^
3308 032207 254 04 0 00 032210 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3309 032210 324 00 0 00 032211 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3310 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3311 ;IN THE SUBTEST) TO LOOP ON ERROR^
3312
3313 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 69
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0095
3314 ;THIS TEST VERIFIES THAT HLLOI ALWAYS PLACES 0,,-1 INTO THE AC.
3315 ;IN THIS CASE, C(AC)=0 AND E=0.
3316 ;THE RESULT IN THE AC SHOULD BE 0,,-1.
3317 ;THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST PASSES
3318
3319 032211 474 00 0 00 000000 B37500: SETO ;PRELOAD AC WITH -1,,-1
3320 032212 521 00 0 00 000000 HLLOI ;*HLLOI SHOULD PLACE 0,,-1 INTO THE AC
3321 032213 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC)=0,,-1
3322 STOP^
3323 032214 254 04 0 00 032215 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3324 032215 324 00 0 00 032216 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3325 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3326 ;IN THE SUBTEST) TO LOOP ON ERROR^
3327
3328 ;**********
3329
3330 ;THIS TEST VERIFIES THAT HRROI PLACES E INTO THE RIGHT HALF OF THE AC
3331 ;AND PLACES ONES INTO THE LEFT HALF OF THE AC.
3332 ;IN THIS CASE, C(AC)=0 AND E=0. HENCE, THE RESULT IN THE AC
3333 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0. IF C(AC)=-1,,0, THIS TEST PASSES
3334
3335 032216 474 00 0 00 000000 B37600: SETO ;PRELOAD AC WITH -1,,-1
3336 032217 561 00 0 00 000000 HRROI ;*HRRIO SHOULD PLACE -1,,0 INTO THE AC
3337 032220 312 00 0 00 034013 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0
3338 STOP^
3339 032221 254 04 0 00 032222 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3340 032222 324 00 0 00 032223 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3341 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3342 ;IN THE SUBTEST) TO LOOP ON ERROR^
3343
3344 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 70
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0096
3345 ;THIS TEST VERIFIES THAT HLLO PLACES THE LEFT HALF OF C(E) INTO
3346 ;THE LEFT HALF OF THE AC AND PLACES ONES INTO THE RIGHT HALF OF THE AC.
3347 ;IN THIS CASE, C(AC)=-1,,-1 AND C(E)=-1,,0. HENCE THE RESULT IN THE AC
3348 ;SHOULD BE -1,,-1. THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES.
3349
3350 032223 474 00 0 00 000000 B37700: SETO ;PRELOAD AC WITH -1,,-1
3351 032224 520 00 0 00 034013 HLLO [XWD -1,0] ;*HLLO SHOULD PLACE -1,,-1 INTO THE AC
3352 032225 312 00 0 00 034012 CAME [-1] ;PASS IF C(AC)=-1,,-1
3353 STOP^
3354 032226 254 04 0 00 032227 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3355 032227 324 00 0 00 032230 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3356 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3357 ;IN THE SUBTEST) TO LOOP ON ERROR^
3358
3359 ;**********
3360
3361 ;THIS TEST VERIFIES THAT HRROI PLACES E INTO THE RIGHT HALF OF THE AC
3362 ;AND PLACES ONES INTO THE LEFT HALF OF THE AC.
3363 ;IN THIS CASE, C(AC)=-1,,-1 AND E=0,,-1. HENCE, THE RESULT IN THE AC
3364 ;SHOULD BE -1,,-1. THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES
3365
3366 032230 474 00 0 00 000000 B40000: SETO ;PRELOAD AC WITH -1,,-1
3367 032231 561 00 0 00 777777 HRROI -1 ;*HRRIO SHOULD PLACE -1,,-1 INTO THE AC
3368 032232 312 00 0 00 034012 CAME [-1] ;PASS IF C(AC)=-1,,-1
3369 STOP^
3370 032233 254 04 0 00 032234 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3371 032234 324 00 0 00 032235 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3372 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3373 ;IN THE SUBTEST) TO LOOP ON ERROR^
3374
3375 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 71
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0097
3376 ;THIS TEST VERIFIES THAT HRROI PLACES E INTO THE RIGHT HALF OF THE AC
3377 ;AND PLACES ONES INTO THE LEFT HALF OF THE AC.
3378 ;IN THIS CASE, C(AC)=0,,-1 AND E=0. HENCE, THE RESULT IN THE AC
3379 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0. IF C(AC)=-1,,0, THIS TEST PASSES
3380
3381 032235 201 00 0 00 777777 B40100: MOVEI -1 ;PRELOAD AC WITH 0,,-1
3382 032236 561 00 0 00 000000 HRROI ;*HRRIO SHOULD PLACE -1,,0 INTO THE AC
3383 032237 312 00 0 00 034013 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0
3384 STOP^
3385 032240 254 04 0 00 032241 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3386 032241 324 00 0 00 032242 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3387 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3388 ;IN THE SUBTEST) TO LOOP ON ERROR^
3389
3390 ;**********
3391
3392 ;THIS TEST VERIFIES THAT HLLO PLACES THE LEFT HALF OF C(E) INTO
3393 ;THE LEFT HALF OF THE AC AND PLACES ONES INTO THE RIGHT HALF OF THE AC.
3394 ;IN THIS CASE, C(AC)=-1,,0 AND C(E)=0,,-1. HENCE THE RESULT IN THE AC
3395 ;SHOULD BE 0,,-1. THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST PASSES.
3396
3397 032242 205 00 0 00 777777 B40200: MOVSI -1 ;PRELOAD AC WITH -1,,0
3398 032243 520 00 0 00 034015 HLLO [XWD 0,-1] ;*HLLO SHOULD PLACE 0,,-1 INTO THE AC
3399 032244 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC)=0,,-1
3400 STOP^
3401 032245 254 04 0 00 032246 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3402 032246 324 00 0 00 032247 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3403 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3404 ;IN THE SUBTEST) TO LOOP ON ERROR^
3405
3406 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 72
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0098
3407 ;THIS TEST VERIFIES THAT HRLZ PLACES THE RIGHT HALF OF C(E)
3408 ;INTO THE LEFT HALF OF THE AC.
3409 ;AND PLACES ZEROS INTO THE RIGHT HALF OF THE AC.
3410 ;IN THIS CASE, AC=E AND C(AC)=C(E)=0. HENCE, THE FINAL RESULT IN THE AC
3411 ;SHOULD BE 0. THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES.
3412
3413 032247 400 00 0 00 000000 B40300: SETZ ;PRELOAD AC WITH 0
3414 032250 514 00 0 00 000000 HRLZ ;*HRLZ SHOULD PLACE 0 INTO THE AC
3415 032251 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
3416 STOP^
3417 032252 254 04 0 00 032253 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3418 032253 324 00 0 00 032254 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3419 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3420 ;IN THE SUBTEST) TO LOOP ON ERROR^
3421
3422 ;**********
3423
3424 ;THIS TEST VERIFIES THAT HLRZ PLACES THE LEFT HALF OF C(E)
3425 ;INTO THE RIGHT HALF OF THE AC
3426 ;AND PLACES ZEROS INTO THE LEFT HALF OF THE AC.
3427 ;IN THIS CASE, AC=E AND C(AC)=C(E)=0. HENCE, THE RESULT IN THE AC
3428 ;SHOULD BE 0. THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES.
3429
3430 032254 400 00 0 00 000000 B40400: SETZ ;PRELOAD AC WITH 0
3431 032255 554 00 0 00 000000 HLRZ ;*HLRZ SHOULD PLACE 0 INTO THE AC
3432 032256 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
3433 STOP^
3434 032257 254 04 0 00 032260 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3435 032260 324 00 0 00 032261 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3436 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3437 ;IN THE SUBTEST) TO LOOP ON ERROR^
3438
3439 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 73
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0099
3440 ;THIS TEST VERIFIES THAT HRLZI PLACES E INTO THE LEFT HALF OF THE AC
3441 ;AND PLACES ZEROS INTO THE RIGHT HALF OF THE AC.
3442 ;IN THIS CASE, C(AC)=0 AND E=0,,-1. HENCE THE RESULT IN THE AC
3443 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0
3444 ;IF C(AC)=-1,,0, THIS TEST PASSES.
3445
3446 032261 400 00 0 00 000000 B40700: SETZ ;PRELOAD AC WITH 0
3447 032262 515 00 0 00 777777 HRLZI -1 ;*HRLZI SHOULD PLACE -1,,0 INTO THE AC
3448 032263 312 00 0 00 034013 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0.
3449 STOP^
3450 032264 254 04 0 00 032265 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3451 032265 324 00 0 00 032266 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3452 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3453 ;IN THE SUBTEST) TO LOOP ON ERROR^
3454
3455 ;***** FAILURE ANALYSIS *****
3456 ;C(AC0) C(AC1) FAILING SIGNAL
3457
3458 ;0 ET2: AR LT AR RT EN
3459
3460 ;**********
3461
3462 ;THIS TEST VERIFIES THAT HLRZ PLACES THE LEFT HALF OF C(E)
3463 ;INTO THE RIGHT HALF OF THE AC
3464 ;AND PLACES ZEROS INTO THE LEFT HALF OF THE AC.
3465 ;IN THIS CASE, C(AC)=0 AND C(E)=-1,,0. HENCE, THE RESULT IN THE AC
3466 ;SHOULD BE 0,,-1. THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST PASSES.
3467
3468 032266 400 00 0 00 000000 B41000: SETZ ;PRELOAD AC WITH 0
3469 032267 554 00 0 00 034013 HLRZ [XWD -1,0] ;*HLRZ SHOULD PLACE 0,,-1 INTO THE AC
3470 032270 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC)=0,,-1
3471 STOP^
3472 032271 254 04 0 00 032272 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3473 032272 324 00 0 00 032273 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3474 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3475 ;IN THE SUBTEST) TO LOOP ON ERROR^
3476
3477 ;***** FAILURE ANALYSIS *****
3478 ;C(AC0) C(AC1) FAILING SIGNAL
3479
3480 ;0 SW: FCE
3481 ;-1,,0 ET2: AR RT AR LT EN
3482
3483 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 74
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0100
3484 ;THIS TEST VERIFIES THAT HRLZI PLACES E INTO THE LEFT HALF OF THE AC
3485 ;AND PLACES ZEROS INTO THE RIGHT HALF OF THE AC.
3486 ;IN THIS CASE, C(AC)=-1,,-1 AND E=0,,-1. HENCE THE RESULT IN THE AC
3487 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0.
3488 ;IF C(AC)=-1,,0, THIS TEST PASSES.
3489
3490 032273 474 00 0 00 000000 B41100: SETO ;PRELOAD AC WITH -1,,-1
3491 032274 515 00 0 00 777777 HRLZI -1 ;*HRLZI SHOULD PLACE -1,,0 INTO THE AC
3492 032275 312 00 0 00 034013 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0.
3493 STOP^
3494 032276 254 04 0 00 032277 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3495 032277 324 00 0 00 032300 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3496 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3497 ;IN THE SUBTEST) TO LOOP ON ERROR^
3498
3499 ;**********
3500
3501 ;THIS TEST VERIFIES THAT HLRZ PLACES THE LEFT HALF OF C(E)
3502 ;INTO THE RIGHT HALF OF THE AC
3503 ;AND PLACES ZEROS INTO THE LEFT HALF OF THE AC.
3504 ;IN THIS CASE, C(AC)=-1,,-1 AND C(E)=-1,,0. HENCE, THE RESULT IN THE AC
3505 ;SHOULD BE 0,,-1. THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST PASSES.
3506
3507 032300 474 00 0 00 000000 B41200: SETO ;PRELOAD AC WITH -1,,-1
3508 032301 554 00 0 00 034013 HLRZ [XWD -1,0] ;*HLRZ SHOULD PLACE 0,,-1 INTO THE AC
3509 032302 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC)=0,,-1
3510 STOP^
3511 032303 254 04 0 00 032304 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3512 032304 324 00 0 00 032305 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3513 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3514 ;IN THE SUBTEST) TO LOOP ON ERROR^
3515
3516 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 75
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0101
3517 ;THIS TEST VERIFIES THAT HLLE PLACES THE LEFT HALF OF C(E)
3518 ;INTO THE LEFT HALF OF THE AC
3519 ;AND PLACES BIT 0 OF C(E) INTO ALL BITS OF THE RIGHT HALF OF THE AC.
3520 ;IN THIS CASE, AC=E AND C(AC)=C(E)=0. HENCE, THE RESULT IN THE AC SHOULD BE 0
3521 ;THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES
3522
3523 032305 400 00 0 00 000000 B41500: SETZ ;PRELOAD AC WITH 0
3524 032306 530 00 0 00 000000 HLLE ;*HLLE SHOULD PLACE 0 INTO THE AC
3525 032307 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
3526 STOP^
3527 032310 254 04 0 00 032311 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3528 032311 324 00 0 00 032312 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3529 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3530 ;IN THE SUBTEST) TO LOOP ON ERROR^
3531
3532 ;***** FAILURE ANALYSIS *****
3533 ;C(AC0) C(AC1) FAILING SIGNAL
3534
3535 ;-1,,0 FC: AD LT AR + EN
3536
3537 ;**********
3538
3539 ;THIS TEST VERIFIES THAT HLLE PLACES THE LEFT HALF OF C(E)
3540 ;INTO THE LEFT HALF OF THE AC
3541 ;AND PLACES BIT 0 OF C(E) INTO ALL BITS OF THE RIGHT HALF OF THE AC.
3542 ;IN THIS CASE C(AC)=0 AND C(E)=-1,,-1. HENCE, THE RESULT IN THE AC SHOULD BE -1,,-1
3543 ;THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES
3544
3545 032312 400 00 0 00 000000 B41600: SETZ ;PRELOAD AC WITH 0
3546 032313 530 00 0 00 034012 HLLE [-1] ;*HLLE SHOULD PLACE -1,,-1 INTO THE AC
3547 032314 312 00 0 00 034012 CAME [XWD -1,-1] ;PASS IF C(AC)=-1,,-1
3548 STOP^
3549 032315 254 04 0 00 032316 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3550 032316 324 00 0 00 032317 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3551 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3552 ;IN THE SUBTEST) TO LOOP ON ERROR^
3553
3554 ;***** FAILURE ANALYSIS *****
3555 ;C(AC0) C(AC1) FAILING SIGNAL
3556
3557 ;0 SW: FCE
3558 ;-1,,-1 ET2: AR LT AD EN
3559 ;-1,,0 ET2: AR0(1): AR RT AD EN
3560
3561 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 76
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0102
3562 ;THIS TEST VERIFIES THAT HRRE PLACES THE RIGHT HALF OF C(E)
3563 ;INTO THE RIGHT HALF OF THE AC.
3564 ;AND PLACES BIT 18 OF C(E) INTO ALL BITS OF THE LEFT HALF OF THE AC.
3565 ;IN THIS CASE C(AC)=0 AND C(E)=-1,,-1. HENCE, THE RESULT IN THE AC SHOULD BE -1,,-1.
3566 ;THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES.
3567
3568 032317 400 00 0 00 000000 B42000: SETZ ;PRELOAD AC WITH 0
3569 032320 570 00 0 00 034012 HRRE [-1] ;*HRRE SHOULD PLACE -1,,-1 INTO THE AC
3570 032321 312 00 0 00 034012 CAME [-1,,-1] ;PASS IF C(AC)=-1,,-1
3571 STOP^
3572 032322 254 04 0 00 032323 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3573 032323 324 00 0 00 032324 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3574 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3575 ;IN THE SUBTEST) TO LOOP ON ERROR^
3576
3577 ;**********
3578
3579 ;THIS TEST VERIFIES THAT HLLE PLACES THE LEFT HALF OF C(E)
3580 ;INTO THE LEFT HALF OF THE AC
3581 ;AND PLACES BIT 0 OF C(E) INTO ALL BITS OF THE RIGHT HALF OF THE AC.
3582 ;IN THIS CASE C(AC)=0 AND C(E)=-1,,0. HENCE, THE RESULT IN THE AC SHOULD BE -1,,-1
3583 ;THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES
3584
3585 032324 400 00 0 00 000000 B42200: SETZ ;PRELOAD AC WITH 0
3586 032325 530 00 0 00 034013 HLLE [XWD -1,0] ;*HLLE SHOULD PLACE -1,,-1 INTO THE AC
3587 032326 312 00 0 00 034012 CAME [-1] ;PASS IF C(AC)=-1,,-1
3588 STOP^
3589 032327 254 04 0 00 032330 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3590 032330 324 00 0 00 032331 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3591 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3592 ;IN THE SUBTEST) TO LOOP ON ERROR^
3593
3594 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 77
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0103
3595 ;THIS TEST VERIFIES THAT HRRE PLACES THE RIGHT HALF OF C(E)
3596 ;INTO THE RIGHT HALF OF THE AC.
3597 ;AND PLACES BIT 18 OF C(E) INTO ALL BITS OF THE LEFT HALF OF THE AC.
3598 ;IN THIS CASE, AC=E AND C(AC)=C(E)=0. HENCE, THE RESULT IN THE AC SHOULD BE 0.
3599 ;THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES.
3600
3601 032331 400 00 0 00 000000 B42300: SETZ ;PRELOAD AC,E WITH 0
3602 032332 570 00 0 00 000000 HRRE ;*HRRE SHOULD PLACE 0 INTO THE AC
3603 032333 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
3604 STOP^
3605 032334 254 04 0 00 032335 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3606 032335 324 00 0 00 032336 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3607 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3608 ;IN THE SUBTEST) TO LOOP ON ERROR^
3609
3610 ;***** FAILURE ANALYSIS *****
3611 ;C(AC0) C(AC1) FAILING SIGNAL
3612
3613 ;E SW: FCE
3614 ;-1,,0 ET2: AR RT AD EN
3615 ;0,,-1 ET2: AR18(1): AR LT AD EN
3616 ;0,,-1 FC: AR RT AR + EN
3617
3618 ;**********
3619
3620 ;THIS TEST VERIFIES THAT HRRE PLACES THE RIGHT HALF OF C(E)
3621 ;INTO THE RIGHT HALF OF THE AC.
3622 ;AND PLACES BIT 18 OF C(E) INTO ALL BITS OF THE LEFT HALF OF THE AC.
3623 ;IN THIS CASE C(AC)=0 AND C(E)=-1,,0. HENCE, THE RESULT IN THE AC SHOULD BE 0.
3624 ;THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES.
3625
3626 032336 400 00 0 00 000000 B42500: SETZ ;PRELOAD AC WITH 0
3627 032337 570 00 0 00 034013 HRRE [XWD -1,0] ;*HRRE SHOULD PLACE 0 INTO THE AC
3628 032340 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
3629 STOP^
3630 032341 254 04 0 00 032342 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3631 032342 324 00 0 00 032343 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3632 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3633 ;IN THE SUBTEST) TO LOOP ON ERROR^
3634
3635 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 78
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0104
3636 ;THIS TEST VERIFIES THAT HRREI PLACES E INTO THE RIGHT HALF OF THE AC
3637 ;AND PLACES THE LEFTMOST BIT OF E INTO ALL BITS OF THE LEFT HALF OF THE AC
3638 ;IN THIS CASE, C(AC)=0 AND E=0,,-1. HENCE, THE RESULT IN THE AC SHOULD BE -1,,-1.
3639 ;THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES.
3640
3641 032343 400 00 0 00 000000 B42700: SETZ ;PRELOAD AC WITH 0
3642 032344 571 00 0 00 777777 HRREI -1 ;*HRREI SHOULD PLACE -1,,-1 INTO THE AC
3643 032345 312 00 0 00 034012 CAME [-1] ;PASS IF C(AC)=-1,,-1
3644 STOP^
3645 032346 254 04 0 00 032347 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3646 032347 324 00 0 00 032350 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3647 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3648 ;IN THE SUBTEST) TO LOOP ON ERROR^
3649
3650 ;***** FAILURE ANALYSIS *****
3651 ;C(AC0) C(AC1) FAILING SIGNAL
3652
3653 ;-1,,0 ET2: AR RT AD EN
3654 ;0,,-1 ET2: AR18(1): AR LT AD EN
3655
3656 ;**********
3657
3658 ;THIS TEST VERIFIES THAT HLLEI ALWAYS CLEARS THE AC.
3659 ;IN THIS CASE, C(AC)=-1,,-1 AND E=0,,-1.
3660 ;THE RESULT IN THE AC SHOULD BE 0
3661 ;THE AC IS CHECKED FOR 0.
3662 ;IF C(AC)=0, THIS TEST PASSES.
3663
3664 032350 474 00 0 00 000000 B43000: SETO ;PRELOAD AC WITH -1,,-1
3665 032351 531 00 0 00 777777 HLLEI -1 ;*HLLEI SHOULD CLEAR THE AC
3666 032352 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
3667 STOP^
3668 032353 254 04 0 00 032354 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3669 032354 324 00 0 00 032355 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3670 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3671 ;IN THE SUBTEST) TO LOOP ON ERROR^
3672
3673 ;***** FAILURE ANALYSIS *****
3674 ;C(AC0) C(AC1) FAILING SIGNAL
3675
3676 ;-1,,0 FC: AD LT AR + EN
3677 ;0,,-1 ET2: AR LT AD EN
3678
3679 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 79
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0105
3680 ;THIS TEST VERIFIES THAT HLLEI ALWAYS CLEARS THE AC.
3681 ;IN THIS CASE, C(AC)=-1,,-1 AND E=0,,400000.
3682 ;THE RESULT IN THE AC SHOULD BE 0
3683 ;THE AC IS CHECKED FOR 0.
3684 ;IF C(AC) = ZERO, THIS TEST PASSES.
3685
3686 032355 474 00 0 00 000000 B43100: SETO ;PRELOAD AC WITH -1,,-1
3687 032356 531 00 0 00 400000 HLLEI 400000 ;*HLLEI SHOULD CLEAR THE AC
3688 032357 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0.
3689 STOP^
3690 032360 254 04 0 00 032361 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3691 032361 324 00 0 00 032362 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3692 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3693 ;IN THE SUBTEST) TO LOOP ON ERROR^
3694
3695 ;**********
3696
3697 ;THIS TEST VERIFIES THAT HRLE PLACES THE RIGHT HALF OF C(E)
3698 ;INTO THE LEFT HALF OF THE AC
3699 ;AND PLACES BIT 18 OF C(E) INTO ALL BITS OF THE RIGHT HALF OF THE AC.
3700 ;IN THIS CASE, C(AC)=0 AND C(E)=0. HENCE, THE RESULT IN THE AC SHOULD BE 0.
3701 ;THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST FAILS
3702
3703 032362 400 00 0 00 000000 B43400: SETZ ;PRELOAD AC WITH 0
3704 032363 534 00 0 00 000000 HRLE ;*HRLE SHOULD PLACE 0 INTO THE AC
3705 032364 332 00 0 00 000000 SKIPE ;FAIL IF C(AC)=0,,-1
3706 STOP^
3707 032365 254 04 0 00 032366 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3708 032366 324 00 0 00 032367 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3709 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3710 ;IN THE SUBTEST) TO LOOP ON ERROR^
3711
3712 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 80
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0106
3713 ;THIS TEST VERIFIES THAT HRLEI PLACES E INTO THE LEFT HALF OF THE AC
3714 ;AND PLACES THE LEFTMOST BIT OF E INTO ALL BITS OF THE RIGHT HALF OF THE AC
3715 ;IN THIS CASE, C(AC)=0 AND E=0,,-1. HENCE, THE RESULT IN THE AC SHOULD -1,,-1
3716 ;THE AC IS CHECKED FOR -1,,-1. IF C(AC)=1,,-1, THIS TEST PASSES.
3717
3718 032367 400 00 0 00 000000 B43500: SETZ ;PRELOAD AC WITH 0
3719 032370 535 00 0 00 777777 HRLEI -1 ;*HRLEI SHOULD PLACE -1,,-1 INTO THE AC
3720 032371 312 00 0 00 034012 CAME [XWD -1,-1] ;PASS IF C(AC)=-1,,-1
3721 STOP^
3722 032372 254 04 0 00 032373 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3723 032373 324 00 0 00 032374 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3724 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3725 ;IN THE SUBTEST) TO LOOP ON ERROR^
3726
3727 ;***** FAILURE ANALYSIS *****
3728 ;C(AC0) C(AC1) FAILING SIGNAL
3729
3730 ;-1,,0 ET2: AR LT AR RT EN
3731 ;-1,,0 ET2: AR 18(1): AR RT AD EN
3732
3733 ;**********
3734
3735 ;THIS TEST VERIFIES THAT HRLE PLACES THE RIGHT HALF OF C(E)
3736 ;INTO THE LEFT HALF OF THE AC
3737 ;AND PLACES BIT 18 OF C(E) INTO ALL BITS OF THE RIGHT HALF OF THE AC.
3738 ;IN THIS CASE, C(AC)=0 AND C(E)=0. HENCE, THE RESULT IN THE AC SHOULD BE 0.
3739 ;THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST FAILS
3740
3741 032374 534 00 0 00 034014 B43600: HRLE [0] ;*HRLE SHOULD PLACE 0 INTO THE AC
3742 032375 332 00 0 00 000000 SKIPE ;FAIL IF C(AC)=0,,-1
3743 STOP^
3744 032376 254 04 0 00 032377 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3745 032377 324 00 0 00 032400 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3746 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3747 ;IN THE SUBTEST) TO LOOP ON ERROR^
3748
3749 ;***** FAILURE ANALYSIS *****
3750 ;C(AC0) C(AC1) FAILING SIGNAL
3751
3752 ;E,,0 SW: FCE
3753
3754 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 81
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0107
3755 ;THIS TEST VERIFIES THAT HRLE PLACES THE RIGHT HALF OF C(E)
3756 ;INTO THE LEFT HALF OF THE AC
3757 ;AND PLACES BIT 18 OF C(E) INTO ALL BITS OF THE RIGHT HALF OF THE AC.
3758 ;IN THIS CASE, C(AC)=0 AND C(E)=0. HENCE, THE RESULT IN THE AC SHOULD BE 0.
3759 ;THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST FAILS
3760
3761 032400 534 00 0 00 034012 B43700: HRLE [-1] ;PRELOAD AC WITH 0
3762 032401 312 00 0 00 034012 CAME [-1] ;*HRLE SHOULD PLACE 0 INTO THE AC
3763 STOP ^;FAIL IF C(AC)=0,,-1
3764
3765 032402 254 04 0 00 032403 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3766 032403 324 00 0 00 032404 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3767 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3768 ;IN THE SUBTEST) TO LOOP ON ERROR
3769
3770 ;***** FAILURE ANALYSIS *****
3771 ;C(AC0) C(AC1) FAILING SIGNAL
3772
3773 ;-1,,0 ET2: AR LT AR RT EN
3774 ;-1,,0 ET2: AR18(1): AR RT AD EN
3775
3776 ;**********
3777
3778 ;THIS TEST VERIFIES THAT HRLE PLACES THE RIGHT HALF OF C(E)
3779 ;INTO THE LEFT HALF OF THE AC
3780 ;AND PLACES BIT 18 OF C(E) INTO ALL BITS OF THE RIGHT HALF OF THE AC.
3781 ;IN THIS CASE, C(AC)=0 AND C(E)=0. HENCE, THE RESULT IN THE AC SHOULD BE 0.
3782 ;THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST FAILS
3783
3784 032404 534 00 0 00 034013 B44000: HRLE [XWD -1,0] ;PRELOAD AC WITH 0
3785 032405 332 00 0 00 000000 SKIPE ;*HRLE SHOULD PLACE 0 INTO THE AC
3786 STOP ^;FAIL IF C(AC)=0,,-1
3787
3788 032406 254 04 0 00 032407 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3789 032407 324 00 0 00 032410 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3790 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3791 ;IN THE SUBTEST) TO LOOP ON ERROR
3792
3793 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 82
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0108
3794 ;THIS TEST VERIFIES THAT HRLE PLACES THE RIGHT HALF OF C(E)
3795 ;INTO THE LEFT HALF OF THE AC
3796 ;AND PLACES BIT 18 OF C(E) INTO ALL BITS OF THE RIGHT HALF OF THE AC.
3797 ;IN THIS CASE, C(AC)=0 AND C(E)=0. HENCE, THE RESULT IN THE AC SHOULD BE 0.
3798 ;THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST FAILS
3799
3800 032410 534 00 0 00 034015 B44100: HRLE [XWD 0,-1] ;PRELOAD AC WITH 0
3801 032411 312 00 0 00 034012 CAME [-1] ;*HRLE SHOULD PLACE 0 INTO THE AC
3802 STOP ^;FAIL IF C(AC)=0,,-1
3803
3804 032412 254 04 0 00 032413 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3805 032413 324 00 0 00 032414 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3806 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3807 ;IN THE SUBTEST) TO LOOP ON ERROR
3808
3809 ;**********
3810
3811 ;THIS TEST VERIFIES THAT HLRE PLACES THE LEFT HALF OF C(E)
3812 ;INTO THE RIGHT HALF OF THE AC
3813 ;AND PLACES BIT 0 OF C(E) INTO ALL BITS OF THE LEFT HALF OF THE AC
3814 ;IN THIS CASE, C(AC=0 AND C(E)=0. HENCE, THE RESULT IN THE AC SHOULD BE 0.
3815 ;THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES
3816
3817
3818 032414 400 00 0 00 000000 B44200: SETZ ;PRELOAD AC WITH 0
3819 032415 574 00 0 00 000000 HLRE ;*HLRE SHOULD PLACE 0 INTO THE AC
3820 032416 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
3821 STOP^
3822 032417 254 04 0 00 032420 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3823 032420 324 00 0 00 032421 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3824 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3825 ;IN THE SUBTEST) TO LOOP ON ERROR^
3826
3827 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 83
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0109
3828 ;THIS TEST VERIFIES THAT HLRE PLACES THE LEFT HALF OF C(E)
3829 ;INTO THE RIGHT HALF OF THE AC
3830 ;AND PLACES BIT 0 OF C(E) INTO ALL BITS OF THE LEFT HALF OF THE AC
3831 ;IN THIS CASE, C(AC=0 AND C(E)=0. HENCE, THE RESULT IN THE AC SHOULD BE 0.
3832 ;THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES
3833
3834
3835 032421 400 00 0 00 000000 B44300: SETZ ;PRELOAD AC WITH 0
3836 032422 574 00 0 00 034012 HLRE [-1] ;*HLRE SHOULD PLACE -1,,-1 INTO THE AC
3837 032423 312 00 0 00 034012 CAME [-1] ;PASS IF C(AC)=-1,,-1
3838 STOP^
3839 032424 254 04 0 00 032425 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3840 032425 324 00 0 00 032426 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3841 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3842 ;IN THE SUBTEST) TO LOOP ON ERROR^
3843
3844 ;***** FAILURE ANALYSIS *****
3845 ;C(AC0) C(AC1) FAILING SIGNAL
3846
3847 ;0 SW: FCE
3848 ;-1,,0 ET2: AR RT AR LT EN
3849 ;0,,-1 ET2: AR0(1): AR LT AD EN
3850
3851 ;**********
3852
3853 ;THIS TEST VERIFIES THAT HLREI CLEARS THE AC
3854 ;IN THIS CASE C(AC)=-1,,-1 AND E=0,,-1
3855 ;THE RESULT IN THE AC SHOULD BE 0
3856 ;THE AC IS CHECKED FOR 0. IF C(AC)=0, THEN TEST PASSES
3857
3858 032426 474 00 0 00 000000 B44500: SETO ;PRELOAD AC WITH -1,,-1
3859 032427 575 00 0 00 777777 HLREI -1 ;*HLREI SHOULD CLEAR THE AC
3860 032430 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
3861 STOP^
3862 032431 254 04 0 00 032432 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3863 032432 324 00 0 00 032433 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3864 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3865 ;IN THE SUBTEST) TO LOOP ON ERROR^
3866
3867 ;***** FAILURE ANALYSIS *****
3868 ;C(AC0) C(AC1) FAILING SIGNAL
3869
3870 ;0,,1 ET2: AR RT AR LT EN
3871
3872 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 84
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0110
3873 ;THIS TEST VERIFIES THAT HLREI CLEARS THE AC
3874 ;IN THIS CASE C(AC)=0 AND E=0
3875 ;THE RESULT IN THE AC SHOULD BE 0
3876 ;THE AC IS CHECKED FOR 0. IF C(AC)=0, THE TEST PASSES
3877
3878 032433 575 00 0 00 000000 B44600: HLREI ;*HLREI SHOULD CLEAR THE AC
3879 032434 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
3880 STOP^
3881 032435 254 04 0 00 032436 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3882 032436 324 00 0 00 032437 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3883 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3884 ;IN THE SUBTEST) TO LOOP ON ERROR^
3885
3886 ;**********
3887
3888 ;THIS TEST VERIFIES THAT HLRE PLACES THE LEFT HALF OF C(E)
3889 ;INTO THE RIGHT HALF OF THE AC
3890 ;AND PLACES BIT 0 OF C(E) INTO ALL BITS OF THE LEFT HALF OF THE AC
3891 ;IN THIS CASE, C(E)=-1,,0. HENCE, THE RESULT IN THE AC SHOULD BE -1,,-1.
3892 ;THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES
3893
3894
3895 032437 574 00 0 00 034013 B44700: HLRE [XWD -1,0] ;*HLRE SHOULD PLACE -1,,0 INTO THE AC
3896 032440 312 00 0 00 034012 CAME [-1] ;PASS IF C(AC)=-1,,-1
3897 STOP^
3898 032441 254 04 0 00 032442 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3899 032442 324 00 0 00 032443 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3900 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3901 ;IN THE SUBTEST) TO LOOP ON ERROR^
3902
3903 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 85
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0111
3904 ;THIS TEST VERIFIES THAT HLRE PLACES THE LEFT HALF OF C(E)
3905 ;INTO THE RIGHT HALF OF THE AC
3906 ;AND PLACES BIT 0 OF C(E) INTO ALL BITS OF THE LEFT HALF OF THE AC
3907 ;IN THIS CASE, C(E)=0,,-1. HENCE, THE RESULT IN THE AC SHOULD BE 0.
3908 ;THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES
3909
3910 032443 574 00 0 00 034015 B45000: HLRE [XWD 0,-1] ;*HLRE SHOULD PLACE 0,,-1 INTO THE AC
3911 032444 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
3912 STOP^
3913 032445 254 04 0 00 032446 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3914 032446 324 00 0 00 032447 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3915 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3916 ;IN THE SUBTEST) TO LOOP ON ERROR^
3917
3918 ;**********
3919
3920 ;THIS TEST VERIFIES THAT HLRE PLACES THE LEFT HALF OF C(E)
3921 ;INTO THE RIGHT HALF OF THE AC
3922 ;AND PLACES BIT 0 OF C(E) INTO ALL BITS OF THE LEFT HALF OF THE AC
3923 ;IN THIS CASE, C(E)=-1,,-1. HENCE, THE RESULT IN THE AC SHOULD BE -1,,-1.
3924 ;THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES
3925
3926 032447 574 00 0 00 034012 B45100: HLRE [-1] ;*HLRE SHOULD PLACE -1,,-1 INTO THE AC
3927 032450 312 00 0 00 034012 CAME [-1] ;PASS IF C(AC)=-1,,-1
3928 STOP^
3929 032451 254 04 0 00 032452 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3930 032452 324 00 0 00 032453 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3931 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3932 ;IN THE SUBTEST) TO LOOP ON ERROR^
3933
3934 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 86
DAKACM MAC 19-JAN-77 13:40 TEST OF HWT INSTRUCTIONS SEQ 0112
3935 ;THIS TEST VERIFIES THAT HLREM PLACES THE LEFT HALF OF C(AC)
3936 ;INTO THE RIGHT HALF OF E
3937 ;AND PLACES BIT 0 OF C(AC) INTO ALL BITS OF THE LEFT HALF OF E.
3938 ;IN THIS CASE, C(AC)=1,,0 AND C(E)=0. HENCE, THE RESULT IN E SHOULD BE -1,,-1.
3939 ;E IS CHECKED FOR -1,,-1. IF C(E)=-1,,-1, THIS TEST PASSES
3940
3941 032453 400 00 0 00 000000 B45200: SETZ ;PRELOAD E WITH 0
3942 032454 200 01 0 00 034013 MOVE 1,[XWD -1,0] ;PRELOAD AC WITH -1,,0
3943 032455 576 01 0 00 000000 HLREM 1, ;*HLREM SHOULD PLACE -1,,-1 INTO E
3944 032456 312 00 0 00 034012 CAME [-1] ;PASS IF C(E)=-1,,-1
3945 STOP^
3946 032457 254 04 0 00 032460 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3947 032460 324 00 0 00 032461 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3948 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3949 ;IN THE SUBTEST) TO LOOP ON ERROR^
3950
3951 ;***** FAILURE ANALYSIS *****
3952 ;C(AC0) C(AC1) FAILING SIGNAL
3953
3954 ;0 -1,,0 SW: SCE
3955 ;0 -1,,0 SW: ET0
3956 ;0 -1,,0 ET0: AR AD EN
3957 ;-1,,0 -1,,0 ET2: AR RT AR + EN
3958 ;0,,-1 -1,,0 ET2: AR0(1): AR LT AD EN
3959
3960 ;**********
3961
3962 ;THIS TEST VERIFIES THAT HRLM PLACES THE RIGHT HALF OF C(AC) INTO THE LEFT HALF OF E.
3963 ;THE RIGHT HALF OF E IS UNAFFECTED
3964 ;IN THIS CASE, C(AC)=0,,-1 AND C(E)=0. HENCE, THE RESULT IN E SHOULD BE -1,,0.
3965 ;E IS CHECKED FOR -1,,0. IF C(E)=-1,,0, THIS TEST PASSES.
3966
3967 032461 400 00 0 00 000000 B45400: SETZ ;PRELOAD E WITH 0
3968 032462 201 01 0 00 777777 MOVEI 1,-1 ;PRELOAD AC WITH 0,,-1
3969 032463 506 01 0 00 000000 HRLM 1, ;*HRLM SHOULD PLACE -1,,0 INTO E
3970 032464 312 00 0 00 034013 CAME [XWD -1,0] ;PASS IF C(E)=-1,,0
3971 STOP^
3972 032465 254 04 0 00 032466 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3973 032466 324 00 0 00 032467 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3974 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3975 ;IN THE SUBTEST) TO LOOP ON ERROR^
3976
3977 ;***** FAILURE ANALYSIS *****
3978 ;C(AC0) C(AC1) FAILING SIGNAL
3979
3980 ;0 0,,-1 SW: FCE PSE
3981 ;0,,-1 0,,-1 SW: ET0
3982 ;-1,,-1 0,,-1 ET0: AD RT BR + EN
3983 ;-1,,B45400 0,,-1 ET0: BR AR EN
3984 ;0 0,,-1 ET0: AR AD EN
3985 ;0 0,,-1 ET2: AR LT AR RT EN
3986
3987 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 87
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - FLT 1 + 0 SEQ 0113
3988 SUBTTL SUPPLEMENTARY ADDER TESTS - FLT 1 + 0
3989
3990 ;**********
3991
3992 045500 SN=45500
3993 000000 XX=0
3994
3995 B45500: REPEAT ^D18,<
3996 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
3997 ;IS THE FLOATING ONE.
3998 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
3999 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4000
4001 SN=SN+1
4002 XX=XX+XX
4003 IFE XX,<XX=1>
4004 HRRZI XX ;PRELOAD AC WITH FLOATING ONE
4005 ADD [0] ;ADD ZERO TO A FLOATING ONE
4006 CAME [XX] ;CHECK ADDER UPON FAILURE
4007 STOP
4008
4009 ;**********
4010 >
4011
4012 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
4013 ;IS THE FLOATING ONE.
4014 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
4015 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4016
4017 045501 SN=SN+1
4018 000000 XX=XX+XX
4019 000001 IFE XX,<XX=1>
4020 032467 551 00 0 00 000001 HRRZI XX ;PRELOAD AC WITH FLOATING ONE
4021 032470 270 00 0 00 034014 ADD [0] ;ADD ZERO TO A FLOATING ONE
4022 032471 312 00 0 00 034017 CAME [XX] ;CHECK ADDER UPON FAILURE
4023 STOP^
4024 032472 254 04 0 00 032473 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4025 032473 324 00 0 00 032474 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4026 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4027 ;IN THE SUBTEST) TO LOOP ON ERROR^
4028
4029 ;**********
4030
4031
4032 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
4033 ;IS THE FLOATING ONE.
4034 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
4035 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4036
4037 045502 SN=SN+1
4038 000002 XX=XX+XX
4039 IFE XX,<XX=1>
4040 032474 551 00 0 00 000002 HRRZI XX ;PRELOAD AC WITH FLOATING ONE
4041 032475 270 00 0 00 034014 ADD [0] ;ADD ZERO TO A FLOATING ONE
4042 032476 312 00 0 00 034020 CAME [XX] ;CHECK ADDER UPON FAILURE
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 87-1
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - FLT 1 + 0 SEQ 0114
4043 STOP^
4044 032477 254 04 0 00 032500 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4045 032500 324 00 0 00 032501 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4046 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4047 ;IN THE SUBTEST) TO LOOP ON ERROR^
4048
4049 ;**********
4050
4051
4052 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
4053 ;IS THE FLOATING ONE.
4054 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
4055 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4056
4057 045503 SN=SN+1
4058 000004 XX=XX+XX
4059 IFE XX,<XX=1>
4060 032501 551 00 0 00 000004 HRRZI XX ;PRELOAD AC WITH FLOATING ONE
4061 032502 270 00 0 00 034014 ADD [0] ;ADD ZERO TO A FLOATING ONE
4062 032503 312 00 0 00 034021 CAME [XX] ;CHECK ADDER UPON FAILURE
4063 STOP^
4064 032504 254 04 0 00 032505 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4065 032505 324 00 0 00 032506 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4066 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4067 ;IN THE SUBTEST) TO LOOP ON ERROR^
4068
4069 ;**********
4070
4071
4072 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
4073 ;IS THE FLOATING ONE.
4074 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
4075 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4076
4077 045504 SN=SN+1
4078 000010 XX=XX+XX
4079 IFE XX,<XX=1>
4080 032506 551 00 0 00 000010 HRRZI XX ;PRELOAD AC WITH FLOATING ONE
4081 032507 270 00 0 00 034014 ADD [0] ;ADD ZERO TO A FLOATING ONE
4082 032510 312 00 0 00 034022 CAME [XX] ;CHECK ADDER UPON FAILURE
4083 STOP^
4084 032511 254 04 0 00 032512 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4085 032512 324 00 0 00 032513 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4086 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4087 ;IN THE SUBTEST) TO LOOP ON ERROR^
4088
4089 ;**********
4090
4091
4092 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
4093 ;IS THE FLOATING ONE.
4094 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
4095 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4096
4097 045505 SN=SN+1
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 87-2
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - FLT 1 + 0 SEQ 0115
4098 000020 XX=XX+XX
4099 IFE XX,<XX=1>
4100 032513 551 00 0 00 000020 HRRZI XX ;PRELOAD AC WITH FLOATING ONE
4101 032514 270 00 0 00 034014 ADD [0] ;ADD ZERO TO A FLOATING ONE
4102 032515 312 00 0 00 034023 CAME [XX] ;CHECK ADDER UPON FAILURE
4103 STOP^
4104 032516 254 04 0 00 032517 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4105 032517 324 00 0 00 032520 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4106 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4107 ;IN THE SUBTEST) TO LOOP ON ERROR^
4108
4109 ;**********
4110
4111
4112 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
4113 ;IS THE FLOATING ONE.
4114 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
4115 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4116
4117 045506 SN=SN+1
4118 000040 XX=XX+XX
4119 IFE XX,<XX=1>
4120 032520 551 00 0 00 000040 HRRZI XX ;PRELOAD AC WITH FLOATING ONE
4121 032521 270 00 0 00 034014 ADD [0] ;ADD ZERO TO A FLOATING ONE
4122 032522 312 00 0 00 034024 CAME [XX] ;CHECK ADDER UPON FAILURE
4123 STOP^
4124 032523 254 04 0 00 032524 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4125 032524 324 00 0 00 032525 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4126 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4127 ;IN THE SUBTEST) TO LOOP ON ERROR^
4128
4129 ;**********
4130
4131
4132 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
4133 ;IS THE FLOATING ONE.
4134 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
4135 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4136
4137 045507 SN=SN+1
4138 000100 XX=XX+XX
4139 IFE XX,<XX=1>
4140 032525 551 00 0 00 000100 HRRZI XX ;PRELOAD AC WITH FLOATING ONE
4141 032526 270 00 0 00 034014 ADD [0] ;ADD ZERO TO A FLOATING ONE
4142 032527 312 00 0 00 034025 CAME [XX] ;CHECK ADDER UPON FAILURE
4143 STOP^
4144 032530 254 04 0 00 032531 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4145 032531 324 00 0 00 032532 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4146 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4147 ;IN THE SUBTEST) TO LOOP ON ERROR^
4148
4149 ;**********
4150
4151
4152 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 87-3
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - FLT 1 + 0 SEQ 0116
4153 ;IS THE FLOATING ONE.
4154 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
4155 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4156
4157 045510 SN=SN+1
4158 000200 XX=XX+XX
4159 IFE XX,<XX=1>
4160 032532 551 00 0 00 000200 HRRZI XX ;PRELOAD AC WITH FLOATING ONE
4161 032533 270 00 0 00 034014 ADD [0] ;ADD ZERO TO A FLOATING ONE
4162 032534 312 00 0 00 034026 CAME [XX] ;CHECK ADDER UPON FAILURE
4163 STOP^
4164 032535 254 04 0 00 032536 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4165 032536 324 00 0 00 032537 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4166 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4167 ;IN THE SUBTEST) TO LOOP ON ERROR^
4168
4169 ;**********
4170
4171
4172 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
4173 ;IS THE FLOATING ONE.
4174 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
4175 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4176
4177 045511 SN=SN+1
4178 000400 XX=XX+XX
4179 IFE XX,<XX=1>
4180 032537 551 00 0 00 000400 HRRZI XX ;PRELOAD AC WITH FLOATING ONE
4181 032540 270 00 0 00 034014 ADD [0] ;ADD ZERO TO A FLOATING ONE
4182 032541 312 00 0 00 034027 CAME [XX] ;CHECK ADDER UPON FAILURE
4183 STOP^
4184 032542 254 04 0 00 032543 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4185 032543 324 00 0 00 032544 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4186 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4187 ;IN THE SUBTEST) TO LOOP ON ERROR^
4188
4189 ;**********
4190
4191
4192 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
4193 ;IS THE FLOATING ONE.
4194 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
4195 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4196
4197 045512 SN=SN+1
4198 001000 XX=XX+XX
4199 IFE XX,<XX=1>
4200 032544 551 00 0 00 001000 HRRZI XX ;PRELOAD AC WITH FLOATING ONE
4201 032545 270 00 0 00 034014 ADD [0] ;ADD ZERO TO A FLOATING ONE
4202 032546 312 00 0 00 034030 CAME [XX] ;CHECK ADDER UPON FAILURE
4203 STOP^
4204 032547 254 04 0 00 032550 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4205 032550 324 00 0 00 032551 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4206 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4207 ;IN THE SUBTEST) TO LOOP ON ERROR^
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 87-4
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - FLT 1 + 0 SEQ 0117
4208
4209 ;**********
4210
4211
4212 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
4213 ;IS THE FLOATING ONE.
4214 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
4215 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4216
4217 045513 SN=SN+1
4218 002000 XX=XX+XX
4219 IFE XX,<XX=1>
4220 032551 551 00 0 00 002000 HRRZI XX ;PRELOAD AC WITH FLOATING ONE
4221 032552 270 00 0 00 034014 ADD [0] ;ADD ZERO TO A FLOATING ONE
4222 032553 312 00 0 00 034031 CAME [XX] ;CHECK ADDER UPON FAILURE
4223 STOP^
4224 032554 254 04 0 00 032555 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4225 032555 324 00 0 00 032556 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4226 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4227 ;IN THE SUBTEST) TO LOOP ON ERROR^
4228
4229 ;**********
4230
4231
4232 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
4233 ;IS THE FLOATING ONE.
4234 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
4235 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4236
4237 045514 SN=SN+1
4238 004000 XX=XX+XX
4239 IFE XX,<XX=1>
4240 032556 551 00 0 00 004000 HRRZI XX ;PRELOAD AC WITH FLOATING ONE
4241 032557 270 00 0 00 034014 ADD [0] ;ADD ZERO TO A FLOATING ONE
4242 032560 312 00 0 00 034032 CAME [XX] ;CHECK ADDER UPON FAILURE
4243 STOP^
4244 032561 254 04 0 00 032562 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4245 032562 324 00 0 00 032563 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4246 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4247 ;IN THE SUBTEST) TO LOOP ON ERROR^
4248
4249 ;**********
4250
4251
4252 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
4253 ;IS THE FLOATING ONE.
4254 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
4255 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4256
4257 045515 SN=SN+1
4258 010000 XX=XX+XX
4259 IFE XX,<XX=1>
4260 032563 551 00 0 00 010000 HRRZI XX ;PRELOAD AC WITH FLOATING ONE
4261 032564 270 00 0 00 034014 ADD [0] ;ADD ZERO TO A FLOATING ONE
4262 032565 312 00 0 00 034033 CAME [XX] ;CHECK ADDER UPON FAILURE
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 87-5
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - FLT 1 + 0 SEQ 0118
4263 STOP^
4264 032566 254 04 0 00 032567 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4265 032567 324 00 0 00 032570 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4266 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4267 ;IN THE SUBTEST) TO LOOP ON ERROR^
4268
4269 ;**********
4270
4271
4272 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
4273 ;IS THE FLOATING ONE.
4274 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
4275 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4276
4277 045516 SN=SN+1
4278 020000 XX=XX+XX
4279 IFE XX,<XX=1>
4280 032570 551 00 0 00 020000 HRRZI XX ;PRELOAD AC WITH FLOATING ONE
4281 032571 270 00 0 00 034014 ADD [0] ;ADD ZERO TO A FLOATING ONE
4282 032572 312 00 0 00 034034 CAME [XX] ;CHECK ADDER UPON FAILURE
4283 STOP^
4284 032573 254 04 0 00 032574 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4285 032574 324 00 0 00 032575 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4286 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4287 ;IN THE SUBTEST) TO LOOP ON ERROR^
4288
4289 ;**********
4290
4291
4292 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
4293 ;IS THE FLOATING ONE.
4294 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
4295 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4296
4297 045517 SN=SN+1
4298 040000 XX=XX+XX
4299 IFE XX,<XX=1>
4300 032575 551 00 0 00 040000 HRRZI XX ;PRELOAD AC WITH FLOATING ONE
4301 032576 270 00 0 00 034014 ADD [0] ;ADD ZERO TO A FLOATING ONE
4302 032577 312 00 0 00 034035 CAME [XX] ;CHECK ADDER UPON FAILURE
4303 STOP^
4304 032600 254 04 0 00 032601 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4305 032601 324 00 0 00 032602 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4306 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4307 ;IN THE SUBTEST) TO LOOP ON ERROR^
4308
4309 ;**********
4310
4311
4312 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
4313 ;IS THE FLOATING ONE.
4314 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
4315 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4316
4317 045520 SN=SN+1
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 87-6
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - FLT 1 + 0 SEQ 0119
4318 100000 XX=XX+XX
4319 IFE XX,<XX=1>
4320 032602 551 00 0 00 100000 HRRZI XX ;PRELOAD AC WITH FLOATING ONE
4321 032603 270 00 0 00 034014 ADD [0] ;ADD ZERO TO A FLOATING ONE
4322 032604 312 00 0 00 034036 CAME [XX] ;CHECK ADDER UPON FAILURE
4323 STOP^
4324 032605 254 04 0 00 032606 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4325 032606 324 00 0 00 032607 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4326 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4327 ;IN THE SUBTEST) TO LOOP ON ERROR^
4328
4329 ;**********
4330
4331
4332 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
4333 ;IS THE FLOATING ONE.
4334 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
4335 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4336
4337 045521 SN=SN+1
4338 200000 XX=XX+XX
4339 IFE XX,<XX=1>
4340 032607 551 00 0 00 200000 HRRZI XX ;PRELOAD AC WITH FLOATING ONE
4341 032610 270 00 0 00 034014 ADD [0] ;ADD ZERO TO A FLOATING ONE
4342 032611 312 00 0 00 034037 CAME [XX] ;CHECK ADDER UPON FAILURE
4343 STOP^
4344 032612 254 04 0 00 032613 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4345 032613 324 00 0 00 032614 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4346 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4347 ;IN THE SUBTEST) TO LOOP ON ERROR^
4348
4349 ;**********
4350
4351
4352 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
4353 ;IS THE FLOATING ONE.
4354 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
4355 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4356
4357 045522 SN=SN+1
4358 400000 XX=XX+XX
4359 IFE XX,<XX=1>
4360 032614 551 00 0 00 400000 HRRZI XX ;PRELOAD AC WITH FLOATING ONE
4361 032615 270 00 0 00 034014 ADD [0] ;ADD ZERO TO A FLOATING ONE
4362 032616 312 00 0 00 034040 CAME [XX] ;CHECK ADDER UPON FAILURE
4363 STOP^
4364 032617 254 04 0 00 032620 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4365 032620 324 00 0 00 032621 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4366 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4367 ;IN THE SUBTEST) TO LOOP ON ERROR^
4368
4369 ;**********
4370
4371 PAGE
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 87-7
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - FLT 1 + 0 SEQ 0120
4372 000000 XX=0
4373
4374 REPEAT ^D18,<
4375 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
4376 ;IS THE FLOATING ONE.
4377 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
4378 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4379
4380 SN=SN+1
4381 XX=XX+XX
4382 IFE XX,<XX=1>
4383 HRLZI XX ;PRELOAD AC WITH FLOATING ONE
4384 ADD [0] ;ADD ZERO TO A FLOATING ONE
4385 CAME [XX,,0] ;CHECK ADDER UPON FALIRE
4386 STOP
4387
4388 ;**********
4389 >
4390
4391 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
4392 ;IS THE FLOATING ONE.
4393 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
4394 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4395
4396 045523 SN=SN+1
4397 000000 XX=XX+XX
4398 000001 IFE XX,<XX=1>
4399 032621 515 00 0 00 000001 HRLZI XX ;PRELOAD AC WITH FLOATING ONE
4400 032622 270 00 0 00 034014 ADD [0] ;ADD ZERO TO A FLOATING ONE
4401 032623 312 00 0 00 034041 CAME [XX,,0] ;CHECK ADDER UPON FALIRE
4402 STOP ^
4403 032624 254 04 0 00 032625 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4404 032625 324 00 0 00 032626 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4405 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4406 ;IN THE SUBTEST) TO LOOP ON ERROR^
4407
4408 ;**********
4409
4410
4411 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
4412 ;IS THE FLOATING ONE.
4413 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
4414 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4415
4416 045524 SN=SN+1
4417 000002 XX=XX+XX
4418 IFE XX,<XX=1>
4419 032626 515 00 0 00 000002 HRLZI XX ;PRELOAD AC WITH FLOATING ONE
4420 032627 270 00 0 00 034014 ADD [0] ;ADD ZERO TO A FLOATING ONE
4421 032630 312 00 0 00 034042 CAME [XX,,0] ;CHECK ADDER UPON FALIRE
4422 STOP ^
4423 032631 254 04 0 00 032632 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4424 032632 324 00 0 00 032633 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4425 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4426 ;IN THE SUBTEST) TO LOOP ON ERROR^
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 87-8
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - FLT 1 + 0 SEQ 0121
4427
4428 ;**********
4429
4430
4431 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
4432 ;IS THE FLOATING ONE.
4433 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
4434 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4435
4436 045525 SN=SN+1
4437 000004 XX=XX+XX
4438 IFE XX,<XX=1>
4439 032633 515 00 0 00 000004 HRLZI XX ;PRELOAD AC WITH FLOATING ONE
4440 032634 270 00 0 00 034014 ADD [0] ;ADD ZERO TO A FLOATING ONE
4441 032635 312 00 0 00 034043 CAME [XX,,0] ;CHECK ADDER UPON FALIRE
4442 STOP ^
4443 032636 254 04 0 00 032637 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4444 032637 324 00 0 00 032640 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4445 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4446 ;IN THE SUBTEST) TO LOOP ON ERROR^
4447
4448 ;**********
4449
4450
4451 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
4452 ;IS THE FLOATING ONE.
4453 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
4454 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4455
4456 045526 SN=SN+1
4457 000010 XX=XX+XX
4458 IFE XX,<XX=1>
4459 032640 515 00 0 00 000010 HRLZI XX ;PRELOAD AC WITH FLOATING ONE
4460 032641 270 00 0 00 034014 ADD [0] ;ADD ZERO TO A FLOATING ONE
4461 032642 312 00 0 00 034044 CAME [XX,,0] ;CHECK ADDER UPON FALIRE
4462 STOP ^
4463 032643 254 04 0 00 032644 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4464 032644 324 00 0 00 032645 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4465 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4466 ;IN THE SUBTEST) TO LOOP ON ERROR^
4467
4468 ;**********
4469
4470
4471 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
4472 ;IS THE FLOATING ONE.
4473 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
4474 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4475
4476 045527 SN=SN+1
4477 000020 XX=XX+XX
4478 IFE XX,<XX=1>
4479 032645 515 00 0 00 000020 HRLZI XX ;PRELOAD AC WITH FLOATING ONE
4480 032646 270 00 0 00 034014 ADD [0] ;ADD ZERO TO A FLOATING ONE
4481 032647 312 00 0 00 034045 CAME [XX,,0] ;CHECK ADDER UPON FALIRE
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 87-9
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - FLT 1 + 0 SEQ 0122
4482 STOP ^
4483 032650 254 04 0 00 032651 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4484 032651 324 00 0 00 032652 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4485 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4486 ;IN THE SUBTEST) TO LOOP ON ERROR^
4487
4488 ;**********
4489
4490
4491 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
4492 ;IS THE FLOATING ONE.
4493 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
4494 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4495
4496 045530 SN=SN+1
4497 000040 XX=XX+XX
4498 IFE XX,<XX=1>
4499 032652 515 00 0 00 000040 HRLZI XX ;PRELOAD AC WITH FLOATING ONE
4500 032653 270 00 0 00 034014 ADD [0] ;ADD ZERO TO A FLOATING ONE
4501 032654 312 00 0 00 034046 CAME [XX,,0] ;CHECK ADDER UPON FALIRE
4502 STOP ^
4503 032655 254 04 0 00 032656 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4504 032656 324 00 0 00 032657 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4505 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4506 ;IN THE SUBTEST) TO LOOP ON ERROR^
4507
4508 ;**********
4509
4510
4511 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
4512 ;IS THE FLOATING ONE.
4513 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
4514 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4515
4516 045531 SN=SN+1
4517 000100 XX=XX+XX
4518 IFE XX,<XX=1>
4519 032657 515 00 0 00 000100 HRLZI XX ;PRELOAD AC WITH FLOATING ONE
4520 032660 270 00 0 00 034014 ADD [0] ;ADD ZERO TO A FLOATING ONE
4521 032661 312 00 0 00 034047 CAME [XX,,0] ;CHECK ADDER UPON FALIRE
4522 STOP ^
4523 032662 254 04 0 00 032663 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4524 032663 324 00 0 00 032664 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4525 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4526 ;IN THE SUBTEST) TO LOOP ON ERROR^
4527
4528 ;**********
4529
4530
4531 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
4532 ;IS THE FLOATING ONE.
4533 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
4534 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4535
4536 045532 SN=SN+1
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 87-10
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - FLT 1 + 0 SEQ 0123
4537 000200 XX=XX+XX
4538 IFE XX,<XX=1>
4539 032664 515 00 0 00 000200 HRLZI XX ;PRELOAD AC WITH FLOATING ONE
4540 032665 270 00 0 00 034014 ADD [0] ;ADD ZERO TO A FLOATING ONE
4541 032666 312 00 0 00 034050 CAME [XX,,0] ;CHECK ADDER UPON FALIRE
4542 STOP ^
4543 032667 254 04 0 00 032670 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4544 032670 324 00 0 00 032671 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4545 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4546 ;IN THE SUBTEST) TO LOOP ON ERROR^
4547
4548 ;**********
4549
4550
4551 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
4552 ;IS THE FLOATING ONE.
4553 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
4554 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4555
4556 045533 SN=SN+1
4557 000400 XX=XX+XX
4558 IFE XX,<XX=1>
4559 032671 515 00 0 00 000400 HRLZI XX ;PRELOAD AC WITH FLOATING ONE
4560 032672 270 00 0 00 034014 ADD [0] ;ADD ZERO TO A FLOATING ONE
4561 032673 312 00 0 00 034051 CAME [XX,,0] ;CHECK ADDER UPON FALIRE
4562 STOP ^
4563 032674 254 04 0 00 032675 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4564 032675 324 00 0 00 032676 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4565 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4566 ;IN THE SUBTEST) TO LOOP ON ERROR^
4567
4568 ;**********
4569
4570
4571 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
4572 ;IS THE FLOATING ONE.
4573 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
4574 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4575
4576 045534 SN=SN+1
4577 001000 XX=XX+XX
4578 IFE XX,<XX=1>
4579 032676 515 00 0 00 001000 HRLZI XX ;PRELOAD AC WITH FLOATING ONE
4580 032677 270 00 0 00 034014 ADD [0] ;ADD ZERO TO A FLOATING ONE
4581 032700 312 00 0 00 034052 CAME [XX,,0] ;CHECK ADDER UPON FALIRE
4582 STOP ^
4583 032701 254 04 0 00 032702 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4584 032702 324 00 0 00 032703 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4585 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4586 ;IN THE SUBTEST) TO LOOP ON ERROR^
4587
4588 ;**********
4589
4590
4591 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 87-11
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - FLT 1 + 0 SEQ 0124
4592 ;IS THE FLOATING ONE.
4593 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
4594 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4595
4596 045535 SN=SN+1
4597 002000 XX=XX+XX
4598 IFE XX,<XX=1>
4599 032703 515 00 0 00 002000 HRLZI XX ;PRELOAD AC WITH FLOATING ONE
4600 032704 270 00 0 00 034014 ADD [0] ;ADD ZERO TO A FLOATING ONE
4601 032705 312 00 0 00 034053 CAME [XX,,0] ;CHECK ADDER UPON FALIRE
4602 STOP ^
4603 032706 254 04 0 00 032707 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4604 032707 324 00 0 00 032710 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4605 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4606 ;IN THE SUBTEST) TO LOOP ON ERROR^
4607
4608 ;**********
4609
4610
4611 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
4612 ;IS THE FLOATING ONE.
4613 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
4614 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4615
4616 045536 SN=SN+1
4617 004000 XX=XX+XX
4618 IFE XX,<XX=1>
4619 032710 515 00 0 00 004000 HRLZI XX ;PRELOAD AC WITH FLOATING ONE
4620 032711 270 00 0 00 034014 ADD [0] ;ADD ZERO TO A FLOATING ONE
4621 032712 312 00 0 00 034054 CAME [XX,,0] ;CHECK ADDER UPON FALIRE
4622 STOP ^
4623 032713 254 04 0 00 032714 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4624 032714 324 00 0 00 032715 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4625 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4626 ;IN THE SUBTEST) TO LOOP ON ERROR^
4627
4628 ;**********
4629
4630
4631 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
4632 ;IS THE FLOATING ONE.
4633 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
4634 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4635
4636 045537 SN=SN+1
4637 010000 XX=XX+XX
4638 IFE XX,<XX=1>
4639 032715 515 00 0 00 010000 HRLZI XX ;PRELOAD AC WITH FLOATING ONE
4640 032716 270 00 0 00 034014 ADD [0] ;ADD ZERO TO A FLOATING ONE
4641 032717 312 00 0 00 034055 CAME [XX,,0] ;CHECK ADDER UPON FALIRE
4642 STOP ^
4643 032720 254 04 0 00 032721 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4644 032721 324 00 0 00 032722 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4645 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4646 ;IN THE SUBTEST) TO LOOP ON ERROR^
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 87-12
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - FLT 1 + 0 SEQ 0125
4647
4648 ;**********
4649
4650
4651 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
4652 ;IS THE FLOATING ONE.
4653 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
4654 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4655
4656 045540 SN=SN+1
4657 020000 XX=XX+XX
4658 IFE XX,<XX=1>
4659 032722 515 00 0 00 020000 HRLZI XX ;PRELOAD AC WITH FLOATING ONE
4660 032723 270 00 0 00 034014 ADD [0] ;ADD ZERO TO A FLOATING ONE
4661 032724 312 00 0 00 034056 CAME [XX,,0] ;CHECK ADDER UPON FALIRE
4662 STOP ^
4663 032725 254 04 0 00 032726 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4664 032726 324 00 0 00 032727 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4665 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4666 ;IN THE SUBTEST) TO LOOP ON ERROR^
4667
4668 ;**********
4669
4670
4671 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
4672 ;IS THE FLOATING ONE.
4673 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
4674 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4675
4676 045541 SN=SN+1
4677 040000 XX=XX+XX
4678 IFE XX,<XX=1>
4679 032727 515 00 0 00 040000 HRLZI XX ;PRELOAD AC WITH FLOATING ONE
4680 032730 270 00 0 00 034014 ADD [0] ;ADD ZERO TO A FLOATING ONE
4681 032731 312 00 0 00 034057 CAME [XX,,0] ;CHECK ADDER UPON FALIRE
4682 STOP ^
4683 032732 254 04 0 00 032733 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4684 032733 324 00 0 00 032734 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4685 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4686 ;IN THE SUBTEST) TO LOOP ON ERROR^
4687
4688 ;**********
4689
4690
4691 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
4692 ;IS THE FLOATING ONE.
4693 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
4694 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4695
4696 045542 SN=SN+1
4697 100000 XX=XX+XX
4698 IFE XX,<XX=1>
4699 032734 515 00 0 00 100000 HRLZI XX ;PRELOAD AC WITH FLOATING ONE
4700 032735 270 00 0 00 034014 ADD [0] ;ADD ZERO TO A FLOATING ONE
4701 032736 312 00 0 00 034060 CAME [XX,,0] ;CHECK ADDER UPON FALIRE
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 87-13
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - FLT 1 + 0 SEQ 0126
4702 STOP ^
4703 032737 254 04 0 00 032740 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4704 032740 324 00 0 00 032741 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4705 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4706 ;IN THE SUBTEST) TO LOOP ON ERROR^
4707
4708 ;**********
4709
4710
4711 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
4712 ;IS THE FLOATING ONE.
4713 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
4714 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4715
4716 045543 SN=SN+1
4717 200000 XX=XX+XX
4718 IFE XX,<XX=1>
4719 032741 515 00 0 00 200000 HRLZI XX ;PRELOAD AC WITH FLOATING ONE
4720 032742 270 00 0 00 034014 ADD [0] ;ADD ZERO TO A FLOATING ONE
4721 032743 312 00 0 00 034061 CAME [XX,,0] ;CHECK ADDER UPON FALIRE
4722 STOP ^
4723 032744 254 04 0 00 032745 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4724 032745 324 00 0 00 032746 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4725 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4726 ;IN THE SUBTEST) TO LOOP ON ERROR^
4727
4728 ;**********
4729
4730
4731 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
4732 ;IS THE FLOATING ONE.
4733 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
4734 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4735
4736 045544 SN=SN+1
4737 400000 XX=XX+XX
4738 IFE XX,<XX=1>
4739 032746 515 00 0 00 400000 HRLZI XX ;PRELOAD AC WITH FLOATING ONE
4740 032747 270 00 0 00 034014 ADD [0] ;ADD ZERO TO A FLOATING ONE
4741 032750 312 00 0 00 034062 CAME [XX,,0] ;CHECK ADDER UPON FALIRE
4742 STOP ^
4743 032751 254 04 0 00 032752 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4744 032752 324 00 0 00 032753 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4745 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4746 ;IN THE SUBTEST) TO LOOP ON ERROR^
4747
4748 ;**********
4749
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 88
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - O + FLT 0 SEQ 0127
4750 SUBTTL SUPPLEMENTARY ADDER TESTS - O + FLT 0
4751
4752 ;**********
4753
4754 045600 SN=45600
4755 B45600: REPEAT ^D18,<
4756 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
4757 ;IS THE FLOATING ZERO.
4758 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
4759 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4760
4761 SN=SN+1
4762 XX=<XX+XX+1>&777777
4763 IFE <XX-1>,<XX=777776>
4764 SETZ ;PRELOAD AC WITH 0
4765 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ZERO
4766 CAME [-1,,XX] ;CHECK ADDER UPON FAILURE
4767 STOP
4768
4769 ;**********
4770 >
4771
4772 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
4773 ;IS THE FLOATING ZERO.
4774 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
4775 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4776
4777 045601 SN=SN+1
4778 000001 XX=<XX+XX+1>&777777
4779 777776 IFE <XX-1>,<XX=777776>
4780 032753 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
4781 032754 270 00 0 00 034063 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ZERO
4782 032755 312 00 0 00 034063 CAME [-1,,XX] ;CHECK ADDER UPON FAILURE
4783 STOP ^
4784 032756 254 04 0 00 032757 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4785 032757 324 00 0 00 032760 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4786 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4787 ;IN THE SUBTEST) TO LOOP ON ERROR^
4788
4789 ;**********
4790
4791
4792 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
4793 ;IS THE FLOATING ZERO.
4794 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
4795 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4796
4797 045602 SN=SN+1
4798 777775 XX=<XX+XX+1>&777777
4799 IFE <XX-1>,<XX=777776>
4800 032760 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
4801 032761 270 00 0 00 034064 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ZERO
4802 032762 312 00 0 00 034064 CAME [-1,,XX] ;CHECK ADDER UPON FAILURE
4803 STOP ^
4804 032763 254 04 0 00 032764 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 88-1
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - O + FLT 0 SEQ 0128
4805 032764 324 00 0 00 032765 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4806 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4807 ;IN THE SUBTEST) TO LOOP ON ERROR^
4808
4809 ;**********
4810
4811
4812 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
4813 ;IS THE FLOATING ZERO.
4814 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
4815 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4816
4817 045603 SN=SN+1
4818 777773 XX=<XX+XX+1>&777777
4819 IFE <XX-1>,<XX=777776>
4820 032765 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
4821 032766 270 00 0 00 034065 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ZERO
4822 032767 312 00 0 00 034065 CAME [-1,,XX] ;CHECK ADDER UPON FAILURE
4823 STOP ^
4824 032770 254 04 0 00 032771 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4825 032771 324 00 0 00 032772 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4826 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4827 ;IN THE SUBTEST) TO LOOP ON ERROR^
4828
4829 ;**********
4830
4831
4832 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
4833 ;IS THE FLOATING ZERO.
4834 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
4835 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4836
4837 045604 SN=SN+1
4838 777767 XX=<XX+XX+1>&777777
4839 IFE <XX-1>,<XX=777776>
4840 032772 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
4841 032773 270 00 0 00 034066 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ZERO
4842 032774 312 00 0 00 034066 CAME [-1,,XX] ;CHECK ADDER UPON FAILURE
4843 STOP ^
4844 032775 254 04 0 00 032776 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4845 032776 324 00 0 00 032777 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4846 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4847 ;IN THE SUBTEST) TO LOOP ON ERROR^
4848
4849 ;**********
4850
4851
4852 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
4853 ;IS THE FLOATING ZERO.
4854 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
4855 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4856
4857 045605 SN=SN+1
4858 777757 XX=<XX+XX+1>&777777
4859 IFE <XX-1>,<XX=777776>
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 88-2
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - O + FLT 0 SEQ 0129
4860 032777 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
4861 033000 270 00 0 00 034067 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ZERO
4862 033001 312 00 0 00 034067 CAME [-1,,XX] ;CHECK ADDER UPON FAILURE
4863 STOP ^
4864 033002 254 04 0 00 033003 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4865 033003 324 00 0 00 033004 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4866 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4867 ;IN THE SUBTEST) TO LOOP ON ERROR^
4868
4869 ;**********
4870
4871
4872 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
4873 ;IS THE FLOATING ZERO.
4874 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
4875 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4876
4877 045606 SN=SN+1
4878 777737 XX=<XX+XX+1>&777777
4879 IFE <XX-1>,<XX=777776>
4880 033004 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
4881 033005 270 00 0 00 034070 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ZERO
4882 033006 312 00 0 00 034070 CAME [-1,,XX] ;CHECK ADDER UPON FAILURE
4883 STOP ^
4884 033007 254 04 0 00 033010 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4885 033010 324 00 0 00 033011 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4886 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4887 ;IN THE SUBTEST) TO LOOP ON ERROR^
4888
4889 ;**********
4890
4891
4892 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
4893 ;IS THE FLOATING ZERO.
4894 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
4895 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4896
4897 045607 SN=SN+1
4898 777677 XX=<XX+XX+1>&777777
4899 IFE <XX-1>,<XX=777776>
4900 033011 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
4901 033012 270 00 0 00 034071 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ZERO
4902 033013 312 00 0 00 034071 CAME [-1,,XX] ;CHECK ADDER UPON FAILURE
4903 STOP ^
4904 033014 254 04 0 00 033015 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4905 033015 324 00 0 00 033016 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4906 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4907 ;IN THE SUBTEST) TO LOOP ON ERROR^
4908
4909 ;**********
4910
4911
4912 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
4913 ;IS THE FLOATING ZERO.
4914 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 88-3
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - O + FLT 0 SEQ 0130
4915 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4916
4917 045610 SN=SN+1
4918 777577 XX=<XX+XX+1>&777777
4919 IFE <XX-1>,<XX=777776>
4920 033016 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
4921 033017 270 00 0 00 034072 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ZERO
4922 033020 312 00 0 00 034072 CAME [-1,,XX] ;CHECK ADDER UPON FAILURE
4923 STOP ^
4924 033021 254 04 0 00 033022 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4925 033022 324 00 0 00 033023 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4926 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4927 ;IN THE SUBTEST) TO LOOP ON ERROR^
4928
4929 ;**********
4930
4931
4932 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
4933 ;IS THE FLOATING ZERO.
4934 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
4935 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4936
4937 045611 SN=SN+1
4938 777377 XX=<XX+XX+1>&777777
4939 IFE <XX-1>,<XX=777776>
4940 033023 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
4941 033024 270 00 0 00 034073 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ZERO
4942 033025 312 00 0 00 034073 CAME [-1,,XX] ;CHECK ADDER UPON FAILURE
4943 STOP ^
4944 033026 254 04 0 00 033027 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4945 033027 324 00 0 00 033030 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4946 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4947 ;IN THE SUBTEST) TO LOOP ON ERROR^
4948
4949 ;**********
4950
4951
4952 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
4953 ;IS THE FLOATING ZERO.
4954 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
4955 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4956
4957 045612 SN=SN+1
4958 776777 XX=<XX+XX+1>&777777
4959 IFE <XX-1>,<XX=777776>
4960 033030 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
4961 033031 270 00 0 00 034074 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ZERO
4962 033032 312 00 0 00 034074 CAME [-1,,XX] ;CHECK ADDER UPON FAILURE
4963 STOP ^
4964 033033 254 04 0 00 033034 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4965 033034 324 00 0 00 033035 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4966 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4967 ;IN THE SUBTEST) TO LOOP ON ERROR^
4968
4969 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 88-4
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - O + FLT 0 SEQ 0131
4970
4971
4972 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
4973 ;IS THE FLOATING ZERO.
4974 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
4975 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4976
4977 045613 SN=SN+1
4978 775777 XX=<XX+XX+1>&777777
4979 IFE <XX-1>,<XX=777776>
4980 033035 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
4981 033036 270 00 0 00 034075 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ZERO
4982 033037 312 00 0 00 034075 CAME [-1,,XX] ;CHECK ADDER UPON FAILURE
4983 STOP ^
4984 033040 254 04 0 00 033041 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4985 033041 324 00 0 00 033042 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4986 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4987 ;IN THE SUBTEST) TO LOOP ON ERROR^
4988
4989 ;**********
4990
4991
4992 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
4993 ;IS THE FLOATING ZERO.
4994 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
4995 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
4996
4997 045614 SN=SN+1
4998 773777 XX=<XX+XX+1>&777777
4999 IFE <XX-1>,<XX=777776>
5000 033042 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
5001 033043 270 00 0 00 034076 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ZERO
5002 033044 312 00 0 00 034076 CAME [-1,,XX] ;CHECK ADDER UPON FAILURE
5003 STOP ^
5004 033045 254 04 0 00 033046 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5005 033046 324 00 0 00 033047 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5006 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5007 ;IN THE SUBTEST) TO LOOP ON ERROR^
5008
5009 ;**********
5010
5011
5012 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
5013 ;IS THE FLOATING ZERO.
5014 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
5015 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5016
5017 045615 SN=SN+1
5018 767777 XX=<XX+XX+1>&777777
5019 IFE <XX-1>,<XX=777776>
5020 033047 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
5021 033050 270 00 0 00 034077 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ZERO
5022 033051 312 00 0 00 034077 CAME [-1,,XX] ;CHECK ADDER UPON FAILURE
5023 STOP ^
5024 033052 254 04 0 00 033053 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 88-5
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - O + FLT 0 SEQ 0132
5025 033053 324 00 0 00 033054 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5026 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5027 ;IN THE SUBTEST) TO LOOP ON ERROR^
5028
5029 ;**********
5030
5031
5032 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
5033 ;IS THE FLOATING ZERO.
5034 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
5035 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5036
5037 045616 SN=SN+1
5038 757777 XX=<XX+XX+1>&777777
5039 IFE <XX-1>,<XX=777776>
5040 033054 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
5041 033055 270 00 0 00 034100 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ZERO
5042 033056 312 00 0 00 034100 CAME [-1,,XX] ;CHECK ADDER UPON FAILURE
5043 STOP ^
5044 033057 254 04 0 00 033060 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5045 033060 324 00 0 00 033061 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5046 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5047 ;IN THE SUBTEST) TO LOOP ON ERROR^
5048
5049 ;**********
5050
5051
5052 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
5053 ;IS THE FLOATING ZERO.
5054 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
5055 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5056
5057 045617 SN=SN+1
5058 737777 XX=<XX+XX+1>&777777
5059 IFE <XX-1>,<XX=777776>
5060 033061 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
5061 033062 270 00 0 00 034101 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ZERO
5062 033063 312 00 0 00 034101 CAME [-1,,XX] ;CHECK ADDER UPON FAILURE
5063 STOP ^
5064 033064 254 04 0 00 033065 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5065 033065 324 00 0 00 033066 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5066 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5067 ;IN THE SUBTEST) TO LOOP ON ERROR^
5068
5069 ;**********
5070
5071
5072 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
5073 ;IS THE FLOATING ZERO.
5074 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
5075 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5076
5077 045620 SN=SN+1
5078 677777 XX=<XX+XX+1>&777777
5079 IFE <XX-1>,<XX=777776>
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 88-6
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - O + FLT 0 SEQ 0133
5080 033066 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
5081 033067 270 00 0 00 034102 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ZERO
5082 033070 312 00 0 00 034102 CAME [-1,,XX] ;CHECK ADDER UPON FAILURE
5083 STOP ^
5084 033071 254 04 0 00 033072 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5085 033072 324 00 0 00 033073 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5086 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5087 ;IN THE SUBTEST) TO LOOP ON ERROR^
5088
5089 ;**********
5090
5091
5092 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
5093 ;IS THE FLOATING ZERO.
5094 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
5095 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5096
5097 045621 SN=SN+1
5098 577777 XX=<XX+XX+1>&777777
5099 IFE <XX-1>,<XX=777776>
5100 033073 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
5101 033074 270 00 0 00 034103 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ZERO
5102 033075 312 00 0 00 034103 CAME [-1,,XX] ;CHECK ADDER UPON FAILURE
5103 STOP ^
5104 033076 254 04 0 00 033077 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5105 033077 324 00 0 00 033100 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5106 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5107 ;IN THE SUBTEST) TO LOOP ON ERROR^
5108
5109 ;**********
5110
5111
5112 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
5113 ;IS THE FLOATING ZERO.
5114 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
5115 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5116
5117 045622 SN=SN+1
5118 377777 XX=<XX+XX+1>&777777
5119 IFE <XX-1>,<XX=777776>
5120 033100 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
5121 033101 270 00 0 00 034104 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ZERO
5122 033102 312 00 0 00 034104 CAME [-1,,XX] ;CHECK ADDER UPON FAILURE
5123 STOP ^
5124 033103 254 04 0 00 033104 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5125 033104 324 00 0 00 033105 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5126 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5127 ;IN THE SUBTEST) TO LOOP ON ERROR^
5128
5129 ;**********
5130
5131 PAGE
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 88-7
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - O + FLT 0 SEQ 0134
5132 000000 XX=0
5133
5134 REPEAT ^D18,<
5135 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
5136 ;IS THE FLOATING ZERO.
5137 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
5138 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5139
5140 SN=SN+1
5141 XX=<XX+XX+1>&777777
5142 IFE <XX-1>,<XX=777776>
5143 SETZ ;PRELOAD AC WITH 0
5144 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ZERO
5145 CAME [XX,,-1] ;CHECK ADDER UPON FAILURE
5146 STOP
5147
5148 ;**********
5149 >
5150
5151 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
5152 ;IS THE FLOATING ZERO.
5153 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
5154 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5155
5156 045623 SN=SN+1
5157 000001 XX=<XX+XX+1>&777777
5158 777776 IFE <XX-1>,<XX=777776>
5159 033105 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
5160 033106 270 00 0 00 034105 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ZERO
5161 033107 312 00 0 00 034105 CAME [XX,,-1] ;CHECK ADDER UPON FAILURE
5162 STOP ^
5163 033110 254 04 0 00 033111 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5164 033111 324 00 0 00 033112 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5165 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5166 ;IN THE SUBTEST) TO LOOP ON ERROR^
5167
5168 ;**********
5169
5170
5171 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
5172 ;IS THE FLOATING ZERO.
5173 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
5174 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5175
5176 045624 SN=SN+1
5177 777775 XX=<XX+XX+1>&777777
5178 IFE <XX-1>,<XX=777776>
5179 033112 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
5180 033113 270 00 0 00 034106 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ZERO
5181 033114 312 00 0 00 034106 CAME [XX,,-1] ;CHECK ADDER UPON FAILURE
5182 STOP ^
5183 033115 254 04 0 00 033116 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5184 033116 324 00 0 00 033117 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5185 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5186 ;IN THE SUBTEST) TO LOOP ON ERROR^
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 88-8
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - O + FLT 0 SEQ 0135
5187
5188 ;**********
5189
5190
5191 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
5192 ;IS THE FLOATING ZERO.
5193 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
5194 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5195
5196 045625 SN=SN+1
5197 777773 XX=<XX+XX+1>&777777
5198 IFE <XX-1>,<XX=777776>
5199 033117 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
5200 033120 270 00 0 00 034107 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ZERO
5201 033121 312 00 0 00 034107 CAME [XX,,-1] ;CHECK ADDER UPON FAILURE
5202 STOP ^
5203 033122 254 04 0 00 033123 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5204 033123 324 00 0 00 033124 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5205 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5206 ;IN THE SUBTEST) TO LOOP ON ERROR^
5207
5208 ;**********
5209
5210
5211 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
5212 ;IS THE FLOATING ZERO.
5213 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
5214 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5215
5216 045626 SN=SN+1
5217 777767 XX=<XX+XX+1>&777777
5218 IFE <XX-1>,<XX=777776>
5219 033124 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
5220 033125 270 00 0 00 034110 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ZERO
5221 033126 312 00 0 00 034110 CAME [XX,,-1] ;CHECK ADDER UPON FAILURE
5222 STOP ^
5223 033127 254 04 0 00 033130 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5224 033130 324 00 0 00 033131 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5225 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5226 ;IN THE SUBTEST) TO LOOP ON ERROR^
5227
5228 ;**********
5229
5230
5231 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
5232 ;IS THE FLOATING ZERO.
5233 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
5234 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5235
5236 045627 SN=SN+1
5237 777757 XX=<XX+XX+1>&777777
5238 IFE <XX-1>,<XX=777776>
5239 033131 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
5240 033132 270 00 0 00 034111 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ZERO
5241 033133 312 00 0 00 034111 CAME [XX,,-1] ;CHECK ADDER UPON FAILURE
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 88-9
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - O + FLT 0 SEQ 0136
5242 STOP ^
5243 033134 254 04 0 00 033135 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5244 033135 324 00 0 00 033136 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5245 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5246 ;IN THE SUBTEST) TO LOOP ON ERROR^
5247
5248 ;**********
5249
5250
5251 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
5252 ;IS THE FLOATING ZERO.
5253 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
5254 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5255
5256 045630 SN=SN+1
5257 777737 XX=<XX+XX+1>&777777
5258 IFE <XX-1>,<XX=777776>
5259 033136 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
5260 033137 270 00 0 00 034112 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ZERO
5261 033140 312 00 0 00 034112 CAME [XX,,-1] ;CHECK ADDER UPON FAILURE
5262 STOP ^
5263 033141 254 04 0 00 033142 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5264 033142 324 00 0 00 033143 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5265 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5266 ;IN THE SUBTEST) TO LOOP ON ERROR^
5267
5268 ;**********
5269
5270
5271 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
5272 ;IS THE FLOATING ZERO.
5273 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
5274 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5275
5276 045631 SN=SN+1
5277 777677 XX=<XX+XX+1>&777777
5278 IFE <XX-1>,<XX=777776>
5279 033143 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
5280 033144 270 00 0 00 034113 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ZERO
5281 033145 312 00 0 00 034113 CAME [XX,,-1] ;CHECK ADDER UPON FAILURE
5282 STOP ^
5283 033146 254 04 0 00 033147 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5284 033147 324 00 0 00 033150 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5285 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5286 ;IN THE SUBTEST) TO LOOP ON ERROR^
5287
5288 ;**********
5289
5290
5291 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
5292 ;IS THE FLOATING ZERO.
5293 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
5294 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5295
5296 045632 SN=SN+1
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 88-10
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - O + FLT 0 SEQ 0137
5297 777577 XX=<XX+XX+1>&777777
5298 IFE <XX-1>,<XX=777776>
5299 033150 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
5300 033151 270 00 0 00 034114 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ZERO
5301 033152 312 00 0 00 034114 CAME [XX,,-1] ;CHECK ADDER UPON FAILURE
5302 STOP ^
5303 033153 254 04 0 00 033154 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5304 033154 324 00 0 00 033155 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5305 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5306 ;IN THE SUBTEST) TO LOOP ON ERROR^
5307
5308 ;**********
5309
5310
5311 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
5312 ;IS THE FLOATING ZERO.
5313 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
5314 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5315
5316 045633 SN=SN+1
5317 777377 XX=<XX+XX+1>&777777
5318 IFE <XX-1>,<XX=777776>
5319 033155 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
5320 033156 270 00 0 00 034115 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ZERO
5321 033157 312 00 0 00 034115 CAME [XX,,-1] ;CHECK ADDER UPON FAILURE
5322 STOP ^
5323 033160 254 04 0 00 033161 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5324 033161 324 00 0 00 033162 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5325 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5326 ;IN THE SUBTEST) TO LOOP ON ERROR^
5327
5328 ;**********
5329
5330
5331 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
5332 ;IS THE FLOATING ZERO.
5333 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
5334 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5335
5336 045634 SN=SN+1
5337 776777 XX=<XX+XX+1>&777777
5338 IFE <XX-1>,<XX=777776>
5339 033162 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
5340 033163 270 00 0 00 034116 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ZERO
5341 033164 312 00 0 00 034116 CAME [XX,,-1] ;CHECK ADDER UPON FAILURE
5342 STOP ^
5343 033165 254 04 0 00 033166 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5344 033166 324 00 0 00 033167 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5345 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5346 ;IN THE SUBTEST) TO LOOP ON ERROR^
5347
5348 ;**********
5349
5350
5351 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 88-11
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - O + FLT 0 SEQ 0138
5352 ;IS THE FLOATING ZERO.
5353 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
5354 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5355
5356 045635 SN=SN+1
5357 775777 XX=<XX+XX+1>&777777
5358 IFE <XX-1>,<XX=777776>
5359 033167 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
5360 033170 270 00 0 00 034117 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ZERO
5361 033171 312 00 0 00 034117 CAME [XX,,-1] ;CHECK ADDER UPON FAILURE
5362 STOP ^
5363 033172 254 04 0 00 033173 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5364 033173 324 00 0 00 033174 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5365 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5366 ;IN THE SUBTEST) TO LOOP ON ERROR^
5367
5368 ;**********
5369
5370
5371 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
5372 ;IS THE FLOATING ZERO.
5373 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
5374 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5375
5376 045636 SN=SN+1
5377 773777 XX=<XX+XX+1>&777777
5378 IFE <XX-1>,<XX=777776>
5379 033174 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
5380 033175 270 00 0 00 034120 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ZERO
5381 033176 312 00 0 00 034120 CAME [XX,,-1] ;CHECK ADDER UPON FAILURE
5382 STOP ^
5383 033177 254 04 0 00 033200 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5384 033200 324 00 0 00 033201 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5385 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5386 ;IN THE SUBTEST) TO LOOP ON ERROR^
5387
5388 ;**********
5389
5390
5391 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
5392 ;IS THE FLOATING ZERO.
5393 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
5394 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5395
5396 045637 SN=SN+1
5397 767777 XX=<XX+XX+1>&777777
5398 IFE <XX-1>,<XX=777776>
5399 033201 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
5400 033202 270 00 0 00 034121 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ZERO
5401 033203 312 00 0 00 034121 CAME [XX,,-1] ;CHECK ADDER UPON FAILURE
5402 STOP ^
5403 033204 254 04 0 00 033205 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5404 033205 324 00 0 00 033206 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5405 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5406 ;IN THE SUBTEST) TO LOOP ON ERROR^
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 88-12
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - O + FLT 0 SEQ 0139
5407
5408 ;**********
5409
5410
5411 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
5412 ;IS THE FLOATING ZERO.
5413 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
5414 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5415
5416 045640 SN=SN+1
5417 757777 XX=<XX+XX+1>&777777
5418 IFE <XX-1>,<XX=777776>
5419 033206 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
5420 033207 270 00 0 00 034122 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ZERO
5421 033210 312 00 0 00 034122 CAME [XX,,-1] ;CHECK ADDER UPON FAILURE
5422 STOP ^
5423 033211 254 04 0 00 033212 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5424 033212 324 00 0 00 033213 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5425 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5426 ;IN THE SUBTEST) TO LOOP ON ERROR^
5427
5428 ;**********
5429
5430
5431 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
5432 ;IS THE FLOATING ZERO.
5433 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
5434 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5435
5436 045641 SN=SN+1
5437 737777 XX=<XX+XX+1>&777777
5438 IFE <XX-1>,<XX=777776>
5439 033213 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
5440 033214 270 00 0 00 034123 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ZERO
5441 033215 312 00 0 00 034123 CAME [XX,,-1] ;CHECK ADDER UPON FAILURE
5442 STOP ^
5443 033216 254 04 0 00 033217 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5444 033217 324 00 0 00 033220 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5445 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5446 ;IN THE SUBTEST) TO LOOP ON ERROR^
5447
5448 ;**********
5449
5450
5451 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
5452 ;IS THE FLOATING ZERO.
5453 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
5454 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5455
5456 045642 SN=SN+1
5457 677777 XX=<XX+XX+1>&777777
5458 IFE <XX-1>,<XX=777776>
5459 033220 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
5460 033221 270 00 0 00 034124 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ZERO
5461 033222 312 00 0 00 034124 CAME [XX,,-1] ;CHECK ADDER UPON FAILURE
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 88-13
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - O + FLT 0 SEQ 0140
5462 STOP ^
5463 033223 254 04 0 00 033224 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5464 033224 324 00 0 00 033225 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5465 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5466 ;IN THE SUBTEST) TO LOOP ON ERROR^
5467
5468 ;**********
5469
5470
5471 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
5472 ;IS THE FLOATING ZERO.
5473 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
5474 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5475
5476 045643 SN=SN+1
5477 577777 XX=<XX+XX+1>&777777
5478 IFE <XX-1>,<XX=777776>
5479 033225 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
5480 033226 270 00 0 00 034125 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ZERO
5481 033227 312 00 0 00 034125 CAME [XX,,-1] ;CHECK ADDER UPON FAILURE
5482 STOP ^
5483 033230 254 04 0 00 033231 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5484 033231 324 00 0 00 033232 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5485 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5486 ;IN THE SUBTEST) TO LOOP ON ERROR^
5487
5488 ;**********
5489
5490
5491 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
5492 ;IS THE FLOATING ZERO.
5493 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
5494 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5495
5496 045644 SN=SN+1
5497 377777 XX=<XX+XX+1>&777777
5498 IFE <XX-1>,<XX=777776>
5499 033232 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
5500 033233 270 00 0 00 034126 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ZERO
5501 033234 312 00 0 00 034126 CAME [XX,,-1] ;CHECK ADDER UPON FAILURE
5502 STOP ^
5503 033235 254 04 0 00 033236 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5504 033236 324 00 0 00 033237 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5505 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5506 ;IN THE SUBTEST) TO LOOP ON ERROR^
5507
5508 ;**********
5509
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 89
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - FLT 1 + FLT 1 SEQ 0141
5510 SUBTTL SUPPLEMENTARY ADDER TESTS - FLT 1 + FLT 1
5511
5512 ;**********
5513
5514 045700 SN=45700
5515 000000 XX=0
5516
5517 B45700: REPEAT ^D17,<
5518 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
5519 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
5520 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
5521 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
5522 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5523
5524 SN=SN+1
5525 XX=XX+XX
5526 IFE XX,<XX=1>
5527 HRRZI XX ;PRELOAD AC WITH A FLOATING ONE
5528 ADD [XX] ;ADD A FLOATING ONE TO ITSELF
5529 CAME [XX+XX] ;CHECK ADDER UPON FAILURE
5530 STOP
5531
5532 ;**********
5533 >
5534
5535 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
5536 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
5537 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
5538 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
5539 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5540
5541 045701 SN=SN+1
5542 000000 XX=XX+XX
5543 000001 IFE XX,<XX=1>
5544 033237 551 00 0 00 000001 HRRZI XX ;PRELOAD AC WITH A FLOATING ONE
5545 033240 270 00 0 00 034017 ADD [XX] ;ADD A FLOATING ONE TO ITSELF
5546 033241 312 00 0 00 034020 CAME [XX+XX] ;CHECK ADDER UPON FAILURE
5547 STOP ^
5548 033242 254 04 0 00 033243 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5549 033243 324 00 0 00 033244 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5550 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5551 ;IN THE SUBTEST) TO LOOP ON ERROR^
5552
5553 ;**********
5554
5555
5556 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
5557 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
5558 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
5559 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
5560 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5561
5562 045702 SN=SN+1
5563 000002 XX=XX+XX
5564 IFE XX,<XX=1>
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 89-1
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - FLT 1 + FLT 1 SEQ 0142
5565 033244 551 00 0 00 000002 HRRZI XX ;PRELOAD AC WITH A FLOATING ONE
5566 033245 270 00 0 00 034020 ADD [XX] ;ADD A FLOATING ONE TO ITSELF
5567 033246 312 00 0 00 034021 CAME [XX+XX] ;CHECK ADDER UPON FAILURE
5568 STOP ^
5569 033247 254 04 0 00 033250 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5570 033250 324 00 0 00 033251 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5571 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5572 ;IN THE SUBTEST) TO LOOP ON ERROR^
5573
5574 ;**********
5575
5576
5577 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
5578 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
5579 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
5580 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
5581 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5582
5583 045703 SN=SN+1
5584 000004 XX=XX+XX
5585 IFE XX,<XX=1>
5586 033251 551 00 0 00 000004 HRRZI XX ;PRELOAD AC WITH A FLOATING ONE
5587 033252 270 00 0 00 034021 ADD [XX] ;ADD A FLOATING ONE TO ITSELF
5588 033253 312 00 0 00 034022 CAME [XX+XX] ;CHECK ADDER UPON FAILURE
5589 STOP ^
5590 033254 254 04 0 00 033255 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5591 033255 324 00 0 00 033256 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5592 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5593 ;IN THE SUBTEST) TO LOOP ON ERROR^
5594
5595 ;**********
5596
5597
5598 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
5599 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
5600 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
5601 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
5602 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5603
5604 045704 SN=SN+1
5605 000010 XX=XX+XX
5606 IFE XX,<XX=1>
5607 033256 551 00 0 00 000010 HRRZI XX ;PRELOAD AC WITH A FLOATING ONE
5608 033257 270 00 0 00 034022 ADD [XX] ;ADD A FLOATING ONE TO ITSELF
5609 033260 312 00 0 00 034023 CAME [XX+XX] ;CHECK ADDER UPON FAILURE
5610 STOP ^
5611 033261 254 04 0 00 033262 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5612 033262 324 00 0 00 033263 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5613 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5614 ;IN THE SUBTEST) TO LOOP ON ERROR^
5615
5616 ;**********
5617
5618
5619 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 89-2
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - FLT 1 + FLT 1 SEQ 0143
5620 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
5621 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
5622 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
5623 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5624
5625 045705 SN=SN+1
5626 000020 XX=XX+XX
5627 IFE XX,<XX=1>
5628 033263 551 00 0 00 000020 HRRZI XX ;PRELOAD AC WITH A FLOATING ONE
5629 033264 270 00 0 00 034023 ADD [XX] ;ADD A FLOATING ONE TO ITSELF
5630 033265 312 00 0 00 034024 CAME [XX+XX] ;CHECK ADDER UPON FAILURE
5631 STOP ^
5632 033266 254 04 0 00 033267 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5633 033267 324 00 0 00 033270 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5634 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5635 ;IN THE SUBTEST) TO LOOP ON ERROR^
5636
5637 ;**********
5638
5639
5640 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
5641 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
5642 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
5643 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
5644 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5645
5646 045706 SN=SN+1
5647 000040 XX=XX+XX
5648 IFE XX,<XX=1>
5649 033270 551 00 0 00 000040 HRRZI XX ;PRELOAD AC WITH A FLOATING ONE
5650 033271 270 00 0 00 034024 ADD [XX] ;ADD A FLOATING ONE TO ITSELF
5651 033272 312 00 0 00 034025 CAME [XX+XX] ;CHECK ADDER UPON FAILURE
5652 STOP ^
5653 033273 254 04 0 00 033274 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5654 033274 324 00 0 00 033275 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5655 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5656 ;IN THE SUBTEST) TO LOOP ON ERROR^
5657
5658 ;**********
5659
5660
5661 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
5662 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
5663 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
5664 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
5665 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5666
5667 045707 SN=SN+1
5668 000100 XX=XX+XX
5669 IFE XX,<XX=1>
5670 033275 551 00 0 00 000100 HRRZI XX ;PRELOAD AC WITH A FLOATING ONE
5671 033276 270 00 0 00 034025 ADD [XX] ;ADD A FLOATING ONE TO ITSELF
5672 033277 312 00 0 00 034026 CAME [XX+XX] ;CHECK ADDER UPON FAILURE
5673 STOP ^
5674 033300 254 04 0 00 033301 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 89-3
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - FLT 1 + FLT 1 SEQ 0144
5675 033301 324 00 0 00 033302 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5676 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5677 ;IN THE SUBTEST) TO LOOP ON ERROR^
5678
5679 ;**********
5680
5681
5682 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
5683 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
5684 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
5685 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
5686 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5687
5688 045710 SN=SN+1
5689 000200 XX=XX+XX
5690 IFE XX,<XX=1>
5691 033302 551 00 0 00 000200 HRRZI XX ;PRELOAD AC WITH A FLOATING ONE
5692 033303 270 00 0 00 034026 ADD [XX] ;ADD A FLOATING ONE TO ITSELF
5693 033304 312 00 0 00 034027 CAME [XX+XX] ;CHECK ADDER UPON FAILURE
5694 STOP ^
5695 033305 254 04 0 00 033306 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5696 033306 324 00 0 00 033307 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5697 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5698 ;IN THE SUBTEST) TO LOOP ON ERROR^
5699
5700 ;**********
5701
5702
5703 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
5704 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
5705 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
5706 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
5707 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5708
5709 045711 SN=SN+1
5710 000400 XX=XX+XX
5711 IFE XX,<XX=1>
5712 033307 551 00 0 00 000400 HRRZI XX ;PRELOAD AC WITH A FLOATING ONE
5713 033310 270 00 0 00 034027 ADD [XX] ;ADD A FLOATING ONE TO ITSELF
5714 033311 312 00 0 00 034030 CAME [XX+XX] ;CHECK ADDER UPON FAILURE
5715 STOP ^
5716 033312 254 04 0 00 033313 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5717 033313 324 00 0 00 033314 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5718 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5719 ;IN THE SUBTEST) TO LOOP ON ERROR^
5720
5721 ;**********
5722
5723
5724 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
5725 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
5726 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
5727 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
5728 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5729
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 89-4
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - FLT 1 + FLT 1 SEQ 0145
5730 045712 SN=SN+1
5731 001000 XX=XX+XX
5732 IFE XX,<XX=1>
5733 033314 551 00 0 00 001000 HRRZI XX ;PRELOAD AC WITH A FLOATING ONE
5734 033315 270 00 0 00 034030 ADD [XX] ;ADD A FLOATING ONE TO ITSELF
5735 033316 312 00 0 00 034031 CAME [XX+XX] ;CHECK ADDER UPON FAILURE
5736 STOP ^
5737 033317 254 04 0 00 033320 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5738 033320 324 00 0 00 033321 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5739 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5740 ;IN THE SUBTEST) TO LOOP ON ERROR^
5741
5742 ;**********
5743
5744
5745 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
5746 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
5747 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
5748 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
5749 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5750
5751 045713 SN=SN+1
5752 002000 XX=XX+XX
5753 IFE XX,<XX=1>
5754 033321 551 00 0 00 002000 HRRZI XX ;PRELOAD AC WITH A FLOATING ONE
5755 033322 270 00 0 00 034031 ADD [XX] ;ADD A FLOATING ONE TO ITSELF
5756 033323 312 00 0 00 034032 CAME [XX+XX] ;CHECK ADDER UPON FAILURE
5757 STOP ^
5758 033324 254 04 0 00 033325 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5759 033325 324 00 0 00 033326 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5760 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5761 ;IN THE SUBTEST) TO LOOP ON ERROR^
5762
5763 ;**********
5764
5765
5766 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
5767 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
5768 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
5769 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
5770 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5771
5772 045714 SN=SN+1
5773 004000 XX=XX+XX
5774 IFE XX,<XX=1>
5775 033326 551 00 0 00 004000 HRRZI XX ;PRELOAD AC WITH A FLOATING ONE
5776 033327 270 00 0 00 034032 ADD [XX] ;ADD A FLOATING ONE TO ITSELF
5777 033330 312 00 0 00 034033 CAME [XX+XX] ;CHECK ADDER UPON FAILURE
5778 STOP ^
5779 033331 254 04 0 00 033332 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5780 033332 324 00 0 00 033333 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5781 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5782 ;IN THE SUBTEST) TO LOOP ON ERROR^
5783
5784 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 89-5
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - FLT 1 + FLT 1 SEQ 0146
5785
5786
5787 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
5788 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
5789 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
5790 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
5791 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5792
5793 045715 SN=SN+1
5794 010000 XX=XX+XX
5795 IFE XX,<XX=1>
5796 033333 551 00 0 00 010000 HRRZI XX ;PRELOAD AC WITH A FLOATING ONE
5797 033334 270 00 0 00 034033 ADD [XX] ;ADD A FLOATING ONE TO ITSELF
5798 033335 312 00 0 00 034034 CAME [XX+XX] ;CHECK ADDER UPON FAILURE
5799 STOP ^
5800 033336 254 04 0 00 033337 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5801 033337 324 00 0 00 033340 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5802 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5803 ;IN THE SUBTEST) TO LOOP ON ERROR^
5804
5805 ;**********
5806
5807
5808 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
5809 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
5810 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
5811 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
5812 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5813
5814 045716 SN=SN+1
5815 020000 XX=XX+XX
5816 IFE XX,<XX=1>
5817 033340 551 00 0 00 020000 HRRZI XX ;PRELOAD AC WITH A FLOATING ONE
5818 033341 270 00 0 00 034034 ADD [XX] ;ADD A FLOATING ONE TO ITSELF
5819 033342 312 00 0 00 034035 CAME [XX+XX] ;CHECK ADDER UPON FAILURE
5820 STOP ^
5821 033343 254 04 0 00 033344 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5822 033344 324 00 0 00 033345 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5823 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5824 ;IN THE SUBTEST) TO LOOP ON ERROR^
5825
5826 ;**********
5827
5828
5829 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
5830 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
5831 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
5832 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
5833 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5834
5835 045717 SN=SN+1
5836 040000 XX=XX+XX
5837 IFE XX,<XX=1>
5838 033345 551 00 0 00 040000 HRRZI XX ;PRELOAD AC WITH A FLOATING ONE
5839 033346 270 00 0 00 034035 ADD [XX] ;ADD A FLOATING ONE TO ITSELF
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 89-6
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - FLT 1 + FLT 1 SEQ 0147
5840 033347 312 00 0 00 034036 CAME [XX+XX] ;CHECK ADDER UPON FAILURE
5841 STOP ^
5842 033350 254 04 0 00 033351 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5843 033351 324 00 0 00 033352 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5844 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5845 ;IN THE SUBTEST) TO LOOP ON ERROR^
5846
5847 ;**********
5848
5849
5850 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
5851 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
5852 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
5853 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
5854 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5855
5856 045720 SN=SN+1
5857 100000 XX=XX+XX
5858 IFE XX,<XX=1>
5859 033352 551 00 0 00 100000 HRRZI XX ;PRELOAD AC WITH A FLOATING ONE
5860 033353 270 00 0 00 034036 ADD [XX] ;ADD A FLOATING ONE TO ITSELF
5861 033354 312 00 0 00 034037 CAME [XX+XX] ;CHECK ADDER UPON FAILURE
5862 STOP ^
5863 033355 254 04 0 00 033356 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5864 033356 324 00 0 00 033357 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5865 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5866 ;IN THE SUBTEST) TO LOOP ON ERROR^
5867
5868 ;**********
5869
5870
5871 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
5872 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
5873 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
5874 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
5875 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5876
5877 045721 SN=SN+1
5878 200000 XX=XX+XX
5879 IFE XX,<XX=1>
5880 033357 551 00 0 00 200000 HRRZI XX ;PRELOAD AC WITH A FLOATING ONE
5881 033360 270 00 0 00 034037 ADD [XX] ;ADD A FLOATING ONE TO ITSELF
5882 033361 312 00 0 00 034040 CAME [XX+XX] ;CHECK ADDER UPON FAILURE
5883 STOP ^
5884 033362 254 04 0 00 033363 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5885 033363 324 00 0 00 033364 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5886 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5887 ;IN THE SUBTEST) TO LOOP ON ERROR^
5888
5889 ;**********
5890
5891 PAGE
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 89-7
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - FLT 1 + FLT 1 SEQ 0148
5892 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
5893 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
5894 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
5895 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
5896 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5897 045722 SN=SN+1
5898 400000 XX=XX+XX
5899 033364 551 00 0 00 400000 HRRZI XX ;PRELOAD AC WITH A FLOATING ONE
5900 033365 270 00 0 00 034040 ADD [XX] ;ADD A FLOATING ONE TO ITSELF
5901 033366 312 00 0 00 034041 CAME [1,,0] ;CHECK ADDRESS UPON FAILURE
5902 STOP ^
5903 033367 254 04 0 00 033370 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5904 033370 324 00 0 00 033371 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5905 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5906 ;IN THE SUBTEST) TO LOOP ON ERROR^
5907
5908 ;**********
5909
5910 000000 XX=0
5911
5912 REPEAT ^D18,<
5913 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
5914 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
5915 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
5916 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
5917 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5918
5919 SN=SN+1
5920 XX=XX+XX
5921 IFE XX,<XX=1>
5922 HRLZI XX ;PRELOAD AC WITH A FLOATING ONE
5923 ADD [XX,,0] ;ADD A FLOATING ONE TO ITSELF
5924 CAME [XX+XX,,0] ;CHECK ADDER UPON FAILURE
5925 STOP
5926
5927 ;**********
5928 >
5929
5930 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
5931 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
5932 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
5933 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
5934 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5935
5936 045723 SN=SN+1
5937 000000 XX=XX+XX
5938 000001 IFE XX,<XX=1>
5939 033371 515 00 0 00 000001 HRLZI XX ;PRELOAD AC WITH A FLOATING ONE
5940 033372 270 00 0 00 034041 ADD [XX,,0] ;ADD A FLOATING ONE TO ITSELF
5941 033373 312 00 0 00 034042 CAME [XX+XX,,0] ;CHECK ADDER UPON FAILURE
5942 STOP ^
5943 033374 254 04 0 00 033375 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5944 033375 324 00 0 00 033376 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5945 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5946 ;IN THE SUBTEST) TO LOOP ON ERROR^
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 89-8
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - FLT 1 + FLT 1 SEQ 0149
5947
5948 ;**********
5949
5950
5951 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
5952 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
5953 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
5954 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
5955 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5956
5957 045724 SN=SN+1
5958 000002 XX=XX+XX
5959 IFE XX,<XX=1>
5960 033376 515 00 0 00 000002 HRLZI XX ;PRELOAD AC WITH A FLOATING ONE
5961 033377 270 00 0 00 034042 ADD [XX,,0] ;ADD A FLOATING ONE TO ITSELF
5962 033400 312 00 0 00 034043 CAME [XX+XX,,0] ;CHECK ADDER UPON FAILURE
5963 STOP ^
5964 033401 254 04 0 00 033402 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5965 033402 324 00 0 00 033403 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5966 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5967 ;IN THE SUBTEST) TO LOOP ON ERROR^
5968
5969 ;**********
5970
5971
5972 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
5973 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
5974 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
5975 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
5976 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5977
5978 045725 SN=SN+1
5979 000004 XX=XX+XX
5980 IFE XX,<XX=1>
5981 033403 515 00 0 00 000004 HRLZI XX ;PRELOAD AC WITH A FLOATING ONE
5982 033404 270 00 0 00 034043 ADD [XX,,0] ;ADD A FLOATING ONE TO ITSELF
5983 033405 312 00 0 00 034044 CAME [XX+XX,,0] ;CHECK ADDER UPON FAILURE
5984 STOP ^
5985 033406 254 04 0 00 033407 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5986 033407 324 00 0 00 033410 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5987 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5988 ;IN THE SUBTEST) TO LOOP ON ERROR^
5989
5990 ;**********
5991
5992
5993 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
5994 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
5995 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
5996 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
5997 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
5998
5999 045726 SN=SN+1
6000 000010 XX=XX+XX
6001 IFE XX,<XX=1>
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 89-9
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - FLT 1 + FLT 1 SEQ 0150
6002 033410 515 00 0 00 000010 HRLZI XX ;PRELOAD AC WITH A FLOATING ONE
6003 033411 270 00 0 00 034044 ADD [XX,,0] ;ADD A FLOATING ONE TO ITSELF
6004 033412 312 00 0 00 034045 CAME [XX+XX,,0] ;CHECK ADDER UPON FAILURE
6005 STOP ^
6006 033413 254 04 0 00 033414 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6007 033414 324 00 0 00 033415 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6008 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6009 ;IN THE SUBTEST) TO LOOP ON ERROR^
6010
6011 ;**********
6012
6013
6014 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
6015 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
6016 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
6017 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
6018 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
6019
6020 045727 SN=SN+1
6021 000020 XX=XX+XX
6022 IFE XX,<XX=1>
6023 033415 515 00 0 00 000020 HRLZI XX ;PRELOAD AC WITH A FLOATING ONE
6024 033416 270 00 0 00 034045 ADD [XX,,0] ;ADD A FLOATING ONE TO ITSELF
6025 033417 312 00 0 00 034046 CAME [XX+XX,,0] ;CHECK ADDER UPON FAILURE
6026 STOP ^
6027 033420 254 04 0 00 033421 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6028 033421 324 00 0 00 033422 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6029 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6030 ;IN THE SUBTEST) TO LOOP ON ERROR^
6031
6032 ;**********
6033
6034
6035 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
6036 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
6037 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
6038 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
6039 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
6040
6041 045730 SN=SN+1
6042 000040 XX=XX+XX
6043 IFE XX,<XX=1>
6044 033422 515 00 0 00 000040 HRLZI XX ;PRELOAD AC WITH A FLOATING ONE
6045 033423 270 00 0 00 034046 ADD [XX,,0] ;ADD A FLOATING ONE TO ITSELF
6046 033424 312 00 0 00 034047 CAME [XX+XX,,0] ;CHECK ADDER UPON FAILURE
6047 STOP ^
6048 033425 254 04 0 00 033426 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6049 033426 324 00 0 00 033427 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6050 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6051 ;IN THE SUBTEST) TO LOOP ON ERROR^
6052
6053 ;**********
6054
6055
6056 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 89-10
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - FLT 1 + FLT 1 SEQ 0151
6057 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
6058 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
6059 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
6060 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
6061
6062 045731 SN=SN+1
6063 000100 XX=XX+XX
6064 IFE XX,<XX=1>
6065 033427 515 00 0 00 000100 HRLZI XX ;PRELOAD AC WITH A FLOATING ONE
6066 033430 270 00 0 00 034047 ADD [XX,,0] ;ADD A FLOATING ONE TO ITSELF
6067 033431 312 00 0 00 034050 CAME [XX+XX,,0] ;CHECK ADDER UPON FAILURE
6068 STOP ^
6069 033432 254 04 0 00 033433 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6070 033433 324 00 0 00 033434 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6071 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6072 ;IN THE SUBTEST) TO LOOP ON ERROR^
6073
6074 ;**********
6075
6076
6077 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
6078 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
6079 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
6080 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
6081 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
6082
6083 045732 SN=SN+1
6084 000200 XX=XX+XX
6085 IFE XX,<XX=1>
6086 033434 515 00 0 00 000200 HRLZI XX ;PRELOAD AC WITH A FLOATING ONE
6087 033435 270 00 0 00 034050 ADD [XX,,0] ;ADD A FLOATING ONE TO ITSELF
6088 033436 312 00 0 00 034051 CAME [XX+XX,,0] ;CHECK ADDER UPON FAILURE
6089 STOP ^
6090 033437 254 04 0 00 033440 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6091 033440 324 00 0 00 033441 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6092 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6093 ;IN THE SUBTEST) TO LOOP ON ERROR^
6094
6095 ;**********
6096
6097
6098 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
6099 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
6100 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
6101 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
6102 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
6103
6104 045733 SN=SN+1
6105 000400 XX=XX+XX
6106 IFE XX,<XX=1>
6107 033441 515 00 0 00 000400 HRLZI XX ;PRELOAD AC WITH A FLOATING ONE
6108 033442 270 00 0 00 034051 ADD [XX,,0] ;ADD A FLOATING ONE TO ITSELF
6109 033443 312 00 0 00 034052 CAME [XX+XX,,0] ;CHECK ADDER UPON FAILURE
6110 STOP ^
6111 033444 254 04 0 00 033445 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 89-11
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - FLT 1 + FLT 1 SEQ 0152
6112 033445 324 00 0 00 033446 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6113 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6114 ;IN THE SUBTEST) TO LOOP ON ERROR^
6115
6116 ;**********
6117
6118
6119 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
6120 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
6121 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
6122 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
6123 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
6124
6125 045734 SN=SN+1
6126 001000 XX=XX+XX
6127 IFE XX,<XX=1>
6128 033446 515 00 0 00 001000 HRLZI XX ;PRELOAD AC WITH A FLOATING ONE
6129 033447 270 00 0 00 034052 ADD [XX,,0] ;ADD A FLOATING ONE TO ITSELF
6130 033450 312 00 0 00 034053 CAME [XX+XX,,0] ;CHECK ADDER UPON FAILURE
6131 STOP ^
6132 033451 254 04 0 00 033452 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6133 033452 324 00 0 00 033453 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6134 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6135 ;IN THE SUBTEST) TO LOOP ON ERROR^
6136
6137 ;**********
6138
6139
6140 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
6141 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
6142 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
6143 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
6144 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
6145
6146 045735 SN=SN+1
6147 002000 XX=XX+XX
6148 IFE XX,<XX=1>
6149 033453 515 00 0 00 002000 HRLZI XX ;PRELOAD AC WITH A FLOATING ONE
6150 033454 270 00 0 00 034053 ADD [XX,,0] ;ADD A FLOATING ONE TO ITSELF
6151 033455 312 00 0 00 034054 CAME [XX+XX,,0] ;CHECK ADDER UPON FAILURE
6152 STOP ^
6153 033456 254 04 0 00 033457 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6154 033457 324 00 0 00 033460 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6155 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6156 ;IN THE SUBTEST) TO LOOP ON ERROR^
6157
6158 ;**********
6159
6160
6161 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
6162 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
6163 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
6164 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
6165 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
6166
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 89-12
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - FLT 1 + FLT 1 SEQ 0153
6167 045736 SN=SN+1
6168 004000 XX=XX+XX
6169 IFE XX,<XX=1>
6170 033460 515 00 0 00 004000 HRLZI XX ;PRELOAD AC WITH A FLOATING ONE
6171 033461 270 00 0 00 034054 ADD [XX,,0] ;ADD A FLOATING ONE TO ITSELF
6172 033462 312 00 0 00 034055 CAME [XX+XX,,0] ;CHECK ADDER UPON FAILURE
6173 STOP ^
6174 033463 254 04 0 00 033464 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6175 033464 324 00 0 00 033465 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6176 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6177 ;IN THE SUBTEST) TO LOOP ON ERROR^
6178
6179 ;**********
6180
6181
6182 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
6183 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
6184 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
6185 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
6186 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
6187
6188 045737 SN=SN+1
6189 010000 XX=XX+XX
6190 IFE XX,<XX=1>
6191 033465 515 00 0 00 010000 HRLZI XX ;PRELOAD AC WITH A FLOATING ONE
6192 033466 270 00 0 00 034055 ADD [XX,,0] ;ADD A FLOATING ONE TO ITSELF
6193 033467 312 00 0 00 034056 CAME [XX+XX,,0] ;CHECK ADDER UPON FAILURE
6194 STOP ^
6195 033470 254 04 0 00 033471 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6196 033471 324 00 0 00 033472 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6197 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6198 ;IN THE SUBTEST) TO LOOP ON ERROR^
6199
6200 ;**********
6201
6202
6203 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
6204 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
6205 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
6206 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
6207 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
6208
6209 045740 SN=SN+1
6210 020000 XX=XX+XX
6211 IFE XX,<XX=1>
6212 033472 515 00 0 00 020000 HRLZI XX ;PRELOAD AC WITH A FLOATING ONE
6213 033473 270 00 0 00 034056 ADD [XX,,0] ;ADD A FLOATING ONE TO ITSELF
6214 033474 312 00 0 00 034057 CAME [XX+XX,,0] ;CHECK ADDER UPON FAILURE
6215 STOP ^
6216 033475 254 04 0 00 033476 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6217 033476 324 00 0 00 033477 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6218 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6219 ;IN THE SUBTEST) TO LOOP ON ERROR^
6220
6221 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 89-13
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - FLT 1 + FLT 1 SEQ 0154
6222
6223
6224 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
6225 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
6226 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
6227 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
6228 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
6229
6230 045741 SN=SN+1
6231 040000 XX=XX+XX
6232 IFE XX,<XX=1>
6233 033477 515 00 0 00 040000 HRLZI XX ;PRELOAD AC WITH A FLOATING ONE
6234 033500 270 00 0 00 034057 ADD [XX,,0] ;ADD A FLOATING ONE TO ITSELF
6235 033501 312 00 0 00 034060 CAME [XX+XX,,0] ;CHECK ADDER UPON FAILURE
6236 STOP ^
6237 033502 254 04 0 00 033503 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6238 033503 324 00 0 00 033504 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6239 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6240 ;IN THE SUBTEST) TO LOOP ON ERROR^
6241
6242 ;**********
6243
6244
6245 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
6246 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
6247 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
6248 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
6249 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
6250
6251 045742 SN=SN+1
6252 100000 XX=XX+XX
6253 IFE XX,<XX=1>
6254 033504 515 00 0 00 100000 HRLZI XX ;PRELOAD AC WITH A FLOATING ONE
6255 033505 270 00 0 00 034060 ADD [XX,,0] ;ADD A FLOATING ONE TO ITSELF
6256 033506 312 00 0 00 034061 CAME [XX+XX,,0] ;CHECK ADDER UPON FAILURE
6257 STOP ^
6258 033507 254 04 0 00 033510 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6259 033510 324 00 0 00 033511 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6260 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6261 ;IN THE SUBTEST) TO LOOP ON ERROR^
6262
6263 ;**********
6264
6265
6266 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
6267 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
6268 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
6269 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
6270 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
6271
6272 045743 SN=SN+1
6273 200000 XX=XX+XX
6274 IFE XX,<XX=1>
6275 033511 515 00 0 00 200000 HRLZI XX ;PRELOAD AC WITH A FLOATING ONE
6276 033512 270 00 0 00 034061 ADD [XX,,0] ;ADD A FLOATING ONE TO ITSELF
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 89-14
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - FLT 1 + FLT 1 SEQ 0155
6277 033513 312 00 0 00 034062 CAME [XX+XX,,0] ;CHECK ADDER UPON FAILURE
6278 STOP ^
6279 033514 254 04 0 00 033515 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6280 033515 324 00 0 00 033516 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6281 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6282 ;IN THE SUBTEST) TO LOOP ON ERROR^
6283
6284 ;**********
6285
6286
6287 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
6288 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
6289 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
6290 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
6291 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
6292
6293 045744 SN=SN+1
6294 400000 XX=XX+XX
6295 IFE XX,<XX=1>
6296 033516 515 00 0 00 400000 HRLZI XX ;PRELOAD AC WITH A FLOATING ONE
6297 033517 270 00 0 00 034062 ADD [XX,,0] ;ADD A FLOATING ONE TO ITSELF
6298Q 033520 312 00 0 00 034127 CAME [XX+XX,,0] ;CHECK ADDER UPON FAILURE
6299 STOP ^
6300 033521 254 04 0 00 033522 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6301 033522 324 00 0 00 033523 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6302 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6303 ;IN THE SUBTEST) TO LOOP ON ERROR^
6304
6305 ;**********
6306
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 90
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - FLT 0 + 0FLT SEQ 0156
6307 SUBTTL SUPPLEMENTARY ADDER TESTS - FLT 0 + 0FLT
6308
6309 ;**********
6310
6311 046000 SN=46000
6312 000000 XX=0
6313
6314 B46000: REPEAT ^D17,<
6315 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
6316 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
6317 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
6318 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
6319 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
6320
6321 SN=SN+1
6322 XX=<XX+XX+1>&777777
6323 IFE <XX-1>,<XX=777776>
6324 HRROI XX ;PRELOAD AC WITH A FLOATING ZERO
6325 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ITSELF
6326 CAME [-1,,<XX+XX>&777777] ;CHECK ADDER UPON FAILURE
6327 STOP
6328
6329 ;**********
6330 >
6331
6332 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
6333 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
6334 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
6335 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
6336 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
6337
6338 046001 SN=SN+1
6339 000001 XX=<XX+XX+1>&777777
6340 777776 IFE <XX-1>,<XX=777776>
6341 033523 561 00 0 00 777776 HRROI XX ;PRELOAD AC WITH A FLOATING ZERO
6342 033524 270 00 0 00 034063 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ITSELF
6343 033525 312 00 0 00 034130 CAME [-1,,<XX+XX>&777777] ;CHECK ADDER UPON FAILURE
6344 STOP ^
6345 033526 254 04 0 00 033527 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6346 033527 324 00 0 00 033530 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6347 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6348 ;IN THE SUBTEST) TO LOOP ON ERROR^
6349
6350 ;**********
6351
6352
6353 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
6354 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
6355 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
6356 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
6357 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
6358
6359 046002 SN=SN+1
6360 777775 XX=<XX+XX+1>&777777
6361 IFE <XX-1>,<XX=777776>
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 90-1
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - FLT 0 + 0FLT SEQ 0157
6362 033530 561 00 0 00 777775 HRROI XX ;PRELOAD AC WITH A FLOATING ZERO
6363 033531 270 00 0 00 034064 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ITSELF
6364 033532 312 00 0 00 034131 CAME [-1,,<XX+XX>&777777] ;CHECK ADDER UPON FAILURE
6365 STOP ^
6366 033533 254 04 0 00 033534 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6367 033534 324 00 0 00 033535 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6368 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6369 ;IN THE SUBTEST) TO LOOP ON ERROR^
6370
6371 ;**********
6372
6373
6374 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
6375 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
6376 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
6377 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
6378 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
6379
6380 046003 SN=SN+1
6381 777773 XX=<XX+XX+1>&777777
6382 IFE <XX-1>,<XX=777776>
6383 033535 561 00 0 00 777773 HRROI XX ;PRELOAD AC WITH A FLOATING ZERO
6384 033536 270 00 0 00 034065 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ITSELF
6385 033537 312 00 0 00 034132 CAME [-1,,<XX+XX>&777777] ;CHECK ADDER UPON FAILURE
6386 STOP ^
6387 033540 254 04 0 00 033541 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6388 033541 324 00 0 00 033542 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6389 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6390 ;IN THE SUBTEST) TO LOOP ON ERROR^
6391
6392 ;**********
6393
6394
6395 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
6396 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
6397 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
6398 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
6399 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
6400
6401 046004 SN=SN+1
6402 777767 XX=<XX+XX+1>&777777
6403 IFE <XX-1>,<XX=777776>
6404 033542 561 00 0 00 777767 HRROI XX ;PRELOAD AC WITH A FLOATING ZERO
6405 033543 270 00 0 00 034066 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ITSELF
6406 033544 312 00 0 00 034133 CAME [-1,,<XX+XX>&777777] ;CHECK ADDER UPON FAILURE
6407 STOP ^
6408 033545 254 04 0 00 033546 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6409 033546 324 00 0 00 033547 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6410 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6411 ;IN THE SUBTEST) TO LOOP ON ERROR^
6412
6413 ;**********
6414
6415
6416 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 90-2
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - FLT 0 + 0FLT SEQ 0158
6417 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
6418 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
6419 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
6420 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
6421
6422 046005 SN=SN+1
6423 777757 XX=<XX+XX+1>&777777
6424 IFE <XX-1>,<XX=777776>
6425 033547 561 00 0 00 777757 HRROI XX ;PRELOAD AC WITH A FLOATING ZERO
6426 033550 270 00 0 00 034067 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ITSELF
6427 033551 312 00 0 00 034134 CAME [-1,,<XX+XX>&777777] ;CHECK ADDER UPON FAILURE
6428 STOP ^
6429 033552 254 04 0 00 033553 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6430 033553 324 00 0 00 033554 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6431 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6432 ;IN THE SUBTEST) TO LOOP ON ERROR^
6433
6434 ;**********
6435
6436
6437 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
6438 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
6439 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
6440 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
6441 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
6442
6443 046006 SN=SN+1
6444 777737 XX=<XX+XX+1>&777777
6445 IFE <XX-1>,<XX=777776>
6446 033554 561 00 0 00 777737 HRROI XX ;PRELOAD AC WITH A FLOATING ZERO
6447 033555 270 00 0 00 034070 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ITSELF
6448 033556 312 00 0 00 034135 CAME [-1,,<XX+XX>&777777] ;CHECK ADDER UPON FAILURE
6449 STOP ^
6450 033557 254 04 0 00 033560 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6451 033560 324 00 0 00 033561 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6452 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6453 ;IN THE SUBTEST) TO LOOP ON ERROR^
6454
6455 ;**********
6456
6457
6458 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
6459 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
6460 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
6461 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
6462 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
6463
6464 046007 SN=SN+1
6465 777677 XX=<XX+XX+1>&777777
6466 IFE <XX-1>,<XX=777776>
6467 033561 561 00 0 00 777677 HRROI XX ;PRELOAD AC WITH A FLOATING ZERO
6468 033562 270 00 0 00 034071 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ITSELF
6469 033563 312 00 0 00 034136 CAME [-1,,<XX+XX>&777777] ;CHECK ADDER UPON FAILURE
6470 STOP ^
6471 033564 254 04 0 00 033565 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 90-3
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - FLT 0 + 0FLT SEQ 0159
6472 033565 324 00 0 00 033566 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6473 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6474 ;IN THE SUBTEST) TO LOOP ON ERROR^
6475
6476 ;**********
6477
6478
6479 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
6480 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
6481 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
6482 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
6483 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
6484
6485 046010 SN=SN+1
6486 777577 XX=<XX+XX+1>&777777
6487 IFE <XX-1>,<XX=777776>
6488 033566 561 00 0 00 777577 HRROI XX ;PRELOAD AC WITH A FLOATING ZERO
6489 033567 270 00 0 00 034072 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ITSELF
6490 033570 312 00 0 00 034137 CAME [-1,,<XX+XX>&777777] ;CHECK ADDER UPON FAILURE
6491 STOP ^
6492 033571 254 04 0 00 033572 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6493 033572 324 00 0 00 033573 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6494 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6495 ;IN THE SUBTEST) TO LOOP ON ERROR^
6496
6497 ;**********
6498
6499
6500 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
6501 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
6502 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
6503 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
6504 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
6505
6506 046011 SN=SN+1
6507 777377 XX=<XX+XX+1>&777777
6508 IFE <XX-1>,<XX=777776>
6509 033573 561 00 0 00 777377 HRROI XX ;PRELOAD AC WITH A FLOATING ZERO
6510 033574 270 00 0 00 034073 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ITSELF
6511 033575 312 00 0 00 034140 CAME [-1,,<XX+XX>&777777] ;CHECK ADDER UPON FAILURE
6512 STOP ^
6513 033576 254 04 0 00 033577 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6514 033577 324 00 0 00 033600 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6515 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6516 ;IN THE SUBTEST) TO LOOP ON ERROR^
6517
6518 ;**********
6519
6520
6521 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
6522 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
6523 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
6524 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
6525 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
6526
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 90-4
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - FLT 0 + 0FLT SEQ 0160
6527 046012 SN=SN+1
6528 776777 XX=<XX+XX+1>&777777
6529 IFE <XX-1>,<XX=777776>
6530 033600 561 00 0 00 776777 HRROI XX ;PRELOAD AC WITH A FLOATING ZERO
6531 033601 270 00 0 00 034074 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ITSELF
6532 033602 312 00 0 00 034141 CAME [-1,,<XX+XX>&777777] ;CHECK ADDER UPON FAILURE
6533 STOP ^
6534 033603 254 04 0 00 033604 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6535 033604 324 00 0 00 033605 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6536 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6537 ;IN THE SUBTEST) TO LOOP ON ERROR^
6538
6539 ;**********
6540
6541
6542 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
6543 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
6544 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
6545 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
6546 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
6547
6548 046013 SN=SN+1
6549 775777 XX=<XX+XX+1>&777777
6550 IFE <XX-1>,<XX=777776>
6551 033605 561 00 0 00 775777 HRROI XX ;PRELOAD AC WITH A FLOATING ZERO
6552 033606 270 00 0 00 034075 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ITSELF
6553 033607 312 00 0 00 034142 CAME [-1,,<XX+XX>&777777] ;CHECK ADDER UPON FAILURE
6554 STOP ^
6555 033610 254 04 0 00 033611 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6556 033611 324 00 0 00 033612 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6557 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6558 ;IN THE SUBTEST) TO LOOP ON ERROR^
6559
6560 ;**********
6561
6562
6563 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
6564 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
6565 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
6566 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
6567 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
6568
6569 046014 SN=SN+1
6570 773777 XX=<XX+XX+1>&777777
6571 IFE <XX-1>,<XX=777776>
6572 033612 561 00 0 00 773777 HRROI XX ;PRELOAD AC WITH A FLOATING ZERO
6573 033613 270 00 0 00 034076 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ITSELF
6574 033614 312 00 0 00 034143 CAME [-1,,<XX+XX>&777777] ;CHECK ADDER UPON FAILURE
6575 STOP ^
6576 033615 254 04 0 00 033616 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6577 033616 324 00 0 00 033617 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6578 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6579 ;IN THE SUBTEST) TO LOOP ON ERROR^
6580
6581 ;**********
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 90-5
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - FLT 0 + 0FLT SEQ 0161
6582
6583
6584 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
6585 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
6586 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
6587 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
6588 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
6589
6590 046015 SN=SN+1
6591 767777 XX=<XX+XX+1>&777777
6592 IFE <XX-1>,<XX=777776>
6593 033617 561 00 0 00 767777 HRROI XX ;PRELOAD AC WITH A FLOATING ZERO
6594 033620 270 00 0 00 034077 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ITSELF
6595 033621 312 00 0 00 034144 CAME [-1,,<XX+XX>&777777] ;CHECK ADDER UPON FAILURE
6596 STOP ^
6597 033622 254 04 0 00 033623 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6598 033623 324 00 0 00 033624 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6599 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6600 ;IN THE SUBTEST) TO LOOP ON ERROR^
6601
6602 ;**********
6603
6604
6605 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
6606 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
6607 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
6608 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
6609 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
6610
6611 046016 SN=SN+1
6612 757777 XX=<XX+XX+1>&777777
6613 IFE <XX-1>,<XX=777776>
6614 033624 561 00 0 00 757777 HRROI XX ;PRELOAD AC WITH A FLOATING ZERO
6615 033625 270 00 0 00 034100 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ITSELF
6616 033626 312 00 0 00 034145 CAME [-1,,<XX+XX>&777777] ;CHECK ADDER UPON FAILURE
6617 STOP ^
6618 033627 254 04 0 00 033630 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6619 033630 324 00 0 00 033631 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6620 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6621 ;IN THE SUBTEST) TO LOOP ON ERROR^
6622
6623 ;**********
6624
6625
6626 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
6627 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
6628 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
6629 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
6630 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
6631
6632 046017 SN=SN+1
6633 737777 XX=<XX+XX+1>&777777
6634 IFE <XX-1>,<XX=777776>
6635 033631 561 00 0 00 737777 HRROI XX ;PRELOAD AC WITH A FLOATING ZERO
6636 033632 270 00 0 00 034101 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ITSELF
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 90-6
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - FLT 0 + 0FLT SEQ 0162
6637 033633 312 00 0 00 034146 CAME [-1,,<XX+XX>&777777] ;CHECK ADDER UPON FAILURE
6638 STOP ^
6639 033634 254 04 0 00 033635 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6640 033635 324 00 0 00 033636 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6641 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6642 ;IN THE SUBTEST) TO LOOP ON ERROR^
6643
6644 ;**********
6645
6646
6647 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
6648 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
6649 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
6650 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
6651 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
6652
6653 046020 SN=SN+1
6654 677777 XX=<XX+XX+1>&777777
6655 IFE <XX-1>,<XX=777776>
6656 033636 561 00 0 00 677777 HRROI XX ;PRELOAD AC WITH A FLOATING ZERO
6657 033637 270 00 0 00 034102 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ITSELF
6658 033640 312 00 0 00 034147 CAME [-1,,<XX+XX>&777777] ;CHECK ADDER UPON FAILURE
6659 STOP ^
6660 033641 254 04 0 00 033642 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6661 033642 324 00 0 00 033643 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6662 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6663 ;IN THE SUBTEST) TO LOOP ON ERROR^
6664
6665 ;**********
6666
6667
6668 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
6669 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
6670 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
6671 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
6672 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
6673
6674 046021 SN=SN+1
6675 577777 XX=<XX+XX+1>&777777
6676 IFE <XX-1>,<XX=777776>
6677 033643 561 00 0 00 577777 HRROI XX ;PRELOAD AC WITH A FLOATING ZERO
6678 033644 270 00 0 00 034103 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ITSELF
6679 033645 312 00 0 00 034150 CAME [-1,,<XX+XX>&777777] ;CHECK ADDER UPON FAILURE
6680 STOP ^
6681 033646 254 04 0 00 033647 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6682 033647 324 00 0 00 033650 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6683 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6684 ;IN THE SUBTEST) TO LOOP ON ERROR^
6685
6686 ;**********
6687
6688 PAGE
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 90-7
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - FLT 0 + 0FLT SEQ 0163
6689 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
6690 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
6691 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
6692 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
6693 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
6694
6695 046022 SN=SN+1
6696 377777 XX=<XX+XX+1>&777777
6697 033650 561 00 0 00 377777 HRROI XX ;PRELOAD AC WITH A FLOATING ZERO
6698 033651 270 00 0 00 034104 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ITSELF
6699 033652 312 00 0 00 034151 CAME [-2,,-2] ;CHECK ADDER UPON FAILURE
6700 STOP ^
6701 033653 254 04 0 00 033654 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6702 033654 324 00 0 00 033655 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6703 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6704 ;IN THE SUBTEST) TO LOOP ON ERROR^
6705
6706 ;**********
6707
6708 000000 XX=0
6709
6710 REPEAT ^D18,<
6711 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
6712 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
6713 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
6714 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
6715 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
6716
6717 SN=SN+1
6718 XX=<XX+XX+1>&777777
6719 IFE <XX-1>,<XX=777776>
6720 HRLOI XX ;PRELOAD AC WITH A FLOATING ZERO
6721 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ITSELF
6722 CAME [XX+XX+1,,-2] ;CHECK ADDER UPON FAILURE
6723 STOP
6724
6725 ;**********
6726 >
6727
6728 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
6729 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
6730 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
6731 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
6732 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
6733
6734 046023 SN=SN+1
6735 000001 XX=<XX+XX+1>&777777
6736 777776 IFE <XX-1>,<XX=777776>
6737 033655 525 00 0 00 777776 HRLOI XX ;PRELOAD AC WITH A FLOATING ZERO
6738 033656 270 00 0 00 034105 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ITSELF
6739Q 033657 312 00 0 00 034152 CAME [XX+XX+1,,-2] ;CHECK ADDER UPON FAILURE
6740 STOP ^
6741 033660 254 04 0 00 033661 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6742 033661 324 00 0 00 033662 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 90-8
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - FLT 0 + 0FLT SEQ 0164
6743 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6744 ;IN THE SUBTEST) TO LOOP ON ERROR^
6745
6746 ;**********
6747
6748
6749 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
6750 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
6751 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
6752 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
6753 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
6754
6755 046024 SN=SN+1
6756 777775 XX=<XX+XX+1>&777777
6757 IFE <XX-1>,<XX=777776>
6758 033662 525 00 0 00 777775 HRLOI XX ;PRELOAD AC WITH A FLOATING ZERO
6759 033663 270 00 0 00 034106 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ITSELF
6760Q 033664 312 00 0 00 034153 CAME [XX+XX+1,,-2] ;CHECK ADDER UPON FAILURE
6761 STOP ^
6762 033665 254 04 0 00 033666 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6763 033666 324 00 0 00 033667 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6764 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6765 ;IN THE SUBTEST) TO LOOP ON ERROR^
6766
6767 ;**********
6768
6769
6770 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
6771 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
6772 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
6773 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
6774 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
6775
6776 046025 SN=SN+1
6777 777773 XX=<XX+XX+1>&777777
6778 IFE <XX-1>,<XX=777776>
6779 033667 525 00 0 00 777773 HRLOI XX ;PRELOAD AC WITH A FLOATING ZERO
6780 033670 270 00 0 00 034107 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ITSELF
6781Q 033671 312 00 0 00 034154 CAME [XX+XX+1,,-2] ;CHECK ADDER UPON FAILURE
6782 STOP ^
6783 033672 254 04 0 00 033673 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6784 033673 324 00 0 00 033674 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6785 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6786 ;IN THE SUBTEST) TO LOOP ON ERROR^
6787
6788 ;**********
6789
6790
6791 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
6792 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
6793 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
6794 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
6795 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 90-9
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - FLT 0 + 0FLT SEQ 0165
6796
6797 046026 SN=SN+1
6798 777767 XX=<XX+XX+1>&777777
6799 IFE <XX-1>,<XX=777776>
6800 033674 525 00 0 00 777767 HRLOI XX ;PRELOAD AC WITH A FLOATING ZERO
6801 033675 270 00 0 00 034110 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ITSELF
6802Q 033676 312 00 0 00 034155 CAME [XX+XX+1,,-2] ;CHECK ADDER UPON FAILURE
6803 STOP ^
6804 033677 254 04 0 00 033700 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6805 033700 324 00 0 00 033701 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6806 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6807 ;IN THE SUBTEST) TO LOOP ON ERROR^
6808
6809 ;**********
6810
6811
6812 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
6813 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
6814 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
6815 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
6816 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
6817
6818 046027 SN=SN+1
6819 777757 XX=<XX+XX+1>&777777
6820 IFE <XX-1>,<XX=777776>
6821 033701 525 00 0 00 777757 HRLOI XX ;PRELOAD AC WITH A FLOATING ZERO
6822 033702 270 00 0 00 034111 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ITSELF
6823Q 033703 312 00 0 00 034156 CAME [XX+XX+1,,-2] ;CHECK ADDER UPON FAILURE
6824 STOP ^
6825 033704 254 04 0 00 033705 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6826 033705 324 00 0 00 033706 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6827 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6828 ;IN THE SUBTEST) TO LOOP ON ERROR^
6829
6830 ;**********
6831
6832
6833 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
6834 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
6835 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
6836 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
6837 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
6838
6839 046030 SN=SN+1
6840 777737 XX=<XX+XX+1>&777777
6841 IFE <XX-1>,<XX=777776>
6842 033706 525 00 0 00 777737 HRLOI XX ;PRELOAD AC WITH A FLOATING ZERO
6843 033707 270 00 0 00 034112 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ITSELF
6844Q 033710 312 00 0 00 034157 CAME [XX+XX+1,,-2] ;CHECK ADDER UPON FAILURE
6845 STOP ^
6846 033711 254 04 0 00 033712 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6847 033712 324 00 0 00 033713 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 90-10
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - FLT 0 + 0FLT SEQ 0166
6848 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6849 ;IN THE SUBTEST) TO LOOP ON ERROR^
6850
6851 ;**********
6852
6853
6854 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
6855 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
6856 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
6857 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
6858 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
6859
6860 046031 SN=SN+1
6861 777677 XX=<XX+XX+1>&777777
6862 IFE <XX-1>,<XX=777776>
6863 033713 525 00 0 00 777677 HRLOI XX ;PRELOAD AC WITH A FLOATING ZERO
6864 033714 270 00 0 00 034113 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ITSELF
6865Q 033715 312 00 0 00 034160 CAME [XX+XX+1,,-2] ;CHECK ADDER UPON FAILURE
6866 STOP ^
6867 033716 254 04 0 00 033717 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6868 033717 324 00 0 00 033720 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6869 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6870 ;IN THE SUBTEST) TO LOOP ON ERROR^
6871
6872 ;**********
6873
6874
6875 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
6876 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
6877 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
6878 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
6879 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
6880
6881 046032 SN=SN+1
6882 777577 XX=<XX+XX+1>&777777
6883 IFE <XX-1>,<XX=777776>
6884 033720 525 00 0 00 777577 HRLOI XX ;PRELOAD AC WITH A FLOATING ZERO
6885 033721 270 00 0 00 034114 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ITSELF
6886Q 033722 312 00 0 00 034161 CAME [XX+XX+1,,-2] ;CHECK ADDER UPON FAILURE
6887 STOP ^
6888 033723 254 04 0 00 033724 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6889 033724 324 00 0 00 033725 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6890 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6891 ;IN THE SUBTEST) TO LOOP ON ERROR^
6892
6893 ;**********
6894
6895
6896 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
6897 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
6898 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
6899 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
6900 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 90-11
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - FLT 0 + 0FLT SEQ 0167
6901
6902 046033 SN=SN+1
6903 777377 XX=<XX+XX+1>&777777
6904 IFE <XX-1>,<XX=777776>
6905 033725 525 00 0 00 777377 HRLOI XX ;PRELOAD AC WITH A FLOATING ZERO
6906 033726 270 00 0 00 034115 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ITSELF
6907Q 033727 312 00 0 00 034162 CAME [XX+XX+1,,-2] ;CHECK ADDER UPON FAILURE
6908 STOP ^
6909 033730 254 04 0 00 033731 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6910 033731 324 00 0 00 033732 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6911 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6912 ;IN THE SUBTEST) TO LOOP ON ERROR^
6913
6914 ;**********
6915
6916
6917 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
6918 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
6919 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
6920 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
6921 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
6922
6923 046034 SN=SN+1
6924 776777 XX=<XX+XX+1>&777777
6925 IFE <XX-1>,<XX=777776>
6926 033732 525 00 0 00 776777 HRLOI XX ;PRELOAD AC WITH A FLOATING ZERO
6927 033733 270 00 0 00 034116 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ITSELF
6928Q 033734 312 00 0 00 034163 CAME [XX+XX+1,,-2] ;CHECK ADDER UPON FAILURE
6929 STOP ^
6930 033735 254 04 0 00 033736 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6931 033736 324 00 0 00 033737 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6932 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6933 ;IN THE SUBTEST) TO LOOP ON ERROR^
6934
6935 ;**********
6936
6937
6938 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
6939 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
6940 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
6941 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
6942 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
6943
6944 046035 SN=SN+1
6945 775777 XX=<XX+XX+1>&777777
6946 IFE <XX-1>,<XX=777776>
6947 033737 525 00 0 00 775777 HRLOI XX ;PRELOAD AC WITH A FLOATING ZERO
6948 033740 270 00 0 00 034117 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ITSELF
6949Q 033741 312 00 0 00 034164 CAME [XX+XX+1,,-2] ;CHECK ADDER UPON FAILURE
6950 STOP ^
6951 033742 254 04 0 00 033743 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6952 033743 324 00 0 00 033744 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 90-12
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - FLT 0 + 0FLT SEQ 0168
6953 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6954 ;IN THE SUBTEST) TO LOOP ON ERROR^
6955
6956 ;**********
6957
6958
6959 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
6960 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
6961 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
6962 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
6963 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
6964
6965 046036 SN=SN+1
6966 773777 XX=<XX+XX+1>&777777
6967 IFE <XX-1>,<XX=777776>
6968 033744 525 00 0 00 773777 HRLOI XX ;PRELOAD AC WITH A FLOATING ZERO
6969 033745 270 00 0 00 034120 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ITSELF
6970Q 033746 312 00 0 00 034165 CAME [XX+XX+1,,-2] ;CHECK ADDER UPON FAILURE
6971 STOP ^
6972 033747 254 04 0 00 033750 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6973 033750 324 00 0 00 033751 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6974 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6975 ;IN THE SUBTEST) TO LOOP ON ERROR^
6976
6977 ;**********
6978
6979
6980 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
6981 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
6982 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
6983 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
6984 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
6985
6986 046037 SN=SN+1
6987 767777 XX=<XX+XX+1>&777777
6988 IFE <XX-1>,<XX=777776>
6989 033751 525 00 0 00 767777 HRLOI XX ;PRELOAD AC WITH A FLOATING ZERO
6990 033752 270 00 0 00 034121 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ITSELF
6991Q 033753 312 00 0 00 034166 CAME [XX+XX+1,,-2] ;CHECK ADDER UPON FAILURE
6992 STOP ^
6993 033754 254 04 0 00 033755 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6994 033755 324 00 0 00 033756 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6995 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6996 ;IN THE SUBTEST) TO LOOP ON ERROR^
6997
6998 ;**********
6999
7000
7001 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
7002 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
7003 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
7004 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
7005 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 90-13
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - FLT 0 + 0FLT SEQ 0169
7006
7007 046040 SN=SN+1
7008 757777 XX=<XX+XX+1>&777777
7009 IFE <XX-1>,<XX=777776>
7010 033756 525 00 0 00 757777 HRLOI XX ;PRELOAD AC WITH A FLOATING ZERO
7011 033757 270 00 0 00 034122 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ITSELF
7012Q 033760 312 00 0 00 034167 CAME [XX+XX+1,,-2] ;CHECK ADDER UPON FAILURE
7013 STOP ^
7014 033761 254 04 0 00 033762 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7015 033762 324 00 0 00 033763 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7016 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7017 ;IN THE SUBTEST) TO LOOP ON ERROR^
7018
7019 ;**********
7020
7021
7022 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
7023 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
7024 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
7025 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
7026 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
7027
7028 046041 SN=SN+1
7029 737777 XX=<XX+XX+1>&777777
7030 IFE <XX-1>,<XX=777776>
7031 033763 525 00 0 00 737777 HRLOI XX ;PRELOAD AC WITH A FLOATING ZERO
7032 033764 270 00 0 00 034123 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ITSELF
7033Q 033765 312 00 0 00 034170 CAME [XX+XX+1,,-2] ;CHECK ADDER UPON FAILURE
7034 STOP ^
7035 033766 254 04 0 00 033767 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7036 033767 324 00 0 00 033770 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7037 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7038 ;IN THE SUBTEST) TO LOOP ON ERROR^
7039
7040 ;**********
7041
7042
7043 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
7044 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
7045 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
7046 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
7047 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
7048
7049 046042 SN=SN+1
7050 677777 XX=<XX+XX+1>&777777
7051 IFE <XX-1>,<XX=777776>
7052 033770 525 00 0 00 677777 HRLOI XX ;PRELOAD AC WITH A FLOATING ZERO
7053 033771 270 00 0 00 034124 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ITSELF
7054Q 033772 312 00 0 00 034171 CAME [XX+XX+1,,-2] ;CHECK ADDER UPON FAILURE
7055 STOP ^
7056 033773 254 04 0 00 033774 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7057 033774 324 00 0 00 033775 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 90-14
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - FLT 0 + 0FLT SEQ 0170
7058 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7059 ;IN THE SUBTEST) TO LOOP ON ERROR^
7060
7061 ;**********
7062
7063
7064 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
7065 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
7066 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
7067 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
7068 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
7069
7070 046043 SN=SN+1
7071 577777 XX=<XX+XX+1>&777777
7072 IFE <XX-1>,<XX=777776>
7073 033775 525 00 0 00 577777 HRLOI XX ;PRELOAD AC WITH A FLOATING ZERO
7074 033776 270 00 0 00 034125 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ITSELF
7075Q 033777 312 00 0 00 034172 CAME [XX+XX+1,,-2] ;CHECK ADDER UPON FAILURE
7076 STOP ^
7077 034000 254 04 0 00 034001 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7078 034001 324 00 0 00 034002 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7079 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7080 ;IN THE SUBTEST) TO LOOP ON ERROR^
7081
7082 ;**********
7083
7084
7085 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
7086 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
7087 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
7088 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
7089 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
7090
7091 046044 SN=SN+1
7092 377777 XX=<XX+XX+1>&777777
7093 IFE <XX-1>,<XX=777776>
7094 034002 525 00 0 00 377777 HRLOI XX ;PRELOAD AC WITH A FLOATING ZERO
7095 034003 270 00 0 00 034126 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ITSELF
7096 034004 312 00 0 00 034063 CAME [XX+XX+1,,-2] ;CHECK ADDER UPON FAILURE
7097 STOP ^
7098 034005 254 04 0 00 034006 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7099 034006 324 00 0 00 034007 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7100 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7101 ;IN THE SUBTEST) TO LOOP ON ERROR^
7102
7103 ;**********
7104
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 91
DAKACM MAC 19-JAN-77 13:40 SUPPLEMENTARY ADDER TESTS - FLT 0 + 0FLT SEQ 0171
7105 034007 254 00 0 00 030057 JRST BEGEND
7106 SUBTTL *STOR* RESERVED STORAGE, JAN 18,1977
7107
7108 ;PROGRAM LITERALS
7109
7110 XLIST
7111 IFNDEF $LPAPER,<LIST>
7112 034010 LIT
7113 034010 000001 000001
7114 034011 254 00 0 00 030741
7115 034012 777777 777777
7116 034013 777777 000000
7117 034014 000000 000000
7118 034015 000000 777777
7119 034016 707070 707070
7120 034017 000000 000001
7121 034020 000000 000002
7122 034021 000000 000004
7123 034022 000000 000010
7124 034023 000000 000020
7125 034024 000000 000040
7126 034025 000000 000100
7127 034026 000000 000200
7128 034027 000000 000400
7129 034030 000000 001000
7130 034031 000000 002000
7131 034032 000000 004000
7132 034033 000000 010000
7133 034034 000000 020000
7134 034035 000000 040000
7135 034036 000000 100000
7136 034037 000000 200000
7137 034040 000000 400000
7138 034041 000001 000000
7139 034042 000002 000000
7140 034043 000004 000000
7141 034044 000010 000000
7142 034045 000020 000000
7143 034046 000040 000000
7144 034047 000100 000000
7145 034050 000200 000000
7146 034051 000400 000000
7147 034052 001000 000000
7148 034053 002000 000000
7149 034054 004000 000000
7150 034055 010000 000000
7151 034056 020000 000000
7152 034057 040000 000000
7153 034060 100000 000000
7154 034061 200000 000000
7155 034062 400000 000000
7156 034063 777777 777776
7157 034064 777777 777775
7158 034065 777777 777773
7159 034066 777777 777767
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 1
STOR KLM 18-JAN-77 11:42 *STOR* RESERVED STORAGE, JAN 18,1977 SEQ 0172
7160 034067 777777 777757
7161 034070 777777 777737
7162 034071 777777 777677
7163 034072 777777 777577
7164 034073 777777 777377
7165 034074 777777 776777
7166 034075 777777 775777
7167 034076 777777 773777
7168 034077 777777 767777
7169 034100 777777 757777
7170 034101 777777 737777
7171 034102 777777 677777
7172 034103 777777 577777
7173 034104 777777 377777
7174 034105 777776 777777
7175 034106 777775 777777
7176 034107 777773 777777
7177 034110 777767 777777
7178 034111 777757 777777
7179 034112 777737 777777
7180 034113 777677 777777
7181 034114 777577 777777
7182 034115 777377 777777
7183 034116 776777 777777
7184 034117 775777 777777
7185 034120 773777 777777
7186 034121 767777 777777
7187 034122 757777 777777
7188 034123 737777 777777
7189 034124 677777 777777
7190 034125 577777 777777
7191 034126 377777 777777
7192 034127 000000 000000
7193 034130 777777 777774
7194 034131 777777 777772
7195 034132 777777 777766
7196 034133 777777 777756
7197 034134 777777 777736
7198 034135 777777 777676
7199 034136 777777 777576
7200 034137 777777 777376
7201 034140 777777 776776
7202 034141 777777 775776
7203 034142 777777 773776
7204 034143 777777 767776
7205 034144 777777 757776
7206 034145 777777 737776
7207 034146 777777 677776
7208 034147 777777 577776
7209 034150 777777 377776
7210 034151 777776 777776
7211 034152 777775 777776
7212 034153 777773 777776
7213 034154 777767 777776
7214 034155 777757 777776
DAKAC PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (3) 0,2 MACRO %52(537) 14:24 19-JAN-77 PAGE 1-1
STOR KLM 18-JAN-77 11:42 *STOR* RESERVED STORAGE, JAN 18,1977 SEQ 0173
7215 034156 777737 777776
7216 034157 777677 777776
7217 034160 777577 777776
7218 034161 777377 777776
7219 034162 776777 777776
7220 034163 775777 777776
7221 034164 773777 777776
7222 034165 767777 777776
7223 034166 757777 777776
7224 034167 737777 777776
7225 034170 677777 777776
7226 034171 577777 777776
7227 034172 377777 777776
7228 LIST
7229 034173 000000 000000 ENDSLD: 0
7230
7231 IFDEF DEBUG,<
7232 034174 PATCH: BLOCK DEBUG ;PATCHING AREA
7233 >
7234
7235 ;PROGRAM VARIABLES
7236 034274 VAR
7237
7238 IFDEF PGMEND,<
7239 034274 000000 000000 END: 0
7240 030000 END BEGIN >
%18 WARNINGS GIVEN
NO ERRORS DETECTED
PROGRAM BREAK IS 000000
ABSLUTE BREAK IS 034275
CPU TIME USED 00:28.959
11K CORE USED