pcjs/apps/pdp10/diags/ka10/dakaf/DAKAF.LST.txt

6826 lines
385 KiB
Text

DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 1
DAKAFT MAC 19-JAN-77 17:08 DIAGNOSTIC PARAMETERS SEQ 0007
1 ;DAKAF
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 DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 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
25 000137 LOC 137
26 000137 000000 000002 MCNVER,,DECVER
27
28 NOSYM
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 2
DAKAFT MAC 19-JAN-77 17:08 DIAGNOSTIC PARAMETERS SEQ 0008
29 SUBTTL DIAGNOSTIC PARAMETERS
30
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 ;SPECIAL FEATURE PARAMETERS
44
45 030712 SADR1=START
46 030712 SADR2=START
47 030712 SADR3=START
48 030712 SADR4=START
49 254000 030712 SADR5=JRST START
50 254000 030712 SADR6=JRST START
51 254000 030712 SADR7=JRST START
52 254000 030712 SADR8=JRST START
53 254000 030712 SADR9=JRST START
54 254000 030712 SADR10=JRST START
55 254000 030712 SADR11=JRST START
56
57 000000 PAREA0=0
58 000000 PAREA1=0
59 000000 PAREA2=0
60 444153 414600 PAREA3=SIXBIT/DAKAF/
61 645560 000000 PAREA4=SIXBIT/TMP/
62 000000 PAREA5=0
63 000000 PAREA6=0
64 001000 ITERAT==1000
65 000001 PGMEND==1
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 3
DAKAFT MAC 19-JAN-77 17:08 DIAGNOSTIC PARAMETERS SEQ 0009
66 SUBTTL DIAGNOSTIC PARAMETERS
67
68 ;ACCUMULATOR ASSIGNMENTS
69
70 ;CONTROL WORDS
71
72 400000 AROV=400000 ;ARITHMETIC OVERFLOW
73 200000 CRY0=200000 ;CARRY 0
74 100000 CRY1=100000 ;CARRY 1
75 040000 FOV=40000 ;FLOATING OVERFLOW
76 020000 BIS=20000 ;BYTE INTERRUPT
77 010000 USERF=10000 ;USER MODE FLAG
78 004000 EXIOT=4000 ;USER PRIV I/O FLAG
79 000100 FXU=100 ;FLOATING UNDERFLOW
80 000040 DCK=40 ;DIVIDE CHECK
81
82
83 ;MACROS
84
85 ; STOP - USED FOR SCOPE LOOP, IF INSTRUCTION FAILS, CHANGE (JUMPA .+1)
86 ; TO A (JUMPA X) TO CYCLE ON FAILING INSTRUCTION
87
88 DEFINE STOP (A)<
89 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
90 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
91 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
92 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
93 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1>
94
95 ; SFLAG - USED TO CLEAR ALL FLAGS THEN TO SET REQUESTED FLAG
96
97 DEFINE SFLAG (A)<
98 MOVSI 1,A
99 JFCL 17,.+1 ;RESET ALL FLAGS
100 JRST 2,.+1(1) ;SET A FLAG>
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 1
PARAM KLM 18-JAN-77 11:38 *PARAM* CONSOLE DATA SWITCH ASSIGNMENTS, JAN 18,1977 SEQ 0010
101 SUBTTL *PARAM* CONSOLE DATA SWITCH ASSIGNMENTS, JAN 18,1977
102
103 DEFINE S,<;*********************************************************************>
104
105 S^;*********************************************************************^
106 ;*DATA SWITCHES (READ FROM CONSOLE IN EXEC MODE OR TYPED IN IN USER MODE)
107 ;*LEFT HALF SWITCHES ARE PRE-ASSIGNED FOR SUBROUTINE PACKAGE USE
108 ;*AND CONTROL LOOPING, PRINTING (TTY OR OTHER DEVICE) AND MISC. FUNCTIONS
109 S^;*********************************************************************^
110
111 400000 ABORT== 400000 ;ABORT PROGRAM ON PASS COMPLETION
112 200000 RSTART==200000 ;RESTART TEST, PRINT TOTALS
113 100000 TOTALS==100000 ;PRINT TOTALS, CONTINUE
114
115 040000 NOPNT== 040000 ;INHIBIT ALL PRINT/TYPE OUT (EXCEPT FORCED)
116 020000 PNTLPT==020000 ;PRINT ALL DATA ON LPT (LOGICAL DEVICE, USER MODE)
117 010000 DING== 010000 ;RING BELL ON ERROR
118
119 004000 LOOPER==004000 ;ENTER EXERCISE/CHECK LOOP ON ERROR
120 002000 ERSTOP==002000 ;HALT ON TEST ERROR
121 001000 PALERS==001000 ;PRINT ALL ERRORS
122
123 000400 RELIAB==000400 ;RELIABILITY MODE
124 000200 TXTINH==000200 ;INHIBIT ERROR TEXT
125 000100 INHPAG==000100 ;INHIBIT PAGING
126
127 000040 MODDVC==000040 ;MODIFY DEVICE CODE
128 000020 INHCSH==000020 ;INHIBIT CACHE
129 000010 OPRSEL==000010 ;OPERATOR SELECTION
130
131 000004 CHAIN== 000004 ;CHAIN CONTROL SWITCH
132
133 000002 KAHZ50==000002 ;KA10 50 HERTZ POWER
134
135 ;SWITCH 17 RESERVED !!!
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 2
PARAM KLM 18-JAN-77 11:38 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 SEQ 0011
136 SUBTTL *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977
137
138 S^;*********************************************************************^
139 ;*SPECIAL SUBPROGRAM LINKAGES
140 S^;*********************************************************************^
141
142 027772 FSELNK= 27772 ;FILE SELECT LINK
143 027773 FRDLNK= 27773 ;FILE READ LINK
144 027774 LDLNK= 27774 ;LOAD LINKAGE ADDRESS
145 027775 DDTLNK= 27775 ;DDT LINKAGE ADDRESS
146 027776 MODLNK= 27776 ;OPERATIONAL MODE CHECK LINKAGE ADDRESS
147 027777 SUBLNK= 27777 ;SUBROUTINE LINKAGE ADDRESS
148
149 S^;*********************************************************************^
150 ;*SPECIAL SUBROUTINE FATAL HALTS
151 ;*USED TO REPORT ERRORS THAT CAUSE THE SUBROUTINES TO BE UNUSABLE
152 S^;*********************************************************************^
153
154 ;ADDRESS TAG REASON
155 ;---------------------
156
157 ; 1010 NOEXEC ;PROGRAM NOT CODED FOR EXEC MODE OPERATION
158 ; 1011 PLERR ;FATAL PUSH LIST POINTER ERROR
159 ; 1012 PLERR1 ;INITIAL PUSH LIST POINTER ERROR
160 ; 1013 MUOERR ;MUUO WITH LUUO HANDLER WIPED OUT
161 ; 1014 DTEBER ;DTE20 INTERRUPT WITHOUT DOORBELL
162 ; 1015 DTECER ;DTE20 CLOCK INTERRUPT WITHOUT FLAG SET
163 ; 1016 CPIERR ;CPU INITIALIZATION ERROR
164 ; 1017 EOPERR ;END OF PROGRAM ERROR
165 ; 1020 LUOERR ;INTERRUPT WITH LUUO HANDLER WIPED OUT
166
167 S^;*********************************************************************^
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 3
PARAM KLM 18-JAN-77 11:38 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 SEQ 0012
168 S^;*********************************************************************^
169 ;OPERATOR DEFINITIONS (NON-UUO'S)
170 S^;*********************************************************************^
171
172 260740 000000 OPDEF GO [PUSHJ P,] ;SUBROUTINE CALL
173 263740 000000 OPDEF RTN [POPJ P,] ;SUBROUTINE RETURN
174 261740 000000 OPDEF PUT [PUSH P,] ;PUT DATA ON PUSH LIST
175 262740 000000 OPDEF GET [POP P,] ;GET DATA FROM PUSH LIST
176 254000 000000 OPDEF PJRST [JRST ] ;JRST TO ROUTINE THAT RTN'S
177 254200 000000 OPDEF HALT [JRST 4,] ;DEFINITION FOR DDT
178 254100 000000 OPDEF JRSTF [JRST 2,] ;DEFINITION FOR DDT
179 254500 000000 OPDEF JEN [JRST 12,] ;DEFINITION FOR DDT
180
181 S^;*********************************************************************^
182 ;*SUBROUTINE INITIALIZATION CALL
183 S^;*********************************************************************^
184
185 265000 030011 OPDEF PGMINT [JSP 0,SBINIT] ;SUBROUTINE INITIALIZATION
186
187 S^;*********************************************************************^
188 ;*HALTING UUO'S (A MORE GRACEFUL HALT THAN SIMPLY USING THE HALT INSTRUCTION).
189 S^;*********************************************************************^
190
191 037640 000004 OPDEF FATAL [37B8!15B12!4] ;FATAL PROGRAMMING HALT
192 037600 000004 OPDEF ERRHLT [37B8!14B12!4] ;PROGRAM ERROR HALT
193
194 S^;*********************************************************************^
195 ;*TERMINAL INPUT UUO'S
196 ;*ALWAYS COME FROM THE CONSOLE TERMINAL IN EXEC MODE OR THE
197 ;*CONTROLLING TERMINAL (REAL TERMINAL OR PTY) IN USER MODE.
198 S^;*********************************************************************^
199
200 037000 000003 OPDEF TTICHR [37B8!0B12!3] ;TTY, INPUT ANY CHARACTER
201 037040 000003 OPDEF TTIYES [37B8!1B12!3] ;TTY, NORMAL RETURN Y
202 037100 000003 OPDEF TTINO [37B8!2B12!3] ;TTY, NORMAL RETURN N
203 037140 000003 OPDEF TTIOCT [37B8!3B12!3] ;TTY, INPUT OCTAL WORD
204 037200 000003 OPDEF TTIDEC [37B8!4B12!3] ;TTY, INPUT DECIMAL WORD
205 037240 000003 OPDEF TTICNV [37B8!5B12!3] ;TTY, INPUT CONVERTABLE WORD
206 037300 000003 OPDEF TTLOOK [37B8!6B12!3] ;TTY, KEYBOARD CHECK
207 037340 000003 OPDEF TTALTM [37B8!7B12!3] ;TTY, ALT-MODE CHECK
208 037400 000003 OPDEF TTSIXB [37B8!10B12!3] ;TTY, INPUT SIXBIT WORD
209 037440 000003 OPDEF TTYINP [37B8!11B12!3] ;TTY, IMAGE MODE INPUT
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 4
PARAM KLM 18-JAN-77 11:38 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 SEQ 0013
210 ;*TERMINAL OUTPUT UUO'S.
211
212 037000 000000 OPDEF PNTA [37B8!0B12!0] ;PRINT ASCII WORD
213 037000 000001 OPDEF PNTAF [37B8!0B12!1] ;PRINT ASCII WORD FORCED
214 037740 000000 OPDEF PNTAL [37B8!17B12!0] ;PRINT ASCIZ LINE
215 037740 000001 OPDEF PNTALF [37B8!17B12!1] ;PRINT ASCIZ LINE FORCED
216 037600 000003 OPDEF PSIXL [37B8!14B12!3] ;PRINT SIXBIT'Z LINE
217 037640 000003 OPDEF PSIXLF [37B8!15B12!3] ;PRINT SIXBIT'Z LINE FORCED
218 037000 000000 OPDEF PNTMSG [37B8!0B12!0] ;PRINT MESSAGE IMMEDIATE
219 037040 000000 OPDEF PNTMSF [37B8!1B12!0] ;PRINT MESSAGE IMMEDIATE FORCED
220 037100 000000 OPDEF PSIXM [37B8!2B12!0] ;PRINT SIXBIT'Z MSG IMMEDIATE
221 037200 000000 OPDEF PSIXMF [37B8!4B12!0] ;PRINT SIXBIT'Z MSG IMM FORCED
222 037000 000000 OPDEF PNTCI [37B8!0B12!0] ;PRINT CHARACTER IMMEDIATE
223 037040 000000 OPDEF PNTCIF [37B8!1B12!0] ;PRINT CHARACTER IMMEDIATE FORCED
224 037500 000000 OPDEF PNTCHR [37B8!12B12!0] ;PRINT CHARACTER
225 037500 000001 OPDEF PNTCHF [37B8!12B12!1] ;PRINT CHARACTER FORCED
226 037040 000000 OPDEF PNT1 [37B8!1B12!0] ;PRINT ONE OCTAL DIGIT
227 037040 000001 OPDEF PNT1F [37B8!1B12!1] ;PRINT 1 OCTAL DIGIT FORCED
228 037100 000000 OPDEF PNT2 [37B8!2B12!0] ;PRINT TWO OCTAL DIGITS
229 037100 000001 OPDEF PNT2F [37B8!2B12!1] ;PRINT 2 OCTAL DIGITS FORCED
230 037140 000000 OPDEF PNT3 [37B8!3B12!0] ;PRINT THREE OCTAL DIGITS
231 037140 000001 OPDEF PNT3F [37B8!3B12!1] ;PRINT THREE OCTAL DIGITS FORCED
232 037200 000000 OPDEF PNT4 [37B8!4B12!0] ;PRINT FOUR OCTAL DIGITS
233 037200 000001 OPDEF PNT4F [37B8!4B12!1] ;PRINT FOUR OCTAL DIGITS FORCED
234 037240 000000 OPDEF PNT5 [37B8!5B12!0] ;PRINT FIVE OCTAL DIGITS
235 037240 000001 OPDEF PNT5F [37B8!5B12!1] ;PRINT FIVE OCTAL DIGITS FORCED
236 037300 000000 OPDEF PNT6 [37B8!6B12!0] ;PRINT SIX OCTAL DIGITS
237 037300 000001 OPDEF PNT6F [37B8!6B12!1] ;PRINT SIX OCTAL DIGITS FORCED
238 037340 000000 OPDEF PNT7 [37B8!7B12!0] ;PRINT 7 OCTAL DIGITS
239 037340 000001 OPDEF PNT7F [37B8!7B12!1] ;PRINT 7 OCTAL DIGITS FORCED
240 037440 000000 OPDEF PNT11 [37B8!11B12!0] ;PRINT 11 OCTAL DIGITS
241 037440 000001 OPDEF PNT11F [37B8!11B12!1] ;PRINT 11 OCTAL DIGITS FORCED.
242 037400 000000 OPDEF PNTADR [37B8!10B12!0] ;PRINT PHYSICAL ADDRESS
243 037400 000001 OPDEF PNTADF [37B8!10B12!1] ;PRINT PHYSICAL ADDRESS FORCED
244 037600 000000 OPDEF PNTOCT [37B8!14B12!0] ;PRINT FULL WORD OCTAL
245 037600 000001 OPDEF PNTOTF [37B8!14B12!1] ;PRINT FULL WORD OCTAL FORCED
246 037540 000000 OPDEF PNTHW [37B8!13B12!0] ;PRINT OCTAL HALF WORDS, 6 SP 6
247 037540 000001 OPDEF PNTHWF [37B8!13B12!1] ;PRINT OCTAL HALF WORDS, 6 SP 6 FORCED
248 037700 000003 OPDEF PNTOCS [37B8!16B12!3] ;PRINT OCTAL, SUPPRESS LEADING 0'S
249 037740 000003 OPDEF PNTOCF [37B8!17B12!3] ;PRINT OCTAL, SUPPRESS LEADING 0'S FORCED
250 037640 000000 OPDEF PNTDEC [37B8!15B12!0] ;PRINT DECIMAL, SUPRESS LEADING 0'S
251 037640 000001 OPDEF PNTDCF [37B8!15B12!1] ;PRINT DECIMAL, SUPRESS LEADING 0'S FORCED
252 037700 000000 OPDEF PNTDS [37B8!16B12!0] ;PRINT DECIMAL, SPACES FOR LD 0'S
253 037700 000001 OPDEF PNTDSF [37B8!16B12!1] ;PRINT DECIMAL, SPACES FOR LD 0'S FORCED
254 037200 000002 OPDEF PNTNM [37B8!4B12!2] ;PRINT PROGRAM NAME
255 037000 000002 OPDEF PNTSIX [37B8!0B12!2] ;PRINT SIXBIT WORD
256 037040 000002 OPDEF PNTSXF [37B8!1B12!2] ;PRINT SIXBIT WORD FORCED
257 037240 000002 OPDEF DROPDV [37B8!5B12!2] ;CLOSE LOGICAL FILE, USER MODE
258 037100 000002 OPDEF PNTCW [37B8!2B12!2] ;PRINT DF10 CONTROL WORD
259 037140 000002 OPDEF PNTCWF [37B8!3B12!2] ;PRINT DF10 CONTROL WORD FORCED
260 037000 030242 OPDEF PCRL [37B8!0B12!CRLF] ;PRINT CARRIAGE RETURN/LINE FEED
261 037040 030242 OPDEF PCRLF [37B8!1B12!CRLF] ;PRINT CARRIAGE RETURN/LINE FEED FORCED
262 037000 000040 OPDEF PSP [37B8!0B12!40] ;PRINT SPACE
263 037040 000040 OPDEF PSPF [37B8!1B12!40] ;PRINT SPACE FORCED
264 037000 030243 OPDEF PCRL2 [37B8!0B12!CRLF2] ;PRINT CARRIAGE RETURN/LINE FEED (TWICE)
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 4-1
PARAM KLM 18-JAN-77 11:38 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 SEQ 0014
265 037040 030243 OPDEF PCRL2F [37B8!1B12!CRLF2] ;PRINT CARRIAGE RETURN/LINE FEED (TWICE) FORCED
266 037040 000007 OPDEF PBELL [37B8!1B12!7] ;PRINT TTY BELL
267
268 037040 000026 OPDEF PFORCE [37B8!1B12!26] ;PRINT FORCE, CONTROL O OVERRIDE
269
270 DEFINE PMSG (ARG),<
271 PSIXM [SIXBIT\ARG'_\]>
272
273 DEFINE PMSGF (ARG),<
274 PSIXMF [SIXBIT\ARG'_\]>
275
276 ;*SIXBTZ -- MACRO TO GENERATE SIXBIT DATA FOR PRINTING
277 ;* CONSERVES CORE OVER ASCIZ
278
279 DEFINE SIXBTZ (ARG),< [SIXBIT\ARG'_\]>
280
281 ;*CONSOLE SWITCH INPUT UUO.
282 ;*READS CONSOLE SWITCHES IF IN EXEC MODE OR ASKS FOR THEM IF
283 ;* USER MODE.
284
285 037400 000002 OPDEF SWITCH [37B8!10B12!2] ;INPUT CONSOLE SWITCHES
286
287 ;*CLOCK INITIALIZATION UUO - TO SET DESIRED CLOCK OPERATION
288 ;*EITHER IGNORE CLOCK, ONLY LET IT TICK OR CAUSE INTERRUPT TO OCCUR.
289
290 037540 000004 OPDEF CLOKOP [37B8!13B12!4] ;CLOCK OPERATION UUO - PDP-11 CLOCK
291 037200 000004 OPDEF MTROP [37B8!4B12!4] ;CLOCK OPERATION UUO - DK20 METER
292
293 ;*KL10 ONLY CACHE OPERATION UUO'S
294
295 037040 000004 OPDEF CINVAL [37B8!1B12!4] ;CACHE INVALIDATE
296 037100 000004 OPDEF CFLUSH [37B8!2B12!4] ;CACHE FLUSH
297 037140 000004 OPDEF CWRTBI [37B8!3B12!4] ;CACHE WRITE-BACK & INVALIDATE
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 5
PARAM KLM 18-JAN-77 11:38 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 SEQ 0015
298 ;*END OF PASS/PROGRAM UUOS
299
300 ;PERFORMS THE END OF PASS FUNCTIONS. INCREMENT PASS COUNT,
301 ;*DECREMENT ITERATION COUNT, CHECK IF FINISHED WITH THIS PROGRAM ETC.
302
303 037500 000004 OPDEF ENDUUO [37B8!12B12!4] ;UUO TO DISPLAY LIGHTS
304 037700 000004 OPDEF EOPUUO [37B8!16B12!4] ;END OF PROGRAM UUO
305
306 ;*MEMORY MANAGEMENT UUO'S
307 ;*UUO'S TO PERFORM VARIOUS MEMORY FUNCTIONS. MAPPING, ZEROING, PAGING,
308 ;*ADDRESS CONVERSION, ETC...
309
310 037000 000004 OPDEF MAPMEM [37B8!0B12!4] ;MAP MEMORY
311 037500 000002 OPDEF MEMZRO [37B8!12B12!2] ;ZERO MEMORY
312 037440 000002 OPDEF MEMSEG [37B8!11B12!2] ;SETUP MEMORY SEGMENT
313 037540 000002 OPDEF MAPADR [37B8!13B12!2] ;VIRTUAL TO PHYSICAL ADR CONVERT
314 037640 000002 OPDEF MAPCNK [37B8!15B12!2] ;MAP MEMORY CHUNK
315 037600 000002 OPDEF MAPSET [37B8!14B12!2] ;SET KI10 EXEC PAGE MAP
316 037740 000002 OPDEF MAPPNT [37B8!17B12!2] ;PRINT MEMORY MAP
317
318 ;*DEVICE CODE MODIFICATION UUO
319 ;*ALLOWS THE MODIFICATION OF IOT'S TO ONE DEVICE TO BE CHANGED TO
320 ;*IOT'S TO A DIFFERENT DEVICE CODE.
321
322 037340 000002 OPDEF MODPCU [37B8!7B12!2] ;MODIFY PERHIPERAL CODE, USER
323 037300 000002 OPDEF MODPCP [37B8!6B12!2] ;MODIFY PERHIPERAL CODE, PROGRAM
324
325 030000 IFNDEF MODDVL,<MODDVL==BEGIN>
326 030000 IFNDEF MODDVU,<MODDVU==BEGIN>
327
328 ;*"DIAMON" FILE SELECTION AND READ UUOS
329
330 037240 000004 OPDEF FSELECT [37B8!5B12!4] ;FILE SELECTION
331 037300 000004 OPDEF FREAD [37B8!6B12!4] ;FILE READ - ASCII DATA
332 037340 000004 OPDEF FRD36 [37B8!7B12!4] ;FILE READ - 36 BIT DATA
333 037400 000004 OPDEF FRD8 [37B8!10B12!4] ;FILE READ - 8 BIT DATA
334
335 ;*KI10 ONLY UUO FOR PRINTING MARGIN VALUES
336
337 037700 000002 OPDEF PNTMGN [37B8!16B12!2] ;PRINT MARGIN VALUE
338
339 XLIST
340 IFNDEF KLOLD,<LIST
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 6
PARAM KLM 18-JAN-77 11:38 ERROR HANDLING UUO DEFINITIONS, JAN 18,1977 SEQ 0016
341 SUBTTL ERROR HANDLING UUO DEFINITIONS, JAN 18,1977
342
343 S^;*********************************************************************^
344 ;*ERROR HANDLER PARAMETERS
345 S^;*********************************************************************^
346
347 036000 000000 OPDEF ERUUO [36B8] ;ERROR CALL UUO
348 035000 000000 OPDEF ERLOOP [35B8] ;ERROR LOOP, CHECKS PC,REPT,REPT1,ERROR
349 035040 000000 OPDEF ERLP1 [35B8!1B12] ;ERROR LOOP IF PC'S MATCH
350 035100 000000 OPDEF ERLP2 [35B8!2B12] ;ERROR LOOP IF ANY ERROR
351 034000 000000 OPDEF REPTUO [34B8] ;REPEAT LOOP UUO
352
353 ;*THE ERROR HANDLER MACROS
354
355 ;*A MACRO TO REPORT AN ERROR AND LOOP
356
357 DEFINE ERROR (ADR,FORMAT,CORECT,ACTUAL,F,D,ERR)<
358 SALL
359 ERUUO FORMAT,[T,,[SIXBIT\F'_\]
360 CORECT,,ACTUAL
361 [SIXBIT\D'_\],,ERR]
362 XALL
363
364 ERLOOP ADR ;IF ERROR, LOOP TO ADR
365 >
366
367 ;*A MACRO TO REPORT AN ERROR AND NOT LOOP
368
369 DEFINE ERROR1 (FORMAT,CORECT,ACTUAL,F,D,ERR)<
370 SALL
371 ERUUO FORMAT,[T,,[SIXBIT\F'_\]
372 CORECT,,ACTUAL
373 [SIXBIT\D'_\],,ERR]
374 XALL >
375
376 >;END OF KLOLD CONDITIONAL
377
378 XLIST
379 LIST
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 1
FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0017
380 SUBTTL *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977
381
382 030000 LOC 30000
383
384 S^;*********************************************************************^
385 ;*PROGRAM STARTING ADDRESSES
386 ;*THESE ADDRESSES CALL VARIOUS SPECIAL START ROUTINES AND OR OPTIONS
387 ;*NORMAL START ADDRESS IS 30000 ALL OTHERS ARE SPECIAL. INVOKED BECAUSE
388 ;*OF END OF PASS, POWER FAILURE, DDT START, RE-ENTERING(TYPICALLY USER
389 ;*MODE), OR ANY NUMBER OF SPECIAL FEATURE TESTS.
390 S^;*********************************************************************^
391
392 030000 254 00 1 00 027776 BEGIN: JRST @MODLNK ;STAND-ALONE START
393 030001 254 00 0 00 030712 $START: JRST START ;MODE CHECK STARTING ADDRESS
394
395 030002 254 00 1 00 027774 DIAGMN: JRST @LDLNK ;DIAGNOSTIC MONITOR START
396
397 030003 254 00 1 00 027774 SYSEXR: JRST @LDLNK ;SYSTEM EXERCISER START
398
399 030004 254 00 0 00 030712 SFSTRT: JRST SADR1 ;SPECIAL FEATURE START
400
401 030005 254 00 0 00 030712 PFSTRT: JRST SADR2 ;POWER FAIL RESTART
402
403 030006 254 00 0 00 030712 REENTR: JRST SADR3 ;REENTER START(USUALLY USER MODE ONLY)
404
405 030007 SRTDDT: ;COMMONLY MISTAKEN NAME FOR "DDTSRT"
406 030007 254 00 1 00 027775 DDTSRT: JRST @DDTLNK ;DDT START
407
408 030010 254 00 0 00 030741 BEGIN1: JRST STARTA ;LOOP START(END OF PASS COMES HERE)
409 030011 254 00 1 00 027777 SBINIT: JRST @SUBLNK ;PMGINT LINKAGE
410 030012 000000 000000 RETURN: 0 ;RETURN ADDRESS STORAGE
411
412 030013 254000 030712 START1: SADR7 ;OPTIONAL STARTING ADR/INSTRUCTIONS
413 030014 254000 030712 START2: SADR8 ; "
414 030015 254000 030712 START3: SADR9 ; "
415 030016 254000 030712 START4: SADR10 ; "
416 030017 254000 030712 START5: SADR11 ; "
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 2
FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0018
417 S^;*********************************************************************^
418 ;*PROGRAM FIXED PARAMETER AREA
419 S^;*********************************************************************^
420
421 030020 444153 414600 PNTNAM: PAREA3 ;SIXBIT PROGRAM NAME
422 030021 645560 000000 PNTEXT: PAREA4 ;SIXBIT PROGRAM EXTENSION
423 030022 000000 000000 RANDBS: PAREA1 ;RANDOM BASE NUMBER
424 030023 000000 000000 SWTEXR: PAREA2 ;SYSTEM EXERCISER SWITCHES
425 030024 000000 001000 ITRCNT: ITERAT ;PROGRAM ITERATIONS
426 030025 000000 030725 $PNAME: PGMNAM ;POINTER TO PROGRAMS NAME
427 030026 000000 000002 $PVER: MCNVER,,DECVER ;MCN & DEC VERSION LEVEL
428 030027 000000 030000 $MODVL: MODDVL ;DEVICE CODE CHANGE LOWER LIMIT
429 030030 000000 030000 $MODVU: MODDVU ;DEVICE CODE CHANGE UPPER LIMIT
430 030031 777777 777777 $EMODE: IFNDEF EXCASB,<0> IFDEF EXCASB,<-1> ;EXEC ALLOWED
431 030032 777777 777777 $UMODE: IFNDEF USRASB,<0> IFDEF USRASB,<-1> ;USER ALLOWED
432 030033 000000 000000 $DSKUP: IFNDEF DSKUPD,<0> IFDEF DSKUPD,<-1> ;DISK UPDATE MODE
433 030034 000000 000000 $MMAP: IFNDEF MEMMAP,<0> IFDEF MEMMAP,<-1> ;ALLOW MEMORY RTNS
434 030035 000000 000000 PAREA7: PAREA5 ;OPTIONAL PARAMETER
435 030036 000000 000000 PAREA8: PAREA6 ;OPTIONAL PARAMETER
436
437 S^;*********************************************************************^
438 ;*PROGRAM VARIABLE PARAMETER AREA
439 S^;*********************************************************************^
440
441 030037 000000 000000 USER: 0 ; 0 = EXEC, -1 = USER MODE FLAG
442 030040 000000 000000 KAIFLG: 0 ;PROCESSOR TYPE, 0 = KA10, -1 = KI10
443 030041 000000 000000 KLFLG: 0 ;PROCESSOR TYPE, 0 = KA/KI, -1 = KL10
444 030042 777777 777777 MONFLG: -1 ;DIAG MONITOR SPECIAL USER FLAG
445 030043 000000 000000 MONCTL: 0 ;DIAG MON/SYS EXR FLAG
446 030044 000000 000000 MONTEN: 0 ;-1= LOADED BY 10
447 030045 000000 000000 CLOCKF: 0 ;CLOCK TICKED FLAG
448 030046 000000 000000 CONSW: 0 ;CONSOLE SWITCH SETTINGS
449 030047 000000 000000 PASCNT: 0 ;PROGRAM PASS COUNT
450 030050 000000 000000 RUNFLG: 0 ;PROGRAM RUN FLAG
451 030051 000000 000000 TESTPC: 0 ;SUBTEST PC
452 030052 000000 000000 ERRPC: 0 ;ERROR PC
453 030053 000000 000000 ERRTLS: 0 ;ERROR TOTALS
454 030054 000000 000000 TICKS: 0 ;PROGRAM RUNNING TIME
455 030055 000000 000000 MARGIN: 0 ;KI10 MARGIN WORD VALUE
456 030056 000000 000000 $ONETM: 0 ;SUBROUTINE INITIALIZATION FLAG
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 3
FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0019
457 S^;*********************************************************************^
458 ;*SPECIAL PROGRAM DISPATCH ADDRESSES
459 S^;*********************************************************************^
460
461 030057 037 12 0 00 000004 BEGEND: ENDUUO ;END OF PASS
462 030060 254 00 0 00 030010 $BEND1: JRST BEGIN1 ;KEEP RUNNING PROGRAM
463 030061 037 16 0 00 000004 $BEND2: EOPUUO ;END OF PROGRAM - NO RETURN
464 030062 254000 030712 CNTLC: SADR5 ;CONTROL C XFER ADDRESS
465 030063 254000 030712 ALTMGO: SADR6 ;ALTMODE XFER ADDRESS
466 030064 CPOPJ1: ;SKIP RETURN
467 030064 350 00 0 17 000000 UUOSKP: AOS (P) ;SKIP RETURN FROM UUO
468 030065 CPOPJ: ;NON-SKIP REGULAR RETURN
469 030065 263 17 0 00 000000 UUOEXT: RTN ;UUO RETURN
470 030066 255 00 0 00 000000 UUORTN: JFCL ;ADDITIONAL USERS UUO ROUTINE
471 030067 255 00 0 00 000000 $UORTX: JFCL ;ADDITIONAL UUO LINKAGE
472 030070 255 00 0 00 000000 $UUOER: JFCL ;INITED AS (JRST $UOERX)
473 030071 255 00 0 00 000000 $ITRHL: JFCL ;ADDITIONAL INTERRUPT LINKAGE
474 030072 255 00 0 00 000000 $ITRX1: JFCL ; "
475 030073 255 00 0 00 000000 $USRHL: JFCL ; "
476 030074 255 00 0 00 000000 $RSRTX: JFCL ;ADDITIONAL POWER FAIL LINKAGE
477 030075 255 00 0 00 000000 $RSRTY: JFCL ; "
478 030076 255 00 0 00 000000 RESRT1: JFCL ; INITED AS (JRST RESRTX)
479 030077 255 00 0 00 000000 RESRT2: JFCL ; "
480 030100 255 00 0 00 000000 $PARER: JFCL ;ADDITIONAL PARITY ERROR LINKAGE
481 030101 255 00 0 00 000000 ERMORE: JFCL ;ADDITIONAL ERROR HANDLER LINKAGE
482 030102 254 04 0 00 030102 HALT . ;IMPROPER TRANSFER HALT
483
484 030103 000000 000000 $PSHER: 0 ;INITED AS (JRST PSHERR)
485 030104 000000 000000 ITRCH1: 0 ;PC & FLAGS OF CURRENT INTERRUPT
486 030105 000000 000000 0 ;INITED AS (JRST $ITRC1)
487
488 S^;*********************************************************************^
489 ;*PROCESSOR CONTROL STORAGE
490 S^;*********************************************************************^
491
492 030106 000000 000000 $ACC0: 0 ;INTERRUPT SAVED AC0
493 030107 000000 000000 $SVPI: 0 ;INTERRUPT SAVED PI
494 030110 000000 000000 $SVAPR: 0 ;INTERRUPT SAVED APR
495 030111 000000 000000 $SVPAG: 0 ;INTERRUPT SAVED PAG (DATAI)
496 030112 000000 000000 $SPAG1: 0 ;INTERRUPT SAVED PAG (CONI)
497
498 030113 000000 000000 $SVUUO: 0 ;CURRENT USERS UUO
499 030114 000000 000000 $SVUPC: 0 ;PC OF CURRENT USERS UUO
500
501 030115 000000 000000 REPTU: 0 ;REPEAT UUO ITERATIONS
502 030116 000000 000000 SCOPE: 0 ;ERROR HANDLER SCOPE LOOP FLAG
503 030117 000000 000000 %CORFLG:0 ; " CORRECT FLAG
504 030120 000000 000000 %COREC: 0 ; " CORRECT DATA
505 030121 000000 000000 %ACTFL: 0 ; " ACTUAL FLAG
506 030122 000000 000000 %ACTUL: 0 ; " ACTUAL DATA
507 030123 000000 000000 %DISCR: 0 ; " DISCREPENCY DATA
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 4
FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0020
508 S^;*********************************************************************^
509 ;*UUO DISPATCH TABLE
510 S^;*********************************************************************^
511 XLIST
512 LIST
513 030124 030070 030070 UUODIS: LUUO1,,$UUOER
514 030125 030070 030070 LUUO3,,LUUO2
515 030126 030070 030070 LUUO5,,LUUO4
516 030127 030070 030070 LUUO7,,LUUO6
517 030130 030070 030070 LUUO11,,LUUO10
518 030131 030070 030070 LUUO13,,LUUO12
519 030132 030070 030070 LUUO15,,LUUO14
520 030133 030070 030070 LUUO17,,LUUO16
521 030134 030070 030070 LUUO21,,LUUO20
522 030135 030070 030070 LUUO23,,LUUO22
523 030136 030070 030070 LUUO25,,LUUO24
524 030137 030070 030070 LUUO27,,LUUO26
525 030140 030070 030070 LUUO31,,LUUO30
526 030141 030070 030070 LUUO33,,LUUO32
527
528 S^;*********************************************************************^
529 ;*MEMORY MANAGMENT STORAGE
530 S^;*********************************************************************^
531
532 030142 000000 000000 DF22F: 0 ;DF10 CONTROL FLAG, 0 = 18, -1 = 22 BIT
533 030143 000000 000000 MAPNEW: 0 ;MEMORY MAPPING CONTROL FLAG, -1 = 4096K MAPPING
534 030144 000000 000000 MEMTOT: 0 ;TOTAL MEMORY SIZE IN K (1024.)
535 030145 000000 000000 MEMLOW: 0 ;LOWEST USABLE MEMORY
536 030146 MEMSIZ: BLOCK ^D41 ;MEMORY SEGMENT POINTER TABLE
537
538 S^;*********************************************************************^
539 ;*PRINT CONTROL STORAGE
540 S^;*********************************************************************^
541
542 030217 000000 000000 PNTFLG: 0 ;PRINT FLAG, -1 WHILE IN PRINT ROUTINE
543 030220 000000 000000 PNTENB: 0 ;PRINT ENABLE
544 030221 000000 000000 PDISF: 0 ;PRINT DISABLED FLAG
545 030222 000000 000000 PNTINH: 0 ;INHIBIT PRINT INPUT CHECKS
546 030223 000000 000000 PNTSPC: 0 ;PRINT SPACE CONTROL
547 030224 000000 000000 OPTIME: 0 ;TYPE-IN WAIT TIME
548 030225 000000 000000 $TWCNT: 0 ;TIME WAITED
549 030226 000000 000000 $DVOFF: 0 ;LOGICAL DEVICE INITED FLAG
550 030227 000000 000000 TTYFIL: 0 ;TTY EXEC FILLERS FLAG
551 030230 000000 000000 TTYSPD: 0 ;TTY EXEC BAUD RATE
552 030231 000000 000000 $TTCHR: 0 ;ACTUAL TYPED IN CHAR
553 030232 000000 000000 $CHRIN: 0 ;UPPER CASED & PARITY STRIPPED CHAR
554 030233 000000 000000 $TYPNB: 0 ;TYPED IN NUMBER
555 030234 000000 000000 $CRLF: 0 ;FREE CR/LF FLAG
556 030235 000000 000000 $TABF: 0 ;TAB CONVERSION FLAG
557 030236 000000 000000 $FFF: 0 ;FORM FEED CONVERSION FLAG
558 030237 000000 000000 $VTF: 0 ;VERTICAL TAB CONVERSION FLAG
559 030240 000000 000000 USRLFF: 0 ;USER LF FILLERS
560 030241 000000 000000 USRCRF: 0 ;USER CR FILLERS
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 5
FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0021
561 S^;*********************************************************************^
562 ;*THE FOLLOWING MISCELLANEOUS PRINT CHARACTERS ARE INCLUDED
563 ;*TO FACILITATE PRINTING AND ARE CALLED AS FOLLOWS:
564 ;* MOVEI NAME
565 ;* PNTA ;OR PNTAF
566 S^;*********************************************************************^
567
568 030242 CRLF: ASCII/
569 030242 015 012 000 000 000 /
570 030243 CRLF2: ASCII/
571
572 030243 015 012 015 012 000 /
573 030244 054 000 000 000 000 COMMA: ASCII/,/
574 030245 056 000 000 000 000 PERIOD: ASCII/./
575 030246 040 000 000 000 000 SPACE: ASCII/ /
576 030247 011 000 000 000 000 TAB: ASCII/ /
577 030250 MINUS:
578 030250 055 000 000 000 000 HYPEN: ASCII/-/
579 030251 053 000 000 000 000 PLUS: ASCII/+/
580 030252 052 000 000 000 000 AST: ASCII/*/
581 030253 100 000 000 000 000 ATSIN: ASCII/@/
582 030254 050 000 000 000 000 LFP: ASCII/(/
583 030255 051 000 000 000 000 RTP: ASCII/)/
584 030256 007 0000000000 BELL: BYTE (7) 007
585 030257 077 000 000 000 000 QUEST: ASCII/?/
586 030260 057 000 000 000 000 SLASH: ASCII!/!
587 030261 044 000 000 000 000 DOLLAR: ASCII/$/
588 030262 000000 000012 RADIX: ^D10 ;DECIMAL PRINT RADIX
589 030263 000000 000040 RADLSP: 40 ;DECIMAL PRINT LEADING CHAR
590 030264 000000 000012 RADLSC: ^D10 ;DECIMAL PRINT LEADING CHAR COUNT
591
592 S^;*********************************************************************^
593 ;*USER MODE OUTPUT FILE INFORMATION
594 S^;*********************************************************************^
595
596 030265 $OBUF: BLOCK 3 ;LOGICAL FILE OUTPUT BUFFER HEADER
597 030270 60 62 51 56 64 00 $OUTNM: SIXBIT /PRINT/ ;FILE NAME
598 030271 60 56 64 00 00 00 $OUTEX: SIXBIT /PNT/ ;FILE NAME EXTENSION
599 030272 BLOCK 2
600
601 S^;*********************************************************************^
602 ;*DISK UPDATE MODE FILE INFORMATION
603 S^;*********************************************************************^
604
605 030274 $IBUF: BLOCK 3
606 030277 60 62 51 56 64 00 $INNM: SIXBIT /PRINT/
607 030300 60 56 64 00 00 00 $INEXT: SIXBIT /PNT/
608 030301 BLOCK 2
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 6
FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0022
609 S^;*********************************************************************^
610 ;*PUSHDOWN LIST CONTROL INFORMATION
611 S^;*********************************************************************^
612
613 030303 777577 030303 PLIST: PLIST-PLISTE,,PLIST
614 030304 PLISTS: BLOCK 200
615 030504 000000 000000 PLISTE: 0 ;END OF PUSHDOWN LIST
616
617 S^;*********************************************************************^
618 ;*POWER LINE CLOCK FREQUENCY FLAG
619 S^;*********************************************************************^
620
621 030505 000000 000000 CYCL60: 0 ;0 = 60, -1 = 50 CYCLE
622
623 S^;*********************************************************************^
624 ;*KL10 CACHE CONTROL FLAGS
625 S^;*********************************************************************^
626
627 030506 000000 000000 CSHFLG: 0 ;ALLOW CACHE IF 0
628 030507 000000 000000 CSHMEM: 0 ;CACHE MEMORY SEGMENTS IF 0
629
630 S^;*********************************************************************^
631 ;*NUMBER INPUT DIGIT FLAG
632 S^;*********************************************************************^
633
634 030510 000000 000000 TTNBRF: 0 ;-1 IF ANY DIGIT TYPED
635
636 S^;*********************************************************************^
637 ;*KL10 & KI10 "INHPAG" SWITCH PAGING PREVENTION
638 S^;*********************************************************************^
639
640 030511 000000 000000 PVPAGI: 0 ;IF NON-ZERO, OVERRIDE "INHPAG" SWITCH ACTION
641
642 S^;*********************************************************************^
643 ;*ERROR REPORTING ROUTINE ADDITIONAL USERS CONTROL INSTRUCTIONS
644 S^;*********************************************************************^
645
646 030512 000000 000000 %ERHI1: 0 ;IF NON-ZERO, XCT'D AT START OF %ERUUO
647 030513 000000 000000 %ERHI2: 0 ;IF NON-ZERO, XCT'D AT END OF %ERUUO
648 030514 000000 000000 %ERHI3: 0 ;IF NON-ZERO, XCT'D AFTER "PC" OF %ERUUO
649
650 S^;*********************************************************************^
651 ;*SPECIAL USERS UUO INTERCEPT INSTRUCTION
652 S^;*********************************************************************^
653
654 030515 000000 000000 $$UUO: 0 ;IF NON-ZERO, XCT'D AT START OF $UORTN
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 7
FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0023
655 S^;*********************************************************************^
656 ;*KL10 PROCESSOR TYPE FLAG, 0=P0, 1=BBD NEW, 2=BBD OLD
657 S^;*********************************************************************^
658
659 030516 000000 000000 KLTYP: 0
660
661 S^;*********************************************************************^
662 ;*SPECIAL USERS MUUO INTERCEPT INSTRUCTION
663 S^;*********************************************************************^
664
665 030517 000000 000000 $$MUUO: 0 ;IF NON-ZERO, XCT'D AT START OF MUUOER
666
667 S^;*********************************************************************^
668 ;*SPECIAL USERS USER MODE OUTPUT ERROR INTERCEPT INSTUCTION
669 S^;*********************************************************************^
670
671 030520 000000 000000 $$OUTER:0 ;IF NON-ZERO, XCT'D AT END OF USER MODE ERROR
672
673 S^;*********************************************************************^
674 ;*"SWITCH" CALL USAGE CONTROL
675 S^;*********************************************************************^
676
677 030521 000000 000000 $$TOGGLE:0 ;IF NON-ZERO, USE C(CONSW) FOR SWITCHES
678
679 S^;*********************************************************************^
680 ;*SPECIAL USERS ALTMODE SWITCH CALL INTERCEPT INSTRUCTIONS
681 S^;*********************************************************************^
682
683 030522 000000 000000 $$TAX1: 0 ;IF NON-ZERO, XCT'D AT START OF ALTMODE SWITCH CALL
684 030523 000000 000000 $$TAX2: 0 ;IF NON-ZERO, XCT'D AT END OF ALTMODE SWITCH CALL
685
686 S^;*********************************************************************^
687 ;*SPECIAL FUTURE EXPANSION ROOM
688 ;*IF ANY FIXED AREA TAGS ARE ADDED, REDUCE THE SIZE OF
689 ;*THIS BLOCK STATEMENT ACCORDINGLY. THIS MUST BE DONE
690 ;*SO THAT PREVIOUS FIXED ASSIGNMENTS DO NOT CHANGE.
691 S^;*********************************************************************^
692
693 030524 BLOCK 53 ;HOPEFULLY THIS IS ENOUGH FOREVER
694
695 S^;*********************************************************************^
696 ;*END OF FIXED STORAGE
697 S^;*********************************************************************^
698
699 030577 $ENDFX=<PLISTE+100>&<777700>-1
700 030577 LOC $ENDFX
701 030577 000000 000000 ENDFIX: 0 ;END OF FIXED STORAGE
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 1
SPCCPU KLM 26-FEB-76 05:50 *SPCCPU* SPECIAL BASIC CPU PROCESSOR CONTROL, 26-FEB-76 SEQ 0024
702 SUBTTL *SPCCPU* SPECIAL BASIC CPU PROCESSOR CONTROL, 26-FEB-76
703
704 ;NEW DEFINITIONS USED BY THE KL10 SUBROUTINE PACKAGE
705
706 000000 AC0= 0
707 030000 DIAGNOS=30000 ;PDP-10 DIAGNOSTIC START ADDRESS
708 010000 DDT= 10000 ;PDP-10 DDT START ADDRESS
709 020000 DIAMON= 20000 ;PDP-10 DIAMON LOADER START ADDRESS
710 020000 DONG11= 1B22 ;11 DOORBELL (FROM THE 10)
711
712 ;DTE20 DEVICE CODES
713
714 000200 DTE== 200 ;DTE0
715 000204 DTE0== 204
716 000204 DTE1== 204
717 000210 DTE2== 210
718 000214 DTE3== 214
719
720 ;KL10 EPT COMMUNICATION AREA
721
722 000440 $STD= 440 ;PDP-10 DIAGNOSTIC START ADDRESS
723 000441 $DDT= 441 ;PDP-10 DDT START ADDRESS
724 000442 $STL= 442 ;PDP-10 LOADER START ADDRESS
725 000443 $STM= 443 ;PDP-10 MONITOR START ADDRESS
726
727 000444 $DTFLG= 444 ;DTE20 OPERATION COMPLETE FLAG
728 000445 $DTCLK= 445 ;DTE20 CLOCK INTERRUPT FLAG
729 000446 $DTCI= 446 ;DTE20 CLOCK INTERRUPT INSTRUCTION
730 000447 $DTT11= 447 ;DTE20 10 TO 11 ARGUMENT
731 000450 $DTF11= 450 ;DTE20 11 TO 10 ARGUMENT
732 000451 $DTCMD= 451 ;DTE20 TO 11 COMMAND WORD
733 000452 $DTSEQ= 452 ;DTE20 OPERATION SEQUENCE NUMBER
734 000453 $DTOPR= 453 ;DTE20 OPERATIONAL DTE #
735 000454 $DTCHR= 454 ;DTE20 LAST TYPED CHARACTER
736 000455 $DTMTD= 455 ;DTE20 MONITOR TTY OUTPUT COMPLETE FLAG
737 000456 $DTMTI= 456 ;DTE20 MONITOR TTY INPUT FLAG
738
739 000457 $DTSWR= 457 ;DTE20 CONSOLE SWITCH REGISTER
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 2
SPCCPU KLM 26-FEB-76 05:50 *SPCCPU* SPECIAL BASIC CPU PROCESSOR CONTROL, 26-FEB-76 SEQ 0025
740 ;SPECIAL "FIXED" REASSIGNMENTS
741
742 030600 $$LOC=. ;SAVE CURRENT LOCATION
743
744 030000 LOC 30000
745 030000 254 00 0 00 030600 $$BEGIN:JRST $$START ;SETUP SPECIAL START
746 030001 254 00 0 00 030600 JRST $$START ;"DIAMON" CHAIN START ADDRESS
747
748 000440 LOC 440
749 000440 254 00 0 00 030000 $STD: JRST BEGIN ;SETUP FOR "STD"
750 000443 LOC 443
751 000443 254 00 0 00 030636 $STM: JRST $SPEC ;SIMPLE RUN CONTROL
752
753 030057 LOC 30057
754 030057 254 00 0 00 030641 $BEGEND:JRST $SPBEND ;SETUP SPECIAL "BEGEND"
755
756 ;SPECIAL MUUO, TRAP & PAGE FAIL SETUP
757
758 000420 LOC 420
759 000420 254 04 0 00 000420 $$420: HALT . ;KI10 PAGE FAIL
760 000421 255 00 0 00 000000 $$421: JFCL ;OVERFLOW
761 000422 254 04 0 00 000422 $$422: HALT . ;PUSHDOWN OVERFLOW
762 000423 254 04 0 00 000423 $$423: HALT . ;TRAP 3
763 000424 000000 000000 $$424: 0 ;MMUO
764 000425 000000 000000 $$425: 0 ;MMUO PC
765 000426 000000 000000 $$426: 0 ;KI10-PAGE FAIL, KL10-PROCESS CONTEXT
766 000427 254 04 0 00 000427 $$427: HALT .
767 000430 000000 000427 $$430: 427 ;MMUO NEW PC'S
768 000431 000000 000427 $$431: 427
769 000432 000000 000427 $$432: 427
770 000433 000000 000427 $$433: 427
771 000434 000000 000427 $$434: 427
772 000435 000000 000427 $$435: 427
773 000436 000000 000427 $$436: 427
774 000437 000000 000427 $$437: 427
775
776 000500 LOC 500
777 000500 000000 000000 $$500: 0 ;KL10 PAGE FAIL WORD
778 000501 000000 000000 $$501: 0 ;KL10 PAGE FAIL PC
779 000502 000000 000503 $$502: 503 ;KL10 PAGE FAIL NEW PC
780 000503 254 04 0 00 000503 $$503: HALT .
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 3
SPCCPU KLM 26-FEB-76 05:50 *SPCCPU* SPECIAL BASIC CPU PROCESSOR CONTROL, 26-FEB-76 SEQ 0026
781 030600 LOC $$LOC ;RESET CURRENT LOCATION
782
783 ;SPECIAL STARTUP SEQUENCE
784
785 030600 402 00 0 00 030037 $$START:SETZM USER
786 030601 265 00 0 00 030602 JSP 0,.+1 ;IN USER MODE ?
787 030602 603 00 0 00 010000 TLNE 0,USERF
788 030603 476 00 0 00 030037 SETOM USER ;YES, SET CONTROL WORD
789 030604 336 00 0 00 030042 SKIPN MONFLG ;SPECIAL USER MODE ?
790 030605 402 00 0 00 030037 SETZM USER ;YES, RUN AS EXEC
791 030606 332 00 0 00 030037 SKIPE USER
792 030607 254 00 0 00 030712 JRST START ;USER MODE, DON'T NEED CPU TYPE
793
794 030610 336 00 0 00 030044 $STKIL: SKIPN MONTEN ;LOADED BY "DIAMON" ?
795 030611 476 00 0 00 030024 SETOM ITRCNT ;NO, RUN FOREVER
796 030612 402 00 0 00 030516 SETZM KLTYP
797 030613 402 00 0 00 030041 SETZM KLFLG ;ASSUME KI10
798 030614 200 01 0 00 034277 MOVE 1,[1,,1]
799 030615 251 01 0 00 000001 BLT 1,1 ;HOPE THIS WORKS
800 030616 316 01 0 00 034277 CAMN 1,[1,,1] ;IF AC NE 1,,1 AFTER BLT, KL10
801 030617 254 00 0 00 030712 JRST START ;KI10, NO ADDITIONAL SETUP
802
803 030620 7 000 20 0 00 010040 $STKL: CONO APR,10040 ;SET BBD NOT BIT
804 030621 7 000 24 0 00 000000 CONI APR,0
805 030622 7 000 20 0 00 020040 CONO APR,20040 ;CLEAR BBD NOT BIT
806 030623 606 00 0 00 000040 TRNN 0,40 ;IF SET, KL10
807 030624 350 00 0 00 030516 AOS KLTYP ;IF NOT, BBD
808 030625 402 00 0 00 000444 SETZM $DTFLG
809 030626 402 00 0 00 000445 SETZM $DTCLK
810 030627 200 00 0 00 000453 MOVE $DTOPR ;GET DTE #
811 030630 436 00 0 00 030670 ORM $$DTE0 ;INSERT IN DTE I/O INSTS
812 030631 436 00 0 00 030672 ORM $$DTE1
813 030632 436 00 0 00 030704 ORM $$DTE2
814 030633 436 00 0 00 030706 ORM $$DTE3
815 030634 476 00 0 00 030041 SETOM KLFLG ;SET KL10 CONTROL FLAG
816 030635 254 00 0 00 030712 JRST START
817
818 030636 200 00 0 00 034300 $SPEC: MOVE [JRST STARTA] ;SIMPLE RUN CONTROL
819 030637 202 00 0 00 030643 MOVEM $SPB1
820 030640 254 00 0 00 030712 JRST START
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 4
SPCCPU KLM 26-FEB-76 05:50 *SPCCPU* SPECIAL BASIC CPU PROCESSOR CONTROL, 26-FEB-76 SEQ 0027
821 ;SPECIAL "BEGEND" ROUTINE
822
823 030641 350 00 0 00 030047 $SPBEND:AOS PASCNT ;INCREMENT PASS COUNT
824 030642 370 00 0 00 030024 SOS ITRCNT ;DECREMENT ITERATION COUNT
825 030643 336 00 0 00 030037 $SPB1: SKIPN USER
826 030644 254 00 0 00 030652 JRST $SPBEX ;EXEC MODE
827
828 030645 332 00 0 00 030024 $SPBUS: SKIPE ITRCNT ;USER MODE, COMPLETED ?
829 030646 254 00 0 00 030741 JRST STARTA ;NO, KEEP RUNNING
830 030647 336 00 0 00 030044 SKIPN MONTEN ;DONE, LOADED BY "DIAMON" ?
831 030650 047 00 0 00 000012 EXIT ;NO, RETURN TO MONITOR
832 030651 254 00 1 00 030012 JRST @RETURN ;YES, RETURN TO "DIAMON"
833
834 030652 332 00 0 00 030041 $SPBEX: SKIPE KLFLG
835 030653 254 00 0 00 030660 JRST $SPBKL ;KL10 & EXEC
836 030654 7 004 14 0 00 030024 DATAO PI,ITRCNT ;KI10 & EXEC, DISPLAY ITER COUNT
837 030655 332 00 0 00 030024 SKIPE ITRCNT
838 030656 254 00 0 00 030741 JRST STARTA ;NOT COMPLETED YET
839 030657 254 00 1 00 030012 JRST @RETURN ;DONE
840
841 030660 336 00 0 00 030024 $SPBKL: SKIPN ITRCNT
842 030661 254 00 0 00 030676 JRST $SPKLD ;KL10, EXEC & COMPLETED
843
844 030662 335 00 0 00 030043 SKIPGE MONCTL
845 030663 254 00 0 00 030741 JRST STARTA ;"DIAMON" CONTROL
846 030664 201 00 0 00 000404 MOVEI 0,404 ;NOTIFY PDP-11 OF END OF PASS
847 030665 202 00 0 00 000451 MOVEM 0,$DTCMD
848 030666 402 00 0 00 000444 SETZM $DTFLG
849 030667 336 00 0 00 030516 SKIPN KLTYP
850 030670 7 200 20 0 00 020000 $$DTE0: CONO DTE,DONG11
851 030671 332 00 0 00 030516 SKIPE KLTYP
852 030672 7 200 20 0 00 010000 $$DTE1: CONO DTE,10000
853 030673 336 00 0 00 000444 SKIPN $DTFLG ;WAIT TILL 11 RESPONDS
854 030674 254 00 0 00 030673 JRST .-1
855 030675 254 00 0 00 030741 JRST STARTA ;KEEP RUNNING
856
857 ;SPECIAL KL10 COMPLETED ROUTINE
858
859 030676 332 00 0 00 030044 $SPKLD: SKIPE MONTEN
860 030677 254 00 1 00 030012 JRST @RETURN ;LOADED BY "DIAMON"
861
862 030700 201 00 0 00 000403 MOVEI 0,403 ;NOTIFY PDP-11 OF COMPLETION
863 030701 202 00 0 00 000451 MOVEM 0,$DTCMD
864 030702 402 00 0 00 000444 SETZM $DTFLG
865 030703 336 00 0 00 030516 SKIPN KLTYP
866 030704 7 200 20 0 00 020000 $$DTE2: CONO DTE,DONG11
867 030705 332 00 0 00 030516 SKIPE KLTYP
868 030706 7 200 20 0 00 010000 $$DTE3: CONO DTE,10000
869 030707 336 00 0 00 000444 SKIPN $DTFLG ;SHOULD NEVER HAPPEN
870 030710 254 00 0 00 030707 JRST .-1 ;11 NEVER RETURNS ON END OF PROGRAM
871 030711 254 04 0 00 030000 HALT BEGIN ;IF IT DOES, HALT.
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 1
DAKAFM MAC 19-JAN-77 17:08 DIAGNOSTIC SECTION SEQ 0028
872 SUBTTL DIAGNOSTIC SECTION
873
874 030712 402 00 0 00 030037 START: SETZM USER# ;CLEAR USER CONTROL WORD
875 030713 265 00 0 00 030714 JSP 0,.+1 ;GET FLAGS
876 030714 603 00 0 00 010000 TLNE USERF ;IN USER MODE?
877 030715 476 00 0 00 030037 SETOM USER ;YES, SET USER CONTROL WORD
878 030716 336 00 0 00 030042 SKIPN MONFLG ;SPECIAL USER MODE?
879 030717 402 00 0 00 030037 SETZM USER ;YES, CLEAR USER CONTROL WORD
880 030720 336 00 0 00 030037 SKIPN USER
881 030721 254 00 0 00 030741 JRST STARTA
882 030722 331 00 0 00 030043 SKIPL MONCTL
883 030723 051 03 0 00 030725 TTCALL 3,PGMNAM ;MENTION OUR NAME
884 030724 254 00 0 00 030741 JRST STARTA
885
886 030725 PGMNAM: ASCIZ/
887 030725 015 012 120 104 120 PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) [DAKAF]
888 030726 055 061 060 040 113
889 030727 101 061 060 040 102
890 030730 101 123 111 103 040
891 030731 111 116 123 124 122
892 030732 125 103 124 111 117
893 030733 116 040 104 111 101
894 030734 107 116 117 123 124
895 030735 111 103 040 050 066
896 030736 051 040 133 104 101
897 030737 113 101 106 135 015
898 030740 012 000 000 000 000 /
899
900 030741 254 00 0 00 030742 STARTA: JRST .+1
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 2
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0029
901 SUBTTL TEST OF MSCL BOOLEAN INSTRUCTIONS
902
903 ;**********
904
905 ;THIS TEST VERIFIES THAT SETZI CLEARS THE AC AND DOES NOT AFFECT E.
906 ;FIRST, AC AND E ARE PRELOADED WITH -1,,-1, THEN, SETZI IS EXECUTED.
907 ;AC IS THEN CHECKED FOR 0 AND E IS CHECKED FOR -1,,-1
908
909 030742 474 01 0 00 000000 C56100: SETO 1, ;PRELOAD AC WITH -1,,-1
910 030743 474 02 0 00 000000 SETO 2, ;PRELOAD E WITH -1,,-1
911 030744 401 01 0 00 000002 SETZI 1,2 ;*SETZI SHOULD CLEAR THE AC
912 030745 332 00 0 00 000001 SKIPE 1 ;PASS IF C(AC)=0
913 STOP^
914 030746 254 04 0 00 030747 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
915 030747 324 00 0 00 030750 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
916 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
917 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
918 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
919 030750 312 02 0 00 034301 CAME 2,[-1] ;PASS IF C(E)=-1,,-1
920 STOP^
921 030751 254 04 0 00 030752 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
922 030752 324 00 0 00 030753 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
923 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
924 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
925 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
926
927 ;**********
928
929 ;THIS TEST VERIFIES THAT SETZM CLEARS C(E) AND DOES NOT AFFECT C(AC)
930 ;FIRST, AC AND E ARE PRELOADED WITH -1,,-1; THEN SETZM IS EXECUTED.
931 ;AC IS THEN CHECKED FOR -1,,-1 AND E IS CHECKED FOR 0.
932
933 030753 474 01 0 00 000000 C56200: SETO 1, ;PRELOAD AC WITH -1,,-1
934 030754 474 02 0 00 000000 SETO 2, ;PRELOAD E WITH -1,,-1
935 030755 402 01 0 00 000002 SETZM 1,2 ;*SETZM SHOULD CLEAR E
936 030756 312 01 0 00 034301 CAME 1,[-1] ;PASS IF C(AC)=-1,,-1
937 STOP^
938 030757 254 04 0 00 030760 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
939 030760 324 00 0 00 030761 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
940 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
941 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
942 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
943 030761 332 00 0 00 000002 SKIPE 2 ;PASS IF C(E)=0
944 STOP^
945 030762 254 04 0 00 030763 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
946 030763 324 00 0 00 030764 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
947 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
948 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
949 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
950
951 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 3
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0030
952 ;THIS TEST VERIFIES THAT SETOI PLACES ALL ONES INTO THE AC.
953 ;FIRST, THE AC AND E ARE CLEARED; THEN, SETOI IS EXECUTED.
954 ;AC AND E ARE CHECKED FOR -1,,-1 AND 0 RESPECTIVELY
955
956 030764 403 01 0 00 000002 C56300: SETZB 1,2 ;CLEAR AC,E
957 030765 475 01 0 00 000002 SETOI 1,2 ;*SETOI SHOULD PLACE -1,,-1 INTO THE AC
958 030766 312 01 0 00 034301 CAME 1,[-1] ;PASS IF C(AC)=-1,,-1
959 STOP^
960 030767 254 04 0 00 030770 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
961 030770 324 00 0 00 030771 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
962 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
963 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
964 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
965 030771 332 00 0 00 000002 SKIPE 2 ;PASS IF C(E)=0
966 STOP^
967 030772 254 04 0 00 030773 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
968 030773 324 00 0 00 030774 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
969 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
970 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
971 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
972
973 ;**********
974
975 ;THIS TEST VERIFIES THAT SETOM PLACES ALL ONES INTO E
976 ;FIRST, THE AC AND E ARE CLEARED, THEN SETOM IS EXECUTED.
977 ;AC AND E ARE THEN CHECKED FOR 0 AND -1,,-1 RESPECTIVELY.
978
979 030774 403 01 0 00 000002 C56400: SETZB 1,2 ;CLEAR AC,E
980 030775 476 01 0 00 000002 SETOM 1,2 ;*SETOM SHOULD PLACE -1,,-1 INTO E
981 030776 332 00 0 00 000001 SKIPE 1 ;PASS IF C(AC)=0
982 STOP^
983 030777 254 04 0 00 031000 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
984 031000 324 00 0 00 031001 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
985 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
986 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
987 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
988 031001 312 02 0 00 034301 CAME 2,[-1] ;PASS IF C(E)=-1,,-1
989 STOP^
990 031002 254 04 0 00 031003 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
991 031003 324 00 0 00 031004 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
992 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
993 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
994 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
995
996 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 4
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0031
997 ;THIS TEST VERIFIES THAT SETOB PLACES ALL ONES INTO BOTH AC AND E.
998 ;FIRST, BOTH AC AND E ARE CLEARED; THEN, SETOB IS EXECUTED.
999 ;AC AND E ARE BOTH CHECKED FOR -1,,-1
1000
1001 031004 403 01 0 00 000002 C56500: SETZB 1,2 ;CLEAR AC,E
1002 031005 477 01 0 00 000002 SETOB 1,2 ;*SETOB SHOULD PUT -1,,-1 INTO BOTH AC AND E
1003 031006 312 01 0 00 034301 CAME 1,[-1] ;PASS IF C(AC)=-1,,-1
1004 STOP^
1005 031007 254 04 0 00 031010 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1006 031010 324 00 0 00 031011 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1007 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1008 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1009 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1010 031011 312 02 0 00 034301 CAME 2,[-1] ;PASS IF C(E)=-1,,-1
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)
1014 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1015 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1016 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1017
1018 ;**********
1019
1020 ;THIS TEST VERIFIES THAT ANDI PLACES THE LOGICAL AND FUNCTION
1021 ;OF C(AC) AND 0,,E INTO THE AC.
1022 ;IN THIS CASE, C(AC)=777000,,707070 AND E=0,,123123.
1023 ;HENCE, THE RESULT IN THE AC SHOULD BE 0,,103103
1024
1025 031014 200 01 0 00 034302 C56600: MOVE 1,[777000,,707070] ;PRELOAD AC WITH 777000,,707070
1026 031015 405 01 0 00 123123 ANDI 1,123123 ;*ANDI SHOULD PLACE 0,,103103 INTO THE AC
1027 031016 302 01 0 00 103020 CAIE 1,103020 ;PASS IF C(AC)=103103
1028 STOP^
1029 031017 254 04 0 00 031020 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1030 031020 324 00 0 00 031021 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1031 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1032 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1033 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1034
1035 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 5
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0032
1036 ;THIS TEST VERIFIES THAT ANDM PLACES THE LOGICAL AND FUNCTION OF
1037 ;C(AC) AND C(E) INTO E.
1038 ;IN THIS CASE, C(AC)=777000,,000777 AND C(E)=123456,,123456.
1039 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 777000,,000777 AND
1040 ;123000,,00456 RESPECTIVELY
1041
1042 031021 200 01 0 00 034303 C56700: MOVE 1,[777000,,777] ;PRELOAD E WITH 777000,,000777
1043 031022 200 02 0 00 034304 MOVE 2,[123456,,123456] ;PRELOAD AC WITH 123456,,123456
1044 031023 406 02 0 00 000001 ANDM 2,1 ;*ANDM SHOULD PLACE 123000,,000456 INTO E
1045 031024 312 02 0 00 034304 CAME 2,[123456,,123456] ;PASS IF C(AC) NOT MODIFIED
1046 STOP^
1047 031025 254 04 0 00 031026 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1048 031026 324 00 0 00 031027 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1049 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1050 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1051 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1052 031027 312 01 0 00 034305 CAME 1,[123000,,000456] ;PASS IF C(E)=123000,,000456
1053 STOP^
1054 031030 254 04 0 00 031031 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1055 031031 324 00 0 00 031032 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1056 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1057 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1058 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1059
1060 ;**********
1061
1062 ;THIS TEST VERIFIES THAT ANDM PLACES THE LOGICAL AND FUNCTION OF
1063 ;C(AC) AND C(E) INTO E.
1064 ;IN THIS CASE, C(AC)=777000,,000777 AND C(E)=123456,,123456.
1065 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 777000,,000777 AND
1066 ;123000,,00456 RESPECTIVELY
1067
1068 031032 200 01 0 00 034303 C56701: MOVE 1,[777000,,777] ;PRELOAD E WITH 777000,,000777
1069 031033 202 01 0 00 031046 MOVEM 1,E56701
1070 031034 200 02 0 00 034304 MOVE 2,[123456,,123456] ;PRELOAD AC WITH 123456,,123456
1071 031035 406 02 0 00 031046 ANDM 2,E56701 ;*ANDM SHOULD PLACE 123000,,000456 INTO E
1072 031036 312 02 0 00 034304 CAME 2,[123456,,123456] ;PASS IF C(AC) NOT MODIFIED
1073 STOP^
1074 031037 254 04 0 00 031040 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1075 031040 324 00 0 00 031041 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1076 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1077 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1078 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1079 031041 200 01 0 00 031046 MOVE 1,E56701
1080 031042 312 01 0 00 034305 CAME 1,[123000,,000456] ;PASS IF C(E)=123000,,000456
1081 STOP^
1082 031043 254 04 0 00 031044 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1083 031044 324 00 0 00 031045 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1084 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1085 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1086 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1087
1088 031045 334 00 0 00 000000 SKIPA ;GO TO NEXT TEST
1089 031046 000000 000000 E56701: 0 ;TEST WORD MEMORY
1090
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 5-1
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0033
1091 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 6
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0034
1092 ;THIS TEST VERIFIES THAT ANDCB PLACES THE LOGICAL AND FUNCTION OF
1093 ;C(AC) AND C(E) INTO BOTH AC AND E
1094 ;IN THIS CASE, C(AC)=-1,,0 AND C(E)=121212,,-1
1095 ;HENCE, THE RESULT IN BOTH AC AND E SHOULD BE 121212,,0,
1096
1097 031047 561 03 0 00 000000 C57000: HRROI 3,0 ;PRELOAD AC WITH -1,,0
1098 031050 525 06 0 00 121212 HRLOI 6,121212 ;PRELOAD E WITH 121212,,-1
1099 031051 407 03 0 00 000006 ANDB 3,6 ;*ANDB SHOULD PLACE 121212,,0 INTO BOTH AC AND E
1100 031052 312 03 0 00 034306 CAME 3,[121212,,0] ;PASS IF C(AC)=121212,,0
1101 STOP^
1102 031053 254 04 0 00 031054 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1103 031054 324 00 0 00 031055 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1104 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1105 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1106 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1107 031055 312 06 0 00 034306 CAME 6,[121212,,0] ;PASS IF C(E)=121212,,0
1108 STOP^
1109 031056 254 04 0 00 031057 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1110 031057 324 00 0 00 031060 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1111 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1112 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1113 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1114
1115 ;**********
1116
1117 ;THIS TEST VERIFIES THAT ANDCB PLACES THE LOGICAL AND FUNCTION OF
1118 ;C(AC) AND C(E) INTO BOTH AC AND E
1119 ;IN THIS CASE, C(AC)=-1,,0 AND C(E)=121212,,-1
1120 ;HENCE, THE RESULT IN BOTH AC AND E SHOULD BE 121212,,0,
1121
1122 031060 561 03 0 00 000000 C57001: HRROI 3,0 ;PRELOAD AC WITH -1,,0
1123 031061 525 06 0 00 121212 HRLOI 6,121212 ;PRELOAD E WITH 121212,,-1
1124 031062 202 06 0 00 031074 MOVEM 6,E57001
1125 031063 407 03 0 00 031074 ANDB 3,E57001 ;*ANDB SHOULD PLACE 121212,,0 INTO BOTH AC AND E
1126 031064 312 03 0 00 034306 CAME 3,[121212,,0] ;PASS IF C(AC)=121212,,0
1127 STOP^
1128 031065 254 04 0 00 031066 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1129 031066 324 00 0 00 031067 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1130 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1131 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1132 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1133 031067 200 06 0 00 031074 MOVE 6,E57001
1134 031070 312 06 0 00 034306 CAME 6,[121212,,0] ;PASS IF C(E)=121212,,0
1135 STOP^
1136 031071 254 04 0 00 031072 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1137 031072 324 00 0 00 031073 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1138 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1139 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1140 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1141
1142 031073 334 00 0 00 000000 SKIPA ;GO TO NEXT TEST
1143 031074 000000 000000 E57001: 0 ;TEST WORD MEMORY
1144
1145 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 7
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0035
1146 ;THIS TEST VERIFIES THAT ANDCAI PLACES THE LOGICAL AND FUNCTION
1147 ;OF THE WORD 0,E AND THE COMPLEMENT OF C(AC) INTO THE AC
1148 ;IN THIS CASE, C(AC)=777,000,,707070 AND E=0,135246
1149 ;HENCE, THE RESULT IN THE AC SHOULD BE 0,,030206
1150
1151 031075 200 05 0 00 034302 C57100: MOVE 5,[777000,,707070] ;PRELOAD AC WITH 777000,,707070
1152 031076 411 05 0 00 135246 ANDCAI 5,135246 ;*ANDCAI SHOULD PLACE 0,,30206 INTO THE AC
1153 031077 302 05 0 00 030206 CAIE 5,030206 ;PASS IF C(AC)=030206
1154 STOP^
1155 031100 254 04 0 00 031101 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1156 031101 324 00 0 00 031102 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1157 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1158 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1159 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1160
1161 ;**********
1162
1163 ;THIS TEST VERIFIES THAT ANDCAM PLACES THE LOGICAL AND FUNCTION OF
1164 ;C(E) AND THE COMPLEMENT OF C(AC) INTO E.
1165 ;IN THIS CASE, C(AC)=000767,,-1 AND C(E)=777350,,-2
1166 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 000767,,-1 AND
1167 ;777010,,0 RESPECTIVELY.
1168
1169 031102 525 04 0 00 000767 C57200: HRLOI 4,767 ;PRELOAD AC WITH 000767,,-1
1170 031103 200 06 0 00 034307 MOVE 6,[777350,,-2] ;PRELOAD E WITH 777350,,-2
1171 031104 412 04 0 00 000006 ANDCAM 4,6 ;*ANDCAM SHOULD PLACE 777010,,0
1172 ;INTO E
1173 031105 312 04 0 00 034310 CAME 4,[767,,-1] ;PASS IF C(AC) IS UNCHANGED
1174 STOP^
1175 031106 254 04 0 00 031107 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1176 031107 324 00 0 00 031110 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1177 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1178 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1179 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1180 031110 312 06 0 00 034311 CAME 6,[777010,,0] ;PASS IF C(E)=777010,,0
1181 STOP^
1182 031111 254 04 0 00 031112 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1183 031112 324 00 0 00 031113 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1184 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1185 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1186 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1187
1188 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 8
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0036
1189 ;THIS TEST VERIFIES THAT ANDCAB PLACES THE LOGICAN AND FUNCTION OF
1190 ;C(E) AND THE COMPLEMENT OF C(AC) INTO BOTH AC AND E.
1191 ;IN THIS CASE, C(AC)=000777,,770077 AND C(E)=123456,246123
1192 ;HENCE, THE RESULT IN BOTH AC AND E SHOULD BE 123000,,006100
1193
1194 031113 200 01 0 00 034312 C57300: MOVE 1,[000777,,770077] ;PRELOAD AC WITH 000777,770077
1195 031114 200 02 0 00 034313 MOVE 2,[123456,,246123] ;PRELOAD E WITH 123456,246123
1196 031115 413 01 0 00 000002 ANDCAB 1,2 ;*ANDCAB SHOULD PLACE 123000,006100
1197 ;INTO BOTH AC AND E
1198 031116 312 01 0 00 034314 CAME 1,[123000,,006100] ;PASS IF C(AC)=123000,006100
1199 STOP^
1200 031117 254 04 0 00 031120 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1201 031120 324 00 0 00 031121 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1202 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1203 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1204 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1205 031121 312 02 0 00 034314 CAME 2,[123000,,006100] ;PASS IF C(E)=123000,006100
1206 STOP^
1207 031122 254 04 0 00 031123 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1208 031123 324 00 0 00 031124 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1209 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1210 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1211 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1212
1213 ;**********
1214
1215 ;THIS TEST VERIFIES THAT SETMI MOVES THE WORD 0,,E INTO THE AC
1216 ;IN THIS CASE, C(AC)=-1,,-1 AND E=0,,123456. HENCE, THE RESULT
1217 ;IN THE AC SHOULD BE 0,,123456
1218
1219 031124 474 05 0 00 000000 C57400: SETO 5, ;PRELOAD AC WITH -1,,-1
1220 031125 415 05 0 00 123456 SETMI 5,123456 ;*SETMI SHOULD PLACE 0,,123456 INTO THE AC
1221 031126 302 05 0 00 123456 CAIE 5,123456 ;PASS IF C(AC)=0,123456
1222 STOP^
1223 031127 254 04 0 00 031130 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1224 031130 324 00 0 00 031131 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1225 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1226 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1227 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1228
1229 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 9
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0037
1230 ;THIS TEST VERIFIES THAT SETMM IS A NO-OP. HENCE, IT SHOULD
1231 ;NOT MODIFY AC OR E.
1232 ;IN THIS CASE, C(AC)=0 AND C(E)=-1,,-1; AND NEITHER SHOULD NOT BE CHANGED
1233
1234 031131 400 16 0 00 000000 C57500: SETZ 16, ;CLEAR C(AC)
1235 031132 474 17 0 00 000000 SETO 17, ;PRELOAD E WITH -1,,-1
1236 031133 416 16 0 00 000017 SETMM 16,17 ;*SETMM IS A NO-OP
1237 031134 332 00 0 00 000016 SKIPE 16 ;PASS IF C(AC) UNCHANGED
1238 STOP^
1239 031135 254 04 0 00 031136 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1240 031136 324 00 0 00 031137 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1241 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1242 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1243 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1244 031137 312 17 0 00 034301 CAME 17,[-1] ;PASS IF C(E) UNCHANGED
1245 STOP^
1246 031140 254 04 0 00 031141 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1247 031141 324 00 0 00 031142 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1248 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1249 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1250 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1251
1252 ;**********
1253
1254 ;THIS TEST VERIFIES THAT SETMB PLACES C(E) INTO THE AC
1255 ;IN THIS CASE, C(AC)=-1,,-1 AND C(E)=100,,-200 HENCE, THE RESULT
1256 ;IN BOTH AC AND E SHOULD BE 000100,,-200.
1257
1258 031142 474 00 0 00 000000 C57600: SETO 0, ;CLEAR AC
1259 031143 200 01 0 00 034315 MOVE 1,[100,,-200] ;PRELOAD E WITH 100,,-200
1260 031144 417 00 0 00 000001 SETMB 0,1 ;*SETMB SHOULD PLACE 100,,-200 INTO THE AC
1261 031145 312 00 0 00 034315 CAME 0,[100,,-200] ;PASS IF C(AC)=100,,-200
1262 STOP^
1263 031146 254 04 0 00 031147 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1264 031147 324 00 0 00 031150 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1265 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1266 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1267 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1268 031150 312 01 0 00 034315 CAME 1,[100,,-200] ;PASS IF C(E)=100,,-200
1269 STOP^
1270 031151 254 04 0 00 031152 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1271 031152 324 00 0 00 031153 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1272 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1273 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1274 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1275
1276 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 10
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0038
1277 ;THIS TEST VERIFIES THAT ANDCMI PLACES THE LOGICAL AND FUNCTION
1278 ;OF C(AC) AND THE COMPLEMENT OF THE WORD 0,,E INTO THE AC.
1279 ;IN THIS CASE, C(AC)=123456,,246135 AND E=0,,717273.
1280 ;HENCE, THE RESULT IN THE AC SHOULD BE 123456,,040104.
1281
1282 031153 200 15 0 00 034316 C57700: MOVE 15,[123456,,246135] ;PRELOAD AC WITH 123456,,246135
1283 031154 421 15 0 00 717273 ANDCMI 15,717273 ;*ANDCMI SHOULD PLACE 123456,,040104
1284 ;INTO THE AC
1285 031155 312 15 0 00 034317 CAME 15,[123456,,040104] ;PASS IF C(AC)=123456,,040104
1286 STOP^
1287 031156 254 04 0 00 031157 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1288 031157 324 00 0 00 031160 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1289 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1290 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1291 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1292
1293 ;**********
1294
1295 ;THIS TEST VERIFIES THAT ANDCMM PLACES THE LOGICAL AND FUNCTION OF
1296 ;C(AC) AND THE COMPLEMENT OF C(E) INTO E.
1297 ;IN THIS CASE,C(AC)=12321,,456654 AND C(E)= 770077,,007770
1298 ;HENCE, THE RESULT IN E SHOULD BE 003300,,450004
1299
1300 031160 200 14 0 00 034320 C60000: MOVE 14,[123321,,456654] ;PRELOAD AC WITH 123321,,456654
1301 031161 200 15 0 00 034321 MOVE 15,[770077,,007770] ;PRELOAD E WITH 77007770
1302 031162 422 14 0 00 000015 ANDCMM 14,15 ;*ANDCMM SHOULD PLACE 003300,,450004 INTO THE AC
1303 031163 312 14 0 00 034320 CAME 14,[123321,,456654] ;PASS IF C(AC) UNCHANGED
1304 STOP^
1305 031164 254 04 0 00 031165 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1306 031165 324 00 0 00 031166 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1307 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1308 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1309 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1310 031166 312 15 0 00 034322 CAME 15,[3300,,450004] ;PASS IF C(E) = 003300,,450004
1311 STOP^
1312 031167 254 04 0 00 031170 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1313 031170 324 00 0 00 031171 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1314 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1315 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1316 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1317
1318 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 11
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0039
1319 ;THIS TEST VERIFIES THAT ANDCMB PLACES THE LOGICAL AND FUNCTION OF
1320 ;C(AC) AND THE COMPLEMENT OF C(E) INTO BOTH AC AND E.
1321 ;IN THIS CASE, C(AC)123456,,663322 AND C(E) = 777000,,700770
1322 ;HENCE, THE RESULT IN BOTH AC AND E SHOULD BE 000456,,063002
1323
1324 031171 200 13 0 00 034323 C60100: MOVE 13,[123456,,663322] ;PRELOAD AC WITH 123456,,663322
1325 031172 200 14 0 00 034324 MOVE 14,[777000,,700770] ;PRELOAD E WITH 777000,,700770
1326 031173 423 13 0 00 000014 ANDCMB 13,14 ;*ANDCMB SHOULD PLACE 000456,,063002
1327 ;INTO BOTH AC AND E
1328 031174 312 13 0 00 034325 CAME 13,[456,,63002] ;PASS IF C(AC)=000456,,063002
1329 STOP^
1330 031175 254 04 0 00 031176 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1331 031176 324 00 0 00 031177 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1332 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1333 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1334 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1335 031177 312 14 0 00 034325 CAME 14,[456,,63002] ;PASS IF C(E)=000456,,063002
1336 STOP^
1337 031200 254 04 0 00 031201 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1338 031201 324 00 0 00 031202 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1339 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1340 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1341 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1342
1343 ;**********
1344
1345
1346 ;THIS TEST VERIFIES THAT SETA IS A NO-OP. IT AFFECTS NEITHER
1347 ;AC OR E. IN THIS CASE, C(AC)=123456,,777776 AND C(E)=010203,,123450.
1348 ;SETA SHOULD NOT MODIFY C(AC) OR C(E)
1349
1350 031202 200 12 0 00 034326 C60200: MOVE 12,[123456,,777776] ;PRELOAD AC WITH 123456,,-2
1351 031203 200 13 0 00 034327 MOVE 13,[010203,,123450] ;PRELOAD E WITH 010203,,123450
1352 031204 424 12 0 00 000013 SETA 12,13 ;*SETA IS A NO-OP
1353 031205 312 12 0 00 034326 CAME 12,[123456,,-2] ;PASS IF C(AC) UNCHANGED
1354 STOP^
1355 031206 254 04 0 00 031207 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1356 031207 324 00 0 00 031210 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1357 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1358 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1359 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1360 031210 312 13 0 00 034327 CAME 13,[010203,,123450] ;PASS IF C(E) UNCHANGED
1361 STOP^
1362 031211 254 04 0 00 031212 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1363 031212 324 00 0 00 031213 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1364 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1365 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1366 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1367
1368 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 12
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0040
1369 ;THIS TEST VERIFIES THAT SETAI IS A NO-OP. IT DOES NOT AFFECT THE AC.
1370 ;IN THIS CASE, C(AC)=123456,,777776 AND E=0,,123450
1371 ;SETA SHOULD NOT MODIFY C(AC)
1372
1373 031213 200 12 0 00 034326 C60300: MOVE 12,[123456,,777776] ;PRELOAD AC WITH 123456,,-2
1374 031214 425 12 0 00 123450 SETAI 12,123450 ;*SETAI IS A NO-OP
1375 031215 312 12 0 00 034326 CAME 12,[123456,,-2] ;PASS IF C(AC) UNCHANGED
1376 STOP^
1377 031216 254 04 0 00 031217 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1378 031217 324 00 0 00 031220 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1379 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1380 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1381 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1382
1383 ;**********
1384
1385 ;THIS TEST VERIFIES THAT SETAM PLACES C(AC) INTO E.
1386 ;IN THIS CASE, C(AC)=123456,,0 AND C(E)=-1,,-1. HENCE, THE
1387 ;RESULT IN E SHOULD BE 123456,,0
1388
1389 031220 515 11 0 00 123456 C60400: HRLZI 11,123456 ;PRELOAD AC WITH 123456,,0
1390 031221 474 12 0 00 000000 SETO 12, ;PRELOAD E WITH -1,,-1
1391 031222 426 11 0 00 000012 SETAM 11,12 ;SETAM SHOULD PLACE 123456,,0 INTO E
1392 031223 312 11 0 00 034330 CAME 11,[123456,,0] ;PASS IF C(AC) UNCHANGED
1393 STOP^
1394 031224 254 04 0 00 031225 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1395 031225 324 00 0 00 031226 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1396 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1397 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1398 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1399 031226 312 12 0 00 034330 CAME 12,[123456,,0] ;PASS IF C(E)=123456,,0
1400 STOP^
1401 031227 254 04 0 00 031230 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1402 031230 324 00 0 00 031231 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1403 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1404 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1405 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1406
1407 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 13
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0041
1408 ;THIS TEST VERIFIES THAT XORI PLACES THE LOGICAL EXCLUSIVE OR FUNCTION
1409 ;OF C(AC) AND THE WORD 0,,E INTO THE AC.
1410 ;IN THIS CASE, C(AC)=000777,,123456 AND E=0,,434431
1411 ;HENCE, THE RESULT IN THE AC SHOULD BE 000777,,517067.
1412
1413 031231 200 10 0 00 034331 C60500: MOVE 10,[777,,123456] ;PRELOAD AC WITH 000777,,123456
1414 031232 431 10 0 00 434431 XORI 10,434431 ;*XORI SHOULD PLACE 000777,,517067 INTO THE AC
1415 031233 312 10 0 00 034332 CAME 10,[777,,517067] ;PASS IF C(AC)=000777,,517067
1416 STOP^
1417 031234 254 04 0 00 031235 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1418 031235 324 00 0 00 031236 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1419 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1420 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1421 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1422
1423 ;**********
1424
1425 ;THIS TEST VERIFIES THAT XORB PLACES THE LOGICAL EXCLUSIVE OR FUNCTION
1426 ;OF C(AC) AND C(E) INTO BOTH AC AND E.
1427 ;IN THIS CASE, C(AC)=707077,,555666 AND C(E)=123456,,765432
1428 ;HENCE, THE RESULT IN BOTH AC AND E SHOULD BE 624421,,230254
1429
1430 031236 200 07 0 00 034333 C60600: MOVE 7,[707077,,555666] ;PRELOAD AC WITH 707077,,555666
1431 031237 200 10 0 00 034334 MOVE 10,[123456,,765432] ;PRELOAD E WITH 123456,,765432
1432 031240 433 07 0 00 000010 XORB 7,10 ;*XORB SHOULD PLACE 624421,,230254
1433 ;INTO BOTH AC AND E
1434 031241 312 07 0 00 034335 CAME 7,[624421,,230254] ;PASS IF C(AC)=624421,,230254
1435 STOP^
1436 031242 254 04 0 00 031243 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1437 031243 324 00 0 00 031244 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1438 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1439 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1440 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1441 031244 312 10 0 00 034335 CAME 10,[624421,,230254] ;PASS IF C(E)=624421,,230254
1442 STOP^
1443 031245 254 04 0 00 031246 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1444 031246 324 00 0 00 031247 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1445 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1446 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1447 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1448
1449 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 14
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0042
1450 ;THIS TEST VERIFIES THAT IORI PLACES THE INCLUSIVE OR FUNCTION
1451 ;OF C(AC) AND THE WORD 0,,E INTO THE AC.
1452 ;IN THIS CASE, C(AC)=707070,,123456 AND E=0,,765567
1453 ;HENCE, THE RESULT IN THE AC SHOULD BE 707070,,767577
1454
1455 031247 200 06 0 00 034336 C60700: MOVE 6,[707070,,123456] ;PRELOAD AC WITH 707070,,123456
1456 031250 435 06 0 00 765567 IORI 6,765567 ;*IORI SHOULD PLACE 707070,,767577 INTO THE AC
1457 031251 312 06 0 00 034337 CAME 6,[707070,,767577] ;PASS IF C(AC)=707070,,767577
1458 STOP^
1459 031252 254 04 0 00 031253 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1460 031253 324 00 0 00 031254 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1461 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1462 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1463 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1464
1465 ;**********
1466
1467 ;THIS TEST VERIFIES THAT IORM PLACES THE INCLUSIVE OR FUNCTION
1468 ;OF C(AC) AND C(E) INTO E.
1469 ;IN THIS CASE, C(AC)=123456,,777666 AND C(E)=777001,,123470
1470 ;HENCE, THE RESULT IN E SHOULD BE 777457,,777676
1471
1472 031254 200 05 0 00 034340 C61000: MOVE 5,[123456,,777666] ;PRELOAD AC WITH 123456,777666
1473 031255 200 06 0 00 034341 MOVE 6,[777001,,123470] ;PRELOAD E WITH 777001,,123470
1474 031256 436 05 0 00 000006 IORM 5,6 ;*IORM SHOULD PLACE
1475 ;777457,777676 INTO E
1476 031257 312 05 0 00 034340 CAME 5,[123456,,777666] ;PASS IF C(AC) UNMODIFIED
1477 STOP^
1478 031260 254 04 0 00 031261 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1479 031261 324 00 0 00 031262 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1480 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1481 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1482 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1483 031262 312 06 0 00 034342 CAME 6,[777457,,777676] ;PASS IF C(E)=777457,777676
1484 STOP^
1485 031263 254 04 0 00 031264 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1486 031264 324 00 0 00 031265 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1487 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1488 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1489 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1490
1491 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 15
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0043
1492 ;THIS TEST VERIFIES THAT IORB PLACES THE INCLUSIVE OR FUNCTION
1493 ;OF C(AC) AND C(E) INTO E.
1494 ;IN THIS CASE, C(AC)=123456,,777666 AND C(E)=777001,,123470
1495 ;HENCE, THE RESULT IN BOTH AC AND E SHOULD BE 777457,,777676
1496
1497 031265 200 05 0 00 034340 C61100: MOVE 5,[123456,,777666] ;PRELOAD AC WITH 123456,777666
1498 031266 200 06 0 00 034341 MOVE 6,[777001,,123470] ;PRELOAD E WITH 777001,,123470
1499 031267 437 05 0 00 000006 IORB 5,6 ;*IORB SHOULD PLACE
1500 ;777457,,777676 INTO
1501 031270 312 05 0 00 034342 CAME 5,[777457,,777676] ;PASS IF C(AC)=777457,,777676
1502 STOP^
1503 031271 254 04 0 00 031272 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1504 031272 324 00 0 00 031273 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1505 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1506 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1507 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1508 031273 312 06 0 00 034342 CAME 6,[777457,,777676] ;PASS IF C(E)=777457,,777676
1509 STOP^
1510 031274 254 04 0 00 031275 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1511 031275 324 00 0 00 031276 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1512 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1513 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1514 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1515
1516 ;**********
1517
1518 ;THIS TEST VERIFIES THAT ANDCBI PLACES THE LOGICAL AND FUNCTION
1519 ;OF THE COMPLEMENTS OF BOTH C(AC) AND THE WORD 0,,E INTO THE AC
1520 ;IN THIS CASE, C(AC)=777000,,123456 AND E=0,,706050.
1521 ;HENCE, THE RESULT IN THE AC SHOULD BE 000777,,050321.
1522
1523 031276 200 04 0 00 034343 C61200: MOVE 4,[777000,,123456] ;PRELOAD AC WITH 777000,,123456
1524 031277 441 04 0 00 706050 ANDCBI 4,706050 ;*ANDCBI SHOULD PLACE 000777,,050321
1525 ;INTO THE AC
1526 031300 312 04 0 00 034344 CAME 4,[777,,50321] ;PASS IF C(AC)=000777,,050321
1527 STOP^
1528 031301 254 04 0 00 031302 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1529 031302 324 00 0 00 031303 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1530 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1531 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1532 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1533
1534 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 16
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0044
1535 ;THIS TEST VERIFIES THAT ANDCBM PLACES THE LOGICAL AND FUNCTION
1536 ;OF THE COMPLEMENTS OF BOTH C(AC) AND C(E) INTO
1537 ;IN THE CASE, C(AC)=777007,,771100 AND C(E)=063202,,123477
1538 ;HENCE, THE RESULT IN E SHOULD BE 000570,,004200
1539
1540 031303 200 03 0 00 034345 C61300: MOVE 3,[777007,,771100] ;PRELOAD AC WITH 777007,,771100
1541 031304 200 04 0 00 034346 MOVE 4,[63202,,123477] ;PRELOAD E WITH 063202,,123477
1542 031305 442 03 0 00 000004 ANDCBM 3,4 ;*ANDCBM SHOULD PLACE
1543 ;000570,,004200 INTO E.
1544 031306 312 03 0 00 034345 CAME 3,[777007,,771100] ;PASS IF C(AC) IS UNCHANGED
1545 STOP^
1546 031307 254 04 0 00 031310 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1547 031310 324 00 0 00 031311 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1548 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1549 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1550 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1551 031311 312 04 0 00 034347 CAME 4,[570,,4200] ;PASS IF C(E)=000570,,004200
1552 STOP^
1553 031312 254 04 0 00 031313 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1554 031313 324 00 0 00 031314 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1555 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1556 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1557 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1558
1559 ;**********
1560
1561 ;THIS TEST VERIFIES THAT ANDCBB PLACES THE LOGICAL AND FUNCTION
1562 ;OF THE COMPLEMENTS OF BOTH C(AC) AND C(E) INTO BOTH AC AND E
1563 ;IN THIS CASE, C(AC)=777007,,771100 AND C(E)=063202,,123477
1564 ;HENCE, THE RESULT IN BOTH AC AND E SHOULD BE 000570,,004200
1565
1566 031314 200 03 0 00 034345 C61400: MOVE 3,[777007,,771100] ;PRELOAD WITH 777007,,771100
1567 031315 200 04 0 00 034346 MOVE 4,[63202,,123477] ;PRELOAD E WITH 063202,,123477
1568 031316 443 03 0 00 000004 ANDCBB 3,4 ;*ANDCBB SHOULD PLACE
1569 ;000570,,004200 INTO BOTH AC AND E
1570 031317 312 03 0 00 034347 CAME 3,[570,,4200] ;PASS IF C(AC)=000570,,004200
1571 STOP^
1572 031320 254 04 0 00 031321 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1573 031321 324 00 0 00 031322 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1574 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1575 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1576 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1577 031322 312 04 0 00 034347 CAME 4,[570,,4200] ;PASS IF C(E)=000570,,004200
1578 STOP^
1579 031323 254 04 0 00 031324 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1580 031324 324 00 0 00 031325 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1581 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1582 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1583 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1584
1585 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 17
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0045
1586 ;THIS TEST VERIFIES THAT EQVI PLACES THE LOGICAL EQUIVALENCE FUNCTION
1587 ;OF C(AC) AND THE WORD 0,,E INTO THE AC
1588 ;IN THIS CASE, C(AC)=707070,,123426 AND E=0,,123363
1589 ;HENCE, THE RESULT IN THE AC SHOULD BE 070707,,777032
1590
1591 031325 200 02 0 00 034350 C61500: MOVE 2,[707070,,123426] ;PRELOAD AC WITH 707070,,123426
1592 031326 445 02 0 00 123363 EQVI 2,123363 ;*EQVI SHOULD PLACE
1593 ;070707,,777032 INTO THE AC
1594 031327 312 02 0 00 034351 CAME 2,[70707,,777032] ;PASS IF C(AC)=070707,,777032
1595 STOP^
1596 031330 254 04 0 00 031331 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1597 031331 324 00 0 00 031332 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1598 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1599 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1600 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1601
1602 ;**********
1603
1604 ;THIS TEST VERIFIES THAT EQVM PLACES THE LOGICAL EQUIVALENCE FUNCTION
1605 ;OF C(AC) AND C(E) INTO E.
1606 ;IN THIS CASE, C(AC)= 123456,,123457 AND C(E) = 707633,,121212
1607 ;HENCE, THE RESULT IN E SHOULD BE 153512,,775132
1608
1609 031332 200 01 0 00 034352 C61600: MOVE 1,[123456,,123457] ;PRELOAD AC WITH 123456,,123457
1610 031333 200 02 0 00 034353 MOVE 2,[707633,,121212] ;PRELOAD AC WITH 707633,,121212
1611 031334 446 01 0 00 000002 EQVM 1,2 ;*EQVM SHOULD PLACE 153512,,775132 INTO E.
1612 031335 312 01 0 00 034352 CAME 1,[123456,,123457] ;PASS IF C(AC) UNCHANGED
1613 STOP^
1614 031336 254 04 0 00 031337 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1615 031337 324 00 0 00 031340 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1616 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1617 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1618 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1619 031340 312 02 0 00 034354 CAME 2,[153512,,775132];PASS IF C(E) = 153512,,775132
1620 STOP^
1621 031341 254 04 0 00 031342 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1622 031342 324 00 0 00 031343 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1623 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1624 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1625 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1626
1627 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 18
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0046
1628 ;THIS TEST VERIFIES THAT EQVB PLACES THE LOGICAL EQUIVALENCE FUNCTION
1629 ;OF C(AC)AND C(E) INTO BOTH AC AND E.
1630 ;IN THIS CASE, C(AC) = 123456,,123457 AND C(E) = 707633,,121212
1631 ;HENSE, THE RSULT IN BOTH AC AND E SHOULD BE 153512,,775132
1632
1633 031343 200 01 0 00 034352 C61700: MOVE 1,[123456,,123457] ;PRELOAD AC WITH 123456,,12345
1634 031344 200 02 0 00 034353 MOVE 2,[707633,,121212] ;PRELOAD AC WITH 707633,,121212
1635 031345 447 01 0 00 000002 EQVB 1,2 ;*EQVB SHOULD PLACE 153512,,775132
1636 ;INTO BOTHE AC AND E.
1637 031346 312 01 0 00 034354 CAME 1,[153512,,775132] ;PASS IC C(AC)=153512,,775132
1638 STOP^
1639 031347 254 04 0 00 031350 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1640 031350 324 00 0 00 031351 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1641 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1642 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1643 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1644 031351 312 02 0 00 034354 CAME 2,[153512,,775132] ;PASS IF C(E)=153512,,775132
1645 STOP^
1646 031352 254 04 0 00 031353 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1647 031353 324 00 0 00 031354 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1648 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1649 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1650 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1651
1652 ;**********
1653
1654 ;THIS TEST VERIFIES THAT SETCAI PLACES THE COMPLEMENT OF C(AC)
1655 ;INTO THE AC.
1656 ;IN THIS CASE, C(AC)=777000,,123456 AND E=0,,707070
1657 ;HENCE, THE RESULT IN THE AC SHOULD BE 000777,,654321
1658
1659 031354 200 00 0 00 034343 C62000: MOVE 0,[777000,,123456] ;PRELOAD AC WITH 777000,,123456
1660 031355 451 00 0 00 707070 SETCAI 0,707070 ;*SETCAI SHOULD PLACE 000777,,654321
1661 ;INTO THE AC
1662 031356 312 00 0 00 034355 CAME 0,[777,,654321] ;PASS IF C(AC)=000777,,654321
1663 STOP^
1664 031357 254 04 0 00 031360 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1665 031360 324 00 0 00 031361 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1666 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1667 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1668 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1669
1670 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 19
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0047
1671 ;THIS TEST VERIFIES THAT SETCAM PLACES THE COMPLEMENT OF C(AC)
1672 ;INTO E.
1673 ;IN THIS CASE, C(AC)=123456,,765432 AND C(E)=-1,,-1.
1674 ;HENCE, THE RESULT IN E SHOULD BE 654321,,012345
1675
1676 031361 200 17 0 00 034334 C62100: MOVE 17,[123456,,765432] ;PRELOAD AC WITH 123456,,765432
1677 031362 474 00 0 00 000000 SETO 0, ;PRELOAD E WITH -1,,-1
1678 031363 452 17 0 00 000000 SETCAM 17,0 ;*SETCAM SHOULD PLACE
1679 ;654321,,012345 INTO E
1680 031364 312 17 0 00 034334 CAME 17,[123456,,765432] ;PASS IF C(AC) IS UNCHANGED
1681 STOP^
1682 031365 254 04 0 00 031366 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1683 031366 324 00 0 00 031367 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1684 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1685 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1686 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1687 031367 312 00 0 00 034356 CAME 0,[654321,,12345] ;PASS IF C(E)=654321,,012345
1688 STOP^
1689 031370 254 04 0 00 031371 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1690 031371 324 00 0 00 031372 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1691 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1692 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1693 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1694
1695 ;**********
1696
1697 ;THIS TEST VERIFIES THAT SETCAB PLACES THE COMPLEMENT OF C(AC)
1698 ;INTO BOTH AC AND E.
1699 ;IN THIS CASE, C(AC)=123456,,765432 AND C(E)=-1,,-1.
1700 ;HENCE, THE RESULT IN BOTH AC AND E SHOULD BE 654321,,012345
1701
1702 031372 200 17 0 00 034334 C62200: MOVE 17,[123456,,765432] ;PRELOAD AC WITH 123456,,76543
1703 031373 474 00 0 00 000000 SETO 0, ;PRELOAD E WITH -1,,-1
1704 031374 453 17 0 00 000000 SETCAB 17,0 ;*SETCAB SHOULD PLACE
1705 ;654321,,012345 INTO BOTH AC AND E
1706 031375 312 17 0 00 034356 CAME 17,[654321,,12345] ;PASS IF C(AC)=654321,,012345
1707 STOP^
1708 031376 254 04 0 00 031377 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1709 031377 324 00 0 00 031400 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1710 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1711 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1712 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1713 031400 312 00 0 00 034356 CAME 0,[654321,,12345] ;PASS IF C(E)=654321,,012345
1714 STOP^
1715 031401 254 04 0 00 031402 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1716 031402 324 00 0 00 031403 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1717 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1718 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1719 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1720
1721 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 20
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0048
1722 ;THIS TEST VERIFIES THAT ORCAI PLACES THE INCLUSIVE OR FUNCTION
1723 ;OF THE WORD 0,,E AND THE COMPLEMENT OF C(AC) INTO THE AC.
1724 ;IN THIS CASE, C(AC)=777000,,123477 AND E=0,,765401
1725 ;HENCE, THE RESULT IN THE AC SHOULD BE 000777,,775701
1726
1727 031403 200 16 0 00 034357 C62300: MOVE 16,[777000,,123477] ;PRELOAD AC WITH 777000,,123477
1728 031404 455 16 0 00 765401 ORCAI 16,765401 ;*ORCAI SHOULD PLACE 000777,,767477
1729 ;INTO THE AC
1730 031405 312 16 0 00 034360 CAME 16,[777,,775701] ;PASS IF C(AC)=000777,,775701
1731 STOP^
1732 031406 254 04 0 00 031407 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1733 031407 324 00 0 00 031410 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1734 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1735 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1736 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1737
1738 ;**********
1739
1740 ;THIS TEST VERIFIES THAT ORCAM PLACES THE INCLUSIVE OR FUNCTION
1741 ;OF C(E) AND THE COMPLEMENT OF C(AC) INTO
1742 ;IN THIS CASE, C(AC)=777000,,123477 AND C(E)=707070,,707072
1743 ;HENCE, THE RESULT IN E SHOULD BE 707777,,757372
1744
1745 031410 200 15 0 00 034357 C62400: MOVE 15,[777000,,123477] ;PRELOAD AC WITH 777000,,123477
1746 031411 200 16 0 00 034361 MOVE 16,[707070,,707072] ;PRELOAD E WITH 707070,,707072
1747 031412 456 15 0 00 000016 ORCAM 15,16 ;*ORCAM SHOULD PLACE 707777,,757372
1748 ;INTO E
1749 031413 312 15 0 00 034357 CAME 15,[777000,,123477] ;PASS IF C(AC) IS UNCHANGED
1750 STOP^
1751 031414 254 04 0 00 031415 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1752 031415 324 00 0 00 031416 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1753 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1754 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1755 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1756 031416 312 16 0 00 034362 CAME 16,[707777,,757372] ;PASS IF C(E)=707777,,757372
1757 STOP^
1758 031417 254 04 0 00 031420 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1759 031420 324 00 0 00 031421 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1760 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1761 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1762 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1763
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 21
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0049
1764 ;**********
1765 ;THIS TEST VERIFIES THAT ORCAB PLACES THE INCLUSIVE OR FUNCTION
1766 ;OF C(E) AND THE COMPLEMENT OF C(AC) INTO BOTH AC AND E.
1767 ;IN THIS CASE, C(AC)=777000,,123477 AND C(E)=707070,,707072
1768 ;HENCE, THE RESULT IN BOTH AC AND E SHOULD BE 707777,,757372
1769
1770 031421 200 15 0 00 034357 C62500: MOVE 15,[777000,,123477] ;PRELOAD AC WITH 777000,,123477
1771 031422 200 16 0 00 034361 MOVE 16,[707070,,707072] ;PRELOAD E WITH 707070,,707072
1772 031423 457 15 0 00 000016 ORCAB 15,16 ;*ORCAB SHOULD PLACE 707777,,757372
1773 ;INTO BOTHE AC AND E
1774 031424 312 15 0 00 034362 CAME 15,[707777,,757372] ;PASS IF C(AC)=707777,,757372
1775 STOP^
1776 031425 254 04 0 00 031426 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1777 031426 324 00 0 00 031427 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1778 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1779 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1780 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1781 031427 312 16 0 00 034362 CAME 16,[707777,,757372] ;PASS IF C(E)=707777,,757372
1782 STOP^
1783 031430 254 04 0 00 031431 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1784 031431 324 00 0 00 031432 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1785 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1786 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1787 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1788
1789 ;**********
1790
1791 ;THIS TEST VERIFIES THAT SETCMI PLACES THE COMPLEMENT OF THE
1792 ;WORD 0,,E INTO THE AC
1793 ;IN THIS CASE, C(AC)=777000,,123456 AND E=0,,707070
1794 ;HENCE, THE RESULT IN THE AC SHOULD BE -1,,070707
1795
1796 031432 200 00 0 00 034343 C62600: MOVE 0,[777000,,123456] ;PRELOAD AC WITH 777000,,123456
1797 031433 461 00 0 00 707070 SETCMI 0,707070 ;*SETCMI SHOULD PLACE -1,,070707
1798 ;INTO THE AC
1799 031434 312 00 0 00 034363 CAME 0,[-1,,070707] ;PASS IF C(AC)=-1,,070707
1800 STOP^
1801 031435 254 04 0 00 031436 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1802 031436 324 00 0 00 031437 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1803 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1804 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1805 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1806
1807 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 22
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0050
1808 ;THIS TEST VERIFIES THAT SETCMM PLACES THE COMPLEMENT OF C(E)
1809 ;INTO E.
1810 ;IN THIS CASE, C(E)=123456,,765432 AND C(AC)=-1,,-1.
1811 ;HENCE, THE RESULT IN E SHOULD BE 654321,,012345
1812
1813 031437 200 17 0 00 034334 C62700: MOVE 17,[123456,,765432] ;PRELOAD E WITH 123456,,76543
1814 031440 474 00 0 00 000000 SETO 0, ;PRELOAD AC WITH -1,,-1
1815 031441 462 00 0 00 000017 SETCMM 0,17 ;*SETCMM SHOULD PLACE
1816 ;654321,012345 INTO E
1817 031442 312 00 0 00 034301 CAME 0,[-1] ;PASS IF C(AC) UNCHANGED
1818 STOP^
1819 031443 254 04 0 00 031444 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1820 031444 324 00 0 00 031445 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1821 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1822 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1823 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1824 031445 312 17 0 00 034356 CAME 17,[654321,,12345] ;PASS IF C(E)=654321,,012345
1825 STOP^
1826 031446 254 04 0 00 031447 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1827 031447 324 00 0 00 031450 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1828 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1829 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1830 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1831
1832 ;**********
1833
1834 ;THIS TEST VERIFIES THAT SETCMB PLACES THE COMPLEMENT OF C(E)
1835 ;INTO BOTH AC AND E.
1836 ;IN THIS CASE, C(E)=123456,,765432 AND C(AC)=-1,,-1.
1837 ;HENCE, THE RESULT IN BOTH AC AND E SHOULD BE 654321,,012345
1838
1839 031450 200 17 0 00 034334 C63000: MOVE 17,[123456,,765432] ;PRELOAD E WITH 123456,,76543
1840 031451 474 00 0 00 000000 SETO 0, ;PRELOAD AC WITH -1,,-1
1841 031452 463 00 0 00 000017 SETCMB 0,17 ;*SETCMB SHOULD PLACE
1842 ;654321,,012345 INTO BOTH AC AND E
1843 031453 312 00 0 00 034356 CAME 0,[654321,,12345] ;PASS IF C(AC)=654321,,012345
1844 STOP^
1845 031454 254 04 0 00 031455 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1846 031455 324 00 0 00 031456 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1847 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1848 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1849 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1850 031456 312 17 0 00 034356 CAME 17,[654321,,12345] ;PASS IF C(E)=654321,,012345
1851 STOP^
1852 031457 254 04 0 00 031460 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1853 031460 324 00 0 00 031461 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1854 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1855 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1856 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1857
1858 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 23
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0051
1859 ;THIS TEST VERIFIES THAT ORCMI PLACES THE INCLUSIVE OR FUNCTION
1860 ;OF C(AC) AND THE COMPLEMENT OF THE WORD 0,,E INTO THE AC.
1861 ;IN THIS CASE, C(AC)=777000,,123477 AND E=0,,765401
1862 ;HENCE, THE RESULT IN THE AC SHOULD BE -1,,133777
1863
1864 031461 200 16 0 00 034357 C63100: MOVE 16,[777000,,123477] ;PRELOAD AC WITH 777000,,123477
1865 031462 465 16 0 00 765401 ORCMI 16,765401 ;*ORCMI SHOULD PLACE -1,,133777
1866 ;INTO THE AC
1867 031463 312 16 0 00 034364 CAME 16,[-1,,133777] ;PASS IF C(AC)=-1,,133777
1868 STOP^
1869 031464 254 04 0 00 031465 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1870 031465 324 00 0 00 031466 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1871 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1872 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1873 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1874
1875 ;**********
1876
1877 ;THIS TEST VERIFIES THAT ORCMM PLACES THE INCLUSIVE OR FUNCTION
1878 ;OF C(AC) AND THE COMPLEMENT OC C(E) INTO
1879 ;IN THIS CASE, C(E)=777000,,123477 AND C (AC)=707070,,707072
1880 ;HENCE, THE RESULT IN E SHOULD BE 707777,,757372
1881
1882 031466 200 15 0 00 034357 C63200: MOVE 15,[777000,,123477] ;PRELOAD E WITH 777000,,123477
1883 031467 200 16 0 00 034361 MOVE 16,[707070,,707072] ;PRELOAD AC WITH 707070,,707072
1884 031470 466 16 0 00 000015 ORCMM 16,15 ;*ORCMM SHOULD PLACE 707777,,757372
1885 ;INTO E
1886 031471 312 16 0 00 034361 CAME 16,[707070,,707072] ;PASS IF C(AC) IS UNCHANGED
1887 STOP^
1888 031472 254 04 0 00 031473 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1889 031473 324 00 0 00 031474 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1890 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1891 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1892 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1893 031474 312 15 0 00 034362 CAME 15,[707777,,757372] ;PASS IF C(E)=707777,,757372
1894 STOP^
1895 031475 254 04 0 00 031476 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1896 031476 324 00 0 00 031477 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1897 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1898 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1899 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1900
1901 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 24
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0052
1902 ;THIS TEST VERIFIES THAT ORCMB PLACES THE INCLUSIVE OR FUNCTION
1903 ;OF C(AC) AND THE COMPLEMENT OF C(E) INTO BOTH AC AND E.
1904 ;IN THIS CASE, C(E)=777000,,123477 AND C(AC)=707070,,707072
1905 ;HENCE, THE RESULT IN BOTH AC AND E SHOULD BE 707777,,757372
1906
1907 031477 200 15 0 00 034357 C63300: MOVE 15,[777000,,123477] ;PRELOAD E WITH 777000,,123477
1908 031500 200 16 0 00 034361 MOVE 16,[707070,,707072] ;PRELOAD AC WITH 707070,,707072
1909 031501 467 16 0 00 000015 ORCMB 16,15 ;*ORCMB SHOULD PLACE 707777,,757372
1910 ;INTO BOTH AC AND E
1911 031502 312 16 0 00 034362 CAME 16,[707777,,757372] ;PASS IF C(AC)=707777,,757372
1912 STOP^
1913 031503 254 04 0 00 031504 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1914 031504 324 00 0 00 031505 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1915 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1916 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1917 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1918 031505 312 15 0 00 034362 CAME 15,[707777,,757372] ;PASS OF C(E)=707777,,757372
1919 STOP^
1920 031506 254 04 0 00 031507 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1921 031507 324 00 0 00 031510 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1922 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1923 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1924 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1925
1926 ;**********
1927
1928 ;THIS TEST VERIFIES THAT ORCBI PLACES THE LOGICAL INCLUSIVE OR
1929 ;FUNCTION OF THE COMPLEMENTS OF BOTH C(AC) AND THE WORD 0,,E INTO THE AC.
1930 ;IN THIS CASE, C(AC)=707070,,070706 AND E=0,,770011.
1931 ;HENCE, THE RESULT IN THE AC SHOULD BE -1,,707777
1932
1933 031510 200 15 0 00 034365 C63400: MOVE 15,[707070,,070706] ;PRELOAD AC WITH 707070,,070706
1934 031511 471 15 0 00 770011 ORCBI 15,770011 ;*ORCBI SHOULD PLACE -1,,707777 INTO THE AC
1935 031512 312 15 0 00 034366 CAME 15,[-1,,707777] ;PASS IF C(AC)=-1,707777
1936 STOP^
1937 031513 254 04 0 00 031514 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1938 031514 324 00 0 00 031515 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1939 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1940 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1941 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1942
1943 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 25
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0053
1944 ;THIS TEST VERIFIES THAT ORCBM PLACES THE LOGICAL INCLUSIVE OR
1945 ;FUNCTION OF THE COMPLEMENTS OF BOTH C(AC) AND C(E) INTO
1946 ;IN THIS CASE, C(AC)=123456,,770077 AND C(E)=777001,,123324
1947 ;HENCE, THE RESULT IN E SHOULD BE 654777,,657753
1948
1949 031515 200 14 0 00 034367 C63500: MOVE 14,[123456,,770077] ;PRELOAD AC WITH 123456,,770077
1950 031516 200 15 0 00 034370 MOVE 15,[777001,,123324] ;PRELOAD E WITH 777001,,123324
1951 031517 472 14 0 00 000015 ORCBM 14,15 ;*ORCBM SHOULD PLACE 654777,,657753
1952 ;INTO E
1953 031520 312 14 0 00 034367 CAME 14,[123456,,770077] ;PASS IF C(AC) IS UNCHANGED
1954 STOP^
1955 031521 254 04 0 00 031522 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1956 031522 324 00 0 00 031523 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1957 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1958 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1959 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1960 031523 312 15 0 00 034371 CAME 15,[654777,,657753] ;PASS IF C(E)=654777,,657753
1961 STOP^
1962 031524 254 04 0 00 031525 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1963 031525 324 00 0 00 031526 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1964 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1965 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1966 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1967
1968 ;**********
1969
1970 ;THIS TEST VERIFIES THAT ORCBB PLACES THE LOGICAL INCLUSIVE OR
1971 ;FUNCTIONOF THE COMPLEMENTS OF BOTH C(AC) AND C(E) INTO BOTH AC AND E
1972 ;IN THIS CASE, C(AC)=123456,,770077 AND C(E)=777001,,657753
1973
1974 031526 200 14 0 00 034367 C63600: MOVE 14,[123456,,770077] ;PRELOAD AC WITH 123456,,770077
1975 031527 200 15 0 00 034370 MOVE 15,[777001,,123324] ;PRELOAD E WITH 777001,,123324
1976 031530 473 14 0 00 000015 ORCBB 14,15 ;*ORCBB SHOULD PLACE 654777,,657753
1977 ;INTO BOTH AC AND E
1978 031531 312 14 0 00 034371 CAME 14,[654777,,657753] ;PASS IF C(AC)=654777,,657753
1979 STOP^
1980 031532 254 04 0 00 031533 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1981 031533 324 00 0 00 031534 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1982 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1983 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1984 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1985 031534 312 15 0 00 034371 CAME 15,[654777,,657753] ;PASS IF C(E)=654777,,657753
1986 STOP^
1987 031535 254 04 0 00 031536 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1988 031536 324 00 0 00 031537 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
1989 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
1990 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
1991 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
1992
1993 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 26
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0054
1994 SUBTTL TEST OF MSCL HWT INSTRUCTIONS
1995
1996 ;**********
1997
1998 ;THIS TEST VERIFIES THAT HLLI CLEARS AC LEFT
1999 ;IN THIS CASE, C(AC)=707070,,123456 AND E=777000
2000 ;HENCE, THE RESULT IN THE AC SHOULD BE 0,,123456
2001
2002 031537 200 17 0 00 034336 C63700: MOVE 17,[707070,,123456] ;PRELOAD AC WITH 707070,,123456
2003 031540 501 17 0 00 777000 HLLI 17,777000 ;*HLLI SHOULD PLACE 0,,123456 INTO THHE AC
2004 031541 302 17 0 00 123456 CAIE 17,123456 ;PASS IF C(AC)=0,,123456
2005 STOP^
2006 031542 254 04 0 00 031543 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2007 031543 324 00 0 00 031544 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2008 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2009 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2010 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2011
2012 ;**********
2013
2014 ;THIS TEST VERIFIES THAT HLLS PLACES C(E) INTO THE AC IF AC IS NON-ZERO
2015 ;AND IS A NO-OP IF AC=0
2016 ;IN THIS CASE, AC=0, C(AC)=-1,,-1 AND C(E)=123456,,765432
2017 ;HENCE, THE RESULTS IN AC AND E SHOULD BE -1,,-1
2018 ;AND 123456,,765432 RESPECTIVELY
2019
2020 031544 474 00 0 00 000000 C64000: SETO 0 ;PRELOAD AC WITH -1,,-1
2021 031545 200 02 0 00 034334 MOVE 2,[123456,,765432] ;PRELOAD E WITH 123456,,765432
2022 031546 503 00 0 00 000002 HLLS 0,2 ;*HLLS SHOULD NOT AFFECT AC OR E
2023 031547 312 00 0 00 034301 CAME 0,[-1] ;PASS IF C(AC) UNCHANGED
2024 STOP^
2025 031550 254 04 0 00 031551 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2026 031551 324 00 0 00 031552 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2027 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2028 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2029 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2030 031552 312 02 0 00 034334 CAME 2,[123456,,765432] ;PASS IF C(C) IS UNCHANGED
2031 STOP^
2032 031553 254 04 0 00 031554 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2033 031554 324 00 0 00 031555 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2034 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2035 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2036 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2037
2038 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 27
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0055
2039 ;THIS TEST VERIFIES THAT HLLS PLACES C(E) INTO THE AC IF AC IS NON-ZERO?
2040 ;AND IS A NO-OP IF AC=0
2041 ;IN THIS CASE, AC=1, C(AC)=1,,-1 AND C(E)=123456,,765432
2042 ;HENCE, THE RESULTS IN AC AND E WHOULD BE 123456,,765432
2043 ;AND 123456,,765432 RESPECTVIELY
2044
2045 031555 474 01 0 00 000000 C64010: SETO 1, ;PRELOAD AC WITH -1,,-1
2046 031556 200 02 0 00 034334 MOVE 2,[123456,,765432] ;PRELOAD E WITH 123456,,765432
2047 031557 503 01 0 00 000002 HLLS 1,2 ;*HLLS SHOULD PLACE 123456,,765432 INTO THE AC
2048 031560 312 01 0 00 034334 CAME 1,[123456,,765432] ;PASS IF C(AC)=123456,,765432
2049 STOP^
2050 031561 254 04 0 00 031562 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2051 031562 324 00 0 00 031563 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2052 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2053 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2054 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2055 031563 312 02 0 00 034334 CAME 2,[123456,,765432] ;PASS IF C(C) IS UNCHANGED
2056 STOP^
2057 031564 254 04 0 00 031565 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2058 031565 324 00 0 00 031566 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2059 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2060 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2061 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2062
2063 ;**********
2064
2065 ;THIS TEST VERIFIES THAT HRLS PLACES C(E-RIGHT) INTO E-LEFT, BUT
2066 ;DOES NOT AFFECT E-RIGHT. IF AC IS NON-ZERO, THE RESULT IN E
2067 ;IS ALSO PLACED INTO THE AC.
2068 ;IN THIS CASE, AC=0, C(AC)=1,,-1 AND C(E)=123456,707070
2069 ;HENCE, THE RESULTS IN AC AND E RESPECTIVELY SHOULD BE -1,,-1
2070 ;AND 707070,,707070.
2071
2072 031566 474 00 0 00 000000 C64100: SETO 0, ;PRELOAD AC WITH -1,,-1
2073 031567 200 03 0 00 034372 MOVE 3,[123456,,707070] ;PRELOAD E WITH 123456,,707070
2074 031570 507 00 0 00 000003 HRLS 0,3 ;*HRLS SHOULD PLACE 707070,,707070
2075 ;INTO E.
2076 031571 312 00 0 00 034301 CAME 0,[-1] ;PASS IF C(AC) UNCHANGED
2077 STOP^
2078 031572 254 04 0 00 031573 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2079 031573 324 00 0 00 031574 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2080 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2081 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2082 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2083 031574 312 03 0 00 034373 CAME 3,[707070,,707070] ;PASS IF C(E)=707070,,707070
2084 STOP^
2085 031575 254 04 0 00 031576 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2086 031576 324 00 0 00 031577 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2087 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2088 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2089 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2090
2091 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 28
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0056
2092 ;THIS TEST VERIFIES THAT HRLS PLACES C(E-RIGHT) INTO E-LEFT, BUT
2093 ;DOES NOT AFFECT E-RIGHT. IF AC IS NON-ZERO, THE RESULT IN E
2094 ;IS ALSO PLACED INTO THE AC.
2095 ;IN THIS CASE, AC=1, C(AC)=-1,,-1 AND C(E)=123456,,707070
2096 ;HENCE, THE RESULTS IN AC AND E RESPECTIVELY SHOULD BE 707070,,707070
2097 ;AND 707070,,707070.
2098
2099 031577 474 01 0 00 000000 C64110: SETO 1, ;PRELOAD AC WITH -1,,-1
2100 031600 200 03 0 00 034372 MOVE 3,[123456,,707070] ;PRELOAD E WITH 123456,,707070
2101 031601 507 01 0 00 000003 HRLS 1,3 ;*HRLS SHOULD PLACE 707070,,707070
2102 ;INTO BOTH AC AND E.
2103 031602 312 01 0 00 034373 CAME 1,[707070,,707070] ;PASS IF C(AC)=707070,,707070
2104 STOP^
2105 031603 254 04 0 00 031604 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2106 031604 324 00 0 00 031605 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2107 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2108 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2109 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2110 031605 312 03 0 00 034373 CAME 3,[707070,,707070] ;PASS IF C(E)=707070,,707070
2111 STOP^
2112 031606 254 04 0 00 031607 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2113 031607 324 00 0 00 031610 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2114 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2115 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2116 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2117
2118 ;**********
2119
2120 ;THIS TEST VERIFIES THAN HLLZM PLACES C(AC-LEFT) INTO E-LEFT AND
2121 ;PLACES 0 INTO E-RIGHT
2122 ;IN THIS CASE, C(AC)=123456,,123422 AND C(E)=707070,717171
2123 ;HENCE, THE RESULT IN E SHOULD BE 123456,,0
2124
2125 031610 200 01 0 00 034374 C64200: MOVE 1,[123456,,123422] ;PRELOAD AC WITH 123456,,123422
2126 031611 200 02 0 00 034375 MOVE 2,[707070,,717171] ;PRELOAD AC WITH 707070,,717171
2127 031612 512 01 0 00 000002 HLLZM 1,2 ;*HLLZM SHOULD PLACE 123456,,0 INTO E
2128 031613 312 01 0 00 034374 CAME 1,[123456,,123422] ;PASS IF C(AC) UNCHANGED
2129 STOP^
2130 031614 254 04 0 00 031615 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2131 031615 324 00 0 00 031616 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2132 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2133 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2134 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2135 031616 312 02 0 00 034330 CAME 2,[123456,,0] ;PASS IF C(E)=123456,,0
2136 STOP^
2137 031617 254 04 0 00 031620 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2138 031620 324 00 0 00 031621 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2139 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2140 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2141 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2142
2143 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 29
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0057
2144 ;THIS TEST VERIFIES THAT HLLZS CLEARS THE RIGHT HALF OF E, BUT DOESN'T
2145 ;AFFECT THE LEFT HALF OF E. IF AC IS NON-ZERO, THE RESULT IN E IS
2146 ;ALSO PLACED INTO THE AC.
2147 ;IN THIS CASE, AC=0, C(AC)=-1,,-1 AND C(E)=123456,,707070
2148 ;HENCE, THE RESULTS IN AC AND E SHOULD BE -1,,-1
2149 ;AND 123456,,0 RESPECTIVELY
2150
2151 031621 474 00 0 00 000000 C64300: SETO 0, ;PRELOAD AC WITH -1,,-1
2152 031622 200 17 0 00 034372 MOVE 17,[123456,,707070] ;PRELOAD E WITH 123456,,707070
2153 031623 513 00 0 00 000017 HLLZS 0,17 ;*HLLZS SHOULD PLACE 123456,,0 INTO E.
2154 031624 312 00 0 00 034301 CAME 0,[-1] ;PASS IF C(AC) UNCHANGED
2155 STOP^
2156 031625 254 04 0 00 031626 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2157 031626 324 00 0 00 031627 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2158 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2159 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2160 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2161 031627 312 17 0 00 034330 CAME 17,[123456,,0] ;PASS IF C(E)=123456,,0
2162 STOP^
2163 031630 254 04 0 00 031631 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2164 031631 324 00 0 00 031632 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2165 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2166 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2167 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2168
2169
2170 ;**********
2171
2172 ;THIS TEST VERIFIES THAT HLLZS CLEARS THE RIGHT HALF OF E, BUT DOESN'T
2173 ;AFFECT THE LEFT HALF OF E. IF AC IS NON-ZERO, THE RESULT IN E IS
2174 ;ALSO PLACED INTO THE AC.
2175 ;IN THIS CASE, AC=1, C(AC)=-1,,-1 AND C(E)=123456,,707070
2176 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 123456,,0
2177 ;AND 123456,,0 RESPECTIVELY.
2178
2179 031632 474 01 0 00 000000 C64310: SETO 1, ;PRELOAD AC WITH -1,,-1
2180 031633 200 17 0 00 034372 MOVE 17,[123456,,707070] ;PRELOAD E WITH 123456,,707070
2181 031634 513 01 0 00 000017 HLLZS 1,17 ;*HLLZS SHOULD PLACE 123456,,0 INTO
2182 ;BOTH AC AND E
2183 031635 312 01 0 00 034330 CAME 1,[123456,,0] ;PASS IF C(AC)=123456,,0
2184 STOP^
2185 031636 254 04 0 00 031637 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2186 031637 324 00 0 00 031640 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2187 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2188 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2189 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2190 031640 312 17 0 00 034330 CAME 17,[123456,,0] ;PASS IF C(E)=123456,,0
2191 STOP^
2192 031641 254 04 0 00 031642 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2193 031642 324 00 0 00 031643 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2194 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2195 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2196 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2197
2198 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 30
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0058
2199 ;THIS TEST VERIFIES THAT HRLZM PLACES C(AC-RIGHT) INTO E-LEFT AND
2200 ;PLACES O INTO E-RIGHT.
2201 ;IN THIS CASE, C(AC)=123456,,123422 AND C(E)=707070,,717171
2202 ;HENCE, THE RESULT IN E SHOULD BE 123422,,0
2203
2204 031643 200 01 0 00 034374 C64400: MOVE 1,[123456,,123422] ;PRELOAD AC WITH 123456,,123422
2205 031644 200 02 0 00 034375 MOVE 2,[707070,,717171] ;PRELOAD AC WITH 707070,,717171
2206 031645 516 01 0 00 000002 HRLZM 1,2 ;*HRLZM SHOULD PLACE 123422,,0 INTO E
2207 031646 312 01 0 00 034374 CAME 1,[123456,,123422] ;PASS IF C(AC) UNCHANGED
2208 STOP^
2209 031647 254 04 0 00 031650 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2210 031650 324 00 0 00 031651 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2211 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2212 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2213 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2214 031651 312 02 0 00 034376 CAME 2,[123422,,0] ;PASS IF C(E)=123422,,0
2215 STOP^
2216 031652 254 04 0 00 031653 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2217 031653 324 00 0 00 031654 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2218 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2219 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2220 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2221
2222 ;**********
2223
2224 ;THIS TEST VERIFIES THAT HRLZS PLACES C(E-RIGHT) INTO E-LEFT AND
2225 ;CLEARS E-RIGHT. IF AC IS NON-ZERO, THE RESULT IN E IS ALSO
2226 ;PLACED INTO THE AC.
2227 ;IN THIS CASE, AC=0, C(AC)=-1,,-1 AND C(E)=123456,,707076
2228 ;HENCE, THE RESULTS IN AC AND E RESPECTIVELY SHOULD BE -1,,-1
2229 ;AND 707076,,0
2230
2231 031654 474 00 0 00 000000 C64500: SETO 0, ;PRELOAD AC WITH -1,,-1
2232 031655 200 16 0 00 034377 MOVE 16,[123456,,707076] ;PRELOAD E WITH 123456,,707076
2233 031656 517 00 0 00 000016 HRLZS 0,16 ;*HRLZS SHOULD PLACE 707076,,0
2234 ;INTO E.
2235 031657 312 00 0 00 034301 CAME 0,[-1] ;PASS IF C(AC) UNCHANGED
2236 STOP^
2237 031660 254 04 0 00 031661 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2238 031661 324 00 0 00 031662 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2239 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2240 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2241 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2242 031662 312 16 0 00 034400 CAME 16,[707076,,0] ;PASS IF C(AC)=707076,,0
2243 STOP^
2244 031663 254 04 0 00 031664 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2245 031664 324 00 0 00 031665 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2246 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2247 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2248 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2249
2250 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 31
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0059
2251 ;THIS TEST VERIFIES THAT HRLZS PLACES C(E-RIGHT) INTO E-LEFT AND
2252 ;CLEARS E-RIGHT. IF AC IS NON-ZERO, THE RESULT IN E IS ALSO
2253 ;PLACED INTO THE AC.
2254 ;IN THIS CASE, AC=1, C(AC)=-1,,-1 AND C(E)=123456,,707076
2255 ;HENCE, THE RESULTS IN AC AND E RESPECTIVELY SHOULD BE 707076,,0
2256 ;AND 707076,,0
2257
2258 031665 474 01 0 00 000000 C64510: SETO 1, ;PRELOAD AC WITH -1,,-1
2259 031666 200 16 0 00 034377 MOVE 16,[123456,,707076] ;PRELOAD E WITH 123456,,707076
2260 031667 517 01 0 00 000016 HRLZS 1,16 ;*HRLZS SHOULD PLACE 707076,,0
2261 ;INTO BOTH AC AND E.
2262 031670 312 01 0 00 034400 CAME 1,[707076,,0] ;PASS IF C(AC)=707076,,0
2263 STOP^
2264 031671 254 04 0 00 031672 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2265 031672 324 00 0 00 031673 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2266 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2267 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2268 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2269 031673 312 16 0 00 034400 CAME 16,[707076,,0] ;PASS IF C(AC)=707076,,0
2270 STOP^
2271 031674 254 04 0 00 031675 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2272 031675 324 00 0 00 031676 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2273 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2274 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2275 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2276
2277 ;**********
2278
2279 ;THIS TEST VERIFIES THAT HLLOM PLACES C(AC-LEFT) INTO E-LEFT AND
2280 ;PLACES -1 INTO E-RIGHT.
2281 ;IN THIS CASE, C(AC)=123456,,123422 AND C(E)=707070,,717171
2282 ;HENCE, THE RESULT IN E SHOULD BE 123456,,-1.
2283
2284 031676 200 01 0 00 034374 C64600: MOVE 1,[123456,,123422] ;PRELOAD AC WITH 123456,,123422
2285 031677 200 02 0 00 034375 MOVE 2,[707070,,717171] ;PRELOAD AC WITH 707070,,717171
2286 031700 522 01 0 00 000002 HLLOM 1,2 ;*HLLOM SHOULD PLACE 123456,,-1 INTO E
2287 031701 312 01 0 00 034374 CAME 1,[123456,,123422] ;PASS IF C(AC) UNCHANGED
2288 STOP^
2289 031702 254 04 0 00 031703 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2290 031703 324 00 0 00 031704 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2291 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2292 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2293 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2294 031704 312 02 0 00 034401 CAME 2,[123456,,-1] ;PASS IF C(E)=123456,,-1
2295 STOP^
2296 031705 254 04 0 00 031706 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2297 031706 324 00 0 00 031707 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2298 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2299 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2300 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2301
2302 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 32
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0060
2303 ;THIS TEST VERIFIES THAT HRLO, C(E-RIGHT) INTO AC=LEFT AND
2304 ;PLACES -1 INTO AC-RIGHT. IN THIS CASE, C(AC)=123456,,135724 AND
2305 ;C(E)=765432,,246135. HENCE, THE RESULT IN THE AC SHOULD BE 246135,,-1
2306
2307 031707 200 15 0 00 034402 C64700: MOVE 15,[123456,,135724] ;PRELOAD AC WITH 123456,,135724
2308 031710 200 16 0 00 034403 MOVE 16,[765432,,246135] ;PRELOAD E WITH 765432,,246135
2309 031711 524 15 0 00 000016 HRLO 15,16 ;*HRLO SHOULD PLACE 246135,,-1 INTO AC
2310 031712 312 15 0 00 034404 CAME 15,[246135,,-1] ;PASS IF C(AC)=246135,,-1
2311 STOP^
2312 031713 254 04 0 00 031714 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2313 031714 324 00 0 00 031715 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2314 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2315 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2316 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2317 031715 312 16 0 00 034403 CAME 16,[765432,,246135] ;PASS IF C(E) UNCHANGED
2318 STOP^
2319 031716 254 04 0 00 031717 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2320 031717 324 00 0 00 031720 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2321 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2322 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2323 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2324
2325 ;**********
2326
2327 ;THIS TEST VERIFIES THAT HRLOI PLACES 0,,E INTO AC-LEFT AND
2328 ;PLACES ONES INTO AC-RIGHT. IN THIS CASE, C(AC)=0 AND E=0,,123456.
2329 ;HENCE, THE RESULT IN THE AC SHOULD BE 123456,,-1
2330
2331 031720 400 14 0 00 000000 C65000: SETZ 14, ;CLEAR AC
2332 031721 525 14 0 00 123456 HRLOI 14,123456 ;*HRLOI SHOULD PLACE 123456,,-1 INTO THE AC
2333 031722 312 14 0 00 034401 CAME 14,[123456,,-1] ;PASS IF C(AC)=123456,,-1
2334 STOP^
2335 031723 254 04 0 00 031724 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2336 031724 324 00 0 00 031725 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2337 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2338 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2339 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2340
2341 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 33
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0061
2342 ;THIS TEST VERIFIES THAT HRLOM PLACES C(AC-RIGHT) INTO E-LEFT
2343 ;AND PLACES -1 INTO E-RIGHT. IN THIS CASE, C(E)=0 AND C(AC)=123123,,456765
2344 ;HENCE, THE RESULT IN E SHOULD BE 456765,,-1.
2345
2346 031725 402 00 0 00 000014 C65100: SETZM 14 ;CLEAR E
2347 031726 200 13 0 00 034405 MOVE 13,[123123,,456765] ;PRELOAD AC WITH 123123,,456765
2348 031727 526 13 0 00 000014 HRLOM 13,14 ;*HRLOM SHOULD PLACE 456765,,-1 INTO E
2349 031730 312 13 0 00 034405 CAME 13,[123123,,456765] ;PASS IF C(AC) UNCHANGED
2350
2351 STOP^
2352 031731 254 04 0 00 031732 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2353 031732 324 00 0 00 031733 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2354 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2355 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2356 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2357 031733 312 14 0 00 034406 CAME 14,[456765,,-1] ;PASS IF C(E)=456765,,-1
2358 STOP^
2359 031734 254 04 0 00 031735 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2360 031735 324 00 0 00 031736 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2361 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2362 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2363 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2364
2365 ;**********
2366
2367
2368 ;THIS TEST VERIFIES THAT HRLOS PLACES C(E-RIGHT) INTO E-LEFT AND
2369 ;PLACES -1 INTO E-RIGHT. IF AC IS NON-ZERO, THE RESULT IN E IS ALOS
2370 ;PLACED INTO THE AC.
2371 ;IN THIS CASE, AC=0, C(AC)=0 AND C(E)=123456,,707076
2372 ;HENCE, THE RESULTS IN AC AND E RESPECTIVELY SHOULD BE 0
2373 ;AND 707076,,0
2374
2375 031736 400 00 0 00 000000 C65200: SETZ 0, ;PRELOAD AC WITH 0
2376 031737 200 16 0 00 034377 MOVE 16,[123456,,707076] ;PRELOAD E WITH 123456,,707076
2377 031740 527 00 0 00 000016 HRLOS 0,16 ;*HRLZS SHOULD PLACE 707076,,-1
2378 ;INTO E.
2379 031741 312 00 0 00 034407 CAME 0,[0] ;PASS IF C(AC) UNCHANGED
2380 STOP^
2381 031742 254 04 0 00 031743 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2382 031743 324 00 0 00 031744 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2383 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2384 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2385 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2386 031744 312 16 0 00 034410 CAME 16,[707076,,-1] ;PASS IF C(AC)=707076,,-1
2387 STOP^
2388 031745 254 04 0 00 031746 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2389 031746 324 00 0 00 031747 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2390 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2391 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2392 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2393
2394 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 34
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0062
2395 ;THIS TEST VERIFIES THAT HRLOS PLACES C(E-RIGHT) INTO E-LEFT AND
2396 ;PLACES -1 INTO E-RIGHT. IF AC IS NON-ZERO, THE RESULT IN E IS ALSO
2397 ;PLACED INTO THE AC.
2398 ;IN THIS CASE, AC=1, C(AC)=0 AND C(E)=123456,,707076
2399 ;HENCE, THE RESULTS IN AC AND E RESPECTIVELY SHOULD BE 707076,,-1
2400 ;AND 707076,,-1
2401
2402 031747 400 01 0 00 000000 C65210: SETZ 1, ;PRELOAD AC WITH 0
2403 031750 200 16 0 00 034377 MOVE 16,[123456,,707076] ;PRELOAD E WITH 123456,,707076
2404 031751 527 01 0 00 000016 HRLOS 1,16 ;*HRLZS SHOULD PLACE 707076,,-1
2405 ;INTO BOTH AC AND E
2406 031752 312 01 0 00 034410 CAME 1,[707076,,-1] ;PASS IF C(AC)=707076,,-1
2407 STOP^
2408 031753 254 04 0 00 031754 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2409 031754 324 00 0 00 031755 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2410 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2411 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2412 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2413 031755 312 16 0 00 034410 CAME 16,[707076,,-1] ;PASS IF C(AC)=707076,,-1
2414 STOP^
2415 031756 254 04 0 00 031757 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2416 031757 324 00 0 00 031760 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2417 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2418 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2419 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2420
2421 ;**********
2422
2423 ;THIS TEST VERIFIES THAT HLLEM PLACES C(AC-LEFT) INTO E-LEFT
2424 ;AND PLACES BIT 0 OF THE AC INTO BITS 18 THRU 35 OF E. IN THIS CASE,
2425 ;C(AC)=123456,,707076 AND C(E)=-1,,-1. HENCE, THE RESULT IN E
2426 ;SHOULD BE 123456,,0.
2427
2428 031760 200 12 0 00 034377 C65300: MOVE 12,[123456,,707076] ;PRELOAD AC WITH 123456,,707076
2429 031761 476 00 0 00 000013 SETOM 13 ;PRELOAD E WITH -1,,-1
2430 031762 532 12 0 00 000013 HLLEM 12,13 ;*HLLEM SHOULD PLACE 123456,,0 INTO E
2431 031763 312 12 0 00 034377 CAME 12,[123456,,707076] ;PASS IF C(AC) UNCHANGED
2432 STOP^
2433 031764 254 04 0 00 031765 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2434 031765 324 00 0 00 031766 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2435 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2436 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2437 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2438 031766 312 13 0 00 034330 CAME 13,[123456,,0] ;PASS IF C(E)=123456,,0
2439 STOP^
2440 031767 254 04 0 00 031770 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2441 031770 324 00 0 00 031771 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2442 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2443 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2444 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2445
2446 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 35
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0063
2447 ;THIS TEST VERIFIES THAT HLLES PLACES C(E-LEFT) INTO E-LEFT AND
2448 ;PLACES BIT 0 OF E INTO BITS 18 THRU 35 OF E. IF AC IS NON-ZERO
2449 ;THE RESULT IN E IS ALSO PLACED INTO THE AC.
2450 ;IN THIS CASE, AC=0, C(AC)=0 AND C(E)=765432,,0.
2451 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 0
2452 ;AND 765432,,-1 RESPECTIVELY.
2453
2454 031771 400 00 0 00 000000 C65400: SETZ 0, ;CLEAR AC
2455 031772 515 02 0 00 765432 HRLZI 2,765432 ;PRELOAD E WITH 765432,,0
2456 031773 533 00 0 00 000002 HLLES 0,2 ;*HLLES SHOULD PLACE 765432,,-1
2457 ;INTO E
2458 031774 312 00 0 00 034407 CAME 0,[0] ;PASS IF C(AC) UNCHANGED
2459 STOP^
2460 031775 254 04 0 00 031776 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2461 031776 324 00 0 00 031777 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2462 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2463 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2464 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2465 031777 312 02 0 00 034411 CAME 2,[765432,,-1] ;PASS IF C(E)=765432,,-1
2466 STOP^
2467 032000 254 04 0 00 032001 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2468 032001 324 00 0 00 032002 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2469 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2470 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2471 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2472
2473 ;**********
2474
2475 ;THIS TEST VERIFIES THAT HLLES PLACES C(E-LEFT) INTO E-LEFT AND
2476 ;PLACES BIT 0 OF E INTO BITS 18 THRU 35 OF E. IF AC IS NON-ZERO,
2477 ;THE RESULT IN E IS ALSO PLACED INTO THE AC.
2478 ;IN THIS CASE, AC=1, C(AC)=0 AND C(E)=765432,,0
2479 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 765432,,-1
2480 ;AND 765432,,-1 RESPECTIVELY
2481
2482 032002 400 01 0 00 000000 C65410: SETZ 1, ;CLEAR AC
2483 032003 515 02 0 00 765432 HRLZI 2,765432 ;PRELOAD E WITH 765432,,0
2484 032004 533 01 0 00 000002 HLLES 1,2 ;*HLLES SHOULD PLACE 765432,,-1
2485 ;INTO BOTH AC AND E
2486 032005 312 01 0 00 034411 CAME 1,[765432,,-1] ;PASS IF C(AC)=765432,,-1
2487 STOP^
2488 032006 254 04 0 00 032007 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2489 032007 324 00 0 00 032010 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2490 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2491 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2492 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2493 032010 312 02 0 00 034411 CAME 2,[765432,,-1] ;PASS IF C(E)=765432,,-1
2494 STOP^
2495 032011 254 04 0 00 032012 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2496 032012 324 00 0 00 032013 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2497 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2498 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2499 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2500
2501 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 36
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0064
2502 ;THIS TEST VERIFIES THAT HLLEM PLACES C(AC-RIGHT) INTO E-LEFT
2503 ;AND PLACES BIT 18 OF THE AC INTO BITS 18 THRU 35 OF E. IN THIS CASE,
2504 ;C(AC)=365432,123456 AND C(E)=-1,,-1. HENCE, THE RESULT IN E
2505 ;SHOULD BE 365432,,0.
2506
2507 032013 200 12 0 00 034412 C65500: MOVE 12,[365432,,123456] ;PRELOAD AC WITH 365432,,123456
2508 032014 476 00 0 00 000013 SETOM 13 ;PRELOAD E WITH -1,,-1
2509 032015 532 12 0 00 000013 HLLEM 12,13 ;*HLLEM SHOULD PLACE 365432,,0 INTO E
2510 032016 312 12 0 00 034412 CAME 12,[365432,,123456] ;PASS IF C(AC) UNCHANGED
2511 STOP^
2512 032017 254 04 0 00 032020 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2513 032020 324 00 0 00 032021 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2514 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2515 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2516 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2517 032021 312 13 0 00 034413 CAME 13,[365432,,0] ;PASS IF C(E)=365432,,0
2518 STOP^
2519 032022 254 04 0 00 032023 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2520 032023 324 00 0 00 032024 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2521 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2522 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2523 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2524
2525 ;**********
2526
2527 ;THIS TEST VERIFIES THAT HRLES PLACES C(E-RIGHT) INTO E-LEFT AND
2528 ;PLACES BIT 18 OF E INTO BITS 18 THRU 35 OF E. IF AC IS NON-ZERO,
2529 ;THE RESULT IN E IS ALSO PLACED INTO THE AC.
2530 ;IN THIS CASE, AC=0, C(AC)=0 AND C(E)=0,,765432
2531 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 0
2532 ;AND 765432,,-1 RESPECTIVELY
2533
2534 032024 400 00 0 00 000000 C65600: SETZ 0, ;CLEAR AC
2535 032025 551 02 0 00 765432 HRRZI 2,765432 ;PRELOAD E WITH 0,,765432
2536 032026 537 00 0 00 000002 HRLES 0,2 ;*HLLES SHOULD PLACE 765432,,-1
2537 ;INTO
2538 032027 312 00 0 00 034407 CAME 0,[0] ;PASS IF C(AC) UNCHANGED
2539 STOP^
2540 032030 254 04 0 00 032031 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2541 032031 324 00 0 00 032032 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2542 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2543 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2544 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2545 032032 312 02 0 00 034411 CAME 2,[765432,,-1] ;PASS IF C(E)=765432,,-1
2546 STOP^
2547 032033 254 04 0 00 032034 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2548 032034 324 00 0 00 032035 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2549 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2550 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2551 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2552
2553 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 37
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0065
2554 ;THIS TEST VERIFIES THAT HRLES PLACES C(E-RIGHT) INTO E-LEFT AND
2555 ;PLACES BIT 18 OF E INTO BITS 18 THRU 35 OF E. IF AC IS NON-ZERO,
2556 ;THE RESULT IN E IS ALSO PLACED INTO THE AC.
2557 ;IN THIS CASE, AC=1, C(AC)=0 AND C(E)=0,,765432
2558 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 765432,,-1
2559 ;AND 765432,,-1 RESPECTIVELY.
2560
2561 032035 400 01 0 00 000000 C65610: SETZ 1, ;CLEAR AC
2562 032036 551 02 0 00 765432 HRRZI 2,765432 ;PRELOAD E WITH 0,765432
2563 032037 537 01 0 00 000002 HRLES 1,2 ;*HLLES SHOULD PLACE 765432,,-1
2564 ;INTO BOTH AC AND E
2565 032040 312 01 0 00 034411 CAME 1,[765432,,-1] ;PASS IF C(AC)=765442,,-1
2566 STOP^
2567 032041 254 04 0 00 032042 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2568 032042 324 00 0 00 032043 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2569 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2570 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2571 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2572 032043 312 02 0 00 034411 CAME 2,[765432,,-1] ;PASS IF C(E)=765432,,-1
2573 STOP^
2574 032044 254 04 0 00 032045 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2575 032045 324 00 0 00 032046 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2576 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2577 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2578 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2579
2580
2581 ;**********
2582
2583 ;THIS TEST VERIFIES THAT HLRM SHOULD PLACE C(AC-LEFT) INTO E-RIGHT
2584 ;AND NOT AFFECT E-LEFT. IN THIS CASE, C(AC)=123456,,701234
2585 ;AND C(E)=0. HENCE, THE RESULT IN E SHOULD BE 0,,123456
2586
2587 032046 200 11 0 00 034414 C65700: MOVE 11,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
2588 032047 402 00 0 00 000012 SETZM 12 ;CLEAR E
2589 032050 546 11 0 00 000012 HLRM 11,12 ;*HLRM SHOULD PLACE 0,,123456 INTO E
2590 032051 312 11 0 00 034414 CAME 11,[123456,,701234] ;PASS IF C(AC) UNCHANGE
2591 STOP^
2592 032052 254 04 0 00 032053 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2593 032053 324 00 0 00 032054 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2594 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2595 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2596 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2597 032054 302 12 0 00 123456 CAIE 12,123456 ;PASS IF C(E)=0,,123456
2598 STOP^
2599 032055 254 04 0 00 032056 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2600 032056 324 00 0 00 032057 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2601 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2602 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2603 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2604
2605 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 38
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0066
2606 ;THIS TEST VERIFIES THAT HLRS PLACES C(E-LEFT) INTO E-RIGHT AND
2607 ;DOES NOT AFFECT E-LEFT. IF AC IS NON-ZERO, THE RESULT IN E
2608 ;IS ALSO PLACED INTO THE AC.
2609 ;IN THIS CASE, AC=0, C(AC)=0 AND C(E)=123123,,246135
2610 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 0
2611 ;AND 123123,,123123 RESPECTIVELY.
2612
2613 032057 400 00 0 00 000000 C66000: SETZ 0, ;CLEAR AC
2614 032060 200 12 0 00 034415 MOVE 12,[123123,,246135] ;PRELOAD E WITH 123123,,246135
2615 032061 547 00 0 00 000012 HLRS 0,12 ;*HLRS SHOULD PLACE 123123,,123123
2616 ;INTO E.
2617 032062 312 00 0 00 034407 CAME 0,[0] ;PASS IF C(AC) UNCHANGED
2618 STOP^
2619 032063 254 04 0 00 032064 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2620 032064 324 00 0 00 032065 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2621 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2622 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2623 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2624 032065 312 12 0 00 034416 CAME 12,[123123,,123123] ;PASS IF C(E)=123123,,123123
2625 STOP^
2626 032066 254 04 0 00 032067 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2627 032067 324 00 0 00 032070 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2628 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2629 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2630 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2631
2632
2633 ;**********
2634
2635 ;THIS TEST VERIFIES THAT HLRS PLACES C(E-LEFT) INTO E-RIGHT AND
2636 ;DOES NOT AFFECT E-LEFT. IF AC IS NON-ZERO, THE RESULT IN E
2637 ;IS ALSO PLACED INTO THE AC.
2638 ;IN THIS CASE, AC=1, C(AC)=0 AND C(E)=123123,,246135
2639 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 123123,,123123
2640 ;AND 123123,,123123 RESPECTIVELY.
2641
2642 032070 400 01 0 00 000000 C66010: SETZ 1, ;CLEAR AC
2643 032071 200 12 0 00 034415 MOVE 12,[123123,,246135] ;PRELOAD E WITH 123123,,246135
2644 032072 547 01 0 00 000012 HLRS 1,12 ;*HLRS SHOULD PLACE 123123,,123123
2645 ;INTO BOTH AC AND E.
2646 032073 312 01 0 00 034416 CAME 1,[123123,,123123] ;PASS IF C(AC)=123123,,123123
2647 STOP^
2648 032074 254 04 0 00 032075 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2649 032075 324 00 0 00 032076 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2650 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2651 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2652 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2653 032076 312 12 0 00 034416 CAME 12,[123123,,123123] ;PASS IF C(E)=123123,,123123
2654 STOP^
2655 032077 254 04 0 00 032100 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2656 032100 324 00 0 00 032101 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2657 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2658 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2659 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2660
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 38-1
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0067
2661 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 39
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0068
2662 ;THIS TEST VERIFIES THAT HRRZS CLEARS THE LEFT HALF OF E, BUT DOES NOT
2663 ;AFFECT THE RIGHT HALF OF E. IF AC IS NON-ZERO, THE RESULT IN E IS
2664 ;ALSO PLACED INTO THE AC.
2665 ;IN THIS CASE, AC = 0, C(AC) = -1,,-1 AND C(E) = 123456,,701234
2666 ;HENCE, THE RESULTS IN AC AND E SHOULD BE -1,,-1 AND 0,,701234
2667 ;RESPECTIVELY.
2668
2669 032101 474 00 0 00 000000 C66100: SETO 0 ;PRELOAD AC WITH -1,,-1
2670 032102 200 17 0 00 034414 MOVE 17,[123456,,701234] ;PRELOAD E WITH 123456,,701234
2671 032103 553 00 0 00 000017 HRRZS 0,17 ;HRRZS SHOULD PLACE 0,,701234 INTO E
2672 032104 312 00 0 00 034301 CAME 0,[-1] ;PASS IF C(AC) UNCHANGED
2673 STOP^
2674 032105 254 04 0 00 032106 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2675 032106 324 00 0 00 032107 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2676 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2677 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2678 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2679 032107 302 17 0 00 701234 CAIE 17,701234 ;PASS IF C(E) = 0,,701234
2680 STOP^
2681 032110 254 04 0 00 032111 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2682 032111 324 00 0 00 032112 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2683 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2684 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2685 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2686
2687 ;**********
2688
2689 ;THIS TEST VERIFIES THAT HRRZS CLEARS THE LEFT HALF OF E, BUT DOES NOT
2690 ;AFFECT THE RIGHT HALF OF E. IF AC IS NON-ZERO, THE RESULT IN E IS
2691 ;ALSO PLACED INTO THE AC.
2692 ;IN THIS CASE, AC = 1, C(AC) = -1,,-1 AND C(E) = 123456,,701234
2693 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 0,,701234 AND 0,,701234
2694 ;RESPECTIVELY.
2695
2696 032112 474 01 0 00 000000 C66110: SETO 1, ;PRELOAD AC WITH -1,,-1
2697 032113 200 17 0 00 034414 MOVE 17,[123456,,701234] ;PRELOAD E WITH 123456,,701234
2698 032114 553 01 0 00 000017 HRRZS 1,17 ;HRRZS SHOULD PLACE 0,,701234 INTO
2699 ;BOTH AC AND E
2700 032115 302 01 0 00 701234 CAIE 1,701234 ;PASS IF C(AC) = 0,,701234
2701 STOP^
2702 032116 254 04 0 00 032117 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2703 032117 324 00 0 00 032120 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2704 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2705 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2706 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2707 032120 302 17 0 00 701234 CAIE 17,701234 ;PASS IF C(E) = 0,,701234
2708 STOP^
2709 032121 254 04 0 00 032122 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2710 032122 324 00 0 00 032123 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2711 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2712 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2713 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2714
2715 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 40
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0069
2716 ;THIS TEST VERIFIES THAT HLRZI CLEARS THE AC
2717 ;IN THIS CASE, C(AC) = -1,,-1 AND E = 0,,-1. HENCE, THE
2718 ;RESULT IN THE AC SHOULD BE 0.
2719
2720 032123 474 00 0 00 000007 C66200: SETO 7 ;PRELOAD AC WITH -1,,-1
2721 032124 555 07 0 00 777777 HLRZI 7,-1 ;*HLRZI SHOULD CLEAR THE AC
2722 032125 332 00 0 00 000007 SKIPE 7 ;PASS IF C(AC) = 0
2723 STOP^
2724 032126 254 04 0 00 032127 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2725 032127 324 00 0 00 032130 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2726 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2727 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2728 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2729
2730 ;**********
2731
2732 ;THIS TEST VERIFIES THAT HLRZM PLACES C(AC-LEFT) INTO E-RIGHT AND
2733 ;PLACES 0 INTO E-LEFT.
2734 ;IN THIS CASE, C(AC) = 123456,,123422 AND C(E) = 707070,,717171
2735 ;HENCE, THE RESULT IN E SHOULD BE 0,,123456.
2736
2737 032130 200 01 0 00 034374 C66300: MOVE 1,[123456,,123422] ;PRELOAD AC WITH 123456,,123422
2738 032131 200 02 0 00 034375 MOVE 2,[707070,,717171] ;PRELOAD AC WITH 707070,,717171
2739 032132 556 01 0 00 000002 HLRZM 1,2 ;*HLRZM SHOULD PLACE 0,,123456 INTO E.
2740 032133 312 01 0 00 034374 CAME 1,[123456,,123422] ;PASS IF C(AC) UNCHANGED
2741 STOP^
2742 032134 254 04 0 00 032135 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2743 032135 324 00 0 00 032136 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2744 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2745 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2746 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2747 032136 302 02 0 00 123456 CAIE 2,123456 ;PASS IF C(E) = 0,,123456
2748 STOP^
2749 032137 254 04 0 00 032140 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2750 032140 324 00 0 00 032141 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2751 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2752 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2753 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2754
2755 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 41
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0070
2756 ;THIS TEST VERIFIES THAT HLRZM PLACES C(AC-LEFT) INTO E-RIGHT AND
2757 ;PLACES 0 INTO E-LEFT.
2758 ;IN THIS CASE, C(AC) = 123456,,123422 AND C(E) = 707070,,717171
2759 ;HENCE, THE RESULT IN E SHOULD BE 0,,123456.
2760
2761 032141 200 01 0 00 034374 C66301: MOVE 1,[123456,,123422] ;PRELOAD AC WITH 123456,,123422
2762 032142 200 02 0 00 034375 MOVE 2,[707070,,717171] ;PRELOAD AC WITH 707070,,717171
2763 032143 202 02 0 00 032155 MOVEM 2,E66301
2764 032144 556 01 0 00 032155 HLRZM 1,E66301 ;*HLRZM SHOULD PLACE 0,,123456 INTO E.
2765 032145 312 01 0 00 034374 CAME 1,[123456,,123422] ;PASS IF C(AC) UNCHANGED
2766 STOP^
2767 032146 254 04 0 00 032147 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2768 032147 324 00 0 00 032150 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2769 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2770 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2771 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2772 032150 200 02 0 00 032155 MOVE 2,E66301
2773 032151 302 02 0 00 123456 CAIE 2,123456 ;PASS IF C(E) = 0,,123456
2774 STOP^
2775 032152 254 04 0 00 032153 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2776 032153 324 00 0 00 032154 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2777 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2778 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2779 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2780
2781 032154 334 00 0 00 000000 SKIPA ;GO TO NEXT TEST
2782 032155 000000 000000 E66301: 0 ;TEST WORD MEMORY
2783
2784 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 42
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0071
2785 ;THIS TEST VERIFIES THAT HLRZS PLACES C(E-LEFT) INTO E-RIGHT AND
2786 ;PLACES 0 INTO E-LEFT. IF AC IS NON-ZERO, THE RESULT IN E IS
2787 ;ALSO PLACED INTO THE AC.
2788 ;IN THIS CASE, AC = 0, C(AC) = -1,,-1 AND C(E) = 123456,,701234.
2789 ;HENCE, THE RESULTS IN AC AND E SHOULD BE -1,,-1 AND 0,,123456
2790 ;RESPECTIVELY.
2791
2792 032156 474 00 0 00 000000 C66400: SETO 0, ;PRELOAD AC WITH -1,,-1
2793 032157 200 07 0 00 034414 MOVE 7,[123456,,701234] ;PRELOAD E WITH 123456,,701234
2794 032160 557 00 0 00 000007 HLRZS 0,7 ;*HLRZS SHOULD PLACE 0,,123456 INTO E
2795 032161 312 00 0 00 034301 CAME 0,[-1] ;PASS IF C(AC) IS UNCHANGED
2796 STOP^
2797 032162 254 04 0 00 032163 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2798 032163 324 00 0 00 032164 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2799 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2800 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2801 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2802 032164 302 07 0 00 123456 CAIE 7,123456 ;PASS IF C(E) = 0,,123456
2803 STOP^
2804 032165 254 04 0 00 032166 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2805 032166 324 00 0 00 032167 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2806 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2807 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2808 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2809
2810 ;**********
2811
2812 ;THIS TEST VERIFIES THAT HLRZS PLACES C(E-LEFT) INTO E-RIGHT AND
2813 ;PLACES 0 INTO E-LEFT. IF AC IS NON-ZERO, THE RESULT IN E
2814 ;IS ALSO PLACED INTO THE AC.
2815 ;IN THIS CASE, AC = 6, C(AC) = -1,,-1 AND C(E) = 123456,,701234.
2816 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 0,,123456 AND 0123456
2817 ;RESPECTIVELY.
2818
2819 032167 474 06 0 00 000000 C66410: SETO 6, ;PRELOAD AC WITH -1,,-1
2820 032170 200 07 0 00 034414 MOVE 7,[123456,,701234] ;PRELOAD E WITH 123456,,701234
2821 032171 557 06 0 00 000007 HLRZS 6,7 ;*HLRZS SHOULD PLACE 0,,123456 INTO
2822 ;BOTH AC AND E
2823 032172 302 06 0 00 123456 CAIE 6,123456 ;PASS IF C(AC) = 0,,123456
2824 STOP^
2825 032173 254 04 0 00 032174 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2826 032174 324 00 0 00 032175 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2827 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2828 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2829 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2830 032175 302 07 0 00 123456 CAIE 7,123456 ;PASS IF C(E) = 0,,123456
2831 STOP^
2832 032176 254 04 0 00 032177 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2833 032177 324 00 0 00 032200 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2834 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2835 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2836 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2837
2838 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 43
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0072
2839 ;THIS TEST VERIFIES THAT HLRZS PLACES C(E-LEFT) INTO E-RIGHT AND
2840 ;PLACES 0 INTO E-LEFT. IF AC IS NON-ZERO, THE RESULT IN E
2841 ;IS ALSO PLACED INTO THE AC.
2842 ;IN THIS CASE, AC = 6, C(AC) = -1,,-1 AND C(E) = 123456,,701234.
2843 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 0,,123456 AND 0123456
2844 ;RESPECTIVELY.
2845
2846 032200 474 06 0 00 000000 C66411: SETO 6, ;PRELOAD AC WITH -1,,-1
2847 032201 200 07 0 00 034414 MOVE 7,[123456,,701234] ;PRELOAD E WITH 123456,,701234
2848 032202 202 07 0 00 032214 MOVEM 7,E66411
2849 032203 557 06 0 00 032214 HLRZS 6,E66411 ;*HLRZS SHOULD PLACE 0,,123456 INTO
2850 ;BOTH AC AND E
2851 032204 302 06 0 00 123456 CAIE 6,123456 ;PASS IF C(AC) = 0,,123456
2852 STOP^
2853 032205 254 04 0 00 032206 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2854 032206 324 00 0 00 032207 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2855 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2856 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2857 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2858 032207 200 07 0 00 032214 MOVE 7,E66411
2859 032210 302 07 0 00 123456 CAIE 7,123456 ;PASS IF C(E) = 0,,123456
2860 STOP^
2861 032211 254 04 0 00 032212 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2862 032212 324 00 0 00 032213 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2863 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2864 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2865 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2866
2867 032213 334 00 0 00 000000 SKIPA ;GO TO NEXT TEST
2868 032214 000000 000000 E66411: 0 ;TEST WORD MEMORY
2869
2870 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 44
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0073
2871 ;THIS TEST VERIFIES THAT HRROM PLACES C(AC-RIGHT) INTO E-RIGHT AND
2872 ;PLACES -1 INTO E-LEFT. IN THIS CASE, C(AC) = 123456,,701234 AND
2873 ;C(E) = 0. HENCE, THE RESULT IN E SHOULD BE -1,,601234.
2874
2875 032215 200 05 0 00 034414 C66500: MOVE 5,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
2876 032216 402 00 0 00 000006 SETZM 6 ;CLEAR E
2877 032217 562 05 0 00 000006 HRROM 5,6 ;*HRROM SHOULD PLACE -1,,701234 INTO E
2878 032220 312 05 0 00 034414 CAME 5,[123456,,701234] ;PASS IF C(AC) UNCHANGED
2879 STOP^
2880 032221 254 04 0 00 032222 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2881 032222 324 00 0 00 032223 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2882 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2883 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2884 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2885 032223 312 06 0 00 034417 CAME 6,[-1,,701234] ;PASS IF C(E) = -1,,701234
2886 STOP^
2887 032224 254 04 0 00 032225 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2888 032225 324 00 0 00 032226 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2889 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2890 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2891 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2892
2893
2894 ;**********
2895
2896 ;THIS TEST VERIFIES THAT HRROS PLACES -1 INTO THE LEFT HALF OF E, BUT DOES NOT
2897 ;AFFECT THE RIGHT HALF OF E. IF AC IS NON-ZERO THE RESULT IN E IS
2898 ;ALSO PLACED INTO THE AC.
2899 ;IN THIS CASE, AC=0, C(AC)=0 AND C(E)=123456,,701234
2900 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 0
2901 ;AND -1,,701234 RESPECTIVELY.
2902
2903 032226 400 00 0 00 000000 C66600: SETZ 0 ;PRELOAD AC WITH 0
2904 032227 200 17 0 00 034414 MOVE 17,[123456,,701234] ;PRELOAD E WITH 123456,,701234
2905 032230 563 00 0 00 000017 HRROS 0,17 ;HRROS SHOULD PLACE -1,,701234 INTO E
2906 032231 312 00 0 00 034407 CAME 0,[0] ;PASS IF C(AC) IS UNCHANGED
2907 STOP^
2908 032232 254 04 0 00 032233 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2909 032233 324 00 0 00 032234 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2910 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2911 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2912 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2913 032234 312 17 0 00 034417 CAME 17,[-1,,701234] ;PASS IF C(E)=-1,,701234
2914 STOP^
2915 032235 254 04 0 00 032236 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2916 032236 324 00 0 00 032237 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2917 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2918 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2919 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2920
2921 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 45
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0074
2922 ;THIS TEST VERIFIES THAT HRROS PLACES -1 INTO THE LEFT HALF OF E, BUT DOES NOT
2923 ;AFFECT THE RIGHT HALF OF E. IF AC IS NON-ZERO THE RESULT IN E IS
2924 ;ALSO PLACED INTO THE AC.
2925 ;IN THIS CASE, AC=16, C(AC)=0 AND C(E)=123456,,701234
2926 ;HENCE, THE RESULTS IN AC AND E SHOULD BE -1,,701234
2927 ;AND -1,,701234 RESPECTIVELY.
2928
2929 032237 400 16 0 00 000000 C66610: SETZ 16, ;PRELOAD AC WITH 0
2930 032240 200 17 0 00 034414 MOVE 17,[123456,,701234] ;PRELOAD E WITH 123456,,701234
2931 032241 563 16 0 00 000017 HRROS 16,17 ;*HRROS SHOULD PLACE -1,,701234 INTO
2932 ;BOTH AC AND E
2933 032242 312 16 0 00 034417 CAME 16,[-1,,701234] ;PASS IF C(AC)=-1,,701234
2934 STOP^
2935 032243 254 04 0 00 032244 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2936 032244 324 00 0 00 032245 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2937 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2938 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2939 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2940 032245 312 17 0 00 034417 CAME 17,[-1,,701234] ;PASS IF C(E)=-1,,701234
2941 STOP^
2942 032246 254 04 0 00 032247 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2943 032247 324 00 0 00 032250 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2944 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2945 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2946 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2947
2948 ;**********
2949
2950 ;THIS TEST VERIFIES THAT HLRO PLACES C(E-LEFT) INTO AC-RIGHT AND
2951 ;PLACES -1 INTO AC-LEFT. IN THIS CASE, C(AC)=0
2952 ;C(E)=765432,,107654. HENCE, THE RESULT IN THE AC SHOULD BE -1,,765432.
2953
2954 032250 400 04 0 00 000000 C66700: SETZ 4, ;CLEAR AC
2955 032251 200 05 0 00 034420 MOVE 5,[765432,,107654] ;PRELOAD E WITH 765432,,107654
2956 032252 564 04 0 00 000005 HLRO 4,5 ;*HLRO SHOULD PLACE -1,,765432 INTO THE AC
2957 032253 312 04 0 00 034421 CAME 4,[-1,,765432] ;PASS IF C(AC)=-1,,765432
2958 STOP^
2959 032254 254 04 0 00 032255 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2960 032255 324 00 0 00 032256 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2961 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2962 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2963 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2964 032256 312 05 0 00 034420 CAME 5,[765432,,107654] ;PASS IF C(E) IS UNCHANGED
2965 STOP^
2966 032257 254 04 0 00 032260 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2967 032260 324 00 0 00 032261 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2968 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2969 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2970 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2971
2972 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 46
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0075
2973 ;THIS TEST VERIFIES THAT HLROI PLACES -1,,0 INTO THE AC.
2974 ;IN THIS CASE, C(AC)=123456,,765432 AND E=070707. HENCE, THE
2975 ;RESULT IN THE AC SHOULD BE -1,,0
2976
2977 032261 200 03 0 00 034334 C67000: MOVE 3,[123456,,765432] ;PRELOAD AC WITH 123456,,765432
2978 032262 565 03 0 00 070707 HLROI 3,070707 ;*HLROI SHOULD PLACE -1,,0 INTO THE AC
2979 032263 312 03 0 00 034422 CAME 3,[-1,,0] ;PASS IF C(AC)=-1,,0
2980 STOP^
2981 032264 254 04 0 00 032265 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2982 032265 324 00 0 00 032266 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
2983 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
2984 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
2985 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
2986
2987 ;**********
2988
2989 ;THIS TEST VERIFIES THAT HLROM PLACES C(AC-LEFT) INTO E RIGHT AND
2990 ;PLACES -1 INTO E-LEFT
2991 ;IN THIS CASE, C(AC)=123456,,123422 AND C(E)=707070,,717171
2992 ;HENCE, THE RESULT IN E SHOULD BE -1,,123456
2993
2994 032266 200 01 0 00 034374 C67100: MOVE 1,[123456,,123422] ;PRELOAD AC WITH 123456,,123422
2995 032267 200 02 0 00 034375 MOVE 2,[707070,,717171] ;PRELOAD AC WITH 707070,,717171
2996 032270 566 01 0 00 000002 HLROM 1,2 ;*HLROM SHOULD PLACE -1,,123456 INTO E
2997 032271 312 01 0 00 034374 CAME 1,[123456,,123422] ;PASS IF C(AC) UNCHANGED
2998 STOP^
2999 032272 254 04 0 00 032273 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3000 032273 324 00 0 00 032274 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3001 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3002 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3003 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3004 032274 312 02 0 00 034423 CAME 2,[-1,,123456] ;PASS IF C(E)=-1,,123456
3005 STOP^
3006 032275 254 04 0 00 032276 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3007 032276 324 00 0 00 032277 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3008 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3009 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3010 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3011
3012 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 47
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0076
3013 ;THIS TEST VERIFIES THAT HLROS PLACES C(E-LEFT) INTO E-RIGHT AND
3014 ;PLACES -1 INTO E-LEFT. IF AC IS NON-ZERO, THE RESULT IN E
3015 ;IS ALSO PLACED INTO THE AC.
3016 ;IN THIS CASE, AC=0, C(AC)=0 AND C(E)=123456,,701234.
3017 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 0
3018 ;AND -1,,123456 RESPECTIVELY
3019
3020 032277 400 00 0 00 000000 C67200: SETZ 0 ;PRELOAD AC WITH 0
3021 032300 200 07 0 00 034414 MOVE 7,[123456,,701234] ;PRELOAD E WITH 123456,,701234
3022 032301 567 00 0 00 000007 HLROS 0,7 ;*HLROS SHOULD PLACE -1,,123456 INTO E
3023 ;
3024 032302 302 00 0 00 000000 CAIE 0,0 ;PASS IF C(AC) IS UNCHANGED
3025 STOP^
3026 032303 254 04 0 00 032304 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3027 032304 324 00 0 00 032305 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3028 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3029 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3030 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3031 032305 312 07 0 00 034423 CAME 7,[-1,,123456] ;PASS IF C(E)=-1,,123456
3032 STOP^
3033 032306 254 04 0 00 032307 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3034 032307 324 00 0 00 032310 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3035 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3036 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3037 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3038
3039 ;**********
3040
3041 ;THIS TEST VERIFIES THAT HLROS PLACES C(E-LEFT) INTO E-RIGHT AND
3042 ;PLACES -1 INTO E-LEFT. IF AC IS NON-ZERO, THE RESULT IN E
3043 ;IS ALSO PLACED INTO THE AC.
3044 ;IN THIS CASE, AC=1, C(AC)=0 AND C(E)=123456,,701234.
3045 ;HENCE, THE RESULT IN AC AND E SHOULD BE -1,,123456
3046 ;AND -1,,123456 RESPECTIVELY.
3047
3048 032310 400 01 0 00 000000 C67210: SETZ 1, ;PRELOAD AC WITH 0
3049 032311 200 07 0 00 034414 MOVE 7,[123456,,701234] ;PRELOAD E WITH 123456,,701234
3050 032312 567 01 0 00 000007 HLROS 1,7 ;*HLROS SHOULD PLACE -1,,123456 INTO
3051 ;BOTH AC AND E
3052 032313 312 01 0 00 034423 CAME 1,[-1,,123456] ;PASS IF C(AC)=-1,,123456
3053 STOP^
3054 032314 254 04 0 00 032315 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3055 032315 324 00 0 00 032316 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3056 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3057 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3058 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3059 032316 312 07 0 00 034423 CAME 7,[-1,,123456] ;PASS IF C(E)=-1,,123456
3060 STOP^
3061 032317 254 04 0 00 032320 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3062 032320 324 00 0 00 032321 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3063 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3064 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3065 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3066
3067 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 48
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0077
3068 ;THIS TEST VERIFIES THAT HRRES PLACES C(E-RIGHT) INTO E-RIGHT
3069 ;AND PLACES BIT 18 OF E INTO BITS 0 THRU 17 OF E. IF AC IS NON-ZERO,
3070 ;THE RESULT IN E IS ALSO PLACED INTO THE AC.
3071 ;IN THIS CASE, AC=0, C(AC)=0 AND C(E)=123456,,701234
3072 ;HENCE, THE RESULT IN AC AND E SHOULD BE 0
3073 ;AND -1,,701234 RESPECTIVELY.
3074
3075 032321 400 00 0 00 000000 C67300: SETZ 0, ;PRELOAD AC WITH 0
3076 032322 200 03 0 00 034414 MOVE 3,[123456,,701234] ;PRELOAD WITH 123456,,701234
3077 032323 573 00 0 00 000003 HRRES 0,3 ;HRRES SHOULD PLACE -1,,701234 INTO E
3078
3079 032324 332 00 0 00 000000 SKIPE ;PASS IF C(AC) IS UNCHANGED
3080 STOP^
3081 032325 254 04 0 00 032326 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3082 032326 324 00 0 00 032327 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3083 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3084 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3085 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3086 032327 312 03 0 00 034417 CAME 3,[-1,,701234] ;PASS IF C(E)=-1,,701234
3087 STOP^
3088 032330 254 04 0 00 032331 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3089 032331 324 00 0 00 032332 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3090 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3091 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3092 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3093
3094 ;**********
3095
3096 ;THIS TEST VERIFIES THAT HRRES, PLACES C(E-RIGHT) INTO E-RIGHT
3097 ;AND PLACES BIT 18 OF E INTO BITS 0 THRU 17 OF E. IF AC IS NON-ZERO,
3098 ;THE RESULT IN E IS ALSO PLACED INTO THE AC.
3099 ;IN THIS CASE, AC=1, C(AC)=0 AND C(E)=123456,,701234.
3100 ;HENCE, THE RESULTS IN AC AND E SHOULD BE -1,,701234
3101 ;AND -1,,701234 RESPECTIVELY.
3102
3103 032332 400 01 0 00 000000 C67310: SETZ 1, ;PRELOAD AC WITH 0
3104 032333 200 03 0 00 034414 MOVE 3,[123456,,701234] ;PRELOAD WITH 123456,,701234
3105 032334 573 01 0 00 000003 HRRES 1,3 ;HRRES SHOULD PLACE -1,,701234 INTO
3106 ;BOTH AC AND E
3107 032335 312 01 0 00 034417 CAME 1,[-1,,701234] ;PASS IF C(AC)=-1,,701234
3108 STOP^
3109 032336 254 04 0 00 032337 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3110 032337 324 00 0 00 032340 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3111 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3112 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3113 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3114 032340 312 03 0 00 034417 CAME 3,[-1,,701234] ;PASS IF C(E)=-1,,701234
3115 STOP^
3116 032341 254 04 0 00 032342 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3117 032342 324 00 0 00 032343 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3118 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3119 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3120 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3121
3122 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 49
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL HWT INSTRUCTIONS SEQ 0078
3123 ;THIS TEST VERIFIES THAT HLRES PLACES C(E-LEFT) INTO E-RIGHT
3124 ;AND PLACES BIT 0 OF E INTO BITS 0 THRU 17 OF E. IF AC IS
3125 ;NON-ZERO, THE RESULT IN E IS ALSO PLACED INTO THE AC.
3126 ;IN THIS CASE, AC=0, C(AC)=-1,,-1 AND C(E) 123456,,701234
3127 ;HENCE, THE RESULTS IN AC AND E SHOULD BE -1,,-1
3128 ;AND 0,,123456 RESPECTIVELY.
3129
3130 032343 474 00 0 00 000000 C67400: SETO 0, ;PRELOAD AC WITH -1,,-1
3131 032344 200 07 0 00 034414 MOVE 7,[123456,,701234] ;PRELOAD E WITH 123456,,701234
3132 032345 577 00 0 00 000007 HLRES 0,7 ;*HLRES SHOULD PLACE 0,,123456 INTO E
3133
3134 032346 312 00 0 00 034301 CAME 0,[-1] ;PASS IF C(AC) IS UNCHANGED
3135 STOP^
3136 032347 254 04 0 00 032350 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3137 032350 324 00 0 00 032351 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3138 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3139 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3140 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3141 032351 302 07 0 00 123456 CAIE 7,123456 ;PASS IF C(E)=0,,123456
3142 STOP^
3143 032352 254 04 0 00 032353 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3144 032353 324 00 0 00 032354 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3145 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3146 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3147 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3148
3149 ;**********
3150
3151 ;THIS TEST VERIFIES THAT HLRES PLACES C(E-LEFT) INTO E-RIGHT
3152 ;AND PLACES BIT 0 OF E INTO BITS 0 THRU 17 OF E. IF AC IS
3153 ;NON-ZERO, THE RESULT IN E IS ALSO PLACED INTO THE AC.
3154 ;IN THIS CASE, AC=1, C(AC)=-1,,-1 AND C(E) 123456,,701234.
3155 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 0,,123456
3156 ;AND 0,,123456 RESPECTIVELY.
3157
3158 032354 474 01 0 00 000000 C67410: SETO 1, ;PRELOAD AC WITH -1,,-1
3159 032355 200 07 0 00 034414 MOVE 7,[123456,,701234] ;PRELOAD E WITH 123456,,701234
3160 032356 577 01 0 00 000007 HLRES 1,7 ;*HLRES SHOULD PLACE 0,,123456 INTO
3161 ;BOTH AC AND E
3162 032357 302 01 0 00 123456 CAIE 1,123456 ;PASS IF C(AC)=0,,123456
3163 STOP^
3164 032360 254 04 0 00 032361 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3165 032361 324 00 0 00 032362 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3166 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3167 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3168 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3169 032362 302 07 0 00 123456 CAIE 7,123456 ;PASS IF C(E)=0,,123456
3170 STOP^
3171 032363 254 04 0 00 032364 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3172 032364 324 00 0 00 032365 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3173 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3174 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3175 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3176
3177 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 50
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0079
3178 SUBTTL TEST OF MSCL LOGICAL TEST INSTRUCTIONS
3179
3180 ;**********
3181
3182 ;THIS TEST VERIFIES THAT TRNE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
3183 ;IF AND ONLY IF ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO.
3184 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3
3185 ;HENCE, TRNE SHOULD SKIP THE NEXT INSTRUCTION. THE AC IS ALSO
3186 ;CHECKED FOR NO MODIFICATION.
3187
3188 032365 200 17 0 00 034414 C67500: MOVE 17,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
3189 032366 602 17 0 00 000003 TRNE 17,3 ;*TRNE SHOULD SKIP THE NEXT INSTRUCTION
3190 STOP^
3191 032367 254 04 0 00 032370 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3192 032370 324 00 0 00 032371 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3193 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3194 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3195 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3196 032371 312 17 0 00 034414 CAME 17,[123456,,701234] ;PASS IF C AC) UNCHANGED
3197 STOP^
3198 032372 254 04 0 00 032373 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3199 032373 324 00 0 00 032374 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3200 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3201 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3202 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3203
3204 ;**********
3205
3206 ;THIS TEST VERIFIES THAT TRNE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
3207 ;IF AND ONLY IF ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO.
3208 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300
3209 ;HENCE, TRNE SHOULD NOT SKIP THE NEXT INSTRUCTION. THE AC IS ALSO
3210 ;CHECKED FOR NO MODIFICATION.
3211
3212 032374 200 16 0 00 034414 C67510: MOVE 16,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
3213 032375 602 16 0 00 000300 TRNE 16,300 ;*TRNE SHOULD NOT SKIP THE NEXT INSTRUCTION
3214 032376 334 00 0 00 000000 SKIPA ;PASS IF TRNE DID NOT SKIP
3215 STOP^
3216 032377 254 04 0 00 032400 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3217 032400 324 00 0 00 032401 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3218 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3219 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3220 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3221 032401 312 16 0 00 034414 CAME 16,[123456,,701234] ;PASS IF C(AC) UNCHANGED
3222 STOP^
3223 032402 254 04 0 00 032403 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3224 032403 324 00 0 00 032404 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3225 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3226 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3227 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3228
3229 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 51
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0080
3230 ;THIS TEST VERIFIES THAT TLNE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
3231 ;IF AND ONLY IF ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO.
3232 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300
3233 ;HENCE, TLNE SHOULD SKIP THE NEXT INSTRUCTION, THE AC IS ALSO
3234 ;CHECKED FOR NO MODIFICATION.
3235
3236 032404 200 15 0 00 034414 C67600: MOVE 15,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
3237 032405 603 15 0 00 000300 TLNE 15,300 ;*TLNE CHOULD SKIP
3238 STOP^
3239 032406 254 04 0 00 032407 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3240 032407 324 00 0 00 032410 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3241 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3242 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3243 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3244 032410 312 15 0 00 034414 CAME 15,[123456,,701234] ;PASS IF C(AC) IS UNCHANGED
3245 STOP^
3246 032411 254 04 0 00 032412 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3247 032412 324 00 0 00 032413 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3248 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3249 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3250 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3251
3252 ;**********
3253
3254 ;THIS TEST VERIFIES THAT TLNE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
3255 ;IF AND ONLY IF ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO
3256 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3.
3257 ;HENCE, TLNE SHOULD NOT SKIP THE NEXT INSTRUCTION, THE AC IS ALSO
3258 ;CHECKED FOR NO MODIFICATION
3259
3260 032413 200 14 0 00 034414 C67610: MOVE 14,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
3261 032414 603 14 0 00 000003 TLNE 14,3 ;*TLNE SHOULD NOT SKIP
3262 032415 334 00 0 00 000000 SKIPA ;PASS IF TLNE DID NOT SKIP
3263 STOP^
3264 032416 254 04 0 00 032417 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3265 032417 324 00 0 00 032420 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3266 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3267 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3268 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3269 032420 312 14 0 00 034414 CAME 14,[123456,,701234] ;PASS IF C(AC) UNCHANGED
3270 STOP^
3271 032421 254 04 0 00 032422 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3272 032422 324 00 0 00 032423 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3273 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3274 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3275 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3276
3277 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 52
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0081
3278 ;THIS TEST VERIFIES THAT TRNA ALWAYS SKIPS THE NEXT SEQUENTIAL
3279 ;INSTRUCTION. HENCE, TRNA IS INDEPENDENT OF BOTH C(A) AND E
3280 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3.
3281 ;HENCE, TRNA SHOULD SKIP THENEXT INSTRUCTION AND NOT ALTER C(AC).
3282
3283 032423 200 13 0 00 034414 C67700: MOVE 13,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
3284 032424 604 13 0 00 000003 TRNA 13,3 ;*TRNA SHOULD ALWAYS SKIP
3285 STOP^
3286 032425 254 04 0 00 032426 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3287 032426 324 00 0 00 032427 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3288 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3289 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3290 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3291 032427 312 13 0 00 034414 CAME 13,[123456,,701234] ;PASS IFC(AC) UNCHANGED
3292 STOP^
3293 032430 254 04 0 00 032431 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3294 032431 324 00 0 00 032432 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3295 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3296 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3297 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3298
3299 ;**********
3300
3301 ;THIS TEST VERIFhES THAT TRNA ALWAYS SKIPS THE NEXT SEQUENTIAL
3302 ;INSTRUCTION. HENCE, TRNA IS INDEPENDENT OF BOTH C(A) AND E.
3303 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300
3304 ;HENCE, TRNA SHOULD SKIP THE NEXT INSTRUCTION AND NOT ALTER C(AC).
3305
3306 032432 200 12 0 00 034414 C67710: MOVE 12,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
3307 032433 604 12 0 00 000300 TRNA 12,300 ;*TRNA SHOQLD ALWAYS SKIP
3308 STOP^
3309 032434 254 04 0 00 032435 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3310 032435 324 00 0 00 032436 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3311 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3312 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3313 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3314 032436 312 12 0 00 034414 CAME 12,[123456,,701234] ;PASS IF C(AC) UNCHANGED
3315 STOP^
3316 032437 254 04 0 00 032440 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3317 032440 324 00 0 00 032441 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3318 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3319 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3320 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3321
3322 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 53
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0082
3323 ;THIS TEST VERIFIaS THAT TLNA ALWAYS SKIPS THE NEXT SEQUENTIAL
3324 ;INSTRUCTION. HENCE, TLNA IS INDEPENDENt OF BOTH C(AC) AND E.
3325 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3.
3326 ;HENCE, TLNA SHOULD SKIP THE NEXT INSTRUCTION AND NOT ALTER C(AC).
3327
3328 032441 200 11 0 00 034414 C70000: MOVE 11,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
3329 032442 605 11 0 00 000003 TLNA 11,3 ;*TLNA SHOULD ALWAYS SKIP
3330 STOP^
3331 032443 254 04 0 00 032444 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3332 032444 324 00 0 00 032445 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3333 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3334 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3335 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3336 032445 312 11 0 00 034414 CAME 11,[123456,,701234] ;PASS IF C(AC) UNCHANGED
3337 STOP^
3338 032446 254 04 0 00 032447 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3339 032447 324 00 0 00 032450 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3340 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3341 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3342 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3343
3344 ;**********
3345
3346 ;THIS TEST VERIFIES THAT TLNA ALWAYS SKIPS THE NEXT SEQUENTIAL
3347 ;INSTRUCTION. HENCE, TLNA IS INDEPENDENT OF BOTH C(AC) AND E.
3348 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300.
3349 ;HENCE, TLNA SHOULD SKIP THE NEXT INSTRUCTION AND NOT ALTER C(AC).
3350
3351 032450 200 10 0 00 034414 C70010: MOVE 10,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
3352 032451 605 10 0 00 000300 TLNA 10,300 ;*TLNA SHOULD ALWAYS SKIP
3353 STOP^
3354 032452 254 04 0 00 032453 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3355 032453 324 00 0 00 032454 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3356 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3357 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3358 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3359 032454 312 10 0 00 034414 CAME 10,[123456,,701234] ;PASS IF C(AC) UNCHANGED
3360 STOP^
3361 032455 254 04 0 00 032456 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3362 032456 324 00 0 00 032457 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3363 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3364 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3365 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3366
3367 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 54
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0083
3368 ;THIS TEST VERIFIES THAT TRNN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
3369 ;IF AND ONLY IF NOT ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN
3370 ;E ARE ZERO. IN THIS CASE, C(AC)=123456,,701234 AND E=300.
3371 ;HENCE, TRNN SHOULD SKIP THE NEXT INSTRUCTION AND NOT ALTER C(AC).
3372
3373 032457 200 07 0 00 034414 C70100: MOVE 7,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
3374 032460 606 07 0 00 000300 TRNN 7,300 ;*TRNN SHOULD SKIP
3375 SToP^
3376 032461 254 04 0 00 032462 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3377 032462 324 00 0 00 032463 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3378 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3379 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3380 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3381 032463 312 07 0 00 034414 CAME 7,[123456,,701234] ;PASS IF C(AC) UNCHANGED
3382 STOP^
3383 032464 254 04 0 00 032465 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3384 032465 324 00 0 00 032466 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3385 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3386 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3387 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3388
3389 ;**********
3390
3391 ;THIS TEST VERIFIES THAT TRNN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
3392 ;IF AND ONLY IF NOT ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN
3393 ;E ARE ZERO. IN THIS CASE, C(AC)=123456,,701234 AND E=3.
3394 ;HENCE, TRNN SHoULD NOT SKIP THE NEXT INSTRUCTION AND NOT ALTER C(AC).
3395
3396 032466 200 06 0 00 034414 C70110: MOVE 6,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
3397 032467 606 06 0 00 000003 TRNN 6,3 ;*TRNN SHOULD NOT SKIP
3398 032470 334 00 0 00 000000 SKIPA ;PASS IF TRNN DID NOT SKIP
3399 STOP^
3400 032471 254 04 0 00 032472 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3401 032472 324 00 0 00 032473 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3402 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3403 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3404 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3405 032473 312 06 0 00 034414 CAME 6,[123456,,701234] ;PASS IF C(AC) UNCHANGED
3406 STOP^
3407 032474 254 04 0 00 032475 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3408 032475 324 00 0 00 032476 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3409 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3410 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3411 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3412
3413 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 55
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0084
3414 ;THIS TEST VERIFIES THAT TLNN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
3415 ;IF AND ONLY IF NOT ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO.
3416 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3.
3417 ;HENCE, TLNN SHOULD SKIP THE NEXT INSTRUCTION AND NOT ALTER C(AC).
3418
3419 032476 200 05 0 00 034414 C70200: MOVE 5,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
3420 032477 607 05 0 00 000003 TLNN 5,3 ;*TLNN SHOULD SKIP
3421 STOP^
3422 032500 254 04 0 00 032501 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3423 032501 324 00 0 00 032502 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3424 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3425 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3426 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3427 032502 312 05 0 00 034414 CAME 5,[123456,,701234] ;PASS IF C(AC) UNCHANGED
3428 STOP^
3429 032503 254 04 0 00 032504 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3430 032504 324 00 0 00 032505 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3431 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3432 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3433 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3434
3435 ;**********
3436
3437 ;THIS TEST VERIFIES thAT TLNN SkIPS THE NEXT SEQUENTIAL INSTRUcTION
3438 ;IF AND ONLY IF NOT ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO.
3439 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300.
3440 ;HENCE, TLNN SHOULD NOT SKIP THE NEXT INSTRUCTION AND NOT ALTER C(AC).
3441
3442 032505 200 04 0 00 034414 C70210: MOVE 4,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
3443 032506 607 04 0 00 000300 TLNN 4,300 ;*TLNN SHOULD NOT SKIP
3444 032507 334 00 0 00 000000 SKIPA ;PASS IF TLNN DOES NOT SKIP
3445 STOP^
3446 032510 254 04 0 00 032511 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3447 032511 324 00 0 00 032512 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3448 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3449 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3450 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3451 032512 312 04 0 00 034414 CAME 4,[123456,,701234] ;PASS IF C(AC) UNCHANGED
3452 STOP^
3453 032513 254 04 0 00 032514 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3454 032514 324 00 0 00 032515 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3455 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3456 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3457 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3458
3459 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 56
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0085
3460 ;THIS TEST VERIFIES THAT TSNE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
3461 ;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN C(E) WITH
3462 ;BOTH HALVES SNAPPED ARE ZERO. NEITHER AC NOR E ARE AFFECTED.
3463 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321
3464 ;HENCE, TSNE SHOULD SKIP THE NEXT INSTRUCtION AND
3465 ;BOTH C(AC) AND C(E) SHOULD BE UNMODIFIED.
3466
3467 032515 200 03 0 00 034414 C70300: MOVE 3,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
3468 032516 200 04 0 00 034424 MOVE 4,[76543,,654321] ;PRELOAD E WITH 076543,,654321
3469 032517 613 03 0 00 000004 TSNE 3,4 ;*TSNE SHOULD SKIP
3470 STOP^
3471 032520 254 04 0 00 032521 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3472 032521 324 00 0 00 032522 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3473 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3474 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3475 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3476 032522 312 03 0 00 034414 CAME 3,[123456,,701234] ;PASS IF C(AC) UNCHANGED
3477 STOP^
3478 032523 254 04 0 00 032524 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3479 032524 324 00 0 00 032525 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3480 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3481 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3482 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3483 032525 312 04 0 00 034424 CAME 4,[76543,,654321] ;PASS IF C(E) UNCHANGED
3484 STOP^
3485 032526 254 04 0 00 032527 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3486 032527 324 00 0 00 032530 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3487 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3488 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3489 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3490
3491 ;**********
3492
3493 ;THIS TEST VERIFIES THAT TSNE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
3494 ;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN C(E) WITH
3495 ;BOTH HALVES SNAPPED ARE ZERO. NEITHER AC NOR E ARE AFFECTED.
3496 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654323
3497 ;HENCE, TSNE SHOULD NOT SKIP THE NEXT INSTRUCTION AND
3498 ;BOTH C(AC) AND C(E) SHOULD BE UNMODIFIED.
3499
3500 032530 200 02 0 00 034414 C70310: MOVE 2,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
3501 032531 200 03 0 00 034425 MOVE 3,[76543,,654323] ;PRELOAD E WITH 076543,,654323
3502 032532 613 02 0 00 000003 TSNE 2,3 ;*TSNE SHOULD NOT SKIP
3503 032533 334 00 0 00 000000 SKIPA ;PASS IF TSOE DId NOT SKIP
3504 STOP^
3505 032534 254 04 0 00 032535 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3506 032535 324 00 0 00 032536 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3507 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3508 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3509 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3510 032536 312 02 0 00 034414 CAME 2,[123456,,701234] ;PASS IF C(AC) UNCHANGED
3511 STOP^
3512 032537 254 04 0 00 032540 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3513 032540 324 00 0 00 032541 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3514 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 56-1
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0086
3515 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3516 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3517 032541 312 03 0 00 034425 CAME 3,[76543,,654323] ;PASS IF C(E) UNCHANGED
3518 STOP^
3519 032542 254 04 0 00 032543 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3520 032543 324 00 0 00 032544 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3521 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3522 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3523 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3524
3525 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 57
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0087
3526 ;THIS TEST VERIFIES THAT TSNA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRUCTION
3527 ;NEITHER AC NOR E ARE AFFECTED.
3528 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321
3529 ;HENCE, TSNA SHOULD SKIP THE NEXT INSTRUCTION AND
3530 ;BOTH C(AC) AND C(E) SHOULD BE UNMODIFIED
3531
3532 032544 200 01 0 00 034414 C70400: MOVE 1,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
3533 032545 200 02 0 00 034424 MOVE 2,[76543,,654321] ;PRELOAD E WITH 076543,,654321
3534 032546 615 01 0 00 000002 TSNA 1,2 ;*TSNA SHOULD SKIP
3535 STOP^
3536 032547 254 04 0 00 032550 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3537 032550 324 00 0 00 032551 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3538 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3539 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3540 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3541 032551 312 01 0 00 034414 CAME 1,[123456,,701234] ;PASS IF C(AC) UNCHANGED
3542 STOP^
3543 032552 254 04 0 00 032553 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3544 032553 324 00 0 00 032554 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3545 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3546 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3547 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3548 032554 312 02 0 00 034424 CAME 2,[76543,,654321] ;PASS IF C(E) UNCHANGED
3549 STOP^
3550 032555 254 04 0 00 032556 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3551 032556 324 00 0 00 032557 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3552 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3553 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3554 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3555
3556 ;**********
3557
3558 ;THIS TEST VERIFIES THAT TSNA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRUCTION
3559 ;NEITHER AC NOR E ARE EFFECTED.
3560 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654323
3561 ;HENCE, TSNA SHOULD SKIP THE NEXT INSTRUCTION AND
3562 ;BOTH C(AC) AND C(E) SHOULD BE UNMODIFIED
3563
3564 032557 200 00 0 00 034414 C70410: MOVE 0,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
3565 032560 200 01 0 00 034425 MOVE 1,[76543,,654323] ;PRELOAD E WITH 076543,,654323
3566 032561 615 00 0 00 000001 TSNA 0,1 ;*TSNA SHOULD SKIP
3567 STOP^
3568 032562 254 04 0 00 032563 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3569 032563 324 00 0 00 032564 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3570 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3571 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3572 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3573 032564 312 01 0 00 034425 CAME 1,[76543,,654323] ;PASS IF C(E) UNCHANGED
3574 STOP^
3575 032565 254 04 0 00 032566 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3576 032566 324 00 0 00 032567 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3577 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3578 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3579 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3580
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 57-1
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0088
3581 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 58
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0089
3582 ;THIS TEST VERIFIES THAT TSNN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
3583 ;IF AND ONLY IF NOT ALL HITS IN THE AC CORRESPONDING TO 1'S IN C(E) WITH
3584 ;BOTH HALVES SWAPPED ARE ZERO. NEITHER AC NOR E ARE AFFECTED.
3585 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076547,,654321
3586 ;HENCE, TSNN SHOULD SKIP THE NEXT INSTRUCTION AND
3587 ;BOTH C(AC) AND C(E) SHOULD BE UNMODIFIED
3588
3589 032567 200 17 0 00 034414 C70500: MOVE 17,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
3590 032570 200 00 0 00 034426 MOVE 0,[76547,,654321] ;PRELOAD E WITH 076547,,654321
3591 032571 617 17 0 00 000000 TSNN 17,0 ;*TSNN SHOULD SKIP
3592 STOP^
3593 032572 254 04 0 00 032573 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3594 032573 324 00 0 00 032574 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3595 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3596 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3597 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3598 032574 312 17 0 00 034414 CAME 17,[123456,,701234] ;PASS IF C(AC) UNCHANGED
3599 STOP^
3600 032575 254 04 0 00 032576 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3601 032576 324 00 0 00 032577 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3602 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3603 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3604 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3605 032577 312 00 0 00 034426 CAME 0,[76547,,654321] ;PASS IF C(E) UNCHANGED
3606 STOP^
3607 032600 254 04 0 00 032601 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3608 032601 324 00 0 00 032602 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3609 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3610 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3611 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3612
3613 ;**********
3614
3615 ;THIS TEST VERIFIES THAT TSNN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
3616 ;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN C(E) WITH
3617 ;BOTH HALVES SWAPPED ARE ZERO. NEITHER AC NOR E ARE AFFECTED.
3618 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321
3619 ;HENCE, TSNN SHOULD NOT SKIP THE NEXT INSTRUCTION AND
3620 ;BOTH C(AC) AND C(E) SHOULD BE UNMODIFIED
3621
3622 032602 200 16 0 00 034414 C70510: MOVE 16,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
3623 032603 200 17 0 00 034424 MOVE 17,[76543,,654321] ;PRELOAD E WITH 076543,,654321
3624 032604 617 16 0 00 000017 TSNN 16,17 ;*TSNN SHOULD NOT SKIP
3625 032605 334 00 0 00 000000 SKIPA ;PASS IF TSNN DID NOT SKIP
3626 STOP^
3627 032606 254 04 0 00 032607 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3628 032607 324 00 0 00 032610 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3629 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3630 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3631 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3632 032610 312 16 0 00 034414 CAME 16,[123456,,701234] ;PASS IF C(AC) UNCHANGED
3633 STOP^
3634 032611 254 04 0 00 032612 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3635 032612 324 00 0 00 032613 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3636 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 58-1
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0090
3637 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3638 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3639 032613 312 17 0 00 034424 CAME 17,[76543,,654321] ;PASS IF C(E) UNCHANGED
3640 STOP^
3641 032614 254 04 0 00 032615 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3642 032615 324 00 0 00 032616 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3643 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3644 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3645 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3646
3647 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 59
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0091
3648 ;THIS TEST VERIFIES THAT TRZ CHANGES ALL BITS IN THE AC-RIGHT WHICH
3649 ;CORRESPOND TO 1'S IN E TO ZERO AND DOES NOT SKIP.
3650 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3
3651 ;HENCE, THE RESULT IN THE AC SHOULD BE 123456,,701234
3652
3653 032616 200 15 0 00 034414 C70600: MOVE 15,[123456,,701234] ;PRELOAD AC WITH 123456,,701234]
3654 032617 620 12 0 00 000003 TRZ 12,3 ;*TRZ SHOULD PLACE 123456,,701234 INTO
3655 ;THE AC AND NOT SKIP
3656 032620 334 00 0 00 000000 SKIPA ;PASS IF TRZ DOES NOT SKIP
3657 STOP^
3658 032621 254 04 0 00 032622 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3659 032622 324 00 0 00 032623 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3660 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3661 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3662 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3663 032623 312 15 0 00 034414 CAME 15,[123456,,701234] ;PASS IF C(AC)=123456,,701234
3664 STOP^
3665 032624 254 04 0 00 032625 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3666 032625 324 00 0 00 032626 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3667 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3668 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3669 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3670
3671 ;**********
3672
3673 ;THIS TEST VERIFIES THAT TRZ CHANGES ALL BITS IN THE AC-RIGHT WHICH
3674 ;CORRESPOND TO 1'S IN E TO ZERO AND DOES NOT SKIP.
3675 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300
3676 ;HENCE, THE RESULT IN THE AC SHOULD BE 123456,,701034
3677
3678 032626 200 14 0 00 034414 C70610: MOVE 14,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
3679 032627 620 14 0 00 000300 TRZ 14,300 ;*TRZ SHOULD PLACE 123456,,701234 INTO
3680 ;THE ACAND NOT SKIP
3681 032630 334 00 0 00 000000 SKIPA ;PASS IF TRX DOES NOT SKIP
3682 STOP^
3683 032631 254 04 0 00 032632 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3684 032632 324 00 0 00 032633 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3685 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3686 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3687 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3688 032633 312 14 0 00 034427 CAME 14,[123456,,701034] ;PASS IF C(AC)=123456,,701034
3689 STOP^
3690 032634 254 04 0 00 032635 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3691 032635 324 00 0 00 032636 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3692 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3693 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3694 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3695
3696 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 60
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0092
3697 ;THIS TEST VERIFIES THAT TLZ CHANGES ALL BITS IN THE AC-LEFT WHICH
3698 ;CORRESPOND TO 1'S IN E TO ZERO AND DOES NOT SKIP.
3699 ;IN THIS CACE, C(AC)=123456,,701234 AND E=300
3700 ;HENCE, THE RESULT IN THE AC SHOUL BE 123456,,701234
3701
3702 032636 200 13 0 00 034414 C70700: MOVE 13,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
3703 032637 621 13 0 00 000300 TLZ 13,300 ;*TLZ SHOULD PLACE 123456,,701234 INTO
3704 ;THE AC AND NOT SKIP
3705 032640 334 00 0 00 000000 SKIPA ;PASS IF TLZ DOES NOT SKIP
3706 STOP^
3707 032641 254 04 0 00 032642 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3708 032642 324 00 0 00 032643 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3709 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3710 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3711 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3712 032643 312 13 0 00 034414 CAME 13,[123456,,701234] ;PASS IF C(AC)=123456,,701234
3713 STOP^
3714 032644 254 04 0 00 032645 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3715 032645 324 00 0 00 032646 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3716 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3717 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3718 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3719
3720 ;**********
3721
3722 ;THIS TEST VERIFIES THAT TLZ CHANGES ALL BITS IN THE AC-LEFT WHICH
3723 ;CORRSPOND TO 1'S IN E TO ZERO AND DOES NOT SKIP.
3724 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3
3725 ;HENCE, THE RESULT IN THE AC SHOULD BE 123454,,701234
3726
3727 032646 200 12 0 00 034414 C70710: MOVE 12,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
3728 032647 621 12 0 00 000003 TLZ 12,3 ;*TLZ SHOULD PLACE 123454,,701234 INTO
3729 ;THE AC AND NOT SKIP
3730 032650 334 00 0 00 000000 SKIPA ;PASS IF TLZ DOES NOT SKIP
3731 STOP^
3732 032651 254 04 0 00 032652 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3733 032652 324 00 0 00 032653 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3734 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3735 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3736 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3737 032653 312 12 0 00 034430 CAME 12,[123454,,701234] ;PASS IF C(AC)=123454,701234
3738 STOP^
3739 032654 254 04 0 00 032655 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3740 032655 324 00 0 00 032656 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3741 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3742 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3743 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3744
3745 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 61
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0093
3746 ;THIS TEST VERIFIES THAT TRZE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
3747 ;IF AND ONLY IF ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO.
3748 ;THESE MASKED AC BITS ARE THEN CHANGED TO ZEROS.
3749 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3
3750 ;HENCE, TRZE SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION
3751 ;AND THE RESULT IN THE AC SHOULD BE 123456,,701234
3752
3753 032656 200 11 0 00 034414 C71000: MOVE 11,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
3754 032657 622 11 0 00 000003 TRZE 11,3 ;*TRZE SHOULD SKIP AND
3755 ;PLACE 123456,,701234 INTO THE AC
3756 STOP^
3757 032660 254 04 0 00 032661 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3758 032661 324 00 0 00 032662 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3759 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3760 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3761 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3762 032662 312 11 0 00 034414 CAME 11,[123456,,701234] ;PASS IF C(AC)=123456,,701234
3763 STOP^
3764 032663 254 04 0 00 032664 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3765 032664 324 00 0 00 032665 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3766 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3767 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3768 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3769
3770 ;**********
3771
3772 ;THIS TEST VERIFIES THAT TRZE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
3773 ;IF AND ONLY IF ALL BITS IN AC-RIGHT CORRSPONDING TO 1'S IN E ARE ZERO.
3774 ;THESE MASKED AC BITS ARE THEN CHANGED TO ZEROS.
3775 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300
3776 ;HENCE, TRZE SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION
3777 ;AND THE RESULT IN THE AC SHOUDL BE 123456,,701034
3778
3779 032665 200 10 0 00 034414 C71010: MOVE 10,[123456,,701234] ;PRELOAD AC WIT@ 123456,,701234
3780 032666 622 10 0 00 000300 TRZE 10,300 ;*TRZE SHOULD PLACE 123456,,701034 INTO
3781 ;THE AC AND NOT SKIP
3782 032667 334 00 0 00 000000 SKIPA ;PASS IF TRZE DOES NOT SKIP
3783 STOP^
3784 032670 254 04 0 00 032671 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3785 032671 324 00 0 00 032672 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3786 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3787 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3788 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3789 032672 312 10 0 00 034427 CAME 10,[123456,,701034] ;PASS IF C(AC)=123456,,701034
3790 STOP^
3791 032673 254 04 0 00 032674 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3792 032674 324 00 0 00 032675 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3793 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3794 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3795 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3796
3797 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 62
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0094
3798 ;THIS TEST VERIFIES THAT TLZE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
3799 ;IF AND ONLY IF ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO.
3800 ;THESE MASKED AC BITS ARE THEN CHANGED TO ZEROS.
3801 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300
3802 ;HENCE, TLZE SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION
3803 ;AND THE RESULT IN THE AC SHOULD BE 123456,,701234
3804
3805 032675 200 07 0 00 034414 C71100: MOVE 7,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
3806 032676 623 07 0 00 000300 TLZE 7,300 ;*TLZE SHOULD SKIP AND
3807 ;PLACE 123456,,701234 INTO THE AC
3808 STOP^
3809 032677 254 04 0 00 032700 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3810 032700 324 00 0 00 032701 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3811 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3812 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3813 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3814 032701 312 07 0 00 034414 CAME 7,[123456,,701234] ;PASS IF C(AC)=123456,,701234
3815 STOP^
3816 032702 254 04 0 00 032703 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3817 032703 324 00 0 00 032704 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3818 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3819 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3820 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3821
3822 ;**********
3823
3824 ;THIS TEST VERIFIES THAT TLZE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
3825 ;IF AND ONLY IF ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO.
3826 ;THESE MASKED AC BITS ARE THEN CHANGED TO ZEROS.
3827 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3
3828 ;HENCE, TLZE SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION
3829 ;AND THE RESULT IN THE AC SHOULD BE 123454,,701234
3830
3831 032704 200 06 0 00 034414 C71110: MOVE 6,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
3832 032705 623 06 0 00 000003 TLZE 6,3 ;*TLZE SHOULD PLACE 123454,,701234 INTO
3833 ;THE AC AND NOT SKIP
3834 032706 334 00 0 00 000000 SKIPA ;PASS IF TLZE DOES NOT SKIP
3835 STOP^
3836 032707 254 04 0 00 032710 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3837 032710 324 00 0 00 032711 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3838 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3839 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3840 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3841 032711 312 06 0 00 034430 CAME 6,[123454,,701234] ;PASS IF C(AC)=123454,,701234
3842 STOP^
3843 032712 254 04 0 00 032713 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3844 032713 324 00 0 00 032714 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3845 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3846 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3847 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3848
3849 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 63
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0095
3850 ;THIS TEST VERIFIES THAT TRZA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRUCTION
3851 ;AND CHANGES ALL BITS IN AC-RIGHT WHICH CORRESPOND TO 1'S IN E TO ZERO.
3852 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3.
3853 ;HENCE, TRZA SHOULD SKIP THE NEXT INSTRUCTION AND THE RESULT IN
3854 ;THE AC SHOULD BE 123456,,701234
3855
3856 032714 200 05 0 00 034414 C71200: MOVE 5,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
3857 032715 624 05 0 00 000003 TRZA 5,3 ;*TRZA SHOULD SKIP AND
3858 ;PLACE 123456,,701234 INTO THE AC
3859 STOP^
3860 032716 254 04 0 00 032717 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3861 032717 324 00 0 00 032720 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3862 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3863 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3864 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3865 032720 312 05 0 00 034414 CAME 5,[123456,,701234] ;PASS IF C(AC)=123456,,701234
3866 STOP^
3867 032721 254 04 0 00 032722 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3868 032722 324 00 0 00 032723 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3869 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3870 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3871 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3872
3873 ;**********
3874
3875 ;THIS TEST VERIFIES THAT TRZA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRUCTION
3876 ;AND CHANGES ALL BITS IN AC-RIGHT WHICH CORRESPOND TO 1'S IN E TO ZERO.
3877 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300.
3878 ;HENCE, TRZA SHOULD SKIP THE NEXT INSTRUCTION AND THE RESULT IN
3879 ;THE AC SHOULD BE 123456,,701234.
3880
3881 032723 200 04 0 00 034414 C71210: MOVE 4,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
3882 032724 624 04 0 00 000300 TRZA 4,300 ;*TRZA SHOULD SKIP AND
3883 ;PLACE 123456,,701034 INTO THE AC
3884 STOP^
3885 032725 254 04 0 00 032726 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3886 032726 324 00 0 00 032727 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3887 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3888 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3889 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3890 032727 312 04 0 00 034427 CAME 4,[123456,,701034] ;PASS IF C(AC)=123456,,701034
3891 STOP^
3892 032730 254 04 0 00 032731 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3893 032731 324 00 0 00 032732 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3894 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3895 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3896 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3897
3898 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 64
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0096
3899 ;THIS TEST VERIFIES THAT TLZA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRQCTION
3900 ;AND CHANGES ALL BITS IN AC-LEFT WHICH CORRESPOND TO 1'S IN E TO ZERO.
3901 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3.
3902 ;HENCE, TLZA SHOULD SKIP THE NEXT INSTRUCTION AND THE RESULT IN
3903 ;THE AC SHOULD BE 123454,,701234.
3904
3905 032732 200 03 0 00 034414 C71300: MOVE 3,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
3906 032733 625 03 0 00 000003 TLZA 3,3 ;*TLZA SHOULD SKIP AND
3907 ;PLACE 123454,,701234 INTO THE AC
3908 STOP^
3909 032734 254 04 0 00 032735 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3910 032735 324 00 0 00 032736 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3911 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3912 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3913 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3914 032736 312 03 0 00 034430 CAME 3,[123454,,701234] ;PASS IF C(AC)=123454,,701234
3915 STOP^
3916 032737 254 04 0 00 032740 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3917 032740 324 00 0 00 032741 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3918 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3919 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3920 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3921
3922 ;**********
3923
3924 ;THIS TEST VERIFIES THAT TLZA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRUCTION
3925 ;AND CHANGES ALL BITS IN AC-LEFT WHICH CORRESPOND TO 1'S IN E TO ZERO.
3926 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300.
3927 ;HENCE, TLZA SHOULD SKIP THE NEXT INSTRUCTION AND THE RESULT IN
3928 ;THE AC SHOULD BE 123456,,701234.
3929
3930 032741 200 02 0 00 034414 C71310: MOVE 2,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
3931 032742 625 02 0 00 000300 TLZA 2,300 ;*TLZA SHOULD SKIP AND
3932 ;PLACE 123456,,701234 INTO THE AC
3933 STOP^
3934 032743 254 04 0 00 032744 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3935 032744 324 00 0 00 032745 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3936 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3937 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3938 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3939 032745 312 02 0 00 034414 CAME 2,[123456,,701234] ;PASS IF C(AC)=123456,,701234
3940 STOP^
3941 032746 254 04 0 00 032747 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3942 032747 324 00 0 00 032750 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3943 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3944 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3945 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3946
3947 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 65
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0097
3948 ;THIS TEST VERIFIES THAT TRZN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
3949 ;IF AND ONLY IF NOT ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO.
3950 ;THESE MASKED AC BITS ARE THEN CHANGED TO ZEROS.
3951 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300.
3952 ;HENCE, TRZN SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION
3953 ;AND THE RESULT IN THE AC SHOULD BE 123456,,701034.
3954
3955 032750 200 01 0 00 034414 C71400: MOVE 1,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
3956 032751 626 01 0 00 000300 TRZN 1,300 ;*TRZN SHOULD SKIP AND
3957 ;PLACE 123456,,701034 INTO THE AC
3958 STOP^
3959 032752 254 04 0 00 032753 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3960 032753 324 00 0 00 032754 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3961 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3962 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3963 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3964 032754 312 01 0 00 034427 CAME 1,[123456,,701034] ;PASS IF C(AC)=123456,,701034
3965 STOP^
3966 032755 254 04 0 00 032756 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3967 032756 324 00 0 00 032757 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3968 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3969 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3970 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3971
3972 ;**********
3973
3974 ;THIS TEST VERIFIES THAT TRZN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
3975 ;IF AND ONLY IF NOT ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO.
3976 ;THESE MASKED AC BITS ARE THEN CHANGED TO ZEROS.
3977 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3.
3978 ;HENCE, TRZN SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION
3979 ;AND THE RESULT IN THE AC SHOULD BE 123456,,701234.
3980
3981 032757 200 00 0 00 034414 C71410: MOVE 0,[123456,,701234] ;PRELOAD AC WATH 123456,,701234
3982 032760 626 00 0 00 000003 TRZN 0,3 ;*TRZN SHOULD PLACE 123456,,701234 INTO
3983 ;THE AC AND NOT SKIP
3984 032761 334 00 0 00 000000 SKIPA ;PASS IF TRZN DOES NOT SKIP
3985 STOP^
3986 032762 254 04 0 00 032763 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3987 032763 324 00 0 00 032764 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3988 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3989 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3990 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3991 032764 312 00 0 00 034414 CAME 0,[123456,,701234] ;PASS IF C(AC)=123456,,701234
3992 STOP^
3993 032765 254 04 0 00 032766 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3994 032766 324 00 0 00 032767 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
3995 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
3996 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
3997 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
3998
3999 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 66
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0098
4000 ;THIS TEST VERIFIES THAT TLZN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
4001 ;IF AND ONLY IF NOT ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO.
4002 ;THESE MASKED AC BITS ARE THEN CHANGED TO ZEROS.
4003 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3.
4004 ;HENCE, TLZN SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION
4005 ;AND THE RESULT IN THE AC SHOULD BE 123454,,701234.
4006
4007 032767 200 17 0 00 034414 C71500: MOVE 17,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
4008 032770 627 17 0 00 000003 TLZN 17,3 ;TLZN SHOULD SKIP AND
4009 ;PLACE 123454,,701234 INTO THE AC
4010 STOP^
4011 032771 254 04 0 00 032772 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4012 032772 324 00 0 00 032773 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4013 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4014 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4015 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4016 032773 312 17 0 00 034430 CAME 17,[123454,,701234] ;PASS IF C(AC)=123454,,701234
4017 STOP^
4018 032774 254 04 0 00 032775 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4019 032775 324 00 0 00 032776 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4020 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4021 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4022 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4023
4024 ;**********
4025
4026 ;THIS TEST VERIFIES THAT TLZN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
4027 ;IF AND ONLY IF NOT ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO.
4028 ;THESE MASKED AC BIPS ARE THEN CHANGED TO ZEROS.
4029 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300.
4030 ;HENCE, TLZN SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION
4031 ;AND THE RESULT IN THE AC SHOULD BE 123456,,701234.
4032
4033 032776 200 16 0 00 034414 C71510: MOVE 16,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
4034 032777 627 16 0 00 000300 TLZN 16,300 ;*TLZN SHOULD PLACE 123456,,701234 INTO
4035 ;THE AC AND NOT SKIP
4036 033000 334 00 0 00 000000 SKIPA ;PASS IF TLZN DOES NOT SKIP
4037 STOP^
4038 033001 254 04 0 00 033002 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4039 033002 324 00 0 00 033003 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4040 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4041 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4042 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4043 033003 312 16 0 00 034414 CAME 16,[123456,,701234] ;PASS IF C(AC)=123456,,701234
4044 STOP^
4045 033004 254 04 0 00 033005 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4046 033005 324 00 0 00 033006 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4047 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4048 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4049 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4050
4051 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 67
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0099
4052 ;THIS TEST VERIFIES THAT TSZ CLEARS ALL BITS OF THE AC WHICH
4053 ;CORRESPOND TO 1'S IN C(E) WITH BOTH HALVES SWAPPED AND DOES
4054 ;NOT SKIP THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED.
4055 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321.
4056 ;HENCE, TSZ SHOULD NOT SKIP AND C(AC) SHOULD BE 123456,,701234.
4057
4058 033006 200 15 0 00 034414 C71600: MOVE 15,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
4059 033007 200 16 0 00 034424 MOVE 16,[076543,,654321] ;PRELOAD E WITH 076543,,654321
4060 033010 631 15 0 00 000016 TSZ 15,16 ;*TSZ SHOULD NOT SKIP AND
4061 ;PLACE 123456,,701234 INTO THE AC
4062 033011 334 00 0 00 000000 SKIPA ;PASS IF TSZ DID NOT SKIP
4063 STOP^
4064 033012 254 04 0 00 033013 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4065 033013 324 00 0 00 033014 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4066 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4067 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4068 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4069 033014 312 15 0 00 034414 CAME 15,[123456,,701234] ;PASS IF C(AC)=123456,,701234
4070 STOP^
4071 033015 254 04 0 00 033016 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4072 033016 324 00 0 00 033017 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4073 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4074 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4075 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4076 033017 312 16 0 00 034424 CAME 16,[76543,,654321] ;PASS IF C(E) UNCHANCED
4077 STOP^
4078 033020 254 04 0 00 033021 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4079 033021 324 00 0 00 033022 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4080 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4081 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4082 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4083
4084 ;**********
4085
4086 ;THIS TEST VERIFIES THAT TSZ CLEARS ALL BITS OF THE AC WHICH
4087 ;CORRESPOND TO 1'S IN C(E) WITH BOTH HALVES SWAPPED AND DOES
4088 ;NOT SKIP THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED.
4089 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=252525,,707070.
4090 ;HENCE, TSZ SHOULD NOT SKIP AND C(AC) SHOULD BE 020406,,501210.
4091
4092 033022 200 14 0 00 034414 C71610: MOVE 14,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
4093 033023 200 15 0 00 034431 MOVE 15,[252525,,707070] ;PRELOAD E WITH 252525,,707070
4094 033024 631 14 0 00 000015 TSZ 14,15 ;*TSZ SHOULD NOT SKIP AND
4095 ;PLACE 020406,,501210 INTO THE AC
4096 033025 334 00 0 00 000000 SKIPA ;PASS IF TSZ DID NOT SKIP
4097 STOP^
4098 033026 254 04 0 00 033027 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4099 033027 324 00 0 00 033030 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4100 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4101 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4102 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4103 033030 312 14 0 00 034432 CAME 14,[020406,,501210] ;PASS IF C(AC)=020406,,501210
4104 STOP^
4105 033031 254 04 0 00 033032 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4106 033032 324 00 0 00 033033 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 67-1
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0100
4107 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4108 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4109 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4110 033033 312 15 0 00 034431 CAME 15,[252525,,707070] ;PASS IF C(E) UNCHANGED
4111 STOP^
4112 033034 254 04 0 00 033035 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4113 033035 324 00 0 00 033036 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4114 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4115 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4116 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4117
4118 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 68
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0101
4119 ;THIS TEST VERIFIES THAT TDZE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
4120 ;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN
4121 ;C(E).
4122 ;AC BITS ARE THEN CHANGED TO ZERO.
4123 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=654321,,076543.
4124 ;HENCE, TDZE SHOULD SKIP AND THE RESULT IN THE AC
4125 ;SHOULD BE 123456,,701234. C(E) IS NOT AFFECTED.
4126
4127 033036 200 13 0 00 034414 C71700: MOVE 13,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
4128 033037 200 14 0 00 034433 MOVE 14,[654321,,076543] ;PRELOAD E WITH 654321,,076543
4129 033040 632 13 0 00 000014 TDZE 13,14 ;*TDZE SHOULD SKIP AND
4130 ;PLACE 123456,,701234 INTO THE AC
4131 STOP^
4132 033041 254 04 0 00 033042 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4133 033042 324 00 0 00 033043 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4134 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4135 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4136 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4137 033043 312 13 0 00 034414 CAME 13,[123456,,701234] ;PASS IF C(AC)=123456,,701234]
4138 STOP^
4139 033044 254 04 0 00 033045 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4140 033045 324 00 0 00 033046 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4141 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4142 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4143 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4144 033046 312 14 0 00 034433 CAME 14,[654321,,076543] ;PASS IF C(E) UNCHANGED
4145 STOP^
4146 033047 254 04 0 00 033050 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4147 033050 324 00 0 00 033051 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4148 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4149 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4150 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4151
4152 ;**********
4153
4154 ;THIS TEST VERIFIES THAT TDZE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
4155 ;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN
4156 ;C(E) ARE ZERO. THESE MASKED
4157 ;AC BITS ARE THEN CHANGED TO ZERO.
4158 ;IN THIS CASE, C(AC)= 123456,,701234 AND C(E)= 754321,,076543
4159 ;HENCE, TDZE SHOULD NOT SKIP AND THE RESULT IN AC
4160 ;SHOULD BE 023456,,701234 C(E) IS NOT AFFECTED
4161
4162 033051 200 12 0 00 034414 C71710: MOVE 12,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
4163 033052 200 13 0 00 034434 MOVE 13,[754321,,076543] ;PRELOAD E WITH 754321,,076543
4164 033053 632 12 0 00 000013 TDZE 12,13 ;*TDZE SHOULD NOT SKIP AND
4165 ;PLACE 023456,,701234 INTO THE AC
4166 033054 334 00 0 00 000000 SKIPA ;PASS IF TDZE DOES NOT SKIP
4167 STOP^
4168 033055 254 04 0 00 033056 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4169 033056 324 00 0 00 033057 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4170 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4171 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4172 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4173 033057 312 12 0 00 034435 CAME 12,[023456,,701234] ;PASS IF C(AC)= 023456,,701234
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 68-1
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0102
4174 STOP^
4175 033060 254 04 0 00 033061 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4176 033061 324 00 0 00 033062 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4177 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4178 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4179 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4180 033062 312 13 0 00 034434 CAME 13,[754321,,076543] ;PASS IF C(E) UNCHANGED
4181 STOP^
4182 033063 254 04 0 00 033064 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4183 033064 324 00 0 00 033065 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4184 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4185 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4186 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4187
4188 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 69
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0103
4189 ;THIS TEST VERIFIES THAT TSZE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
4190 ;IF AND ONLY IF ALL BITS IN THE AC CORRECPONDING TO 1'S IN
4191 ;C(E) WITH BOTH HALVES SWAPPED ARE ZERO. THESE MASKED
4192 ;AC BITS ARE THEN CHANGED TO ZERO.
4193 ;IN THIS CASE, C(AC)= 123456,,701234 AND C(E)= 076543,,654321
4194 ;HENCE, TSZE SHOULD SKIP AND THE RESULT IN AC
4195 ;SHOULD BE 123456,,701234 C(E) IS NOT AFFECTED
4196
4197 033065 200 11 0 00 034414 C72000: MOVE 11,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
4198 033066 200 12 0 00 034424 MOVE 12,[076543,,654321] ;PRELOAD E WITH 076543,,654321
4199 033067 633 11 0 00 000012 TSZE 11,12 ;*TSZE SHOULD SKIP AND
4200 ;PLACE 123456,,701234 INTO THE AC
4201 STOP^
4202 033070 254 04 0 00 033071 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4203 033071 324 00 0 00 033072 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4204 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4205 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4206 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4207 033072 312 11 0 00 034414 CAME 11,[123456,,701234] ;PASS IF C(AC)= 123456,,701234
4208 STOP^
4209 033073 254 04 0 00 033074 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4210 033074 324 00 0 00 033075 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4211 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4212 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4213 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4214 033075 312 12 0 00 034424 CAME 12,[76543,,654321] ;PASS IF C(E) UNCHANGED
4215 STOP^
4216 033076 254 04 0 00 033077 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4217 033077 324 00 0 00 033100 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4218 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4219 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4220 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4221
4222 ;**********
4223
4224 ;THIS TEST VERIFIES THAT TSZE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
4225 ;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN
4226 ;C (E) WITH BOTH HALVES SWAPPED ARE ZERO. THESE MASKED
4227 ;AC BITS ARE THEN CHANGED TO ZERO
4228 ;IN THIS CASE, C(AC)= 123456,,701234 AND C(E)= 076543,,657321
4229 ;HENCE, TSZE SHOULD NOT SKIP AND THE RESULT IN AC
4230 ;SHOULD BE 120456,,701234 C(E) IS NOT AFFECTED
4231
4232 033100 200 10 0 00 034414 C72010: MOVE 10,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
4233 033101 200 11 0 00 034436 MOVE 11,[76543,,657321] ;PRELOAD E WITH 076543,,654321
4234 033102 633 10 0 00 000011 TSZE 10,11 ;*TSZE SHOULD NOT SKIP AND
4235 ;PLACE 120456,,701234 INTO THE AC
4236 033103 334 00 0 00 000000 SKIPA ;PASS IF TSZE DID NOT SKIP
4237 STOP^
4238 033104 254 04 0 00 033105 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4239 033105 324 00 0 00 033106 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4240 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4241 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4242 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4243 033106 312 10 0 00 034437 CAME 10,[120456,,701234] ;PASS IF C(AC)= 120456,,701234
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 69-1
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0104
4244 STOP^
4245 033107 254 04 0 00 033110 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4246 033110 324 00 0 00 033111 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4247 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4248 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4249 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4250 033111 312 11 0 00 034436 CAME 11,[76543,,657321] ;PASS IF C(E) UNCHANGED
4251 STOP^
4252 033112 254 04 0 00 033113 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4253 033113 324 00 0 00 033114 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4254 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4255 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4256 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4257
4258
4259 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 70
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0105
4260 ;THIS TEST VERIFIES THAT TDZA CLEARS ALL BITS OF THE AC WHICH
4261 ;CORRESPOND TO 1'S IN C(E) AND ALWAYS
4262 ;SKIPS THE NEXT INSTRUCTION C(E) IS NOT AFFECTED
4263 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)= 654321,,076543
4264 ;HENCE, TD2A SHOULD ALWAYS SKIP AND C(AC) SHOULD BE 123456,,701234
4265
4266 033114 200 07 0 00 034414 C72100: MOVE 7,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
4267 033115 200 10 0 00 034433 MOVE 10,[654321,,076543] ;PRELOAD E WITH 654321,,076543
4268 033116 634 07 0 00 000010 TDZA 7,10 ;*TDZA SHOULD SKIP AND
4269 ;PLACE 123456,,701234 INTO THE AC
4270 STOP^
4271 033117 254 04 0 00 033120 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4272 033120 324 00 0 00 033121 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4273 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4274 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4275 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4276 033121 312 07 0 00 034414 CAME 7,[123456,,701234] ;PASS IF C(AC)= 123456,,701234
4277 STOP^
4278 033122 254 04 0 00 033123 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4279 033123 324 00 0 00 033124 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4280 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4281 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4282 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4283 033124 312 10 0 00 034433 CAME 10,[654321,,076543] ;PASS IF C(AC)=123456,,701234
4284 STOP^
4285 033125 254 04 0 00 033126 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4286 033126 324 00 0 00 033127 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4287 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4288 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4289 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4290 033127 312 10 0 00 034433 CAME 10,[654321,,076543] ;PASS IF C(E) UNCHANGED
4291 STOP^
4292 033130 254 04 0 00 033131 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4293 033131 324 00 0 00 033132 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4294 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4295 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4296 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4297
4298 ;**********
4299
4300 ;THIS TEST VERIFIES THAT TDZA CLEARS ALL BITS OF THE AC WHICH
4301 ;CORRESPOND TO 1'S IN C(E) AND ALWAYS
4302 ;SKIPS THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED
4303 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=252525,,707070
4304 ;HENCE, TDZA SHOULD ALWAYS SKIP AND C(AC) SHOULD BE 121052,,000204
4305
4306 033132 200 06 0 00 034414 C72110: MOVE 6,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
4307 033133 200 07 0 00 034431 MOVE 7,[252525,,707070] ;PRELOAD E WITH 252525,,707070
4308 033134 634 06 0 00 000007 TDZA 6,7 ;*TDZA SHOULD SKIP AND
4309 ;PLACE 121052,,000204 INTO THE AC
4310 STOP^
4311 033135 254 04 0 00 033136 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4312 033136 324 00 0 00 033137 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4313 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4314 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 70-1
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0106
4315 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4316 033137 312 06 0 00 034440 CAME 6,[121052,,000204] ;PASS IF C(AC)=121052,,000204
4317 STOP^
4318 033140 254 04 0 00 033141 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4319 033141 324 00 0 00 033142 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4320 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4321 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4322 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4323 033142 312 07 0 00 034431 CAME 7,[252525,,707070] ;PASS IF C(E) UNCHANGED
4324 STOP^
4325 033143 254 04 0 00 033144 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4326 033144 324 00 0 00 033145 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4327 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4328 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4329 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4330
4331 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 71
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0107
4332 ;THIS TEST VERIFIES TH`T TSZA CLEARS AHL BITS OF THE AC WHICH
4333 ;CORRESPOND TO 1'S IN C(E) WITH BOTH HALVES SWAPPED AND ALWAYS
4334 ;SKIPS THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED.
4335 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321
4336 ;HENCE, TSZA SHOULD ALWAYS SKIP AND C(AC) SHOULD BE 123456,,701234
4337
4338 033145 200 05 0 00 034414 C72200: MOVE 5,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
4339 033146 200 06 0 00 034424 MOVE 6,[076543,,654321] ;PRELOAD E WITH 076543,,654321
4340 033147 635 05 0 00 000006 TSZA 5,6 ;*TSZA SHOULD SKIP AND
4341 ;PLACE 123456,,701234 INTO THE AC
4342 STOP^
4343 033150 254 04 0 00 033151 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4344 033151 324 00 0 00 033152 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4345 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4346 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4347 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4348 033152 312 05 0 00 034414 CAME 5,[123456,,701234] ;PASS IF C(AC)=123456,,701234
4349 STOP^
4350 033153 254 04 0 00 033154 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4351 033154 324 00 0 00 033155 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4352 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4353 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4354 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4355 033155 312 06 0 00 034424 CAME 6,[076543,,654321] ;PASS IF C(E) UNCHANGED
4356 STOP^
4357 033156 254 04 0 00 033157 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4358 033157 324 00 0 00 033160 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4359 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4360 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4361 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4362
4363 ;**********
4364
4365 ;THIS TEST VERIFIES THAT TSZA CLEARS ALL BITS OF THE AC WHICH
4366 ;CORRESPOND TO 1'S IN C(E) WITH BOTH HALVES SWAPPED AND ALWAYS
4367 ;SKIPS THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED.
4368 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=701234,,123456
4369 ;HENCE, TSZA SHOULD ALWAYS SKIP AND C(AC) SHOULD BE 0
4370
4371 033160 200 04 0 00 034414 C72210: MOVE 4,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
4372 033161 200 05 0 00 034441 MOVE 5,[701234,,123456] ;PRELOAD E WITH 701234,,123456
4373 033162 635 04 0 00 000005 TSZA 4,5 ;*TSZA SHOULD SKIP AND
4374 ;PLACE 0 INTO THE AC
4375 STOP^
4376 033163 254 04 0 00 033164 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4377 033164 324 00 0 00 033165 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4378 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4379 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4380 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4381 033165 312 04 0 00 034407 CAME 4,[0] ;PASS IF C(AC)=0
4382 STOP^
4383 033166 254 04 0 00 033167 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4384 033167 324 00 0 00 033170 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4385 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4386 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 71-1
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0108
4387 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4388 033170 312 05 0 00 034441 CAME 5,[701234,,123456] ;PASS IF C(E) UNCHANGED
4389 SToP^
4390 033171 254 04 0 00 033172 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4391 033172 324 00 0 00 033173 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4392 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4393 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4394 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4395
4396 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 72
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0109
4397 ;THIS TEST VERIFIES THAT TDZN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
4398 ;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN
4399 ;C(E) ARE ZERO. THESE MASKED
4400 ;AC BITS ARE THEN CHANGEDTO ZERO.
4401 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=654321,,076547
4402 ;HENCE, TDZN SHOULD SKIP AND THE RESULT IN THE AC
4403 ;SHOULD BE 123456(,701230. C(E) IS NOT AFFECTED.
4404
4405 033173 200 03 0 00 034414 C72300: MOVE 3,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
4406 033174 200 04 0 00 034442 MOVE 4,[654321,,76547] ;PRELOAD E WITH 654321,,076547
4407 033175 636 03 0 00 000004 TDZN 3,4 ;*TDZN SHoULD SKIP AND
4408 ;PLACE 123456,,701230 INTO THE AC
4409 STOP^
4410 033176 254 04 0 00 033177 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4411 033177 324 00 0 00 033200 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4412 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4413 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4414 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4415 033200 312 03 0 00 034443 CAME 3,[123456,,701230] ;PASS IF C(AC)=123456,,701230
4416 STOP^
4417 033201 254 04 0 00 033202 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4418 033202 324 00 0 00 033203 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4419 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4420 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4421 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4422 033203 312 04 0 00 034442 CAME 4,[654321,,076547] ;PASS IF C(E) UNCHANGED
4423 STOP^
4424 033204 254 04 0 00 033205 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4425 033205 324 00 0 00 033206 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4426 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4427 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4428 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4429
4430 ;**********
4431
4432 ;THIS TEST VERIFIES THAT TDZN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
4433 ;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN
4434 ;C(E) ARE ZERO. THESE MASKED
4435 ;AC BITS ARE THEN CHANGED TO ZERO.
4436 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=654321,,076543
4437 ;HENCE, TDZN SHOULD NOT SKIP AND THE RESULT IN THE AC
4438 ;SHOULD BE 123456,,701234. C(E) IS NOT AFFECTED.
4439
4440 033206 200 02 0 00 034414 C72310: MOVE 2,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
4441 033207 200 03 0 00 034433 MOVE 3,[654321,,076543] ;PRELOAD E WITH 654321,,076543
4442 033210 636 02 0 00 000003 TDZN 2,3 ;*TDZN SHOULD NOT SKIP AND
4443 ;PLACE 123456,,701234 INTO THE AC
4444 033211 334 00 0 00 000000 SKIPA ;PASS IF TDZN DOES NOT SKIP
4445 STOP^
4446 033212 254 04 0 00 033213 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4447 033213 324 00 0 00 033214 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4448 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4449 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4450 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4451 033214 312 02 0 00 034414 CAME 2,[123456,,701234] ;PASS IF C(AC)=123456,,701234
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 72-1
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0110
4452 STOP^
4453 033215 254 04 0 00 033216 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4454 033216 324 00 0 00 033217 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4455 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4456 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4457 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4458 033217 312 03 0 00 034433 CAME 3,[654321,,076543] ;PASS IF C(E) UNCHANGED
4459 STOP^
4460 033220 254 04 0 00 033221 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4461 033221 324 00 0 00 033222 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4462 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4463 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4464 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4465
4466 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 73
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0111
4467 ;THIS TEST VERIFIES THaT TSZN SKIPS THE NEXT SEQQENPIAL INSTRUCTION
4468 ;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN
4469 ;C(E) WITH BOTH HALVES SWAPPED ARE ZERO. THESE MASKED
4470 ;AC BITS ARE THEN CHANGED TO ZERO.
4471 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=077543,,654321.
4472 ;HENCE, TSZN SHOULD SKIP AND THE RESULT IN THE AC
4473 ;SHOULD BE 123456,,700234. C(E) IS NOT AFFECTED.
4474
4475 033222 200 01 0 00 034414 C72400: MOVE 1,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
4476 033223 200 02 0 00 034444 MOVE 2,[077543,,654321] ;PRELOAD E WITH 077543,,654321
4477 033224 637 01 0 00 000002 TSZN 1,2 ;*TSZN SHOULD SKIP AND
4478 ;PLACE 123456,,700234 INTO THE AC
4479 STOP^
4480 033225 254 04 0 00 033226 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4481 033226 324 00 0 00 033227 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4482 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4483 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4484 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4485 033227 312 01 0 00 034445 CAME 1,[123456,,700234] ;PASS IF C(AC)=123456,,700234
4486 STOP^
4487 033230 254 04 0 00 033231 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4488 033231 324 00 0 00 033232 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4489 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4490 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4491 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4492 033232 312 02 0 00 034444 CAME 2,[77543,,654321] ;PASS IF C(E) UNCHANGED
4493 STOP^
4494 033233 254 04 0 00 033234 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4495 033234 324 00 0 00 033235 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4496 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4497 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4498 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4499
4500 ;**********
4501
4502 ;THIS TEST VERIFIES THAT TSZN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
4503 ;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN
4504 ;C(E) WITH BOTH HALVES SWAPPED ARE ZERO. THESE MASKED
4505 ;AC BITS ARE THEN CHANGED TO ZERO.
4506 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321.-
4507 ;HENCE, TSZN SHOULD NOT SKIP AND THE RESULT IN THE AC
4508 ;SHOULD BE 123456,,701234. C(E) IS NOT AFFECTED.
4509
4510 033235 200 00 0 00 034414 C72410: MOVE 0,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
4511 033236 200 01 0 00 034424 MOVE 1,[76543,,654321] ;PRElOAD E WITH 076543,,654321
4512 033237 637 00 0 00 000001 TSZN 0,1 ;*TSZN SHOULD NOT SKIP AND
4513 ;PLACE 123456,,701234 INTO THE AC
4514 033240 334 00 0 00 000000 SKIPA ;PASS IF TSZN DOES NOT SKIP
4515 STOP^
4516 033241 254 04 0 00 033242 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4517 033242 324 00 0 00 033243 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4518 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4519 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4520 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4521 033243 312 00 0 00 034414 CAME 0,[123456,,701234] ;PASS IF C(AC)=123456,,701234]
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 73-1
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0112
4522 STOP^
4523 033244 254 04 0 00 033245 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4524 033245 324 00 0 00 033246 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4525 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4526 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4527 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4528 033246 312 01 0 00 034424 CAME 1,[76543,,654321] ;PASS IF C(E) UNCHANGED
4529 STOP^
4530 033247 254 04 0 00 033250 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4531 033250 324 00 0 00 033251 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4532 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4533 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4534 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4535
4536 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 74
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0113
4537 ;THIS TEST VERIFIES THAT TRC COMPLEMENTS ALL BITS IN THE AC-RIGHT WHICH
4538 ;CORRESPOND TO 1'S IN E AND DOES NOT SKIP.
4539 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3.
4540 ;HENCE, THE RESULT IN THE AC SHOUHD BE 123456,,701237
4541
4542 033251 200 17 0 00 034414 C72500: MOVE 17,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
4543 033252 640 17 0 00 000003 TRC 17,3 ;*TRC SHOULD NOT SKIP AND
4544 ;PLACE 123456,,701237 INTO THE AC
4545 033253 334 00 0 00 000000 SKIPA ;PASS IF TRC DID NOT SKIP
4546 STOP^
4547 033254 254 04 0 00 033255 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4548 033255 324 00 0 00 033256 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4549 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4550 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4551 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4552 033256 312 17 0 00 034446 CAME 17,[123456,,701237] ;PASS IF C(AC)=123456,,701237
4553 STOP^
4554 033257 254 04 0 00 033260 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4555 033260 324 00 0 00 033261 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4556 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4557 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4558 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4559
4560 ;**********
4561
4562 ;THIS TEST VERIFIES THAT TRC COMPLEMENTS ALL BITS IN THE AC-RIGHT WHICH
4563 ;CORRESPOND TO 1'S IN E AND DOES NOT SKIP.
4564 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300.
4565 ;HENCE, THE RESULT IN THE AC SHOULD BE 123456,,701134
4566
4567 033261 200 16 0 00 034414 C72510: MOVE 16,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
4568 033262 640 16 0 00 000300 TRC 16,300 ;*TRC SHOULD NOT SKIP AND
4569 ;PLACE 123456,,701134 INTO THE AC
4570 033263 334 00 0 00 000000 SKIPA ;PASS IF TRC DID NOT SKIP
4571 STOP^
4572 033264 254 04 0 00 033265 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4573 033265 324 00 0 00 033266 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4574 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4575 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4576 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4577 033266 312 16 0 00 034447 CAME 16,[123456,,701134] ;PASS IF C(AC)=123456,,701134
4578 STOP^
4579 033267 254 04 0 00 033270 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4580 033270 324 00 0 00 033271 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4581 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4582 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4583 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4584
4585 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 75
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0114
4586 ;THIS TEST VERIFIES THAT TLC COMPLEMENTS ALL BITS IN THE AC-LEFT WHICH
4587 ;CORRESPOND TO 1'S IN E AND DOES NOT SKIP.
4588 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300.
4589 ;HENCE, ThE RESULT IN THE AC SHOULD BE 123756,,701234.
4590
4591 033271 200 15 0 00 034414 C72600: MOVE 15,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
4592 033272 641 15 0 00 000300 TLC 15,300 ;*TLC SHOULD NOT SKIP AND
4593 ;PLACE 123756,,701234 INTO THE AC
4594 033273 334 00 0 00 000000 SKIPA ;PASS IF TLC DID NOT SKIP
4595 STOP^
4596 033274 254 04 0 00 033275 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4597 033275 324 00 0 00 033276 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4598 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4599 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4600 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4601 033276 312 15 0 00 034450 CAME 15,[123756,,701234] ;PASS IF A(AC)=123756,,701234
4602 STOP^
4603 033277 254 04 0 00 033300 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4604 033300 324 00 0 00 033301 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4605 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4606 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4607 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4608
4609 ;**********
4610
4611 ;THIS TEST VERIFIES THAT TLC COMPLEMENTS ALL BITS IN THE AC-LEFT WHICH
4612 ;CORRESPOND TO 1'S IN E AND DOES NOT SKIP.
4613 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3.
4614 ;HENCE, THE RESULT IN THE AC SHOULD BE 123455,,701234.
4615
4616 033301 200 14 0 00 034414 C72610: MOVE 14,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
4617 033302 641 14 0 00 000003 TLC 14,3 ;*TLC SHOULD NOT SKIP AND
4618 ;PLACE 123455,,701234 INTO THE AC
4619 033303 334 00 0 00 000000 SKIPA ;PASS IF TLC DID NOT SKIP
4620 STOP^
4621 033304 254 04 0 00 033305 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4622 033305 324 00 0 00 033306 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4623 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4624 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4625 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4626 033306 312 14 0 00 034451 CAME 14,[123455,,701234] ;PASS IF C(AC)=123455,,701234
4627 STOP^
4628 033307 254 04 0 00 033310 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4629 033310 324 00 0 00 033311 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4630 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4631 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4632 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4633
4634 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 76
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0115
4635 ;THIS TEST VERIFIES THAT TRCE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
4636 ;IF AND ONLY IF ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO.
4637 ;THESE MASKED AC BITS ARE THEN COMPLEMENTED.
4638 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3.
4639 ;HENCE, TRCE SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION
4640 ;AND THE RESULT IN THE AC SHOULD BE 123456,,701237.
4641
4642 033311 200 13 0 00 034414 C72700: MOVE 13,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
4643 033312 642 13 0 00 000003 TRCE 13,3 ;*TRCE SHOULD SKIP AND
4644 ;PLACE 123456,,701237 INTO ThE AC
4645 STOP^
4646 033313 254 04 0 00 033314 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4647 033314 324 00 0 00 033315 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4648 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4649 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4650 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4651 033315 312 13 0 00 034446 CAME 13,[123456,,701237] ;PASS IF C(AC)=123456,,701237
4652 STOP^
4653 033316 254 04 0 00 033317 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4654 033317 324 00 0 00 033320 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4655 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4656 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4657 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4658
4659 ;**********
4660
4661 ;THIS TEST VERIFIES THAT TRCE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
4662 ;IF AND ONLY IF ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO.
4663 ;THESE MASKED AC BITS ARE THEN COMPLEMENTED.
4664 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300.
4665 ;HENCE, TRCE SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION
4666 ;AND THE RESULT IN THE AC SHOULD BE 123456,,701134
4667
4668 033320 200 12 0 00 034414 C72710: MOVE 12,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
4669 033321 642 12 0 00 000300 TRCE 12,300 ;*TRCE SHOULD NOT SKIP AND
4670 ;PLACE 123456,,701134 INTO THE AC
4671 033322 334 00 0 00 000000 SKIPA ;PASS IF TRCE DID NOT SKIP
4672 STOP^
4673 033323 254 04 0 00 033324 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4674 033324 324 00 0 00 033325 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4675 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4676 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4677 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4678 033325 312 12 0 00 034447 CAME 12,[123456,,701134] ;PASS IF C(AC)=123456,,701134
4679 STOP^
4680 033326 254 04 0 00 033327 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4681 033327 324 00 0 00 033330 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4682 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4683 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4684 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4685
4686 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 77
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0116
4687 ;THIS TEST VERIFIES THAT TLCE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
4688 ;IF AND ONLY IF ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO.
4689 ;THESE MASKED AC BITS ARE THEN COMPLEMENTED.
4690 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300.
4691 ;HENCE, TLCE SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION
4692 ;AND THE RESULT IN THE AC SHOULD BE 123756,,701234.
4693
4694 033330 200 11 0 00 034414 C73000: MOVE 11,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
4695 033331 643 11 0 00 000300 TLCE 11,300 ;*TLCE SHOULD SKIP AND
4696 ;PLACE 123756,,701234 INTO THE AC
4697 STOP^
4698 033332 254 04 0 00 033333 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4699 033333 324 00 0 00 033334 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4700 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4701 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4702 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4703 033334 312 11 0 00 034450 CAME 11,[123756,,701234] ;PASS IF C(AC)=123756,,701234
4704 STOP^
4705 033335 254 04 0 00 033336 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4706 033336 324 00 0 00 033337 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4707 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4708 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4709 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4710
4711 ;**********
4712
4713 ;THIS TEST VERIFIES THAT TLCE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
4714 ;IF AND ONLY IF ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO.
4715 ;THESE MASKED AC BITS ARE THEN COMPLEMENTED.
4716 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3.
4717 ;HENCE, TLCE SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION
4718 ;AND THE RESULT IN THE AC SHOULD BE 123455,,701234.
4719
4720 033337 200 10 0 00 034414 C73010: MOVE 10,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
4721 033340 643 10 0 00 000003 TLCE 10,3 ;*TLCE SHOULD NOT SKIP AND
4722 ;PLACE 123455,,701234 INTO THE AC
4723 033341 334 00 0 00 000000 SKIPA ;PASS IF TLCE DID NOT SKIP
4724 STOP^
4725 033342 254 04 0 00 033343 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4726 033343 324 00 0 00 033344 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4727 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4728 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4729 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4730 033344 312 10 0 00 034451 CAME 10,[123455,,701234] ;PASS IF C(AC)=123455,,701234]
4731 STOP^
4732 033345 254 04 0 00 033346 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4733 033346 324 00 0 00 033347 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4734 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4735 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4736 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4737
4738 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 78
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0117
4739 ;THIS TEST VERIFIES THAT TRCA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRUCTION
4740 ;AND COMPLEMENTS ALL BITS IN AC-RIGHT WHICH CORRESPOND TO 1'S IN E.
4741 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3.
4742 ;HENCE, TRCA SHOULD SKIP THE NEXT INSTRUCTION AND THE RESULT IN
4743 ;THE AC SHOULD BE 123456,,701237.
4744
4745 033347 200 07 0 00 034414 C73100: MOVE 7,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
4746 033350 644 07 0 00 000003 TRCA 7,3 ;*TRCA SHOULD SKIP AND
4747 ;PLACE 123456,,701237 INTO THE AC
4748 STOP^
4749 033351 254 04 0 00 033352 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4750 033352 324 00 0 00 033353 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4751 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4752 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4753 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4754 033353 312 07 0 00 034446 CAME 7,[123456,,701237] ;PASS IF C(AC)=123456,,701237
4755 STOP^
4756 033354 254 04 0 00 033355 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4757 033355 324 00 0 00 033356 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4758 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4759 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4760 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4761
4762 ;**********
4763
4764 ;THIS TEST VERIFIES THAT TRCA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRUCTION
4765 ;AND COMPLEMENTS ALL BITS IN AC-RIGHT WHICH CORRESPOND TO 1'S IN E
4766 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300
4767 ;HENCE, TRCA SHOULD SKIP THE NEXT INSTRUCTION AND THE RESULT IN
4768 ;THE AC SHOULD BE 123456,,701134
4769
4770 033356 200 06 0 00 034414 C73110: MOVE 6,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
4771 033357 644 06 0 00 000300 TRCA 6,300 ;*TRCA SHOULD SKIP AND
4772 ;PLACE 123456,,701134 INTO THE AC
4773 STOP^
4774 033360 254 04 0 00 033361 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4775 033361 324 00 0 00 033362 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4776 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4777 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4778 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4779 033362 312 06 0 00 034447 CAME 6,[123456,,701134] ;PASS IF C(AC)=123456,,701134
4780 STOP^
4781 033363 254 04 0 00 033364 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4782 033364 324 00 0 00 033365 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4783 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4784 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4785 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4786
4787 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 79
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0118
4788 ;THIS TEST VERIFIES THAT TLCA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRUCTION
4789 ;AND COMPLEMENTS ALL BITS IN AC-LEFT WHICH CORRESPOND TO 1'S IN E
4790 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3
4791 ;HENCE, TLCA SHOULD SKIP THE NEXT INSTRUCTION AND THE RESULT IN
4792 ;THE AC SHOULD 123456,,701234
4793
4794 033365 200 05 0 00 034414 C73200: MOVE 5,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
4795 033366 645 05 0 00 000003 TLCA 5,3 ;*TLCA SHOULD SKIP AND
4796 ;PLACE 12345,,701234 INTO THE AC
4797 STOP^
4798 033367 254 04 0 00 033370 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4799 033370 324 00 0 00 033371 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4800 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4801 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4802 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4803 033371 312 05 0 00 034451 CAME 5,[123455,,701234] ;PASS IF C(AC)=123455,,701234
4804 STOP^
4805 033372 254 04 0 00 033373 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4806 033373 324 00 0 00 033374 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4807 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4808 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4809 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4810
4811 ;**********
4812
4813 ;THIS TEST VERIFIES THAT TLCA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRUCTION
4814 ;AND COMPLEMENTS ALL BITS IN AC-LEFT WHICH CORRESPOND TO 1'S IN E
4815 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300
4816 ;HENCE, TLCA SHOULD SKIP THE NEXT INSTRUCTION AND THE RESULT IN
4817 ;THE AC SHOULD BE 123756,,701234
4818
4819 033374 200 04 0 00 034414 C73210: MOVE 4,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
4820 033375 645 04 0 00 000300 TLCA 4,300 ;*TLCA SHOULD SKIP AND
4821 ;PLACE 123756,,701234 INTO THE AC
4822 STOP^
4823 033376 254 04 0 00 033377 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4824 033377 324 00 0 00 033400 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4825 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4826 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4827 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4828 033400 312 04 0 00 034450 CAME 4,[123756,,701234] ;PASS IF C(AC)=123756,,701234
4829 STOP^
4830 033401 254 04 0 00 033402 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4831 033402 324 00 0 00 033403 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4832 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4833 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4834 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4835
4836 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 80
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0119
4837 ;THIS TEST VERIFIES THAT TRCN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
4838 ;IF AND ONLY IF NOT ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO.
4839 ;THESE MASKED AC BITS ARE THEN COMPLEMENTED
4840 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300
4841 ;HENCE, TRCN SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION
4842 ;AND RESULT IN THE AC SHOULD BE 123456,,701134
4843
4844 033403 200 03 0 00 034414 C73300: MOVE 3,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
4845 033404 646 03 0 00 000300 TRCN 3,300 ;*SHOULD SKIP AND
4846 ;PLACE 123456,,701134 INTO THE AC
4847 STOP^
4848 033405 254 04 0 00 033406 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4849 033406 324 00 0 00 033407 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4850 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4851 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4852 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4853 033407 312 03 0 00 034447 CAME 3,[123456,,701134] ;PASS IF C(AC)=123456,,701134
4854 STOP^
4855 033410 254 04 0 00 033411 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4856 033411 324 00 0 00 033412 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4857 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4858 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4859 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4860
4861 ;**********
4862
4863 ;THIS TEST VERIFIES THAT TRCN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
4864 ;IF AND ONLY IF NOT ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO.
4865 ;THESE MASKED AC BITS ARE THEN COMPLEMENTED
4866 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3
4867 ;HENCE, TRCN SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION
4868 ;AND THE RESULT IN THE AC SHOULD BE 123456,,701237
4869
4870 033412 200 02 0 00 034414 C73310: MOVE 2,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
4871 033413 646 02 0 00 000003 TRCN 2,3 ;*TRCN SHOULD NOT SKIP AND
4872 ;PLACE 123456,,701237 INTO THE AC
4873 033414 334 00 0 00 000000 SKIPA ;PASS IF TRCN DID NOT SKIP
4874 STOP^
4875 033415 254 04 0 00 033416 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4876 033416 324 00 0 00 033417 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4877 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4878 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4879 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4880 033417 312 02 0 00 034446 CAME 2,[123456,,701237] ;PASS IF C(AC)=123456,,701237
4881 STOP^
4882 033420 254 04 0 00 033421 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4883 033421 324 00 0 00 033422 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4884 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4885 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4886 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4887
4888 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 81
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0120
4889 ;THIS TEST VERIFIES THAT TLCN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
4890 ;IF AND ONLY IF NOT ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO.
4891 ;THESE MASKED AC BITS ARE THEN COMPLEMENTED
4892 ;IN THE CASE, C(AC)=123456,,701234 AND E=3
4893 ;HENCE, TLCN SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION
4894 ;AND THE RESULT IN THE AC SHOULD BE 123456,,701234
4895
4896 033422 200 01 0 00 034414 C73400: MOVE 1,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
4897 033423 647 01 0 00 000003 TLCN 1,3 ;*TLCN SHOULD SKIP AND
4898 ;PLACE 123455,701234 INTO THE AC
4899 STOP^
4900 033424 254 04 0 00 033425 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4901 033425 324 00 0 00 033426 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4902 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4903 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4904 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4905 033426 312 01 0 00 034451 CAME 1,[123455,,701234] ;PASS IF C(AC)=123455,,701234
4906 STOP^
4907 033427 254 04 0 00 033430 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4908 033430 324 00 0 00 033431 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4909 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4910 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4911 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4912
4913 ;**********
4914
4915 ;THIS TEST VERIFIES THAT TLCN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
4916 ;IF AND ONLY IF NOT ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZER.
4917 ;THESE MASKED AC BITS ARE THEN COMPLEMENTED
4918 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300
4919 ;HENCE, TLCN SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION
4920 ;AND THE RESULT IN THE AC SHOULD BE 123756,,701234
4921
4922 033431 200 00 0 00 034414 C73410: MOVE 0,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
4923 033432 647 00 0 00 000300 TLCN 0,300 ;*TLCN SHOULD NOT SKIP AND
4924 ;PLACE 123756,,701234 INTO THE AC
4925 033433 334 00 0 00 000000 SKIPA ;PASS IF TLCN DID NOT SKIP
4926 STOP^
4927 033434 254 04 0 00 033435 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4928 033435 324 00 0 00 033436 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4929 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4930 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4931 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4932 033436 312 00 0 00 034450 CAME 0,[123756,,701234] ;PASS IF C(AC)=123756,,701234
4933 STOP^
4934 033437 254 04 0 00 033440 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4935 033440 324 00 0 00 033441 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4936 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4937 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4938 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4939
4940 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 82
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0121
4941 ;THIS TEST VERIFIES THAT TSL COMPLEMENTS ALL BITS OF THE AC WHICH
4942 ;CORRESPOND TO 1'S IN C(E) WITH BOTH HALVES SWAPPED AND DOES
4943 ;NOT SKIP THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED
4944 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)6543,,654321
4945 ;HENCE, TSC SHOULD NOT SKIP AND C(AC) SHOULD BE -1,,-1
4946
4947 033441 200 17 0 00 034414 C73500: MOVE 17,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
4948 033442 200 00 0 00 034424 MOVE 0,[076543,,654321] ;PRELOAD E WITH 076543,,654321
4949 033443 651 17 0 00 000000 TSC 17,0 ;*TSC SHOULD NOT SKIP AND
4950 ;PLACE -1,,-1 INTO THE AC
4951 033444 334 00 0 00 000000 SKIPA ;PASS IF TSC DOES NOT SKIP
4952 STOP^
4953 033445 254 04 0 00 033446 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4954 033446 324 00 0 00 033447 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4955 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4956 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4957 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4958 033447 312 17 0 00 034301 CAME 17,[-1] ;PASS IF C(AC)=-1,,-1
4959 STOP^
4960 033450 254 04 0 00 033451 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4961 033451 324 00 0 00 033452 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4962 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4963 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4964 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4965 033452 312 00 0 00 034424 CAME 0,[076543,,654321] ;PASS IF C(E) UNCHANGED
4966 STOP^
4967 033453 254 04 0 00 033454 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4968 033454 324 00 0 00 033455 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4969 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4970 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4971 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4972
4973 ;**********
4974
4975 ;THIS TEST VERIFIES THAT TSC COMPLEMENTS ALL BITS OF THE AC WHICH
4976 ;CORRESPOND TO 1'S IN C(E) WITH BOTH HALVES SWAPPED AND DOES
4977 ;NOT SKIP THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED
4978 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=252525,,707070
4979 ;HENCE, TSC SHOULD NOT SKIP AND C(AC) SHOULD BE 624426,,553711
4980
4981 033455 200 16 0 00 034414 C73510: MOVE 16,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
4982 033456 200 17 0 00 034431 MOVE 17,[252525,,707070] ;PRELOAD E WITH 252525,,707070
4983 033457 651 16 0 00 000017 TSC 16,17 ;*TSC SHOULD NOT SKIP AND
4984 ;PLACE 624426,,553711 INTO THE AC
4985 033460 334 00 0 00 000000 SKIPA ;PASS IF TSC DOES NOT SKIP
4986 STOP^
4987 033461 254 04 0 00 033462 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4988 033462 324 00 0 00 033463 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
4989 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4990 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4991 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4992 033463 312 16 0 00 034452 CAME 16,[624426,,553711] ;PASS IF C(AC)=624426,,553711
4993 STOP^
4994 033464 254 04 0 00 033465 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4995 033465 324 00 0 00 033466 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 82-1
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0122
4996 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
4997 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
4998 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
4999 033466 312 17 0 00 034431 CAME 17,[252525,,707070] ;PASS IF C(E) UNCHANGED
5000 STOP^
5001 033467 254 04 0 00 033470 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5002 033470 324 00 0 00 033471 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5003 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5004 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5005 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5006
5007 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 83
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0123
5008 ;THIS TEST VERIFIES THAT TDCE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
5009 ;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN
5010 ;C(E) ARE ZERO. THESE MASKED
5011 ;AC BITS ARE THEN COMPLEMENTED
5012 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=654321,,076543
5013 ;HENCE, TDCE SHOULD SKIP AND THE RESULT IN AC
5014 ;SHOULD BE -1,,-1 C(E) IS NOT AFFECTED
5015
5016 033471 200 15 0 00 034414 C73600: MOVE 15,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
5017 033472 200 16 0 00 034433 MOVE 16,[654321,,076543] ;PRELOAD E WITH 654321,,076543
5018 033473 652 15 0 00 000016 TDCE 15,16 ;*TDCE SHOULD SKIP AND
5019 ;PLACE -1,,-1 INTO THE AC
5020 STOP^
5021 033474 254 04 0 00 033475 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5022 033475 324 00 0 00 033476 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5023 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5024 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5025 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5026 033476 312 15 0 00 034301 CAME 15,[-1] ;PASS IF C(AC)=-1,,-1
5027 STOP^
5028 033477 254 04 0 00 033500 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5029 033500 324 00 0 00 033501 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5030 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5031 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5032 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5033 033501 312 16 0 00 034433 CAME 16,[654321,,076543] ;PASS IF C(E) UNCHANGED
5034 STOP^
5035 033502 254 04 0 00 033503 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5036 033503 324 00 0 00 033504 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5037 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5038 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5039 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5040
5041 ;**********
5042
5043 ;THIS TEST VERIFIES THAT TDCE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
5044 ;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN
5045 ;C(E) ARE ZERO. THESE MASKED
5046 ;AC BITS ARE THEN COMPLEMENTED
5047 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E) 754321,,076543
5048 ;HENCE, TDCE SHOULD NOT SKIP AND THE RESULT IN AC
5049 ;SHOULD BE 677777,,-1 C(E) IS NOT AFFECTED.
5050
5051 033504 200 14 0 00 034414 C73610: MOVE 14,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
5052 033505 200 15 0 00 034434 MOVE 15,[754321,,076543] ;PRELOAD E WITH 754321,,076543
5053 033506 652 14 0 00 000015 TDCE 14,15 ;*TDCE SHOULD NOT SKIP AND
5054 ;PLACE 677777,,-1 INTO THE AC
5055 033507 334 00 0 00 000000 SKIPA ;PASS IF TDCE DOES NOT SKIP
5056 STOP^
5057 033510 254 04 0 00 033511 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5058 033511 324 00 0 00 033512 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5059 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5060 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5061 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5062 033512 312 14 0 00 034453 CAME 14,[677777,,-1] ;PASS IF C(AC)=677777,,-1
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 83-1
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0124
5063 STOP^
5064 033513 254 04 0 00 033514 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5065 033514 324 00 0 00 033515 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5066 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5067 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5068 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5069 033515 312 15 0 00 034434 CAME 15,[754321,,076543] ;PASS IF C(E) UNCHANGED
5070 STOP^
5071 033516 254 04 0 00 033517 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5072 033517 324 00 0 00 033520 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5073 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5074 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5075 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5076
5077 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 84
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0125
5078 ;THIS TEST VERIFIES THAT TSCE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
5079 ;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN
5080 ;C(E) WITH BOTH HALVES SWAPPED ARE ZERO. THESE MASKED
5081 ;AC BITS ARE THEN COMPLEMENTED
5082 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321
5083 ;HENCE, TSCE SHOULD SKIP AND THE RESULT IN THE AC
5084 ;SHOULD BE -1,,-1 C(E) IS NOT AFFECTED
5085
5086 033520 200 13 0 00 034414 C73700: MOVE 13,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
5087 033521 200 14 0 00 034424 MOVE 14,[76543,,654321] ;PRELOAD E WITH 076543,,654321
5088 033522 653 13 0 00 000014 TSCE 13,14 ;*TSCE SHOULD SKIP AND
5089 ;PLACE -1,,-1 INTO THE AC
5090 STOP^
5091 033523 254 04 0 00 033524 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5092 033524 324 00 0 00 033525 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5093 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5094 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5095 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5096 033525 312 13 0 00 034301 CAME 13,[-1] ;PASS IF C(E) UNCHANGED
5097 STOP^
5098 033526 254 04 0 00 033527 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5099 033527 324 00 0 00 033530 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5100 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5101 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5102 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5103
5104 ;**********
5105
5106 ;THIS TEST VERIFIES THAT TSCE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
5107 ;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN
5108 ;C(E) WITH BOTH HALVES SWAPPED ARE ZERO. THESE MASKED
5109 ;AC BITS ARE THEN COMPLEMENTED
5110 ;IN THIS CASE, C(AC)=123456,701234 AND C(E)=076543,,657321
5111 ;HENCE, TSCE SHOULD NOT SKIP AND THE RESULT IN THE AC
5112 ;SHOULD BE 774777,,-1. C(E) IS NOT AFFECTED.
5113
5114 033530 200 12 0 00 034414 C73710: MOVE 12,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
5115 033531 200 13 0 00 034436 MOVE 13,[76543,,657321] ;PRELOAD E WITH 076543,,657321
5116 033532 653 12 0 00 000013 TSCE 12,13 ;*TSCE HOULD NOT SKIP AND
5117 ;PLACE 774777,,-1 INTO THE AC
5118 033533 334 00 0 00 000000 SKIPA ;PASS IF TSCE DOES NOT SKIP
5119 STOP^
5120 033534 254 04 0 00 033535 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5121 033535 324 00 0 00 033536 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5122 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5123 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5124 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5125 033536 312 12 0 00 034454 CAME 12,[774777,,-1] ;PASS IF C(AC)=774777,,-1
5126 STOP^
5127 033537 254 04 0 00 033540 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5128 033540 324 00 0 00 033541 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5129 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5130 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5131 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5132 033541 312 13 0 00 034436 CAME 13,[76543,,657321] ;PASS IF C(E) UNCHANGED
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 84-1
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0126
5133 STOP^
5134 033542 254 04 0 00 033543 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5135 033543 324 00 0 00 033544 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5136 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5137 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5138 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5139
5140 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 85
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0127
5141 ;THIS TEST VERIFIES THAT TDCA COMPLEMENTS ALL BITS OF THE AC WHICH
5142 ;CORRESPOND TO 1'S IN C(E) AND ALWAYS
5143 ;SKIPS THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED
5144 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=654321,,076543
5145 ;HENCE, TDCA SHOULD ALWAYS SKIP AND C(AC) SHOULD BE -1,,-1
5146
5147 033544 200 11 0 00 034414 C74000: MOVE 11,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
5148 033545 200 12 0 00 034433 MOVE 12,[654321,,076543] ;PRELOAD E WITH 654321,,076543
5149 033546 654 11 0 00 000012 TDCA 11,12 ;*TDCA SHOULD SKIP AND
5150 ;PLACE -1,,-1 INTO THE AC
5151 STOP^
5152 033547 254 04 0 00 033550 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5153 033550 324 00 0 00 033551 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5154 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5155 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5156 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5157 033551 312 11 0 00 034301 CAME 11,[-1] ;PASS IF C(AC)=-1,,-1
5158 STOP^
5159 033552 254 04 0 00 033553 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5160 033553 324 00 0 00 033554 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5161 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5162 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5163 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5164 033554 312 12 0 00 034433 CAME 12,[654321,,76543] ;PASS IF C(E) UNCHANGED
5165 STOP^
5166 033555 254 04 0 00 033556 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5167 033556 324 00 0 00 033557 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5168 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5169 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5170 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5171
5172 ;**********
5173
5174 ;THIS TEST VERIFIES THAT TDCA COMPLEMENTS ALL BITS OF THE AC WHICH
5175 ;CORRESPOND TO 1'S IN C(E) AND SLWAYS
5176 ;SKIPS THE NEXT INSTRUCTION C(E) IS NOT AFFECTED
5177 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=252525,,707070
5178 ;HENCE, TDCA SHOULD ALWAYS SKIP AND C(AC) SHOULD BE 371173,,006244
5179
5180 033557 200 10 0 00 034414 C74100: MOVE 10,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
5181 033560 200 11 0 00 034431 MOVE 11,[252525,,707070] ;PRELOAD E WITH 252525,,707070
5182 033561 654 10 0 00 000011 TDCA 10,11 ;*TDCA SHOULD SKP AND
5183 ;PLACE 371173,,006244 INTO THE AC
5184 STOP^
5185 033562 254 04 0 00 033563 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5186 033563 324 00 0 00 033564 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5187 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5188 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5189 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5190 033564 312 10 0 00 034455 CAME 10,[371173,,6244] ;PASS IF C(AC)=371173,,006244
5191 STOP^
5192 033565 254 04 0 00 033566 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5193 033566 324 00 0 00 033567 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5194 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5195 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 85-1
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0128
5196 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5197 033567 312 11 0 00 034431 CAME 11,[252525,,707070] ;PASS IF C(E) UNCHANGED
5198 STOP^
5199 033570 254 04 0 00 033571 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5200 033571 324 00 0 00 033572 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5201 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5202 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5203 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5204
5205 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 86
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0129
5206 ;THIS TEST VERIFIES THAT TSCA COMPLEMENTS ALL BITS OF THE AC WHICH
5207 ;CORRESPOND TO 1'S IN C(E) WITH BOTH HALVES SWAPPED AND ALWAYS
5208 ;SKIPS THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED
5209 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321
5210 ;HENCE, TSCA SHOULD ALWAYS SKIP AND C(AC) SHOULD BE -1,,-1
5211
5212 033572 200 07 0 00 034414 C74200: MOVE 7,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
5213 033573 200 10 0 00 034424 MOVE 10,[076543,,654321] ;PRELOAD E WITH 076543,,654321
5214 033574 655 07 0 00 000010 TSCA 7,10 ;*TSCA CHOULD SKIP AND
5215 ;PLACE -1,,-1 INTO THE AC
5216 STOP^
5217 033575 254 04 0 00 033576 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5218 033576 324 00 0 00 033577 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5219 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5220 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5221 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5222 033577 312 07 0 00 034301 CAME 7,[-1] ;PASS IF C(AC)=-1,,-1
5223 STOP^
5224 033600 254 04 0 00 033601 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5225 033601 324 00 0 00 033602 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5226 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5227 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5228 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5229 033602 312 10 0 00 034424 CAME 10,[076543,,654321] ;PASS IF C(E) UNCHANGED
5230 STOP^
5231 033603 254 04 0 00 033604 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5232 033604 324 00 0 00 033605 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5233 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5234 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5235 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5236
5237 ;**********
5238
5239 ;THIS TEST VERIFIES THAT TSCA COMPLEMENTS ALL BITS OF THE AC WHICH
5240 ;CORRESPOND TO 1'S IN C(E) WITH BOTH HALVES SWAPPED AND ALWAYS
5241 ;SKIPS THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED
5242 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=701234,,123456
5243 ;HENCE, TSCA SHOULD ALWAYS SKIP AND C(AC) SHOULD BE 0
5244
5245 033605 200 06 0 00 034414 C74210: MOVE 6,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
5246 033606 200 07 0 00 034441 MOVE 7,[701234,,123456] ;PRELOAD E WITH 701234,,123456
5247 033607 655 06 0 00 000007 TSCA 6,7 ;*TSCA SHOULD SKIP AND
5248 ;PLACE 0 INTO THE AC
5249 STOP^
5250 033610 254 04 0 00 033611 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5251 033611 324 00 0 00 033612 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5252 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5253 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5254 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5255 033612 312 06 0 00 034407 CAME 6,[0] ;PASS IF C(AC)=0
5256 STOP^
5257 033613 254 04 0 00 033614 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5258 033614 324 00 0 00 033615 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5259 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5260 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 86-1
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0130
5261 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5262 033615 312 07 0 00 034441 CAME 7,[701234,,123456] ;PASS IF C(E) UNCHANGED
5263 STOP^
5264 033616 254 04 0 00 033617 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5265 033617 324 00 0 00 033620 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5266 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5267 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5268 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5269
5270 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 87
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0131
5271 ;THIS TEST VERIFIES THAT TDCN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
5272 ;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN
5273 ;C(E) ARE ZERO. THESE MASKED
5274 ;AC BITS ARE THEN COMPLEMENTED
5275 ;IN THE CASE, C(AC)=123456,,701234 AND C(E)=654321,,076547
5276 ;HENCE, TDCN SHOULD SKIP AND THE RESULT IN AC
5277 ;SHOULD BE -1,,777773 C(E) IS NOT AFFECTED
5278
5279 033620 200 05 0 00 034414 C74300: MOVE 5,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
5280 033621 200 06 0 00 034442 MOVE 6,[654321,,76547] ;PRELOAD E WITH 654321,,076547
5281 033622 656 05 0 00 000006 TDCN 5,6 ;*TDCN SHOULD SKIP AND
5282 ;PLACE -1,,777773 INTO THE AC
5283 STOP^
5284 033623 254 04 0 00 033624 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5285 033624 324 00 0 00 033625 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5286 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5287 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5288 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5289 033625 312 05 0 00 034456 CAME 5,[-1,,777773] ;PASS IF C(AC)=-1,777773
5290 STOP^
5291 033626 254 04 0 00 033627 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5292 033627 324 00 0 00 033630 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5293 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5294 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5295 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5296 033630 312 06 0 00 034442 CAME 6,[654321,,76547] ;PASS IF C(E) UNCHANGED
5297 STOP^
5298 033631 254 04 0 00 033632 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5299 033632 324 00 0 00 033633 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5300 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5301 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5302 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5303
5304 ;**********
5305
5306 ;THIS TEST VERIFIES THAT TDCN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
5307 ;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN
5308 ;C(E) ARE ZERO. THESE MASKED
5309 ;AC BITS ARE THEN COMPLEMENTED
5310 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=654321,,076543
5311 ;HENCE, TDCN SHOULD NOT SKIP AND THE REUSLT IN AC
5312 ;SHOULD BE -1,,-1 C(E) IS NOT AFFECTED
5313
5314 033633 200 04 0 00 034414 C74310: MOVE 4,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
5315 033634 200 05 0 00 034433 MOVE 5,[654321,,76543] ;PRELOAD E WITH 654321,,076543
5316 033635 656 04 0 00 000005 TDCN 4,5 ;*TDCN SHOULD NOT SKIP AND
5317 ;PLACE -1,,-1 INTO THE AC
5318 033636 334 00 0 00 000000 SKIPA ;PASS IF TDCN DOES NOT SKIP
5319 STOP^
5320 033637 254 04 0 00 033640 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5321 033640 324 00 0 00 033641 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5322 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5323 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5324 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5325 033641 312 04 0 00 034301 CAME 4,[-1] ;PASS IF C(AC)=-1,,-1
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 87-1
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0132
5326 STOP^
5327 033642 254 04 0 00 033643 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5328 033643 324 00 0 00 033644 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5329 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5330 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5331 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5332 033644 312 05 0 00 034433 CAME 5,[654321,,76543] ;PASS IF C(E) UNCHANGED
5333 STOP^
5334 033645 254 04 0 00 033646 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5335 033646 324 00 0 00 033647 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5336 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5337 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5338 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5339
5340 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 88
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0133
5341 ;THIS TEST VERIFIES THAT TSCN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
5342 ;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN
5343 ;C(E) WITH BOTH HALVES SWAPPED ARE ZERO. THESE MASKED
5344 ;AC BITS ARE THEN COMPLEMENTED
5345 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=077543,,654321
5346 ;HENCE, TSCN SHOULD SKIP AND THE RESULT IN AC
5347 ;SHOULD BE -1,,776777. C(E) IS NOT AFFECTED
5348
5349 033647 200 03 0 00 034414 C74400: MOVE 3,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
5350 033650 200 04 0 00 034444 MOVE 4,[77543,,654321] ;PRELOAD E WITH 077543,,654321
5351 033651 657 03 0 00 000004 TSCN 3,4 ;*TSCN SHOULD SKIP AND
5352 ;PLACE -1,,776777 INTO THE AC
5353 STOP^
5354 033652 254 04 0 00 033653 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5355 033653 324 00 0 00 033654 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5356 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5357 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5358 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5359 033654 312 03 0 00 034457 CAME 3,[-1,,776777] ;PASS IF C(AC)=-1,776777
5360 STOP^
5361 033655 254 04 0 00 033656 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5362 033656 324 00 0 00 033657 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5363 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5364 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5365 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5366 033657 312 04 0 00 034444 CAME 4,[77543,,654321] ;PASS IF C(E) UNCHANGED
5367 STOP^
5368 033660 254 04 0 00 033661 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5369 033661 324 00 0 00 033662 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5370 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5371 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5372 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5373
5374 ;**********
5375
5376 ;THIS TEST VERIFIES THAT TSCN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
5377 ;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN
5378 ;C(E) WITH BOTH HALVES SWAPPED ARE ZERO. THESE MASKED
5379 ;AC BITS ARE THEN COMPLEMENTD
5380 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321
5381 ;HENCE, TSCN SHOULD NOT SKIP AND THE RESULT IN AC
5382 ;SHOULD BE -1,,-1. C(E) IS NOT AFFECTED.
5383
5384 033662 200 02 0 00 034414 C74410: MOVE 2,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
5385 033663 200 03 0 00 034424 MOVE 3,[76543,,654321] ;PRELOAD E WITH 076543,,654321
5386 033664 657 02 0 00 000003 TSCN 2,3 ;*TSCN SHOULD NOT SKIP AND
5387 ;PLACE -1,,-1 INTO THE AC
5388 033665 334 00 0 00 000000 SKIPA ;PASS IF TSCN DOES NOT SKIP
5389 STOP^
5390 033666 254 04 0 00 033667 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5391 033667 324 00 0 00 033670 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5392 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5393 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5394 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5395 033670 312 02 0 00 034301 CAME 2,[-1] ;PASS IF C(AC)=-1,,-1
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 88-1
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0134
5396 STOP^
5397 033671 254 04 0 00 033672 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5398 033672 324 00 0 00 033673 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5399 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5400 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5401 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5402 033673 312 03 0 00 034424 CAME 3,[76543,,654321] ;PASS IF C(E) UNCHANGED
5403 STOP^
5404 033674 254 04 0 00 033675 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5405 033675 324 00 0 00 033676 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5406 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5407 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5408 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5409
5410 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 89
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0135
5411 ;THIS TEST VERIFIES THAT TRO CHANGES ALL BITS IN THE AC-RIGHT WHICH
5412 ;CORRESPOND TO 1'S IN E TO ONES AND DOES ANT SKIP
5413 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3
5414 ;HENCE, THE RESULT IN THE AC SHOULD BE 123456,,701237
5415
5416 033676 200 01 0 00 034414 C74500: MOVE 1,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
5417 033677 660 01 0 00 000003 TRO 1,3 ;*TRO SHOULD NOT SKIP AND
5418 ;PLACE 123456,,701237 INTO THE AC
5419 033700 334 00 0 00 000000 SKIPA ;PASS IF TRO DID NOT SKIP
5420 STOP^
5421 033701 254 04 0 00 033702 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5422 033702 324 00 0 00 033703 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5423 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5424 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5425 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5426 033703 312 01 0 00 034446 CAME 1,[123456,,701237] ;PASS IF C(AC)=123456,,701237
5427 STOP^
5428 033704 254 04 0 00 033705 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5429 033705 324 00 0 00 033706 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5430 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5431 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5432 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5433
5434 ;**********
5435
5436 ;THIS TEST VERIFIES THAT TRO CHANGES ALL BITS IN THE AC-RIGHT WHICH
5437 ;CORRESPOND TO 1'S IN E TO ONES AND DOES NOT SKIP
5438 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300
5439 ;HENCE, THE RESULT IN THE AC SHOULD BE 123456,,701224
5440
5441 033706 200 00 0 00 034414 C74510: MOVE 0,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
5442 033707 660 00 0 00 000300 TRO 0,300 ;*TRO SHOULD NOT SKIP AND
5443 ;PLACE 123456,,701334 INTO THE AC
5444 033710 334 00 0 00 000000 SKIPA ;PASS IF TRO DID NOT SKIP
5445 STOP^
5446 033711 254 04 0 00 033712 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5447 033712 324 00 0 00 033713 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5448 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5449 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5450 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5451 033713 312 00 0 00 034460 CAME 0,[123456,,701334] ;PASS IF C(AC)=123456,,701334
5452 STOP^
5453 033714 254 04 0 00 033715 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5454 033715 324 00 0 00 033716 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5455 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5456 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5457 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5458
5459 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 90
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0136
5460 ;THIS TEST VERIFIES THAT TLO CHANGES ALL BITS IN THE AC-LEFT WHICH
5461 ;CORRESPOND TO 1'S IN E TO ONES AND DOES NOT SKIP
5462 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300
5463 ;HENCE, THE RESULT IN THE AC SHOULD BE 123756,,701234
5464
5465 033716 200 17 0 00 034414 C74600: MOVE 17,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
5466 033717 661 17 0 00 000300 TLO 17,300 ;*TLO SHOULD NOT SKIP AND
5467 ;PLACE 123756,,701234 INTO THE AC
5468 033720 334 00 0 00 000000 SKIPA ;PASS IF TLO DID NOT SKIP
5469 STOP^
5470 033721 254 04 0 00 033722 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5471 033722 324 00 0 00 033723 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5472 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5473 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5474 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5475 033723 312 17 0 00 034450 CAME 17,[123756,,701234] ;PASS IF C(AC)=123456,,701234
5476 STOP^
5477 033724 254 04 0 00 033725 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5478 033725 324 00 0 00 033726 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5479 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5480 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5481 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5482
5483 ;**********
5484
5485 ;THIS TEST VERIFIES THAT TLO CHANGES ALL BITS IN THE AC-LEFT WHICH
5486 ;CORRESPOND TO 1'S IN E TO ONES AND DOES NOT SKIP
5487 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3
5488 ;HENCE, THE RESULT IN THE AC SHOULD BE 123457,,701234
5489
5490 033726 200 16 0 00 034461 C74610: MOVE 16,[123456,,70234] ;PRELOAD AC WITH 123456,,701234
5491 033727 661 16 0 00 000003 TLO 16,3 ;*TLO SHOULD NOT SKIP AND
5492 ;PLACE 123457,,701234 INTO THE AC
5493 033730 334 00 0 00 000000 SKIPA ;PASS IF DID NOT SKIP
5494 STOP^
5495 033731 254 04 0 00 033732 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5496 033732 324 00 0 00 033733 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5497 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5498 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5499 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5500 033733 312 16 0 00 034462 CAME 16,[123457,,70234] ;PASS IF C(AC)=123457,,701234
5501 STOP^
5502 033734 254 04 0 00 033735 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5503 033735 324 00 0 00 033736 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5504 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5505 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5506 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5507
5508 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 91
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0137
5509 ;THIS TEST VERIFIES THAT TROE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
5510 ;IF AND ONLY IF ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO.
5511 ;THESE MASKED AC BITS ARE THEN CHANGED TO ONES
5512 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3
5513 ;HENCE, TROE SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION
5514 ;AND RESULT IN THE AC SHOUD BE 123456,,701237
5515
5516 033736 200 15 0 00 034414 C74700: MOVE 15,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
5517 033737 662 15 0 00 000003 TROE 15,3 ;TROE SHOULD SKIP AND
5518 ;PLACE 123456,,701237 IN TO THE AC
5519 STOP^
5520 033740 254 04 0 00 033741 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5521 033741 324 00 0 00 033742 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5522 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5523 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5524 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5525 033742 312 15 0 00 034446 CAME 15,[123456,,701237] ;PASS IF C(AC)=123456,,701237
5526 STOP^
5527 033743 254 04 0 00 033744 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5528 033744 324 00 0 00 033745 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5529 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5530 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5531 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5532
5533 ;**********
5534
5535 ;THIS TEST VERIFIES THAT TROE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
5536 ;IF AND ONLY IF ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO.
5537 ;THESE MASKED AC BITS ARE THEN CHANGED TO ONES
5538 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300
5539 ;HENCE, TROE SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION
5540 ;AND THE RESULT IN THE AC SHOULD BE 123456,,701334
5541
5542 033745 200 14 0 00 034414 C74710: MOVE 14,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
5543 033746 662 14 0 00 000300 TROE 14,300 ;*TROE SHOULD NOT SKIP AND
5544 ;PLACE 123456,,701224 INTO THE AC
5545 033747 334 00 0 00 000000 SKIPA ;PASS IF DID NOT SKIP
5546 STOP^
5547 033750 254 04 0 00 033751 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5548 033751 324 00 0 00 033752 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5549 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5550 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5551 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5552 033752 312 14 0 00 034460 CAME 14,[123456,,701334] ;PASS IF C(AC)=123456,,701334
5553 STOP^
5554 033753 254 04 0 00 033754 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5555 033754 324 00 0 00 033755 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5556 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5557 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5558 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5559
5560 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 92
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0138
5561 ;THIS TEST VERIFIES THAT TLOE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
5562 ;IF AND ONLY IF ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO.
5563 ;THESE MASKED AC BITS ARE TEN CHANGED TO ONES
5564 ;IN THES CASE, C(AC)=123456,,701234 AND E=300
5565 ;HENCE, TLOE SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION
5566 ;AND THE RESULT IN THE AC SHOULD BE 123756,,701234
5567
5568 033755 200 13 0 00 034414 C75000: MOVE 13,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
5569 033756 663 13 0 00 000300 TLOE 13,300 ;*TLOE SOULD SKIP AND
5570 ;PLAND 123756,,701234 INTO THE AC
5571 STOP^
5572 033757 254 04 0 00 033760 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5573 033760 324 00 0 00 033761 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5574 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5575 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5576 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5577 033761 312 13 0 00 034450 CAME 13,[123756,,701234] ;PASS IF C(AC)=123456,,701234
5578 STOP^
5579 033762 254 04 0 00 033763 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5580 033763 324 00 0 00 033764 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5581 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5582 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5583 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5584
5585 ;********
5586
5587 ;THIS TEST VERIFIES THAT TLOE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
5588 ;IF AND ONLY IF ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO.
5589 ;THESE MASKED AC BITS ARE THEN CHANGED TO ONES
5590 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3
5591 ;HENCE, TLOE SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION
5592 ;AND THE RESULT IN THE AC SHOULD BE 123457,,701234
5593
5594 033764 200 12 0 00 034414 C75010: MOVE 12,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
5595 033765 663 12 0 00 000003 TLOE 12,3 ;*TLOE SHOULD NOT SKIP AND
5596 ;PLACE 123457,,701234 INTO THE AC
5597 033766 334 00 0 00 000000 SKIPA ;PASS IF TLOE DID NOT SKIP
5598 STOP^
5599 033767 254 04 0 00 033770 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5600 033770 324 00 0 00 033771 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5601 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5602 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5603 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5604 033771 312 12 0 00 034463 CAME 12,[123457,,701234] ;PASS IF C(AC)=123457,,701234
5605 STOP^
5606 033772 254 04 0 00 033773 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5607 033773 324 00 0 00 033774 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5608 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5609 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5610 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5611
5612 ;*******
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 93
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0139
5613 ;THIS TEST VERIFIES THAT TROA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTUCTION
5614 ;AND CHANGES ALL BITS IN AC-RIGHT WHICH CORRESPOND TO 1'S IN E TO ONES
5615 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3
5616 ;HENCE, TROA SHOULD SKIP THE NEXT INSTRUCTION AND THE RESULT IN
5617 ;THE AC SHOULD BE 123456,,701237
5618
5619 033774 200 11 0 00 034414 C75100: MOVE 11,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
5620 033775 664 11 0 00 000003 TROA 11,3 ;*TROA SHOULD SKIP AND
5621 ;PLACE 123456,,701237
5622 STOP^
5623 033776 254 04 0 00 033777 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5624 033777 324 00 0 00 034000 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5625 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5626 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5627 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5628 034000 312 11 0 00 034446 CAME 11,[123456,,701237] ;PASS IF C(AC)=123456,,701237
5629 STOP^
5630 034001 254 04 0 00 034002 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5631 034002 324 00 0 00 034003 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5632 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5633 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5634 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5635
5636 ;**********
5637
5638 ;THIS TEST VERIFIES THAT TROA ALWAYS SKIPS THE NEXT SEQUENTAIL INSTRUCTION
5639 ;AND CHANGES ALL BITS IN AC-RIGHT WHICH CORRESPOND TO 1'S IN E TO ONES
5640 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300
5641 ;HENCE, TROA SHOULD SKIP THE NEXT INSTRUCTION AND THE RESULT IN
5642 ;THE AC SHOULD BE 123456,,701334
5643
5644 034003 200 10 0 00 034414 C75110: MOVE 10,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
5645 034004 664 10 0 00 000300 TROA 10,300 ;*TROA SHOULD SKIP AND
5646 ;PLACE 123456,,701334 INTO THE AC
5647 STOP^
5648 034005 254 04 0 00 034006 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5649 034006 324 00 0 00 034007 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5650 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5651 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5652 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5653 034007 312 10 0 00 034460 CAME 10,[123456,,701334] ;PASS IF C (AC)=123456,,701334
5654 STOP^
5655 034010 254 04 0 00 034011 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5656 034011 324 00 0 00 034012 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5657 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5658 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5659 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5660
5661 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 94
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0140
5662 ;THIS TEST VERIFIES THAT TLOA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTUCTION
5663 ;AND CHANGES ALL BITS IN AC-LEFT WHICH CORRESPOND 1'S IN E TO ONES
5664 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3
5665 ;HENCE, TLOA SHOULD SKIP THE NEXT INSTRUCTION AND RESULT IN
5666 ;THE AC SHOULD BE 123457,,701234
5667
5668 034012 200 07 0 00 034414 C75200: MOVE 7,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
5669 034013 665 07 0 00 000003 TLOA 7,3 ;*TLOA SHOULD SKIP AND
5670 ;PLACE 123457,,701234 INTO THE AC
5671 STOP^
5672 034014 254 04 0 00 034015 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5673 034015 324 00 0 00 034016 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5674 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5675 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5676 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5677 034016 312 07 0 00 034463 CAME 7,[123457,,701234] ;PASS IF C(AC)=123457,,701234]
5678 STOP^
5679 034017 254 04 0 00 034020 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5680 034020 324 00 0 00 034021 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5681 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5682 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5683 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5684
5685 ;**********
5686
5687 ;THIS TEST VERIFIES THAT TLOA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRUCTION
5688 ;AND CHANGES ALL BITS IN AC-LEFT WHICH CORRESPOND TO 1'S IN E TO ONES
5689 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300
5690 ;HENCE, TLOA SHOULD SKIP THE NEXT INSTRUCTION AND THE RESULT IN
5691 ;THE AC SHOULD BE 123756,,701234
5692
5693 034021 200 06 0 00 034414 C75210: MOVE 6,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
5694 034022 665 06 0 00 000300 TLOA 6,300 ;*TLOA SHOULD SKIP AND
5695 ;PLACE 123756,,701234 INTO THE AC
5696 STOP^
5697 034023 254 04 0 00 034024 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5698 034024 324 00 0 00 034025 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5699 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5700 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5701 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5702 034025 312 06 0 00 034450 CAME 6,[123756,,701234] ;PASS IF C(AC)=123756,,701234
5703 STOP^
5704 034026 254 04 0 00 034027 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5705 034027 324 00 0 00 034030 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5706 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5707 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5708 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5709
5710 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 95
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0141
5711 ;THIS TEST VERIFIES THAT TRON SKIPS THE NEXT SEQUENTIAL INSTRUCTION
5712 ;IF AND ONLY IF NOT ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO.
5713 ;THESE MASKED AC BITS ARE THEN CHANGED TO ONES
5714 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300
5715 ;HENCE, TRON SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION
5716 ;AND THE RESULT IN THE AC SHOULD BE 123456,,701334
5717
5718 034030 200 05 0 00 034414 C75300: MOVE 5,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
5719 034031 666 05 0 00 000300 TRON 5,300 ;*TRON SHOULD SKIP AND
5720 ;PLACE 123456,,701334 INTO THE AC
5721 STOP^
5722 034032 254 04 0 00 034033 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5723 034033 324 00 0 00 034034 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5724 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5725 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5726 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5727 034034 312 05 0 00 034460 CAME 5,[123456,,701334] ;PASS IF C(AC)=123456,,701334
5728 STOP^
5729 034035 254 04 0 00 034036 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5730 034036 324 00 0 00 034037 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5731 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5732 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5733 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5734
5735 ;**********
5736
5737 ;THIS TEST VERIFIES THAT TRON SKIPS THE NEXT SEQUENTIAL INSTUCTION
5738 ;IF AND ONLY IF NOT ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO.
5739 ;THESE MASKED AC BITS ARE THEN CHANGED TO ONES
5740 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3
5741 ;HENCE, TRON SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION
5742 ;AND THE RESULT IN THE AC SHOULD BE 123456,,701237
5743
5744 034037 200 04 0 00 034414 C75310: MOVE 4,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
5745 034040 666 04 0 00 000003 TRON 4,3 ;*TRON SHOULD NOT SKIP AND
5746 ;PLACE 123456,,701237 INTO THE AC
5747 034041 334 00 0 00 000000 SKIPA ;PASS IF TRON DID NOT SKIP
5748 STOP^
5749 034042 254 04 0 00 034043 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5750 034043 324 00 0 00 034044 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5751 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5752 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5753 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5754 034044 312 04 0 00 034446 CAME 4,[123456,,701237] ;PASS IF C(AC)=123456,701237
5755 STOP^
5756 034045 254 04 0 00 034046 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5757 034046 324 00 0 00 034047 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5758 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5759 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5760 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5761
5762 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 96
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0142
5763 ;THIS TEST VERIFIES THAT TLON SKIPS THE NEXT SEQUENTIAL INSTRUCTION
5764 ;IF AND ONLY IF NOT ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO.
5765 ;THESE MASKED AC BITS ARE THEN CHANGED TO ONES
5766 ;IN THIS CASE, C(AC)-123456,,701234 AND E=3
5767 ;HENCE, TLON SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION
5768 ;AND THE RESULT IN THE AC SHOULD BE 123457,,701234
5769
5770 034047 200 03 0 00 034414 C75400: MOVE 3,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
5771 034050 667 03 0 00 000003 TLON 3,3 ;*TLON SHOULD SKIP AND
5772 ;PLACE 123457,,701234 INTO THE AC
5773 STOP^
5774 034051 254 04 0 00 034052 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5775 034052 324 00 0 00 034053 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5776 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5777 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5778 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5779 034053 312 03 0 00 034463 CAME 3,[123457,,701234] ;PASS IF C(AC)=123457,,701234
5780 STOP^
5781 034054 254 04 0 00 034055 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5782 034055 324 00 0 00 034056 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5783 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5784 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5785 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5786
5787 ;*******
5788
5789 ;THIS TEST VERIFIES THAT TLON SKIPS THE NEXT SEQUENTIAL INSTRUCTION
5790 ;IF AND ONLY IF NOT ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO.
5791 ;THESE MASKED AC BITS ARE THEN CHANGED TO ONES
5792 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300
5793 ;HENCE, TLON SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION
5794 ;AND THE RESULT IN THE AC SHOULD BE 123756,,701234
5795
5796 034056 200 02 0 00 034414 C75410: MOVE 2,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
5797 034057 667 02 0 00 000300 TLON 2,300 ;*TLON SHOULD NOT SKIP AND
5798 ;PLACE 123756,,701234 INTO THE AC
5799 034060 334 00 0 00 000000 SKIPA ;PASS IF TLON DID NOT SKIP
5800 STOP^
5801 034061 254 04 0 00 034062 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5802 034062 324 00 0 00 034063 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5803 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5804 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5805 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5806 034063 312 02 0 00 034450 CAME 2,[123756,,701234] ;PASS IF C(AC)=123756,,701234
5807 STOP^
5808 034064 254 04 0 00 034065 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5809 034065 324 00 0 00 034066 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5810 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5811 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5812 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5813
5814 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 97
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0143
5815 ;THIS TEST VERIFIES THAT TDOE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
5816 ;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN
5817 ;C(E)ARE ZERO. THESE MASKED
5818 ;AC BITS ARE THEN CHANGED TO ONES
5819 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=654321,,076543
5820 ;HENCE, TDOE SHOULD SKIP AND THE RESULT IN AC
5821 ;SHOULD BE -1,,-1 C(E) IS NOT AFFECTED
5822
5823 034066 200 01 0 00 034414 C75500: MOVE 1,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
5824 034067 200 02 0 00 034433 MOVE 2,[654321,,076543] ;PRELOAD E WITH 654321,,076543
5825 034070 672 01 0 00 000002 TDOE 1,2 ;*TDOE SHOULD SKIP AND
5826 ;PLACE -1,,-1 INTO THE AC
5827 STOP^
5828 034071 254 04 0 00 034072 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5829 034072 324 00 0 00 034073 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5830 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5831 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5832 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5833 034073 312 01 0 00 034301 CAME 1,[-1] ;PASS IF C(AC)=-1,,-1
5834 STOP^
5835 034074 254 04 0 00 034075 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5836 034075 324 00 0 00 034076 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5837 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5838 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5839 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5840 034076 312 02 0 00 034433 CAME 2,[654321,,76543] ;PASS IF C(E) UNCHANGED
5841 STOP^
5842 034077 254 04 0 00 034100 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5843 034100 324 00 0 00 034101 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5844 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5845 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5846 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5847
5848 ;**********
5849
5850 ;THIS TEST VERIFIES THAT TDOE SKIPS THE NEXT SEQUENTAIL INSTRUCTION
5851 ;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN
5852 ;C(E) ARE ZERO. THESE MASKED
5853 ;AC BITS ARE THEN CHANGED TO ONES
5854 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=754321,,076543
5855 ;HENCE, TDOE SHOULD NOT SKIP AND THE RESULT IN AC
5856 ;SHOULD BE -1,,-1 C(E) IS NOT AFFECTD
5857
5858 034101 200 00 0 00 034414 C75510: MOVE 0,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
5859 034102 200 01 0 00 034434 MOVE 1,[754321,,76543] ;PRELOAD E WITH 754321,,076543
5860 034103 672 00 0 00 000001 TDOE 0,1 ;*TDOE SHOULD NOT SKIP AND
5861 ;PLACE -1,,-1 INTO THE AC
5862 034104 334 00 0 00 000000 SKIPA ;PASS IF TDOE DOES NOT SKIP
5863 STOP^
5864 034105 254 04 0 00 034106 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5865 034106 324 00 0 00 034107 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5866 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5867 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5868 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5869 034107 312 00 0 00 034301 CAME 0,[-1] ;PASS IF C(AC)=-1,,-1
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 97-1
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0144
5870 STOP^
5871 034110 254 04 0 00 034111 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5872 034111 324 00 0 00 034112 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5873 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5874 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5875 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5876 034112 312 01 0 00 034434 CAME 1,[754321,,76543] ;PASS IF C(E) UNCHANGED
5877 STOP^
5878 034113 254 04 0 00 034114 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5879 034114 324 00 0 00 034115 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5880 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5881 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5882 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5883
5884 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 98
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0145
5885 ;THIS TEST VERIFIES THAT TSOE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
5886 ;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN
5887 ;C(E) WITH BOTH HALVES SWAPPED ARE ZERO. THESE MASKED
5888 ;AC BITS ARE THEN CHANGED TO ONES.
5889 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321
5890 ;HENCE, TSOE SHOULD SKIP AND THE RESULT IN AC
5891 ;SHOULD BE -1,,-1. C(E) IS NOT AFFECTED
5892
5893 034115 200 17 0 00 034414 C75600: MOVE 17,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
5894 034116 200 00 0 00 034424 MOVE 0,[76543,,654321] ;PRELOAD E WITH 076543,,654321
5895 034117 673 17 0 00 000000 TSOE 17,0 ;*TSOE SHOULD SKIP AND
5896 ;PLACE -1,,-1 INTO THE AC
5897 STOP^
5898 034120 254 04 0 00 034121 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5899 034121 324 00 0 00 034122 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5900 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5901 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5902 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5903 034122 312 17 0 00 034301 CAME 17,[-1] ;PASS IF C(AC)=-1,,-1
5904 STOP^
5905 034123 254 04 0 00 034124 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5906 034124 324 00 0 00 034125 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5907 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5908 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5909 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5910 034125 312 00 0 00 034424 CAME 0,[76543,,654321] ;PASS IF C(E) UNCHANGED
5911 STOP^
5912 034126 254 04 0 00 034127 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5913 034127 324 00 0 00 034130 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5914 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5915 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5916 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5917
5918 ;**********
5919
5920 ;THIS TEST VERIFIES THAT TSOE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
5921 ;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN
5922 ;C(E) WITH BOTH HALVES SWAPPED ARE ZERO. THESE MASKED
5923 ;AC BITS ARE THEN CHANGED TO ONES.
5924 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,657321
5925 ;HENCE, TSOE SHOULD NOT SKIP AND THE RESULT IN THE AC
5926 ;SHOULD BE -1,,-1 C(E) IS NOT AFFECTED.
5927
5928 034130 200 16 0 00 034414 C75610: MOVE 16,[123456,,701234] ;PRELOAD AC WITH 123456,701234
5929 034131 200 17 0 00 034436 MOVE 17,[76543,,657321] ;PRELOAD E WITH 076543,,657321
5930 034132 673 16 0 00 000017 TSOE 16,17 ;*TSOE SHOULD NOT SKIP AND
5931 ;*TSOE SHOULD NOT SKIP AND
5932 ;PLACE -1,,-1 INTO THE AC
5933 034133 334 00 0 00 000000 SKIPA ;PASS IF SKIP
5934 STOP^
5935 034134 254 04 0 00 034135 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5936 034135 324 00 0 00 034136 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5937 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5938 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5939 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 98-1
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0146
5940 034136 312 16 0 00 034301 CAME 16,[-1] ;PASS IF C(AC)=-1,,-1
5941 STOP^
5942 034137 254 04 0 00 034140 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5943 034140 324 00 0 00 034141 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5944 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5945 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5946 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5947 034141 312 17 0 00 034436 CAME 17,[76543,,657321] ;PASS IF C(E) UNCHANGED
5948 STOP^
5949 034142 254 04 0 00 034143 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5950 034143 324 00 0 00 034144 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5951 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5952 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5953 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5954
5955 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 99
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0147
5956 ;THIS TEST VERIFIES THAT TDOA PLACES ONES INTO ALL BITS OF THE AC WHICH
5957 ;CORRRESPOND TO 1'S IN C(E) AND ALWAYS
5958 ;SKIPS THE NEXT INSTRUCTION C(E) IS NOT AFFECTED
5959 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)= 654321,,076543
5960 ;HENCE, TDOA SHOULD ALWAYS SKIP AND C(AC) SHOULD BE -1,,-1
5961
5962 034144 200 15 0 00 034414 C75700: MOVE 15,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
5963 034145 200 16 0 00 034433 MOVE 16,[654321,,076543] ;PRELOAD E WITH 654321,,076543
5964 034146 674 15 0 00 000016 TDOA 15,16 ;*TDOA SHOULD SKIP AND
5965 ;PLACE -1,,-1 INTO THE AC
5966 STOP^
5967 034147 254 04 0 00 034150 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5968 034150 324 00 0 00 034151 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5969 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5970 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5971 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5972 034151 312 15 0 00 034301 CAME 15,[-1] ;PASS IF C(AC)=-1,,-1
5973 STOP^
5974 034152 254 04 0 00 034153 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5975 034153 324 00 0 00 034154 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5976 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5977 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5978 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5979 034154 312 16 0 00 034433 CAME 16,[654321,,076543] ;PASS IF C(E) UNCHANGED
5980 STOP^
5981 034155 254 04 0 00 034156 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5982 034156 324 00 0 00 034157 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
5983 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
5984 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
5985 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
5986
5987 ;**********
5988
5989 ;THIS TEST VERIFIES THAT TDOA PLACE ONES ALL BIT OF THE AC WHICH
5990 ;CORRESPOND TO 1'S IN C(E) AND ALWAYS
5991 ;SKIPS THE NEXT INSTRUCTION C(E) IS NOT AFFECTED
5992 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=252525,,707070
5993 ;HENCE, TDOA SHOULD ALWAYS SKIP AND C(AC) SHOULD BE 373577,,707274
5994
5995 034157 200 14 0 00 034414 C75710: MOVE 14,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
5996 034160 200 15 0 00 034431 MOVE 15,[252525,,707070] ;PRELOAD E WITH 252525,,707070
5997 034161 674 14 0 00 000015 TDOA 14,15 ;*TDOA SHOULD SKIP AND
5998 ;PLACE 373577,707274 ONTO THE AC
5999 STOP^
6000 034162 254 04 0 00 034163 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6001 034163 324 00 0 00 034164 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
6002 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
6003 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
6004 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
6005 034164 312 14 0 00 034464 CAME 14,[373577,,707274] ;PASS IF C(AC)=373577,,707274
6006 STOP^
6007 034165 254 04 0 00 034166 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6008 034166 324 00 0 00 034167 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
6009 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
6010 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 99-1
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0148
6011 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
6012 034167 312 15 0 00 034431 CAME 15,[252525,,707070] ;PASS IF C(E) UNCHANGED
6013 STOP^
6014 034170 254 04 0 00 034171 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6015 034171 324 00 0 00 034172 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
6016 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
6017 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
6018 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
6019
6020 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 100
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0149
6021 ;THIS TEST VERIFIES THAT TSOA PLACE ONES INTO ALL BITS OF THE AC WHICH
6022 ;CORRESPOND TO 1'S IN C(E) WITH BOTH HALVES SWAPPED AND ALWAYS
6023 ;SKIPS THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED
6024 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321
6025 ;HENCE, TSOA SHOULD SLAWAYS SKIP AND C(AC) SHOULD BE -1,,-1
6026
6027 034172 200 13 0 00 034414 C76000: MOVE 13,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
6028 034173 200 14 0 00 034465 MOVE 14,[176543,,654321] ;PRELOAD E WITH 076543,,654321
6029 034174 675 13 0 00 000014 TSOA 13,14 ;*TSOA SHOULD SKIP AND
6030 ;PLACE -1,,-1 ONTO THE AC
6031 STOP^
6032 034175 254 04 0 00 034176 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6033 034176 324 00 0 00 034177 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
6034 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
6035 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
6036 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
6037 034177 312 13 0 00 034301 CAME 13,[-1] ;PASS IF C(AC)=-1,,-1
6038 STOP^
6039 034200 254 04 0 00 034201 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6040 034201 324 00 0 00 034202 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
6041 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
6042 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
6043 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
6044 034202 312 14 0 00 034465 CAME 14,[176543,,654321] ;PASS IF C(E) UNCHANGED
6045 STOP^
6046 034203 254 04 0 00 034204 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6047 034204 324 00 0 00 034205 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
6048 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
6049 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
6050 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
6051
6052 ;**********
6053
6054 ;THIS TEST VERIFIES THAT TSOA PLACES ONES INTO ALL BITS OF THE AC WHICH
6055 ;CORRESPOND TO 1'S IN C(E) WITH BOTH HALVES SWAPPED AND ALWAYS
6056 ;SKIPS THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED
6057 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=701234,,123456
6058 ;HENCE, TSOA SHOULD SLWAYS SKIP AND C(AC) SHOULD BE 123456,,701234
6059
6060 034205 200 12 0 00 034414 C76010: MOVE 12,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
6061 034206 200 13 0 00 034441 MOVE 13,[701234,,123456] ;PRELOAD E WITH 701234,123456
6062 034207 675 12 0 00 000013 TSOA 12,13 ;*TSOA SHOULD SKIP AND
6063 ;PLACE 123456,,701234 INTO THE AC
6064 STOP^
6065 034210 254 04 0 00 034211 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6066 034211 324 00 0 00 034212 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
6067 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
6068 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
6069 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
6070 034212 312 12 0 00 034414 CAME 12,[123456,,701234] ;PASS IF C(AC)=123456,,701234
6071 STOP^
6072 034213 254 04 0 00 034214 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6073 034214 324 00 0 00 034215 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
6074 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
6075 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 100-1
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0150
6076 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
6077 034215 312 13 0 00 034441 CAME 13,[701234,,123456] ;PASS IF C(E) UNCHANGED
6078 STOP^
6079 034216 254 04 0 00 034217 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6080 034217 324 00 0 00 034220 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
6081 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
6082 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
6083 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
6084
6085 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 101
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0151
6086 ;THIS TEST VERIFIES THAT TDON SKIPS THE NEXT SEQUENTIAL INSTRUCTION
6087 ;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN
6088 ;C(E) ARE ZERO. THESE MASKED
6089 ;AC BITS ARE THEN CHANGED TO ONES
6090 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=654321,,076547
6091 ;HENCE, TDON SHOULD SKIP AND THE RESULT IN AC
6092 ;SHOULD BE -1,,-1 C(E) IS NOT AFFECTED
6093
6094 034220 200 11 0 00 034414 C76100: MOVE 11,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
6095 034221 200 12 0 00 034442 MOVE 12,[654321,,076547] ;PRELOAD E WITH 654321,,076547
6096 034222 676 11 0 00 000012 TDON 11,12 ;*TDON SHOULD SKIP AND
6097 ;PLACE -1,,-1 INTO THE AC
6098 STOP^
6099 034223 254 04 0 00 034224 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6100 034224 324 00 0 00 034225 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
6101 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
6102 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
6103 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
6104 034225 312 11 0 00 034301 CAME 11,[-1] ;PASS IF C(AC)=-1,,-1
6105 STOP^
6106 034226 254 04 0 00 034227 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6107 034227 324 00 0 00 034230 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
6108 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
6109 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
6110 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
6111 034230 312 12 0 00 034442 CAME 12,[654321,,076547] ;PASS IF C(E) UNCHANGED
6112 STOP^
6113 034231 254 04 0 00 034232 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6114 034232 324 00 0 00 034233 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
6115 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
6116 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
6117 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
6118
6119 ;**********
6120
6121 ;THIS TEST VERIFIES THAT TDON SKIPS THE NEXT SEQUENTIAL INSTRUCTION
6122 ;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN
6123 ;C(E) ARE ZERO. THESE MASKED
6124 ;AC BITS ARE THEN CHANGED TO ONES.
6125 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=654321,,076543
6126 ;THENC, TDON SHOULD NOT SKIP AND THE RESULT IN TH AC
6127 ;SHOULD BE -1,,-1 C(E) IS NOT AFFECTED
6128
6129 034233 200 10 0 00 034414 C76110: MOVE 10,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
6130 034234 200 11 0 00 034433 MOVE 11,[654321,,076543] ;PRELOAD E WITH 654321,,076543
6131 034235 676 10 0 00 000011 TDON 10,11 ;*TDON SHOULD NOT SKIP AND
6132 ;PLACE -1,,-1 INTO THE AC
6133 034236 334 00 0 00 000000 SKIPA ;PASS IF TDON DOES NOT SKIP
6134 STOP ^
6135 034237 254 04 0 00 034240 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6136 034240 324 00 0 00 034241 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
6137 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
6138 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
6139 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
6140 034241 312 10 0 00 034301 CAME 10,[-1] ;PASS IF C(AC)=-1,,-1
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 101-1
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0152
6141 STOP^
6142 034242 254 04 0 00 034243 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6143 034243 324 00 0 00 034244 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
6144 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
6145 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
6146 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
6147 034244 312 11 0 00 034433 CAME 11,[654321,,076543] ;PASS IF C(E) UNCHANGED
6148 STOP^
6149 034245 254 04 0 00 034246 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6150 034246 324 00 0 00 034247 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
6151 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
6152 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
6153 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
6154
6155 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 102
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0153
6156 ;THIS TEST VERIFIES THAT TSON SKIPS THE NEXT SEQUENTIAL INSTRUCTION
6157 ;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN
6158 ;C(E) WITH BOTH HALVE SWAPPED ARE ZERO. THESE MASKED
6159 ;AC BITS ARE THEN CHANGED TO ONES
6160 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=077543,,654321
6161 ;HENCE, TSON SHOULD SKIP AND THE RESULT IN AC
6162 ;SHOULD BE -1,,-1 C(E) IS NOT AFFECTED
6163
6164 034247 200 07 0 00 034414 C76200: MOVE 7,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
6165 034250 200 10 0 00 034444 MOVE 10,[77543,,654321] ;PRELOAD E WITH 077543,,654321]
6166 034251 677 07 0 00 000010 TSON 7,10 ;*TSON HOULD SKIP AND
6167 ;PLACE -1,,-1 INTO THE AC
6168 STOP^
6169 034252 254 04 0 00 034253 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6170 034253 324 00 0 00 034254 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
6171 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
6172 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
6173 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
6174 034254 312 07 0 00 034301 CAME 7,[-1] ;PASS IF C(AC)=-1,,-1
6175 STOP^
6176 034255 254 04 0 00 034256 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6177 034256 324 00 0 00 034257 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
6178 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
6179 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
6180 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
6181 034257 312 10 0 00 034444 CAME 10,[77543,,654321] ;PASS IF C(E) UNCHANGED
6182 STOP^
6183 034260 254 04 0 00 034261 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6184 034261 324 00 0 00 034262 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
6185 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
6186 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
6187 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
6188
6189 ;**********
6190
6191 ;THIS TEST VERIFIES THAT TSON SKIPS THE NEXT SEQUENTIAL INSTRUCTION
6192 ;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN
6193 ;C(E) WITH BOTH HALVES SWAPPED ARE ZERO. THESE MASKED
6194 ;AC BITS ARE THEN CHANGED TO ONES.
6195 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321
6196 ;HENCE, TSON SHOULD NOT SKIP AND THE RESULT IN AC
6197 ;SHOULD BE -1,,-1 C(E) IS NOT AFFECTED
6198
6199 034262 200 06 0 00 034414 C76210: MOVE 6,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
6200 034263 200 07 0 00 034424 MOVE 7,[76543,,654321] ;PRELOAD E WITH 076543MM654321
6201 034264 677 06 0 00 000007 TSON 6,7 ;*TSON SHOULD NOT SKIP AND
6202 ;PLACE -1,,-1 INTO THE AC
6203 034265 334 00 0 00 000000 SKIPA ;PASS IF TSON DOES NOT SKIP
6204 STOP^
6205 034266 254 04 0 00 034267 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6206 034267 324 00 0 00 034270 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
6207 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
6208 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
6209 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
6210 034270 312 06 0 00 034301 CAME 6,[-1] ;PASS IF C(AC)-=1,,-1
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 102-1
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0154
6211 STOP^
6212 034271 254 04 0 00 034272 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6213 034272 324 00 0 00 034273 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
6214 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
6215 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
6216 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
6217 034273 312 07 0 00 034424 CAME 7,[76543,,654321] ;PASS IF C(E) UNCHANGED
6218 STOP^
6219 034274 254 04 0 00 034275 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6220 034275 324 00 0 00 034276 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1)
6221 ;TO JUMPA X(X IS THE ADDRESS OF THE FIRST
6222 ;INSTRUCTION IN THE SUBTEST) TO LOOP ON ERROR
6223 ;AND CHANGE HALT INSTRUCTION TO JUMPA .+1^
6224
6225 ;**********
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 103
DAKAFM MAC 19-JAN-77 17:08 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0155
6226 034276 254 00 0 00 030057 JRST BEGEND
6227 SUBTTL *STOR* RESERVED STORAGE, JAN 18,1977
6228
6229 ;PROGRAM LITERALS
6230
6231 XLIST
6232 IFNDEF $LPAPER,<LIST>
6233 034277 LIT
6234 034277 000001 000001
6235 034300 254 00 0 00 030741
6236 034301 777777 777777
6237 034302 777000 707070
6238 034303 777000 000777
6239 034304 123456 123456
6240 034305 123000 000456
6241 034306 121212 000000
6242 034307 777350 777776
6243 034310 000767 777777
6244 034311 777010 000000
6245 034312 000777 770077
6246 034313 123456 246123
6247 034314 123000 006100
6248 034315 000100 777600
6249 034316 123456 246135
6250 034317 123456 040104
6251 034320 123321 456654
6252 034321 770077 007770
6253 034322 003300 450004
6254 034323 123456 663322
6255 034324 777000 700770
6256 034325 000456 063002
6257 034326 123456 777776
6258 034327 010203 123450
6259 034330 123456 000000
6260 034331 000777 123456
6261 034332 000777 517067
6262 034333 707077 555666
6263 034334 123456 765432
6264 034335 624421 230254
6265 034336 707070 123456
6266 034337 707070 767577
6267 034340 123456 777666
6268 034341 777001 123470
6269 034342 777457 777676
6270 034343 777000 123456
6271 034344 000777 050321
6272 034345 777007 771100
6273 034346 063202 123477
6274 034347 000570 004200
6275 034350 707070 123426
6276 034351 070707 777032
6277 034352 123456 123457
6278 034353 707633 121212
6279 034354 153512 775132
6280 034355 000777 654321
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 1
STOR KLM 18-JAN-77 11:42 *STOR* RESERVED STORAGE, JAN 18,1977 SEQ 0156
6281 034356 654321 012345
6282 034357 777000 123477
6283 034360 000777 775701
6284 034361 707070 707072
6285 034362 707777 757372
6286 034363 777777 070707
6287 034364 777777 133777
6288 034365 707070 070706
6289 034366 777777 707777
6290 034367 123456 770077
6291 034370 777001 123324
6292 034371 654777 657753
6293 034372 123456 707070
6294 034373 707070 707070
6295 034374 123456 123422
6296 034375 707070 717171
6297 034376 123422 000000
6298 034377 123456 707076
6299 034400 707076 000000
6300 034401 123456 777777
6301 034402 123456 135724
6302 034403 765432 246135
6303 034404 246135 777777
6304 034405 123123 456765
6305 034406 456765 777777
6306 034407 000000 000000
6307 034410 707076 777777
6308 034411 765432 777777
6309 034412 365432 123456
6310 034413 365432 000000
6311 034414 123456 701234
6312 034415 123123 246135
6313 034416 123123 123123
6314 034417 777777 701234
6315 034420 765432 107654
6316 034421 777777 765432
6317 034422 777777 000000
6318 034423 777777 123456
6319 034424 076543 654321
6320 034425 076543 654323
6321 034426 076547 654321
6322 034427 123456 701034
6323 034430 123454 701234
6324 034431 252525 707070
6325 034432 020406 501210
6326 034433 654321 076543
6327 034434 754321 076543
6328 034435 023456 701234
6329 034436 076543 657321
6330 034437 120456 701234
6331 034440 121052 000204
6332 034441 701234 123456
6333 034442 654321 076547
6334 034443 123456 701230
6335 034444 077543 654321
DAKAF PDP-10 KA10 BASIC INSTRUCTION DIAGNOSTIC (6) 0,2 MACRO %52(537) 17:12 19-JAN-77 PAGE 1-1
STOR KLM 18-JAN-77 11:42 *STOR* RESERVED STORAGE, JAN 18,1977 SEQ 0157
6336 034445 123456 700234
6337 034446 123456 701237
6338 034447 123456 701134
6339 034450 123756 701234
6340 034451 123455 701234
6341 034452 624426 553711
6342 034453 677777 777777
6343 034454 774777 777777
6344 034455 371173 006244
6345 034456 777777 777773
6346 034457 777777 776777
6347 034460 123456 701334
6348 034461 123456 070234
6349 034462 123457 070234
6350 034463 123457 701234
6351 034464 373577 707274
6352 034465 176543 654321
6353 LIST
6354 034466 000000 000000 ENDSLD: 0
6355
6356 IFDEF DEBUG,<
6357 034467 PATCH: BLOCK DEBUG ;PATCHING AREA
6358 >
6359
6360 ;PROGRAM VARIABLES
6361 034567 VAR
6362
6363 IFDEF PGMEND,<
6364 034567 000000 000000 END: 0
6365 030000 END BEGIN >
NO ERRORS DETECTED
PROGRAM BREAK IS 000000
ABSLUTE BREAK IS 034570
CPU TIME USED 00:27.392
11K CORE USED