6826 lines
385 KiB
Text
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
|