Trailing-Edge
-
PDP-10 Archives
-
klad_sources
-
klad.sources/dfkaa.seq
There are no other files named dfkaa.seq in the archive.
MAINDEC-10-DFKAA.TXT
SEQ 0001
IDENTIFICATION
--------------
PRODUCT CODE: MAINDEC-10-DFKAA-B-D
PRODUCT NAME: DECSYSTEM10 PDP-10 KL10 BASIC
INSTRUCTION DIAGNOSTIC (1)
FUNCTION: BASIC INSTRUCTIONS
VERSION: 0.2
DATE RELEASED: JANUARY 31,1977
MAINTAINED BY: DIAGNOSTIC ENGINEERING GROUP
AUTHOR: JOHN R. KIRCHOFF
COPYRIGHT(C) 1975,1977
DIGITAL EQUIPMENT CORPORATION
MARLBORO, MASS. 01752
THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY
ON A SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH
THE INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE,
OR ANY OTHER COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE
MADE AVAILABLE TO ANY OTHER PERSON EXECPT FOR USE ON SUCH SYSTEM
AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE TO AND
OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN IN DEC.
THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
EQUIPMENT CORPORATION.
DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
MAINDEC-10-DFKAA.TXT
PAGE 2 SEQ 0002
TABLE OF CONTENTS
-----------------
1.0 ABSTRACT
2.0 REQUIREMENTS
2.1 EQUIPMENT
2.2 STORAGE
2.3 PRELIMINARY PROGRAMS
3.0 PROGRAM PROCEDURES
3.1 LOADING PROCEDURE
3.2 STARTING PROCEDURE
3.3 OPERATING PROCEDURE
4.0 ERRORS
5.0 ITERATION COUNTER
6.0 CYCLE TIME
7.0 OPERATIONAL VARIATIONS
8.0 MISCELLANEOUS
9.0 LISTING
MAINDEC-10-DFKAA.TXT
PAGE 3 SEQ 0003
1.0 ABSTRACT
THIS PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC IS THE FIRST IN A
SERIES OF PDP-10 KL10 PROCESSOR DIAGNOSTICS. IT IS THE MOST
BASIC OF THE PROCESSOR DIAGNOSTICS. THIS DIAGNOSTIC
ASSUMES THE HALT INSTRUCTION AND THE COMPUTER CONSOLE
TO BE OPERATIVE. IT MAKES NO FURTHER ASSUMPTIONS EXCEPT
THAT IT IS LOADED INTO MEMORY CORRECTLY.
THE DIAGNOSTIC TESTS THE BASIC FUNCTIONALITY OF THE PROCESSOR
AND MICRO-CODE.
2.0 REQUIREMENTS
2.1 EQUIPMENT
EITHER OF:
A PDP-10 KL10 WITH A MINIMUM OF 32K OF MEMORY
CONSOLE PROCESSOR
CONSOLE TELETYPE
2.2 STORAGE
THE PROGRAM RUNS WITHIN 32K OF MEMORY.
2.3 PRELIMINARY PROGRAMS
CONSOLE FUNCTIONS WORKING PROPERLY
MAINDEC-10-DFKAA.TXT
PAGE 4 SEQ 0004
3.0 PROGRAM PROCEDURES
3.1 LOADING PROCEDURE
LOAD VIA CONSOLE PROCESSOR
3.2 STARTING PROCEDURE
STAND-ALONE STARTING ADDRESS IS 30000.
IF THE DIAGNOSTIC FAILS TO START CORRECTLY TRY STARTING AT THE
FIRST TEST INSTEAD OF AT THE BEGINNING OF THE CONTROL SEQUENCE.
(SEE LISTING).
3.3 OPERATING PROCEDURE
ONCE STARTED THE PROGRAM WILL CYCLE CONTINUALLY UNTIL STOPPED
OR AN ERROR OCCURS.
4.0 ERRORS
ERRORS ARE IN THE FORM OF HALT INSTRUCTIONS. THE LISTING
SHOULD BE CONSULTED TO DETERMINE THE CAUSE OF THE ERROR. A
NO OPERATION (JUMP) INSTRUCTION FOLLOWS EACH HALT. THIS
MAY BE USEFUL IN CONSTRUCTING A SCOPE LOOP TO CYCLE ON THE
FAILING INSTRUCTION.
5.0 ITERATION COUNTER
THE ITERATION COUNT OF THE PROGRAM IS PRINTED BY THE CONSOLE
PROCESSOR.
6.0 CYCLE TIME
THE CYCLE TIME OF THE PROGRAM IS IN THE MILLISECOND RANGE AND
IS THEREFORE SUITABLE FOR TAKING MARGINS, VIBRATION TESTS, ETC.
MAINDEC-10-DFKAA.TXT
PAGE 5 SEQ 0005
7.0 OPERATIONAL VARIATIONS
A. DIAGNOSTIC MONITOR
THE PROGRAM IS USABLE WITH THE DIAGNOSTIC MONITOR TO PRO-
VIDE RELIABILITY TESTS, ACCEPTANCE TESTS, AND/OR TO PRO-
VIDE A QUICK METHOD OF ISOLATION OF A FAULT TO A PARTICULAR
AREA OF THE PROCESSOR. CERTAIN PROCEDURES ARE USED WHEN
THE PROGRAM IS USED IN THIS MANNER. THEY ARE:
1. THE DIAGNOSTIC MONITOR TRANSFERS CONTROL TO THE PRO-
GRAM AND STARTS IT AT LOCATION 30002.
2. MONCTL - LOCATION 30043 IS USED AS THE DIAGNOSTIC MON-
ITOR CONTROL FLAG WORD.
B. USER MODE
THE PROGRAM WILL OPERATE IN USER MODE AND AS SUCH PROVIDES
ASSURANCE THAT THE PROCESSOR IS PERFORMING ALL FUNCTIONS
CORRECTLY. USER MODE STARTING ADDRESS IS 30000.
C. SYSTEM EXERCISER
STARTING ADDRESS IS 30003. NO DATA SWITCHES ARE USED BY
THIS PROGRAM.
8.0 MISCELLANEOUS
NONE
9.0 LISTING
THIS IS A HISTORY OF THE DEVELOPMENT OF MAINDEC-10-DFKAA
SEQ 0006
************************************************************************
PRODUCT CODE: MAINDEC-10-DFKAA
PRODUCT NAME: DECSYSTEM10 PDP-10 KL10 BASIC INSTRUCTION
DIAGNOSTIC (1)
DATE RELEASED: JANUARY 31,1977
VERSION: 0.2
UPDATE AUTHOR: JOHN R. KIRCHOFF
CHANGES MADE:
1. UPGRADE MADE TO ALLOW PROGRAM TO RUN WITH ANY FRONT-END
THAT PERFORMED THE PROGRAM LOAD.
************************************************************************
DATE RELEASED: AUGUST 25,1975
VERSION: 0.1
INITIAL AUTHOR: JOHN R. KIRCHOFF
INTIAL RELEASE OF THIS PROGRAM FOR THE KL10 PROCESSOR.
************************************************************************
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 1
DFKAAT MAC 31-JAN-77 09:14 DIAGNOSTIC PARAMETERS SEQ 0007
1 ;DFKAA
2
3
4 000000 MCNVER==0
5 000002 DECVER==2
6
7
8 XLIST
9 LIST
10 LALL
11
12 NAME \MCNVER,\DECVER^
13
14 TITLE DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2
15 ^
16
17 ;TEST DESIGNED FOR INITIAL DEBUGGING OF PROCESSOR HARDWARE
18 ;AND TO DETECT (SOLID) FAILURES IN THE FIELD.
19
20 ;COPYRIGHT 1975,1977
21 ;DIGITAL EQUIPMENT CORPORATION
22 ;MARLBORO, MASS. 01752
23
24 ;JOHN R. KIRCHOFF
25
26 000137 LOC 137
27 000137 000000 000002 MCNVER,,DECVER
28
29 NOSYM
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 2
DFKAAT MAC 31-JAN-77 09:14 DIAGNOSTIC PARAMETERS SEQ 0008
30 SUBTTL DIAGNOSTIC PARAMETERS
31
32 ;PARAMETER DEFINITIONS
33
34 000001 EXCASB==1
35 000001 USRASB==1
36 000001 KI10==1
37 000001 KL10==1
38 000001 KL10P0==1
39 000001 PGMEND==1
40 030000 MODDVL==BEGIN
41 030000 MODDVU==BEGIN
42
43 ;FLAG DEFINITIONS
44
45 010000 USERF=10000 ;USER MODE FLAG
46
47
48 ;MACROS
49
50 ; STOP - USED FOR SCOPE LOOP, IF INSTRUCTION FAILS, CHANGE (JUMPA .+1)
51 ; TO A (JUMPA .-X) TO CYCLE ON FAILING INSTRUCTION
52
53 DEFINE STOP (A)<
54 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
55 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
56 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
57 ;IN THE SUBTEST) TO LOOP ON ERROR>
58
59 ; SFLAG - USED TO CLEAR ALL FLAGS THEN TO SET SELECTED FLAG
60
61 DEFINE SFLAG (A)<
62 MOVSI 1,A
63 JFCL 17,.+1 ;RESET ALL FLAGS
64 JRST 2,.+1(1) ;SET A FLAG>
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 3
DFKAAT MAC 31-JAN-77 09:14 DIAGNOSTIC PARAMETERS SEQ 0009
65 ;SPECIAL FEATURE PARAMETERS
66
67 030742 SADR1=STARTA
68 030742 SADR2=STARTA
69 030742 SADR3=STARTA
70 030742 SADR4=STARTA
71 254000 030742 SADR5=JRST STARTA
72 254000 030742 SADR6=JRST STARTA
73 254000 030742 SADR7=JRST STARTA
74 254000 030742 SADR8=JRST STARTA
75 254000 030742 SADR9=JRST STARTA
76 254000 030742 SADR10=JRST STARTA
77 254000 030742 SADR11=JRST STARTA
78
79 000000 PAREA0=0
80 000000 PAREA1=0
81 000000 PAREA2=0
82 444653 414100 PAREA3=SIXBIT/DFKAA/
83 645560 000000 PAREA4=SIXBIT/TMP/
84 000000 PAREA5=0
85 000000 PAREA6=0
86 001000 ITERAT==1000
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 1
PARAM KLM 18-JAN-77 11:38 *PARAM* CONSOLE DATA SWITCH ASSIGNMENTS, JAN 18,1977 SEQ 0010
87 SUBTTL *PARAM* CONSOLE DATA SWITCH ASSIGNMENTS, JAN 18,1977
88
89 DEFINE S,<;*********************************************************************>
90
91 S^;*********************************************************************^
92 ;*DATA SWITCHES (READ FROM CONSOLE IN EXEC MODE OR TYPED IN IN USER MODE)
93 ;*LEFT HALF SWITCHES ARE PRE-ASSIGNED FOR SUBROUTINE PACKAGE USE
94 ;*AND CONTROL LOOPING, PRINTING (TTY OR OTHER DEVICE) AND MISC. FUNCTIONS
95 S^;*********************************************************************^
96
97 400000 ABORT== 400000 ;ABORT PROGRAM ON PASS COMPLETION
98 200000 RSTART==200000 ;RESTART TEST, PRINT TOTALS
99 100000 TOTALS==100000 ;PRINT TOTALS, CONTINUE
100
101 040000 NOPNT== 040000 ;INHIBIT ALL PRINT/TYPE OUT (EXCEPT FORCED)
102 020000 PNTLPT==020000 ;PRINT ALL DATA ON LPT (LOGICAL DEVICE, USER MODE)
103 010000 DING== 010000 ;RING BELL ON ERROR
104
105 004000 LOOPER==004000 ;ENTER EXERCISE/CHECK LOOP ON ERROR
106 002000 ERSTOP==002000 ;HALT ON TEST ERROR
107 001000 PALERS==001000 ;PRINT ALL ERRORS
108
109 000400 RELIAB==000400 ;RELIABILITY MODE
110 000200 TXTINH==000200 ;INHIBIT ERROR TEXT
111 000100 INHPAG==000100 ;INHIBIT PAGING
112
113 000040 MODDVC==000040 ;MODIFY DEVICE CODE
114 000020 INHCSH==000020 ;INHIBIT CACHE
115 000010 OPRSEL==000010 ;OPERATOR SELECTION
116
117 000004 CHAIN== 000004 ;CHAIN CONTROL SWITCH
118
119 000002 KAHZ50==000002 ;KA10 50 HERTZ POWER
120
121 ;SWITCH 17 RESERVED !!!
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 2
PARAM KLM 18-JAN-77 11:38 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 SEQ 0011
122 SUBTTL *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977
123
124 S^;*********************************************************************^
125 ;*SPECIAL SUBPROGRAM LINKAGES
126 S^;*********************************************************************^
127
128 027772 FSELNK= 27772 ;FILE SELECT LINK
129 027773 FRDLNK= 27773 ;FILE READ LINK
130 027774 LDLNK= 27774 ;LOAD LINKAGE ADDRESS
131 027775 DDTLNK= 27775 ;DDT LINKAGE ADDRESS
132 027776 MODLNK= 27776 ;OPERATIONAL MODE CHECK LINKAGE ADDRESS
133 027777 SUBLNK= 27777 ;SUBROUTINE LINKAGE ADDRESS
134
135 S^;*********************************************************************^
136 ;*SPECIAL SUBROUTINE FATAL HALTS
137 ;*USED TO REPORT ERRORS THAT CAUSE THE SUBROUTINES TO BE UNUSABLE
138 S^;*********************************************************************^
139
140 ;ADDRESS TAG REASON
141 ;---------------------
142
143 ; 1010 NOEXEC ;PROGRAM NOT CODED FOR EXEC MODE OPERATION
144 ; 1011 PLERR ;FATAL PUSH LIST POINTER ERROR
145 ; 1012 PLERR1 ;INITIAL PUSH LIST POINTER ERROR
146 ; 1013 MUOERR ;MUUO WITH LUUO HANDLER WIPED OUT
147 ; 1014 DTEBER ;DTE20 INTERRUPT WITHOUT DOORBELL
148 ; 1015 DTECER ;DTE20 CLOCK INTERRUPT WITHOUT FLAG SET
149 ; 1016 CPIERR ;CPU INITIALIZATION ERROR
150 ; 1017 EOPERR ;END OF PROGRAM ERROR
151 ; 1020 LUOERR ;INTERRUPT WITH LUUO HANDLER WIPED OUT
152
153 S^;*********************************************************************^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 3
PARAM KLM 18-JAN-77 11:38 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 SEQ 0012
154 S^;*********************************************************************^
155 ;OPERATOR DEFINITIONS (NON-UUO'S)
156 S^;*********************************************************************^
157
158 260740 000000 OPDEF GO [PUSHJ P,] ;SUBROUTINE CALL
159 263740 000000 OPDEF RTN [POPJ P,] ;SUBROUTINE RETURN
160 261740 000000 OPDEF PUT [PUSH P,] ;PUT DATA ON PUSH LIST
161 262740 000000 OPDEF GET [POP P,] ;GET DATA FROM PUSH LIST
162 254000 000000 OPDEF PJRST [JRST ] ;JRST TO ROUTINE THAT RTN'S
163 254200 000000 OPDEF HALT [JRST 4,] ;DEFINITION FOR DDT
164 254100 000000 OPDEF JRSTF [JRST 2,] ;DEFINITION FOR DDT
165 254500 000000 OPDEF JEN [JRST 12,] ;DEFINITION FOR DDT
166
167 S^;*********************************************************************^
168 ;*SUBROUTINE INITIALIZATION CALL
169 S^;*********************************************************************^
170
171 265000 030011 OPDEF PGMINT [JSP 0,SBINIT] ;SUBROUTINE INITIALIZATION
172
173 S^;*********************************************************************^
174 ;*HALTING UUO'S (A MORE GRACEFUL HALT THAN SIMPLY USING THE HALT INSTRUCTION).
175 S^;*********************************************************************^
176
177 037640 000004 OPDEF FATAL [37B8!15B12!4] ;FATAL PROGRAMMING HALT
178 037600 000004 OPDEF ERRHLT [37B8!14B12!4] ;PROGRAM ERROR HALT
179
180 S^;*********************************************************************^
181 ;*TERMINAL INPUT UUO'S
182 ;*ALWAYS COME FROM THE CONSOLE TERMINAL IN EXEC MODE OR THE
183 ;*CONTROLLING TERMINAL (REAL TERMINAL OR PTY) IN USER MODE.
184 S^;*********************************************************************^
185
186 037000 000003 OPDEF TTICHR [37B8!0B12!3] ;TTY, INPUT ANY CHARACTER
187 037040 000003 OPDEF TTIYES [37B8!1B12!3] ;TTY, NORMAL RETURN Y
188 037100 000003 OPDEF TTINO [37B8!2B12!3] ;TTY, NORMAL RETURN N
189 037140 000003 OPDEF TTIOCT [37B8!3B12!3] ;TTY, INPUT OCTAL WORD
190 037200 000003 OPDEF TTIDEC [37B8!4B12!3] ;TTY, INPUT DECIMAL WORD
191 037240 000003 OPDEF TTICNV [37B8!5B12!3] ;TTY, INPUT CONVERTABLE WORD
192 037300 000003 OPDEF TTLOOK [37B8!6B12!3] ;TTY, KEYBOARD CHECK
193 037340 000003 OPDEF TTALTM [37B8!7B12!3] ;TTY, ALT-MODE CHECK
194 037400 000003 OPDEF TTSIXB [37B8!10B12!3] ;TTY, INPUT SIXBIT WORD
195 037440 000003 OPDEF TTYINP [37B8!11B12!3] ;TTY, IMAGE MODE INPUT
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4
PARAM KLM 18-JAN-77 11:38 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 SEQ 0013
196 ;*TERMINAL OUTPUT UUO'S.
197
198 037000 000000 OPDEF PNTA [37B8!0B12!0] ;PRINT ASCII WORD
199 037000 000001 OPDEF PNTAF [37B8!0B12!1] ;PRINT ASCII WORD FORCED
200 037740 000000 OPDEF PNTAL [37B8!17B12!0] ;PRINT ASCIZ LINE
201 037740 000001 OPDEF PNTALF [37B8!17B12!1] ;PRINT ASCIZ LINE FORCED
202 037600 000003 OPDEF PSIXL [37B8!14B12!3] ;PRINT SIXBIT'Z LINE
203 037640 000003 OPDEF PSIXLF [37B8!15B12!3] ;PRINT SIXBIT'Z LINE FORCED
204 037000 000000 OPDEF PNTMSG [37B8!0B12!0] ;PRINT MESSAGE IMMEDIATE
205 037040 000000 OPDEF PNTMSF [37B8!1B12!0] ;PRINT MESSAGE IMMEDIATE FORCED
206 037100 000000 OPDEF PSIXM [37B8!2B12!0] ;PRINT SIXBIT'Z MSG IMMEDIATE
207 037200 000000 OPDEF PSIXMF [37B8!4B12!0] ;PRINT SIXBIT'Z MSG IMM FORCED
208 037000 000000 OPDEF PNTCI [37B8!0B12!0] ;PRINT CHARACTER IMMEDIATE
209 037040 000000 OPDEF PNTCIF [37B8!1B12!0] ;PRINT CHARACTER IMMEDIATE FORCED
210 037500 000000 OPDEF PNTCHR [37B8!12B12!0] ;PRINT CHARACTER
211 037500 000001 OPDEF PNTCHF [37B8!12B12!1] ;PRINT CHARACTER FORCED
212 037040 000000 OPDEF PNT1 [37B8!1B12!0] ;PRINT ONE OCTAL DIGIT
213 037040 000001 OPDEF PNT1F [37B8!1B12!1] ;PRINT 1 OCTAL DIGIT FORCED
214 037100 000000 OPDEF PNT2 [37B8!2B12!0] ;PRINT TWO OCTAL DIGITS
215 037100 000001 OPDEF PNT2F [37B8!2B12!1] ;PRINT 2 OCTAL DIGITS FORCED
216 037140 000000 OPDEF PNT3 [37B8!3B12!0] ;PRINT THREE OCTAL DIGITS
217 037140 000001 OPDEF PNT3F [37B8!3B12!1] ;PRINT THREE OCTAL DIGITS FORCED
218 037200 000000 OPDEF PNT4 [37B8!4B12!0] ;PRINT FOUR OCTAL DIGITS
219 037200 000001 OPDEF PNT4F [37B8!4B12!1] ;PRINT FOUR OCTAL DIGITS FORCED
220 037240 000000 OPDEF PNT5 [37B8!5B12!0] ;PRINT FIVE OCTAL DIGITS
221 037240 000001 OPDEF PNT5F [37B8!5B12!1] ;PRINT FIVE OCTAL DIGITS FORCED
222 037300 000000 OPDEF PNT6 [37B8!6B12!0] ;PRINT SIX OCTAL DIGITS
223 037300 000001 OPDEF PNT6F [37B8!6B12!1] ;PRINT SIX OCTAL DIGITS FORCED
224 037340 000000 OPDEF PNT7 [37B8!7B12!0] ;PRINT 7 OCTAL DIGITS
225 037340 000001 OPDEF PNT7F [37B8!7B12!1] ;PRINT 7 OCTAL DIGITS FORCED
226 037440 000000 OPDEF PNT11 [37B8!11B12!0] ;PRINT 11 OCTAL DIGITS
227 037440 000001 OPDEF PNT11F [37B8!11B12!1] ;PRINT 11 OCTAL DIGITS FORCED.
228 037400 000000 OPDEF PNTADR [37B8!10B12!0] ;PRINT PHYSICAL ADDRESS
229 037400 000001 OPDEF PNTADF [37B8!10B12!1] ;PRINT PHYSICAL ADDRESS FORCED
230 037600 000000 OPDEF PNTOCT [37B8!14B12!0] ;PRINT FULL WORD OCTAL
231 037600 000001 OPDEF PNTOTF [37B8!14B12!1] ;PRINT FULL WORD OCTAL FORCED
232 037540 000000 OPDEF PNTHW [37B8!13B12!0] ;PRINT OCTAL HALF WORDS, 6 SP 6
233 037540 000001 OPDEF PNTHWF [37B8!13B12!1] ;PRINT OCTAL HALF WORDS, 6 SP 6 FORCED
234 037700 000003 OPDEF PNTOCS [37B8!16B12!3] ;PRINT OCTAL, SUPPRESS LEADING 0'S
235 037740 000003 OPDEF PNTOCF [37B8!17B12!3] ;PRINT OCTAL, SUPPRESS LEADING 0'S FORCED
236 037640 000000 OPDEF PNTDEC [37B8!15B12!0] ;PRINT DECIMAL, SUPRESS LEADING 0'S
237 037640 000001 OPDEF PNTDCF [37B8!15B12!1] ;PRINT DECIMAL, SUPRESS LEADING 0'S FORCED
238 037700 000000 OPDEF PNTDS [37B8!16B12!0] ;PRINT DECIMAL, SPACES FOR LD 0'S
239 037700 000001 OPDEF PNTDSF [37B8!16B12!1] ;PRINT DECIMAL, SPACES FOR LD 0'S FORCED
240 037200 000002 OPDEF PNTNM [37B8!4B12!2] ;PRINT PROGRAM NAME
241 037000 000002 OPDEF PNTSIX [37B8!0B12!2] ;PRINT SIXBIT WORD
242 037040 000002 OPDEF PNTSXF [37B8!1B12!2] ;PRINT SIXBIT WORD FORCED
243 037240 000002 OPDEF DROPDV [37B8!5B12!2] ;CLOSE LOGICAL FILE, USER MODE
244 037100 000002 OPDEF PNTCW [37B8!2B12!2] ;PRINT DF10 CONTROL WORD
245 037140 000002 OPDEF PNTCWF [37B8!3B12!2] ;PRINT DF10 CONTROL WORD FORCED
246 037000 030242 OPDEF PCRL [37B8!0B12!CRLF] ;PRINT CARRIAGE RETURN/LINE FEED
247 037040 030242 OPDEF PCRLF [37B8!1B12!CRLF] ;PRINT CARRIAGE RETURN/LINE FEED FORCED
248 037000 000040 OPDEF PSP [37B8!0B12!40] ;PRINT SPACE
249 037040 000040 OPDEF PSPF [37B8!1B12!40] ;PRINT SPACE FORCED
250 037000 030243 OPDEF PCRL2 [37B8!0B12!CRLF2] ;PRINT CARRIAGE RETURN/LINE FEED (TWICE)
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4-1
PARAM KLM 18-JAN-77 11:38 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 SEQ 0014
251 037040 030243 OPDEF PCRL2F [37B8!1B12!CRLF2] ;PRINT CARRIAGE RETURN/LINE FEED (TWICE) FORCED
252 037040 000007 OPDEF PBELL [37B8!1B12!7] ;PRINT TTY BELL
253
254 037040 000026 OPDEF PFORCE [37B8!1B12!26] ;PRINT FORCE, CONTROL O OVERRIDE
255
256 DEFINE PMSG (ARG),<
257 PSIXM [SIXBIT\ARG'_\]>
258
259 DEFINE PMSGF (ARG),<
260 PSIXMF [SIXBIT\ARG'_\]>
261
262 ;*SIXBTZ -- MACRO TO GENERATE SIXBIT DATA FOR PRINTING
263 ;* CONSERVES CORE OVER ASCIZ
264
265 DEFINE SIXBTZ (ARG),< [SIXBIT\ARG'_\]>
266
267 ;*CONSOLE SWITCH INPUT UUO.
268 ;*READS CONSOLE SWITCHES IF IN EXEC MODE OR ASKS FOR THEM IF
269 ;* USER MODE.
270
271 037400 000002 OPDEF SWITCH [37B8!10B12!2] ;INPUT CONSOLE SWITCHES
272
273 ;*CLOCK INITIALIZATION UUO - TO SET DESIRED CLOCK OPERATION
274 ;*EITHER IGNORE CLOCK, ONLY LET IT TICK OR CAUSE INTERRUPT TO OCCUR.
275
276 037540 000004 OPDEF CLOKOP [37B8!13B12!4] ;CLOCK OPERATION UUO - PDP-11 CLOCK
277 037200 000004 OPDEF MTROP [37B8!4B12!4] ;CLOCK OPERATION UUO - DK20 METER
278
279 ;*KL10 ONLY CACHE OPERATION UUO'S
280
281 037040 000004 OPDEF CINVAL [37B8!1B12!4] ;CACHE INVALIDATE
282 037100 000004 OPDEF CFLUSH [37B8!2B12!4] ;CACHE FLUSH
283 037140 000004 OPDEF CWRTBI [37B8!3B12!4] ;CACHE WRITE-BACK & INVALIDATE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 5
PARAM KLM 18-JAN-77 11:38 *PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977 SEQ 0015
284 ;*END OF PASS/PROGRAM UUOS
285
286 ;PERFORMS THE END OF PASS FUNCTIONS. INCREMENT PASS COUNT,
287 ;*DECREMENT ITERATION COUNT, CHECK IF FINISHED WITH THIS PROGRAM ETC.
288
289 037500 000004 OPDEF ENDUUO [37B8!12B12!4] ;UUO TO DISPLAY LIGHTS
290 037700 000004 OPDEF EOPUUO [37B8!16B12!4] ;END OF PROGRAM UUO
291
292 ;*MEMORY MANAGEMENT UUO'S
293 ;*UUO'S TO PERFORM VARIOUS MEMORY FUNCTIONS. MAPPING, ZEROING, PAGING,
294 ;*ADDRESS CONVERSION, ETC...
295
296 037000 000004 OPDEF MAPMEM [37B8!0B12!4] ;MAP MEMORY
297 037500 000002 OPDEF MEMZRO [37B8!12B12!2] ;ZERO MEMORY
298 037440 000002 OPDEF MEMSEG [37B8!11B12!2] ;SETUP MEMORY SEGMENT
299 037540 000002 OPDEF MAPADR [37B8!13B12!2] ;VIRTUAL TO PHYSICAL ADR CONVERT
300 037640 000002 OPDEF MAPCNK [37B8!15B12!2] ;MAP MEMORY CHUNK
301 037600 000002 OPDEF MAPSET [37B8!14B12!2] ;SET KI10 EXEC PAGE MAP
302 037740 000002 OPDEF MAPPNT [37B8!17B12!2] ;PRINT MEMORY MAP
303
304 ;*DEVICE CODE MODIFICATION UUO
305 ;*ALLOWS THE MODIFICATION OF IOT'S TO ONE DEVICE TO BE CHANGED TO
306 ;*IOT'S TO A DIFFERENT DEVICE CODE.
307
308 037340 000002 OPDEF MODPCU [37B8!7B12!2] ;MODIFY PERHIPERAL CODE, USER
309 037300 000002 OPDEF MODPCP [37B8!6B12!2] ;MODIFY PERHIPERAL CODE, PROGRAM
310
311 IFNDEF MODDVL,<MODDVL==BEGIN>
312 IFNDEF MODDVU,<MODDVU==BEGIN>
313
314 ;*"DIAMON" FILE SELECTION AND READ UUOS
315
316 037240 000004 OPDEF FSELECT [37B8!5B12!4] ;FILE SELECTION
317 037300 000004 OPDEF FREAD [37B8!6B12!4] ;FILE READ - ASCII DATA
318 037340 000004 OPDEF FRD36 [37B8!7B12!4] ;FILE READ - 36 BIT DATA
319 037400 000004 OPDEF FRD8 [37B8!10B12!4] ;FILE READ - 8 BIT DATA
320
321 ;*KI10 ONLY UUO FOR PRINTING MARGIN VALUES
322
323 037700 000002 OPDEF PNTMGN [37B8!16B12!2] ;PRINT MARGIN VALUE
324
325 XLIST
326 IFNDEF KLOLD,<LIST
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6
PARAM KLM 18-JAN-77 11:38 ERROR HANDLING UUO DEFINITIONS, JAN 18,1977 SEQ 0016
327 SUBTTL ERROR HANDLING UUO DEFINITIONS, JAN 18,1977
328
329 S^;*********************************************************************^
330 ;*ERROR HANDLER PARAMETERS
331 S^;*********************************************************************^
332
333 036000 000000 OPDEF ERUUO [36B8] ;ERROR CALL UUO
334 035000 000000 OPDEF ERLOOP [35B8] ;ERROR LOOP, CHECKS PC,REPT,REPT1,ERROR
335 035040 000000 OPDEF ERLP1 [35B8!1B12] ;ERROR LOOP IF PC'S MATCH
336 035100 000000 OPDEF ERLP2 [35B8!2B12] ;ERROR LOOP IF ANY ERROR
337 034000 000000 OPDEF REPTUO [34B8] ;REPEAT LOOP UUO
338
339 ;*THE ERROR HANDLER MACROS
340
341 ;*A MACRO TO REPORT AN ERROR AND LOOP
342
343 DEFINE ERROR (ADR,FORMAT,CORECT,ACTUAL,F,D,ERR)<
344 SALL
345 ERUUO FORMAT,[T,,[SIXBIT\F'_\]
346 CORECT,,ACTUAL
347 [SIXBIT\D'_\],,ERR]
348 XALL
349
350 ERLOOP ADR ;IF ERROR, LOOP TO ADR
351 >
352
353 ;*A MACRO TO REPORT AN ERROR AND NOT LOOP
354
355 DEFINE ERROR1 (FORMAT,CORECT,ACTUAL,F,D,ERR)<
356 SALL
357 ERUUO FORMAT,[T,,[SIXBIT\F'_\]
358 CORECT,,ACTUAL
359 [SIXBIT\D'_\],,ERR]
360 XALL >
361
362 >;END OF KLOLD CONDITIONAL
363
364 XLIST
365 LIST
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 1
FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0017
366 SUBTTL *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977
367
368 030000 LOC 30000
369
370 S^;*********************************************************************^
371 ;*PROGRAM STARTING ADDRESSES
372 ;*THESE ADDRESSES CALL VARIOUS SPECIAL START ROUTINES AND OR OPTIONS
373 ;*NORMAL START ADDRESS IS 30000 ALL OTHERS ARE SPECIAL. INVOKED BECAUSE
374 ;*OF END OF PASS, POWER FAILURE, DDT START, RE-ENTERING(TYPICALLY USER
375 ;*MODE), OR ANY NUMBER OF SPECIAL FEATURE TESTS.
376 S^;*********************************************************************^
377
378 030000 254 00 1 00 027776 BEGIN: JRST @MODLNK ;STAND-ALONE START
379 030001 254 00 0 00 030712 $START: JRST START ;MODE CHECK STARTING ADDRESS
380
381 030002 254 00 1 00 027774 DIAGMN: JRST @LDLNK ;DIAGNOSTIC MONITOR START
382
383 030003 254 00 1 00 027774 SYSEXR: JRST @LDLNK ;SYSTEM EXERCISER START
384
385 030004 254 00 0 00 030742 SFSTRT: JRST SADR1 ;SPECIAL FEATURE START
386
387 030005 254 00 0 00 030742 PFSTRT: JRST SADR2 ;POWER FAIL RESTART
388
389 030006 254 00 0 00 030742 REENTR: JRST SADR3 ;REENTER START(USUALLY USER MODE ONLY)
390
391 030007 SRTDDT: ;COMMONLY MISTAKEN NAME FOR "DDTSRT"
392 030007 254 00 1 00 027775 DDTSRT: JRST @DDTLNK ;DDT START
393
394 030010 254 00 0 00 030742 BEGIN1: JRST STARTA ;LOOP START(END OF PASS COMES HERE)
395 030011 254 00 1 00 027777 SBINIT: JRST @SUBLNK ;PMGINT LINKAGE
396 030012 000000 000000 RETURN: 0 ;RETURN ADDRESS STORAGE
397
398 030013 254000 030742 START1: SADR7 ;OPTIONAL STARTING ADR/INSTRUCTIONS
399 030014 254000 030742 START2: SADR8 ; "
400 030015 254000 030742 START3: SADR9 ; "
401 030016 254000 030742 START4: SADR10 ; "
402 030017 254000 030742 START5: SADR11 ; "
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 2
FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0018
403 S^;*********************************************************************^
404 ;*PROGRAM FIXED PARAMETER AREA
405 S^;*********************************************************************^
406
407 030020 444653 414100 PNTNAM: PAREA3 ;SIXBIT PROGRAM NAME
408 030021 645560 000000 PNTEXT: PAREA4 ;SIXBIT PROGRAM EXTENSION
409 030022 000000 000000 RANDBS: PAREA1 ;RANDOM BASE NUMBER
410 030023 000000 000000 SWTEXR: PAREA2 ;SYSTEM EXERCISER SWITCHES
411 030024 000000 001000 ITRCNT: ITERAT ;PROGRAM ITERATIONS
412 030025 000000 030725 $PNAME: PGMNAM ;POINTER TO PROGRAMS NAME
413 030026 000000 000002 $PVER: MCNVER,,DECVER ;MCN & DEC VERSION LEVEL
414 030027 000000 030000 $MODVL: MODDVL ;DEVICE CODE CHANGE LOWER LIMIT
415 030030 000000 030000 $MODVU: MODDVU ;DEVICE CODE CHANGE UPPER LIMIT
416 030031 777777 777777 $EMODE: IFNDEF EXCASB,<0> IFDEF EXCASB,<-1> ;EXEC ALLOWED
417 030032 777777 777777 $UMODE: IFNDEF USRASB,<0> IFDEF USRASB,<-1> ;USER ALLOWED
418 030033 000000 000000 $DSKUP: IFNDEF DSKUPD,<0> IFDEF DSKUPD,<-1> ;DISK UPDATE MODE
419 030034 000000 000000 $MMAP: IFNDEF MEMMAP,<0> IFDEF MEMMAP,<-1> ;ALLOW MEMORY RTNS
420 030035 000000 000000 PAREA7: PAREA5 ;OPTIONAL PARAMETER
421 030036 000000 000000 PAREA8: PAREA6 ;OPTIONAL PARAMETER
422
423 S^;*********************************************************************^
424 ;*PROGRAM VARIABLE PARAMETER AREA
425 S^;*********************************************************************^
426
427 030037 000000 000000 USER: 0 ; 0 = EXEC, -1 = USER MODE FLAG
428 030040 000000 000000 KAIFLG: 0 ;PROCESSOR TYPE, 0 = KA10, -1 = KI10
429 030041 000000 000000 KLFLG: 0 ;PROCESSOR TYPE, 0 = KA/KI, -1 = KL10
430 030042 777777 777777 MONFLG: -1 ;DIAG MONITOR SPECIAL USER FLAG
431 030043 000000 000000 MONCTL: 0 ;DIAG MON/SYS EXR FLAG
432 030044 000000 000000 MONTEN: 0 ;-1= LOADED BY 10
433 030045 000000 000000 CLOCKF: 0 ;CLOCK TICKED FLAG
434 030046 000000 000000 CONSW: 0 ;CONSOLE SWITCH SETTINGS
435 030047 000000 000000 PASCNT: 0 ;PROGRAM PASS COUNT
436 030050 000000 000000 RUNFLG: 0 ;PROGRAM RUN FLAG
437 030051 000000 000000 TESTPC: 0 ;SUBTEST PC
438 030052 000000 000000 ERRPC: 0 ;ERROR PC
439 030053 000000 000000 ERRTLS: 0 ;ERROR TOTALS
440 030054 000000 000000 TICKS: 0 ;PROGRAM RUNNING TIME
441 030055 000000 000000 MARGIN: 0 ;KI10 MARGIN WORD VALUE
442 030056 000000 000000 $ONETM: 0 ;SUBROUTINE INITIALIZATION FLAG
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 3
FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0019
443 S^;*********************************************************************^
444 ;*SPECIAL PROGRAM DISPATCH ADDRESSES
445 S^;*********************************************************************^
446
447 030057 037 12 0 00 000004 BEGEND: ENDUUO ;END OF PASS
448 030060 254 00 0 00 030010 $BEND1: JRST BEGIN1 ;KEEP RUNNING PROGRAM
449 030061 037 16 0 00 000004 $BEND2: EOPUUO ;END OF PROGRAM - NO RETURN
450 030062 254000 030742 CNTLC: SADR5 ;CONTROL C XFER ADDRESS
451 030063 254000 030742 ALTMGO: SADR6 ;ALTMODE XFER ADDRESS
452 030064 CPOPJ1: ;SKIP RETURN
453 030064 350 00 0 17 000000 UUOSKP: AOS (P) ;SKIP RETURN FROM UUO
454 030065 CPOPJ: ;NON-SKIP REGULAR RETURN
455 030065 263 17 0 00 000000 UUOEXT: RTN ;UUO RETURN
456 030066 255 00 0 00 000000 UUORTN: JFCL ;ADDITIONAL USERS UUO ROUTINE
457 030067 255 00 0 00 000000 $UORTX: JFCL ;ADDITIONAL UUO LINKAGE
458 030070 255 00 0 00 000000 $UUOER: JFCL ;INITED AS (JRST $UOERX)
459 030071 255 00 0 00 000000 $ITRHL: JFCL ;ADDITIONAL INTERRUPT LINKAGE
460 030072 255 00 0 00 000000 $ITRX1: JFCL ; "
461 030073 255 00 0 00 000000 $USRHL: JFCL ; "
462 030074 255 00 0 00 000000 $RSRTX: JFCL ;ADDITIONAL POWER FAIL LINKAGE
463 030075 255 00 0 00 000000 $RSRTY: JFCL ; "
464 030076 255 00 0 00 000000 RESRT1: JFCL ; INITED AS (JRST RESRTX)
465 030077 255 00 0 00 000000 RESRT2: JFCL ; "
466 030100 255 00 0 00 000000 $PARER: JFCL ;ADDITIONAL PARITY ERROR LINKAGE
467 030101 255 00 0 00 000000 ERMORE: JFCL ;ADDITIONAL ERROR HANDLER LINKAGE
468 030102 254 04 0 00 030102 HALT . ;IMPROPER TRANSFER HALT
469
470 030103 000000 000000 $PSHER: 0 ;INITED AS (JRST PSHERR)
471 030104 000000 000000 ITRCH1: 0 ;PC & FLAGS OF CURRENT INTERRUPT
472 030105 000000 000000 0 ;INITED AS (JRST $ITRC1)
473
474 S^;*********************************************************************^
475 ;*PROCESSOR CONTROL STORAGE
476 S^;*********************************************************************^
477
478 030106 000000 000000 $ACC0: 0 ;INTERRUPT SAVED AC0
479 030107 000000 000000 $SVPI: 0 ;INTERRUPT SAVED PI
480 030110 000000 000000 $SVAPR: 0 ;INTERRUPT SAVED APR
481 030111 000000 000000 $SVPAG: 0 ;INTERRUPT SAVED PAG (DATAI)
482 030112 000000 000000 $SPAG1: 0 ;INTERRUPT SAVED PAG (CONI)
483
484 030113 000000 000000 $SVUUO: 0 ;CURRENT USERS UUO
485 030114 000000 000000 $SVUPC: 0 ;PC OF CURRENT USERS UUO
486
487 030115 000000 000000 REPTU: 0 ;REPEAT UUO ITERATIONS
488 030116 000000 000000 SCOPE: 0 ;ERROR HANDLER SCOPE LOOP FLAG
489 030117 000000 000000 %CORFLG:0 ; " CORRECT FLAG
490 030120 000000 000000 %COREC: 0 ; " CORRECT DATA
491 030121 000000 000000 %ACTFL: 0 ; " ACTUAL FLAG
492 030122 000000 000000 %ACTUL: 0 ; " ACTUAL DATA
493 030123 000000 000000 %DISCR: 0 ; " DISCREPENCY DATA
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4
FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0020
494 S^;*********************************************************************^
495 ;*UUO DISPATCH TABLE
496 S^;*********************************************************************^
497 XLIST
498 LIST
499 030124 030070 030070 UUODIS: LUUO1,,$UUOER
500 030125 030070 030070 LUUO3,,LUUO2
501 030126 030070 030070 LUUO5,,LUUO4
502 030127 030070 030070 LUUO7,,LUUO6
503 030130 030070 030070 LUUO11,,LUUO10
504 030131 030070 030070 LUUO13,,LUUO12
505 030132 030070 030070 LUUO15,,LUUO14
506 030133 030070 030070 LUUO17,,LUUO16
507 030134 030070 030070 LUUO21,,LUUO20
508 030135 030070 030070 LUUO23,,LUUO22
509 030136 030070 030070 LUUO25,,LUUO24
510 030137 030070 030070 LUUO27,,LUUO26
511 030140 030070 030070 LUUO31,,LUUO30
512 030141 030070 030070 LUUO33,,LUUO32
513
514 S^;*********************************************************************^
515 ;*MEMORY MANAGMENT STORAGE
516 S^;*********************************************************************^
517
518 030142 000000 000000 DF22F: 0 ;DF10 CONTROL FLAG, 0 = 18, -1 = 22 BIT
519 030143 000000 000000 MAPNEW: 0 ;MEMORY MAPPING CONTROL FLAG, -1 = 4096K MAPPING
520 030144 000000 000000 MEMTOT: 0 ;TOTAL MEMORY SIZE IN K (1024.)
521 030145 000000 000000 MEMLOW: 0 ;LOWEST USABLE MEMORY
522 030146 MEMSIZ: BLOCK ^D41 ;MEMORY SEGMENT POINTER TABLE
523
524 S^;*********************************************************************^
525 ;*PRINT CONTROL STORAGE
526 S^;*********************************************************************^
527
528 030217 000000 000000 PNTFLG: 0 ;PRINT FLAG, -1 WHILE IN PRINT ROUTINE
529 030220 000000 000000 PNTENB: 0 ;PRINT ENABLE
530 030221 000000 000000 PDISF: 0 ;PRINT DISABLED FLAG
531 030222 000000 000000 PNTINH: 0 ;INHIBIT PRINT INPUT CHECKS
532 030223 000000 000000 PNTSPC: 0 ;PRINT SPACE CONTROL
533 030224 000000 000000 OPTIME: 0 ;TYPE-IN WAIT TIME
534 030225 000000 000000 $TWCNT: 0 ;TIME WAITED
535 030226 000000 000000 $DVOFF: 0 ;LOGICAL DEVICE INITED FLAG
536 030227 000000 000000 TTYFIL: 0 ;TTY EXEC FILLERS FLAG
537 030230 000000 000000 TTYSPD: 0 ;TTY EXEC BAUD RATE
538 030231 000000 000000 $TTCHR: 0 ;ACTUAL TYPED IN CHAR
539 030232 000000 000000 $CHRIN: 0 ;UPPER CASED & PARITY STRIPPED CHAR
540 030233 000000 000000 $TYPNB: 0 ;TYPED IN NUMBER
541 030234 000000 000000 $CRLF: 0 ;FREE CR/LF FLAG
542 030235 000000 000000 $TABF: 0 ;TAB CONVERSION FLAG
543 030236 000000 000000 $FFF: 0 ;FORM FEED CONVERSION FLAG
544 030237 000000 000000 $VTF: 0 ;VERTICAL TAB CONVERSION FLAG
545 030240 000000 000000 USRLFF: 0 ;USER LF FILLERS
546 030241 000000 000000 USRCRF: 0 ;USER CR FILLERS
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 5
FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0021
547 S^;*********************************************************************^
548 ;*THE FOLLOWING MISCELLANEOUS PRINT CHARACTERS ARE INCLUDED
549 ;*TO FACILITATE PRINTING AND ARE CALLED AS FOLLOWS:
550 ;* MOVEI NAME
551 ;* PNTA ;OR PNTAF
552 S^;*********************************************************************^
553
554 030242 CRLF: ASCII/
555 030242 015 012 000 000 000 /
556 030243 CRLF2: ASCII/
557
558 030243 015 012 015 012 000 /
559 030244 054 000 000 000 000 COMMA: ASCII/,/
560 030245 056 000 000 000 000 PERIOD: ASCII/./
561 030246 040 000 000 000 000 SPACE: ASCII/ /
562 030247 011 000 000 000 000 TAB: ASCII/ /
563 030250 MINUS:
564 030250 055 000 000 000 000 HYPEN: ASCII/-/
565 030251 053 000 000 000 000 PLUS: ASCII/+/
566 030252 052 000 000 000 000 AST: ASCII/*/
567 030253 100 000 000 000 000 ATSIN: ASCII/@/
568 030254 050 000 000 000 000 LFP: ASCII/(/
569 030255 051 000 000 000 000 RTP: ASCII/)/
570 030256 007 0000000000 BELL: BYTE (7) 007
571 030257 077 000 000 000 000 QUEST: ASCII/?/
572 030260 057 000 000 000 000 SLASH: ASCII!/!
573 030261 044 000 000 000 000 DOLLAR: ASCII/$/
574 030262 000000 000012 RADIX: ^D10 ;DECIMAL PRINT RADIX
575 030263 000000 000040 RADLSP: 40 ;DECIMAL PRINT LEADING CHAR
576 030264 000000 000012 RADLSC: ^D10 ;DECIMAL PRINT LEADING CHAR COUNT
577
578 S^;*********************************************************************^
579 ;*USER MODE OUTPUT FILE INFORMATION
580 S^;*********************************************************************^
581
582 030265 $OBUF: BLOCK 3 ;LOGICAL FILE OUTPUT BUFFER HEADER
583 030270 60 62 51 56 64 00 $OUTNM: SIXBIT /PRINT/ ;FILE NAME
584 030271 60 56 64 00 00 00 $OUTEX: SIXBIT /PNT/ ;FILE NAME EXTENSION
585 030272 BLOCK 2
586
587 S^;*********************************************************************^
588 ;*DISK UPDATE MODE FILE INFORMATION
589 S^;*********************************************************************^
590
591 030274 $IBUF: BLOCK 3
592 030277 60 62 51 56 64 00 $INNM: SIXBIT /PRINT/
593 030300 60 56 64 00 00 00 $INEXT: SIXBIT /PNT/
594 030301 BLOCK 2
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6
FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0022
595 S^;*********************************************************************^
596 ;*PUSHDOWN LIST CONTROL INFORMATION
597 S^;*********************************************************************^
598
599 030303 777577 030303 PLIST: PLIST-PLISTE,,PLIST
600 030304 PLISTS: BLOCK 200
601 030504 000000 000000 PLISTE: 0 ;END OF PUSHDOWN LIST
602
603 S^;*********************************************************************^
604 ;*POWER LINE CLOCK FREQUENCY FLAG
605 S^;*********************************************************************^
606
607 030505 000000 000000 CYCL60: 0 ;0 = 60, -1 = 50 CYCLE
608
609 S^;*********************************************************************^
610 ;*KL10 CACHE CONTROL FLAGS
611 S^;*********************************************************************^
612
613 030506 000000 000000 CSHFLG: 0 ;ALLOW CACHE IF 0
614 030507 000000 000000 CSHMEM: 0 ;CACHE MEMORY SEGMENTS IF 0
615
616 S^;*********************************************************************^
617 ;*NUMBER INPUT DIGIT FLAG
618 S^;*********************************************************************^
619
620 030510 000000 000000 TTNBRF: 0 ;-1 IF ANY DIGIT TYPED
621
622 S^;*********************************************************************^
623 ;*KL10 & KI10 "INHPAG" SWITCH PAGING PREVENTION
624 S^;*********************************************************************^
625
626 030511 000000 000000 PVPAGI: 0 ;IF NON-ZERO, OVERRIDE "INHPAG" SWITCH ACTION
627
628 S^;*********************************************************************^
629 ;*ERROR REPORTING ROUTINE ADDITIONAL USERS CONTROL INSTRUCTIONS
630 S^;*********************************************************************^
631
632 030512 000000 000000 %ERHI1: 0 ;IF NON-ZERO, XCT'D AT START OF %ERUUO
633 030513 000000 000000 %ERHI2: 0 ;IF NON-ZERO, XCT'D AT END OF %ERUUO
634 030514 000000 000000 %ERHI3: 0 ;IF NON-ZERO, XCT'D AFTER "PC" OF %ERUUO
635
636 S^;*********************************************************************^
637 ;*SPECIAL USERS UUO INTERCEPT INSTRUCTION
638 S^;*********************************************************************^
639
640 030515 000000 000000 $$UUO: 0 ;IF NON-ZERO, XCT'D AT START OF $UORTN
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 7
FIXED KLM 18-JAN-77 11:39 *FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977 SEQ 0023
641 S^;*********************************************************************^
642 ;*KL10 PROCESSOR TYPE FLAG, 0=P0, 1=BBD NEW, 2=BBD OLD
643 S^;*********************************************************************^
644
645 030516 000000 000000 KLTYP: 0
646
647 S^;*********************************************************************^
648 ;*SPECIAL USERS MUUO INTERCEPT INSTRUCTION
649 S^;*********************************************************************^
650
651 030517 000000 000000 $$MUUO: 0 ;IF NON-ZERO, XCT'D AT START OF MUUOER
652
653 S^;*********************************************************************^
654 ;*SPECIAL USERS USER MODE OUTPUT ERROR INTERCEPT INSTUCTION
655 S^;*********************************************************************^
656
657 030520 000000 000000 $$OUTER:0 ;IF NON-ZERO, XCT'D AT END OF USER MODE ERROR
658
659 S^;*********************************************************************^
660 ;*"SWITCH" CALL USAGE CONTROL
661 S^;*********************************************************************^
662
663 030521 000000 000000 $$TOGGLE:0 ;IF NON-ZERO, USE C(CONSW) FOR SWITCHES
664
665 S^;*********************************************************************^
666 ;*SPECIAL USERS ALTMODE SWITCH CALL INTERCEPT INSTRUCTIONS
667 S^;*********************************************************************^
668
669 030522 000000 000000 $$TAX1: 0 ;IF NON-ZERO, XCT'D AT START OF ALTMODE SWITCH CALL
670 030523 000000 000000 $$TAX2: 0 ;IF NON-ZERO, XCT'D AT END OF ALTMODE SWITCH CALL
671
672 S^;*********************************************************************^
673 ;*SPECIAL FUTURE EXPANSION ROOM
674 ;*IF ANY FIXED AREA TAGS ARE ADDED, REDUCE THE SIZE OF
675 ;*THIS BLOCK STATEMENT ACCORDINGLY. THIS MUST BE DONE
676 ;*SO THAT PREVIOUS FIXED ASSIGNMENTS DO NOT CHANGE.
677 S^;*********************************************************************^
678
679 030524 BLOCK 53 ;HOPEFULLY THIS IS ENOUGH FOREVER
680
681 S^;*********************************************************************^
682 ;*END OF FIXED STORAGE
683 S^;*********************************************************************^
684
685 030577 $ENDFX=<PLISTE+100>&<777700>-1
686 030577 LOC $ENDFX
687 030577 000000 000000 ENDFIX: 0 ;END OF FIXED STORAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 1
SPCCPU KLM 26-FEB-76 05:50 *SPCCPU* SPECIAL BASIC CPU PROCESSOR CONTROL, 26-FEB-76 SEQ 0024
688 SUBTTL *SPCCPU* SPECIAL BASIC CPU PROCESSOR CONTROL, 26-FEB-76
689
690 ;NEW DEFINITIONS USED BY THE KL10 SUBROUTINE PACKAGE
691
692 000000 AC0= 0
693 030000 DIAGNOS=30000 ;PDP-10 DIAGNOSTIC START ADDRESS
694 010000 DDT= 10000 ;PDP-10 DDT START ADDRESS
695 020000 DIAMON= 20000 ;PDP-10 DIAMON LOADER START ADDRESS
696 020000 DONG11= 1B22 ;11 DOORBELL (FROM THE 10)
697
698 ;DTE20 DEVICE CODES
699
700 000200 DTE== 200 ;DTE0
701 000204 DTE0== 204
702 000204 DTE1== 204
703 000210 DTE2== 210
704 000214 DTE3== 214
705
706 ;KL10 EPT COMMUNICATION AREA
707
708 000440 $STD= 440 ;PDP-10 DIAGNOSTIC START ADDRESS
709 000441 $DDT= 441 ;PDP-10 DDT START ADDRESS
710 000442 $STL= 442 ;PDP-10 LOADER START ADDRESS
711 000443 $STM= 443 ;PDP-10 MONITOR START ADDRESS
712
713 000444 $DTFLG= 444 ;DTE20 OPERATION COMPLETE FLAG
714 000445 $DTCLK= 445 ;DTE20 CLOCK INTERRUPT FLAG
715 000446 $DTCI= 446 ;DTE20 CLOCK INTERRUPT INSTRUCTION
716 000447 $DTT11= 447 ;DTE20 10 TO 11 ARGUMENT
717 000450 $DTF11= 450 ;DTE20 11 TO 10 ARGUMENT
718 000451 $DTCMD= 451 ;DTE20 TO 11 COMMAND WORD
719 000452 $DTSEQ= 452 ;DTE20 OPERATION SEQUENCE NUMBER
720 000453 $DTOPR= 453 ;DTE20 OPERATIONAL DTE #
721 000454 $DTCHR= 454 ;DTE20 LAST TYPED CHARACTER
722 000455 $DTMTD= 455 ;DTE20 MONITOR TTY OUTPUT COMPLETE FLAG
723 000456 $DTMTI= 456 ;DTE20 MONITOR TTY INPUT FLAG
724
725 000457 $DTSWR= 457 ;DTE20 CONSOLE SWITCH REGISTER
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 2
SPCCPU KLM 26-FEB-76 05:50 *SPCCPU* SPECIAL BASIC CPU PROCESSOR CONTROL, 26-FEB-76 SEQ 0025
726 ;SPECIAL "FIXED" REASSIGNMENTS
727
728 030600 $$LOC=. ;SAVE CURRENT LOCATION
729
730 030000 LOC 30000
731 030000 254 00 0 00 030600 $$BEGIN:JRST $$START ;SETUP SPECIAL START
732 030001 254 00 0 00 030600 JRST $$START ;"DIAMON" CHAIN START ADDRESS
733
734 000440 LOC 440
735 000440 254 00 0 00 030000 $STD: JRST BEGIN ;SETUP FOR "STD"
736 000443 LOC 443
737 000443 254 00 0 00 030636 $STM: JRST $SPEC ;SIMPLE RUN CONTROL
738
739 030057 LOC 30057
740 030057 254 00 0 00 030641 $BEGEND:JRST $SPBEND ;SETUP SPECIAL "BEGEND"
741
742 ;SPECIAL MUUO, TRAP & PAGE FAIL SETUP
743
744 000420 LOC 420
745 000420 254 04 0 00 000420 $$420: HALT . ;KI10 PAGE FAIL
746 000421 255 00 0 00 000000 $$421: JFCL ;OVERFLOW
747 000422 254 04 0 00 000422 $$422: HALT . ;PUSHDOWN OVERFLOW
748 000423 254 04 0 00 000423 $$423: HALT . ;TRAP 3
749 000424 000000 000000 $$424: 0 ;MMUO
750 000425 000000 000000 $$425: 0 ;MMUO PC
751 000426 000000 000000 $$426: 0 ;KI10-PAGE FAIL, KL10-PROCESS CONTEXT
752 000427 254 04 0 00 000427 $$427: HALT .
753 000430 000000 000427 $$430: 427 ;MMUO NEW PC'S
754 000431 000000 000427 $$431: 427
755 000432 000000 000427 $$432: 427
756 000433 000000 000427 $$433: 427
757 000434 000000 000427 $$434: 427
758 000435 000000 000427 $$435: 427
759 000436 000000 000427 $$436: 427
760 000437 000000 000427 $$437: 427
761
762 000500 LOC 500
763 000500 000000 000000 $$500: 0 ;KL10 PAGE FAIL WORD
764 000501 000000 000000 $$501: 0 ;KL10 PAGE FAIL PC
765 000502 000000 000503 $$502: 503 ;KL10 PAGE FAIL NEW PC
766 000503 254 04 0 00 000503 $$503: HALT .
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 3
SPCCPU KLM 26-FEB-76 05:50 *SPCCPU* SPECIAL BASIC CPU PROCESSOR CONTROL, 26-FEB-76 SEQ 0026
767 030600 LOC $$LOC ;RESET CURRENT LOCATION
768
769 ;SPECIAL STARTUP SEQUENCE
770
771 030600 402 00 0 00 030037 $$START:SETZM USER
772 030601 265 00 0 00 030602 JSP 0,.+1 ;IN USER MODE ?
773 030602 603 00 0 00 010000 TLNE 0,USERF
774 030603 476 00 0 00 030037 SETOM USER ;YES, SET CONTROL WORD
775 030604 336 00 0 00 030042 SKIPN MONFLG ;SPECIAL USER MODE ?
776 030605 402 00 0 00 030037 SETZM USER ;YES, RUN AS EXEC
777 030606 332 00 0 00 030037 SKIPE USER
778 030607 254 00 0 00 030712 JRST START ;USER MODE, DON'T NEED CPU TYPE
779
780 030610 336 00 0 00 030044 $STKIL: SKIPN MONTEN ;LOADED BY "DIAMON" ?
781 030611 476 00 0 00 030024 SETOM ITRCNT ;NO, RUN FOREVER
782 030612 402 00 0 00 030516 SETZM KLTYP
783 030613 402 00 0 00 030041 SETZM KLFLG ;ASSUME KI10
784 030614 200 01 0 00 070251 MOVE 1,[1,,1]
785 030615 251 01 0 00 000001 BLT 1,1 ;HOPE THIS WORKS
786 030616 316 01 0 00 070251 CAMN 1,[1,,1] ;IF AC NE 1,,1 AFTER BLT, KL10
787 030617 254 00 0 00 030712 JRST START ;KI10, NO ADDITIONAL SETUP
788
789 030620 7 000 20 0 00 010040 $STKL: CONO APR,10040 ;SET BBD NOT BIT
790 030621 7 000 24 0 00 000000 CONI APR,0
791 030622 7 000 20 0 00 020040 CONO APR,20040 ;CLEAR BBD NOT BIT
792 030623 606 00 0 00 000040 TRNN 0,40 ;IF SET, KL10
793 030624 350 00 0 00 030516 AOS KLTYP ;IF NOT, BBD
794 030625 402 00 0 00 000444 SETZM $DTFLG
795 030626 402 00 0 00 000445 SETZM $DTCLK
796 030627 200 00 0 00 000453 MOVE $DTOPR ;GET DTE #
797 030630 436 00 0 00 030670 ORM $$DTE0 ;INSERT IN DTE I/O INSTS
798 030631 436 00 0 00 030672 ORM $$DTE1
799 030632 436 00 0 00 030704 ORM $$DTE2
800 030633 436 00 0 00 030706 ORM $$DTE3
801 030634 476 00 0 00 030041 SETOM KLFLG ;SET KL10 CONTROL FLAG
802 030635 254 00 0 00 030712 JRST START
803
804 030636 200 00 0 00 070252 $SPEC: MOVE [JRST STARTA] ;SIMPLE RUN CONTROL
805 030637 202 00 0 00 030643 MOVEM $SPB1
806 030640 254 00 0 00 030712 JRST START
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4
SPCCPU KLM 26-FEB-76 05:50 *SPCCPU* SPECIAL BASIC CPU PROCESSOR CONTROL, 26-FEB-76 SEQ 0027
807 ;SPECIAL "BEGEND" ROUTINE
808
809 030641 350 00 0 00 030047 $SPBEND:AOS PASCNT ;INCREMENT PASS COUNT
810 030642 370 00 0 00 030024 SOS ITRCNT ;DECREMENT ITERATION COUNT
811 030643 336 00 0 00 030037 $SPB1: SKIPN USER
812 030644 254 00 0 00 030652 JRST $SPBEX ;EXEC MODE
813
814 030645 332 00 0 00 030024 $SPBUS: SKIPE ITRCNT ;USER MODE, COMPLETED ?
815 030646 254 00 0 00 030742 JRST STARTA ;NO, KEEP RUNNING
816 030647 336 00 0 00 030044 SKIPN MONTEN ;DONE, LOADED BY "DIAMON" ?
817 030650 047 00 0 00 000012 EXIT ;NO, RETURN TO MONITOR
818 030651 254 00 1 00 030012 JRST @RETURN ;YES, RETURN TO "DIAMON"
819
820 030652 332 00 0 00 030041 $SPBEX: SKIPE KLFLG
821 030653 254 00 0 00 030660 JRST $SPBKL ;KL10 & EXEC
822 030654 7 004 14 0 00 030024 DATAO PI,ITRCNT ;KI10 & EXEC, DISPLAY ITER COUNT
823 030655 332 00 0 00 030024 SKIPE ITRCNT
824 030656 254 00 0 00 030742 JRST STARTA ;NOT COMPLETED YET
825 030657 254 00 1 00 030012 JRST @RETURN ;DONE
826
827 030660 336 00 0 00 030024 $SPBKL: SKIPN ITRCNT
828 030661 254 00 0 00 030676 JRST $SPKLD ;KL10, EXEC & COMPLETED
829
830 030662 335 00 0 00 030043 SKIPGE MONCTL
831 030663 254 00 0 00 030742 JRST STARTA ;"DIAMON" CONTROL
832 030664 201 00 0 00 000404 MOVEI 0,404 ;NOTIFY PDP-11 OF END OF PASS
833 030665 202 00 0 00 000451 MOVEM 0,$DTCMD
834 030666 402 00 0 00 000444 SETZM $DTFLG
835 030667 336 00 0 00 030516 SKIPN KLTYP
836 030670 7 200 20 0 00 020000 $$DTE0: CONO DTE,DONG11
837 030671 332 00 0 00 030516 SKIPE KLTYP
838 030672 7 200 20 0 00 010000 $$DTE1: CONO DTE,10000
839 030673 336 00 0 00 000444 SKIPN $DTFLG ;WAIT TILL 11 RESPONDS
840 030674 254 00 0 00 030673 JRST .-1
841 030675 254 00 0 00 030742 JRST STARTA ;KEEP RUNNING
842
843 ;SPECIAL KL10 COMPLETED ROUTINE
844
845 030676 332 00 0 00 030044 $SPKLD: SKIPE MONTEN
846 030677 254 00 1 00 030012 JRST @RETURN ;LOADED BY "DIAMON"
847
848 030700 201 00 0 00 000403 MOVEI 0,403 ;NOTIFY PDP-11 OF COMPLETION
849 030701 202 00 0 00 000451 MOVEM 0,$DTCMD
850 030702 402 00 0 00 000444 SETZM $DTFLG
851 030703 336 00 0 00 030516 SKIPN KLTYP
852 030704 7 200 20 0 00 020000 $$DTE2: CONO DTE,DONG11
853 030705 332 00 0 00 030516 SKIPE KLTYP
854 030706 7 200 20 0 00 010000 $$DTE3: CONO DTE,10000
855 030707 336 00 0 00 000444 SKIPN $DTFLG ;SHOULD NEVER HAPPEN
856 030710 254 00 0 00 030707 JRST .-1 ;11 NEVER RETURNS ON END OF PROGRAM
857 030711 254 04 0 00 030000 HALT BEGIN ;IF IT DOES, HALT.
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 1
DFKAA1 MAC 31-JAN-77 09:33 DIAGNOSTIC SECTION SEQ 0028
858 SUBTTL DIAGNOSTIC SECTION
859
860 030712 402 00 0 00 030037 START: SETZM USER# ;CLEAR USER CONTROL WORD
861 030713 265 00 0 00 030714 JSP 0,.+1 ;GET FLAGS
862 030714 603 00 0 00 010000 TLNE USERF ;IN USER MODE?
863 030715 476 00 0 00 030037 SETOM USER ;YES, SET USER CONTROL WORD
864 030716 336 00 0 00 030042 SKIPN MONFLG ;SPECIAL USER MODE?
865 030717 402 00 0 00 030037 SETZM USER ;YES, CLEAR USER CONTROL WORD
866 030720 336 00 0 00 030037 SKIPN USER
867 030721 254 00 0 00 030742 JRST STARTA
868 030722 331 00 0 00 030043 SKIPL MONCTL
869 030723 051 03 0 00 030725 TTCALL 3,PGMNAM
870 030724 254 00 0 00 030742 JRST STARTA
871
872 030725 PGMNAM: ASCIZ/
873 030725 015 012 104 105 103 DECSYSTEM10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) [DFKAA]
874 030726 123 131 123 124 105
875 030727 115 061 060 040 113
876 030730 114 061 060 040 102
877 030731 101 123 111 103 040
878 030732 111 116 123 124 122
879 030733 125 103 124 111 117
880 030734 116 040 104 111 101
881 030735 107 116 117 123 124
882 030736 111 103 040 050 061
883 030737 051 040 133 104 106
884 030740 113 101 101 135 015
885 030741 012 000 000 000 000 /
886
887 ;BASIC INSTRUCTION TEST (1)
888 ;THE TEST IS DESIGNED FOR INITIAL DEBUGGING OF
889 ;PROCESSOR HARDWARE AND TO DETECT (SOLID) FAILURES
890 ;IN THE FIELD.
891
892
893 030742 254 00 0 00 030743 STARTA: JRST .+1
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 2
DFKAA1 MAC 31-JAN-77 09:33 TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS SEQ 0029
894 SUBTTL TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS
895
896 ;NOTE: AN "*" IN THE COMMENT FIELD OF AN INSTRUCTION INDICATES THAT IT IS THE TESTED
897 ;INSTRUCTION.
898 ;**********
899
900 ;THIS TEST VERIFIES THAT SKIPA ALWAYS SKIPS THE NEXT INSTRUCTION
901
902 030743 A00=.
903 030743 334 00 0 00 000000 A12500: SKIPA ;*SKIPA SHOULD ALWAYS SKIP THE NEXT INSTRUCTION
904 030744 254 04 0 00 000000 HALT ;IF PROGRAM HALTS, SKIPA DID NOT SKIP
905
906 ;IF PROGRAM HANGS UP ON SKIPA INSTRUCTION, CHECK AB PC EN [ABC], AB PC F/F [ABC],
907 ;AB PC B [ABC OR AB], AB PC (FETCH) EN [ABC], IR SKIPS [IR3], IR SKIPX [IR1],
908 ;IR 3XX [IR1], IR BITS 00 - 08 [IR1], F CYC ACT EN C [FI], FT6 F/F [F2],
909 ;PC CLOCK EN [PCC], ET2 J F/F [E], PC CLK (ET2) EN [PCC], ADZ COND P [ADZ] AND
910 ;ADZ COND R [ADZ], PC CLOCK A [PCC], PC CLOCK B [PCC]
911
912 ;IF PROGRAM HALTED ON HALT INSTRUCTION, CHECK ST1 COND [ST2]
913
914 ;**********
915
916 ;THIS TEST VERIFIES THAT JUMP NEVER JUMPS
917
918 030745 320 00 0 00 030746 A15000: JUMP .+1 ;*JUMP SHOULD NEVER JUMP
919 030746 334 00 0 00 000000 SKIPA ;SKIP HALT INSTRUCTION IF JUMP IS SUCCESSFUL
920 030747 254 04 0 00 000000 HALT ;HALT IF JUMP FAILS
921
922 ;IF PROGRAM HANGS UP ON JUMP .+1 INSTRUCTION, THE JUMP INSTRUCTION
923 ;MAY HAVE FAILED. CHECK ST1 COND [ST2], ST INST FET ST1 EN [ST2], ET2 D F/F [E],
924 ;IR JUMPS [IR1], IR JUMPX [IR1]
925
926 ;**********
927 ;THIS TEST VERIFIES THAT JUMP NEVER JUMPS
928
929 030750 320 00 0 00 030752 A15100: JUMP .+2 ;*JUMP SHOULD NEVER JUMP
930 030751 334 00 0 00 000000 SKIPA ;SKIP HALT INSTRUCTION IF JUMP IS SUCCESSFUL
931 030752 254 04 0 00 000000 HALT ;HALT IF JUMP FAILS
932
933 ;AB PC EN [ABC]
934
935 ;**********
936
937 ;THIS TEST VERIFIES THAT JUMPA .+1 ALWAYS JUMPS TO THE NEXT INSTRUCTION
938
939 030753 324 00 0 00 030754 A12700: JUMPA .+1 ;*JUMPA .+1 SHOULD NEVER JUMP
940 030754 334 00 0 00 000000 SKIPA ;SKIP HALT INSTRUCTION IF JUMPA IS SUCCESSFUL
941 030755 254 04 0 00 000000 HALT ;HALT IF JUMPA .+1 FAILED
942
943 ;**********
944
945 ;THIS TEST VERIFIES THAT JUMPA JUMPS TO THE LOCATION SPECIFIED BY E WHEN E=.+2
946
947 030756 324 00 0 00 030760 A12600: JUMPA .+2 ;*JUMPA .+2 SHOULD ALWAYS SKIP THE NEXT INSTRUCTION
948 030757 254 04 0 00 000000 HALT ;PROGRAM HALTS HERE IF JUMPA .+2 FAILS
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 2-1
DFKAA1 MAC 31-JAN-77 09:33 TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS SEQ 0030
949
950 ;ST1 COND [ST2]
951
952 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 3
DFKAA1 MAC 31-JAN-77 09:33 TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS SEQ 0031
953 ;THIS TEST VERIFIES THAT SKIPA IS DATA INDEPENDENT. HENCE, IT ALWAYS SKIPS THE NEXT
954 ;INSTRUCTION.
955 ;THE MOVE [0] INSTRUCTION IS USED TO TEST THE DATA INDEPENDENCE OF SKIPA.
956
957 030760 200 00 0 00 070253 A100: MOVE [0] ;PRESET LOCATION 0 TO ALL ZEROS
958 030761 334 00 0 00 000000 SKIPA ;*SKIPA SHOULD ALWAYS SKIP THE NEXT INSTRUCTION
959 STOP^
960 030762 254 04 0 00 030763 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
961 030763 324 00 0 00 030764 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
962 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
963 ;IN THE SUBTEST) TO LOOP ON ERROR^
964
965 ;**********
966 ;THIS TEST INSURES THAT SKIPA IS DATA INDEPENDENT. HENCE, IT ALWAYS SKIPS THE NEXT
967 ;INSTRUCTION.
968 ;THE MOVE [-1] INSTRUCTION IS USED TO TEST THE DATA INDEPENDENCE OF SKIPA.
969
970 030764 200 00 0 00 070254 A200: MOVE [-1] ;PRESET LOCATION 0 TO ALL ONES
971 030765 334 00 0 00 000000 SKIPA ;*SKIPA SKOULD ALWAYS SKIP THE NEXT INSTRUCTION
972 STOP^
973 030766 254 04 0 00 030767 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
974 030767 324 00 0 00 030770 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
975 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
976 ;IN THE SUBTEST) TO LOOP ON ERROR^
977
978 ;COND P [ADZ]
979
980 ;**********
981 ;THIS TEST VERIFIES THAT SKIPGE SKIPS THE NEXT INSTRUCTION WHEN C(E)
982 ;IS ALL ZEROS. THE MOVE INSTRUCTION IS USED TO LOAD E WITH ALL ZEROS.
983
984 030770 200 00 0 00 070253 A300: MOVE [0] ;PRESET E TO ALL ZEROS
985 030771 335 00 0 00 000000 SKIPGE ;*SKIPGE SHOULD SKIP THE NEXT INSTRUCTION
986 STOP^
987 030772 254 04 0 00 030773 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
988 030773 324 00 0 00 030774 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
989 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
990 ;IN THE SUBTEST) TO LOOP ON ERROR^
991
992 ;COND R [ADZ], AD00 S-A-1, AD AR + EN [ADAP], AD LT AR + EN [ADAP],
993 ;AD RT AR + EN [ADAP], AD AR + EN C [ADAP], F CYC ACT EN A [F1]
994
995 ;**********
996
997 ;THIS TEST VERIFIES THAT SKIP IS DATA INDEPENDENT. HENCE, SKIP NEVER SKIPS. IT ALWAYS
998 ;CONTINUES ON TO THE NEXT INSTRUCTION.
999
1000 030774 200 00 0 00 070254 A400: MOVE [-1] ;PRESET E TO ALL ONES
1001 030775 330 00 0 00 000000 SKIP ;*SKIP SHOULD NEVER SKIP THE NEXT INSTRUCTION
1002 030776 334 00 0 00 000000 SKIPA ;SKIP HALT INSTRUCTION IF TEST PASSES
1003 STOP^
1004 030777 254 04 0 00 031000 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1005 031000 324 00 0 00 031001 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1006 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1007 ;IN THE SUBTEST) TO LOOP ON ERROR^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 3-1
DFKAA1 MAC 31-JAN-77 09:33 TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS SEQ 0032
1008
1009 ;PC CHANGE [PCC], PC CHANGE A [PCC], SEE MEMORY CONTROL DWGS [MC1-4]
1010
1011 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4
DFKAA1 MAC 31-JAN-77 09:33 TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS SEQ 0033
1012 ;THIS TEST VERIFIES THAT SKIPGE WILL NOT SKIP THE NEXT INSTRUCTION WHEN C(E) IS
1013 ;NEGATIVE. THE MOVE INSTRUCTION LOADS E WITH -1, A NEGATIVE NUMBER.
1014
1015 031001 200 00 0 00 070254 A500: MOVE [-1] ;PRESET E WITH ALL ONES, A NEGATIVE NUMBER
1016 031002 335 00 0 00 000000 SKIPGE ;*SKIPGE SHOULD NOT SKIP THE NEXT INSTRUCTION
1017 031003 334 00 0 00 000000 SKIPA ;SKIP HALT INSTRUCTION IF TEST PASSES
1018 STOP^
1019 031004 254 04 0 00 031005 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1020 031005 324 00 0 00 031006 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1021 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1022 ;IN THE SUBTEST) TO LOOP ON ERROR^
1023
1024 ;IF MOVE INSTRUCTION FAILED, CHECK MOVX-: FCE [F1], -IR XXXI [IR1], -IR XXXM [IR1],
1025 ;IR HWTFWT [IR3], IR FWT [IR2], IR2XX [IR1]
1026
1027 ;IF SKIPGE FAILED, CHECK SKIPX: FCE [F1]
1028
1029 ;**********
1030
1031 ;THIS TEST VERIFIES THAT SKIPN WILL NOT SKIP THE NEXT INSTRUCTION WHEN
1032 ;C(E) IS ZERO. THE MOVE INSTRUCTION LOADS E WITH ALL ZEROS.
1033
1034 031006 200 00 0 00 070253 A600: MOVE [0] ;PRESET E WITH ALL ZEROS
1035 031007 336 00 0 00 000000 SKIPN ;*SKIPN SHOULD NOT SKIP THE NEXT INSTRUCTION
1036 031010 334 00 0 00 000000 SKIPA ;SKIP HALT INSTRUCTION IF TEST PASSES
1037 STOP^
1038 031011 254 04 0 00 031012 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1039 031012 324 00 0 00 031013 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1040 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1041 ;IN THE SUBTEST) TO LOOP ON ERROR^
1042
1043 ;**********
1044
1045 ;THIS TEST VERIFIES THAT SKIPN IS DATA DEPENDENT. HENCE, IT SHOULD SKIP
1046 ;THE NEXT INSTRUCTION WHEN C(E) IS NON-ZERO. THE MOVE INSTRUCTION LOADS
1047 ;E WITH -1, A NON-ZERO NUMBER.
1048
1049 031013 200 00 0 00 070254 A700: MOVE [-1] ;PRESET E WITH ALL ONES, A NON-ZERO NUMBER
1050 031014 336 00 0 00 000000 SKIPN ;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
1051 STOP^
1052 031015 254 04 0 00 031016 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1053 031016 324 00 0 00 031017 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1054 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1055 ;IN THE SUBTEST) TO LOOP ON ERROR^
1056
1057 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 5
DFKAA1 MAC 31-JAN-77 09:33 TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS SEQ 0034
1058 ;THIS TEST VERIFIES THAT SKIPE IS DATA DEPENDENT. HENCE, IT SHOULD NOT
1059 ;SKIP THE NEXT INSTRUCTION WHEN C(E) IS NON-ZERO. THE MOVE INSTRUCTION LOADS E
1060 ;WITH -1, A NON-ZERO NUMBER.
1061
1062 031017 200 00 0 00 070254 A1000: MOVE [-1] ;PRESET E WITH ALL ONES, A NON-ZERO NUMBER
1063 031020 332 00 0 00 000000 SKIPE ;*SKIPE SHOULD NOT SKIP THE NEXT INSTRUCTION
1064 031021 334 00 0 00 000000 SKIPA ;SKIP HALT INSTRUCTION IF TEST PASSES
1065 STOP^
1066 031022 254 04 0 00 031023 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1067 031023 324 00 0 00 031024 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1068 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1069 ;IN THE SUBTEST) TO LOOP ON ERROR^
1070
1071 ;**********
1072
1073 ;THIS TEST VERIFIES THAT SKIPE IS DATA DEPENDENT. HENCE, IT SHOULD SKIP
1074 ;THE NEXT INSTRUCTION WHEN C(E) IS ZERO. THE MOVE INSTRUCTION LOADS ALL
1075 ;ZEROS INTO E.
1076
1077 031024 200 00 0 00 070253 A1100: MOVE [0] ;PRESET E TO ALL ZEROS
1078 031025 332 00 0 00 000000 SKIPE ;*SKIPE SHOULD SKIP THE NEXT INSTRUCTION
1079 STOP^
1080 031026 254 04 0 00 031027 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1081 031027 324 00 0 00 031030 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1082 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1083 ;IN THE SUBTEST) TO LOOP ON ERROR^
1084
1085 ;**********
1086
1087 ;THIS TEST VERIFIES THAT SKIP IS DATA INDEPENDENT. HENCE, IT NEVER SKIPS. IT ALWAYS
1088 ;CONTINUES ON TO THE NEXT INSTRUCTION.
1089
1090 031030 200 00 0 00 070253 A1200: MOVE [0] ;PRESET E TO ALL ZEROS
1091 031031 330 00 0 00 000000 SKIP ;*SKIP SHOULD NEVER SKIP THE NEXT INSTRUCTION
1092 031032 334 00 0 00 000000 SKIPA ;SKIP HALT INSTRUCTION IF TEST PASSES
1093 STOP^
1094 031033 254 04 0 00 031034 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1095 031034 324 00 0 00 031035 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1096 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1097 ;IN THE SUBTEST) TO LOOP ON ERROR^
1098
1099 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6
DFKAA1 MAC 31-JAN-77 09:33 TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS SEQ 0035
1100 ;THIS TEST VERIFIES THAT SKIPL IS DATA DEPENDENT. HENCE, IT WILL NOT SKIP THE NEXT
1101 ;INSTRUCTION WHEN C(E) IS NOT NEGATIVE. THE MOVE INSTRUCTION IS USED TO LOAD
1102 ;E WITH ALL ZEROS, A NON-NEGATIVE NUMBER.
1103
1104 031035 200 00 0 00 070253 A1300: MOVE [0] ;PRESET E T0 ZERO, A NON-NEGATIVE NUMBER
1105 031036 331 00 0 00 000000 SKIPL ;*SKIPL SHOULD NOT SKIP THE NEXT INSTRUCTION
1106 031037 334 00 0 00 000000 SKIPA ;SKIP HALT INSTRUCTION IF TEST PASSES
1107 STOP^
1108 031040 254 04 0 00 031041 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1109 031041 324 00 0 00 031042 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1110 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1111 ;IN THE SUBTEST) TO LOOP ON ERROR^
1112
1113 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 7
DFKAA1 MAC 31-JAN-77 09:33 TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS SEQ 0036
1114 ;THIS TEST VERIFIES THAT SKIPL IS DATA DEPENDENT. HENCE, IT WILL SKIP THE NEXT
1115 ;INSTRUCTION WHEN C(E) IS NEGATIVE. THE MOVE INSTRUCTION IS USED TO LOAD E WITH -1,
1116 ;A NEGATIVE NUMBER.
1117
1118 031042 200 00 0 00 070254 A1400: MOVE [-1] ;PRESET E TO -1, A NEGATIVE NUMBER
1119 031043 331 00 0 00 000000 SKIPL ;*SKIPL SHOULD SKIP THE NEXT INSTRUCTION
1120 STOP^
1121 031044 254 04 0 00 031045 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1122 031045 324 00 0 00 031046 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1123 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1124 ;IN THE SUBTEST) TO LOOP ON ERROR^
1125
1126 ;**********
1127
1128 ;THIS TEST VERIFIES THAT SKIPG IS DATA DEPENDENT. HENCE, IT WILL SKIP THE NEXT
1129 ;INSTRUCTION WHEN C(E) IS GREATER THAN ZERO. THE MOVE INSTRUCTION IS USED TO LOAD
1130 ;E WITH A NON-ZERO POSITIVE NUMBER.
1131
1132 031046 200 00 0 00 070255 A1500: MOVE [XWD 377777,-1] ;PRESET E TO 377777777777, A NON-ZERO POSITIVE NUMBER
1133 031047 337 00 0 00 000000 SKIPG ;*SKIPG SHOULD SKIP THE NEXT INSTRUCTION
1134 STOP^
1135 031050 254 04 0 00 031051 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1136 031051 324 00 0 00 031052 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1137 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1138 ;IN THE SUBTEST) TO LOOP ON ERROR^
1139
1140 ;**********
1141
1142 ;THIS TEST VERIFIES THAT SKIPG IS DATA DEPENDENT. HENCE, IT WILL NOT SKIP THE NEXT
1143 ;INSTRUCTION WHEN C(E) IS NOT GREATER THAN ZERO. THE MOVE INSTRUCTION IS USED TO
1144 ;LOAD E WITH -1, A NUMBER NOT GREATER THAN ZERO.
1145
1146 031052 200 00 0 00 070254 A1600: MOVE [-1] ;PRESET E TO -1, A NEGATIVE NUMBER
1147 031053 337 00 0 00 000000 SKIPG ;*SKIPG SHOULD NOT SKIP THE NEXT INSTRUCTION
1148 031054 334 00 0 00 000000 SKIPA ;SKIP HALT INSTRUCTION IF TEST PASSES
1149 STOP^
1150 031055 254 04 0 00 031056 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1151 031056 324 00 0 00 031057 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1152 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1153 ;IN THE SUBTEST) TO LOOP ON ERROR^
1154
1155 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 8
DFKAA1 MAC 31-JAN-77 09:33 TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS SEQ 0037
1156 ;THIS TEST VERIFIES THAT SKIPL IS DATA DEPENDENT. HENCE, IT WILL NOT SKIP THE NEXT
1157 ;INSTRUCTION WHEN C(E) IS NON-NEGATIVE. THE MOVE INSTRUCTION IS USED TO LOAD E WITH
1158 ;377777777777, A NON-NEGATIVE NUMBER.
1159
1160 031057 200 00 0 00 070255 A1700: MOVE [XWD 377777,-1] ;PRESET E TO 377777777777, A NON-NEGATIVE NUMBER
1161 031060 331 00 0 00 000000 SKIPL ;*SKIPL SHOULD NOT SKIP THE NEXT INSTRUCTION
1162 031061 334 00 0 00 000000 SKIPA ;SKIP HALT INSTRUCTION IF TEST PASSES
1163 STOP^
1164 031062 254 04 0 00 031063 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1165 031063 324 00 0 00 031064 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1166 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1167 ;IN THE SUBTEST) TO LOOP ON ERROR^
1168
1169 ;**********
1170
1171 ;THIS TEST VERIFIES THAT SKIPLE IS DATA DEPENDENT. HENCE, IT WILL SKIP THE NEXT
1172 ;INSTRUCTION WHEN C(E) IS ZERO. THE MOVE INSTRUCTION LOADS E WITH ALL ZEROS.
1173
1174 031064 200 00 0 00 070253 A2000: MOVE [0] ;PRESET E TO ALL ZEROS
1175 031065 333 00 0 00 000000 SKIPLE ;*SKIPLE SHOULD SKIP THE NEXT INSTRUCTION
1176 STOP^
1177 031066 254 04 0 00 031067 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1178 031067 324 00 0 00 031070 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1179 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1180 ;IN THE SUBTEST) TO LOOP ON ERROR^
1181
1182 ;**********
1183
1184 ;THIS TEST VERIFIES THAT SKIPLE IS DATA DEPENDENT. HENCE, IT WILL SKIP THE NEXT
1185 ;INSTRUCTION WHEN E CONTAINS A NEGATIVE NUMBER. THE MOVE INSTRUCTION IS USED TO LOAD
1186 ;E WITH 400000000000, A NEGATIVE NUMBER.
1187
1188 031070 200 00 0 00 070256 A2100: MOVE [XWD 400000,0] ;PRESET E TO 400000000000, A NEGATIVE NUMBER.
1189 031071 333 00 0 00 000000 SKIPLE ;*SKIPLE SHOULD SKIP THE NEXT INSTRUCTION
1190 STOP^
1191 031072 254 04 0 00 031073 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1192 031073 324 00 0 00 031074 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1193 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1194 ;IN THE SUBTEST) TO LOOP ON ERROR^
1195
1196 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 9
DFKAA1 MAC 31-JAN-77 09:33 TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS SEQ 0038
1197 ;THIS TEST VERIFIES THAT SKIPLE IS DATA DEPENDENT. HENCE, IT WILL NOT SKIP THE NEXT
1198 ;INSTRUCTION WHEN E CONTAINS A POSITIVE NUMBER. THE MOVE INSTRUCTION LOADS
1199 ;E WITH 377777777777, A POSITIVE NUMBER.
1200
1201 031074 200 00 0 00 070255 A2200: MOVE [XWD 377777,-1] ;PRESET E TO 377777777777, A POSITIVE NUMBER
1202 031075 333 00 0 00 000000 SKIPLE ;*SKIPLE SHOULD NOT SKIP THE NEXT INSTRUCTION
1203 031076 334 00 0 00 000000 SKIPA ;SKIP HALT INSTRUCTION IF TEST PASSES
1204 STOP^
1205 031077 254 04 0 00 031100 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1206 031100 324 00 0 00 031101 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1207 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1208 ;IN THE SUBTEST) TO LOOP ON ERROR^
1209
1210 ;*********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 10
DFKAA1 MAC 31-JAN-77 09:33 TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS SEQ 0039
1211 ;THIS TEST VERIFIES THAT SKIPN IS DATA DEPENDENT. HENCE, IT WILL SKIP THE NEXT
1212 ;INSTRUCTION ;WHEN E CONTAINS A NON-ZERO NUMBER. THE MOVE INSTRUCTION IS USED TO
1213 ;LOAD 777000000000, A NON-ZERO NUMBER INTO E.
1214
1215 031101 200 00 0 00 070257 A2300: MOVE [XWD 777000,0] ;PRESET E WITH 777000000000, A NON-ZERO NUMBER
1216 031102 336 00 0 00 000000 SKIPN ;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
1217 STOP^
1218 031103 254 04 0 00 031104 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1219 031104 324 00 0 00 031105 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1220 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1221 ;IN THE SUBTEST) TO LOOP ON ERROR^
1222
1223 ;**********
1224
1225 ;THIS TEST VERIFIES THAT SKIPN IS DATA DEPENDENT. HENCE, IT WILL SKIP THE NEXT
1226 ;INSTRUCTION WHEN E CONTAINS A NON-ZERO NUMBER. THE MOVE INSTRUCTION IS USED TO
1227 ;LOAD A NON-ZERO NUMBER, 377000000 INTO E.
1228
1229 031105 200 00 0 00 070260 A2400: MOVE [XWD 377,0] ;PRESET E TO 377000000, A NON ZERO NUMBER
1230 031106 336 00 0 00 000000 SKIPN ;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
1231 STOP^
1232 031107 254 04 0 00 031110 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1233 031110 324 00 0 00 031111 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1234 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1235 ;IN THE SUBTEST) TO LOOP ON ERROR^
1236
1237 ;**********
1238
1239 ;THIS TEST VERIFIES THAT SKIPN IS DATA DEPENDENT. HENCE, IT WILL SKIP THE NEXT
1240 ;INSTRUCTION WHEN E CONTAINS A NON-ZERO NUMBER. THE MOVE INSTRUCTION IS USED TO
1241 ;LOAD E WITH A NON-ZERO NUMBER, 177000.
1242
1243 031111 200 00 0 00 070261 A2500: MOVE [177000] ;PRESET E WITH 177000, A NON ZERO NUMBER
1244 031112 336 00 0 00 000000 SKIPN ;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
1245 STOP^
1246 031113 254 04 0 00 031114 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1247 031114 324 00 0 00 031115 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1248 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1249 ;IN THE SUBTEST) TO LOOP ON ERROR^
1250
1251 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 11
DFKAA1 MAC 31-JAN-77 09:33 TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS SEQ 0040
1252 ;THIS TEST VERIFIES THAT SKIPN IS DATA DEPENDENT. HENCE, IT WILL SKIP THE NEXT
1253 ;INSTRUCTION WHEN E CONTAINS A NON-ZERO NUMBER. THE MOVE INSTRUCTION IS USED TO
1254 ;LOAD 777, A NON-ZERO NUMBER INTO E.
1255
1256 031115 200 00 0 00 070262 A2600: MOVE [777] ;PRESET E WITH 777, A NON-ZERO NUMBER
1257 031116 336 00 0 00 000000 SKIPN ;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
1258 STOP^
1259 031117 254 04 0 00 031120 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1260 031120 324 00 0 00 031121 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1261 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1262 ;IN THE SUBTEST) TO LOOP ON ERROR^
1263
1264 ;**********
1265
1266 ;THIS TEST VERIFIES THAT SKIPN IS DATA DEPENDENT. HENCE, IT WILL SKIP THE NEXT
1267 ;INSTRUCTION WHEN E CONTAINS A NON-ZERO NUMBER. THE MOVE INSTRUCTION IS USED TO
1268 ;LOAD E WITH 600000, A NON-ZERO NUMBER.
1269
1270 031121 200 00 0 00 070263 A2700: MOVE [600000] ;PRESET E WITK 600000, A NON-ZERO NUMBER
1271 031122 336 00 0 00 000000 SKIPN ;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
1272 STOP^
1273 031123 254 04 0 00 031124 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1274 031124 324 00 0 00 031125 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1275 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1276 ;IN THE SUBTEST) TO LOOP ON ERROR^
1277
1278 ;**********
1279
1280 ;THIS TEST VERIFIES THAT SKIPN IS DATA DEPENDENT. HENCE, IT WILL SKIP THE NEXT
1281 ;INSTRUCTION WHEN E CONTAINS A NON-ZERO NUMBER. THE MOVE INSTRUCTION IS USED TO
1282 ;LOAD E WITH 400000000, A NON-ZERO NUMBER.
1283
1284 031125 200 00 0 00 070264 A3000: MOVE [XWD 400,000] ;PRESET E WITH 400000000, A NON-ZERO NUMBER
1285 031126 336 00 0 00 000000 SKIPN ;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
1286 STOP^
1287 031127 254 04 0 00 031130 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1288 031130 324 00 0 00 031131 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1289 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1290 ;IN THE SUBTEST) TO LOOP ON ERROR^
1291
1292 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 12
DFKAA1 MAC 31-JAN-77 09:33 TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS SEQ 0041
1293 003100 SN=3100
1294 000000 ZZ=0
1295
1296 A3100: REPEAT ^D36,
1297 <;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION. THIS TEST
1298 ;IS REPEATED 36 TIMES. EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
1299 ;BIT POSITION IS MOVED INTO E. THEN SKIPN IS EXECUTED. THIS TEST ALSO
1300 ;CHECKS ADDER GATING. IF THIS TEST FAILS, CHECK C(E).
1301 ;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
1302
1303 SN=SN+1
1304 ZZ=ZZ+ZZ
1305 IFE ZZ,<ZZ=1>
1306 MOVE [ZZ] ;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
1307 SKIPN ;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
1308 STOP
1309
1310 ;**********
1311 >
1312 ;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION. THIS TEST
1313 ;IS REPEATED 36 TIMES. EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
1314 ;BIT POSITION IS MOVED INTO E. THEN SKIPN IS EXECUTED. THIS TEST ALSO
1315 ;CHECKS ADDER GATING. IF THIS TEST FAILS, CHECK C(E).
1316 ;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
1317
1318 003101 SN=SN+1
1319 000000 ZZ=ZZ+ZZ
1320 000001 IFE ZZ,<ZZ=1>
1321 031131 200 00 0 00 070265 MOVE [ZZ] ;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
1322 031132 336 00 0 00 000000 SKIPN ;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
1323 STOP^
1324 031133 254 04 0 00 031134 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1325 031134 324 00 0 00 031135 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1326 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1327 ;IN THE SUBTEST) TO LOOP ON ERROR^
1328
1329 ;**********
1330
1331 ;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION. THIS TEST
1332 ;IS REPEATED 36 TIMES. EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
1333 ;BIT POSITION IS MOVED INTO E. THEN SKIPN IS EXECUTED. THIS TEST ALSO
1334 ;CHECKS ADDER GATING. IF THIS TEST FAILS, CHECK C(E).
1335 ;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
1336
1337 003102 SN=SN+1
1338 000002 ZZ=ZZ+ZZ
1339 IFE ZZ,<ZZ=1>
1340 031135 200 00 0 00 070266 MOVE [ZZ] ;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
1341 031136 336 00 0 00 000000 SKIPN ;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
1342 STOP^
1343 031137 254 04 0 00 031140 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1344 031140 324 00 0 00 031141 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1345 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1346 ;IN THE SUBTEST) TO LOOP ON ERROR^
1347
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 12-1
DFKAA1 MAC 31-JAN-77 09:33 TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS SEQ 0042
1348 ;**********
1349
1350 ;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION. THIS TEST
1351 ;IS REPEATED 36 TIMES. EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
1352 ;BIT POSITION IS MOVED INTO E. THEN SKIPN IS EXECUTED. THIS TEST ALSO
1353 ;CHECKS ADDER GATING. IF THIS TEST FAILS, CHECK C(E).
1354 ;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
1355
1356 003103 SN=SN+1
1357 000004 ZZ=ZZ+ZZ
1358 IFE ZZ,<ZZ=1>
1359 031141 200 00 0 00 070267 MOVE [ZZ] ;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
1360 031142 336 00 0 00 000000 SKIPN ;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
1361 STOP^
1362 031143 254 04 0 00 031144 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1363 031144 324 00 0 00 031145 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1364 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1365 ;IN THE SUBTEST) TO LOOP ON ERROR^
1366
1367 ;**********
1368
1369 ;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION. THIS TEST
1370 ;IS REPEATED 36 TIMES. EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
1371 ;BIT POSITION IS MOVED INTO E. THEN SKIPN IS EXECUTED. THIS TEST ALSO
1372 ;CHECKS ADDER GATING. IF THIS TEST FAILS, CHECK C(E).
1373 ;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
1374
1375 003104 SN=SN+1
1376 000010 ZZ=ZZ+ZZ
1377 IFE ZZ,<ZZ=1>
1378 031145 200 00 0 00 070270 MOVE [ZZ] ;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
1379 031146 336 00 0 00 000000 SKIPN ;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
1380 STOP^
1381 031147 254 04 0 00 031150 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1382 031150 324 00 0 00 031151 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1383 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1384 ;IN THE SUBTEST) TO LOOP ON ERROR^
1385
1386 ;**********
1387
1388 ;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION. THIS TEST
1389 ;IS REPEATED 36 TIMES. EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
1390 ;BIT POSITION IS MOVED INTO E. THEN SKIPN IS EXECUTED. THIS TEST ALSO
1391 ;CHECKS ADDER GATING. IF THIS TEST FAILS, CHECK C(E).
1392 ;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
1393
1394 003105 SN=SN+1
1395 000020 ZZ=ZZ+ZZ
1396 IFE ZZ,<ZZ=1>
1397 031151 200 00 0 00 070271 MOVE [ZZ] ;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
1398 031152 336 00 0 00 000000 SKIPN ;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
1399 STOP^
1400 031153 254 04 0 00 031154 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1401 031154 324 00 0 00 031155 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1402 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 12-2
DFKAA1 MAC 31-JAN-77 09:33 TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS SEQ 0043
1403 ;IN THE SUBTEST) TO LOOP ON ERROR^
1404
1405 ;**********
1406
1407 ;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION. THIS TEST
1408 ;IS REPEATED 36 TIMES. EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
1409 ;BIT POSITION IS MOVED INTO E. THEN SKIPN IS EXECUTED. THIS TEST ALSO
1410 ;CHECKS ADDER GATING. IF THIS TEST FAILS, CHECK C(E).
1411 ;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
1412
1413 003106 SN=SN+1
1414 000040 ZZ=ZZ+ZZ
1415 IFE ZZ,<ZZ=1>
1416 031155 200 00 0 00 070272 MOVE [ZZ] ;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
1417 031156 336 00 0 00 000000 SKIPN ;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
1418 STOP^
1419 031157 254 04 0 00 031160 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1420 031160 324 00 0 00 031161 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1421 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1422 ;IN THE SUBTEST) TO LOOP ON ERROR^
1423
1424 ;**********
1425
1426 ;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION. THIS TEST
1427 ;IS REPEATED 36 TIMES. EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
1428 ;BIT POSITION IS MOVED INTO E. THEN SKIPN IS EXECUTED. THIS TEST ALSO
1429 ;CHECKS ADDER GATING. IF THIS TEST FAILS, CHECK C(E).
1430 ;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
1431
1432 003107 SN=SN+1
1433 000100 ZZ=ZZ+ZZ
1434 IFE ZZ,<ZZ=1>
1435 031161 200 00 0 00 070273 MOVE [ZZ] ;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
1436 031162 336 00 0 00 000000 SKIPN ;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
1437 STOP^
1438 031163 254 04 0 00 031164 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1439 031164 324 00 0 00 031165 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1440 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1441 ;IN THE SUBTEST) TO LOOP ON ERROR^
1442
1443 ;**********
1444
1445 ;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION. THIS TEST
1446 ;IS REPEATED 36 TIMES. EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
1447 ;BIT POSITION IS MOVED INTO E. THEN SKIPN IS EXECUTED. THIS TEST ALSO
1448 ;CHECKS ADDER GATING. IF THIS TEST FAILS, CHECK C(E).
1449 ;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
1450
1451 003110 SN=SN+1
1452 000200 ZZ=ZZ+ZZ
1453 IFE ZZ,<ZZ=1>
1454 031165 200 00 0 00 070274 MOVE [ZZ] ;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
1455 031166 336 00 0 00 000000 SKIPN ;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
1456 STOP^
1457 031167 254 04 0 00 031170 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 12-3
DFKAA1 MAC 31-JAN-77 09:33 TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS SEQ 0044
1458 031170 324 00 0 00 031171 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1459 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1460 ;IN THE SUBTEST) TO LOOP ON ERROR^
1461
1462 ;**********
1463
1464 ;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION. THIS TEST
1465 ;IS REPEATED 36 TIMES. EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
1466 ;BIT POSITION IS MOVED INTO E. THEN SKIPN IS EXECUTED. THIS TEST ALSO
1467 ;CHECKS ADDER GATING. IF THIS TEST FAILS, CHECK C(E).
1468 ;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
1469
1470 003111 SN=SN+1
1471 000400 ZZ=ZZ+ZZ
1472 IFE ZZ,<ZZ=1>
1473 031171 200 00 0 00 070275 MOVE [ZZ] ;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
1474 031172 336 00 0 00 000000 SKIPN ;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
1475 STOP^
1476 031173 254 04 0 00 031174 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1477 031174 324 00 0 00 031175 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1478 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1479 ;IN THE SUBTEST) TO LOOP ON ERROR^
1480
1481 ;**********
1482
1483 ;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION. THIS TEST
1484 ;IS REPEATED 36 TIMES. EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
1485 ;BIT POSITION IS MOVED INTO E. THEN SKIPN IS EXECUTED. THIS TEST ALSO
1486 ;CHECKS ADDER GATING. IF THIS TEST FAILS, CHECK C(E).
1487 ;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
1488
1489 003112 SN=SN+1
1490 001000 ZZ=ZZ+ZZ
1491 IFE ZZ,<ZZ=1>
1492 031175 200 00 0 00 070276 MOVE [ZZ] ;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
1493 031176 336 00 0 00 000000 SKIPN ;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
1494 STOP^
1495 031177 254 04 0 00 031200 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1496 031200 324 00 0 00 031201 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1497 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1498 ;IN THE SUBTEST) TO LOOP ON ERROR^
1499
1500 ;**********
1501
1502 ;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION. THIS TEST
1503 ;IS REPEATED 36 TIMES. EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
1504 ;BIT POSITION IS MOVED INTO E. THEN SKIPN IS EXECUTED. THIS TEST ALSO
1505 ;CHECKS ADDER GATING. IF THIS TEST FAILS, CHECK C(E).
1506 ;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
1507
1508 003113 SN=SN+1
1509 002000 ZZ=ZZ+ZZ
1510 IFE ZZ,<ZZ=1>
1511 031201 200 00 0 00 070277 MOVE [ZZ] ;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
1512 031202 336 00 0 00 000000 SKIPN ;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 12-4
DFKAA1 MAC 31-JAN-77 09:33 TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS SEQ 0045
1513 STOP^
1514 031203 254 04 0 00 031204 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1515 031204 324 00 0 00 031205 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1516 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1517 ;IN THE SUBTEST) TO LOOP ON ERROR^
1518
1519 ;**********
1520
1521 ;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION. THIS TEST
1522 ;IS REPEATED 36 TIMES. EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
1523 ;BIT POSITION IS MOVED INTO E. THEN SKIPN IS EXECUTED. THIS TEST ALSO
1524 ;CHECKS ADDER GATING. IF THIS TEST FAILS, CHECK C(E).
1525 ;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
1526
1527 003114 SN=SN+1
1528 004000 ZZ=ZZ+ZZ
1529 IFE ZZ,<ZZ=1>
1530 031205 200 00 0 00 070300 MOVE [ZZ] ;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
1531 031206 336 00 0 00 000000 SKIPN ;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
1532 STOP^
1533 031207 254 04 0 00 031210 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1534 031210 324 00 0 00 031211 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1535 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1536 ;IN THE SUBTEST) TO LOOP ON ERROR^
1537
1538 ;**********
1539
1540 ;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION. THIS TEST
1541 ;IS REPEATED 36 TIMES. EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
1542 ;BIT POSITION IS MOVED INTO E. THEN SKIPN IS EXECUTED. THIS TEST ALSO
1543 ;CHECKS ADDER GATING. IF THIS TEST FAILS, CHECK C(E).
1544 ;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
1545
1546 003115 SN=SN+1
1547 010000 ZZ=ZZ+ZZ
1548 IFE ZZ,<ZZ=1>
1549 031211 200 00 0 00 070301 MOVE [ZZ] ;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
1550 031212 336 00 0 00 000000 SKIPN ;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
1551 STOP^
1552 031213 254 04 0 00 031214 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1553 031214 324 00 0 00 031215 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1554 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1555 ;IN THE SUBTEST) TO LOOP ON ERROR^
1556
1557 ;**********
1558
1559 ;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION. THIS TEST
1560 ;IS REPEATED 36 TIMES. EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
1561 ;BIT POSITION IS MOVED INTO E. THEN SKIPN IS EXECUTED. THIS TEST ALSO
1562 ;CHECKS ADDER GATING. IF THIS TEST FAILS, CHECK C(E).
1563 ;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
1564
1565 003116 SN=SN+1
1566 020000 ZZ=ZZ+ZZ
1567 IFE ZZ,<ZZ=1>
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 12-5
DFKAA1 MAC 31-JAN-77 09:33 TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS SEQ 0046
1568 031215 200 00 0 00 070302 MOVE [ZZ] ;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
1569 031216 336 00 0 00 000000 SKIPN ;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
1570 STOP^
1571 031217 254 04 0 00 031220 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1572 031220 324 00 0 00 031221 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1573 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1574 ;IN THE SUBTEST) TO LOOP ON ERROR^
1575
1576 ;**********
1577
1578 ;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION. THIS TEST
1579 ;IS REPEATED 36 TIMES. EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
1580 ;BIT POSITION IS MOVED INTO E. THEN SKIPN IS EXECUTED. THIS TEST ALSO
1581 ;CHECKS ADDER GATING. IF THIS TEST FAILS, CHECK C(E).
1582 ;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
1583
1584 003117 SN=SN+1
1585 040000 ZZ=ZZ+ZZ
1586 IFE ZZ,<ZZ=1>
1587 031221 200 00 0 00 070303 MOVE [ZZ] ;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
1588 031222 336 00 0 00 000000 SKIPN ;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
1589 STOP^
1590 031223 254 04 0 00 031224 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1591 031224 324 00 0 00 031225 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1592 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1593 ;IN THE SUBTEST) TO LOOP ON ERROR^
1594
1595 ;**********
1596
1597 ;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION. THIS TEST
1598 ;IS REPEATED 36 TIMES. EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
1599 ;BIT POSITION IS MOVED INTO E. THEN SKIPN IS EXECUTED. THIS TEST ALSO
1600 ;CHECKS ADDER GATING. IF THIS TEST FAILS, CHECK C(E).
1601 ;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
1602
1603 003120 SN=SN+1
1604 100000 ZZ=ZZ+ZZ
1605 IFE ZZ,<ZZ=1>
1606 031225 200 00 0 00 070304 MOVE [ZZ] ;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
1607 031226 336 00 0 00 000000 SKIPN ;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
1608 STOP^
1609 031227 254 04 0 00 031230 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1610 031230 324 00 0 00 031231 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1611 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1612 ;IN THE SUBTEST) TO LOOP ON ERROR^
1613
1614 ;**********
1615
1616 ;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION. THIS TEST
1617 ;IS REPEATED 36 TIMES. EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
1618 ;BIT POSITION IS MOVED INTO E. THEN SKIPN IS EXECUTED. THIS TEST ALSO
1619 ;CHECKS ADDER GATING. IF THIS TEST FAILS, CHECK C(E).
1620 ;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
1621
1622 003121 SN=SN+1
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 12-6
DFKAA1 MAC 31-JAN-77 09:33 TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS SEQ 0047
1623 200000 ZZ=ZZ+ZZ
1624 IFE ZZ,<ZZ=1>
1625 031231 200 00 0 00 070305 MOVE [ZZ] ;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
1626 031232 336 00 0 00 000000 SKIPN ;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
1627 STOP^
1628 031233 254 04 0 00 031234 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1629 031234 324 00 0 00 031235 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1630 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1631 ;IN THE SUBTEST) TO LOOP ON ERROR^
1632
1633 ;**********
1634
1635 ;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION. THIS TEST
1636 ;IS REPEATED 36 TIMES. EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
1637 ;BIT POSITION IS MOVED INTO E. THEN SKIPN IS EXECUTED. THIS TEST ALSO
1638 ;CHECKS ADDER GATING. IF THIS TEST FAILS, CHECK C(E).
1639 ;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
1640
1641 003122 SN=SN+1
1642 400000 ZZ=ZZ+ZZ
1643 IFE ZZ,<ZZ=1>
1644 031235 200 00 0 00 070306 MOVE [ZZ] ;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
1645 031236 336 00 0 00 000000 SKIPN ;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
1646 STOP^
1647 031237 254 04 0 00 031240 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1648 031240 324 00 0 00 031241 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1649 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1650 ;IN THE SUBTEST) TO LOOP ON ERROR^
1651
1652 ;**********
1653
1654 ;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION. THIS TEST
1655 ;IS REPEATED 36 TIMES. EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
1656 ;BIT POSITION IS MOVED INTO E. THEN SKIPN IS EXECUTED. THIS TEST ALSO
1657 ;CHECKS ADDER GATING. IF THIS TEST FAILS, CHECK C(E).
1658 ;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
1659
1660 003123 SN=SN+1
1661 000001 000000 ZZ=ZZ+ZZ
1662 IFE ZZ,<ZZ=1>
1663 031241 200 00 0 00 070307 MOVE [ZZ] ;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
1664 031242 336 00 0 00 000000 SKIPN ;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
1665 STOP^
1666 031243 254 04 0 00 031244 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1667 031244 324 00 0 00 031245 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1668 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1669 ;IN THE SUBTEST) TO LOOP ON ERROR^
1670
1671 ;**********
1672
1673 ;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION. THIS TEST
1674 ;IS REPEATED 36 TIMES. EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
1675 ;BIT POSITION IS MOVED INTO E. THEN SKIPN IS EXECUTED. THIS TEST ALSO
1676 ;CHECKS ADDER GATING. IF THIS TEST FAILS, CHECK C(E).
1677 ;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 12-7
DFKAA1 MAC 31-JAN-77 09:33 TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS SEQ 0048
1678
1679 003124 SN=SN+1
1680 000002 000000 ZZ=ZZ+ZZ
1681 IFE ZZ,<ZZ=1>
1682 031245 200 00 0 00 070310 MOVE [ZZ] ;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
1683 031246 336 00 0 00 000000 SKIPN ;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
1684 STOP^
1685 031247 254 04 0 00 031250 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1686 031250 324 00 0 00 031251 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1687 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1688 ;IN THE SUBTEST) TO LOOP ON ERROR^
1689
1690 ;**********
1691
1692 ;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION. THIS TEST
1693 ;IS REPEATED 36 TIMES. EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
1694 ;BIT POSITION IS MOVED INTO E. THEN SKIPN IS EXECUTED. THIS TEST ALSO
1695 ;CHECKS ADDER GATING. IF THIS TEST FAILS, CHECK C(E).
1696 ;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
1697
1698 003125 SN=SN+1
1699 000004 000000 ZZ=ZZ+ZZ
1700 IFE ZZ,<ZZ=1>
1701 031251 200 00 0 00 070311 MOVE [ZZ] ;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
1702 031252 336 00 0 00 000000 SKIPN ;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
1703 STOP^
1704 031253 254 04 0 00 031254 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1705 031254 324 00 0 00 031255 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1706 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1707 ;IN THE SUBTEST) TO LOOP ON ERROR^
1708
1709 ;**********
1710
1711 ;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION. THIS TEST
1712 ;IS REPEATED 36 TIMES. EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
1713 ;BIT POSITION IS MOVED INTO E. THEN SKIPN IS EXECUTED. THIS TEST ALSO
1714 ;CHECKS ADDER GATING. IF THIS TEST FAILS, CHECK C(E).
1715 ;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
1716
1717 003126 SN=SN+1
1718 000010 000000 ZZ=ZZ+ZZ
1719 IFE ZZ,<ZZ=1>
1720 031255 200 00 0 00 070312 MOVE [ZZ] ;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
1721 031256 336 00 0 00 000000 SKIPN ;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
1722 STOP^
1723 031257 254 04 0 00 031260 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1724 031260 324 00 0 00 031261 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1725 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1726 ;IN THE SUBTEST) TO LOOP ON ERROR^
1727
1728 ;**********
1729
1730 ;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION. THIS TEST
1731 ;IS REPEATED 36 TIMES. EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
1732 ;BIT POSITION IS MOVED INTO E. THEN SKIPN IS EXECUTED. THIS TEST ALSO
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 12-8
DFKAA1 MAC 31-JAN-77 09:33 TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS SEQ 0049
1733 ;CHECKS ADDER GATING. IF THIS TEST FAILS, CHECK C(E).
1734 ;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
1735
1736 003127 SN=SN+1
1737 000020 000000 ZZ=ZZ+ZZ
1738 IFE ZZ,<ZZ=1>
1739 031261 200 00 0 00 070313 MOVE [ZZ] ;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
1740 031262 336 00 0 00 000000 SKIPN ;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
1741 STOP^
1742 031263 254 04 0 00 031264 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1743 031264 324 00 0 00 031265 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1744 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1745 ;IN THE SUBTEST) TO LOOP ON ERROR^
1746
1747 ;**********
1748
1749 ;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION. THIS TEST
1750 ;IS REPEATED 36 TIMES. EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
1751 ;BIT POSITION IS MOVED INTO E. THEN SKIPN IS EXECUTED. THIS TEST ALSO
1752 ;CHECKS ADDER GATING. IF THIS TEST FAILS, CHECK C(E).
1753 ;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
1754
1755 003130 SN=SN+1
1756 000040 000000 ZZ=ZZ+ZZ
1757 IFE ZZ,<ZZ=1>
1758 031265 200 00 0 00 070314 MOVE [ZZ] ;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
1759 031266 336 00 0 00 000000 SKIPN ;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
1760 STOP^
1761 031267 254 04 0 00 031270 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1762 031270 324 00 0 00 031271 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1763 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1764 ;IN THE SUBTEST) TO LOOP ON ERROR^
1765
1766 ;**********
1767
1768 ;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION. THIS TEST
1769 ;IS REPEATED 36 TIMES. EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
1770 ;BIT POSITION IS MOVED INTO E. THEN SKIPN IS EXECUTED. THIS TEST ALSO
1771 ;CHECKS ADDER GATING. IF THIS TEST FAILS, CHECK C(E).
1772 ;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
1773
1774 003131 SN=SN+1
1775 000100 000000 ZZ=ZZ+ZZ
1776 IFE ZZ,<ZZ=1>
1777 031271 200 00 0 00 070315 MOVE [ZZ] ;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
1778 031272 336 00 0 00 000000 SKIPN ;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
1779 STOP^
1780 031273 254 04 0 00 031274 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1781 031274 324 00 0 00 031275 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1782 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1783 ;IN THE SUBTEST) TO LOOP ON ERROR^
1784
1785 ;**********
1786
1787 ;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION. THIS TEST
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 12-9
DFKAA1 MAC 31-JAN-77 09:33 TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS SEQ 0050
1788 ;IS REPEATED 36 TIMES. EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
1789 ;BIT POSITION IS MOVED INTO E. THEN SKIPN IS EXECUTED. THIS TEST ALSO
1790 ;CHECKS ADDER GATING. IF THIS TEST FAILS, CHECK C(E).
1791 ;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
1792
1793 003132 SN=SN+1
1794 000200 000000 ZZ=ZZ+ZZ
1795 IFE ZZ,<ZZ=1>
1796 031275 200 00 0 00 070316 MOVE [ZZ] ;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
1797 031276 336 00 0 00 000000 SKIPN ;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
1798 STOP^
1799 031277 254 04 0 00 031300 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1800 031300 324 00 0 00 031301 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1801 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1802 ;IN THE SUBTEST) TO LOOP ON ERROR^
1803
1804 ;**********
1805
1806 ;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION. THIS TEST
1807 ;IS REPEATED 36 TIMES. EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
1808 ;BIT POSITION IS MOVED INTO E. THEN SKIPN IS EXECUTED. THIS TEST ALSO
1809 ;CHECKS ADDER GATING. IF THIS TEST FAILS, CHECK C(E).
1810 ;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
1811
1812 003133 SN=SN+1
1813 000400 000000 ZZ=ZZ+ZZ
1814 IFE ZZ,<ZZ=1>
1815 031301 200 00 0 00 070264 MOVE [ZZ] ;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
1816 031302 336 00 0 00 000000 SKIPN ;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
1817 STOP^
1818 031303 254 04 0 00 031304 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1819 031304 324 00 0 00 031305 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1820 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1821 ;IN THE SUBTEST) TO LOOP ON ERROR^
1822
1823 ;**********
1824
1825 ;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION. THIS TEST
1826 ;IS REPEATED 36 TIMES. EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
1827 ;BIT POSITION IS MOVED INTO E. THEN SKIPN IS EXECUTED. THIS TEST ALSO
1828 ;CHECKS ADDER GATING. IF THIS TEST FAILS, CHECK C(E).
1829 ;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
1830
1831 003134 SN=SN+1
1832 001000 000000 ZZ=ZZ+ZZ
1833 IFE ZZ,<ZZ=1>
1834 031305 200 00 0 00 070317 MOVE [ZZ] ;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
1835 031306 336 00 0 00 000000 SKIPN ;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
1836 STOP^
1837 031307 254 04 0 00 031310 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1838 031310 324 00 0 00 031311 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1839 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1840 ;IN THE SUBTEST) TO LOOP ON ERROR^
1841
1842 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 12-10
DFKAA1 MAC 31-JAN-77 09:33 TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS SEQ 0051
1843
1844 ;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION. THIS TEST
1845 ;IS REPEATED 36 TIMES. EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
1846 ;BIT POSITION IS MOVED INTO E. THEN SKIPN IS EXECUTED. THIS TEST ALSO
1847 ;CHECKS ADDER GATING. IF THIS TEST FAILS, CHECK C(E).
1848 ;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
1849
1850 003135 SN=SN+1
1851 002000 000000 ZZ=ZZ+ZZ
1852 IFE ZZ,<ZZ=1>
1853 031311 200 00 0 00 070320 MOVE [ZZ] ;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
1854 031312 336 00 0 00 000000 SKIPN ;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
1855 STOP^
1856 031313 254 04 0 00 031314 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1857 031314 324 00 0 00 031315 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1858 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1859 ;IN THE SUBTEST) TO LOOP ON ERROR^
1860
1861 ;**********
1862
1863 ;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION. THIS TEST
1864 ;IS REPEATED 36 TIMES. EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
1865 ;BIT POSITION IS MOVED INTO E. THEN SKIPN IS EXECUTED. THIS TEST ALSO
1866 ;CHECKS ADDER GATING. IF THIS TEST FAILS, CHECK C(E).
1867 ;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
1868
1869 003136 SN=SN+1
1870 004000 000000 ZZ=ZZ+ZZ
1871 IFE ZZ,<ZZ=1>
1872 031315 200 00 0 00 070321 MOVE [ZZ] ;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
1873 031316 336 00 0 00 000000 SKIPN ;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
1874 STOP^
1875 031317 254 04 0 00 031320 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1876 031320 324 00 0 00 031321 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1877 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1878 ;IN THE SUBTEST) TO LOOP ON ERROR^
1879
1880 ;**********
1881
1882 ;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION. THIS TEST
1883 ;IS REPEATED 36 TIMES. EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
1884 ;BIT POSITION IS MOVED INTO E. THEN SKIPN IS EXECUTED. THIS TEST ALSO
1885 ;CHECKS ADDER GATING. IF THIS TEST FAILS, CHECK C(E).
1886 ;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
1887
1888 003137 SN=SN+1
1889 010000 000000 ZZ=ZZ+ZZ
1890 IFE ZZ,<ZZ=1>
1891 031321 200 00 0 00 070322 MOVE [ZZ] ;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
1892 031322 336 00 0 00 000000 SKIPN ;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
1893 STOP^
1894 031323 254 04 0 00 031324 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1895 031324 324 00 0 00 031325 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1896 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1897 ;IN THE SUBTEST) TO LOOP ON ERROR^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 12-11
DFKAA1 MAC 31-JAN-77 09:33 TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS SEQ 0052
1898
1899 ;**********
1900
1901 ;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION. THIS TEST
1902 ;IS REPEATED 36 TIMES. EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
1903 ;BIT POSITION IS MOVED INTO E. THEN SKIPN IS EXECUTED. THIS TEST ALSO
1904 ;CHECKS ADDER GATING. IF THIS TEST FAILS, CHECK C(E).
1905 ;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
1906
1907 003140 SN=SN+1
1908 020000 000000 ZZ=ZZ+ZZ
1909 IFE ZZ,<ZZ=1>
1910 031325 200 00 0 00 070323 MOVE [ZZ] ;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
1911 031326 336 00 0 00 000000 SKIPN ;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
1912 STOP^
1913 031327 254 04 0 00 031330 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1914 031330 324 00 0 00 031331 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1915 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1916 ;IN THE SUBTEST) TO LOOP ON ERROR^
1917
1918 ;**********
1919
1920 ;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION. THIS TEST
1921 ;IS REPEATED 36 TIMES. EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
1922 ;BIT POSITION IS MOVED INTO E. THEN SKIPN IS EXECUTED. THIS TEST ALSO
1923 ;CHECKS ADDER GATING. IF THIS TEST FAILS, CHECK C(E).
1924 ;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
1925
1926 003141 SN=SN+1
1927 040000 000000 ZZ=ZZ+ZZ
1928 IFE ZZ,<ZZ=1>
1929 031331 200 00 0 00 070324 MOVE [ZZ] ;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
1930 031332 336 00 0 00 000000 SKIPN ;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
1931 STOP^
1932 031333 254 04 0 00 031334 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1933 031334 324 00 0 00 031335 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1934 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1935 ;IN THE SUBTEST) TO LOOP ON ERROR^
1936
1937 ;**********
1938
1939 ;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION. THIS TEST
1940 ;IS REPEATED 36 TIMES. EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
1941 ;BIT POSITION IS MOVED INTO E. THEN SKIPN IS EXECUTED. THIS TEST ALSO
1942 ;CHECKS ADDER GATING. IF THIS TEST FAILS, CHECK C(E).
1943 ;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
1944
1945 003142 SN=SN+1
1946 100000 000000 ZZ=ZZ+ZZ
1947 IFE ZZ,<ZZ=1>
1948 031335 200 00 0 00 070325 MOVE [ZZ] ;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
1949 031336 336 00 0 00 000000 SKIPN ;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
1950 STOP^
1951 031337 254 04 0 00 031340 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1952 031340 324 00 0 00 031341 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 12-12
DFKAA1 MAC 31-JAN-77 09:33 TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS SEQ 0053
1953 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1954 ;IN THE SUBTEST) TO LOOP ON ERROR^
1955
1956 ;**********
1957
1958 ;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION. THIS TEST
1959 ;IS REPEATED 36 TIMES. EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
1960 ;BIT POSITION IS MOVED INTO E. THEN SKIPN IS EXECUTED. THIS TEST ALSO
1961 ;CHECKS ADDER GATING. IF THIS TEST FAILS, CHECK C(E).
1962 ;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
1963
1964 003143 SN=SN+1
1965 200000 000000 ZZ=ZZ+ZZ
1966 IFE ZZ,<ZZ=1>
1967 031341 200 00 0 00 070326 MOVE [ZZ] ;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
1968 031342 336 00 0 00 000000 SKIPN ;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
1969 STOP^
1970 031343 254 04 0 00 031344 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1971 031344 324 00 0 00 031345 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1972 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1973 ;IN THE SUBTEST) TO LOOP ON ERROR^
1974
1975 ;**********
1976
1977 ;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION. THIS TEST
1978 ;IS REPEATED 36 TIMES. EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
1979 ;BIT POSITION IS MOVED INTO E. THEN SKIPN IS EXECUTED. THIS TEST ALSO
1980 ;CHECKS ADDER GATING. IF THIS TEST FAILS, CHECK C(E).
1981 ;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
1982
1983 003144 SN=SN+1
1984 400000 000000 ZZ=ZZ+ZZ
1985 IFE ZZ,<ZZ=1>
1986 031345 200 00 0 00 070256 MOVE [ZZ] ;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
1987 031346 336 00 0 00 000000 SKIPN ;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
1988 STOP^
1989 031347 254 04 0 00 031350 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
1990 031350 324 00 0 00 031351 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
1991 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
1992 ;IN THE SUBTEST) TO LOOP ON ERROR^
1993
1994 ;**********
1995
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 13
DFKAA1 MAC 31-JAN-77 09:33 TEST OF MOVE, SKIP AND COMPARE INSTRUCTIONS SEQ 0054
1996 SUBTTL TEST OF MOVE, SKIP AND COMPARE INSTRUCTIONS
1997
1998 ;THIS TEST VERIFIES THAT MOVEI LOADS E INTO THE AC. SKIPG IS USED TO CHECK THAT
1999 ;THE AC WAS INDEED MODIFIED BY MOVEI.
2000
2001 031351 201 00 0 00 070254 A3200: MOVEI [-1] ;*MOVEI SHOULD LOAD A POSITIVE NUMBER INTO AC0
2002 031352 337 00 0 00 000000 SKIPG ;SKIP HALT INSTRUCTION IF MOVEI LOADED AC CORRECTLY
2003 STOP^
2004 031353 254 04 0 00 031354 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2005 031354 324 00 0 00 031355 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2006 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2007 ;IN THE SUBTEST) TO LOOP ON ERROR^
2008
2009 ;IF PROGRAM HANGS UP ON MOVEI INSTRUCTION, CHECK AD FM +EN [ADFP], AD FM + EN A [ADFP],
2010 ;AD FM + F/F [ADFP], F CYC ACT EN C [F1]
2011
2012 ;**********
2013
2014 ;THIS TEST VERIFIES THAT SKIPL IS SENSITIVE TO THE DATA IN E AND NOT SENSITIVE TO
2015 ;THE DATA IN THE AC. HENCE, SKIPL WILL SKIP THE NEXT INSTRUCTION ONLY IF
2016 ;C(E) IS LESS THAN ZERO. E IS SET TO -1, A NEGATIVE NUMBER; AND
2017 ;THE AC IS SET TO 0 IN THIS TEST. THEREFORE SKIPL SHOULD SKIP.
2018
2019 031355 200 00 0 00 070253 A3300: MOVE [0] ;SET THE AC TO ALL ZEROS
2020 031356 331 00 0 00 070254 SKIPL [-1] ;*SKIPL SHOULD SKIP BECAUSE C(E) IS NEGATIVE
2021 STOP^
2022 031357 254 04 0 00 031360 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2023 031360 324 00 0 00 031361 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2024 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2025 ;IN THE SUBTEST) TO LOOP ON ERROR^
2026
2027 ;**********
2028
2029 ;THIS TEST VERIFIES THAT SKIPL IS SENSITIVE TO THE SIGN BIT IN E. SKIPL SHOULD
2030 ;SKIP THE NEXT INSTRUCTION WHEN AND ONLY WHEN THE SIGN BIT IS SET. IN THIS
2031 ;TEST, C(AC) IS PRESET TO ALL ZEROS, THEN SKIPL IS EXECUTED WITH C(E)=400000,,0.
2032 ;A FAILURE UCCURS IF SKIPL DOES NOT SKIP.
2033
2034 031361 200 00 0 00 070253 A13100: MOVE [0] ;SET THE AC TO ALL ZEROS
2035 031362 331 00 0 00 070256 SKIPL [400000,,0] ;*SKIPL SHOULD SKIP BECAUSE C(E) IS NEGATIVE
2036 STOP^
2037 031363 254 04 0 00 031364 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2038 031364 324 00 0 00 031365 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2039 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2040 ;IN THE SUBTEST) TO LOOP ON ERROR^
2041
2042 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 14
DFKAA1 MAC 31-JAN-77 09:33 TEST OF MOVE, SKIP AND COMPARE INSTRUCTIONS SEQ 0055
2043 ;THIS TEST VERIFIES THAT THE CAM INSTRUCTION DOES NOT MODIFY C(AC). THE AC IS
2044 ;INITIALLY LOADED WITH ALL ZEROS; THEN CAM IS EXECUTED WITH C(E) NON-ZERO.
2045 ;THE AC IS THEN CHECKED FOR ALL ZEROS. THIS TEST FAILS IF THE AC WAS MODIFIED BY CAM.
2046
2047 031365 200 00 0 00 070253 A3400: MOVE [0] ;PRESET THE AC TO ALL ZEROS
2048 031366 310 00 0 00 070327 CAM [1234] ;*CAM SHOULD NOT MODIFY THE AC
2049 031367 200 00 0 00 000000 MOVE ;MOVE C(0) INTO 0 (THIS INSTRUCTION SERVES AS A NO-OP.
2050 ;IT IS A PROGRAM FILLER IN CASE CAM SKIPS.)
2051 031370 332 00 0 00 000000 SKIPE ;SKIP HALT INSTRUCTION IF AC WAS NOT MODIFIED BY CAM
2052 STOP^
2053 031371 254 04 0 00 031372 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2054 031372 324 00 0 00 031373 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2055 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2056 ;IN THE SUBTEST) TO LOOP ON ERROR^
2057
2058 ;IF TEST HANGS ON CAM INSTRUCTION, AB PC EN [ABC], AB PC (FETCH) EN [ABC],
2059 ;IR CAXX [IR3]
2060
2061 ;IF TEST LOOPS ON CAM INSTRUCTION, MC INSTR FETCH EN [MC1], MC INST FET ET2 EN [MC1],
2062 ;ET2 J F/F [E], IR CAXX [IR3]
2063
2064 ;IF TEST HALTS AT HALT INSTRUCTION, SAC INH [ST2], IR CAXX [IR3], IR CAMX [IR1]
2065
2066 ;**********
2067
2068 ;THIS TEST VERIFIES THAT THE CAI INSTRUCTION DOES NOT MODIFY C(AC). THE AC IS
2069 ;INITIALLY LOADED WITH ALL ZEROS; THEN CAI IS EXECUTED WITH E NON-ZERO. THE AC IS
2070 ;THEN CHECKED FOR ALL ZEROS. THIS TEST FAILS IF THE AC WAS MODIFIED BY CAM.
2071
2072 031373 200 00 0 00 070253 A3500: MOVE [0] ;PRESET THE AC TO ALL ZEROS
2073 031374 300 00 0 00 070327 CAI [1234] ;*CAI SHOULD NOT MODIFY THE AC
2074 031375 200 00 0 00 000000 MOVE ;MOVE C(0) INTO 0 (THIS INSTRUCTION IS A PROGRAM FILLER
2075 ;IN CASE CAI MODIFIES THE AC. IT SERVES AS A NO-OP)
2076 031376 332 00 0 00 000000 SKIPE ;SKIP HALT INSTRUCTION IF CAI DID NOT MODIFY THE AC
2077 STOP^
2078 031377 254 04 0 00 031400 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2079 031400 324 00 0 00 031401 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2080 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2081 ;IN THE SUBTEST) TO LOOP ON ERROR^
2082
2083 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 15
DFKAA1 MAC 31-JAN-77 09:33 TEST OF MOVE, SKIP AND COMPARE INSTRUCTIONS SEQ 0056
2084 ;THIS TEST VERIFIES THAT CAI DOES NOT MODIFY C(AC0) WHEN AN AC OTHER THAN AC0 IS
2085 ;SPECIFIED BY THE CAI INSTRUCTION.
2086 ;THIS IS THE FIRST TEST THAT USES AN AC OTHER THAN AC0.
2087 ;FIRST, AC0 IS LOADED WITH ALL ZEROS; THEN, THE CAI INSTRUCTION IS EXECUTED WITH
2088 ;A NON-ZERO E. AC 0 IS THEN TESTED F0R ALL ZEROS.
2089
2090 031401 200 00 0 00 070253 A3600: MOVE [0] ;LOAD AC0 WITH ALL ZEROS
2091 031402 300 17 0 00 070327 CAI 17,[1234] ;*CAI SHOULD NOT MODIFY AC0
2092 031403 200 00 0 00 000000 MOVE ;MOVE C(0) INTO 0 (THIS INSTRUCTION IS A FILLER IN CASE
2093 ;CAI SKIPS THE NEXT INSTRUCTION. IT ACTS AS A NO-OP)
2094 031404 332 00 0 00 000000 SKIPE ;SKIP HALT INSTRUCTION IF C(AC0) WAS NOT MODIFIED
2095 STOP^
2096 031405 254 04 0 00 031406 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2097 031406 324 00 0 00 031407 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2098 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2099 ;IN THE SUBTEST) TO LOOP ON ERROR^
2100
2101 ;**********
2102
2103 ;THIS TEST VERIFIES THAT CAM DOES NOT MODIFY C(AC0) WHEN AN AC OTHER THAN AC0 IS
2104 ;SPECIFIED BY THE CAM INSTRUCTION.
2105 ;FIRST, AC0 IS LOADED WITH ALL ZEROS; THEN, THE CAM INSTRUCTION IS EXECUTED WITH
2106 ;A NON-ZERO E. AC 0 IS THEN TESTED F0R ALL ZEROS.
2107
2108 031407 200 00 0 00 070253 A3700: MOVE [0] ;PRESET C(AC0) TO ALL ZEROS
2109 031410 310 17 0 00 070327 CAM 17,[1234] ;*CAM SHOULD NOT MODIFY AC0
2110 031411 200 00 0 00 000000 MOVE ;MOVE C(0) INTO 0 (THIS INSTRUCTION IS A FILLER IN CASE
2111 ;CAM SKIPS THE NEXT INSTRUCTION. IT SERVES AS A NO-OP)
2112 031412 332 00 0 00 000000 SKIPE ;SKIP HALT INSTRUCTION IF AC0 WAS NOT MODIFIED BY CAM
2113 STOP^
2114 031413 254 04 0 00 031414 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2115 031414 324 00 0 00 031415 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2116 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2117 ;IN THE SUBTEST) TO LOOP ON ERROR^
2118
2119 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 16
DFKAA1 MAC 31-JAN-77 09:33 TEST OF MOVE, SKIP AND COMPARE INSTRUCTIONS SEQ 0057
2120 ;THIS TEST VERIFIES THAT MOVE WILL PLACE C(E) INTO THE AC. AC, E AND C(E) ARE NON-ZERO
2121 ;IN THIS TEST. THIS TEST PASSES IF FINAL C(AC) OF THE MOVE INSTRUCTION IS NON-ZERO.
2122
2123 031415 200 01 0 00 070253 A4500: MOVE 1,[0] ;LOAD THE AC WITH ALL ZEROS
2124 031416 200 01 0 00 070254 MOVE 1,[-1] ;*MOVE SHOULD PLACE ALL ONES IN THE AC
2125 031417 336 00 0 00 000001 SKIPN 1 ;SKIP HALT INSTRUCTION IF MOVE MODIFIED THE AC
2126 STOP^
2127 031420 254 04 0 00 031421 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2128 031421 324 00 0 00 031422 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2129 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2130 ;IN THE SUBTEST) TO LOOP ON ERROR^
2131
2132 ;**********
2133
2134 ;THIS TEST VERIFIES THAT THE MOVE INSTRUCTION WILL PLACE C(E) INTO THE AC.
2135 ;AC, E ARE NON-ZERO AND C(E)=0.
2136 ;THIS TEST FAILS IF THE FINAL C(AC) IS NOT EQUAL TO ZERO, THE ORIGINAL C(E)
2137
2138 031422 200 01 0 00 070253 A4600: MOVE 1,[0] ;*PLACE ALL ZEROS INTO THE AC
2139 031423 332 00 0 00 000001 SKIPE 1 ;SKIP HALT INSTRUCTION IF MOVE PLACED ALL ZEROS INTO AC
2140 STOP^
2141 031424 254 04 0 00 031425 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2142 031425 324 00 0 00 031426 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2143 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2144 ;IN THE SUBTEST) TO LOOP ON ERROR^
2145
2146 ;IF JUMP .+1 OF PREVIOUS TEST FAILED, CHECK JUMPS: AD FM + EN [ADFP], IR JUMPS [IR1],
2147 ;IR JUMPX [IR1], AR AD EN [ARMA], AR AD EN A [ARMA], AR LT AD EN A [ARMA],
2148 ;AR LT ADD EN B [ARMA], AR RT AD EN A [ARMA],
2149 ;AR RT AD EN B [ARMA], AR A CLK INPUT [ARMA],
2150 ;ET2 C F/F [E], AR AD ET2 EN [ARMA], AR AD BR (ET2) B [ARMA]
2151
2152 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 17
DFKAA1 MAC 31-JAN-77 09:33 TEST OF MOVE, SKIP AND COMPARE INSTRUCTIONS SEQ 0058
2153 ;THIS TEST VERIFIES THAT SOS DOES NOT MODIFY C(AC) WHEN THE AC IS AC0.
2154 ;FIRST, AC0 IS LOADED WITH ALL ZEROS AND E IS LOADED WITH A POSITIVE NUMBER;
2155 ;THEN, SOS IS EXECUTED. SOS SHOULD SUBTRACT ONE FROM C((E)
2156 ;AND EXECUTE THE NEXT INSTRUCTION. IT SHOULD NOT MODIFY AC0.
2157 ;THE TEST PASSES IF AC0 WAS NOT MODIFIED.
2158
2159 031426 200 00 0 00 070253 A4000: MOVE [0] ;PRESET AC0 TO ALL ZEROS
2160 031427 200 07 0 00 070327 MOVE 7,[1234] ;PRESET E WITH A POSITIVE NUMBER
2161 031430 370 00 0 00 000007 SOS 7 ;*SOS SHOULD NOT MODIFY C(AC0)
2162 031431 200 00 0 00 000000 MOVE ;MOVE C(0) INTO 0 (THIS INSTRUCTION IS A FILLER IN CASE
2163 ;SOS SKIPS THE NEXT INSTRUCTION. IT SERVES AS A NO-OP)
2164 031432 332 00 0 00 000000 SKIPE ;SKIP THE HALT INSTRUCTION IF C(AC0) WAS NOT MODIFIED
2165 STOP^
2166 031433 254 04 0 00 031434 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2167 031434 324 00 0 00 031435 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2168 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2169 ;IN THE SUBTEST) TO LOOP ON ERROR^
2170
2171 ;**********
2172 004100 SN=4100
2173 000000 AC=0
2174
2175 A4100: REPEAT 4,
2176 <;THIS TEST VERIFIES THAT THE SKIP INSTRUCTION WILL PLACE THE CONTENTS OF E INTO THE AC
2177 ;WHEN THE AC IS NOT AC0. THIS TEST IS PERFORMED FOR AC1, AC2, AC4 AND AC10.
2178 ;FIRST, THE AC IS LOADED WITH ALL ZEROS; THEN, THE SKIP INSTRUCTION IS EXECUTED
2179 ;WITH AC1, AC2, AC4 OR AC10. C(E) IS EQUAL TO -1. THE SKIP INSTRUCTION SHOULD CAUSE
2180 ;THE AC TO CONTAIN -1. THE AC IS THEN CHECKED FOR
2181 ;NON-ZERO CONTENTS. THE TEST FAILS IF C(AC)=0.
2182 ;THIS TEST ALSO VERIFIES THAT 'SKIP AC,[-1]' DOES NOT CLOBBER AC0.
2183
2184 SN=SN+1
2185 AC=AC+AC
2186 IFE AC,<AC=1>
2187 MOVE 0,[0] ;PRESET AC0 TO ALL ZEROS
2188 MOVE AC,[0] ;PRESET THE AC TO ALL ZEROS
2189 SKIP AC,[-1] ;*SKIP SHOULD PLACE -1 INTO THE AC
2190 SKIPN AC ;SKIP THE HALT INSTRUCTION IF THE AC IS NON-ZERO
2191 STOP
2192 SKIPE 0 ;VERIFY THAT AC0 DID NOT GET CLOBBERED BY SKIP
2193 STOP
2194
2195 ;**********
2196 >
2197 ;THIS TEST VERIFIES THAT THE SKIP INSTRUCTION WILL PLACE THE CONTENTS OF E INTO THE AC
2198 ;WHEN THE AC IS NOT AC0. THIS TEST IS PERFORMED FOR AC1, AC2, AC4 AND AC10.
2199 ;FIRST, THE AC IS LOADED WITH ALL ZEROS; THEN, THE SKIP INSTRUCTION IS EXECUTED
2200 ;WITH AC1, AC2, AC4 OR AC10. C(E) IS EQUAL TO -1. THE SKIP INSTRUCTION SHOULD CAUSE
2201 ;THE AC TO CONTAIN -1. THE AC IS THEN CHECKED FOR
2202 ;NON-ZERO CONTENTS. THE TEST FAILS IF C(AC)=0.
2203 ;THIS TEST ALSO VERIFIES THAT 'SKIP AC,[-1]' DOES NOT CLOBBER AC0.
2204
2205 004101 SN=SN+1
2206 000000 AC=AC+AC
2207 000001 IFE AC,<AC=1>
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 17-1
DFKAA1 MAC 31-JAN-77 09:33 TEST OF MOVE, SKIP AND COMPARE INSTRUCTIONS SEQ 0059
2208 031435 200 00 0 00 070253 MOVE 0,[0] ;PRESET AC0 TO ALL ZEROS
2209 031436 200 01 0 00 070253 MOVE AC,[0] ;PRESET THE AC TO ALL ZEROS
2210 031437 330 01 0 00 070254 SKIP AC,[-1] ;*SKIP SHOULD PLACE -1 INTO THE AC
2211 031440 336 00 0 00 000001 SKIPN AC ;SKIP THE HALT INSTRUCTION IF THE AC IS NON-ZERO
2212 STOP^
2213 031441 254 04 0 00 031442 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2214 031442 324 00 0 00 031443 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2215 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2216 ;IN THE SUBTEST) TO LOOP ON ERROR^
2217 031443 332 00 0 00 000000 SKIPE 0 ;VERIFY THAT AC0 DID NOT GET CLOBBERED BY SKIP
2218 STOP^
2219 031444 254 04 0 00 031445 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2220 031445 324 00 0 00 031446 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2221 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2222 ;IN THE SUBTEST) TO LOOP ON ERROR^
2223
2224 ;**********
2225
2226 ;THIS TEST VERIFIES THAT THE SKIP INSTRUCTION WILL PLACE THE CONTENTS OF E INTO THE AC
2227 ;WHEN THE AC IS NOT AC0. THIS TEST IS PERFORMED FOR AC1, AC2, AC4 AND AC10.
2228 ;FIRST, THE AC IS LOADED WITH ALL ZEROS; THEN, THE SKIP INSTRUCTION IS EXECUTED
2229 ;WITH AC1, AC2, AC4 OR AC10. C(E) IS EQUAL TO -1. THE SKIP INSTRUCTION SHOULD CAUSE
2230 ;THE AC TO CONTAIN -1. THE AC IS THEN CHECKED FOR
2231 ;NON-ZERO CONTENTS. THE TEST FAILS IF C(AC)=0.
2232 ;THIS TEST ALSO VERIFIES THAT 'SKIP AC,[-1]' DOES NOT CLOBBER AC0.
2233
2234 004102 SN=SN+1
2235 000002 AC=AC+AC
2236 IFE AC,<AC=1>
2237 031446 200 00 0 00 070253 MOVE 0,[0] ;PRESET AC0 TO ALL ZEROS
2238 031447 200 02 0 00 070253 MOVE AC,[0] ;PRESET THE AC TO ALL ZEROS
2239 031450 330 02 0 00 070254 SKIP AC,[-1] ;*SKIP SHOULD PLACE -1 INTO THE AC
2240 031451 336 00 0 00 000002 SKIPN AC ;SKIP THE HALT INSTRUCTION IF THE AC IS NON-ZERO
2241 STOP^
2242 031452 254 04 0 00 031453 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2243 031453 324 00 0 00 031454 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2244 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2245 ;IN THE SUBTEST) TO LOOP ON ERROR^
2246 031454 332 00 0 00 000000 SKIPE 0 ;VERIFY THAT AC0 DID NOT GET CLOBBERED BY SKIP
2247 STOP^
2248 031455 254 04 0 00 031456 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2249 031456 324 00 0 00 031457 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2250 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2251 ;IN THE SUBTEST) TO LOOP ON ERROR^
2252
2253 ;**********
2254
2255 ;THIS TEST VERIFIES THAT THE SKIP INSTRUCTION WILL PLACE THE CONTENTS OF E INTO THE AC
2256 ;WHEN THE AC IS NOT AC0. THIS TEST IS PERFORMED FOR AC1, AC2, AC4 AND AC10.
2257 ;FIRST, THE AC IS LOADED WITH ALL ZEROS; THEN, THE SKIP INSTRUCTION IS EXECUTED
2258 ;WITH AC1, AC2, AC4 OR AC10. C(E) IS EQUAL TO -1. THE SKIP INSTRUCTION SHOULD CAUSE
2259 ;THE AC TO CONTAIN -1. THE AC IS THEN CHECKED FOR
2260 ;NON-ZERO CONTENTS. THE TEST FAILS IF C(AC)=0.
2261 ;THIS TEST ALSO VERIFIES THAT 'SKIP AC,[-1]' DOES NOT CLOBBER AC0.
2262
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 17-2
DFKAA1 MAC 31-JAN-77 09:33 TEST OF MOVE, SKIP AND COMPARE INSTRUCTIONS SEQ 0060
2263 004103 SN=SN+1
2264 000004 AC=AC+AC
2265 IFE AC,<AC=1>
2266 031457 200 00 0 00 070253 MOVE 0,[0] ;PRESET AC0 TO ALL ZEROS
2267 031460 200 04 0 00 070253 MOVE AC,[0] ;PRESET THE AC TO ALL ZEROS
2268 031461 330 04 0 00 070254 SKIP AC,[-1] ;*SKIP SHOULD PLACE -1 INTO THE AC
2269 031462 336 00 0 00 000004 SKIPN AC ;SKIP THE HALT INSTRUCTION IF THE AC IS NON-ZERO
2270 STOP^
2271 031463 254 04 0 00 031464 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2272 031464 324 00 0 00 031465 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2273 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2274 ;IN THE SUBTEST) TO LOOP ON ERROR^
2275 031465 332 00 0 00 000000 SKIPE 0 ;VERIFY THAT AC0 DID NOT GET CLOBBERED BY SKIP
2276 STOP^
2277 031466 254 04 0 00 031467 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2278 031467 324 00 0 00 031470 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2279 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2280 ;IN THE SUBTEST) TO LOOP ON ERROR^
2281
2282 ;**********
2283
2284 ;THIS TEST VERIFIES THAT THE SKIP INSTRUCTION WILL PLACE THE CONTENTS OF E INTO THE AC
2285 ;WHEN THE AC IS NOT AC0. THIS TEST IS PERFORMED FOR AC1, AC2, AC4 AND AC10.
2286 ;FIRST, THE AC IS LOADED WITH ALL ZEROS; THEN, THE SKIP INSTRUCTION IS EXECUTED
2287 ;WITH AC1, AC2, AC4 OR AC10. C(E) IS EQUAL TO -1. THE SKIP INSTRUCTION SHOULD CAUSE
2288 ;THE AC TO CONTAIN -1. THE AC IS THEN CHECKED FOR
2289 ;NON-ZERO CONTENTS. THE TEST FAILS IF C(AC)=0.
2290 ;THIS TEST ALSO VERIFIES THAT 'SKIP AC,[-1]' DOES NOT CLOBBER AC0.
2291
2292 004104 SN=SN+1
2293 000010 AC=AC+AC
2294 IFE AC,<AC=1>
2295 031470 200 00 0 00 070253 MOVE 0,[0] ;PRESET AC0 TO ALL ZEROS
2296 031471 200 10 0 00 070253 MOVE AC,[0] ;PRESET THE AC TO ALL ZEROS
2297 031472 330 10 0 00 070254 SKIP AC,[-1] ;*SKIP SHOULD PLACE -1 INTO THE AC
2298 031473 336 00 0 00 000010 SKIPN AC ;SKIP THE HALT INSTRUCTION IF THE AC IS NON-ZERO
2299 STOP^
2300 031474 254 04 0 00 031475 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2301 031475 324 00 0 00 031476 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2302 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2303 ;IN THE SUBTEST) TO LOOP ON ERROR^
2304 031476 332 00 0 00 000000 SKIPE 0 ;VERIFY THAT AC0 DID NOT GET CLOBBERED BY SKIP
2305 STOP^
2306 031477 254 04 0 00 031500 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2307 031500 324 00 0 00 031501 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2308 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2309 ;IN THE SUBTEST) TO LOOP ON ERROR^
2310
2311 ;**********
2312
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 18
DFKAA1 MAC 31-JAN-77 09:33 TEST OF SKIP, FULL WORD TRANSFER AND HALF WORD TRANSFER INSTRUCTIONS SEQ 0061
2313 SUBTTL TEST OF SKIP, FULL WORD TRANSFER AND HALF WORD TRANSFER INSTRUCTIONS
2314
2315 ;THIS TEST VERIFIES THAT THE SKIP INSTRUCTION WILL NOT MODIFY THE CONTENTS OF AC0.
2316 ;FIRST, AC0 IS LOADED WITH ALL ZEROS; THEN,
2317 ;THE SKIP INSTRUCTION IS EXECUTED WITH C(E)=-1 AND AC0. AC0 IS THEN TESTED FOR ALL
2318 ;ZEROS. THE TEST FAILS IF AC0 WAS MODIFIED BY THE SKIP INSTRUCTION.
2319
2320 031501 200 00 0 00 070253 A4200: MOVE [0] ;PRESET AC0 TO ALL ZEROS
2321 031502 330 00 0 00 070254 SKIP [-1] ;*SKIP SHOULD NOT MODIFY AC0
2322 031503 332 00 0 00 000000 SKIPE ;SKIP HALT INSTRUCTION IF AC0 WAS NOT MODIFIED BY SKIP
2323 STOP^
2324 031504 254 04 0 00 031505 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2325 031505 324 00 0 00 031506 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2326 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2327 ;IN THE SUBTEST) TO LOOP ON ERROR^
2328
2329 ;AC=0: SAC INH, IR BIT 9, 10, 11 OR 12 S-A-1
2330
2331 ;**********
2332
2333 ;THIS TEST VERIFIES THAT MOVSS DOES NOT MODIFY C(AC0) WHEN AC0 IS SPECIFIED AS THE AC.
2334 ;FIRST, E IS LOADED WITH ALL ONES AND THE AC (AC0)
2335 ;IS LOADED WITH ALL ZEROS; THEN, MOVSS IS EXECUTED. MOVSS SHOULD NOT MODIFY AC0.
2336 ;AC0 IS THEN CHECKED TO INSURE THAT IT WAS NOT MODIFIED BY MOVSS.
2337
2338 031506 200 07 0 00 070254 A4300: MOVE 7,[-1] ;LOAD E OF THE MOVSS INSTRUCTION WITH ALL ONES
2339 031507 200 00 0 00 070253 MOVE [0] ;PRESET AC0 TO ALL ZEROS
2340 031510 207 00 0 00 000007 MOVSS 7 ;*MOVSS SHOULD NOT MODIFY AC0
2341 031511 332 00 0 00 000000 SKIPE ;SKIP HALT INSTRUCTION IF AC0 WAS INTACT
2342 STOP^
2343 031512 254 04 0 00 031513 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2344 031513 324 00 0 00 031514 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2345 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2346 ;IN THE SUBTEST) TO LOOP ON ERROR^
2347
2348 ;MOVX & AC=0: SAC INH [ST2], IR XXXS [IR1]
2349
2350 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 19
DFKAA1 MAC 31-JAN-77 09:33 TEST OF SKIP, FULL WORD TRANSFER AND HALF WORD TRANSFER INSTRUCTIONS SEQ 0062
2351 ;THIS TEST VERIFIES THAT HRRS DOES NOT MODIFY C(AC0) WHEN AC0 IS THE SPECIFIED AC.
2352 ;FIRST, E IS LOADED WITH ALL ONES AND AC0 IS LOADED WITH ALL ZEROS;
2353 ;THEN, HRRS IS EXECUTED WITH AC=AC0. AC0 IS THEN CHECKED FOR ALL ZEROS.
2354 ;IF AC0 WAS MODIFIED BY THE HRRS INSTRUCTION, THE TEST FAIL.
2355
2356 031514 200 07 0 00 070254 A4400: MOVE 7,[-1] ;PRESET E OF THE HRRS INSTRUCTION TO ALL ONES
2357 031515 200 00 0 00 070253 MOVE [0] ;PRESET AC0 TO ALL ZEROS
2358 031516 543 00 0 00 000007 HRRS 7 ;*HRRS SHOULD NOT MODIFY THE AC WHEN THE AC IS AC0
2359 031517 332 00 0 00 000000 SKIPE ;SKIP THE HALT INSTRUCTION IF AC0 WAS INTACT
2360 STOP^
2361 031520 254 04 0 00 031521 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2362 031521 324 00 0 00 031522 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2363 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2364 ;IN THE SUBTEST) TO LOOP ON ERROR^
2365
2366 ;(HXXXS&AC=0): SAC INH [ST2], IR HWTFWT [IR3], IR XXXS [IR1], IR HWT [IR1],
2367 ;IR BITS S-A-1
2368
2369 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 20
DFKAA1 MAC 31-JAN-77 09:33 TEST OF SKIP, FULL WORD TRANSFER AND HALF WORD TRANSFER INSTRUCTIONS SEQ 0063
2370 ;THIS TEST VERIFIES THAT THE JUMP INSTRUCTION DOES NOT MODIFY C(AC).
2371 ;THE AC IS FIRST LOADED WITH ALL ZEROS;
2372 ;THEN JUMP .+1 IS EXECUTED. THE AC IS THEN CHECKED TO INSURE THAT IT WAS NOT MODIFIED
2373 ;BY JUMP. THE TEST FAILS IF THE AC WAS MODIFIED
2374
2375 031522 200 00 0 00 070253 A4700: MOVE [0] ; PRESET THE AC TO ALL ZEROS
2376 031523 320 00 0 00 031524 JUMP .+1 ;*JUMP SHOULD NOT MODIFY THE AC
2377 031524 332 00 0 00 000000 SKIPE ;SKIP HALT INSTRUCTION IF AC WAS INTACT
2378 STOP^
2379 031525 254 04 0 00 031526 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2380 031526 324 00 0 00 031527 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2381 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2382 ;IN THE SUBTEST) TO LOOP ON ERROR^
2383
2384 ;**********
2385
2386 ;THIS TEST VERIFIES THAT MOVS WILL NOT PICK UP ANY ONES WHEN SWAPPING A WORD
2387 ;OF ALL ZEROS. FIRST, E IS LOADED WITH A WORD OF ALL ZEROS;
2388 ;THEN, MOVS IS EXECUTED. THE AC IS THEN CHECKED TO INSURE THAT THE RESULT DOES NOT
2389 ;CONTAIN ANY ONES.
2390
2391 031527 200 00 0 00 070253 A5000: MOVE [0] ;PRESET E WITH ALL ZEROS
2392 031530 204 00 0 00 000000 MOVS ;*MOVS SHOULD RESULT WITH AN AC 0F ALL ZEROS
2393 031531 332 00 0 00 000000 SKIPE ;SKIP HALT INSTRUCTION IF C(AC)=0
2394 STOP^
2395 031532 254 04 0 00 031533 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2396 031533 324 00 0 00 031534 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2397 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2398 ;IN THE SUBTEST) TO LOOP ON ERROR^
2399
2400 ;**********
2401
2402 ;THIS TEST VERIFIES THAT A MOVS EXECUTED ON AN E CONTAINING A NON-ZERO NUMBER
2403 ;RESULTS IN A NON-ZERO NUMBER IN THE AC. FIRST A NON-ZERO WORD
2404 ;IS LOADED INTO E; THEN, MOVS IS EXECUTED. THE AC IS CHECKED FOR A NON-ZERO RESULT.
2405 ;IF C(AC)=0, THE TEST FAILS.
2406
2407 031534 200 00 0 00 070330 A5100: MOVE [XWD 0,-1] ;LOAD E WITH A NON-ZERO VALUE
2408 031535 204 00 0 00 000000 MOVS ;*MOVS SHOULD RESULT IN C(AC) NON-ZERO
2409 031536 336 00 0 00 000000 SKIPN ;SKIP HALT INSTRUCTION IF C(AC) OF MOVS IS NON-ZERO
2410 STOP^
2411 031537 254 04 0 00 031540 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2412 031540 324 00 0 00 031541 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2413 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2414 ;IN THE SUBTEST) TO LOOP ON ERROR^
2415
2416 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 21
DFKAA1 MAC 31-JAN-77 09:33 TEST OF SKIP, FULL WORD TRANSFER AND HALF WORD TRANSFER INSTRUCTIONS SEQ 0064
2417 ;THIS TEST VERIFIES THAT A MOVS EXECUTED ON AN E CONTAINING A NON-ZERO NUMBER
2418 ;RESULTS IN A NON-ZERO NUMBER IN THE AC. FIRST A NON-ZERO WORD
2419 ;IS LOADED INTO E; THEN, MOVS IS EXECUTED. THE AC IS CHECKED FOR A NON-ZERO
2420 ;RESULT. IF C(AC)=0, THE TEST FAILS.
2421
2422 031541 200 00 0 00 070331 A5200: MOVE [XWD -1,0] ;LOAD E OF MOVS WITH A NON-ZERO NUMBER
2423 031542 204 00 0 00 000000 MOVS ;*MOVS SHOULD RESULT WITH C(AC) NON-ZERO
2424 031543 336 00 0 00 000000 SKIPN ;SKIP HALT INSTRUCTION IF C(AC) OF MOVS IS NON-ZERO
2425 STOP^
2426 031544 254 04 0 00 031545 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2427 031545 324 00 0 00 031546 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2428 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2429 ;IN THE SUBTEST) TO LOOP ON ERROR^
2430
2431 ;**********
2432
2433 ;THIS TEST VERIFIES THAT THE MOVS INSTRUCTION SWAPS BITS 0 AND 188 OF E
2434 ;AND STORES THEM IN THE AC UNLESS AR BIT 0 IS S-A-0. FIRST, A WORD
2435 ;WITH BIT 0 SET TO A ONE AND BIT 18 CLEARED IS LOADED INTO E. THEN, MOVS
2436 ;IS EXECUTED. THE AC IS THEN CHECKED FOR A 0 IN BIT 0, WHICH IS THE
2437 ;CORRECT RESULT.
2438
2439 031546 200 00 0 00 070331 A5300: MOVE [XWD -1,0] ;LOAD E OF MOVS WITH 777777000000
2440 031547 204 00 0 00 000000 MOVS ;*MOVS SHOULD RESULT WITH AC BIT 0 EQUAL TO 0
2441 031550 337 00 0 00 000000 SKIPG ;SKIP HALT INSTRUCTION IF BIT 0 OF AC IS 0
2442 STOP^
2443 031551 254 04 0 00 031552 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2444 031552 324 00 0 00 031553 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2445 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2446 ;IN THE SUBTEST) TO LOOP ON ERROR^
2447
2448 ;MOVSX: AR SWAP [ARMB], AR LT AR RT A [ARMB], AR LT AR RT B [ARMB],
2449 ;AR RT AR LT A [ARMB], AR RT AR LT B [ARMB], ET2 A F/F [E], IR MOVSX [IR1],
2450 ;IR MOV(E,S)X [IR1]
2451
2452 ;**********
2453
2454 ;THIS TEST VERIFIES THAT THE MOVS INSTRUCTION SWAPS BITS 0 AND 18 OF E AND
2455 ;STORES THEM IN THE AC UNLESS AR BIT 0 IS S-A-1. FIRST, A WORD WITH BIT 0
2456 ;SET TO A ONE AND BIT 18 CLEARED IS LOADED INTO E. THEN, MOVS IS EXECUTED.
2457 ;THE AC IS CHECKED FOR A ZERO IN BIT ZERO, WHICH IS THE CORRECT RESULT.
2458
2459 031553 200 00 0 00 070330 A5400: MOVE [XWD 0,-1] ;LOAD E OF MOVS WITH 777777
2460 031554 204 00 0 00 000000 MOVS ;*MOVS SHOULD RESULT WITH BIT 0 OF THE AC SET
2461 031555 331 00 0 00 000000 SKIPL ;PASS IF AC BIT 0 IS SET
2462 STOP^
2463 031556 254 04 0 00 031557 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2464 031557 324 00 0 00 031560 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2465 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2466 ;IN THE SUBTEST) TO LOOP ON ERROR^
2467
2468 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 22
DFKAA1 MAC 31-JAN-77 09:33 TEST OF SKIP, FULL WORD TRANSFER AND HALF WORD TRANSFER INSTRUCTIONS SEQ 0065
2469 005500 SN=5500
2470 000000 ZZ=0
2471
2472 A5500: REPEAT ^D18,
2473 <;THIS TEST VERIFIES THAT AR LT INPUT IS FUNCTIONING. A WORD OF ALL ZER0S,
2474 ;EXCEPT FOR ONE ONE IN THE RIGHT HALF IS SWAPPED.
2475 ;THE AC IS CHECKED FOR ITS CONTENTS NON-ZERO. THE TEST PASSES
2476 ;IF C(AC) IS NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT
2477 ;OF THE LEFT HALF OF THE AC IS TESTED WITH A 1.
2478 SN=SN+1
2479 ZZ=ZZ+ZZ
2480 IFE ZZ,<ZZ=1>
2481 MOVE [0] ;CLEAR AC
2482 MOVS [ZZ] ;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
2483 SKIPN ;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
2484 STOP
2485
2486 ;**********
2487 >
2488 ;THIS TEST VERIFIES THAT AR LT INPUT IS FUNCTIONING. A WORD OF ALL ZER0S,
2489 ;EXCEPT FOR ONE ONE IN THE RIGHT HALF IS SWAPPED.
2490 ;THE AC IS CHECKED FOR ITS CONTENTS NON-ZERO. THE TEST PASSES
2491 ;IF C(AC) IS NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT
2492 ;OF THE LEFT HALF OF THE AC IS TESTED WITH A 1.
2493 005501 SN=SN+1
2494 000000 ZZ=ZZ+ZZ
2495 000001 IFE ZZ,<ZZ=1>
2496 031560 200 00 0 00 070253 MOVE [0] ;CLEAR AC
2497 031561 204 00 0 00 070265 MOVS [ZZ] ;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
2498 031562 336 00 0 00 000000 SKIPN ;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
2499 STOP^
2500 031563 254 04 0 00 031564 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2501 031564 324 00 0 00 031565 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2502 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2503 ;IN THE SUBTEST) TO LOOP ON ERROR^
2504
2505 ;**********
2506
2507 ;THIS TEST VERIFIES THAT AR LT INPUT IS FUNCTIONING. A WORD OF ALL ZER0S,
2508 ;EXCEPT FOR ONE ONE IN THE RIGHT HALF IS SWAPPED.
2509 ;THE AC IS CHECKED FOR ITS CONTENTS NON-ZERO. THE TEST PASSES
2510 ;IF C(AC) IS NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT
2511 ;OF THE LEFT HALF OF THE AC IS TESTED WITH A 1.
2512 005502 SN=SN+1
2513 000002 ZZ=ZZ+ZZ
2514 IFE ZZ,<ZZ=1>
2515 031565 200 00 0 00 070253 MOVE [0] ;CLEAR AC
2516 031566 204 00 0 00 070266 MOVS [ZZ] ;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
2517 031567 336 00 0 00 000000 SKIPN ;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
2518 STOP^
2519 031570 254 04 0 00 031571 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2520 031571 324 00 0 00 031572 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2521 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2522 ;IN THE SUBTEST) TO LOOP ON ERROR^
2523
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 22-1
DFKAA1 MAC 31-JAN-77 09:33 TEST OF SKIP, FULL WORD TRANSFER AND HALF WORD TRANSFER INSTRUCTIONS SEQ 0066
2524 ;**********
2525
2526 ;THIS TEST VERIFIES THAT AR LT INPUT IS FUNCTIONING. A WORD OF ALL ZER0S,
2527 ;EXCEPT FOR ONE ONE IN THE RIGHT HALF IS SWAPPED.
2528 ;THE AC IS CHECKED FOR ITS CONTENTS NON-ZERO. THE TEST PASSES
2529 ;IF C(AC) IS NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT
2530 ;OF THE LEFT HALF OF THE AC IS TESTED WITH A 1.
2531 005503 SN=SN+1
2532 000004 ZZ=ZZ+ZZ
2533 IFE ZZ,<ZZ=1>
2534 031572 200 00 0 00 070253 MOVE [0] ;CLEAR AC
2535 031573 204 00 0 00 070267 MOVS [ZZ] ;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
2536 031574 336 00 0 00 000000 SKIPN ;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
2537 STOP^
2538 031575 254 04 0 00 031576 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2539 031576 324 00 0 00 031577 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2540 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2541 ;IN THE SUBTEST) TO LOOP ON ERROR^
2542
2543 ;**********
2544
2545 ;THIS TEST VERIFIES THAT AR LT INPUT IS FUNCTIONING. A WORD OF ALL ZER0S,
2546 ;EXCEPT FOR ONE ONE IN THE RIGHT HALF IS SWAPPED.
2547 ;THE AC IS CHECKED FOR ITS CONTENTS NON-ZERO. THE TEST PASSES
2548 ;IF C(AC) IS NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT
2549 ;OF THE LEFT HALF OF THE AC IS TESTED WITH A 1.
2550 005504 SN=SN+1
2551 000010 ZZ=ZZ+ZZ
2552 IFE ZZ,<ZZ=1>
2553 031577 200 00 0 00 070253 MOVE [0] ;CLEAR AC
2554 031600 204 00 0 00 070270 MOVS [ZZ] ;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
2555 031601 336 00 0 00 000000 SKIPN ;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
2556 STOP^
2557 031602 254 04 0 00 031603 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2558 031603 324 00 0 00 031604 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2559 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2560 ;IN THE SUBTEST) TO LOOP ON ERROR^
2561
2562 ;**********
2563
2564 ;THIS TEST VERIFIES THAT AR LT INPUT IS FUNCTIONING. A WORD OF ALL ZER0S,
2565 ;EXCEPT FOR ONE ONE IN THE RIGHT HALF IS SWAPPED.
2566 ;THE AC IS CHECKED FOR ITS CONTENTS NON-ZERO. THE TEST PASSES
2567 ;IF C(AC) IS NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT
2568 ;OF THE LEFT HALF OF THE AC IS TESTED WITH A 1.
2569 005505 SN=SN+1
2570 000020 ZZ=ZZ+ZZ
2571 IFE ZZ,<ZZ=1>
2572 031604 200 00 0 00 070253 MOVE [0] ;CLEAR AC
2573 031605 204 00 0 00 070271 MOVS [ZZ] ;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
2574 031606 336 00 0 00 000000 SKIPN ;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
2575 STOP^
2576 031607 254 04 0 00 031610 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2577 031610 324 00 0 00 031611 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2578 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 22-2
DFKAA1 MAC 31-JAN-77 09:33 TEST OF SKIP, FULL WORD TRANSFER AND HALF WORD TRANSFER INSTRUCTIONS SEQ 0067
2579 ;IN THE SUBTEST) TO LOOP ON ERROR^
2580
2581 ;**********
2582
2583 ;THIS TEST VERIFIES THAT AR LT INPUT IS FUNCTIONING. A WORD OF ALL ZER0S,
2584 ;EXCEPT FOR ONE ONE IN THE RIGHT HALF IS SWAPPED.
2585 ;THE AC IS CHECKED FOR ITS CONTENTS NON-ZERO. THE TEST PASSES
2586 ;IF C(AC) IS NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT
2587 ;OF THE LEFT HALF OF THE AC IS TESTED WITH A 1.
2588 005506 SN=SN+1
2589 000040 ZZ=ZZ+ZZ
2590 IFE ZZ,<ZZ=1>
2591 031611 200 00 0 00 070253 MOVE [0] ;CLEAR AC
2592 031612 204 00 0 00 070272 MOVS [ZZ] ;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
2593 031613 336 00 0 00 000000 SKIPN ;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
2594 STOP^
2595 031614 254 04 0 00 031615 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2596 031615 324 00 0 00 031616 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2597 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2598 ;IN THE SUBTEST) TO LOOP ON ERROR^
2599
2600 ;**********
2601
2602 ;THIS TEST VERIFIES THAT AR LT INPUT IS FUNCTIONING. A WORD OF ALL ZER0S,
2603 ;EXCEPT FOR ONE ONE IN THE RIGHT HALF IS SWAPPED.
2604 ;THE AC IS CHECKED FOR ITS CONTENTS NON-ZERO. THE TEST PASSES
2605 ;IF C(AC) IS NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT
2606 ;OF THE LEFT HALF OF THE AC IS TESTED WITH A 1.
2607 005507 SN=SN+1
2608 000100 ZZ=ZZ+ZZ
2609 IFE ZZ,<ZZ=1>
2610 031616 200 00 0 00 070253 MOVE [0] ;CLEAR AC
2611 031617 204 00 0 00 070273 MOVS [ZZ] ;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
2612 031620 336 00 0 00 000000 SKIPN ;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
2613 STOP^
2614 031621 254 04 0 00 031622 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2615 031622 324 00 0 00 031623 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2616 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2617 ;IN THE SUBTEST) TO LOOP ON ERROR^
2618
2619 ;**********
2620
2621 ;THIS TEST VERIFIES THAT AR LT INPUT IS FUNCTIONING. A WORD OF ALL ZER0S,
2622 ;EXCEPT FOR ONE ONE IN THE RIGHT HALF IS SWAPPED.
2623 ;THE AC IS CHECKED FOR ITS CONTENTS NON-ZERO. THE TEST PASSES
2624 ;IF C(AC) IS NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT
2625 ;OF THE LEFT HALF OF THE AC IS TESTED WITH A 1.
2626 005510 SN=SN+1
2627 000200 ZZ=ZZ+ZZ
2628 IFE ZZ,<ZZ=1>
2629 031623 200 00 0 00 070253 MOVE [0] ;CLEAR AC
2630 031624 204 00 0 00 070274 MOVS [ZZ] ;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
2631 031625 336 00 0 00 000000 SKIPN ;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
2632 STOP^
2633 031626 254 04 0 00 031627 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 22-3
DFKAA1 MAC 31-JAN-77 09:33 TEST OF SKIP, FULL WORD TRANSFER AND HALF WORD TRANSFER INSTRUCTIONS SEQ 0068
2634 031627 324 00 0 00 031630 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2635 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2636 ;IN THE SUBTEST) TO LOOP ON ERROR^
2637
2638 ;**********
2639
2640 ;THIS TEST VERIFIES THAT AR LT INPUT IS FUNCTIONING. A WORD OF ALL ZER0S,
2641 ;EXCEPT FOR ONE ONE IN THE RIGHT HALF IS SWAPPED.
2642 ;THE AC IS CHECKED FOR ITS CONTENTS NON-ZERO. THE TEST PASSES
2643 ;IF C(AC) IS NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT
2644 ;OF THE LEFT HALF OF THE AC IS TESTED WITH A 1.
2645 005511 SN=SN+1
2646 000400 ZZ=ZZ+ZZ
2647 IFE ZZ,<ZZ=1>
2648 031630 200 00 0 00 070253 MOVE [0] ;CLEAR AC
2649 031631 204 00 0 00 070275 MOVS [ZZ] ;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
2650 031632 336 00 0 00 000000 SKIPN ;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
2651 STOP^
2652 031633 254 04 0 00 031634 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2653 031634 324 00 0 00 031635 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2654 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2655 ;IN THE SUBTEST) TO LOOP ON ERROR^
2656
2657 ;**********
2658
2659 ;THIS TEST VERIFIES THAT AR LT INPUT IS FUNCTIONING. A WORD OF ALL ZER0S,
2660 ;EXCEPT FOR ONE ONE IN THE RIGHT HALF IS SWAPPED.
2661 ;THE AC IS CHECKED FOR ITS CONTENTS NON-ZERO. THE TEST PASSES
2662 ;IF C(AC) IS NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT
2663 ;OF THE LEFT HALF OF THE AC IS TESTED WITH A 1.
2664 005512 SN=SN+1
2665 001000 ZZ=ZZ+ZZ
2666 IFE ZZ,<ZZ=1>
2667 031635 200 00 0 00 070253 MOVE [0] ;CLEAR AC
2668 031636 204 00 0 00 070276 MOVS [ZZ] ;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
2669 031637 336 00 0 00 000000 SKIPN ;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
2670 STOP^
2671 031640 254 04 0 00 031641 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2672 031641 324 00 0 00 031642 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2673 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2674 ;IN THE SUBTEST) TO LOOP ON ERROR^
2675
2676 ;**********
2677
2678 ;THIS TEST VERIFIES THAT AR LT INPUT IS FUNCTIONING. A WORD OF ALL ZER0S,
2679 ;EXCEPT FOR ONE ONE IN THE RIGHT HALF IS SWAPPED.
2680 ;THE AC IS CHECKED FOR ITS CONTENTS NON-ZERO. THE TEST PASSES
2681 ;IF C(AC) IS NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT
2682 ;OF THE LEFT HALF OF THE AC IS TESTED WITH A 1.
2683 005513 SN=SN+1
2684 002000 ZZ=ZZ+ZZ
2685 IFE ZZ,<ZZ=1>
2686 031642 200 00 0 00 070253 MOVE [0] ;CLEAR AC
2687 031643 204 00 0 00 070277 MOVS [ZZ] ;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
2688 031644 336 00 0 00 000000 SKIPN ;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 22-4
DFKAA1 MAC 31-JAN-77 09:33 TEST OF SKIP, FULL WORD TRANSFER AND HALF WORD TRANSFER INSTRUCTIONS SEQ 0069
2689 STOP^
2690 031645 254 04 0 00 031646 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2691 031646 324 00 0 00 031647 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2692 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2693 ;IN THE SUBTEST) TO LOOP ON ERROR^
2694
2695 ;**********
2696
2697 ;THIS TEST VERIFIES THAT AR LT INPUT IS FUNCTIONING. A WORD OF ALL ZER0S,
2698 ;EXCEPT FOR ONE ONE IN THE RIGHT HALF IS SWAPPED.
2699 ;THE AC IS CHECKED FOR ITS CONTENTS NON-ZERO. THE TEST PASSES
2700 ;IF C(AC) IS NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT
2701 ;OF THE LEFT HALF OF THE AC IS TESTED WITH A 1.
2702 005514 SN=SN+1
2703 004000 ZZ=ZZ+ZZ
2704 IFE ZZ,<ZZ=1>
2705 031647 200 00 0 00 070253 MOVE [0] ;CLEAR AC
2706 031650 204 00 0 00 070300 MOVS [ZZ] ;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
2707 031651 336 00 0 00 000000 SKIPN ;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
2708 STOP^
2709 031652 254 04 0 00 031653 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2710 031653 324 00 0 00 031654 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2711 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2712 ;IN THE SUBTEST) TO LOOP ON ERROR^
2713
2714 ;**********
2715
2716 ;THIS TEST VERIFIES THAT AR LT INPUT IS FUNCTIONING. A WORD OF ALL ZER0S,
2717 ;EXCEPT FOR ONE ONE IN THE RIGHT HALF IS SWAPPED.
2718 ;THE AC IS CHECKED FOR ITS CONTENTS NON-ZERO. THE TEST PASSES
2719 ;IF C(AC) IS NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT
2720 ;OF THE LEFT HALF OF THE AC IS TESTED WITH A 1.
2721 005515 SN=SN+1
2722 010000 ZZ=ZZ+ZZ
2723 IFE ZZ,<ZZ=1>
2724 031654 200 00 0 00 070253 MOVE [0] ;CLEAR AC
2725 031655 204 00 0 00 070301 MOVS [ZZ] ;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
2726 031656 336 00 0 00 000000 SKIPN ;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
2727 STOP^
2728 031657 254 04 0 00 031660 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2729 031660 324 00 0 00 031661 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2730 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2731 ;IN THE SUBTEST) TO LOOP ON ERROR^
2732
2733 ;**********
2734
2735 ;THIS TEST VERIFIES THAT AR LT INPUT IS FUNCTIONING. A WORD OF ALL ZER0S,
2736 ;EXCEPT FOR ONE ONE IN THE RIGHT HALF IS SWAPPED.
2737 ;THE AC IS CHECKED FOR ITS CONTENTS NON-ZERO. THE TEST PASSES
2738 ;IF C(AC) IS NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT
2739 ;OF THE LEFT HALF OF THE AC IS TESTED WITH A 1.
2740 005516 SN=SN+1
2741 020000 ZZ=ZZ+ZZ
2742 IFE ZZ,<ZZ=1>
2743 031661 200 00 0 00 070253 MOVE [0] ;CLEAR AC
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 22-5
DFKAA1 MAC 31-JAN-77 09:33 TEST OF SKIP, FULL WORD TRANSFER AND HALF WORD TRANSFER INSTRUCTIONS SEQ 0070
2744 031662 204 00 0 00 070302 MOVS [ZZ] ;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
2745 031663 336 00 0 00 000000 SKIPN ;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
2746 STOP^
2747 031664 254 04 0 00 031665 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2748 031665 324 00 0 00 031666 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2749 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2750 ;IN THE SUBTEST) TO LOOP ON ERROR^
2751
2752 ;**********
2753
2754 ;THIS TEST VERIFIES THAT AR LT INPUT IS FUNCTIONING. A WORD OF ALL ZER0S,
2755 ;EXCEPT FOR ONE ONE IN THE RIGHT HALF IS SWAPPED.
2756 ;THE AC IS CHECKED FOR ITS CONTENTS NON-ZERO. THE TEST PASSES
2757 ;IF C(AC) IS NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT
2758 ;OF THE LEFT HALF OF THE AC IS TESTED WITH A 1.
2759 005517 SN=SN+1
2760 040000 ZZ=ZZ+ZZ
2761 IFE ZZ,<ZZ=1>
2762 031666 200 00 0 00 070253 MOVE [0] ;CLEAR AC
2763 031667 204 00 0 00 070303 MOVS [ZZ] ;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
2764 031670 336 00 0 00 000000 SKIPN ;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
2765 STOP^
2766 031671 254 04 0 00 031672 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2767 031672 324 00 0 00 031673 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2768 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2769 ;IN THE SUBTEST) TO LOOP ON ERROR^
2770
2771 ;**********
2772
2773 ;THIS TEST VERIFIES THAT AR LT INPUT IS FUNCTIONING. A WORD OF ALL ZER0S,
2774 ;EXCEPT FOR ONE ONE IN THE RIGHT HALF IS SWAPPED.
2775 ;THE AC IS CHECKED FOR ITS CONTENTS NON-ZERO. THE TEST PASSES
2776 ;IF C(AC) IS NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT
2777 ;OF THE LEFT HALF OF THE AC IS TESTED WITH A 1.
2778 005520 SN=SN+1
2779 100000 ZZ=ZZ+ZZ
2780 IFE ZZ,<ZZ=1>
2781 031673 200 00 0 00 070253 MOVE [0] ;CLEAR AC
2782 031674 204 00 0 00 070304 MOVS [ZZ] ;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
2783 031675 336 00 0 00 000000 SKIPN ;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
2784 STOP^
2785 031676 254 04 0 00 031677 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2786 031677 324 00 0 00 031700 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2787 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2788 ;IN THE SUBTEST) TO LOOP ON ERROR^
2789
2790 ;**********
2791
2792 ;THIS TEST VERIFIES THAT AR LT INPUT IS FUNCTIONING. A WORD OF ALL ZER0S,
2793 ;EXCEPT FOR ONE ONE IN THE RIGHT HALF IS SWAPPED.
2794 ;THE AC IS CHECKED FOR ITS CONTENTS NON-ZERO. THE TEST PASSES
2795 ;IF C(AC) IS NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT
2796 ;OF THE LEFT HALF OF THE AC IS TESTED WITH A 1.
2797 005521 SN=SN+1
2798 200000 ZZ=ZZ+ZZ
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 22-6
DFKAA1 MAC 31-JAN-77 09:33 TEST OF SKIP, FULL WORD TRANSFER AND HALF WORD TRANSFER INSTRUCTIONS SEQ 0071
2799 IFE ZZ,<ZZ=1>
2800 031700 200 00 0 00 070253 MOVE [0] ;CLEAR AC
2801 031701 204 00 0 00 070305 MOVS [ZZ] ;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
2802 031702 336 00 0 00 000000 SKIPN ;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
2803 STOP^
2804 031703 254 04 0 00 031704 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2805 031704 324 00 0 00 031705 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2806 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2807 ;IN THE SUBTEST) TO LOOP ON ERROR^
2808
2809 ;**********
2810
2811 ;THIS TEST VERIFIES THAT AR LT INPUT IS FUNCTIONING. A WORD OF ALL ZER0S,
2812 ;EXCEPT FOR ONE ONE IN THE RIGHT HALF IS SWAPPED.
2813 ;THE AC IS CHECKED FOR ITS CONTENTS NON-ZERO. THE TEST PASSES
2814 ;IF C(AC) IS NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT
2815 ;OF THE LEFT HALF OF THE AC IS TESTED WITH A 1.
2816 005522 SN=SN+1
2817 400000 ZZ=ZZ+ZZ
2818 IFE ZZ,<ZZ=1>
2819 031705 200 00 0 00 070253 MOVE [0] ;CLEAR AC
2820 031706 204 00 0 00 070306 MOVS [ZZ] ;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
2821 031707 336 00 0 00 000000 SKIPN ;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
2822 STOP^
2823 031710 254 04 0 00 031711 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2824 031711 324 00 0 00 031712 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2825 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2826 ;IN THE SUBTEST) TO LOOP ON ERROR^
2827
2828 ;**********
2829
2830 005600 SN=5600
2831
2832 A5600: REPEAT ^D18,
2833 <;THIS TEST VERIFIES THAT AR RT INPUT IS FUNCTIONING. A WORD OF ALL
2834 ;ZEROS, EXCEPT FOR ONE ONE IN THE LEFT HALF IS SWAPPED. THE AC IS
2835 ;CHECKED FOR ITS CONTENTS NON-ZERO. THE TEST PASSES IF C(AC) IS
2836 ;NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT OF THE RIGHT
2837 ;HALF OF THE AC IS TESTED WITH A 1.
2838
2839 SN=SN+1
2840 ZZ=ZZ+ZZ
2841 MOVE [0] ;CLEAR AC
2842 MOVS [ZZ] ;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
2843 SKIPN ;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
2844 STOP
2845
2846 ;**********
2847 >
2848 ;THIS TEST VERIFIES THAT AR RT INPUT IS FUNCTIONING. A WORD OF ALL
2849 ;ZEROS, EXCEPT FOR ONE ONE IN THE LEFT HALF IS SWAPPED. THE AC IS
2850 ;CHECKED FOR ITS CONTENTS NON-ZERO. THE TEST PASSES IF C(AC) IS
2851 ;NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT OF THE RIGHT
2852 ;HALF OF THE AC IS TESTED WITH A 1.
2853
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 22-7
DFKAA1 MAC 31-JAN-77 09:33 TEST OF SKIP, FULL WORD TRANSFER AND HALF WORD TRANSFER INSTRUCTIONS SEQ 0072
2854 005601 SN=SN+1
2855 000001 000000 ZZ=ZZ+ZZ
2856 031712 200 00 0 00 070253 MOVE [0] ;CLEAR AC
2857 031713 204 00 0 00 070307 MOVS [ZZ] ;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
2858 031714 336 00 0 00 000000 SKIPN ;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
2859 STOP^
2860 031715 254 04 0 00 031716 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2861 031716 324 00 0 00 031717 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2862 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2863 ;IN THE SUBTEST) TO LOOP ON ERROR^
2864
2865 ;**********
2866
2867 ;THIS TEST VERIFIES THAT AR RT INPUT IS FUNCTIONING. A WORD OF ALL
2868 ;ZEROS, EXCEPT FOR ONE ONE IN THE LEFT HALF IS SWAPPED. THE AC IS
2869 ;CHECKED FOR ITS CONTENTS NON-ZERO. THE TEST PASSES IF C(AC) IS
2870 ;NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT OF THE RIGHT
2871 ;HALF OF THE AC IS TESTED WITH A 1.
2872
2873 005602 SN=SN+1
2874 000002 000000 ZZ=ZZ+ZZ
2875 031717 200 00 0 00 070253 MOVE [0] ;CLEAR AC
2876 031720 204 00 0 00 070310 MOVS [ZZ] ;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
2877 031721 336 00 0 00 000000 SKIPN ;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
2878 STOP^
2879 031722 254 04 0 00 031723 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2880 031723 324 00 0 00 031724 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2881 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2882 ;IN THE SUBTEST) TO LOOP ON ERROR^
2883
2884 ;**********
2885
2886 ;THIS TEST VERIFIES THAT AR RT INPUT IS FUNCTIONING. A WORD OF ALL
2887 ;ZEROS, EXCEPT FOR ONE ONE IN THE LEFT HALF IS SWAPPED. THE AC IS
2888 ;CHECKED FOR ITS CONTENTS NON-ZERO. THE TEST PASSES IF C(AC) IS
2889 ;NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT OF THE RIGHT
2890 ;HALF OF THE AC IS TESTED WITH A 1.
2891
2892 005603 SN=SN+1
2893 000004 000000 ZZ=ZZ+ZZ
2894 031724 200 00 0 00 070253 MOVE [0] ;CLEAR AC
2895 031725 204 00 0 00 070311 MOVS [ZZ] ;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
2896 031726 336 00 0 00 000000 SKIPN ;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
2897 STOP^
2898 031727 254 04 0 00 031730 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2899 031730 324 00 0 00 031731 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2900 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2901 ;IN THE SUBTEST) TO LOOP ON ERROR^
2902
2903 ;**********
2904
2905 ;THIS TEST VERIFIES THAT AR RT INPUT IS FUNCTIONING. A WORD OF ALL
2906 ;ZEROS, EXCEPT FOR ONE ONE IN THE LEFT HALF IS SWAPPED. THE AC IS
2907 ;CHECKED FOR ITS CONTENTS NON-ZERO. THE TEST PASSES IF C(AC) IS
2908 ;NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT OF THE RIGHT
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 22-8
DFKAA1 MAC 31-JAN-77 09:33 TEST OF SKIP, FULL WORD TRANSFER AND HALF WORD TRANSFER INSTRUCTIONS SEQ 0073
2909 ;HALF OF THE AC IS TESTED WITH A 1.
2910
2911 005604 SN=SN+1
2912 000010 000000 ZZ=ZZ+ZZ
2913 031731 200 00 0 00 070253 MOVE [0] ;CLEAR AC
2914 031732 204 00 0 00 070312 MOVS [ZZ] ;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
2915 031733 336 00 0 00 000000 SKIPN ;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
2916 STOP^
2917 031734 254 04 0 00 031735 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2918 031735 324 00 0 00 031736 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2919 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2920 ;IN THE SUBTEST) TO LOOP ON ERROR^
2921
2922 ;**********
2923
2924 ;THIS TEST VERIFIES THAT AR RT INPUT IS FUNCTIONING. A WORD OF ALL
2925 ;ZEROS, EXCEPT FOR ONE ONE IN THE LEFT HALF IS SWAPPED. THE AC IS
2926 ;CHECKED FOR ITS CONTENTS NON-ZERO. THE TEST PASSES IF C(AC) IS
2927 ;NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT OF THE RIGHT
2928 ;HALF OF THE AC IS TESTED WITH A 1.
2929
2930 005605 SN=SN+1
2931 000020 000000 ZZ=ZZ+ZZ
2932 031736 200 00 0 00 070253 MOVE [0] ;CLEAR AC
2933 031737 204 00 0 00 070313 MOVS [ZZ] ;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
2934 031740 336 00 0 00 000000 SKIPN ;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
2935 STOP^
2936 031741 254 04 0 00 031742 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2937 031742 324 00 0 00 031743 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2938 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2939 ;IN THE SUBTEST) TO LOOP ON ERROR^
2940
2941 ;**********
2942
2943 ;THIS TEST VERIFIES THAT AR RT INPUT IS FUNCTIONING. A WORD OF ALL
2944 ;ZEROS, EXCEPT FOR ONE ONE IN THE LEFT HALF IS SWAPPED. THE AC IS
2945 ;CHECKED FOR ITS CONTENTS NON-ZERO. THE TEST PASSES IF C(AC) IS
2946 ;NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT OF THE RIGHT
2947 ;HALF OF THE AC IS TESTED WITH A 1.
2948
2949 005606 SN=SN+1
2950 000040 000000 ZZ=ZZ+ZZ
2951 031743 200 00 0 00 070253 MOVE [0] ;CLEAR AC
2952 031744 204 00 0 00 070314 MOVS [ZZ] ;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
2953 031745 336 00 0 00 000000 SKIPN ;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
2954 STOP^
2955 031746 254 04 0 00 031747 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2956 031747 324 00 0 00 031750 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2957 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2958 ;IN THE SUBTEST) TO LOOP ON ERROR^
2959
2960 ;**********
2961
2962 ;THIS TEST VERIFIES THAT AR RT INPUT IS FUNCTIONING. A WORD OF ALL
2963 ;ZEROS, EXCEPT FOR ONE ONE IN THE LEFT HALF IS SWAPPED. THE AC IS
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 22-9
DFKAA1 MAC 31-JAN-77 09:33 TEST OF SKIP, FULL WORD TRANSFER AND HALF WORD TRANSFER INSTRUCTIONS SEQ 0074
2964 ;CHECKED FOR ITS CONTENTS NON-ZERO. THE TEST PASSES IF C(AC) IS
2965 ;NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT OF THE RIGHT
2966 ;HALF OF THE AC IS TESTED WITH A 1.
2967
2968 005607 SN=SN+1
2969 000100 000000 ZZ=ZZ+ZZ
2970 031750 200 00 0 00 070253 MOVE [0] ;CLEAR AC
2971 031751 204 00 0 00 070315 MOVS [ZZ] ;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
2972 031752 336 00 0 00 000000 SKIPN ;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
2973 STOP^
2974 031753 254 04 0 00 031754 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2975 031754 324 00 0 00 031755 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2976 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2977 ;IN THE SUBTEST) TO LOOP ON ERROR^
2978
2979 ;**********
2980
2981 ;THIS TEST VERIFIES THAT AR RT INPUT IS FUNCTIONING. A WORD OF ALL
2982 ;ZEROS, EXCEPT FOR ONE ONE IN THE LEFT HALF IS SWAPPED. THE AC IS
2983 ;CHECKED FOR ITS CONTENTS NON-ZERO. THE TEST PASSES IF C(AC) IS
2984 ;NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT OF THE RIGHT
2985 ;HALF OF THE AC IS TESTED WITH A 1.
2986
2987 005610 SN=SN+1
2988 000200 000000 ZZ=ZZ+ZZ
2989 031755 200 00 0 00 070253 MOVE [0] ;CLEAR AC
2990 031756 204 00 0 00 070316 MOVS [ZZ] ;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
2991 031757 336 00 0 00 000000 SKIPN ;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
2992 STOP^
2993 031760 254 04 0 00 031761 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
2994 031761 324 00 0 00 031762 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
2995 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
2996 ;IN THE SUBTEST) TO LOOP ON ERROR^
2997
2998 ;**********
2999
3000 ;THIS TEST VERIFIES THAT AR RT INPUT IS FUNCTIONING. A WORD OF ALL
3001 ;ZEROS, EXCEPT FOR ONE ONE IN THE LEFT HALF IS SWAPPED. THE AC IS
3002 ;CHECKED FOR ITS CONTENTS NON-ZERO. THE TEST PASSES IF C(AC) IS
3003 ;NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT OF THE RIGHT
3004 ;HALF OF THE AC IS TESTED WITH A 1.
3005
3006 005611 SN=SN+1
3007 000400 000000 ZZ=ZZ+ZZ
3008 031762 200 00 0 00 070253 MOVE [0] ;CLEAR AC
3009 031763 204 00 0 00 070264 MOVS [ZZ] ;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
3010 031764 336 00 0 00 000000 SKIPN ;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
3011 STOP^
3012 031765 254 04 0 00 031766 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3013 031766 324 00 0 00 031767 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3014 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3015 ;IN THE SUBTEST) TO LOOP ON ERROR^
3016
3017 ;**********
3018
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 22-10
DFKAA1 MAC 31-JAN-77 09:33 TEST OF SKIP, FULL WORD TRANSFER AND HALF WORD TRANSFER INSTRUCTIONS SEQ 0075
3019 ;THIS TEST VERIFIES THAT AR RT INPUT IS FUNCTIONING. A WORD OF ALL
3020 ;ZEROS, EXCEPT FOR ONE ONE IN THE LEFT HALF IS SWAPPED. THE AC IS
3021 ;CHECKED FOR ITS CONTENTS NON-ZERO. THE TEST PASSES IF C(AC) IS
3022 ;NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT OF THE RIGHT
3023 ;HALF OF THE AC IS TESTED WITH A 1.
3024
3025 005612 SN=SN+1
3026 001000 000000 ZZ=ZZ+ZZ
3027 031767 200 00 0 00 070253 MOVE [0] ;CLEAR AC
3028 031770 204 00 0 00 070317 MOVS [ZZ] ;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
3029 031771 336 00 0 00 000000 SKIPN ;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
3030 STOP^
3031 031772 254 04 0 00 031773 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3032 031773 324 00 0 00 031774 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3033 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3034 ;IN THE SUBTEST) TO LOOP ON ERROR^
3035
3036 ;**********
3037
3038 ;THIS TEST VERIFIES THAT AR RT INPUT IS FUNCTIONING. A WORD OF ALL
3039 ;ZEROS, EXCEPT FOR ONE ONE IN THE LEFT HALF IS SWAPPED. THE AC IS
3040 ;CHECKED FOR ITS CONTENTS NON-ZERO. THE TEST PASSES IF C(AC) IS
3041 ;NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT OF THE RIGHT
3042 ;HALF OF THE AC IS TESTED WITH A 1.
3043
3044 005613 SN=SN+1
3045 002000 000000 ZZ=ZZ+ZZ
3046 031774 200 00 0 00 070253 MOVE [0] ;CLEAR AC
3047 031775 204 00 0 00 070320 MOVS [ZZ] ;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
3048 031776 336 00 0 00 000000 SKIPN ;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
3049 STOP^
3050 031777 254 04 0 00 032000 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3051 032000 324 00 0 00 032001 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3052 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3053 ;IN THE SUBTEST) TO LOOP ON ERROR^
3054
3055 ;**********
3056
3057 ;THIS TEST VERIFIES THAT AR RT INPUT IS FUNCTIONING. A WORD OF ALL
3058 ;ZEROS, EXCEPT FOR ONE ONE IN THE LEFT HALF IS SWAPPED. THE AC IS
3059 ;CHECKED FOR ITS CONTENTS NON-ZERO. THE TEST PASSES IF C(AC) IS
3060 ;NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT OF THE RIGHT
3061 ;HALF OF THE AC IS TESTED WITH A 1.
3062
3063 005614 SN=SN+1
3064 004000 000000 ZZ=ZZ+ZZ
3065 032001 200 00 0 00 070253 MOVE [0] ;CLEAR AC
3066 032002 204 00 0 00 070321 MOVS [ZZ] ;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
3067 032003 336 00 0 00 000000 SKIPN ;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
3068 STOP^
3069 032004 254 04 0 00 032005 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3070 032005 324 00 0 00 032006 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3071 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3072 ;IN THE SUBTEST) TO LOOP ON ERROR^
3073
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 22-11
DFKAA1 MAC 31-JAN-77 09:33 TEST OF SKIP, FULL WORD TRANSFER AND HALF WORD TRANSFER INSTRUCTIONS SEQ 0076
3074 ;**********
3075
3076 ;THIS TEST VERIFIES THAT AR RT INPUT IS FUNCTIONING. A WORD OF ALL
3077 ;ZEROS, EXCEPT FOR ONE ONE IN THE LEFT HALF IS SWAPPED. THE AC IS
3078 ;CHECKED FOR ITS CONTENTS NON-ZERO. THE TEST PASSES IF C(AC) IS
3079 ;NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT OF THE RIGHT
3080 ;HALF OF THE AC IS TESTED WITH A 1.
3081
3082 005615 SN=SN+1
3083 010000 000000 ZZ=ZZ+ZZ
3084 032006 200 00 0 00 070253 MOVE [0] ;CLEAR AC
3085 032007 204 00 0 00 070322 MOVS [ZZ] ;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
3086 032010 336 00 0 00 000000 SKIPN ;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
3087 STOP^
3088 032011 254 04 0 00 032012 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3089 032012 324 00 0 00 032013 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3090 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3091 ;IN THE SUBTEST) TO LOOP ON ERROR^
3092
3093 ;**********
3094
3095 ;THIS TEST VERIFIES THAT AR RT INPUT IS FUNCTIONING. A WORD OF ALL
3096 ;ZEROS, EXCEPT FOR ONE ONE IN THE LEFT HALF IS SWAPPED. THE AC IS
3097 ;CHECKED FOR ITS CONTENTS NON-ZERO. THE TEST PASSES IF C(AC) IS
3098 ;NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT OF THE RIGHT
3099 ;HALF OF THE AC IS TESTED WITH A 1.
3100
3101 005616 SN=SN+1
3102 020000 000000 ZZ=ZZ+ZZ
3103 032013 200 00 0 00 070253 MOVE [0] ;CLEAR AC
3104 032014 204 00 0 00 070323 MOVS [ZZ] ;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
3105 032015 336 00 0 00 000000 SKIPN ;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
3106 STOP^
3107 032016 254 04 0 00 032017 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3108 032017 324 00 0 00 032020 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3109 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3110 ;IN THE SUBTEST) TO LOOP ON ERROR^
3111
3112 ;**********
3113
3114 ;THIS TEST VERIFIES THAT AR RT INPUT IS FUNCTIONING. A WORD OF ALL
3115 ;ZEROS, EXCEPT FOR ONE ONE IN THE LEFT HALF IS SWAPPED. THE AC IS
3116 ;CHECKED FOR ITS CONTENTS NON-ZERO. THE TEST PASSES IF C(AC) IS
3117 ;NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT OF THE RIGHT
3118 ;HALF OF THE AC IS TESTED WITH A 1.
3119
3120 005617 SN=SN+1
3121 040000 000000 ZZ=ZZ+ZZ
3122 032020 200 00 0 00 070253 MOVE [0] ;CLEAR AC
3123 032021 204 00 0 00 070324 MOVS [ZZ] ;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
3124 032022 336 00 0 00 000000 SKIPN ;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
3125 STOP^
3126 032023 254 04 0 00 032024 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3127 032024 324 00 0 00 032025 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3128 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 22-12
DFKAA1 MAC 31-JAN-77 09:33 TEST OF SKIP, FULL WORD TRANSFER AND HALF WORD TRANSFER INSTRUCTIONS SEQ 0077
3129 ;IN THE SUBTEST) TO LOOP ON ERROR^
3130
3131 ;**********
3132
3133 ;THIS TEST VERIFIES THAT AR RT INPUT IS FUNCTIONING. A WORD OF ALL
3134 ;ZEROS, EXCEPT FOR ONE ONE IN THE LEFT HALF IS SWAPPED. THE AC IS
3135 ;CHECKED FOR ITS CONTENTS NON-ZERO. THE TEST PASSES IF C(AC) IS
3136 ;NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT OF THE RIGHT
3137 ;HALF OF THE AC IS TESTED WITH A 1.
3138
3139 005620 SN=SN+1
3140 100000 000000 ZZ=ZZ+ZZ
3141 032025 200 00 0 00 070253 MOVE [0] ;CLEAR AC
3142 032026 204 00 0 00 070325 MOVS [ZZ] ;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
3143 032027 336 00 0 00 000000 SKIPN ;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
3144 STOP^
3145 032030 254 04 0 00 032031 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3146 032031 324 00 0 00 032032 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3147 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3148 ;IN THE SUBTEST) TO LOOP ON ERROR^
3149
3150 ;**********
3151
3152 ;THIS TEST VERIFIES THAT AR RT INPUT IS FUNCTIONING. A WORD OF ALL
3153 ;ZEROS, EXCEPT FOR ONE ONE IN THE LEFT HALF IS SWAPPED. THE AC IS
3154 ;CHECKED FOR ITS CONTENTS NON-ZERO. THE TEST PASSES IF C(AC) IS
3155 ;NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT OF THE RIGHT
3156 ;HALF OF THE AC IS TESTED WITH A 1.
3157
3158 005621 SN=SN+1
3159 200000 000000 ZZ=ZZ+ZZ
3160 032032 200 00 0 00 070253 MOVE [0] ;CLEAR AC
3161 032033 204 00 0 00 070326 MOVS [ZZ] ;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
3162 032034 336 00 0 00 000000 SKIPN ;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
3163 STOP^
3164 032035 254 04 0 00 032036 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3165 032036 324 00 0 00 032037 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3166 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3167 ;IN THE SUBTEST) TO LOOP ON ERROR^
3168
3169 ;**********
3170
3171 ;THIS TEST VERIFIES THAT AR RT INPUT IS FUNCTIONING. A WORD OF ALL
3172 ;ZEROS, EXCEPT FOR ONE ONE IN THE LEFT HALF IS SWAPPED. THE AC IS
3173 ;CHECKED FOR ITS CONTENTS NON-ZERO. THE TEST PASSES IF C(AC) IS
3174 ;NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT OF THE RIGHT
3175 ;HALF OF THE AC IS TESTED WITH A 1.
3176
3177 005622 SN=SN+1
3178 400000 000000 ZZ=ZZ+ZZ
3179 032037 200 00 0 00 070253 MOVE [0] ;CLEAR AC
3180 032040 204 00 0 00 070256 MOVS [ZZ] ;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
3181 032041 336 00 0 00 000000 SKIPN ;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
3182 STOP^
3183 032042 254 04 0 00 032043 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 22-13
DFKAA1 MAC 31-JAN-77 09:33 TEST OF SKIP, FULL WORD TRANSFER AND HALF WORD TRANSFER INSTRUCTIONS SEQ 0078
3184 032043 324 00 0 00 032044 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3185 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3186 ;IN THE SUBTEST) TO LOOP ON ERROR^
3187
3188 ;**********
3189
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 23
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0079
3190 SUBTTL TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)
3191
3192 ;THIS TEST VERIFIES THAT SETM LOADS AC FROM E. THE AC IS FIRST SET
3193 ;TO ZERO; THEN, SETM IS EXECUTED WITH ALL ONES IN E. BIT 0 OF THE AC
3194 ;IS THEN CHECKED FOR A 1.
3195
3196 032044 200 00 0 00 070253 A5700: MOVE [0] ;PRELOAD AC WITH ALL ZEROS
3197 032045 414 00 0 00 070254 SETM [-1] ;*SETM SHOULD LOAD AC WITH ALL ONES
3198 032046 331 00 0 00 000000 SKIPL ;PASS TEST IF AC BIT 0 IS A ONE
3199 STOP^
3200 032047 254 04 0 00 032050 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3201 032050 324 00 0 00 032051 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3202 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3203 ;IN THE SUBTEST) TO LOOP ON ERROR^
3204 ;FCE [F1], IR BOOLE [IR1], IRXX(0,5,12,17) [IR2]
3205
3206 ;**********
3207
3208 ;THIS TEST VERIFIES THAT SETM LOADS AC FROM E. THE AC IS FIRST SET TO
3209 ;ALL ONES; THEN, SETM IS EXECUTED WITH ALL ZEROS IN E. THE AC IS CHECKED
3210 ;FOR ALL ZEROS
3211
3212 032051 200 00 0 00 070254 A6000: MOVE [-1] ;PRESET AC TO ALL ONES
3213 032052 414 00 0 00 070253 SETM [0] ;*SETM SHOULD LOAD AC WITH ALL ONES
3214 032053 332 00 0 00 000000 SKIPE ;PASSES TEST IF C(AC) = 0
3215 STOP^
3216 032054 254 04 0 00 032055 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3217 032055 324 00 0 00 032056 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3218 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3219 ;IN THE SUBTEST) TO LOOP ON ERROR^
3220
3221 ;AD AR + EN [ADAP], AD AR + EN C[ADAP],
3222 ;F CYC ACT EN A[F1], IR BOOLE AD A +F[IR2],
3223 ;IR BOOLE [IR1], IRXX(1-3,6,11,15,16) [IR2]
3224
3225 ;**********
3226
3227 ;THIS TEST VERIFIES THAT SETZ LOADS TH AC WITH ALL ZEROS. FIRST, A WORD
3228 ;OF ALL ZEROS IS LOADED INTO THE AC VIA A MOVE INSTC. THEN, SETZ IS
3229 ;EXECUTED. THE AC IS CHECKED FOR ALL ZEROS.
3230 ;IF ANY BITS IN THE AC ARE SET, THE TEST FAILS.
3231
3232 032056 200 00 0 00 070253 A6100: MOVE [0] ;RESET AC TO ALL ZEROS
3233 032057 400 00 0 00 000000 SETZ ;*SETZ SHOULD CLEAR THE AC
3234 032060 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC) = 0
3235 STOP^
3236 032061 254 04 0 00 032062 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3237 032062 324 00 0 00 032063 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3238 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3239 ;IN THE SUBTEST) TO LOOP ON ERROR^
3240
3241 ;AD MASK GEN EN [ADC1], AD MASK GEN F/F'S [ADC1]
3242 ;AD MASK EN B; F CYC ACT EN B[F1]; IRXX00 [IR1];
3243 ;IR BOOLE [IR1]
3244
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 23-1
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0080
3245 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 24
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0081
3246 ;THIS TEST VERIFIES THAT SETZ LOADS THE AC WITH ALL ZEROS. FIRST,
3247 ;THE AC IS SET TO ALL ONES; THEN, SETZ IS EXECUTED. THE AC IS THEN
3248 ;CHECKED FOR ALL ZEROS. IF ANY BITS IN THE AC ARE SET, THE TEST FAILS.
3249
3250 032063 200 00 0 00 070254 A6200: MOVE [-1] ;PRESET AC TO ALL ONES
3251 032064 400 00 0 00 032064 SETZ . ;*SETZ SHOULD CLEAR THE AC
3252 032065 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC) = 0
3253 STOP^
3254 032066 254 04 0 00 032067 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3255 032067 324 00 0 00 032070 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3256 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3257 ;IN THE SUBTEST) TO LOOP ON ERROR^
3258
3259 ;AR AD EN [ARMA], AR AD ET2 EN [ARMA], IR BOOLE [IR]
3260
3261 ;**********
3262
3263 ;THIS TEST VERIFIES THAT THE AND INSTRUCTION OPERATING ON AN AC
3264 ;CONTAINING ALL ZEROS AND AN E CONTAINING ALL ZEROS RESULTS IN AN AC
3265 ;OF ALL ZEROS. THE AC AND E ARE THE SAME IN THIS TEST.
3266 ;AC, E ARE LOADED WITH ZEROS; THEN, AND IS EXECUTED. THE AC IS THEN
3267 ;CHECKED FOR ALL ZEROS. IF ANY BITS IN THE AC ARE SET BY THE AND INSTRUCTION,
3268 ;THE TEST FAILS.
3269
3270
3271 032070 200 00 0 00 070253 A6300: MOVE [0] ;PRESET AC, E TO ALL ZEROS
3272 032071 404 00 0 00 000000 AND ;*AND SHOULD RESULT IN C(AC) = 0
3273 032072 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC) = 0
3274 STOP^
3275 032073 254 04 0 00 032074 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3276 032074 324 00 0 00 032075 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3277 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3278 ;IN THE SUBTEST) TO LOOP ON ERROR^
3279
3280 ;**********
3281 006400 SN=6400
3282 000000 ZZ=0
3283
3284 A6400: REPEAT ^D36,
3285 <;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
3286 ;IS ZERO, THE RESULT WILL BE ZERO. THIS TEST IS REPEATED 36 TIMES WITH
3287 ;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
3288 ;WHERE X TAKES ON INTEGER VALUES 0 THRU 35. E CONTAINS ALL ZEROS.
3289 ;THE RESULT SHOULD BE ALL ZEROS IN THE AC. IF C(AC) IS NON-ZERO,
3290 ;'AND' FAILED. C(0) IS ALSO CHECKED FOR ALL ZEROS. IF C(0) IS
3291 ;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
3292
3293 SN=SN+1
3294 ZZ=ZZ+ZZ
3295 IFE ZZ,<ZZ=1>
3296 SETZ ;PRESET E TO ALL ZEROS
3297 MOVE 1,[ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
3298 ;WHERE X VARIES FROM 0 THRU 35
3299 AND 1,0 ;*AND SHOULD RESULT IN C(AC) = 0
3300 SKIPE 1 ;FAIL IF C(AC) NON-ZERO
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 24-1
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0082
3301 STOP
3302 SKIPE 0 ;FAIL IF C(0) IS NON-ZERO
3303 STOP
3304 ;**********
3305 >
3306 ;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
3307 ;IS ZERO, THE RESULT WILL BE ZERO. THIS TEST IS REPEATED 36 TIMES WITH
3308 ;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
3309 ;WHERE X TAKES ON INTEGER VALUES 0 THRU 35. E CONTAINS ALL ZEROS.
3310 ;THE RESULT SHOULD BE ALL ZEROS IN THE AC. IF C(AC) IS NON-ZERO,
3311 ;'AND' FAILED. C(0) IS ALSO CHECKED FOR ALL ZEROS. IF C(0) IS
3312 ;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
3313
3314 006401 SN=SN+1
3315 000000 ZZ=ZZ+ZZ
3316 000001 IFE ZZ,<ZZ=1>
3317 032075 400 00 0 00 000000 SETZ ;PRESET E TO ALL ZEROS
3318 032076 200 01 0 00 070265 MOVE 1,[ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
3319 ;WHERE X VARIES FROM 0 THRU 35
3320 032077 404 01 0 00 000000 AND 1,0 ;*AND SHOULD RESULT IN C(AC) = 0
3321 032100 332 00 0 00 000001 SKIPE 1 ;FAIL IF C(AC) NON-ZERO
3322 STOP^
3323 032101 254 04 0 00 032102 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3324 032102 324 00 0 00 032103 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3325 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3326 ;IN THE SUBTEST) TO LOOP ON ERROR^
3327 032103 332 00 0 00 000000 SKIPE 0 ;FAIL IF C(0) IS NON-ZERO
3328 STOP^
3329 032104 254 04 0 00 032105 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3330 032105 324 00 0 00 032106 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3331 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3332 ;IN THE SUBTEST) TO LOOP ON ERROR^
3333 ;**********
3334
3335 ;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
3336 ;IS ZERO, THE RESULT WILL BE ZERO. THIS TEST IS REPEATED 36 TIMES WITH
3337 ;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
3338 ;WHERE X TAKES ON INTEGER VALUES 0 THRU 35. E CONTAINS ALL ZEROS.
3339 ;THE RESULT SHOULD BE ALL ZEROS IN THE AC. IF C(AC) IS NON-ZERO,
3340 ;'AND' FAILED. C(0) IS ALSO CHECKED FOR ALL ZEROS. IF C(0) IS
3341 ;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
3342
3343 006402 SN=SN+1
3344 000002 ZZ=ZZ+ZZ
3345 IFE ZZ,<ZZ=1>
3346 032106 400 00 0 00 000000 SETZ ;PRESET E TO ALL ZEROS
3347 032107 200 01 0 00 070266 MOVE 1,[ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
3348 ;WHERE X VARIES FROM 0 THRU 35
3349 032110 404 01 0 00 000000 AND 1,0 ;*AND SHOULD RESULT IN C(AC) = 0
3350 032111 332 00 0 00 000001 SKIPE 1 ;FAIL IF C(AC) NON-ZERO
3351 STOP^
3352 032112 254 04 0 00 032113 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3353 032113 324 00 0 00 032114 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3354 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3355 ;IN THE SUBTEST) TO LOOP ON ERROR^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 24-2
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0083
3356 032114 332 00 0 00 000000 SKIPE 0 ;FAIL IF C(0) IS NON-ZERO
3357 STOP^
3358 032115 254 04 0 00 032116 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3359 032116 324 00 0 00 032117 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3360 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3361 ;IN THE SUBTEST) TO LOOP ON ERROR^
3362 ;**********
3363
3364 ;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
3365 ;IS ZERO, THE RESULT WILL BE ZERO. THIS TEST IS REPEATED 36 TIMES WITH
3366 ;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
3367 ;WHERE X TAKES ON INTEGER VALUES 0 THRU 35. E CONTAINS ALL ZEROS.
3368 ;THE RESULT SHOULD BE ALL ZEROS IN THE AC. IF C(AC) IS NON-ZERO,
3369 ;'AND' FAILED. C(0) IS ALSO CHECKED FOR ALL ZEROS. IF C(0) IS
3370 ;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
3371
3372 006403 SN=SN+1
3373 000004 ZZ=ZZ+ZZ
3374 IFE ZZ,<ZZ=1>
3375 032117 400 00 0 00 000000 SETZ ;PRESET E TO ALL ZEROS
3376 032120 200 01 0 00 070267 MOVE 1,[ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
3377 ;WHERE X VARIES FROM 0 THRU 35
3378 032121 404 01 0 00 000000 AND 1,0 ;*AND SHOULD RESULT IN C(AC) = 0
3379 032122 332 00 0 00 000001 SKIPE 1 ;FAIL IF C(AC) NON-ZERO
3380 STOP^
3381 032123 254 04 0 00 032124 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3382 032124 324 00 0 00 032125 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3383 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3384 ;IN THE SUBTEST) TO LOOP ON ERROR^
3385 032125 332 00 0 00 000000 SKIPE 0 ;FAIL IF C(0) IS NON-ZERO
3386 STOP^
3387 032126 254 04 0 00 032127 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3388 032127 324 00 0 00 032130 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3389 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3390 ;IN THE SUBTEST) TO LOOP ON ERROR^
3391 ;**********
3392
3393 ;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
3394 ;IS ZERO, THE RESULT WILL BE ZERO. THIS TEST IS REPEATED 36 TIMES WITH
3395 ;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
3396 ;WHERE X TAKES ON INTEGER VALUES 0 THRU 35. E CONTAINS ALL ZEROS.
3397 ;THE RESULT SHOULD BE ALL ZEROS IN THE AC. IF C(AC) IS NON-ZERO,
3398 ;'AND' FAILED. C(0) IS ALSO CHECKED FOR ALL ZEROS. IF C(0) IS
3399 ;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
3400
3401 006404 SN=SN+1
3402 000010 ZZ=ZZ+ZZ
3403 IFE ZZ,<ZZ=1>
3404 032130 400 00 0 00 000000 SETZ ;PRESET E TO ALL ZEROS
3405 032131 200 01 0 00 070270 MOVE 1,[ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
3406 ;WHERE X VARIES FROM 0 THRU 35
3407 032132 404 01 0 00 000000 AND 1,0 ;*AND SHOULD RESULT IN C(AC) = 0
3408 032133 332 00 0 00 000001 SKIPE 1 ;FAIL IF C(AC) NON-ZERO
3409 STOP^
3410 032134 254 04 0 00 032135 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 24-3
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0084
3411 032135 324 00 0 00 032136 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3412 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3413 ;IN THE SUBTEST) TO LOOP ON ERROR^
3414 032136 332 00 0 00 000000 SKIPE 0 ;FAIL IF C(0) IS NON-ZERO
3415 STOP^
3416 032137 254 04 0 00 032140 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3417 032140 324 00 0 00 032141 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3418 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3419 ;IN THE SUBTEST) TO LOOP ON ERROR^
3420 ;**********
3421
3422 ;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
3423 ;IS ZERO, THE RESULT WILL BE ZERO. THIS TEST IS REPEATED 36 TIMES WITH
3424 ;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
3425 ;WHERE X TAKES ON INTEGER VALUES 0 THRU 35. E CONTAINS ALL ZEROS.
3426 ;THE RESULT SHOULD BE ALL ZEROS IN THE AC. IF C(AC) IS NON-ZERO,
3427 ;'AND' FAILED. C(0) IS ALSO CHECKED FOR ALL ZEROS. IF C(0) IS
3428 ;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
3429
3430 006405 SN=SN+1
3431 000020 ZZ=ZZ+ZZ
3432 IFE ZZ,<ZZ=1>
3433 032141 400 00 0 00 000000 SETZ ;PRESET E TO ALL ZEROS
3434 032142 200 01 0 00 070271 MOVE 1,[ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
3435 ;WHERE X VARIES FROM 0 THRU 35
3436 032143 404 01 0 00 000000 AND 1,0 ;*AND SHOULD RESULT IN C(AC) = 0
3437 032144 332 00 0 00 000001 SKIPE 1 ;FAIL IF C(AC) NON-ZERO
3438 STOP^
3439 032145 254 04 0 00 032146 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3440 032146 324 00 0 00 032147 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3441 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3442 ;IN THE SUBTEST) TO LOOP ON ERROR^
3443 032147 332 00 0 00 000000 SKIPE 0 ;FAIL IF C(0) IS NON-ZERO
3444 STOP^
3445 032150 254 04 0 00 032151 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3446 032151 324 00 0 00 032152 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3447 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3448 ;IN THE SUBTEST) TO LOOP ON ERROR^
3449 ;**********
3450
3451 ;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
3452 ;IS ZERO, THE RESULT WILL BE ZERO. THIS TEST IS REPEATED 36 TIMES WITH
3453 ;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
3454 ;WHERE X TAKES ON INTEGER VALUES 0 THRU 35. E CONTAINS ALL ZEROS.
3455 ;THE RESULT SHOULD BE ALL ZEROS IN THE AC. IF C(AC) IS NON-ZERO,
3456 ;'AND' FAILED. C(0) IS ALSO CHECKED FOR ALL ZEROS. IF C(0) IS
3457 ;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
3458
3459 006406 SN=SN+1
3460 000040 ZZ=ZZ+ZZ
3461 IFE ZZ,<ZZ=1>
3462 032152 400 00 0 00 000000 SETZ ;PRESET E TO ALL ZEROS
3463 032153 200 01 0 00 070272 MOVE 1,[ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
3464 ;WHERE X VARIES FROM 0 THRU 35
3465 032154 404 01 0 00 000000 AND 1,0 ;*AND SHOULD RESULT IN C(AC) = 0
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 24-4
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0085
3466 032155 332 00 0 00 000001 SKIPE 1 ;FAIL IF C(AC) NON-ZERO
3467 STOP^
3468 032156 254 04 0 00 032157 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3469 032157 324 00 0 00 032160 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3470 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3471 ;IN THE SUBTEST) TO LOOP ON ERROR^
3472 032160 332 00 0 00 000000 SKIPE 0 ;FAIL IF C(0) IS NON-ZERO
3473 STOP^
3474 032161 254 04 0 00 032162 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3475 032162 324 00 0 00 032163 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3476 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3477 ;IN THE SUBTEST) TO LOOP ON ERROR^
3478 ;**********
3479
3480 ;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
3481 ;IS ZERO, THE RESULT WILL BE ZERO. THIS TEST IS REPEATED 36 TIMES WITH
3482 ;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
3483 ;WHERE X TAKES ON INTEGER VALUES 0 THRU 35. E CONTAINS ALL ZEROS.
3484 ;THE RESULT SHOULD BE ALL ZEROS IN THE AC. IF C(AC) IS NON-ZERO,
3485 ;'AND' FAILED. C(0) IS ALSO CHECKED FOR ALL ZEROS. IF C(0) IS
3486 ;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
3487
3488 006407 SN=SN+1
3489 000100 ZZ=ZZ+ZZ
3490 IFE ZZ,<ZZ=1>
3491 032163 400 00 0 00 000000 SETZ ;PRESET E TO ALL ZEROS
3492 032164 200 01 0 00 070273 MOVE 1,[ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
3493 ;WHERE X VARIES FROM 0 THRU 35
3494 032165 404 01 0 00 000000 AND 1,0 ;*AND SHOULD RESULT IN C(AC) = 0
3495 032166 332 00 0 00 000001 SKIPE 1 ;FAIL IF C(AC) NON-ZERO
3496 STOP^
3497 032167 254 04 0 00 032170 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3498 032170 324 00 0 00 032171 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3499 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3500 ;IN THE SUBTEST) TO LOOP ON ERROR^
3501 032171 332 00 0 00 000000 SKIPE 0 ;FAIL IF C(0) IS NON-ZERO
3502 STOP^
3503 032172 254 04 0 00 032173 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3504 032173 324 00 0 00 032174 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3505 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3506 ;IN THE SUBTEST) TO LOOP ON ERROR^
3507 ;**********
3508
3509 ;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
3510 ;IS ZERO, THE RESULT WILL BE ZERO. THIS TEST IS REPEATED 36 TIMES WITH
3511 ;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
3512 ;WHERE X TAKES ON INTEGER VALUES 0 THRU 35. E CONTAINS ALL ZEROS.
3513 ;THE RESULT SHOULD BE ALL ZEROS IN THE AC. IF C(AC) IS NON-ZERO,
3514 ;'AND' FAILED. C(0) IS ALSO CHECKED FOR ALL ZEROS. IF C(0) IS
3515 ;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
3516
3517 006410 SN=SN+1
3518 000200 ZZ=ZZ+ZZ
3519 IFE ZZ,<ZZ=1>
3520 032174 400 00 0 00 000000 SETZ ;PRESET E TO ALL ZEROS
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 24-5
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0086
3521 032175 200 01 0 00 070274 MOVE 1,[ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
3522 ;WHERE X VARIES FROM 0 THRU 35
3523 032176 404 01 0 00 000000 AND 1,0 ;*AND SHOULD RESULT IN C(AC) = 0
3524 032177 332 00 0 00 000001 SKIPE 1 ;FAIL IF C(AC) NON-ZERO
3525 STOP^
3526 032200 254 04 0 00 032201 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3527 032201 324 00 0 00 032202 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3528 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3529 ;IN THE SUBTEST) TO LOOP ON ERROR^
3530 032202 332 00 0 00 000000 SKIPE 0 ;FAIL IF C(0) IS NON-ZERO
3531 STOP^
3532 032203 254 04 0 00 032204 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3533 032204 324 00 0 00 032205 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3534 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3535 ;IN THE SUBTEST) TO LOOP ON ERROR^
3536 ;**********
3537
3538 ;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
3539 ;IS ZERO, THE RESULT WILL BE ZERO. THIS TEST IS REPEATED 36 TIMES WITH
3540 ;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
3541 ;WHERE X TAKES ON INTEGER VALUES 0 THRU 35. E CONTAINS ALL ZEROS.
3542 ;THE RESULT SHOULD BE ALL ZEROS IN THE AC. IF C(AC) IS NON-ZERO,
3543 ;'AND' FAILED. C(0) IS ALSO CHECKED FOR ALL ZEROS. IF C(0) IS
3544 ;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
3545
3546 006411 SN=SN+1
3547 000400 ZZ=ZZ+ZZ
3548 IFE ZZ,<ZZ=1>
3549 032205 400 00 0 00 000000 SETZ ;PRESET E TO ALL ZEROS
3550 032206 200 01 0 00 070275 MOVE 1,[ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
3551 ;WHERE X VARIES FROM 0 THRU 35
3552 032207 404 01 0 00 000000 AND 1,0 ;*AND SHOULD RESULT IN C(AC) = 0
3553 032210 332 00 0 00 000001 SKIPE 1 ;FAIL IF C(AC) NON-ZERO
3554 STOP^
3555 032211 254 04 0 00 032212 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3556 032212 324 00 0 00 032213 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3557 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3558 ;IN THE SUBTEST) TO LOOP ON ERROR^
3559 032213 332 00 0 00 000000 SKIPE 0 ;FAIL IF C(0) IS NON-ZERO
3560 STOP^
3561 032214 254 04 0 00 032215 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3562 032215 324 00 0 00 032216 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3563 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3564 ;IN THE SUBTEST) TO LOOP ON ERROR^
3565 ;**********
3566
3567 ;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
3568 ;IS ZERO, THE RESULT WILL BE ZERO. THIS TEST IS REPEATED 36 TIMES WITH
3569 ;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
3570 ;WHERE X TAKES ON INTEGER VALUES 0 THRU 35. E CONTAINS ALL ZEROS.
3571 ;THE RESULT SHOULD BE ALL ZEROS IN THE AC. IF C(AC) IS NON-ZERO,
3572 ;'AND' FAILED. C(0) IS ALSO CHECKED FOR ALL ZEROS. IF C(0) IS
3573 ;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
3574
3575 006412 SN=SN+1
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 24-6
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0087
3576 001000 ZZ=ZZ+ZZ
3577 IFE ZZ,<ZZ=1>
3578 032216 400 00 0 00 000000 SETZ ;PRESET E TO ALL ZEROS
3579 032217 200 01 0 00 070276 MOVE 1,[ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
3580 ;WHERE X VARIES FROM 0 THRU 35
3581 032220 404 01 0 00 000000 AND 1,0 ;*AND SHOULD RESULT IN C(AC) = 0
3582 032221 332 00 0 00 000001 SKIPE 1 ;FAIL IF C(AC) NON-ZERO
3583 STOP^
3584 032222 254 04 0 00 032223 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3585 032223 324 00 0 00 032224 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3586 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3587 ;IN THE SUBTEST) TO LOOP ON ERROR^
3588 032224 332 00 0 00 000000 SKIPE 0 ;FAIL IF C(0) IS NON-ZERO
3589 STOP^
3590 032225 254 04 0 00 032226 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3591 032226 324 00 0 00 032227 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3592 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3593 ;IN THE SUBTEST) TO LOOP ON ERROR^
3594 ;**********
3595
3596 ;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
3597 ;IS ZERO, THE RESULT WILL BE ZERO. THIS TEST IS REPEATED 36 TIMES WITH
3598 ;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
3599 ;WHERE X TAKES ON INTEGER VALUES 0 THRU 35. E CONTAINS ALL ZEROS.
3600 ;THE RESULT SHOULD BE ALL ZEROS IN THE AC. IF C(AC) IS NON-ZERO,
3601 ;'AND' FAILED. C(0) IS ALSO CHECKED FOR ALL ZEROS. IF C(0) IS
3602 ;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
3603
3604 006413 SN=SN+1
3605 002000 ZZ=ZZ+ZZ
3606 IFE ZZ,<ZZ=1>
3607 032227 400 00 0 00 000000 SETZ ;PRESET E TO ALL ZEROS
3608 032230 200 01 0 00 070277 MOVE 1,[ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
3609 ;WHERE X VARIES FROM 0 THRU 35
3610 032231 404 01 0 00 000000 AND 1,0 ;*AND SHOULD RESULT IN C(AC) = 0
3611 032232 332 00 0 00 000001 SKIPE 1 ;FAIL IF C(AC) NON-ZERO
3612 STOP^
3613 032233 254 04 0 00 032234 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3614 032234 324 00 0 00 032235 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3615 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3616 ;IN THE SUBTEST) TO LOOP ON ERROR^
3617 032235 332 00 0 00 000000 SKIPE 0 ;FAIL IF C(0) IS NON-ZERO
3618 STOP^
3619 032236 254 04 0 00 032237 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3620 032237 324 00 0 00 032240 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3621 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3622 ;IN THE SUBTEST) TO LOOP ON ERROR^
3623 ;**********
3624
3625 ;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
3626 ;IS ZERO, THE RESULT WILL BE ZERO. THIS TEST IS REPEATED 36 TIMES WITH
3627 ;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
3628 ;WHERE X TAKES ON INTEGER VALUES 0 THRU 35. E CONTAINS ALL ZEROS.
3629 ;THE RESULT SHOULD BE ALL ZEROS IN THE AC. IF C(AC) IS NON-ZERO,
3630 ;'AND' FAILED. C(0) IS ALSO CHECKED FOR ALL ZEROS. IF C(0) IS
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 24-7
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0088
3631 ;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
3632
3633 006414 SN=SN+1
3634 004000 ZZ=ZZ+ZZ
3635 IFE ZZ,<ZZ=1>
3636 032240 400 00 0 00 000000 SETZ ;PRESET E TO ALL ZEROS
3637 032241 200 01 0 00 070300 MOVE 1,[ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
3638 ;WHERE X VARIES FROM 0 THRU 35
3639 032242 404 01 0 00 000000 AND 1,0 ;*AND SHOULD RESULT IN C(AC) = 0
3640 032243 332 00 0 00 000001 SKIPE 1 ;FAIL IF C(AC) NON-ZERO
3641 STOP^
3642 032244 254 04 0 00 032245 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3643 032245 324 00 0 00 032246 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3644 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3645 ;IN THE SUBTEST) TO LOOP ON ERROR^
3646 032246 332 00 0 00 000000 SKIPE 0 ;FAIL IF C(0) IS NON-ZERO
3647 STOP^
3648 032247 254 04 0 00 032250 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3649 032250 324 00 0 00 032251 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3650 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3651 ;IN THE SUBTEST) TO LOOP ON ERROR^
3652 ;**********
3653
3654 ;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
3655 ;IS ZERO, THE RESULT WILL BE ZERO. THIS TEST IS REPEATED 36 TIMES WITH
3656 ;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
3657 ;WHERE X TAKES ON INTEGER VALUES 0 THRU 35. E CONTAINS ALL ZEROS.
3658 ;THE RESULT SHOULD BE ALL ZEROS IN THE AC. IF C(AC) IS NON-ZERO,
3659 ;'AND' FAILED. C(0) IS ALSO CHECKED FOR ALL ZEROS. IF C(0) IS
3660 ;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
3661
3662 006415 SN=SN+1
3663 010000 ZZ=ZZ+ZZ
3664 IFE ZZ,<ZZ=1>
3665 032251 400 00 0 00 000000 SETZ ;PRESET E TO ALL ZEROS
3666 032252 200 01 0 00 070301 MOVE 1,[ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
3667 ;WHERE X VARIES FROM 0 THRU 35
3668 032253 404 01 0 00 000000 AND 1,0 ;*AND SHOULD RESULT IN C(AC) = 0
3669 032254 332 00 0 00 000001 SKIPE 1 ;FAIL IF C(AC) NON-ZERO
3670 STOP^
3671 032255 254 04 0 00 032256 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3672 032256 324 00 0 00 032257 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3673 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3674 ;IN THE SUBTEST) TO LOOP ON ERROR^
3675 032257 332 00 0 00 000000 SKIPE 0 ;FAIL IF C(0) IS NON-ZERO
3676 STOP^
3677 032260 254 04 0 00 032261 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3678 032261 324 00 0 00 032262 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3679 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3680 ;IN THE SUBTEST) TO LOOP ON ERROR^
3681 ;**********
3682
3683 ;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
3684 ;IS ZERO, THE RESULT WILL BE ZERO. THIS TEST IS REPEATED 36 TIMES WITH
3685 ;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 24-8
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0089
3686 ;WHERE X TAKES ON INTEGER VALUES 0 THRU 35. E CONTAINS ALL ZEROS.
3687 ;THE RESULT SHOULD BE ALL ZEROS IN THE AC. IF C(AC) IS NON-ZERO,
3688 ;'AND' FAILED. C(0) IS ALSO CHECKED FOR ALL ZEROS. IF C(0) IS
3689 ;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
3690
3691 006416 SN=SN+1
3692 020000 ZZ=ZZ+ZZ
3693 IFE ZZ,<ZZ=1>
3694 032262 400 00 0 00 000000 SETZ ;PRESET E TO ALL ZEROS
3695 032263 200 01 0 00 070302 MOVE 1,[ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
3696 ;WHERE X VARIES FROM 0 THRU 35
3697 032264 404 01 0 00 000000 AND 1,0 ;*AND SHOULD RESULT IN C(AC) = 0
3698 032265 332 00 0 00 000001 SKIPE 1 ;FAIL IF C(AC) NON-ZERO
3699 STOP^
3700 032266 254 04 0 00 032267 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3701 032267 324 00 0 00 032270 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3702 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3703 ;IN THE SUBTEST) TO LOOP ON ERROR^
3704 032270 332 00 0 00 000000 SKIPE 0 ;FAIL IF C(0) IS NON-ZERO
3705 STOP^
3706 032271 254 04 0 00 032272 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3707 032272 324 00 0 00 032273 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3708 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3709 ;IN THE SUBTEST) TO LOOP ON ERROR^
3710 ;**********
3711
3712 ;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
3713 ;IS ZERO, THE RESULT WILL BE ZERO. THIS TEST IS REPEATED 36 TIMES WITH
3714 ;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
3715 ;WHERE X TAKES ON INTEGER VALUES 0 THRU 35. E CONTAINS ALL ZEROS.
3716 ;THE RESULT SHOULD BE ALL ZEROS IN THE AC. IF C(AC) IS NON-ZERO,
3717 ;'AND' FAILED. C(0) IS ALSO CHECKED FOR ALL ZEROS. IF C(0) IS
3718 ;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
3719
3720 006417 SN=SN+1
3721 040000 ZZ=ZZ+ZZ
3722 IFE ZZ,<ZZ=1>
3723 032273 400 00 0 00 000000 SETZ ;PRESET E TO ALL ZEROS
3724 032274 200 01 0 00 070303 MOVE 1,[ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
3725 ;WHERE X VARIES FROM 0 THRU 35
3726 032275 404 01 0 00 000000 AND 1,0 ;*AND SHOULD RESULT IN C(AC) = 0
3727 032276 332 00 0 00 000001 SKIPE 1 ;FAIL IF C(AC) NON-ZERO
3728 STOP^
3729 032277 254 04 0 00 032300 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3730 032300 324 00 0 00 032301 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3731 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3732 ;IN THE SUBTEST) TO LOOP ON ERROR^
3733 032301 332 00 0 00 000000 SKIPE 0 ;FAIL IF C(0) IS NON-ZERO
3734 STOP^
3735 032302 254 04 0 00 032303 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3736 032303 324 00 0 00 032304 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3737 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3738 ;IN THE SUBTEST) TO LOOP ON ERROR^
3739 ;**********
3740
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 24-9
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0090
3741 ;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
3742 ;IS ZERO, THE RESULT WILL BE ZERO. THIS TEST IS REPEATED 36 TIMES WITH
3743 ;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
3744 ;WHERE X TAKES ON INTEGER VALUES 0 THRU 35. E CONTAINS ALL ZEROS.
3745 ;THE RESULT SHOULD BE ALL ZEROS IN THE AC. IF C(AC) IS NON-ZERO,
3746 ;'AND' FAILED. C(0) IS ALSO CHECKED FOR ALL ZEROS. IF C(0) IS
3747 ;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
3748
3749 006420 SN=SN+1
3750 100000 ZZ=ZZ+ZZ
3751 IFE ZZ,<ZZ=1>
3752 032304 400 00 0 00 000000 SETZ ;PRESET E TO ALL ZEROS
3753 032305 200 01 0 00 070304 MOVE 1,[ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
3754 ;WHERE X VARIES FROM 0 THRU 35
3755 032306 404 01 0 00 000000 AND 1,0 ;*AND SHOULD RESULT IN C(AC) = 0
3756 032307 332 00 0 00 000001 SKIPE 1 ;FAIL IF C(AC) NON-ZERO
3757 STOP^
3758 032310 254 04 0 00 032311 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3759 032311 324 00 0 00 032312 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3760 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3761 ;IN THE SUBTEST) TO LOOP ON ERROR^
3762 032312 332 00 0 00 000000 SKIPE 0 ;FAIL IF C(0) IS NON-ZERO
3763 STOP^
3764 032313 254 04 0 00 032314 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3765 032314 324 00 0 00 032315 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3766 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3767 ;IN THE SUBTEST) TO LOOP ON ERROR^
3768 ;**********
3769
3770 ;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
3771 ;IS ZERO, THE RESULT WILL BE ZERO. THIS TEST IS REPEATED 36 TIMES WITH
3772 ;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
3773 ;WHERE X TAKES ON INTEGER VALUES 0 THRU 35. E CONTAINS ALL ZEROS.
3774 ;THE RESULT SHOULD BE ALL ZEROS IN THE AC. IF C(AC) IS NON-ZERO,
3775 ;'AND' FAILED. C(0) IS ALSO CHECKED FOR ALL ZEROS. IF C(0) IS
3776 ;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
3777
3778 006421 SN=SN+1
3779 200000 ZZ=ZZ+ZZ
3780 IFE ZZ,<ZZ=1>
3781 032315 400 00 0 00 000000 SETZ ;PRESET E TO ALL ZEROS
3782 032316 200 01 0 00 070305 MOVE 1,[ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
3783 ;WHERE X VARIES FROM 0 THRU 35
3784 032317 404 01 0 00 000000 AND 1,0 ;*AND SHOULD RESULT IN C(AC) = 0
3785 032320 332 00 0 00 000001 SKIPE 1 ;FAIL IF C(AC) NON-ZERO
3786 STOP^
3787 032321 254 04 0 00 032322 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3788 032322 324 00 0 00 032323 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3789 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3790 ;IN THE SUBTEST) TO LOOP ON ERROR^
3791 032323 332 00 0 00 000000 SKIPE 0 ;FAIL IF C(0) IS NON-ZERO
3792 STOP^
3793 032324 254 04 0 00 032325 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3794 032325 324 00 0 00 032326 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3795 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 24-10
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0091
3796 ;IN THE SUBTEST) TO LOOP ON ERROR^
3797 ;**********
3798
3799 ;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
3800 ;IS ZERO, THE RESULT WILL BE ZERO. THIS TEST IS REPEATED 36 TIMES WITH
3801 ;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
3802 ;WHERE X TAKES ON INTEGER VALUES 0 THRU 35. E CONTAINS ALL ZEROS.
3803 ;THE RESULT SHOULD BE ALL ZEROS IN THE AC. IF C(AC) IS NON-ZERO,
3804 ;'AND' FAILED. C(0) IS ALSO CHECKED FOR ALL ZEROS. IF C(0) IS
3805 ;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
3806
3807 006422 SN=SN+1
3808 400000 ZZ=ZZ+ZZ
3809 IFE ZZ,<ZZ=1>
3810 032326 400 00 0 00 000000 SETZ ;PRESET E TO ALL ZEROS
3811 032327 200 01 0 00 070306 MOVE 1,[ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
3812 ;WHERE X VARIES FROM 0 THRU 35
3813 032330 404 01 0 00 000000 AND 1,0 ;*AND SHOULD RESULT IN C(AC) = 0
3814 032331 332 00 0 00 000001 SKIPE 1 ;FAIL IF C(AC) NON-ZERO
3815 STOP^
3816 032332 254 04 0 00 032333 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3817 032333 324 00 0 00 032334 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3818 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3819 ;IN THE SUBTEST) TO LOOP ON ERROR^
3820 032334 332 00 0 00 000000 SKIPE 0 ;FAIL IF C(0) IS NON-ZERO
3821 STOP^
3822 032335 254 04 0 00 032336 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3823 032336 324 00 0 00 032337 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3824 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3825 ;IN THE SUBTEST) TO LOOP ON ERROR^
3826 ;**********
3827
3828 ;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
3829 ;IS ZERO, THE RESULT WILL BE ZERO. THIS TEST IS REPEATED 36 TIMES WITH
3830 ;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
3831 ;WHERE X TAKES ON INTEGER VALUES 0 THRU 35. E CONTAINS ALL ZEROS.
3832 ;THE RESULT SHOULD BE ALL ZEROS IN THE AC. IF C(AC) IS NON-ZERO,
3833 ;'AND' FAILED. C(0) IS ALSO CHECKED FOR ALL ZEROS. IF C(0) IS
3834 ;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
3835
3836 006423 SN=SN+1
3837 000001 000000 ZZ=ZZ+ZZ
3838 IFE ZZ,<ZZ=1>
3839 032337 400 00 0 00 000000 SETZ ;PRESET E TO ALL ZEROS
3840 032340 200 01 0 00 070307 MOVE 1,[ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
3841 ;WHERE X VARIES FROM 0 THRU 35
3842 032341 404 01 0 00 000000 AND 1,0 ;*AND SHOULD RESULT IN C(AC) = 0
3843 032342 332 00 0 00 000001 SKIPE 1 ;FAIL IF C(AC) NON-ZERO
3844 STOP^
3845 032343 254 04 0 00 032344 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3846 032344 324 00 0 00 032345 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3847 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3848 ;IN THE SUBTEST) TO LOOP ON ERROR^
3849 032345 332 00 0 00 000000 SKIPE 0 ;FAIL IF C(0) IS NON-ZERO
3850 STOP^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 24-11
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0092
3851 032346 254 04 0 00 032347 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3852 032347 324 00 0 00 032350 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3853 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3854 ;IN THE SUBTEST) TO LOOP ON ERROR^
3855 ;**********
3856
3857 ;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
3858 ;IS ZERO, THE RESULT WILL BE ZERO. THIS TEST IS REPEATED 36 TIMES WITH
3859 ;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
3860 ;WHERE X TAKES ON INTEGER VALUES 0 THRU 35. E CONTAINS ALL ZEROS.
3861 ;THE RESULT SHOULD BE ALL ZEROS IN THE AC. IF C(AC) IS NON-ZERO,
3862 ;'AND' FAILED. C(0) IS ALSO CHECKED FOR ALL ZEROS. IF C(0) IS
3863 ;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
3864
3865 006424 SN=SN+1
3866 000002 000000 ZZ=ZZ+ZZ
3867 IFE ZZ,<ZZ=1>
3868 032350 400 00 0 00 000000 SETZ ;PRESET E TO ALL ZEROS
3869 032351 200 01 0 00 070310 MOVE 1,[ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
3870 ;WHERE X VARIES FROM 0 THRU 35
3871 032352 404 01 0 00 000000 AND 1,0 ;*AND SHOULD RESULT IN C(AC) = 0
3872 032353 332 00 0 00 000001 SKIPE 1 ;FAIL IF C(AC) NON-ZERO
3873 STOP^
3874 032354 254 04 0 00 032355 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3875 032355 324 00 0 00 032356 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3876 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3877 ;IN THE SUBTEST) TO LOOP ON ERROR^
3878 032356 332 00 0 00 000000 SKIPE 0 ;FAIL IF C(0) IS NON-ZERO
3879 STOP^
3880 032357 254 04 0 00 032360 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3881 032360 324 00 0 00 032361 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3882 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3883 ;IN THE SUBTEST) TO LOOP ON ERROR^
3884 ;**********
3885
3886 ;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
3887 ;IS ZERO, THE RESULT WILL BE ZERO. THIS TEST IS REPEATED 36 TIMES WITH
3888 ;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
3889 ;WHERE X TAKES ON INTEGER VALUES 0 THRU 35. E CONTAINS ALL ZEROS.
3890 ;THE RESULT SHOULD BE ALL ZEROS IN THE AC. IF C(AC) IS NON-ZERO,
3891 ;'AND' FAILED. C(0) IS ALSO CHECKED FOR ALL ZEROS. IF C(0) IS
3892 ;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
3893
3894 006425 SN=SN+1
3895 000004 000000 ZZ=ZZ+ZZ
3896 IFE ZZ,<ZZ=1>
3897 032361 400 00 0 00 000000 SETZ ;PRESET E TO ALL ZEROS
3898 032362 200 01 0 00 070311 MOVE 1,[ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
3899 ;WHERE X VARIES FROM 0 THRU 35
3900 032363 404 01 0 00 000000 AND 1,0 ;*AND SHOULD RESULT IN C(AC) = 0
3901 032364 332 00 0 00 000001 SKIPE 1 ;FAIL IF C(AC) NON-ZERO
3902 STOP^
3903 032365 254 04 0 00 032366 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3904 032366 324 00 0 00 032367 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3905 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 24-12
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0093
3906 ;IN THE SUBTEST) TO LOOP ON ERROR^
3907 032367 332 00 0 00 000000 SKIPE 0 ;FAIL IF C(0) IS NON-ZERO
3908 STOP^
3909 032370 254 04 0 00 032371 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3910 032371 324 00 0 00 032372 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3911 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3912 ;IN THE SUBTEST) TO LOOP ON ERROR^
3913 ;**********
3914
3915 ;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
3916 ;IS ZERO, THE RESULT WILL BE ZERO. THIS TEST IS REPEATED 36 TIMES WITH
3917 ;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
3918 ;WHERE X TAKES ON INTEGER VALUES 0 THRU 35. E CONTAINS ALL ZEROS.
3919 ;THE RESULT SHOULD BE ALL ZEROS IN THE AC. IF C(AC) IS NON-ZERO,
3920 ;'AND' FAILED. C(0) IS ALSO CHECKED FOR ALL ZEROS. IF C(0) IS
3921 ;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
3922
3923 006426 SN=SN+1
3924 000010 000000 ZZ=ZZ+ZZ
3925 IFE ZZ,<ZZ=1>
3926 032372 400 00 0 00 000000 SETZ ;PRESET E TO ALL ZEROS
3927 032373 200 01 0 00 070312 MOVE 1,[ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
3928 ;WHERE X VARIES FROM 0 THRU 35
3929 032374 404 01 0 00 000000 AND 1,0 ;*AND SHOULD RESULT IN C(AC) = 0
3930 032375 332 00 0 00 000001 SKIPE 1 ;FAIL IF C(AC) NON-ZERO
3931 STOP^
3932 032376 254 04 0 00 032377 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3933 032377 324 00 0 00 032400 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3934 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3935 ;IN THE SUBTEST) TO LOOP ON ERROR^
3936 032400 332 00 0 00 000000 SKIPE 0 ;FAIL IF C(0) IS NON-ZERO
3937 STOP^
3938 032401 254 04 0 00 032402 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3939 032402 324 00 0 00 032403 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3940 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3941 ;IN THE SUBTEST) TO LOOP ON ERROR^
3942 ;**********
3943
3944 ;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
3945 ;IS ZERO, THE RESULT WILL BE ZERO. THIS TEST IS REPEATED 36 TIMES WITH
3946 ;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
3947 ;WHERE X TAKES ON INTEGER VALUES 0 THRU 35. E CONTAINS ALL ZEROS.
3948 ;THE RESULT SHOULD BE ALL ZEROS IN THE AC. IF C(AC) IS NON-ZERO,
3949 ;'AND' FAILED. C(0) IS ALSO CHECKED FOR ALL ZEROS. IF C(0) IS
3950 ;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
3951
3952 006427 SN=SN+1
3953 000020 000000 ZZ=ZZ+ZZ
3954 IFE ZZ,<ZZ=1>
3955 032403 400 00 0 00 000000 SETZ ;PRESET E TO ALL ZEROS
3956 032404 200 01 0 00 070313 MOVE 1,[ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
3957 ;WHERE X VARIES FROM 0 THRU 35
3958 032405 404 01 0 00 000000 AND 1,0 ;*AND SHOULD RESULT IN C(AC) = 0
3959 032406 332 00 0 00 000001 SKIPE 1 ;FAIL IF C(AC) NON-ZERO
3960 STOP^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 24-13
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0094
3961 032407 254 04 0 00 032410 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3962 032410 324 00 0 00 032411 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3963 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3964 ;IN THE SUBTEST) TO LOOP ON ERROR^
3965 032411 332 00 0 00 000000 SKIPE 0 ;FAIL IF C(0) IS NON-ZERO
3966 STOP^
3967 032412 254 04 0 00 032413 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3968 032413 324 00 0 00 032414 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3969 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3970 ;IN THE SUBTEST) TO LOOP ON ERROR^
3971 ;**********
3972
3973 ;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
3974 ;IS ZERO, THE RESULT WILL BE ZERO. THIS TEST IS REPEATED 36 TIMES WITH
3975 ;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
3976 ;WHERE X TAKES ON INTEGER VALUES 0 THRU 35. E CONTAINS ALL ZEROS.
3977 ;THE RESULT SHOULD BE ALL ZEROS IN THE AC. IF C(AC) IS NON-ZERO,
3978 ;'AND' FAILED. C(0) IS ALSO CHECKED FOR ALL ZEROS. IF C(0) IS
3979 ;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
3980
3981 006430 SN=SN+1
3982 000040 000000 ZZ=ZZ+ZZ
3983 IFE ZZ,<ZZ=1>
3984 032414 400 00 0 00 000000 SETZ ;PRESET E TO ALL ZEROS
3985 032415 200 01 0 00 070314 MOVE 1,[ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
3986 ;WHERE X VARIES FROM 0 THRU 35
3987 032416 404 01 0 00 000000 AND 1,0 ;*AND SHOULD RESULT IN C(AC) = 0
3988 032417 332 00 0 00 000001 SKIPE 1 ;FAIL IF C(AC) NON-ZERO
3989 STOP^
3990 032420 254 04 0 00 032421 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3991 032421 324 00 0 00 032422 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3992 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3993 ;IN THE SUBTEST) TO LOOP ON ERROR^
3994 032422 332 00 0 00 000000 SKIPE 0 ;FAIL IF C(0) IS NON-ZERO
3995 STOP^
3996 032423 254 04 0 00 032424 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
3997 032424 324 00 0 00 032425 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
3998 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
3999 ;IN THE SUBTEST) TO LOOP ON ERROR^
4000 ;**********
4001
4002 ;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
4003 ;IS ZERO, THE RESULT WILL BE ZERO. THIS TEST IS REPEATED 36 TIMES WITH
4004 ;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
4005 ;WHERE X TAKES ON INTEGER VALUES 0 THRU 35. E CONTAINS ALL ZEROS.
4006 ;THE RESULT SHOULD BE ALL ZEROS IN THE AC. IF C(AC) IS NON-ZERO,
4007 ;'AND' FAILED. C(0) IS ALSO CHECKED FOR ALL ZEROS. IF C(0) IS
4008 ;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
4009
4010 006431 SN=SN+1
4011 000100 000000 ZZ=ZZ+ZZ
4012 IFE ZZ,<ZZ=1>
4013 032425 400 00 0 00 000000 SETZ ;PRESET E TO ALL ZEROS
4014 032426 200 01 0 00 070315 MOVE 1,[ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
4015 ;WHERE X VARIES FROM 0 THRU 35
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 24-14
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0095
4016 032427 404 01 0 00 000000 AND 1,0 ;*AND SHOULD RESULT IN C(AC) = 0
4017 032430 332 00 0 00 000001 SKIPE 1 ;FAIL IF C(AC) NON-ZERO
4018 STOP^
4019 032431 254 04 0 00 032432 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4020 032432 324 00 0 00 032433 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4021 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4022 ;IN THE SUBTEST) TO LOOP ON ERROR^
4023 032433 332 00 0 00 000000 SKIPE 0 ;FAIL IF C(0) IS NON-ZERO
4024 STOP^
4025 032434 254 04 0 00 032435 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4026 032435 324 00 0 00 032436 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4027 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4028 ;IN THE SUBTEST) TO LOOP ON ERROR^
4029 ;**********
4030
4031 ;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
4032 ;IS ZERO, THE RESULT WILL BE ZERO. THIS TEST IS REPEATED 36 TIMES WITH
4033 ;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
4034 ;WHERE X TAKES ON INTEGER VALUES 0 THRU 35. E CONTAINS ALL ZEROS.
4035 ;THE RESULT SHOULD BE ALL ZEROS IN THE AC. IF C(AC) IS NON-ZERO,
4036 ;'AND' FAILED. C(0) IS ALSO CHECKED FOR ALL ZEROS. IF C(0) IS
4037 ;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
4038
4039 006432 SN=SN+1
4040 000200 000000 ZZ=ZZ+ZZ
4041 IFE ZZ,<ZZ=1>
4042 032436 400 00 0 00 000000 SETZ ;PRESET E TO ALL ZEROS
4043 032437 200 01 0 00 070316 MOVE 1,[ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
4044 ;WHERE X VARIES FROM 0 THRU 35
4045 032440 404 01 0 00 000000 AND 1,0 ;*AND SHOULD RESULT IN C(AC) = 0
4046 032441 332 00 0 00 000001 SKIPE 1 ;FAIL IF C(AC) NON-ZERO
4047 STOP^
4048 032442 254 04 0 00 032443 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4049 032443 324 00 0 00 032444 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4050 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4051 ;IN THE SUBTEST) TO LOOP ON ERROR^
4052 032444 332 00 0 00 000000 SKIPE 0 ;FAIL IF C(0) IS NON-ZERO
4053 STOP^
4054 032445 254 04 0 00 032446 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4055 032446 324 00 0 00 032447 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4056 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4057 ;IN THE SUBTEST) TO LOOP ON ERROR^
4058 ;**********
4059
4060 ;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
4061 ;IS ZERO, THE RESULT WILL BE ZERO. THIS TEST IS REPEATED 36 TIMES WITH
4062 ;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
4063 ;WHERE X TAKES ON INTEGER VALUES 0 THRU 35. E CONTAINS ALL ZEROS.
4064 ;THE RESULT SHOULD BE ALL ZEROS IN THE AC. IF C(AC) IS NON-ZERO,
4065 ;'AND' FAILED. C(0) IS ALSO CHECKED FOR ALL ZEROS. IF C(0) IS
4066 ;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
4067
4068 006433 SN=SN+1
4069 000400 000000 ZZ=ZZ+ZZ
4070 IFE ZZ,<ZZ=1>
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 24-15
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0096
4071 032447 400 00 0 00 000000 SETZ ;PRESET E TO ALL ZEROS
4072 032450 200 01 0 00 070264 MOVE 1,[ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
4073 ;WHERE X VARIES FROM 0 THRU 35
4074 032451 404 01 0 00 000000 AND 1,0 ;*AND SHOULD RESULT IN C(AC) = 0
4075 032452 332 00 0 00 000001 SKIPE 1 ;FAIL IF C(AC) NON-ZERO
4076 STOP^
4077 032453 254 04 0 00 032454 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4078 032454 324 00 0 00 032455 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4079 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4080 ;IN THE SUBTEST) TO LOOP ON ERROR^
4081 032455 332 00 0 00 000000 SKIPE 0 ;FAIL IF C(0) IS NON-ZERO
4082 STOP^
4083 032456 254 04 0 00 032457 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4084 032457 324 00 0 00 032460 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4085 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4086 ;IN THE SUBTEST) TO LOOP ON ERROR^
4087 ;**********
4088
4089 ;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
4090 ;IS ZERO, THE RESULT WILL BE ZERO. THIS TEST IS REPEATED 36 TIMES WITH
4091 ;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
4092 ;WHERE X TAKES ON INTEGER VALUES 0 THRU 35. E CONTAINS ALL ZEROS.
4093 ;THE RESULT SHOULD BE ALL ZEROS IN THE AC. IF C(AC) IS NON-ZERO,
4094 ;'AND' FAILED. C(0) IS ALSO CHECKED FOR ALL ZEROS. IF C(0) IS
4095 ;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
4096
4097 006434 SN=SN+1
4098 001000 000000 ZZ=ZZ+ZZ
4099 IFE ZZ,<ZZ=1>
4100 032460 400 00 0 00 000000 SETZ ;PRESET E TO ALL ZEROS
4101 032461 200 01 0 00 070317 MOVE 1,[ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
4102 ;WHERE X VARIES FROM 0 THRU 35
4103 032462 404 01 0 00 000000 AND 1,0 ;*AND SHOULD RESULT IN C(AC) = 0
4104 032463 332 00 0 00 000001 SKIPE 1 ;FAIL IF C(AC) NON-ZERO
4105 STOP^
4106 032464 254 04 0 00 032465 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4107 032465 324 00 0 00 032466 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4108 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4109 ;IN THE SUBTEST) TO LOOP ON ERROR^
4110 032466 332 00 0 00 000000 SKIPE 0 ;FAIL IF C(0) IS NON-ZERO
4111 STOP^
4112 032467 254 04 0 00 032470 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4113 032470 324 00 0 00 032471 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4114 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4115 ;IN THE SUBTEST) TO LOOP ON ERROR^
4116 ;**********
4117
4118 ;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
4119 ;IS ZERO, THE RESULT WILL BE ZERO. THIS TEST IS REPEATED 36 TIMES WITH
4120 ;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
4121 ;WHERE X TAKES ON INTEGER VALUES 0 THRU 35. E CONTAINS ALL ZEROS.
4122 ;THE RESULT SHOULD BE ALL ZEROS IN THE AC. IF C(AC) IS NON-ZERO,
4123 ;'AND' FAILED. C(0) IS ALSO CHECKED FOR ALL ZEROS. IF C(0) IS
4124 ;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
4125
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 24-16
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0097
4126 006435 SN=SN+1
4127 002000 000000 ZZ=ZZ+ZZ
4128 IFE ZZ,<ZZ=1>
4129 032471 400 00 0 00 000000 SETZ ;PRESET E TO ALL ZEROS
4130 032472 200 01 0 00 070320 MOVE 1,[ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
4131 ;WHERE X VARIES FROM 0 THRU 35
4132 032473 404 01 0 00 000000 AND 1,0 ;*AND SHOULD RESULT IN C(AC) = 0
4133 032474 332 00 0 00 000001 SKIPE 1 ;FAIL IF C(AC) NON-ZERO
4134 STOP^
4135 032475 254 04 0 00 032476 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4136 032476 324 00 0 00 032477 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4137 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4138 ;IN THE SUBTEST) TO LOOP ON ERROR^
4139 032477 332 00 0 00 000000 SKIPE 0 ;FAIL IF C(0) IS NON-ZERO
4140 STOP^
4141 032500 254 04 0 00 032501 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4142 032501 324 00 0 00 032502 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4143 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4144 ;IN THE SUBTEST) TO LOOP ON ERROR^
4145 ;**********
4146
4147 ;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
4148 ;IS ZERO, THE RESULT WILL BE ZERO. THIS TEST IS REPEATED 36 TIMES WITH
4149 ;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
4150 ;WHERE X TAKES ON INTEGER VALUES 0 THRU 35. E CONTAINS ALL ZEROS.
4151 ;THE RESULT SHOULD BE ALL ZEROS IN THE AC. IF C(AC) IS NON-ZERO,
4152 ;'AND' FAILED. C(0) IS ALSO CHECKED FOR ALL ZEROS. IF C(0) IS
4153 ;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
4154
4155 006436 SN=SN+1
4156 004000 000000 ZZ=ZZ+ZZ
4157 IFE ZZ,<ZZ=1>
4158 032502 400 00 0 00 000000 SETZ ;PRESET E TO ALL ZEROS
4159 032503 200 01 0 00 070321 MOVE 1,[ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
4160 ;WHERE X VARIES FROM 0 THRU 35
4161 032504 404 01 0 00 000000 AND 1,0 ;*AND SHOULD RESULT IN C(AC) = 0
4162 032505 332 00 0 00 000001 SKIPE 1 ;FAIL IF C(AC) NON-ZERO
4163 STOP^
4164 032506 254 04 0 00 032507 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4165 032507 324 00 0 00 032510 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4166 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4167 ;IN THE SUBTEST) TO LOOP ON ERROR^
4168 032510 332 00 0 00 000000 SKIPE 0 ;FAIL IF C(0) IS NON-ZERO
4169 STOP^
4170 032511 254 04 0 00 032512 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4171 032512 324 00 0 00 032513 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4172 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4173 ;IN THE SUBTEST) TO LOOP ON ERROR^
4174 ;**********
4175
4176 ;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
4177 ;IS ZERO, THE RESULT WILL BE ZERO. THIS TEST IS REPEATED 36 TIMES WITH
4178 ;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
4179 ;WHERE X TAKES ON INTEGER VALUES 0 THRU 35. E CONTAINS ALL ZEROS.
4180 ;THE RESULT SHOULD BE ALL ZEROS IN THE AC. IF C(AC) IS NON-ZERO,
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 24-17
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0098
4181 ;'AND' FAILED. C(0) IS ALSO CHECKED FOR ALL ZEROS. IF C(0) IS
4182 ;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
4183
4184 006437 SN=SN+1
4185 010000 000000 ZZ=ZZ+ZZ
4186 IFE ZZ,<ZZ=1>
4187 032513 400 00 0 00 000000 SETZ ;PRESET E TO ALL ZEROS
4188 032514 200 01 0 00 070322 MOVE 1,[ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
4189 ;WHERE X VARIES FROM 0 THRU 35
4190 032515 404 01 0 00 000000 AND 1,0 ;*AND SHOULD RESULT IN C(AC) = 0
4191 032516 332 00 0 00 000001 SKIPE 1 ;FAIL IF C(AC) NON-ZERO
4192 STOP^
4193 032517 254 04 0 00 032520 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4194 032520 324 00 0 00 032521 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4195 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4196 ;IN THE SUBTEST) TO LOOP ON ERROR^
4197 032521 332 00 0 00 000000 SKIPE 0 ;FAIL IF C(0) IS NON-ZERO
4198 STOP^
4199 032522 254 04 0 00 032523 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4200 032523 324 00 0 00 032524 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4201 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4202 ;IN THE SUBTEST) TO LOOP ON ERROR^
4203 ;**********
4204
4205 ;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
4206 ;IS ZERO, THE RESULT WILL BE ZERO. THIS TEST IS REPEATED 36 TIMES WITH
4207 ;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
4208 ;WHERE X TAKES ON INTEGER VALUES 0 THRU 35. E CONTAINS ALL ZEROS.
4209 ;THE RESULT SHOULD BE ALL ZEROS IN THE AC. IF C(AC) IS NON-ZERO,
4210 ;'AND' FAILED. C(0) IS ALSO CHECKED FOR ALL ZEROS. IF C(0) IS
4211 ;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
4212
4213 006440 SN=SN+1
4214 020000 000000 ZZ=ZZ+ZZ
4215 IFE ZZ,<ZZ=1>
4216 032524 400 00 0 00 000000 SETZ ;PRESET E TO ALL ZEROS
4217 032525 200 01 0 00 070323 MOVE 1,[ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
4218 ;WHERE X VARIES FROM 0 THRU 35
4219 032526 404 01 0 00 000000 AND 1,0 ;*AND SHOULD RESULT IN C(AC) = 0
4220 032527 332 00 0 00 000001 SKIPE 1 ;FAIL IF C(AC) NON-ZERO
4221 STOP^
4222 032530 254 04 0 00 032531 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4223 032531 324 00 0 00 032532 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4224 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4225 ;IN THE SUBTEST) TO LOOP ON ERROR^
4226 032532 332 00 0 00 000000 SKIPE 0 ;FAIL IF C(0) IS NON-ZERO
4227 STOP^
4228 032533 254 04 0 00 032534 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4229 032534 324 00 0 00 032535 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4230 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4231 ;IN THE SUBTEST) TO LOOP ON ERROR^
4232 ;**********
4233
4234 ;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
4235 ;IS ZERO, THE RESULT WILL BE ZERO. THIS TEST IS REPEATED 36 TIMES WITH
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 24-18
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0099
4236 ;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
4237 ;WHERE X TAKES ON INTEGER VALUES 0 THRU 35. E CONTAINS ALL ZEROS.
4238 ;THE RESULT SHOULD BE ALL ZEROS IN THE AC. IF C(AC) IS NON-ZERO,
4239 ;'AND' FAILED. C(0) IS ALSO CHECKED FOR ALL ZEROS. IF C(0) IS
4240 ;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
4241
4242 006441 SN=SN+1
4243 040000 000000 ZZ=ZZ+ZZ
4244 IFE ZZ,<ZZ=1>
4245 032535 400 00 0 00 000000 SETZ ;PRESET E TO ALL ZEROS
4246 032536 200 01 0 00 070324 MOVE 1,[ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
4247 ;WHERE X VARIES FROM 0 THRU 35
4248 032537 404 01 0 00 000000 AND 1,0 ;*AND SHOULD RESULT IN C(AC) = 0
4249 032540 332 00 0 00 000001 SKIPE 1 ;FAIL IF C(AC) NON-ZERO
4250 STOP^
4251 032541 254 04 0 00 032542 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4252 032542 324 00 0 00 032543 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4253 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4254 ;IN THE SUBTEST) TO LOOP ON ERROR^
4255 032543 332 00 0 00 000000 SKIPE 0 ;FAIL IF C(0) IS NON-ZERO
4256 STOP^
4257 032544 254 04 0 00 032545 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4258 032545 324 00 0 00 032546 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4259 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4260 ;IN THE SUBTEST) TO LOOP ON ERROR^
4261 ;**********
4262
4263 ;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
4264 ;IS ZERO, THE RESULT WILL BE ZERO. THIS TEST IS REPEATED 36 TIMES WITH
4265 ;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
4266 ;WHERE X TAKES ON INTEGER VALUES 0 THRU 35. E CONTAINS ALL ZEROS.
4267 ;THE RESULT SHOULD BE ALL ZEROS IN THE AC. IF C(AC) IS NON-ZERO,
4268 ;'AND' FAILED. C(0) IS ALSO CHECKED FOR ALL ZEROS. IF C(0) IS
4269 ;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
4270
4271 006442 SN=SN+1
4272 100000 000000 ZZ=ZZ+ZZ
4273 IFE ZZ,<ZZ=1>
4274 032546 400 00 0 00 000000 SETZ ;PRESET E TO ALL ZEROS
4275 032547 200 01 0 00 070325 MOVE 1,[ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
4276 ;WHERE X VARIES FROM 0 THRU 35
4277 032550 404 01 0 00 000000 AND 1,0 ;*AND SHOULD RESULT IN C(AC) = 0
4278 032551 332 00 0 00 000001 SKIPE 1 ;FAIL IF C(AC) NON-ZERO
4279 STOP^
4280 032552 254 04 0 00 032553 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4281 032553 324 00 0 00 032554 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4282 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4283 ;IN THE SUBTEST) TO LOOP ON ERROR^
4284 032554 332 00 0 00 000000 SKIPE 0 ;FAIL IF C(0) IS NON-ZERO
4285 STOP^
4286 032555 254 04 0 00 032556 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4287 032556 324 00 0 00 032557 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4288 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4289 ;IN THE SUBTEST) TO LOOP ON ERROR^
4290 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 24-19
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0100
4291
4292 ;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
4293 ;IS ZERO, THE RESULT WILL BE ZERO. THIS TEST IS REPEATED 36 TIMES WITH
4294 ;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
4295 ;WHERE X TAKES ON INTEGER VALUES 0 THRU 35. E CONTAINS ALL ZEROS.
4296 ;THE RESULT SHOULD BE ALL ZEROS IN THE AC. IF C(AC) IS NON-ZERO,
4297 ;'AND' FAILED. C(0) IS ALSO CHECKED FOR ALL ZEROS. IF C(0) IS
4298 ;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
4299
4300 006443 SN=SN+1
4301 200000 000000 ZZ=ZZ+ZZ
4302 IFE ZZ,<ZZ=1>
4303 032557 400 00 0 00 000000 SETZ ;PRESET E TO ALL ZEROS
4304 032560 200 01 0 00 070326 MOVE 1,[ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
4305 ;WHERE X VARIES FROM 0 THRU 35
4306 032561 404 01 0 00 000000 AND 1,0 ;*AND SHOULD RESULT IN C(AC) = 0
4307 032562 332 00 0 00 000001 SKIPE 1 ;FAIL IF C(AC) NON-ZERO
4308 STOP^
4309 032563 254 04 0 00 032564 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4310 032564 324 00 0 00 032565 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4311 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4312 ;IN THE SUBTEST) TO LOOP ON ERROR^
4313 032565 332 00 0 00 000000 SKIPE 0 ;FAIL IF C(0) IS NON-ZERO
4314 STOP^
4315 032566 254 04 0 00 032567 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4316 032567 324 00 0 00 032570 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4317 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4318 ;IN THE SUBTEST) TO LOOP ON ERROR^
4319 ;**********
4320
4321 ;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
4322 ;IS ZERO, THE RESULT WILL BE ZERO. THIS TEST IS REPEATED 36 TIMES WITH
4323 ;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
4324 ;WHERE X TAKES ON INTEGER VALUES 0 THRU 35. E CONTAINS ALL ZEROS.
4325 ;THE RESULT SHOULD BE ALL ZEROS IN THE AC. IF C(AC) IS NON-ZERO,
4326 ;'AND' FAILED. C(0) IS ALSO CHECKED FOR ALL ZEROS. IF C(0) IS
4327 ;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
4328
4329 006444 SN=SN+1
4330 400000 000000 ZZ=ZZ+ZZ
4331 IFE ZZ,<ZZ=1>
4332 032570 400 00 0 00 000000 SETZ ;PRESET E TO ALL ZEROS
4333 032571 200 01 0 00 070256 MOVE 1,[ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
4334 ;WHERE X VARIES FROM 0 THRU 35
4335 032572 404 01 0 00 000000 AND 1,0 ;*AND SHOULD RESULT IN C(AC) = 0
4336 032573 332 00 0 00 000001 SKIPE 1 ;FAIL IF C(AC) NON-ZERO
4337 STOP^
4338 032574 254 04 0 00 032575 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4339 032575 324 00 0 00 032576 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4340 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4341 ;IN THE SUBTEST) TO LOOP ON ERROR^
4342 032576 332 00 0 00 000000 SKIPE 0 ;FAIL IF C(0) IS NON-ZERO
4343 STOP^
4344 032577 254 04 0 00 032600 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4345 032600 324 00 0 00 032601 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 24-20
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0101
4346 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4347 ;IN THE SUBTEST) TO LOOP ON ERROR^
4348 ;**********
4349
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 25
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0102
4350 006500 SN=6500
4351 000000 ZZ=0
4352
4353 A6500: REPEAT ^D36,
4354 <;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
4355 ;SHOULD BE THAT SAME WORD. A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
4356 ;IN ONLY ONE BIT IS ANDED WITH ITSELF. THE AC IS THEN CHECKED FOR ITS
4357 ;CONTENTS NONZERO. IF C(AC)=0, THE 'AND' INSTRUCTION FAILED. THIS TEST IS REPEATED
4358 ;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
4359 SN=SN+1
4360 ZZ=ZZ+ZZ
4361 IFE ZZ,<ZZ=1>
4362 MOVE [ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
4363 AND ;*AND OF WORD CONTAINING A ONE IN ONE BIT
4364 ;POSITION WITH ITSELF SHOULD RESULT WITH
4365 ;C(AC) NONZERO
4366 SKIPN ;PASS TEST IF C(AC) NONZERO
4367 STOP
4368
4369 ;**********
4370 >
4371 ;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
4372 ;SHOULD BE THAT SAME WORD. A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
4373 ;IN ONLY ONE BIT IS ANDED WITH ITSELF. THE AC IS THEN CHECKED FOR ITS
4374 ;CONTENTS NONZERO. IF C(AC)=0, THE 'AND' INSTRUCTION FAILED. THIS TEST IS REPEATED
4375 ;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
4376 006501 SN=SN+1
4377 000000 ZZ=ZZ+ZZ
4378 000001 IFE ZZ,<ZZ=1>
4379 032601 200 00 0 00 070265 MOVE [ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
4380 032602 404 00 0 00 000000 AND ;*AND OF WORD CONTAINING A ONE IN ONE BIT
4381 ;POSITION WITH ITSELF SHOULD RESULT WITH
4382 ;C(AC) NONZERO
4383 032603 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NONZERO
4384 STOP^
4385 032604 254 04 0 00 032605 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4386 032605 324 00 0 00 032606 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4387 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4388 ;IN THE SUBTEST) TO LOOP ON ERROR^
4389
4390 ;**********
4391
4392 ;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
4393 ;SHOULD BE THAT SAME WORD. A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
4394 ;IN ONLY ONE BIT IS ANDED WITH ITSELF. THE AC IS THEN CHECKED FOR ITS
4395 ;CONTENTS NONZERO. IF C(AC)=0, THE 'AND' INSTRUCTION FAILED. THIS TEST IS REPEATED
4396 ;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
4397 006502 SN=SN+1
4398 000002 ZZ=ZZ+ZZ
4399 IFE ZZ,<ZZ=1>
4400 032606 200 00 0 00 070266 MOVE [ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
4401 032607 404 00 0 00 000000 AND ;*AND OF WORD CONTAINING A ONE IN ONE BIT
4402 ;POSITION WITH ITSELF SHOULD RESULT WITH
4403 ;C(AC) NONZERO
4404 032610 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NONZERO
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 25-1
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0103
4405 STOP^
4406 032611 254 04 0 00 032612 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4407 032612 324 00 0 00 032613 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4408 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4409 ;IN THE SUBTEST) TO LOOP ON ERROR^
4410
4411 ;**********
4412
4413 ;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
4414 ;SHOULD BE THAT SAME WORD. A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
4415 ;IN ONLY ONE BIT IS ANDED WITH ITSELF. THE AC IS THEN CHECKED FOR ITS
4416 ;CONTENTS NONZERO. IF C(AC)=0, THE 'AND' INSTRUCTION FAILED. THIS TEST IS REPEATED
4417 ;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
4418 006503 SN=SN+1
4419 000004 ZZ=ZZ+ZZ
4420 IFE ZZ,<ZZ=1>
4421 032613 200 00 0 00 070267 MOVE [ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
4422 032614 404 00 0 00 000000 AND ;*AND OF WORD CONTAINING A ONE IN ONE BIT
4423 ;POSITION WITH ITSELF SHOULD RESULT WITH
4424 ;C(AC) NONZERO
4425 032615 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NONZERO
4426 STOP^
4427 032616 254 04 0 00 032617 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4428 032617 324 00 0 00 032620 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4429 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4430 ;IN THE SUBTEST) TO LOOP ON ERROR^
4431
4432 ;**********
4433
4434 ;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
4435 ;SHOULD BE THAT SAME WORD. A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
4436 ;IN ONLY ONE BIT IS ANDED WITH ITSELF. THE AC IS THEN CHECKED FOR ITS
4437 ;CONTENTS NONZERO. IF C(AC)=0, THE 'AND' INSTRUCTION FAILED. THIS TEST IS REPEATED
4438 ;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
4439 006504 SN=SN+1
4440 000010 ZZ=ZZ+ZZ
4441 IFE ZZ,<ZZ=1>
4442 032620 200 00 0 00 070270 MOVE [ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
4443 032621 404 00 0 00 000000 AND ;*AND OF WORD CONTAINING A ONE IN ONE BIT
4444 ;POSITION WITH ITSELF SHOULD RESULT WITH
4445 ;C(AC) NONZERO
4446 032622 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NONZERO
4447 STOP^
4448 032623 254 04 0 00 032624 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4449 032624 324 00 0 00 032625 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4450 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4451 ;IN THE SUBTEST) TO LOOP ON ERROR^
4452
4453 ;**********
4454
4455 ;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
4456 ;SHOULD BE THAT SAME WORD. A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
4457 ;IN ONLY ONE BIT IS ANDED WITH ITSELF. THE AC IS THEN CHECKED FOR ITS
4458 ;CONTENTS NONZERO. IF C(AC)=0, THE 'AND' INSTRUCTION FAILED. THIS TEST IS REPEATED
4459 ;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 25-2
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0104
4460 006505 SN=SN+1
4461 000020 ZZ=ZZ+ZZ
4462 IFE ZZ,<ZZ=1>
4463 032625 200 00 0 00 070271 MOVE [ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
4464 032626 404 00 0 00 000000 AND ;*AND OF WORD CONTAINING A ONE IN ONE BIT
4465 ;POSITION WITH ITSELF SHOULD RESULT WITH
4466 ;C(AC) NONZERO
4467 032627 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NONZERO
4468 STOP^
4469 032630 254 04 0 00 032631 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4470 032631 324 00 0 00 032632 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4471 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4472 ;IN THE SUBTEST) TO LOOP ON ERROR^
4473
4474 ;**********
4475
4476 ;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
4477 ;SHOULD BE THAT SAME WORD. A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
4478 ;IN ONLY ONE BIT IS ANDED WITH ITSELF. THE AC IS THEN CHECKED FOR ITS
4479 ;CONTENTS NONZERO. IF C(AC)=0, THE 'AND' INSTRUCTION FAILED. THIS TEST IS REPEATED
4480 ;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
4481 006506 SN=SN+1
4482 000040 ZZ=ZZ+ZZ
4483 IFE ZZ,<ZZ=1>
4484 032632 200 00 0 00 070272 MOVE [ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
4485 032633 404 00 0 00 000000 AND ;*AND OF WORD CONTAINING A ONE IN ONE BIT
4486 ;POSITION WITH ITSELF SHOULD RESULT WITH
4487 ;C(AC) NONZERO
4488 032634 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NONZERO
4489 STOP^
4490 032635 254 04 0 00 032636 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4491 032636 324 00 0 00 032637 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4492 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4493 ;IN THE SUBTEST) TO LOOP ON ERROR^
4494
4495 ;**********
4496
4497 ;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
4498 ;SHOULD BE THAT SAME WORD. A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
4499 ;IN ONLY ONE BIT IS ANDED WITH ITSELF. THE AC IS THEN CHECKED FOR ITS
4500 ;CONTENTS NONZERO. IF C(AC)=0, THE 'AND' INSTRUCTION FAILED. THIS TEST IS REPEATED
4501 ;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
4502 006507 SN=SN+1
4503 000100 ZZ=ZZ+ZZ
4504 IFE ZZ,<ZZ=1>
4505 032637 200 00 0 00 070273 MOVE [ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
4506 032640 404 00 0 00 000000 AND ;*AND OF WORD CONTAINING A ONE IN ONE BIT
4507 ;POSITION WITH ITSELF SHOULD RESULT WITH
4508 ;C(AC) NONZERO
4509 032641 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NONZERO
4510 STOP^
4511 032642 254 04 0 00 032643 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4512 032643 324 00 0 00 032644 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4513 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4514 ;IN THE SUBTEST) TO LOOP ON ERROR^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 25-3
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0105
4515
4516 ;**********
4517
4518 ;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
4519 ;SHOULD BE THAT SAME WORD. A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
4520 ;IN ONLY ONE BIT IS ANDED WITH ITSELF. THE AC IS THEN CHECKED FOR ITS
4521 ;CONTENTS NONZERO. IF C(AC)=0, THE 'AND' INSTRUCTION FAILED. THIS TEST IS REPEATED
4522 ;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
4523 006510 SN=SN+1
4524 000200 ZZ=ZZ+ZZ
4525 IFE ZZ,<ZZ=1>
4526 032644 200 00 0 00 070274 MOVE [ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
4527 032645 404 00 0 00 000000 AND ;*AND OF WORD CONTAINING A ONE IN ONE BIT
4528 ;POSITION WITH ITSELF SHOULD RESULT WITH
4529 ;C(AC) NONZERO
4530 032646 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NONZERO
4531 STOP^
4532 032647 254 04 0 00 032650 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4533 032650 324 00 0 00 032651 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4534 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4535 ;IN THE SUBTEST) TO LOOP ON ERROR^
4536
4537 ;**********
4538
4539 ;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
4540 ;SHOULD BE THAT SAME WORD. A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
4541 ;IN ONLY ONE BIT IS ANDED WITH ITSELF. THE AC IS THEN CHECKED FOR ITS
4542 ;CONTENTS NONZERO. IF C(AC)=0, THE 'AND' INSTRUCTION FAILED. THIS TEST IS REPEATED
4543 ;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
4544 006511 SN=SN+1
4545 000400 ZZ=ZZ+ZZ
4546 IFE ZZ,<ZZ=1>
4547 032651 200 00 0 00 070275 MOVE [ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
4548 032652 404 00 0 00 000000 AND ;*AND OF WORD CONTAINING A ONE IN ONE BIT
4549 ;POSITION WITH ITSELF SHOULD RESULT WITH
4550 ;C(AC) NONZERO
4551 032653 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NONZERO
4552 STOP^
4553 032654 254 04 0 00 032655 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4554 032655 324 00 0 00 032656 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4555 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4556 ;IN THE SUBTEST) TO LOOP ON ERROR^
4557
4558 ;**********
4559
4560 ;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
4561 ;SHOULD BE THAT SAME WORD. A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
4562 ;IN ONLY ONE BIT IS ANDED WITH ITSELF. THE AC IS THEN CHECKED FOR ITS
4563 ;CONTENTS NONZERO. IF C(AC)=0, THE 'AND' INSTRUCTION FAILED. THIS TEST IS REPEATED
4564 ;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
4565 006512 SN=SN+1
4566 001000 ZZ=ZZ+ZZ
4567 IFE ZZ,<ZZ=1>
4568 032656 200 00 0 00 070276 MOVE [ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
4569 032657 404 00 0 00 000000 AND ;*AND OF WORD CONTAINING A ONE IN ONE BIT
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 25-4
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0106
4570 ;POSITION WITH ITSELF SHOULD RESULT WITH
4571 ;C(AC) NONZERO
4572 032660 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NONZERO
4573 STOP^
4574 032661 254 04 0 00 032662 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4575 032662 324 00 0 00 032663 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4576 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4577 ;IN THE SUBTEST) TO LOOP ON ERROR^
4578
4579 ;**********
4580
4581 ;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
4582 ;SHOULD BE THAT SAME WORD. A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
4583 ;IN ONLY ONE BIT IS ANDED WITH ITSELF. THE AC IS THEN CHECKED FOR ITS
4584 ;CONTENTS NONZERO. IF C(AC)=0, THE 'AND' INSTRUCTION FAILED. THIS TEST IS REPEATED
4585 ;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
4586 006513 SN=SN+1
4587 002000 ZZ=ZZ+ZZ
4588 IFE ZZ,<ZZ=1>
4589 032663 200 00 0 00 070277 MOVE [ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
4590 032664 404 00 0 00 000000 AND ;*AND OF WORD CONTAINING A ONE IN ONE BIT
4591 ;POSITION WITH ITSELF SHOULD RESULT WITH
4592 ;C(AC) NONZERO
4593 032665 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NONZERO
4594 STOP^
4595 032666 254 04 0 00 032667 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4596 032667 324 00 0 00 032670 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4597 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4598 ;IN THE SUBTEST) TO LOOP ON ERROR^
4599
4600 ;**********
4601
4602 ;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
4603 ;SHOULD BE THAT SAME WORD. A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
4604 ;IN ONLY ONE BIT IS ANDED WITH ITSELF. THE AC IS THEN CHECKED FOR ITS
4605 ;CONTENTS NONZERO. IF C(AC)=0, THE 'AND' INSTRUCTION FAILED. THIS TEST IS REPEATED
4606 ;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
4607 006514 SN=SN+1
4608 004000 ZZ=ZZ+ZZ
4609 IFE ZZ,<ZZ=1>
4610 032670 200 00 0 00 070300 MOVE [ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
4611 032671 404 00 0 00 000000 AND ;*AND OF WORD CONTAINING A ONE IN ONE BIT
4612 ;POSITION WITH ITSELF SHOULD RESULT WITH
4613 ;C(AC) NONZERO
4614 032672 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NONZERO
4615 STOP^
4616 032673 254 04 0 00 032674 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4617 032674 324 00 0 00 032675 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4618 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4619 ;IN THE SUBTEST) TO LOOP ON ERROR^
4620
4621 ;**********
4622
4623 ;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
4624 ;SHOULD BE THAT SAME WORD. A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 25-5
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0107
4625 ;IN ONLY ONE BIT IS ANDED WITH ITSELF. THE AC IS THEN CHECKED FOR ITS
4626 ;CONTENTS NONZERO. IF C(AC)=0, THE 'AND' INSTRUCTION FAILED. THIS TEST IS REPEATED
4627 ;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
4628 006515 SN=SN+1
4629 010000 ZZ=ZZ+ZZ
4630 IFE ZZ,<ZZ=1>
4631 032675 200 00 0 00 070301 MOVE [ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
4632 032676 404 00 0 00 000000 AND ;*AND OF WORD CONTAINING A ONE IN ONE BIT
4633 ;POSITION WITH ITSELF SHOULD RESULT WITH
4634 ;C(AC) NONZERO
4635 032677 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NONZERO
4636 STOP^
4637 032700 254 04 0 00 032701 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4638 032701 324 00 0 00 032702 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4639 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4640 ;IN THE SUBTEST) TO LOOP ON ERROR^
4641
4642 ;**********
4643
4644 ;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
4645 ;SHOULD BE THAT SAME WORD. A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
4646 ;IN ONLY ONE BIT IS ANDED WITH ITSELF. THE AC IS THEN CHECKED FOR ITS
4647 ;CONTENTS NONZERO. IF C(AC)=0, THE 'AND' INSTRUCTION FAILED. THIS TEST IS REPEATED
4648 ;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
4649 006516 SN=SN+1
4650 020000 ZZ=ZZ+ZZ
4651 IFE ZZ,<ZZ=1>
4652 032702 200 00 0 00 070302 MOVE [ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
4653 032703 404 00 0 00 000000 AND ;*AND OF WORD CONTAINING A ONE IN ONE BIT
4654 ;POSITION WITH ITSELF SHOULD RESULT WITH
4655 ;C(AC) NONZERO
4656 032704 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NONZERO
4657 STOP^
4658 032705 254 04 0 00 032706 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4659 032706 324 00 0 00 032707 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4660 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4661 ;IN THE SUBTEST) TO LOOP ON ERROR^
4662
4663 ;**********
4664
4665 ;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
4666 ;SHOULD BE THAT SAME WORD. A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
4667 ;IN ONLY ONE BIT IS ANDED WITH ITSELF. THE AC IS THEN CHECKED FOR ITS
4668 ;CONTENTS NONZERO. IF C(AC)=0, THE 'AND' INSTRUCTION FAILED. THIS TEST IS REPEATED
4669 ;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
4670 006517 SN=SN+1
4671 040000 ZZ=ZZ+ZZ
4672 IFE ZZ,<ZZ=1>
4673 032707 200 00 0 00 070303 MOVE [ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
4674 032710 404 00 0 00 000000 AND ;*AND OF WORD CONTAINING A ONE IN ONE BIT
4675 ;POSITION WITH ITSELF SHOULD RESULT WITH
4676 ;C(AC) NONZERO
4677 032711 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NONZERO
4678 STOP^
4679 032712 254 04 0 00 032713 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 25-6
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0108
4680 032713 324 00 0 00 032714 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4681 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4682 ;IN THE SUBTEST) TO LOOP ON ERROR^
4683
4684 ;**********
4685
4686 ;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
4687 ;SHOULD BE THAT SAME WORD. A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
4688 ;IN ONLY ONE BIT IS ANDED WITH ITSELF. THE AC IS THEN CHECKED FOR ITS
4689 ;CONTENTS NONZERO. IF C(AC)=0, THE 'AND' INSTRUCTION FAILED. THIS TEST IS REPEATED
4690 ;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
4691 006520 SN=SN+1
4692 100000 ZZ=ZZ+ZZ
4693 IFE ZZ,<ZZ=1>
4694 032714 200 00 0 00 070304 MOVE [ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
4695 032715 404 00 0 00 000000 AND ;*AND OF WORD CONTAINING A ONE IN ONE BIT
4696 ;POSITION WITH ITSELF SHOULD RESULT WITH
4697 ;C(AC) NONZERO
4698 032716 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NONZERO
4699 STOP^
4700 032717 254 04 0 00 032720 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4701 032720 324 00 0 00 032721 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4702 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4703 ;IN THE SUBTEST) TO LOOP ON ERROR^
4704
4705 ;**********
4706
4707 ;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
4708 ;SHOULD BE THAT SAME WORD. A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
4709 ;IN ONLY ONE BIT IS ANDED WITH ITSELF. THE AC IS THEN CHECKED FOR ITS
4710 ;CONTENTS NONZERO. IF C(AC)=0, THE 'AND' INSTRUCTION FAILED. THIS TEST IS REPEATED
4711 ;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
4712 006521 SN=SN+1
4713 200000 ZZ=ZZ+ZZ
4714 IFE ZZ,<ZZ=1>
4715 032721 200 00 0 00 070305 MOVE [ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
4716 032722 404 00 0 00 000000 AND ;*AND OF WORD CONTAINING A ONE IN ONE BIT
4717 ;POSITION WITH ITSELF SHOULD RESULT WITH
4718 ;C(AC) NONZERO
4719 032723 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NONZERO
4720 STOP^
4721 032724 254 04 0 00 032725 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4722 032725 324 00 0 00 032726 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4723 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4724 ;IN THE SUBTEST) TO LOOP ON ERROR^
4725
4726 ;**********
4727
4728 ;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
4729 ;SHOULD BE THAT SAME WORD. A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
4730 ;IN ONLY ONE BIT IS ANDED WITH ITSELF. THE AC IS THEN CHECKED FOR ITS
4731 ;CONTENTS NONZERO. IF C(AC)=0, THE 'AND' INSTRUCTION FAILED. THIS TEST IS REPEATED
4732 ;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
4733 006522 SN=SN+1
4734 400000 ZZ=ZZ+ZZ
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 25-7
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0109
4735 IFE ZZ,<ZZ=1>
4736 032726 200 00 0 00 070306 MOVE [ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
4737 032727 404 00 0 00 000000 AND ;*AND OF WORD CONTAINING A ONE IN ONE BIT
4738 ;POSITION WITH ITSELF SHOULD RESULT WITH
4739 ;C(AC) NONZERO
4740 032730 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NONZERO
4741 STOP^
4742 032731 254 04 0 00 032732 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4743 032732 324 00 0 00 032733 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4744 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4745 ;IN THE SUBTEST) TO LOOP ON ERROR^
4746
4747 ;**********
4748
4749 ;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
4750 ;SHOULD BE THAT SAME WORD. A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
4751 ;IN ONLY ONE BIT IS ANDED WITH ITSELF. THE AC IS THEN CHECKED FOR ITS
4752 ;CONTENTS NONZERO. IF C(AC)=0, THE 'AND' INSTRUCTION FAILED. THIS TEST IS REPEATED
4753 ;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
4754 006523 SN=SN+1
4755 000001 000000 ZZ=ZZ+ZZ
4756 IFE ZZ,<ZZ=1>
4757 032733 200 00 0 00 070307 MOVE [ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
4758 032734 404 00 0 00 000000 AND ;*AND OF WORD CONTAINING A ONE IN ONE BIT
4759 ;POSITION WITH ITSELF SHOULD RESULT WITH
4760 ;C(AC) NONZERO
4761 032735 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NONZERO
4762 STOP^
4763 032736 254 04 0 00 032737 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4764 032737 324 00 0 00 032740 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4765 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4766 ;IN THE SUBTEST) TO LOOP ON ERROR^
4767
4768 ;**********
4769
4770 ;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
4771 ;SHOULD BE THAT SAME WORD. A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
4772 ;IN ONLY ONE BIT IS ANDED WITH ITSELF. THE AC IS THEN CHECKED FOR ITS
4773 ;CONTENTS NONZERO. IF C(AC)=0, THE 'AND' INSTRUCTION FAILED. THIS TEST IS REPEATED
4774 ;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
4775 006524 SN=SN+1
4776 000002 000000 ZZ=ZZ+ZZ
4777 IFE ZZ,<ZZ=1>
4778 032740 200 00 0 00 070310 MOVE [ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
4779 032741 404 00 0 00 000000 AND ;*AND OF WORD CONTAINING A ONE IN ONE BIT
4780 ;POSITION WITH ITSELF SHOULD RESULT WITH
4781 ;C(AC) NONZERO
4782 032742 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NONZERO
4783 STOP^
4784 032743 254 04 0 00 032744 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4785 032744 324 00 0 00 032745 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4786 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4787 ;IN THE SUBTEST) TO LOOP ON ERROR^
4788
4789 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 25-8
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0110
4790
4791 ;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
4792 ;SHOULD BE THAT SAME WORD. A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
4793 ;IN ONLY ONE BIT IS ANDED WITH ITSELF. THE AC IS THEN CHECKED FOR ITS
4794 ;CONTENTS NONZERO. IF C(AC)=0, THE 'AND' INSTRUCTION FAILED. THIS TEST IS REPEATED
4795 ;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
4796 006525 SN=SN+1
4797 000004 000000 ZZ=ZZ+ZZ
4798 IFE ZZ,<ZZ=1>
4799 032745 200 00 0 00 070311 MOVE [ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
4800 032746 404 00 0 00 000000 AND ;*AND OF WORD CONTAINING A ONE IN ONE BIT
4801 ;POSITION WITH ITSELF SHOULD RESULT WITH
4802 ;C(AC) NONZERO
4803 032747 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NONZERO
4804 STOP^
4805 032750 254 04 0 00 032751 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4806 032751 324 00 0 00 032752 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4807 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4808 ;IN THE SUBTEST) TO LOOP ON ERROR^
4809
4810 ;**********
4811
4812 ;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
4813 ;SHOULD BE THAT SAME WORD. A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
4814 ;IN ONLY ONE BIT IS ANDED WITH ITSELF. THE AC IS THEN CHECKED FOR ITS
4815 ;CONTENTS NONZERO. IF C(AC)=0, THE 'AND' INSTRUCTION FAILED. THIS TEST IS REPEATED
4816 ;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
4817 006526 SN=SN+1
4818 000010 000000 ZZ=ZZ+ZZ
4819 IFE ZZ,<ZZ=1>
4820 032752 200 00 0 00 070312 MOVE [ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
4821 032753 404 00 0 00 000000 AND ;*AND OF WORD CONTAINING A ONE IN ONE BIT
4822 ;POSITION WITH ITSELF SHOULD RESULT WITH
4823 ;C(AC) NONZERO
4824 032754 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NONZERO
4825 STOP^
4826 032755 254 04 0 00 032756 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4827 032756 324 00 0 00 032757 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4828 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4829 ;IN THE SUBTEST) TO LOOP ON ERROR^
4830
4831 ;**********
4832
4833 ;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
4834 ;SHOULD BE THAT SAME WORD. A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
4835 ;IN ONLY ONE BIT IS ANDED WITH ITSELF. THE AC IS THEN CHECKED FOR ITS
4836 ;CONTENTS NONZERO. IF C(AC)=0, THE 'AND' INSTRUCTION FAILED. THIS TEST IS REPEATED
4837 ;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
4838 006527 SN=SN+1
4839 000020 000000 ZZ=ZZ+ZZ
4840 IFE ZZ,<ZZ=1>
4841 032757 200 00 0 00 070313 MOVE [ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
4842 032760 404 00 0 00 000000 AND ;*AND OF WORD CONTAINING A ONE IN ONE BIT
4843 ;POSITION WITH ITSELF SHOULD RESULT WITH
4844 ;C(AC) NONZERO
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 25-9
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0111
4845 032761 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NONZERO
4846 STOP^
4847 032762 254 04 0 00 032763 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4848 032763 324 00 0 00 032764 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4849 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4850 ;IN THE SUBTEST) TO LOOP ON ERROR^
4851
4852 ;**********
4853
4854 ;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
4855 ;SHOULD BE THAT SAME WORD. A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
4856 ;IN ONLY ONE BIT IS ANDED WITH ITSELF. THE AC IS THEN CHECKED FOR ITS
4857 ;CONTENTS NONZERO. IF C(AC)=0, THE 'AND' INSTRUCTION FAILED. THIS TEST IS REPEATED
4858 ;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
4859 006530 SN=SN+1
4860 000040 000000 ZZ=ZZ+ZZ
4861 IFE ZZ,<ZZ=1>
4862 032764 200 00 0 00 070314 MOVE [ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
4863 032765 404 00 0 00 000000 AND ;*AND OF WORD CONTAINING A ONE IN ONE BIT
4864 ;POSITION WITH ITSELF SHOULD RESULT WITH
4865 ;C(AC) NONZERO
4866 032766 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NONZERO
4867 STOP^
4868 032767 254 04 0 00 032770 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4869 032770 324 00 0 00 032771 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4870 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4871 ;IN THE SUBTEST) TO LOOP ON ERROR^
4872
4873 ;**********
4874
4875 ;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
4876 ;SHOULD BE THAT SAME WORD. A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
4877 ;IN ONLY ONE BIT IS ANDED WITH ITSELF. THE AC IS THEN CHECKED FOR ITS
4878 ;CONTENTS NONZERO. IF C(AC)=0, THE 'AND' INSTRUCTION FAILED. THIS TEST IS REPEATED
4879 ;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
4880 006531 SN=SN+1
4881 000100 000000 ZZ=ZZ+ZZ
4882 IFE ZZ,<ZZ=1>
4883 032771 200 00 0 00 070315 MOVE [ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
4884 032772 404 00 0 00 000000 AND ;*AND OF WORD CONTAINING A ONE IN ONE BIT
4885 ;POSITION WITH ITSELF SHOULD RESULT WITH
4886 ;C(AC) NONZERO
4887 032773 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NONZERO
4888 STOP^
4889 032774 254 04 0 00 032775 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4890 032775 324 00 0 00 032776 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4891 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4892 ;IN THE SUBTEST) TO LOOP ON ERROR^
4893
4894 ;**********
4895
4896 ;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
4897 ;SHOULD BE THAT SAME WORD. A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
4898 ;IN ONLY ONE BIT IS ANDED WITH ITSELF. THE AC IS THEN CHECKED FOR ITS
4899 ;CONTENTS NONZERO. IF C(AC)=0, THE 'AND' INSTRUCTION FAILED. THIS TEST IS REPEATED
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 25-10
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0112
4900 ;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
4901 006532 SN=SN+1
4902 000200 000000 ZZ=ZZ+ZZ
4903 IFE ZZ,<ZZ=1>
4904 032776 200 00 0 00 070316 MOVE [ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
4905 032777 404 00 0 00 000000 AND ;*AND OF WORD CONTAINING A ONE IN ONE BIT
4906 ;POSITION WITH ITSELF SHOULD RESULT WITH
4907 ;C(AC) NONZERO
4908 033000 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NONZERO
4909 STOP^
4910 033001 254 04 0 00 033002 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4911 033002 324 00 0 00 033003 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4912 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4913 ;IN THE SUBTEST) TO LOOP ON ERROR^
4914
4915 ;**********
4916
4917 ;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
4918 ;SHOULD BE THAT SAME WORD. A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
4919 ;IN ONLY ONE BIT IS ANDED WITH ITSELF. THE AC IS THEN CHECKED FOR ITS
4920 ;CONTENTS NONZERO. IF C(AC)=0, THE 'AND' INSTRUCTION FAILED. THIS TEST IS REPEATED
4921 ;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
4922 006533 SN=SN+1
4923 000400 000000 ZZ=ZZ+ZZ
4924 IFE ZZ,<ZZ=1>
4925 033003 200 00 0 00 070264 MOVE [ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
4926 033004 404 00 0 00 000000 AND ;*AND OF WORD CONTAINING A ONE IN ONE BIT
4927 ;POSITION WITH ITSELF SHOULD RESULT WITH
4928 ;C(AC) NONZERO
4929 033005 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NONZERO
4930 STOP^
4931 033006 254 04 0 00 033007 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4932 033007 324 00 0 00 033010 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4933 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4934 ;IN THE SUBTEST) TO LOOP ON ERROR^
4935
4936 ;**********
4937
4938 ;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
4939 ;SHOULD BE THAT SAME WORD. A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
4940 ;IN ONLY ONE BIT IS ANDED WITH ITSELF. THE AC IS THEN CHECKED FOR ITS
4941 ;CONTENTS NONZERO. IF C(AC)=0, THE 'AND' INSTRUCTION FAILED. THIS TEST IS REPEATED
4942 ;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
4943 006534 SN=SN+1
4944 001000 000000 ZZ=ZZ+ZZ
4945 IFE ZZ,<ZZ=1>
4946 033010 200 00 0 00 070317 MOVE [ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
4947 033011 404 00 0 00 000000 AND ;*AND OF WORD CONTAINING A ONE IN ONE BIT
4948 ;POSITION WITH ITSELF SHOULD RESULT WITH
4949 ;C(AC) NONZERO
4950 033012 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NONZERO
4951 STOP^
4952 033013 254 04 0 00 033014 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4953 033014 324 00 0 00 033015 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4954 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 25-11
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0113
4955 ;IN THE SUBTEST) TO LOOP ON ERROR^
4956
4957 ;**********
4958
4959 ;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
4960 ;SHOULD BE THAT SAME WORD. A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
4961 ;IN ONLY ONE BIT IS ANDED WITH ITSELF. THE AC IS THEN CHECKED FOR ITS
4962 ;CONTENTS NONZERO. IF C(AC)=0, THE 'AND' INSTRUCTION FAILED. THIS TEST IS REPEATED
4963 ;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
4964 006535 SN=SN+1
4965 002000 000000 ZZ=ZZ+ZZ
4966 IFE ZZ,<ZZ=1>
4967 033015 200 00 0 00 070320 MOVE [ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
4968 033016 404 00 0 00 000000 AND ;*AND OF WORD CONTAINING A ONE IN ONE BIT
4969 ;POSITION WITH ITSELF SHOULD RESULT WITH
4970 ;C(AC) NONZERO
4971 033017 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NONZERO
4972 STOP^
4973 033020 254 04 0 00 033021 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4974 033021 324 00 0 00 033022 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4975 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4976 ;IN THE SUBTEST) TO LOOP ON ERROR^
4977
4978 ;**********
4979
4980 ;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
4981 ;SHOULD BE THAT SAME WORD. A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
4982 ;IN ONLY ONE BIT IS ANDED WITH ITSELF. THE AC IS THEN CHECKED FOR ITS
4983 ;CONTENTS NONZERO. IF C(AC)=0, THE 'AND' INSTRUCTION FAILED. THIS TEST IS REPEATED
4984 ;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
4985 006536 SN=SN+1
4986 004000 000000 ZZ=ZZ+ZZ
4987 IFE ZZ,<ZZ=1>
4988 033022 200 00 0 00 070321 MOVE [ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
4989 033023 404 00 0 00 000000 AND ;*AND OF WORD CONTAINING A ONE IN ONE BIT
4990 ;POSITION WITH ITSELF SHOULD RESULT WITH
4991 ;C(AC) NONZERO
4992 033024 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NONZERO
4993 STOP^
4994 033025 254 04 0 00 033026 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
4995 033026 324 00 0 00 033027 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
4996 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
4997 ;IN THE SUBTEST) TO LOOP ON ERROR^
4998
4999 ;**********
5000
5001 ;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
5002 ;SHOULD BE THAT SAME WORD. A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
5003 ;IN ONLY ONE BIT IS ANDED WITH ITSELF. THE AC IS THEN CHECKED FOR ITS
5004 ;CONTENTS NONZERO. IF C(AC)=0, THE 'AND' INSTRUCTION FAILED. THIS TEST IS REPEATED
5005 ;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
5006 006537 SN=SN+1
5007 010000 000000 ZZ=ZZ+ZZ
5008 IFE ZZ,<ZZ=1>
5009 033027 200 00 0 00 070322 MOVE [ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 25-12
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0114
5010 033030 404 00 0 00 000000 AND ;*AND OF WORD CONTAINING A ONE IN ONE BIT
5011 ;POSITION WITH ITSELF SHOULD RESULT WITH
5012 ;C(AC) NONZERO
5013 033031 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NONZERO
5014 STOP^
5015 033032 254 04 0 00 033033 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5016 033033 324 00 0 00 033034 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5017 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5018 ;IN THE SUBTEST) TO LOOP ON ERROR^
5019
5020 ;**********
5021
5022 ;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
5023 ;SHOULD BE THAT SAME WORD. A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
5024 ;IN ONLY ONE BIT IS ANDED WITH ITSELF. THE AC IS THEN CHECKED FOR ITS
5025 ;CONTENTS NONZERO. IF C(AC)=0, THE 'AND' INSTRUCTION FAILED. THIS TEST IS REPEATED
5026 ;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
5027 006540 SN=SN+1
5028 020000 000000 ZZ=ZZ+ZZ
5029 IFE ZZ,<ZZ=1>
5030 033034 200 00 0 00 070323 MOVE [ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
5031 033035 404 00 0 00 000000 AND ;*AND OF WORD CONTAINING A ONE IN ONE BIT
5032 ;POSITION WITH ITSELF SHOULD RESULT WITH
5033 ;C(AC) NONZERO
5034 033036 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NONZERO
5035 STOP^
5036 033037 254 04 0 00 033040 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5037 033040 324 00 0 00 033041 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5038 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5039 ;IN THE SUBTEST) TO LOOP ON ERROR^
5040
5041 ;**********
5042
5043 ;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
5044 ;SHOULD BE THAT SAME WORD. A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
5045 ;IN ONLY ONE BIT IS ANDED WITH ITSELF. THE AC IS THEN CHECKED FOR ITS
5046 ;CONTENTS NONZERO. IF C(AC)=0, THE 'AND' INSTRUCTION FAILED. THIS TEST IS REPEATED
5047 ;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
5048 006541 SN=SN+1
5049 040000 000000 ZZ=ZZ+ZZ
5050 IFE ZZ,<ZZ=1>
5051 033041 200 00 0 00 070324 MOVE [ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
5052 033042 404 00 0 00 000000 AND ;*AND OF WORD CONTAINING A ONE IN ONE BIT
5053 ;POSITION WITH ITSELF SHOULD RESULT WITH
5054 ;C(AC) NONZERO
5055 033043 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NONZERO
5056 STOP^
5057 033044 254 04 0 00 033045 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5058 033045 324 00 0 00 033046 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5059 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5060 ;IN THE SUBTEST) TO LOOP ON ERROR^
5061
5062 ;**********
5063
5064 ;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 25-13
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0115
5065 ;SHOULD BE THAT SAME WORD. A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
5066 ;IN ONLY ONE BIT IS ANDED WITH ITSELF. THE AC IS THEN CHECKED FOR ITS
5067 ;CONTENTS NONZERO. IF C(AC)=0, THE 'AND' INSTRUCTION FAILED. THIS TEST IS REPEATED
5068 ;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
5069 006542 SN=SN+1
5070 100000 000000 ZZ=ZZ+ZZ
5071 IFE ZZ,<ZZ=1>
5072 033046 200 00 0 00 070325 MOVE [ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
5073 033047 404 00 0 00 000000 AND ;*AND OF WORD CONTAINING A ONE IN ONE BIT
5074 ;POSITION WITH ITSELF SHOULD RESULT WITH
5075 ;C(AC) NONZERO
5076 033050 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NONZERO
5077 STOP^
5078 033051 254 04 0 00 033052 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5079 033052 324 00 0 00 033053 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5080 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5081 ;IN THE SUBTEST) TO LOOP ON ERROR^
5082
5083 ;**********
5084
5085 ;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
5086 ;SHOULD BE THAT SAME WORD. A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
5087 ;IN ONLY ONE BIT IS ANDED WITH ITSELF. THE AC IS THEN CHECKED FOR ITS
5088 ;CONTENTS NONZERO. IF C(AC)=0, THE 'AND' INSTRUCTION FAILED. THIS TEST IS REPEATED
5089 ;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
5090 006543 SN=SN+1
5091 200000 000000 ZZ=ZZ+ZZ
5092 IFE ZZ,<ZZ=1>
5093 033053 200 00 0 00 070326 MOVE [ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
5094 033054 404 00 0 00 000000 AND ;*AND OF WORD CONTAINING A ONE IN ONE BIT
5095 ;POSITION WITH ITSELF SHOULD RESULT WITH
5096 ;C(AC) NONZERO
5097 033055 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NONZERO
5098 STOP^
5099 033056 254 04 0 00 033057 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5100 033057 324 00 0 00 033060 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5101 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5102 ;IN THE SUBTEST) TO LOOP ON ERROR^
5103
5104 ;**********
5105
5106 ;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
5107 ;SHOULD BE THAT SAME WORD. A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
5108 ;IN ONLY ONE BIT IS ANDED WITH ITSELF. THE AC IS THEN CHECKED FOR ITS
5109 ;CONTENTS NONZERO. IF C(AC)=0, THE 'AND' INSTRUCTION FAILED. THIS TEST IS REPEATED
5110 ;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
5111 006544 SN=SN+1
5112 400000 000000 ZZ=ZZ+ZZ
5113 IFE ZZ,<ZZ=1>
5114 033060 200 00 0 00 070256 MOVE [ZZ] ;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
5115 033061 404 00 0 00 000000 AND ;*AND OF WORD CONTAINING A ONE IN ONE BIT
5116 ;POSITION WITH ITSELF SHOULD RESULT WITH
5117 ;C(AC) NONZERO
5118 033062 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NONZERO
5119 STOP^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 25-14
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0116
5120 033063 254 04 0 00 033064 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5121 033064 324 00 0 00 033065 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5122 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5123 ;IN THE SUBTEST) TO LOOP ON ERROR^
5124
5125 ;**********
5126
5127 ;THIS TEST VERIFIES THAT THE RESULT OF THE AND INSTRUCTION WHERE
5128 ;C(AC)=0 AND C(E)=0 AND E OUTSIDE OF THE AC RANGE IS ALL ZEROS IN THE AC.
5129 ;FIRST, THE AC IS CLEARED; THEN, THE C(AC) IS ANDED WITH C(E) WHEN
5130 ;E GREATER THAN 20 AND C(E)=0. THE RESULT SHOULD BE C(AC)=0.
5131 ;IF C(AC) IS NON-ZERO, 'AND' FAILED WITH THE MEMORY OPERAND.
5132
5133 033065 200 00 0 00 070253 A6600: MOVE [0] ;PRESET AC TO ALL ZEROS
5134 033066 404 00 0 00 070253 AND [0] ;*AND OF TWO WORDS OF ALL ZEROS
5135 ;SHOULD RESULT IN C(AC)=0
5136 033067 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
5137 STOP^
5138 033070 254 04 0 00 033071 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5139 033071 324 00 0 00 033072 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5140 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5141 ;IN THE SUBTEST) TO LOOP ON ERROR^
5142
5143 ;**********
5144
5145 ;THIS TEST VERIFIES THAT THE RESULT OF THE AND INSTRUCTION WHERE C(AC)=0
5146 ;AND C(E) IS ALL ONES IS AN AC CONTAINING ALL ZEROS. FIRST, THE AC IS
5147 ;CLEARED; THEN THE C(AC) IS ANDED WITH AN E CONTAINING ALL ONES, WHERE
5148 ;E IS BEYOND THE AC RANGE. THE RESULT SHOULD BE C(AC)=0.
5149 ;IF C(AC) IS NON-ZERO, 'AND' FAILED WITH THE MEMORY OPERAND.
5150
5151 033072 200 00 0 00 070253 A6700: MOVE [0] ;PRESET AC TO ALL ZEROS
5152 033073 404 00 0 00 070254 AND [-1] ;*AND OF TWO WORDS WHERE C(AC)=0 SHOULD RESULT IN C(AC)=0
5153 033074 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
5154 STOP^
5155 033075 254 04 0 00 033076 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5156 033076 324 00 0 00 033077 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5157 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5158 ;IN THE SUBTEST) TO LOOP ON ERROR^
5159
5160 ;AD FM+EN [ADFP],AD FM+EN A [ADFP],
5161 ;F CYC ACT EN C [F1],IR BOOLE AD FM+F [IR2],
5162 ;IR BOOLE [IR1],IRXX(1,4,5,11,13,16) [IR2]
5163
5164 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 26
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0117
5165 ;THIS TEST VERIFIES THAT THE RESULT OF THE AND INSTRUCTION WHERE C(E)=0
5166 ;AND C(AC) IS ALL ONES IS AN AC CONTAINING ALL ZEROS. FIRST, THE
5167 ;AC IS SET TO ALL ONES; THEN, THE AC IS ANDED WITH AN E CONTAINING ALL
5168 ;ZEROS, WHERE E IS BEYOND THE AC RANGE. THE RESULT SHOULD BE C(AC)=0.
5169 ;IF C(AC) IS NON-ZERO, 'AND' FAILED WITH THE MEMORY OPERAND.
5170
5171 033077 200 00 0 00 070254 A7000: MOVE [-1] ;PRESET AC TO ALL ONES
5172 033100 404 00 0 00 070253 AND [0] ;*AND OF TWO WORDS WHERE C(E)=0 SHOULD RESULT IN C(AC)=0
5173 033101 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
5174 STOP^
5175 033102 254 04 0 00 033103 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5176 033103 324 00 0 00 033104 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5177 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5178 ;IN THE SUBTEST) TO LOOP ON ERROR^
5179
5180 ;**********
5181
5182 ;THIS TEST VERIFIES THAT THE RESULT OF THE AND INSTRUCTION WHERE C(E) IS
5183 ;ALL ONES AND C(AC) IS ALL ONES IS AN AC CONTAINING ALL ONES. FIRST, THE
5184 ;AC IS SET TO ALL ONES; THEN, C(AC) IS ANDED WITH AN E CONTAINING ALL
5185 ;ONES. THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
5186 ;IF C(AC) IS ZERO, 'AND' FAILED WITH THE MEMORY OPERAND.
5187
5188 033104 200 00 0 00 070254 A7100: MOVE [-1] ;PRELOAD AC WITH ALL ONES
5189 033105 404 00 0 00 070254 AND [-1] ;*AND OF TWO WORDS OF ALL ONES SHOULD
5190 ;RESULT IN C(AC)=ALL ONES
5191 033106 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) IS NON ZERO
5192 STOP^
5193 033107 254 04 0 00 033110 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5194 033110 324 00 0 00 033111 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5195 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5196 ;IN THE SUBTEST) TO LOOP ON ERROR^
5197
5198 ;**********
5199
5200 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
5201 ;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHERE CONTENTS IS NON-ZERO.
5202 ;FIRST, THE AC IS CLEARED, THEN, XOR IS EXECUTED WHERE C(E) IS NON-ZERO.
5203 ;THE AC IS THEN CHECKED FOR NON-ZERO CONTENTS.
5204 033111 200 00 0 00 070253 A7200: MOVE [0] ;CLEAR AC
5205 033112 430 00 0 00 070332 XOR [707070707070] ;*XOR WITH C(AC)=0 AND C(E)=7070707070 SHOULD
5206 ;RESTULT IN C(AC)=707070707070
5207 033113 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
5208 STOP^
5209 033114 254 04 0 00 033115 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5210 033115 324 00 0 00 033116 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5211 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5212 ;IN THE SUBTEST) TO LOOP ON ERROR^
5213
5214 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0118
5215 007300 SN=7300
5216 000000 ZZ=0
5217
5218 A7300: REPEAT ^D36,
5219 <;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
5220 ;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
5221 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
5222 ;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
5223 ;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
5224 SN=SN+1
5225 ZZ=ZZ+ZZ
5226 IFE ZZ,<ZZ=1>
5227 MOVE [0] ;CLEAR AC
5228 XOR [ZZ] ;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
5229 ;RESULT IN C(AC) NONZERO
5230 SKIPN ;PASS TEST IF C(AC) NON-ZERO
5231 STOP
5232
5233 ;**********
5234 >
5235 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
5236 ;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
5237 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
5238 ;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
5239 ;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
5240 007301 SN=SN+1
5241 000000 ZZ=ZZ+ZZ
5242 000001 IFE ZZ,<ZZ=1>
5243 033116 200 00 0 00 070253 MOVE [0] ;CLEAR AC
5244 033117 430 00 0 00 070265 XOR [ZZ] ;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
5245 ;RESULT IN C(AC) NONZERO
5246 033120 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
5247 STOP^
5248 033121 254 04 0 00 033122 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5249 033122 324 00 0 00 033123 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5250 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5251 ;IN THE SUBTEST) TO LOOP ON ERROR^
5252
5253 ;**********
5254
5255 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
5256 ;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
5257 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
5258 ;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
5259 ;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
5260 007302 SN=SN+1
5261 000002 ZZ=ZZ+ZZ
5262 IFE ZZ,<ZZ=1>
5263 033123 200 00 0 00 070253 MOVE [0] ;CLEAR AC
5264 033124 430 00 0 00 070266 XOR [ZZ] ;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
5265 ;RESULT IN C(AC) NONZERO
5266 033125 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
5267 STOP^
5268 033126 254 04 0 00 033127 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5269 033127 324 00 0 00 033130 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27-1
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0119
5270 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5271 ;IN THE SUBTEST) TO LOOP ON ERROR^
5272
5273 ;**********
5274
5275 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
5276 ;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
5277 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
5278 ;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
5279 ;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
5280 007303 SN=SN+1
5281 000004 ZZ=ZZ+ZZ
5282 IFE ZZ,<ZZ=1>
5283 033130 200 00 0 00 070253 MOVE [0] ;CLEAR AC
5284 033131 430 00 0 00 070267 XOR [ZZ] ;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
5285 ;RESULT IN C(AC) NONZERO
5286 033132 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
5287 STOP^
5288 033133 254 04 0 00 033134 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5289 033134 324 00 0 00 033135 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5290 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5291 ;IN THE SUBTEST) TO LOOP ON ERROR^
5292
5293 ;**********
5294
5295 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
5296 ;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
5297 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
5298 ;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
5299 ;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
5300 007304 SN=SN+1
5301 000010 ZZ=ZZ+ZZ
5302 IFE ZZ,<ZZ=1>
5303 033135 200 00 0 00 070253 MOVE [0] ;CLEAR AC
5304 033136 430 00 0 00 070270 XOR [ZZ] ;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
5305 ;RESULT IN C(AC) NONZERO
5306 033137 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
5307 STOP^
5308 033140 254 04 0 00 033141 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5309 033141 324 00 0 00 033142 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5310 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5311 ;IN THE SUBTEST) TO LOOP ON ERROR^
5312
5313 ;**********
5314
5315 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
5316 ;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
5317 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
5318 ;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
5319 ;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
5320 007305 SN=SN+1
5321 000020 ZZ=ZZ+ZZ
5322 IFE ZZ,<ZZ=1>
5323 033142 200 00 0 00 070253 MOVE [0] ;CLEAR AC
5324 033143 430 00 0 00 070271 XOR [ZZ] ;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27-2
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0120
5325 ;RESULT IN C(AC) NONZERO
5326 033144 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
5327 STOP^
5328 033145 254 04 0 00 033146 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5329 033146 324 00 0 00 033147 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5330 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5331 ;IN THE SUBTEST) TO LOOP ON ERROR^
5332
5333 ;**********
5334
5335 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
5336 ;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
5337 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
5338 ;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
5339 ;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
5340 007306 SN=SN+1
5341 000040 ZZ=ZZ+ZZ
5342 IFE ZZ,<ZZ=1>
5343 033147 200 00 0 00 070253 MOVE [0] ;CLEAR AC
5344 033150 430 00 0 00 070272 XOR [ZZ] ;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
5345 ;RESULT IN C(AC) NONZERO
5346 033151 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
5347 STOP^
5348 033152 254 04 0 00 033153 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5349 033153 324 00 0 00 033154 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5350 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5351 ;IN THE SUBTEST) TO LOOP ON ERROR^
5352
5353 ;**********
5354
5355 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
5356 ;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
5357 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
5358 ;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
5359 ;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
5360 007307 SN=SN+1
5361 000100 ZZ=ZZ+ZZ
5362 IFE ZZ,<ZZ=1>
5363 033154 200 00 0 00 070253 MOVE [0] ;CLEAR AC
5364 033155 430 00 0 00 070273 XOR [ZZ] ;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
5365 ;RESULT IN C(AC) NONZERO
5366 033156 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
5367 STOP^
5368 033157 254 04 0 00 033160 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5369 033160 324 00 0 00 033161 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5370 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5371 ;IN THE SUBTEST) TO LOOP ON ERROR^
5372
5373 ;**********
5374
5375 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
5376 ;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
5377 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
5378 ;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
5379 ;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27-3
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0121
5380 007310 SN=SN+1
5381 000200 ZZ=ZZ+ZZ
5382 IFE ZZ,<ZZ=1>
5383 033161 200 00 0 00 070253 MOVE [0] ;CLEAR AC
5384 033162 430 00 0 00 070274 XOR [ZZ] ;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
5385 ;RESULT IN C(AC) NONZERO
5386 033163 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
5387 STOP^
5388 033164 254 04 0 00 033165 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5389 033165 324 00 0 00 033166 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5390 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5391 ;IN THE SUBTEST) TO LOOP ON ERROR^
5392
5393 ;**********
5394
5395 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
5396 ;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
5397 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
5398 ;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
5399 ;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
5400 007311 SN=SN+1
5401 000400 ZZ=ZZ+ZZ
5402 IFE ZZ,<ZZ=1>
5403 033166 200 00 0 00 070253 MOVE [0] ;CLEAR AC
5404 033167 430 00 0 00 070275 XOR [ZZ] ;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
5405 ;RESULT IN C(AC) NONZERO
5406 033170 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
5407 STOP^
5408 033171 254 04 0 00 033172 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5409 033172 324 00 0 00 033173 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5410 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5411 ;IN THE SUBTEST) TO LOOP ON ERROR^
5412
5413 ;**********
5414
5415 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
5416 ;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
5417 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
5418 ;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
5419 ;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
5420 007312 SN=SN+1
5421 001000 ZZ=ZZ+ZZ
5422 IFE ZZ,<ZZ=1>
5423 033173 200 00 0 00 070253 MOVE [0] ;CLEAR AC
5424 033174 430 00 0 00 070276 XOR [ZZ] ;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
5425 ;RESULT IN C(AC) NONZERO
5426 033175 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
5427 STOP^
5428 033176 254 04 0 00 033177 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5429 033177 324 00 0 00 033200 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5430 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5431 ;IN THE SUBTEST) TO LOOP ON ERROR^
5432
5433 ;**********
5434
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27-4
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0122
5435 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
5436 ;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
5437 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
5438 ;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
5439 ;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
5440 007313 SN=SN+1
5441 002000 ZZ=ZZ+ZZ
5442 IFE ZZ,<ZZ=1>
5443 033200 200 00 0 00 070253 MOVE [0] ;CLEAR AC
5444 033201 430 00 0 00 070277 XOR [ZZ] ;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
5445 ;RESULT IN C(AC) NONZERO
5446 033202 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
5447 STOP^
5448 033203 254 04 0 00 033204 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5449 033204 324 00 0 00 033205 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5450 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5451 ;IN THE SUBTEST) TO LOOP ON ERROR^
5452
5453 ;**********
5454
5455 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
5456 ;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
5457 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
5458 ;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
5459 ;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
5460 007314 SN=SN+1
5461 004000 ZZ=ZZ+ZZ
5462 IFE ZZ,<ZZ=1>
5463 033205 200 00 0 00 070253 MOVE [0] ;CLEAR AC
5464 033206 430 00 0 00 070300 XOR [ZZ] ;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
5465 ;RESULT IN C(AC) NONZERO
5466 033207 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
5467 STOP^
5468 033210 254 04 0 00 033211 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5469 033211 324 00 0 00 033212 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5470 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5471 ;IN THE SUBTEST) TO LOOP ON ERROR^
5472
5473 ;**********
5474
5475 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
5476 ;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
5477 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
5478 ;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
5479 ;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
5480 007315 SN=SN+1
5481 010000 ZZ=ZZ+ZZ
5482 IFE ZZ,<ZZ=1>
5483 033212 200 00 0 00 070253 MOVE [0] ;CLEAR AC
5484 033213 430 00 0 00 070301 XOR [ZZ] ;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
5485 ;RESULT IN C(AC) NONZERO
5486 033214 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
5487 STOP^
5488 033215 254 04 0 00 033216 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5489 033216 324 00 0 00 033217 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27-5
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0123
5490 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5491 ;IN THE SUBTEST) TO LOOP ON ERROR^
5492
5493 ;**********
5494
5495 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
5496 ;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
5497 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
5498 ;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
5499 ;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
5500 007316 SN=SN+1
5501 020000 ZZ=ZZ+ZZ
5502 IFE ZZ,<ZZ=1>
5503 033217 200 00 0 00 070253 MOVE [0] ;CLEAR AC
5504 033220 430 00 0 00 070302 XOR [ZZ] ;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
5505 ;RESULT IN C(AC) NONZERO
5506 033221 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
5507 STOP^
5508 033222 254 04 0 00 033223 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5509 033223 324 00 0 00 033224 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5510 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5511 ;IN THE SUBTEST) TO LOOP ON ERROR^
5512
5513 ;**********
5514
5515 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
5516 ;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
5517 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
5518 ;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
5519 ;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
5520 007317 SN=SN+1
5521 040000 ZZ=ZZ+ZZ
5522 IFE ZZ,<ZZ=1>
5523 033224 200 00 0 00 070253 MOVE [0] ;CLEAR AC
5524 033225 430 00 0 00 070303 XOR [ZZ] ;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
5525 ;RESULT IN C(AC) NONZERO
5526 033226 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
5527 STOP^
5528 033227 254 04 0 00 033230 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5529 033230 324 00 0 00 033231 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5530 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5531 ;IN THE SUBTEST) TO LOOP ON ERROR^
5532
5533 ;**********
5534
5535 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
5536 ;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
5537 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
5538 ;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
5539 ;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
5540 007320 SN=SN+1
5541 100000 ZZ=ZZ+ZZ
5542 IFE ZZ,<ZZ=1>
5543 033231 200 00 0 00 070253 MOVE [0] ;CLEAR AC
5544 033232 430 00 0 00 070304 XOR [ZZ] ;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27-6
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0124
5545 ;RESULT IN C(AC) NONZERO
5546 033233 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
5547 STOP^
5548 033234 254 04 0 00 033235 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5549 033235 324 00 0 00 033236 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5550 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5551 ;IN THE SUBTEST) TO LOOP ON ERROR^
5552
5553 ;**********
5554
5555 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
5556 ;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
5557 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
5558 ;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
5559 ;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
5560 007321 SN=SN+1
5561 200000 ZZ=ZZ+ZZ
5562 IFE ZZ,<ZZ=1>
5563 033236 200 00 0 00 070253 MOVE [0] ;CLEAR AC
5564 033237 430 00 0 00 070305 XOR [ZZ] ;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
5565 ;RESULT IN C(AC) NONZERO
5566 033240 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
5567 STOP^
5568 033241 254 04 0 00 033242 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5569 033242 324 00 0 00 033243 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5570 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5571 ;IN THE SUBTEST) TO LOOP ON ERROR^
5572
5573 ;**********
5574
5575 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
5576 ;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
5577 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
5578 ;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
5579 ;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
5580 007322 SN=SN+1
5581 400000 ZZ=ZZ+ZZ
5582 IFE ZZ,<ZZ=1>
5583 033243 200 00 0 00 070253 MOVE [0] ;CLEAR AC
5584 033244 430 00 0 00 070306 XOR [ZZ] ;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
5585 ;RESULT IN C(AC) NONZERO
5586 033245 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
5587 STOP^
5588 033246 254 04 0 00 033247 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5589 033247 324 00 0 00 033250 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5590 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5591 ;IN THE SUBTEST) TO LOOP ON ERROR^
5592
5593 ;**********
5594
5595 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
5596 ;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
5597 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
5598 ;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
5599 ;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27-7
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0125
5600 007323 SN=SN+1
5601 000001 000000 ZZ=ZZ+ZZ
5602 IFE ZZ,<ZZ=1>
5603 033250 200 00 0 00 070253 MOVE [0] ;CLEAR AC
5604 033251 430 00 0 00 070307 XOR [ZZ] ;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
5605 ;RESULT IN C(AC) NONZERO
5606 033252 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
5607 STOP^
5608 033253 254 04 0 00 033254 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5609 033254 324 00 0 00 033255 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5610 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5611 ;IN THE SUBTEST) TO LOOP ON ERROR^
5612
5613 ;**********
5614
5615 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
5616 ;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
5617 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
5618 ;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
5619 ;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
5620 007324 SN=SN+1
5621 000002 000000 ZZ=ZZ+ZZ
5622 IFE ZZ,<ZZ=1>
5623 033255 200 00 0 00 070253 MOVE [0] ;CLEAR AC
5624 033256 430 00 0 00 070310 XOR [ZZ] ;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
5625 ;RESULT IN C(AC) NONZERO
5626 033257 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
5627 STOP^
5628 033260 254 04 0 00 033261 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5629 033261 324 00 0 00 033262 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5630 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5631 ;IN THE SUBTEST) TO LOOP ON ERROR^
5632
5633 ;**********
5634
5635 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
5636 ;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
5637 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
5638 ;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
5639 ;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
5640 007325 SN=SN+1
5641 000004 000000 ZZ=ZZ+ZZ
5642 IFE ZZ,<ZZ=1>
5643 033262 200 00 0 00 070253 MOVE [0] ;CLEAR AC
5644 033263 430 00 0 00 070311 XOR [ZZ] ;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
5645 ;RESULT IN C(AC) NONZERO
5646 033264 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
5647 STOP^
5648 033265 254 04 0 00 033266 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5649 033266 324 00 0 00 033267 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5650 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5651 ;IN THE SUBTEST) TO LOOP ON ERROR^
5652
5653 ;**********
5654
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27-8
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0126
5655 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
5656 ;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
5657 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
5658 ;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
5659 ;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
5660 007326 SN=SN+1
5661 000010 000000 ZZ=ZZ+ZZ
5662 IFE ZZ,<ZZ=1>
5663 033267 200 00 0 00 070253 MOVE [0] ;CLEAR AC
5664 033270 430 00 0 00 070312 XOR [ZZ] ;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
5665 ;RESULT IN C(AC) NONZERO
5666 033271 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
5667 STOP^
5668 033272 254 04 0 00 033273 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5669 033273 324 00 0 00 033274 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5670 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5671 ;IN THE SUBTEST) TO LOOP ON ERROR^
5672
5673 ;**********
5674
5675 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
5676 ;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
5677 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
5678 ;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
5679 ;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
5680 007327 SN=SN+1
5681 000020 000000 ZZ=ZZ+ZZ
5682 IFE ZZ,<ZZ=1>
5683 033274 200 00 0 00 070253 MOVE [0] ;CLEAR AC
5684 033275 430 00 0 00 070313 XOR [ZZ] ;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
5685 ;RESULT IN C(AC) NONZERO
5686 033276 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
5687 STOP^
5688 033277 254 04 0 00 033300 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5689 033300 324 00 0 00 033301 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5690 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5691 ;IN THE SUBTEST) TO LOOP ON ERROR^
5692
5693 ;**********
5694
5695 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
5696 ;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
5697 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
5698 ;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
5699 ;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
5700 007330 SN=SN+1
5701 000040 000000 ZZ=ZZ+ZZ
5702 IFE ZZ,<ZZ=1>
5703 033301 200 00 0 00 070253 MOVE [0] ;CLEAR AC
5704 033302 430 00 0 00 070314 XOR [ZZ] ;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
5705 ;RESULT IN C(AC) NONZERO
5706 033303 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
5707 STOP^
5708 033304 254 04 0 00 033305 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5709 033305 324 00 0 00 033306 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27-9
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0127
5710 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5711 ;IN THE SUBTEST) TO LOOP ON ERROR^
5712
5713 ;**********
5714
5715 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
5716 ;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
5717 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
5718 ;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
5719 ;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
5720 007331 SN=SN+1
5721 000100 000000 ZZ=ZZ+ZZ
5722 IFE ZZ,<ZZ=1>
5723 033306 200 00 0 00 070253 MOVE [0] ;CLEAR AC
5724 033307 430 00 0 00 070315 XOR [ZZ] ;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
5725 ;RESULT IN C(AC) NONZERO
5726 033310 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
5727 STOP^
5728 033311 254 04 0 00 033312 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5729 033312 324 00 0 00 033313 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5730 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5731 ;IN THE SUBTEST) TO LOOP ON ERROR^
5732
5733 ;**********
5734
5735 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
5736 ;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
5737 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
5738 ;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
5739 ;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
5740 007332 SN=SN+1
5741 000200 000000 ZZ=ZZ+ZZ
5742 IFE ZZ,<ZZ=1>
5743 033313 200 00 0 00 070253 MOVE [0] ;CLEAR AC
5744 033314 430 00 0 00 070316 XOR [ZZ] ;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
5745 ;RESULT IN C(AC) NONZERO
5746 033315 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
5747 STOP^
5748 033316 254 04 0 00 033317 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5749 033317 324 00 0 00 033320 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5750 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5751 ;IN THE SUBTEST) TO LOOP ON ERROR^
5752
5753 ;**********
5754
5755 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
5756 ;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
5757 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
5758 ;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
5759 ;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
5760 007333 SN=SN+1
5761 000400 000000 ZZ=ZZ+ZZ
5762 IFE ZZ,<ZZ=1>
5763 033320 200 00 0 00 070253 MOVE [0] ;CLEAR AC
5764 033321 430 00 0 00 070264 XOR [ZZ] ;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27-10
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0128
5765 ;RESULT IN C(AC) NONZERO
5766 033322 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
5767 STOP^
5768 033323 254 04 0 00 033324 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5769 033324 324 00 0 00 033325 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5770 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5771 ;IN THE SUBTEST) TO LOOP ON ERROR^
5772
5773 ;**********
5774
5775 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
5776 ;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
5777 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
5778 ;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
5779 ;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
5780 007334 SN=SN+1
5781 001000 000000 ZZ=ZZ+ZZ
5782 IFE ZZ,<ZZ=1>
5783 033325 200 00 0 00 070253 MOVE [0] ;CLEAR AC
5784 033326 430 00 0 00 070317 XOR [ZZ] ;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
5785 ;RESULT IN C(AC) NONZERO
5786 033327 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
5787 STOP^
5788 033330 254 04 0 00 033331 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5789 033331 324 00 0 00 033332 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5790 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5791 ;IN THE SUBTEST) TO LOOP ON ERROR^
5792
5793 ;**********
5794
5795 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
5796 ;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
5797 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
5798 ;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
5799 ;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
5800 007335 SN=SN+1
5801 002000 000000 ZZ=ZZ+ZZ
5802 IFE ZZ,<ZZ=1>
5803 033332 200 00 0 00 070253 MOVE [0] ;CLEAR AC
5804 033333 430 00 0 00 070320 XOR [ZZ] ;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
5805 ;RESULT IN C(AC) NONZERO
5806 033334 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
5807 STOP^
5808 033335 254 04 0 00 033336 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5809 033336 324 00 0 00 033337 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5810 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5811 ;IN THE SUBTEST) TO LOOP ON ERROR^
5812
5813 ;**********
5814
5815 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
5816 ;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
5817 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
5818 ;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
5819 ;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27-11
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0129
5820 007336 SN=SN+1
5821 004000 000000 ZZ=ZZ+ZZ
5822 IFE ZZ,<ZZ=1>
5823 033337 200 00 0 00 070253 MOVE [0] ;CLEAR AC
5824 033340 430 00 0 00 070321 XOR [ZZ] ;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
5825 ;RESULT IN C(AC) NONZERO
5826 033341 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
5827 STOP^
5828 033342 254 04 0 00 033343 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5829 033343 324 00 0 00 033344 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5830 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5831 ;IN THE SUBTEST) TO LOOP ON ERROR^
5832
5833 ;**********
5834
5835 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
5836 ;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
5837 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
5838 ;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
5839 ;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
5840 007337 SN=SN+1
5841 010000 000000 ZZ=ZZ+ZZ
5842 IFE ZZ,<ZZ=1>
5843 033344 200 00 0 00 070253 MOVE [0] ;CLEAR AC
5844 033345 430 00 0 00 070322 XOR [ZZ] ;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
5845 ;RESULT IN C(AC) NONZERO
5846 033346 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
5847 STOP^
5848 033347 254 04 0 00 033350 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5849 033350 324 00 0 00 033351 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5850 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5851 ;IN THE SUBTEST) TO LOOP ON ERROR^
5852
5853 ;**********
5854
5855 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
5856 ;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
5857 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
5858 ;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
5859 ;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
5860 007340 SN=SN+1
5861 020000 000000 ZZ=ZZ+ZZ
5862 IFE ZZ,<ZZ=1>
5863 033351 200 00 0 00 070253 MOVE [0] ;CLEAR AC
5864 033352 430 00 0 00 070323 XOR [ZZ] ;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
5865 ;RESULT IN C(AC) NONZERO
5866 033353 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
5867 STOP^
5868 033354 254 04 0 00 033355 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5869 033355 324 00 0 00 033356 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5870 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5871 ;IN THE SUBTEST) TO LOOP ON ERROR^
5872
5873 ;**********
5874
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27-12
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0130
5875 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
5876 ;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
5877 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
5878 ;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
5879 ;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
5880 007341 SN=SN+1
5881 040000 000000 ZZ=ZZ+ZZ
5882 IFE ZZ,<ZZ=1>
5883 033356 200 00 0 00 070253 MOVE [0] ;CLEAR AC
5884 033357 430 00 0 00 070324 XOR [ZZ] ;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
5885 ;RESULT IN C(AC) NONZERO
5886 033360 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
5887 STOP^
5888 033361 254 04 0 00 033362 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5889 033362 324 00 0 00 033363 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5890 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5891 ;IN THE SUBTEST) TO LOOP ON ERROR^
5892
5893 ;**********
5894
5895 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
5896 ;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
5897 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
5898 ;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
5899 ;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
5900 007342 SN=SN+1
5901 100000 000000 ZZ=ZZ+ZZ
5902 IFE ZZ,<ZZ=1>
5903 033363 200 00 0 00 070253 MOVE [0] ;CLEAR AC
5904 033364 430 00 0 00 070325 XOR [ZZ] ;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
5905 ;RESULT IN C(AC) NONZERO
5906 033365 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
5907 STOP^
5908 033366 254 04 0 00 033367 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5909 033367 324 00 0 00 033370 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5910 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5911 ;IN THE SUBTEST) TO LOOP ON ERROR^
5912
5913 ;**********
5914
5915 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
5916 ;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
5917 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
5918 ;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
5919 ;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
5920 007343 SN=SN+1
5921 200000 000000 ZZ=ZZ+ZZ
5922 IFE ZZ,<ZZ=1>
5923 033370 200 00 0 00 070253 MOVE [0] ;CLEAR AC
5924 033371 430 00 0 00 070326 XOR [ZZ] ;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
5925 ;RESULT IN C(AC) NONZERO
5926 033372 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
5927 STOP^
5928 033373 254 04 0 00 033374 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5929 033374 324 00 0 00 033375 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27-13
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0131
5930 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5931 ;IN THE SUBTEST) TO LOOP ON ERROR^
5932
5933 ;**********
5934
5935 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
5936 ;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
5937 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
5938 ;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
5939 ;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
5940 007344 SN=SN+1
5941 400000 000000 ZZ=ZZ+ZZ
5942 IFE ZZ,<ZZ=1>
5943 033375 200 00 0 00 070253 MOVE [0] ;CLEAR AC
5944 033376 430 00 0 00 070256 XOR [ZZ] ;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
5945 ;RESULT IN C(AC) NONZERO
5946 033377 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
5947 STOP^
5948 033400 254 04 0 00 033401 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5949 033401 324 00 0 00 033402 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5950 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5951 ;IN THE SUBTEST) TO LOOP ON ERROR^
5952
5953 ;**********
5954
5955 007400 SN=7400
5956 000000 ZZ=0
5957
5958 A7400: REPEAT ^D36,
5959 <;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
5960 ;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
5961 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
5962 ;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
5963 ;CONTAINING ALL ZEROS. THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
5964 SN=SN+1
5965 ZZ=ZZ+ZZ
5966 IFE ZZ,<ZZ=1>
5967 MOVE [ZZ] ;PRELOAD AC WITH ONE FLOATING BIT SET
5968 XOR [0] ;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
5969 ;RESULT IN C(AC) NON-ZERO
5970 SKIPN ;PASS TEST IF C(AC) NON-ZERO
5971 STOP
5972
5973 ;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
5974 ;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
5975 ;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
5976 ;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
5977
5978 ;**********
5979 >
5980 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
5981 ;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
5982 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
5983 ;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
5984 ;CONTAINING ALL ZEROS. THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27-14
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0132
5985 007401 SN=SN+1
5986 000000 ZZ=ZZ+ZZ
5987 000001 IFE ZZ,<ZZ=1>
5988 033402 200 00 0 00 070265 MOVE [ZZ] ;PRELOAD AC WITH ONE FLOATING BIT SET
5989 033403 430 00 0 00 070253 XOR [0] ;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
5990 ;RESULT IN C(AC) NON-ZERO
5991 033404 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
5992 STOP^
5993 033405 254 04 0 00 033406 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
5994 033406 324 00 0 00 033407 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
5995 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
5996 ;IN THE SUBTEST) TO LOOP ON ERROR^
5997
5998 ;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
5999 ;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
6000 ;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
6001 ;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
6002
6003 ;**********
6004
6005 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
6006 ;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
6007 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
6008 ;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
6009 ;CONTAINING ALL ZEROS. THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
6010 007402 SN=SN+1
6011 000002 ZZ=ZZ+ZZ
6012 IFE ZZ,<ZZ=1>
6013 033407 200 00 0 00 070266 MOVE [ZZ] ;PRELOAD AC WITH ONE FLOATING BIT SET
6014 033410 430 00 0 00 070253 XOR [0] ;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
6015 ;RESULT IN C(AC) NON-ZERO
6016 033411 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
6017 STOP^
6018 033412 254 04 0 00 033413 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6019 033413 324 00 0 00 033414 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6020 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6021 ;IN THE SUBTEST) TO LOOP ON ERROR^
6022
6023 ;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
6024 ;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
6025 ;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
6026 ;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
6027
6028 ;**********
6029
6030 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
6031 ;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
6032 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
6033 ;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
6034 ;CONTAINING ALL ZEROS. THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
6035 007403 SN=SN+1
6036 000004 ZZ=ZZ+ZZ
6037 IFE ZZ,<ZZ=1>
6038 033414 200 00 0 00 070267 MOVE [ZZ] ;PRELOAD AC WITH ONE FLOATING BIT SET
6039 033415 430 00 0 00 070253 XOR [0] ;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27-15
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0133
6040 ;RESULT IN C(AC) NON-ZERO
6041 033416 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
6042 STOP^
6043 033417 254 04 0 00 033420 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6044 033420 324 00 0 00 033421 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6045 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6046 ;IN THE SUBTEST) TO LOOP ON ERROR^
6047
6048 ;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
6049 ;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
6050 ;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
6051 ;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
6052
6053 ;**********
6054
6055 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
6056 ;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
6057 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
6058 ;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
6059 ;CONTAINING ALL ZEROS. THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
6060 007404 SN=SN+1
6061 000010 ZZ=ZZ+ZZ
6062 IFE ZZ,<ZZ=1>
6063 033421 200 00 0 00 070270 MOVE [ZZ] ;PRELOAD AC WITH ONE FLOATING BIT SET
6064 033422 430 00 0 00 070253 XOR [0] ;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
6065 ;RESULT IN C(AC) NON-ZERO
6066 033423 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
6067 STOP^
6068 033424 254 04 0 00 033425 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6069 033425 324 00 0 00 033426 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6070 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6071 ;IN THE SUBTEST) TO LOOP ON ERROR^
6072
6073 ;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
6074 ;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
6075 ;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
6076 ;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
6077
6078 ;**********
6079
6080 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
6081 ;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
6082 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
6083 ;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
6084 ;CONTAINING ALL ZEROS. THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
6085 007405 SN=SN+1
6086 000020 ZZ=ZZ+ZZ
6087 IFE ZZ,<ZZ=1>
6088 033426 200 00 0 00 070271 MOVE [ZZ] ;PRELOAD AC WITH ONE FLOATING BIT SET
6089 033427 430 00 0 00 070253 XOR [0] ;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
6090 ;RESULT IN C(AC) NON-ZERO
6091 033430 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
6092 STOP^
6093 033431 254 04 0 00 033432 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6094 033432 324 00 0 00 033433 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27-16
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0134
6095 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6096 ;IN THE SUBTEST) TO LOOP ON ERROR^
6097
6098 ;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
6099 ;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
6100 ;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
6101 ;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
6102
6103 ;**********
6104
6105 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
6106 ;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
6107 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
6108 ;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
6109 ;CONTAINING ALL ZEROS. THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
6110 007406 SN=SN+1
6111 000040 ZZ=ZZ+ZZ
6112 IFE ZZ,<ZZ=1>
6113 033433 200 00 0 00 070272 MOVE [ZZ] ;PRELOAD AC WITH ONE FLOATING BIT SET
6114 033434 430 00 0 00 070253 XOR [0] ;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
6115 ;RESULT IN C(AC) NON-ZERO
6116 033435 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
6117 STOP^
6118 033436 254 04 0 00 033437 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6119 033437 324 00 0 00 033440 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6120 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6121 ;IN THE SUBTEST) TO LOOP ON ERROR^
6122
6123 ;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
6124 ;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
6125 ;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
6126 ;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
6127
6128 ;**********
6129
6130 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
6131 ;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
6132 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
6133 ;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
6134 ;CONTAINING ALL ZEROS. THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
6135 007407 SN=SN+1
6136 000100 ZZ=ZZ+ZZ
6137 IFE ZZ,<ZZ=1>
6138 033440 200 00 0 00 070273 MOVE [ZZ] ;PRELOAD AC WITH ONE FLOATING BIT SET
6139 033441 430 00 0 00 070253 XOR [0] ;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
6140 ;RESULT IN C(AC) NON-ZERO
6141 033442 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
6142 STOP^
6143 033443 254 04 0 00 033444 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6144 033444 324 00 0 00 033445 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6145 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6146 ;IN THE SUBTEST) TO LOOP ON ERROR^
6147
6148 ;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
6149 ;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27-17
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0135
6150 ;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
6151 ;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
6152
6153 ;**********
6154
6155 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
6156 ;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
6157 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
6158 ;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
6159 ;CONTAINING ALL ZEROS. THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
6160 007410 SN=SN+1
6161 000200 ZZ=ZZ+ZZ
6162 IFE ZZ,<ZZ=1>
6163 033445 200 00 0 00 070274 MOVE [ZZ] ;PRELOAD AC WITH ONE FLOATING BIT SET
6164 033446 430 00 0 00 070253 XOR [0] ;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
6165 ;RESULT IN C(AC) NON-ZERO
6166 033447 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
6167 STOP^
6168 033450 254 04 0 00 033451 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6169 033451 324 00 0 00 033452 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6170 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6171 ;IN THE SUBTEST) TO LOOP ON ERROR^
6172
6173 ;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
6174 ;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
6175 ;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
6176 ;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
6177
6178 ;**********
6179
6180 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
6181 ;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
6182 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
6183 ;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
6184 ;CONTAINING ALL ZEROS. THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
6185 007411 SN=SN+1
6186 000400 ZZ=ZZ+ZZ
6187 IFE ZZ,<ZZ=1>
6188 033452 200 00 0 00 070275 MOVE [ZZ] ;PRELOAD AC WITH ONE FLOATING BIT SET
6189 033453 430 00 0 00 070253 XOR [0] ;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
6190 ;RESULT IN C(AC) NON-ZERO
6191 033454 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
6192 STOP^
6193 033455 254 04 0 00 033456 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6194 033456 324 00 0 00 033457 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6195 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6196 ;IN THE SUBTEST) TO LOOP ON ERROR^
6197
6198 ;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
6199 ;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
6200 ;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
6201 ;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
6202
6203 ;**********
6204
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27-18
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0136
6205 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
6206 ;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
6207 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
6208 ;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
6209 ;CONTAINING ALL ZEROS. THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
6210 007412 SN=SN+1
6211 001000 ZZ=ZZ+ZZ
6212 IFE ZZ,<ZZ=1>
6213 033457 200 00 0 00 070276 MOVE [ZZ] ;PRELOAD AC WITH ONE FLOATING BIT SET
6214 033460 430 00 0 00 070253 XOR [0] ;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
6215 ;RESULT IN C(AC) NON-ZERO
6216 033461 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
6217 STOP^
6218 033462 254 04 0 00 033463 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6219 033463 324 00 0 00 033464 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6220 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6221 ;IN THE SUBTEST) TO LOOP ON ERROR^
6222
6223 ;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
6224 ;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
6225 ;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
6226 ;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
6227
6228 ;**********
6229
6230 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
6231 ;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
6232 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
6233 ;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
6234 ;CONTAINING ALL ZEROS. THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
6235 007413 SN=SN+1
6236 002000 ZZ=ZZ+ZZ
6237 IFE ZZ,<ZZ=1>
6238 033464 200 00 0 00 070277 MOVE [ZZ] ;PRELOAD AC WITH ONE FLOATING BIT SET
6239 033465 430 00 0 00 070253 XOR [0] ;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
6240 ;RESULT IN C(AC) NON-ZERO
6241 033466 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
6242 STOP^
6243 033467 254 04 0 00 033470 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6244 033470 324 00 0 00 033471 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6245 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6246 ;IN THE SUBTEST) TO LOOP ON ERROR^
6247
6248 ;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
6249 ;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
6250 ;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
6251 ;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
6252
6253 ;**********
6254
6255 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
6256 ;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
6257 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
6258 ;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
6259 ;CONTAINING ALL ZEROS. THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27-19
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0137
6260 007414 SN=SN+1
6261 004000 ZZ=ZZ+ZZ
6262 IFE ZZ,<ZZ=1>
6263 033471 200 00 0 00 070300 MOVE [ZZ] ;PRELOAD AC WITH ONE FLOATING BIT SET
6264 033472 430 00 0 00 070253 XOR [0] ;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
6265 ;RESULT IN C(AC) NON-ZERO
6266 033473 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
6267 STOP^
6268 033474 254 04 0 00 033475 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6269 033475 324 00 0 00 033476 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6270 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6271 ;IN THE SUBTEST) TO LOOP ON ERROR^
6272
6273 ;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
6274 ;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
6275 ;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
6276 ;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
6277
6278 ;**********
6279
6280 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
6281 ;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
6282 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
6283 ;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
6284 ;CONTAINING ALL ZEROS. THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
6285 007415 SN=SN+1
6286 010000 ZZ=ZZ+ZZ
6287 IFE ZZ,<ZZ=1>
6288 033476 200 00 0 00 070301 MOVE [ZZ] ;PRELOAD AC WITH ONE FLOATING BIT SET
6289 033477 430 00 0 00 070253 XOR [0] ;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
6290 ;RESULT IN C(AC) NON-ZERO
6291 033500 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
6292 STOP^
6293 033501 254 04 0 00 033502 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6294 033502 324 00 0 00 033503 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6295 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6296 ;IN THE SUBTEST) TO LOOP ON ERROR^
6297
6298 ;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
6299 ;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
6300 ;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
6301 ;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
6302
6303 ;**********
6304
6305 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
6306 ;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
6307 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
6308 ;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
6309 ;CONTAINING ALL ZEROS. THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
6310 007416 SN=SN+1
6311 020000 ZZ=ZZ+ZZ
6312 IFE ZZ,<ZZ=1>
6313 033503 200 00 0 00 070302 MOVE [ZZ] ;PRELOAD AC WITH ONE FLOATING BIT SET
6314 033504 430 00 0 00 070253 XOR [0] ;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27-20
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0138
6315 ;RESULT IN C(AC) NON-ZERO
6316 033505 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
6317 STOP^
6318 033506 254 04 0 00 033507 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6319 033507 324 00 0 00 033510 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6320 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6321 ;IN THE SUBTEST) TO LOOP ON ERROR^
6322
6323 ;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
6324 ;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
6325 ;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
6326 ;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
6327
6328 ;**********
6329
6330 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
6331 ;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
6332 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
6333 ;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
6334 ;CONTAINING ALL ZEROS. THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
6335 007417 SN=SN+1
6336 040000 ZZ=ZZ+ZZ
6337 IFE ZZ,<ZZ=1>
6338 033510 200 00 0 00 070303 MOVE [ZZ] ;PRELOAD AC WITH ONE FLOATING BIT SET
6339 033511 430 00 0 00 070253 XOR [0] ;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
6340 ;RESULT IN C(AC) NON-ZERO
6341 033512 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
6342 STOP^
6343 033513 254 04 0 00 033514 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6344 033514 324 00 0 00 033515 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6345 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6346 ;IN THE SUBTEST) TO LOOP ON ERROR^
6347
6348 ;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
6349 ;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
6350 ;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
6351 ;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
6352
6353 ;**********
6354
6355 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
6356 ;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
6357 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
6358 ;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
6359 ;CONTAINING ALL ZEROS. THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
6360 007420 SN=SN+1
6361 100000 ZZ=ZZ+ZZ
6362 IFE ZZ,<ZZ=1>
6363 033515 200 00 0 00 070304 MOVE [ZZ] ;PRELOAD AC WITH ONE FLOATING BIT SET
6364 033516 430 00 0 00 070253 XOR [0] ;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
6365 ;RESULT IN C(AC) NON-ZERO
6366 033517 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
6367 STOP^
6368 033520 254 04 0 00 033521 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6369 033521 324 00 0 00 033522 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27-21
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0139
6370 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6371 ;IN THE SUBTEST) TO LOOP ON ERROR^
6372
6373 ;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
6374 ;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
6375 ;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
6376 ;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
6377
6378 ;**********
6379
6380 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
6381 ;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
6382 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
6383 ;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
6384 ;CONTAINING ALL ZEROS. THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
6385 007421 SN=SN+1
6386 200000 ZZ=ZZ+ZZ
6387 IFE ZZ,<ZZ=1>
6388 033522 200 00 0 00 070305 MOVE [ZZ] ;PRELOAD AC WITH ONE FLOATING BIT SET
6389 033523 430 00 0 00 070253 XOR [0] ;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
6390 ;RESULT IN C(AC) NON-ZERO
6391 033524 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
6392 STOP^
6393 033525 254 04 0 00 033526 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6394 033526 324 00 0 00 033527 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6395 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6396 ;IN THE SUBTEST) TO LOOP ON ERROR^
6397
6398 ;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
6399 ;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
6400 ;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
6401 ;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
6402
6403 ;**********
6404
6405 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
6406 ;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
6407 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
6408 ;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
6409 ;CONTAINING ALL ZEROS. THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
6410 007422 SN=SN+1
6411 400000 ZZ=ZZ+ZZ
6412 IFE ZZ,<ZZ=1>
6413 033527 200 00 0 00 070306 MOVE [ZZ] ;PRELOAD AC WITH ONE FLOATING BIT SET
6414 033530 430 00 0 00 070253 XOR [0] ;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
6415 ;RESULT IN C(AC) NON-ZERO
6416 033531 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
6417 STOP^
6418 033532 254 04 0 00 033533 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6419 033533 324 00 0 00 033534 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6420 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6421 ;IN THE SUBTEST) TO LOOP ON ERROR^
6422
6423 ;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
6424 ;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27-22
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0140
6425 ;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
6426 ;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
6427
6428 ;**********
6429
6430 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
6431 ;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
6432 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
6433 ;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
6434 ;CONTAINING ALL ZEROS. THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
6435 007423 SN=SN+1
6436 000001 000000 ZZ=ZZ+ZZ
6437 IFE ZZ,<ZZ=1>
6438 033534 200 00 0 00 070307 MOVE [ZZ] ;PRELOAD AC WITH ONE FLOATING BIT SET
6439 033535 430 00 0 00 070253 XOR [0] ;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
6440 ;RESULT IN C(AC) NON-ZERO
6441 033536 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
6442 STOP^
6443 033537 254 04 0 00 033540 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6444 033540 324 00 0 00 033541 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6445 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6446 ;IN THE SUBTEST) TO LOOP ON ERROR^
6447
6448 ;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
6449 ;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
6450 ;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
6451 ;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
6452
6453 ;**********
6454
6455 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
6456 ;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
6457 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
6458 ;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
6459 ;CONTAINING ALL ZEROS. THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
6460 007424 SN=SN+1
6461 000002 000000 ZZ=ZZ+ZZ
6462 IFE ZZ,<ZZ=1>
6463 033541 200 00 0 00 070310 MOVE [ZZ] ;PRELOAD AC WITH ONE FLOATING BIT SET
6464 033542 430 00 0 00 070253 XOR [0] ;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
6465 ;RESULT IN C(AC) NON-ZERO
6466 033543 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
6467 STOP^
6468 033544 254 04 0 00 033545 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6469 033545 324 00 0 00 033546 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6470 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6471 ;IN THE SUBTEST) TO LOOP ON ERROR^
6472
6473 ;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
6474 ;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
6475 ;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
6476 ;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
6477
6478 ;**********
6479
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27-23
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0141
6480 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
6481 ;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
6482 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
6483 ;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
6484 ;CONTAINING ALL ZEROS. THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
6485 007425 SN=SN+1
6486 000004 000000 ZZ=ZZ+ZZ
6487 IFE ZZ,<ZZ=1>
6488 033546 200 00 0 00 070311 MOVE [ZZ] ;PRELOAD AC WITH ONE FLOATING BIT SET
6489 033547 430 00 0 00 070253 XOR [0] ;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
6490 ;RESULT IN C(AC) NON-ZERO
6491 033550 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
6492 STOP^
6493 033551 254 04 0 00 033552 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6494 033552 324 00 0 00 033553 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6495 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6496 ;IN THE SUBTEST) TO LOOP ON ERROR^
6497
6498 ;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
6499 ;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
6500 ;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
6501 ;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
6502
6503 ;**********
6504
6505 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
6506 ;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
6507 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
6508 ;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
6509 ;CONTAINING ALL ZEROS. THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
6510 007426 SN=SN+1
6511 000010 000000 ZZ=ZZ+ZZ
6512 IFE ZZ,<ZZ=1>
6513 033553 200 00 0 00 070312 MOVE [ZZ] ;PRELOAD AC WITH ONE FLOATING BIT SET
6514 033554 430 00 0 00 070253 XOR [0] ;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
6515 ;RESULT IN C(AC) NON-ZERO
6516 033555 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
6517 STOP^
6518 033556 254 04 0 00 033557 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6519 033557 324 00 0 00 033560 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6520 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6521 ;IN THE SUBTEST) TO LOOP ON ERROR^
6522
6523 ;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
6524 ;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
6525 ;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
6526 ;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
6527
6528 ;**********
6529
6530 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
6531 ;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
6532 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
6533 ;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
6534 ;CONTAINING ALL ZEROS. THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27-24
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0142
6535 007427 SN=SN+1
6536 000020 000000 ZZ=ZZ+ZZ
6537 IFE ZZ,<ZZ=1>
6538 033560 200 00 0 00 070313 MOVE [ZZ] ;PRELOAD AC WITH ONE FLOATING BIT SET
6539 033561 430 00 0 00 070253 XOR [0] ;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
6540 ;RESULT IN C(AC) NON-ZERO
6541 033562 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
6542 STOP^
6543 033563 254 04 0 00 033564 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6544 033564 324 00 0 00 033565 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6545 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6546 ;IN THE SUBTEST) TO LOOP ON ERROR^
6547
6548 ;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
6549 ;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
6550 ;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
6551 ;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
6552
6553 ;**********
6554
6555 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
6556 ;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
6557 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
6558 ;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
6559 ;CONTAINING ALL ZEROS. THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
6560 007430 SN=SN+1
6561 000040 000000 ZZ=ZZ+ZZ
6562 IFE ZZ,<ZZ=1>
6563 033565 200 00 0 00 070314 MOVE [ZZ] ;PRELOAD AC WITH ONE FLOATING BIT SET
6564 033566 430 00 0 00 070253 XOR [0] ;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
6565 ;RESULT IN C(AC) NON-ZERO
6566 033567 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
6567 STOP^
6568 033570 254 04 0 00 033571 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6569 033571 324 00 0 00 033572 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6570 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6571 ;IN THE SUBTEST) TO LOOP ON ERROR^
6572
6573 ;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
6574 ;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
6575 ;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
6576 ;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
6577
6578 ;**********
6579
6580 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
6581 ;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
6582 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
6583 ;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
6584 ;CONTAINING ALL ZEROS. THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
6585 007431 SN=SN+1
6586 000100 000000 ZZ=ZZ+ZZ
6587 IFE ZZ,<ZZ=1>
6588 033572 200 00 0 00 070315 MOVE [ZZ] ;PRELOAD AC WITH ONE FLOATING BIT SET
6589 033573 430 00 0 00 070253 XOR [0] ;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27-25
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0143
6590 ;RESULT IN C(AC) NON-ZERO
6591 033574 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
6592 STOP^
6593 033575 254 04 0 00 033576 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6594 033576 324 00 0 00 033577 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6595 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6596 ;IN THE SUBTEST) TO LOOP ON ERROR^
6597
6598 ;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
6599 ;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
6600 ;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
6601 ;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
6602
6603 ;**********
6604
6605 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
6606 ;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
6607 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
6608 ;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
6609 ;CONTAINING ALL ZEROS. THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
6610 007432 SN=SN+1
6611 000200 000000 ZZ=ZZ+ZZ
6612 IFE ZZ,<ZZ=1>
6613 033577 200 00 0 00 070316 MOVE [ZZ] ;PRELOAD AC WITH ONE FLOATING BIT SET
6614 033600 430 00 0 00 070253 XOR [0] ;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
6615 ;RESULT IN C(AC) NON-ZERO
6616 033601 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
6617 STOP^
6618 033602 254 04 0 00 033603 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6619 033603 324 00 0 00 033604 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6620 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6621 ;IN THE SUBTEST) TO LOOP ON ERROR^
6622
6623 ;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
6624 ;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
6625 ;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
6626 ;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
6627
6628 ;**********
6629
6630 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
6631 ;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
6632 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
6633 ;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
6634 ;CONTAINING ALL ZEROS. THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
6635 007433 SN=SN+1
6636 000400 000000 ZZ=ZZ+ZZ
6637 IFE ZZ,<ZZ=1>
6638 033604 200 00 0 00 070264 MOVE [ZZ] ;PRELOAD AC WITH ONE FLOATING BIT SET
6639 033605 430 00 0 00 070253 XOR [0] ;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
6640 ;RESULT IN C(AC) NON-ZERO
6641 033606 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
6642 STOP^
6643 033607 254 04 0 00 033610 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6644 033610 324 00 0 00 033611 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27-26
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0144
6645 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6646 ;IN THE SUBTEST) TO LOOP ON ERROR^
6647
6648 ;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
6649 ;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
6650 ;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
6651 ;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
6652
6653 ;**********
6654
6655 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
6656 ;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
6657 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
6658 ;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
6659 ;CONTAINING ALL ZEROS. THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
6660 007434 SN=SN+1
6661 001000 000000 ZZ=ZZ+ZZ
6662 IFE ZZ,<ZZ=1>
6663 033611 200 00 0 00 070317 MOVE [ZZ] ;PRELOAD AC WITH ONE FLOATING BIT SET
6664 033612 430 00 0 00 070253 XOR [0] ;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
6665 ;RESULT IN C(AC) NON-ZERO
6666 033613 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
6667 STOP^
6668 033614 254 04 0 00 033615 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6669 033615 324 00 0 00 033616 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6670 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6671 ;IN THE SUBTEST) TO LOOP ON ERROR^
6672
6673 ;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
6674 ;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
6675 ;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
6676 ;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
6677
6678 ;**********
6679
6680 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
6681 ;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
6682 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
6683 ;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
6684 ;CONTAINING ALL ZEROS. THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
6685 007435 SN=SN+1
6686 002000 000000 ZZ=ZZ+ZZ
6687 IFE ZZ,<ZZ=1>
6688 033616 200 00 0 00 070320 MOVE [ZZ] ;PRELOAD AC WITH ONE FLOATING BIT SET
6689 033617 430 00 0 00 070253 XOR [0] ;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
6690 ;RESULT IN C(AC) NON-ZERO
6691 033620 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
6692 STOP^
6693 033621 254 04 0 00 033622 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6694 033622 324 00 0 00 033623 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6695 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6696 ;IN THE SUBTEST) TO LOOP ON ERROR^
6697
6698 ;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
6699 ;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27-27
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0145
6700 ;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
6701 ;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
6702
6703 ;**********
6704
6705 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
6706 ;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
6707 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
6708 ;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
6709 ;CONTAINING ALL ZEROS. THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
6710 007436 SN=SN+1
6711 004000 000000 ZZ=ZZ+ZZ
6712 IFE ZZ,<ZZ=1>
6713 033623 200 00 0 00 070321 MOVE [ZZ] ;PRELOAD AC WITH ONE FLOATING BIT SET
6714 033624 430 00 0 00 070253 XOR [0] ;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
6715 ;RESULT IN C(AC) NON-ZERO
6716 033625 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
6717 STOP^
6718 033626 254 04 0 00 033627 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6719 033627 324 00 0 00 033630 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6720 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6721 ;IN THE SUBTEST) TO LOOP ON ERROR^
6722
6723 ;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
6724 ;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
6725 ;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
6726 ;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
6727
6728 ;**********
6729
6730 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
6731 ;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
6732 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
6733 ;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
6734 ;CONTAINING ALL ZEROS. THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
6735 007437 SN=SN+1
6736 010000 000000 ZZ=ZZ+ZZ
6737 IFE ZZ,<ZZ=1>
6738 033630 200 00 0 00 070322 MOVE [ZZ] ;PRELOAD AC WITH ONE FLOATING BIT SET
6739 033631 430 00 0 00 070253 XOR [0] ;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
6740 ;RESULT IN C(AC) NON-ZERO
6741 033632 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
6742 STOP^
6743 033633 254 04 0 00 033634 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6744 033634 324 00 0 00 033635 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6745 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6746 ;IN THE SUBTEST) TO LOOP ON ERROR^
6747
6748 ;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
6749 ;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
6750 ;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
6751 ;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
6752
6753 ;**********
6754
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27-28
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0146
6755 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
6756 ;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
6757 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
6758 ;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
6759 ;CONTAINING ALL ZEROS. THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
6760 007440 SN=SN+1
6761 020000 000000 ZZ=ZZ+ZZ
6762 IFE ZZ,<ZZ=1>
6763 033635 200 00 0 00 070323 MOVE [ZZ] ;PRELOAD AC WITH ONE FLOATING BIT SET
6764 033636 430 00 0 00 070253 XOR [0] ;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
6765 ;RESULT IN C(AC) NON-ZERO
6766 033637 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
6767 STOP^
6768 033640 254 04 0 00 033641 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6769 033641 324 00 0 00 033642 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6770 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6771 ;IN THE SUBTEST) TO LOOP ON ERROR^
6772
6773 ;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
6774 ;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
6775 ;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
6776 ;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
6777
6778 ;**********
6779
6780 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
6781 ;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
6782 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
6783 ;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
6784 ;CONTAINING ALL ZEROS. THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
6785 007441 SN=SN+1
6786 040000 000000 ZZ=ZZ+ZZ
6787 IFE ZZ,<ZZ=1>
6788 033642 200 00 0 00 070324 MOVE [ZZ] ;PRELOAD AC WITH ONE FLOATING BIT SET
6789 033643 430 00 0 00 070253 XOR [0] ;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
6790 ;RESULT IN C(AC) NON-ZERO
6791 033644 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
6792 STOP^
6793 033645 254 04 0 00 033646 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6794 033646 324 00 0 00 033647 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6795 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6796 ;IN THE SUBTEST) TO LOOP ON ERROR^
6797
6798 ;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
6799 ;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
6800 ;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
6801 ;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
6802
6803 ;**********
6804
6805 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
6806 ;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
6807 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
6808 ;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
6809 ;CONTAINING ALL ZEROS. THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27-29
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0147
6810 007442 SN=SN+1
6811 100000 000000 ZZ=ZZ+ZZ
6812 IFE ZZ,<ZZ=1>
6813 033647 200 00 0 00 070325 MOVE [ZZ] ;PRELOAD AC WITH ONE FLOATING BIT SET
6814 033650 430 00 0 00 070253 XOR [0] ;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
6815 ;RESULT IN C(AC) NON-ZERO
6816 033651 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
6817 STOP^
6818 033652 254 04 0 00 033653 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6819 033653 324 00 0 00 033654 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6820 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6821 ;IN THE SUBTEST) TO LOOP ON ERROR^
6822
6823 ;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
6824 ;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
6825 ;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
6826 ;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
6827
6828 ;**********
6829
6830 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
6831 ;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
6832 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
6833 ;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
6834 ;CONTAINING ALL ZEROS. THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
6835 007443 SN=SN+1
6836 200000 000000 ZZ=ZZ+ZZ
6837 IFE ZZ,<ZZ=1>
6838 033654 200 00 0 00 070326 MOVE [ZZ] ;PRELOAD AC WITH ONE FLOATING BIT SET
6839 033655 430 00 0 00 070253 XOR [0] ;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
6840 ;RESULT IN C(AC) NON-ZERO
6841 033656 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
6842 STOP^
6843 033657 254 04 0 00 033660 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6844 033660 324 00 0 00 033661 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6845 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6846 ;IN THE SUBTEST) TO LOOP ON ERROR^
6847
6848 ;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
6849 ;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
6850 ;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
6851 ;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
6852
6853 ;**********
6854
6855 ;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
6856 ;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
6857 ;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
6858 ;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
6859 ;CONTAINING ALL ZEROS. THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
6860 007444 SN=SN+1
6861 400000 000000 ZZ=ZZ+ZZ
6862 IFE ZZ,<ZZ=1>
6863 033661 200 00 0 00 070256 MOVE [ZZ] ;PRELOAD AC WITH ONE FLOATING BIT SET
6864 033662 430 00 0 00 070253 XOR [0] ;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27-30
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0148
6865 ;RESULT IN C(AC) NON-ZERO
6866 033663 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
6867 STOP^
6868 033664 254 04 0 00 033665 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6869 033665 324 00 0 00 033666 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6870 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6871 ;IN THE SUBTEST) TO LOOP ON ERROR^
6872
6873 ;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
6874 ;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
6875 ;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
6876 ;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
6877
6878 ;**********
6879
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 28
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0149
6880 007500 SN=7500
6881 000000 ZZ=0
6882
6883 A7500: REPEAT ^D36,
6884 <;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
6885 ;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS. FIRST,
6886 ;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
6887 ;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
6888 ;NUMBER. THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS. THIS TEST
6889 ;IS REPEATED 36 TIMES. IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
6890 ;INDICATE AN ILLEGAL CARRY GENERATION.
6891 SN=SN+1
6892 ZZ=ZZ+ZZ
6893 IFE ZZ,<ZZ=1>
6894 MOVE [ZZ] ;INITIALIZE AC WITH ONE FLOATING BIT SET
6895 XOR [ZZ] ;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
6896 SKIPE ;PASS TEST IF C(AC)=0
6897 STOP
6898
6899 ;**********
6900 >
6901 ;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
6902 ;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS. FIRST,
6903 ;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
6904 ;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
6905 ;NUMBER. THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS. THIS TEST
6906 ;IS REPEATED 36 TIMES. IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
6907 ;INDICATE AN ILLEGAL CARRY GENERATION.
6908 007501 SN=SN+1
6909 000000 ZZ=ZZ+ZZ
6910 000001 IFE ZZ,<ZZ=1>
6911 033666 200 00 0 00 070265 MOVE [ZZ] ;INITIALIZE AC WITH ONE FLOATING BIT SET
6912 033667 430 00 0 00 070265 XOR [ZZ] ;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
6913 033670 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
6914 STOP^
6915 033671 254 04 0 00 033672 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6916 033672 324 00 0 00 033673 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6917 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6918 ;IN THE SUBTEST) TO LOOP ON ERROR^
6919
6920 ;**********
6921
6922 ;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
6923 ;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS. FIRST,
6924 ;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
6925 ;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
6926 ;NUMBER. THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS. THIS TEST
6927 ;IS REPEATED 36 TIMES. IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
6928 ;INDICATE AN ILLEGAL CARRY GENERATION.
6929 007502 SN=SN+1
6930 000002 ZZ=ZZ+ZZ
6931 IFE ZZ,<ZZ=1>
6932 033673 200 00 0 00 070266 MOVE [ZZ] ;INITIALIZE AC WITH ONE FLOATING BIT SET
6933 033674 430 00 0 00 070266 XOR [ZZ] ;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
6934 033675 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 28-1
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0150
6935 STOP^
6936 033676 254 04 0 00 033677 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6937 033677 324 00 0 00 033700 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6938 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6939 ;IN THE SUBTEST) TO LOOP ON ERROR^
6940
6941 ;**********
6942
6943 ;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
6944 ;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS. FIRST,
6945 ;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
6946 ;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
6947 ;NUMBER. THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS. THIS TEST
6948 ;IS REPEATED 36 TIMES. IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
6949 ;INDICATE AN ILLEGAL CARRY GENERATION.
6950 007503 SN=SN+1
6951 000004 ZZ=ZZ+ZZ
6952 IFE ZZ,<ZZ=1>
6953 033700 200 00 0 00 070267 MOVE [ZZ] ;INITIALIZE AC WITH ONE FLOATING BIT SET
6954 033701 430 00 0 00 070267 XOR [ZZ] ;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
6955 033702 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
6956 STOP^
6957 033703 254 04 0 00 033704 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6958 033704 324 00 0 00 033705 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6959 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6960 ;IN THE SUBTEST) TO LOOP ON ERROR^
6961
6962 ;**********
6963
6964 ;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
6965 ;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS. FIRST,
6966 ;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
6967 ;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
6968 ;NUMBER. THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS. THIS TEST
6969 ;IS REPEATED 36 TIMES. IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
6970 ;INDICATE AN ILLEGAL CARRY GENERATION.
6971 007504 SN=SN+1
6972 000010 ZZ=ZZ+ZZ
6973 IFE ZZ,<ZZ=1>
6974 033705 200 00 0 00 070270 MOVE [ZZ] ;INITIALIZE AC WITH ONE FLOATING BIT SET
6975 033706 430 00 0 00 070270 XOR [ZZ] ;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
6976 033707 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
6977 STOP^
6978 033710 254 04 0 00 033711 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
6979 033711 324 00 0 00 033712 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
6980 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
6981 ;IN THE SUBTEST) TO LOOP ON ERROR^
6982
6983 ;**********
6984
6985 ;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
6986 ;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS. FIRST,
6987 ;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
6988 ;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
6989 ;NUMBER. THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS. THIS TEST
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 28-2
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0151
6990 ;IS REPEATED 36 TIMES. IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
6991 ;INDICATE AN ILLEGAL CARRY GENERATION.
6992 007505 SN=SN+1
6993 000020 ZZ=ZZ+ZZ
6994 IFE ZZ,<ZZ=1>
6995 033712 200 00 0 00 070271 MOVE [ZZ] ;INITIALIZE AC WITH ONE FLOATING BIT SET
6996 033713 430 00 0 00 070271 XOR [ZZ] ;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
6997 033714 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
6998 STOP^
6999 033715 254 04 0 00 033716 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7000 033716 324 00 0 00 033717 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7001 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7002 ;IN THE SUBTEST) TO LOOP ON ERROR^
7003
7004 ;**********
7005
7006 ;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
7007 ;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS. FIRST,
7008 ;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
7009 ;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
7010 ;NUMBER. THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS. THIS TEST
7011 ;IS REPEATED 36 TIMES. IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
7012 ;INDICATE AN ILLEGAL CARRY GENERATION.
7013 007506 SN=SN+1
7014 000040 ZZ=ZZ+ZZ
7015 IFE ZZ,<ZZ=1>
7016 033717 200 00 0 00 070272 MOVE [ZZ] ;INITIALIZE AC WITH ONE FLOATING BIT SET
7017 033720 430 00 0 00 070272 XOR [ZZ] ;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
7018 033721 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
7019 STOP^
7020 033722 254 04 0 00 033723 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7021 033723 324 00 0 00 033724 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7022 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7023 ;IN THE SUBTEST) TO LOOP ON ERROR^
7024
7025 ;**********
7026
7027 ;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
7028 ;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS. FIRST,
7029 ;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
7030 ;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
7031 ;NUMBER. THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS. THIS TEST
7032 ;IS REPEATED 36 TIMES. IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
7033 ;INDICATE AN ILLEGAL CARRY GENERATION.
7034 007507 SN=SN+1
7035 000100 ZZ=ZZ+ZZ
7036 IFE ZZ,<ZZ=1>
7037 033724 200 00 0 00 070273 MOVE [ZZ] ;INITIALIZE AC WITH ONE FLOATING BIT SET
7038 033725 430 00 0 00 070273 XOR [ZZ] ;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
7039 033726 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
7040 STOP^
7041 033727 254 04 0 00 033730 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7042 033730 324 00 0 00 033731 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7043 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7044 ;IN THE SUBTEST) TO LOOP ON ERROR^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 28-3
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0152
7045
7046 ;**********
7047
7048 ;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
7049 ;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS. FIRST,
7050 ;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
7051 ;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
7052 ;NUMBER. THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS. THIS TEST
7053 ;IS REPEATED 36 TIMES. IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
7054 ;INDICATE AN ILLEGAL CARRY GENERATION.
7055 007510 SN=SN+1
7056 000200 ZZ=ZZ+ZZ
7057 IFE ZZ,<ZZ=1>
7058 033731 200 00 0 00 070274 MOVE [ZZ] ;INITIALIZE AC WITH ONE FLOATING BIT SET
7059 033732 430 00 0 00 070274 XOR [ZZ] ;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
7060 033733 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
7061 STOP^
7062 033734 254 04 0 00 033735 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7063 033735 324 00 0 00 033736 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7064 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7065 ;IN THE SUBTEST) TO LOOP ON ERROR^
7066
7067 ;**********
7068
7069 ;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
7070 ;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS. FIRST,
7071 ;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
7072 ;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
7073 ;NUMBER. THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS. THIS TEST
7074 ;IS REPEATED 36 TIMES. IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
7075 ;INDICATE AN ILLEGAL CARRY GENERATION.
7076 007511 SN=SN+1
7077 000400 ZZ=ZZ+ZZ
7078 IFE ZZ,<ZZ=1>
7079 033736 200 00 0 00 070275 MOVE [ZZ] ;INITIALIZE AC WITH ONE FLOATING BIT SET
7080 033737 430 00 0 00 070275 XOR [ZZ] ;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
7081 033740 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
7082 STOP^
7083 033741 254 04 0 00 033742 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7084 033742 324 00 0 00 033743 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7085 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7086 ;IN THE SUBTEST) TO LOOP ON ERROR^
7087
7088 ;**********
7089
7090 ;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
7091 ;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS. FIRST,
7092 ;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
7093 ;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
7094 ;NUMBER. THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS. THIS TEST
7095 ;IS REPEATED 36 TIMES. IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
7096 ;INDICATE AN ILLEGAL CARRY GENERATION.
7097 007512 SN=SN+1
7098 001000 ZZ=ZZ+ZZ
7099 IFE ZZ,<ZZ=1>
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 28-4
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0153
7100 033743 200 00 0 00 070276 MOVE [ZZ] ;INITIALIZE AC WITH ONE FLOATING BIT SET
7101 033744 430 00 0 00 070276 XOR [ZZ] ;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
7102 033745 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
7103 STOP^
7104 033746 254 04 0 00 033747 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7105 033747 324 00 0 00 033750 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7106 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7107 ;IN THE SUBTEST) TO LOOP ON ERROR^
7108
7109 ;**********
7110
7111 ;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
7112 ;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS. FIRST,
7113 ;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
7114 ;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
7115 ;NUMBER. THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS. THIS TEST
7116 ;IS REPEATED 36 TIMES. IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
7117 ;INDICATE AN ILLEGAL CARRY GENERATION.
7118 007513 SN=SN+1
7119 002000 ZZ=ZZ+ZZ
7120 IFE ZZ,<ZZ=1>
7121 033750 200 00 0 00 070277 MOVE [ZZ] ;INITIALIZE AC WITH ONE FLOATING BIT SET
7122 033751 430 00 0 00 070277 XOR [ZZ] ;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
7123 033752 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
7124 STOP^
7125 033753 254 04 0 00 033754 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7126 033754 324 00 0 00 033755 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7127 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7128 ;IN THE SUBTEST) TO LOOP ON ERROR^
7129
7130 ;**********
7131
7132 ;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
7133 ;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS. FIRST,
7134 ;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
7135 ;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
7136 ;NUMBER. THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS. THIS TEST
7137 ;IS REPEATED 36 TIMES. IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
7138 ;INDICATE AN ILLEGAL CARRY GENERATION.
7139 007514 SN=SN+1
7140 004000 ZZ=ZZ+ZZ
7141 IFE ZZ,<ZZ=1>
7142 033755 200 00 0 00 070300 MOVE [ZZ] ;INITIALIZE AC WITH ONE FLOATING BIT SET
7143 033756 430 00 0 00 070300 XOR [ZZ] ;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
7144 033757 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
7145 STOP^
7146 033760 254 04 0 00 033761 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7147 033761 324 00 0 00 033762 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7148 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7149 ;IN THE SUBTEST) TO LOOP ON ERROR^
7150
7151 ;**********
7152
7153 ;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
7154 ;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS. FIRST,
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 28-5
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0154
7155 ;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
7156 ;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
7157 ;NUMBER. THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS. THIS TEST
7158 ;IS REPEATED 36 TIMES. IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
7159 ;INDICATE AN ILLEGAL CARRY GENERATION.
7160 007515 SN=SN+1
7161 010000 ZZ=ZZ+ZZ
7162 IFE ZZ,<ZZ=1>
7163 033762 200 00 0 00 070301 MOVE [ZZ] ;INITIALIZE AC WITH ONE FLOATING BIT SET
7164 033763 430 00 0 00 070301 XOR [ZZ] ;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
7165 033764 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
7166 STOP^
7167 033765 254 04 0 00 033766 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7168 033766 324 00 0 00 033767 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7169 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7170 ;IN THE SUBTEST) TO LOOP ON ERROR^
7171
7172 ;**********
7173
7174 ;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
7175 ;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS. FIRST,
7176 ;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
7177 ;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
7178 ;NUMBER. THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS. THIS TEST
7179 ;IS REPEATED 36 TIMES. IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
7180 ;INDICATE AN ILLEGAL CARRY GENERATION.
7181 007516 SN=SN+1
7182 020000 ZZ=ZZ+ZZ
7183 IFE ZZ,<ZZ=1>
7184 033767 200 00 0 00 070302 MOVE [ZZ] ;INITIALIZE AC WITH ONE FLOATING BIT SET
7185 033770 430 00 0 00 070302 XOR [ZZ] ;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
7186 033771 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
7187 STOP^
7188 033772 254 04 0 00 033773 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7189 033773 324 00 0 00 033774 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7190 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7191 ;IN THE SUBTEST) TO LOOP ON ERROR^
7192
7193 ;**********
7194
7195 ;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
7196 ;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS. FIRST,
7197 ;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
7198 ;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
7199 ;NUMBER. THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS. THIS TEST
7200 ;IS REPEATED 36 TIMES. IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
7201 ;INDICATE AN ILLEGAL CARRY GENERATION.
7202 007517 SN=SN+1
7203 040000 ZZ=ZZ+ZZ
7204 IFE ZZ,<ZZ=1>
7205 033774 200 00 0 00 070303 MOVE [ZZ] ;INITIALIZE AC WITH ONE FLOATING BIT SET
7206 033775 430 00 0 00 070303 XOR [ZZ] ;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
7207 033776 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
7208 STOP^
7209 033777 254 04 0 00 034000 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 28-6
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0155
7210 034000 324 00 0 00 034001 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7211 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7212 ;IN THE SUBTEST) TO LOOP ON ERROR^
7213
7214 ;**********
7215
7216 ;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
7217 ;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS. FIRST,
7218 ;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
7219 ;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
7220 ;NUMBER. THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS. THIS TEST
7221 ;IS REPEATED 36 TIMES. IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
7222 ;INDICATE AN ILLEGAL CARRY GENERATION.
7223 007520 SN=SN+1
7224 100000 ZZ=ZZ+ZZ
7225 IFE ZZ,<ZZ=1>
7226 034001 200 00 0 00 070304 MOVE [ZZ] ;INITIALIZE AC WITH ONE FLOATING BIT SET
7227 034002 430 00 0 00 070304 XOR [ZZ] ;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
7228 034003 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
7229 STOP^
7230 034004 254 04 0 00 034005 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7231 034005 324 00 0 00 034006 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7232 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7233 ;IN THE SUBTEST) TO LOOP ON ERROR^
7234
7235 ;**********
7236
7237 ;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
7238 ;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS. FIRST,
7239 ;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
7240 ;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
7241 ;NUMBER. THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS. THIS TEST
7242 ;IS REPEATED 36 TIMES. IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
7243 ;INDICATE AN ILLEGAL CARRY GENERATION.
7244 007521 SN=SN+1
7245 200000 ZZ=ZZ+ZZ
7246 IFE ZZ,<ZZ=1>
7247 034006 200 00 0 00 070305 MOVE [ZZ] ;INITIALIZE AC WITH ONE FLOATING BIT SET
7248 034007 430 00 0 00 070305 XOR [ZZ] ;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
7249 034010 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
7250 STOP^
7251 034011 254 04 0 00 034012 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7252 034012 324 00 0 00 034013 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7253 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7254 ;IN THE SUBTEST) TO LOOP ON ERROR^
7255
7256 ;**********
7257
7258 ;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
7259 ;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS. FIRST,
7260 ;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
7261 ;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
7262 ;NUMBER. THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS. THIS TEST
7263 ;IS REPEATED 36 TIMES. IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
7264 ;INDICATE AN ILLEGAL CARRY GENERATION.
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 28-7
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0156
7265 007522 SN=SN+1
7266 400000 ZZ=ZZ+ZZ
7267 IFE ZZ,<ZZ=1>
7268 034013 200 00 0 00 070306 MOVE [ZZ] ;INITIALIZE AC WITH ONE FLOATING BIT SET
7269 034014 430 00 0 00 070306 XOR [ZZ] ;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
7270 034015 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
7271 STOP^
7272 034016 254 04 0 00 034017 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7273 034017 324 00 0 00 034020 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7274 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7275 ;IN THE SUBTEST) TO LOOP ON ERROR^
7276
7277 ;**********
7278
7279 ;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
7280 ;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS. FIRST,
7281 ;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
7282 ;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
7283 ;NUMBER. THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS. THIS TEST
7284 ;IS REPEATED 36 TIMES. IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
7285 ;INDICATE AN ILLEGAL CARRY GENERATION.
7286 007523 SN=SN+1
7287 000001 000000 ZZ=ZZ+ZZ
7288 IFE ZZ,<ZZ=1>
7289 034020 200 00 0 00 070307 MOVE [ZZ] ;INITIALIZE AC WITH ONE FLOATING BIT SET
7290 034021 430 00 0 00 070307 XOR [ZZ] ;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
7291 034022 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
7292 STOP^
7293 034023 254 04 0 00 034024 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7294 034024 324 00 0 00 034025 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7295 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7296 ;IN THE SUBTEST) TO LOOP ON ERROR^
7297
7298 ;**********
7299
7300 ;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
7301 ;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS. FIRST,
7302 ;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
7303 ;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
7304 ;NUMBER. THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS. THIS TEST
7305 ;IS REPEATED 36 TIMES. IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
7306 ;INDICATE AN ILLEGAL CARRY GENERATION.
7307 007524 SN=SN+1
7308 000002 000000 ZZ=ZZ+ZZ
7309 IFE ZZ,<ZZ=1>
7310 034025 200 00 0 00 070310 MOVE [ZZ] ;INITIALIZE AC WITH ONE FLOATING BIT SET
7311 034026 430 00 0 00 070310 XOR [ZZ] ;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
7312 034027 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
7313 STOP^
7314 034030 254 04 0 00 034031 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7315 034031 324 00 0 00 034032 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7316 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7317 ;IN THE SUBTEST) TO LOOP ON ERROR^
7318
7319 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 28-8
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0157
7320
7321 ;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
7322 ;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS. FIRST,
7323 ;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
7324 ;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
7325 ;NUMBER. THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS. THIS TEST
7326 ;IS REPEATED 36 TIMES. IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
7327 ;INDICATE AN ILLEGAL CARRY GENERATION.
7328 007525 SN=SN+1
7329 000004 000000 ZZ=ZZ+ZZ
7330 IFE ZZ,<ZZ=1>
7331 034032 200 00 0 00 070311 MOVE [ZZ] ;INITIALIZE AC WITH ONE FLOATING BIT SET
7332 034033 430 00 0 00 070311 XOR [ZZ] ;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
7333 034034 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
7334 STOP^
7335 034035 254 04 0 00 034036 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7336 034036 324 00 0 00 034037 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7337 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7338 ;IN THE SUBTEST) TO LOOP ON ERROR^
7339
7340 ;**********
7341
7342 ;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
7343 ;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS. FIRST,
7344 ;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
7345 ;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
7346 ;NUMBER. THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS. THIS TEST
7347 ;IS REPEATED 36 TIMES. IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
7348 ;INDICATE AN ILLEGAL CARRY GENERATION.
7349 007526 SN=SN+1
7350 000010 000000 ZZ=ZZ+ZZ
7351 IFE ZZ,<ZZ=1>
7352 034037 200 00 0 00 070312 MOVE [ZZ] ;INITIALIZE AC WITH ONE FLOATING BIT SET
7353 034040 430 00 0 00 070312 XOR [ZZ] ;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
7354 034041 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
7355 STOP^
7356 034042 254 04 0 00 034043 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7357 034043 324 00 0 00 034044 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7358 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7359 ;IN THE SUBTEST) TO LOOP ON ERROR^
7360
7361 ;**********
7362
7363 ;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
7364 ;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS. FIRST,
7365 ;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
7366 ;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
7367 ;NUMBER. THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS. THIS TEST
7368 ;IS REPEATED 36 TIMES. IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
7369 ;INDICATE AN ILLEGAL CARRY GENERATION.
7370 007527 SN=SN+1
7371 000020 000000 ZZ=ZZ+ZZ
7372 IFE ZZ,<ZZ=1>
7373 034044 200 00 0 00 070313 MOVE [ZZ] ;INITIALIZE AC WITH ONE FLOATING BIT SET
7374 034045 430 00 0 00 070313 XOR [ZZ] ;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 28-9
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0158
7375 034046 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
7376 STOP^
7377 034047 254 04 0 00 034050 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7378 034050 324 00 0 00 034051 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7379 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7380 ;IN THE SUBTEST) TO LOOP ON ERROR^
7381
7382 ;**********
7383
7384 ;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
7385 ;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS. FIRST,
7386 ;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
7387 ;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
7388 ;NUMBER. THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS. THIS TEST
7389 ;IS REPEATED 36 TIMES. IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
7390 ;INDICATE AN ILLEGAL CARRY GENERATION.
7391 007530 SN=SN+1
7392 000040 000000 ZZ=ZZ+ZZ
7393 IFE ZZ,<ZZ=1>
7394 034051 200 00 0 00 070314 MOVE [ZZ] ;INITIALIZE AC WITH ONE FLOATING BIT SET
7395 034052 430 00 0 00 070314 XOR [ZZ] ;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
7396 034053 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
7397 STOP^
7398 034054 254 04 0 00 034055 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7399 034055 324 00 0 00 034056 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7400 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7401 ;IN THE SUBTEST) TO LOOP ON ERROR^
7402
7403 ;**********
7404
7405 ;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
7406 ;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS. FIRST,
7407 ;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
7408 ;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
7409 ;NUMBER. THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS. THIS TEST
7410 ;IS REPEATED 36 TIMES. IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
7411 ;INDICATE AN ILLEGAL CARRY GENERATION.
7412 007531 SN=SN+1
7413 000100 000000 ZZ=ZZ+ZZ
7414 IFE ZZ,<ZZ=1>
7415 034056 200 00 0 00 070315 MOVE [ZZ] ;INITIALIZE AC WITH ONE FLOATING BIT SET
7416 034057 430 00 0 00 070315 XOR [ZZ] ;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
7417 034060 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
7418 STOP^
7419 034061 254 04 0 00 034062 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7420 034062 324 00 0 00 034063 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7421 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7422 ;IN THE SUBTEST) TO LOOP ON ERROR^
7423
7424 ;**********
7425
7426 ;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
7427 ;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS. FIRST,
7428 ;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
7429 ;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 28-10
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0159
7430 ;NUMBER. THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS. THIS TEST
7431 ;IS REPEATED 36 TIMES. IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
7432 ;INDICATE AN ILLEGAL CARRY GENERATION.
7433 007532 SN=SN+1
7434 000200 000000 ZZ=ZZ+ZZ
7435 IFE ZZ,<ZZ=1>
7436 034063 200 00 0 00 070316 MOVE [ZZ] ;INITIALIZE AC WITH ONE FLOATING BIT SET
7437 034064 430 00 0 00 070316 XOR [ZZ] ;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
7438 034065 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
7439 STOP^
7440 034066 254 04 0 00 034067 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7441 034067 324 00 0 00 034070 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7442 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7443 ;IN THE SUBTEST) TO LOOP ON ERROR^
7444
7445 ;**********
7446
7447 ;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
7448 ;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS. FIRST,
7449 ;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
7450 ;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
7451 ;NUMBER. THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS. THIS TEST
7452 ;IS REPEATED 36 TIMES. IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
7453 ;INDICATE AN ILLEGAL CARRY GENERATION.
7454 007533 SN=SN+1
7455 000400 000000 ZZ=ZZ+ZZ
7456 IFE ZZ,<ZZ=1>
7457 034070 200 00 0 00 070264 MOVE [ZZ] ;INITIALIZE AC WITH ONE FLOATING BIT SET
7458 034071 430 00 0 00 070264 XOR [ZZ] ;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
7459 034072 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
7460 STOP^
7461 034073 254 04 0 00 034074 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7462 034074 324 00 0 00 034075 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7463 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7464 ;IN THE SUBTEST) TO LOOP ON ERROR^
7465
7466 ;**********
7467
7468 ;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
7469 ;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS. FIRST,
7470 ;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
7471 ;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
7472 ;NUMBER. THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS. THIS TEST
7473 ;IS REPEATED 36 TIMES. IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
7474 ;INDICATE AN ILLEGAL CARRY GENERATION.
7475 007534 SN=SN+1
7476 001000 000000 ZZ=ZZ+ZZ
7477 IFE ZZ,<ZZ=1>
7478 034075 200 00 0 00 070317 MOVE [ZZ] ;INITIALIZE AC WITH ONE FLOATING BIT SET
7479 034076 430 00 0 00 070317 XOR [ZZ] ;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
7480 034077 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
7481 STOP^
7482 034100 254 04 0 00 034101 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7483 034101 324 00 0 00 034102 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7484 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 28-11
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0160
7485 ;IN THE SUBTEST) TO LOOP ON ERROR^
7486
7487 ;**********
7488
7489 ;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
7490 ;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS. FIRST,
7491 ;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
7492 ;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
7493 ;NUMBER. THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS. THIS TEST
7494 ;IS REPEATED 36 TIMES. IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
7495 ;INDICATE AN ILLEGAL CARRY GENERATION.
7496 007535 SN=SN+1
7497 002000 000000 ZZ=ZZ+ZZ
7498 IFE ZZ,<ZZ=1>
7499 034102 200 00 0 00 070320 MOVE [ZZ] ;INITIALIZE AC WITH ONE FLOATING BIT SET
7500 034103 430 00 0 00 070320 XOR [ZZ] ;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
7501 034104 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
7502 STOP^
7503 034105 254 04 0 00 034106 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7504 034106 324 00 0 00 034107 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7505 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7506 ;IN THE SUBTEST) TO LOOP ON ERROR^
7507
7508 ;**********
7509
7510 ;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
7511 ;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS. FIRST,
7512 ;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
7513 ;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
7514 ;NUMBER. THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS. THIS TEST
7515 ;IS REPEATED 36 TIMES. IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
7516 ;INDICATE AN ILLEGAL CARRY GENERATION.
7517 007536 SN=SN+1
7518 004000 000000 ZZ=ZZ+ZZ
7519 IFE ZZ,<ZZ=1>
7520 034107 200 00 0 00 070321 MOVE [ZZ] ;INITIALIZE AC WITH ONE FLOATING BIT SET
7521 034110 430 00 0 00 070321 XOR [ZZ] ;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
7522 034111 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
7523 STOP^
7524 034112 254 04 0 00 034113 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7525 034113 324 00 0 00 034114 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7526 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7527 ;IN THE SUBTEST) TO LOOP ON ERROR^
7528
7529 ;**********
7530
7531 ;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
7532 ;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS. FIRST,
7533 ;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
7534 ;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
7535 ;NUMBER. THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS. THIS TEST
7536 ;IS REPEATED 36 TIMES. IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
7537 ;INDICATE AN ILLEGAL CARRY GENERATION.
7538 007537 SN=SN+1
7539 010000 000000 ZZ=ZZ+ZZ
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 28-12
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0161
7540 IFE ZZ,<ZZ=1>
7541 034114 200 00 0 00 070322 MOVE [ZZ] ;INITIALIZE AC WITH ONE FLOATING BIT SET
7542 034115 430 00 0 00 070322 XOR [ZZ] ;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
7543 034116 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
7544 STOP^
7545 034117 254 04 0 00 034120 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7546 034120 324 00 0 00 034121 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7547 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7548 ;IN THE SUBTEST) TO LOOP ON ERROR^
7549
7550 ;**********
7551
7552 ;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
7553 ;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS. FIRST,
7554 ;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
7555 ;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
7556 ;NUMBER. THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS. THIS TEST
7557 ;IS REPEATED 36 TIMES. IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
7558 ;INDICATE AN ILLEGAL CARRY GENERATION.
7559 007540 SN=SN+1
7560 020000 000000 ZZ=ZZ+ZZ
7561 IFE ZZ,<ZZ=1>
7562 034121 200 00 0 00 070323 MOVE [ZZ] ;INITIALIZE AC WITH ONE FLOATING BIT SET
7563 034122 430 00 0 00 070323 XOR [ZZ] ;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
7564 034123 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
7565 STOP^
7566 034124 254 04 0 00 034125 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7567 034125 324 00 0 00 034126 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7568 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7569 ;IN THE SUBTEST) TO LOOP ON ERROR^
7570
7571 ;**********
7572
7573 ;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
7574 ;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS. FIRST,
7575 ;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
7576 ;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
7577 ;NUMBER. THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS. THIS TEST
7578 ;IS REPEATED 36 TIMES. IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
7579 ;INDICATE AN ILLEGAL CARRY GENERATION.
7580 007541 SN=SN+1
7581 040000 000000 ZZ=ZZ+ZZ
7582 IFE ZZ,<ZZ=1>
7583 034126 200 00 0 00 070324 MOVE [ZZ] ;INITIALIZE AC WITH ONE FLOATING BIT SET
7584 034127 430 00 0 00 070324 XOR [ZZ] ;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
7585 034130 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
7586 STOP^
7587 034131 254 04 0 00 034132 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7588 034132 324 00 0 00 034133 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7589 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7590 ;IN THE SUBTEST) TO LOOP ON ERROR^
7591
7592 ;**********
7593
7594 ;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 28-13
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0162
7595 ;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS. FIRST,
7596 ;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
7597 ;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
7598 ;NUMBER. THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS. THIS TEST
7599 ;IS REPEATED 36 TIMES. IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
7600 ;INDICATE AN ILLEGAL CARRY GENERATION.
7601 007542 SN=SN+1
7602 100000 000000 ZZ=ZZ+ZZ
7603 IFE ZZ,<ZZ=1>
7604 034133 200 00 0 00 070325 MOVE [ZZ] ;INITIALIZE AC WITH ONE FLOATING BIT SET
7605 034134 430 00 0 00 070325 XOR [ZZ] ;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
7606 034135 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
7607 STOP^
7608 034136 254 04 0 00 034137 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7609 034137 324 00 0 00 034140 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7610 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7611 ;IN THE SUBTEST) TO LOOP ON ERROR^
7612
7613 ;**********
7614
7615 ;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
7616 ;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS. FIRST,
7617 ;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
7618 ;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
7619 ;NUMBER. THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS. THIS TEST
7620 ;IS REPEATED 36 TIMES. IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
7621 ;INDICATE AN ILLEGAL CARRY GENERATION.
7622 007543 SN=SN+1
7623 200000 000000 ZZ=ZZ+ZZ
7624 IFE ZZ,<ZZ=1>
7625 034140 200 00 0 00 070326 MOVE [ZZ] ;INITIALIZE AC WITH ONE FLOATING BIT SET
7626 034141 430 00 0 00 070326 XOR [ZZ] ;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
7627 034142 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
7628 STOP^
7629 034143 254 04 0 00 034144 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7630 034144 324 00 0 00 034145 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7631 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7632 ;IN THE SUBTEST) TO LOOP ON ERROR^
7633
7634 ;**********
7635
7636 ;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
7637 ;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS. FIRST,
7638 ;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
7639 ;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
7640 ;NUMBER. THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS. THIS TEST
7641 ;IS REPEATED 36 TIMES. IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
7642 ;INDICATE AN ILLEGAL CARRY GENERATION.
7643 007544 SN=SN+1
7644 400000 000000 ZZ=ZZ+ZZ
7645 IFE ZZ,<ZZ=1>
7646 034145 200 00 0 00 070256 MOVE [ZZ] ;INITIALIZE AC WITH ONE FLOATING BIT SET
7647 034146 430 00 0 00 070256 XOR [ZZ] ;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
7648 034147 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
7649 STOP^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 28-14
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0163
7650 034150 254 04 0 00 034151 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7651 034151 324 00 0 00 034152 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7652 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7653 ;IN THE SUBTEST) TO LOOP ON ERROR^
7654
7655 ;**********
7656
7657 ;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION WHERE
7658 ;C(AC)=C(E)=0 IS AN AC CONTAINING ALL ZEROS; FIRST THE AC IS CLEARED; THEN
7659 ;XOR IS EXECUTED WITH C(E)=0. THE RESULT IN THE AC IS CHECKED FOR ALL ZEROS
7660
7661 034152 200 00 0 00 070253 A7600: MOVE [0] ;INITIALIZE AC TO ALL ZEROS
7662 034153 430 00 0 00 070253 XOR [0] ;*XOR WITH C(AC)=C(E)=0 SHOULD RESULT INC(AC)=0
7663 034154 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
7664 STOP^
7665 034155 254 04 0 00 034156 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7666 034156 324 00 0 00 034157 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7667 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7668 ;IN THE SUBTEST) TO LOOP ON ERROR^
7669
7670 ;**********
7671
7672 ;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
7673 ;C(AC)=0 AND C(E) ALL ONES IS AN AC CONTAINING ALL ZEROS SINCE
7674 ;THE EQUIVALENCE FUNCTION SHOULD SET ONLY LIKE BITS. FIRST, THE AC
7675 ;SHOULD BE CLEARED; THEN, EQV IS EXECUTED WITH E CONTAINING ALL ONES.
7676 ;THE AC IS THEN CHECKED FOR ALL ZEROS
7677
7678 034157 200 00 0 00 070253 A7700: MOVE [0] ;CLEAR THE AC
7679 034160 444 00 0 00 070254 EQV [-1] ;*EQV WITH C(AC)=0 AND C(E) ALL ONES SHOULD
7680 ;RESULT IN C(AC)=0
7681 034161 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
7682 STOP^
7683 034162 254 04 0 00 034163 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7684 034163 324 00 0 00 034164 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7685 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7686 ;IN THE SUBTEST) TO LOOP ON ERROR^
7687
7688 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0164
7689 010000 SN=10000
7690 000000 ZZ=0
7691
7692 A10000: REPEAT ^D18,
7693 <;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
7694 ;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
7695 ;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
7696 ;E CONTAINS A ZERO). THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
7697 ;OF THE RESULT IS A ONE ONCE AND ONLY ONCE. FIRST, THE AC IS
7698 ;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO. THE
7699 ;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
7700 SN=SN+1
7701 ZZ=ZZ+ZZ+1
7702 IFE <ZZ-1>,<ZZ=-2>
7703 MOVE [0] ;PRESET AC TO ALL ZEROS
7704 EQV [XWD -1,ZZ] ;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
7705 ;RESULT IN C(AC) NON-ZERO
7706 SKIPN ;PASS TEST IF C(AC) NON-ZERO
7707 STOP
7708
7709 ;**********
7710 >
7711 ;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
7712 ;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
7713 ;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
7714 ;E CONTAINS A ZERO). THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
7715 ;OF THE RESULT IS A ONE ONCE AND ONLY ONCE. FIRST, THE AC IS
7716 ;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO. THE
7717 ;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
7718 010001 SN=SN+1
7719 000001 ZZ=ZZ+ZZ+1
7720 777777 777776 IFE <ZZ-1>,<ZZ=-2>
7721 034164 200 00 0 00 070253 MOVE [0] ;PRESET AC TO ALL ZEROS
7722 034165 444 00 0 00 070333 EQV [XWD -1,ZZ] ;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
7723 ;RESULT IN C(AC) NON-ZERO
7724 034166 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
7725 STOP^
7726 034167 254 04 0 00 034170 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7727 034170 324 00 0 00 034171 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7728 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7729 ;IN THE SUBTEST) TO LOOP ON ERROR^
7730
7731 ;**********
7732
7733 ;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
7734 ;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
7735 ;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
7736 ;E CONTAINS A ZERO). THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
7737 ;OF THE RESULT IS A ONE ONCE AND ONLY ONCE. FIRST, THE AC IS
7738 ;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO. THE
7739 ;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
7740 010002 SN=SN+1
7741 777777 777775 ZZ=ZZ+ZZ+1
7742 IFE <ZZ-1>,<ZZ=-2>
7743 034171 200 00 0 00 070253 MOVE [0] ;PRESET AC TO ALL ZEROS
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29-1
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0165
7744 034172 444 00 0 00 070334 EQV [XWD -1,ZZ] ;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
7745 ;RESULT IN C(AC) NON-ZERO
7746 034173 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
7747 STOP^
7748 034174 254 04 0 00 034175 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7749 034175 324 00 0 00 034176 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7750 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7751 ;IN THE SUBTEST) TO LOOP ON ERROR^
7752
7753 ;**********
7754
7755 ;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
7756 ;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
7757 ;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
7758 ;E CONTAINS A ZERO). THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
7759 ;OF THE RESULT IS A ONE ONCE AND ONLY ONCE. FIRST, THE AC IS
7760 ;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO. THE
7761 ;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
7762 010003 SN=SN+1
7763 777777 777773 ZZ=ZZ+ZZ+1
7764 IFE <ZZ-1>,<ZZ=-2>
7765 034176 200 00 0 00 070253 MOVE [0] ;PRESET AC TO ALL ZEROS
7766 034177 444 00 0 00 070335 EQV [XWD -1,ZZ] ;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
7767 ;RESULT IN C(AC) NON-ZERO
7768 034200 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
7769 STOP^
7770 034201 254 04 0 00 034202 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7771 034202 324 00 0 00 034203 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7772 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7773 ;IN THE SUBTEST) TO LOOP ON ERROR^
7774
7775 ;**********
7776
7777 ;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
7778 ;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
7779 ;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
7780 ;E CONTAINS A ZERO). THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
7781 ;OF THE RESULT IS A ONE ONCE AND ONLY ONCE. FIRST, THE AC IS
7782 ;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO. THE
7783 ;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
7784 010004 SN=SN+1
7785 777777 777767 ZZ=ZZ+ZZ+1
7786 IFE <ZZ-1>,<ZZ=-2>
7787 034203 200 00 0 00 070253 MOVE [0] ;PRESET AC TO ALL ZEROS
7788 034204 444 00 0 00 070336 EQV [XWD -1,ZZ] ;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
7789 ;RESULT IN C(AC) NON-ZERO
7790 034205 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
7791 STOP^
7792 034206 254 04 0 00 034207 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7793 034207 324 00 0 00 034210 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7794 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7795 ;IN THE SUBTEST) TO LOOP ON ERROR^
7796
7797 ;**********
7798
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29-2
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0166
7799 ;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
7800 ;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
7801 ;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
7802 ;E CONTAINS A ZERO). THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
7803 ;OF THE RESULT IS A ONE ONCE AND ONLY ONCE. FIRST, THE AC IS
7804 ;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO. THE
7805 ;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
7806 010005 SN=SN+1
7807 777777 777757 ZZ=ZZ+ZZ+1
7808 IFE <ZZ-1>,<ZZ=-2>
7809 034210 200 00 0 00 070253 MOVE [0] ;PRESET AC TO ALL ZEROS
7810 034211 444 00 0 00 070337 EQV [XWD -1,ZZ] ;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
7811 ;RESULT IN C(AC) NON-ZERO
7812 034212 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
7813 STOP^
7814 034213 254 04 0 00 034214 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7815 034214 324 00 0 00 034215 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7816 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7817 ;IN THE SUBTEST) TO LOOP ON ERROR^
7818
7819 ;**********
7820
7821 ;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
7822 ;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
7823 ;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
7824 ;E CONTAINS A ZERO). THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
7825 ;OF THE RESULT IS A ONE ONCE AND ONLY ONCE. FIRST, THE AC IS
7826 ;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO. THE
7827 ;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
7828 010006 SN=SN+1
7829 777777 777737 ZZ=ZZ+ZZ+1
7830 IFE <ZZ-1>,<ZZ=-2>
7831 034215 200 00 0 00 070253 MOVE [0] ;PRESET AC TO ALL ZEROS
7832 034216 444 00 0 00 070340 EQV [XWD -1,ZZ] ;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
7833 ;RESULT IN C(AC) NON-ZERO
7834 034217 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
7835 STOP^
7836 034220 254 04 0 00 034221 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7837 034221 324 00 0 00 034222 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7838 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7839 ;IN THE SUBTEST) TO LOOP ON ERROR^
7840
7841 ;**********
7842
7843 ;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
7844 ;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
7845 ;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
7846 ;E CONTAINS A ZERO). THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
7847 ;OF THE RESULT IS A ONE ONCE AND ONLY ONCE. FIRST, THE AC IS
7848 ;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO. THE
7849 ;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
7850 010007 SN=SN+1
7851 777777 777677 ZZ=ZZ+ZZ+1
7852 IFE <ZZ-1>,<ZZ=-2>
7853 034222 200 00 0 00 070253 MOVE [0] ;PRESET AC TO ALL ZEROS
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29-3
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0167
7854 034223 444 00 0 00 070341 EQV [XWD -1,ZZ] ;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
7855 ;RESULT IN C(AC) NON-ZERO
7856 034224 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
7857 STOP^
7858 034225 254 04 0 00 034226 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7859 034226 324 00 0 00 034227 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7860 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7861 ;IN THE SUBTEST) TO LOOP ON ERROR^
7862
7863 ;**********
7864
7865 ;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
7866 ;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
7867 ;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
7868 ;E CONTAINS A ZERO). THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
7869 ;OF THE RESULT IS A ONE ONCE AND ONLY ONCE. FIRST, THE AC IS
7870 ;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO. THE
7871 ;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
7872 010010 SN=SN+1
7873 777777 777577 ZZ=ZZ+ZZ+1
7874 IFE <ZZ-1>,<ZZ=-2>
7875 034227 200 00 0 00 070253 MOVE [0] ;PRESET AC TO ALL ZEROS
7876 034230 444 00 0 00 070342 EQV [XWD -1,ZZ] ;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
7877 ;RESULT IN C(AC) NON-ZERO
7878 034231 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
7879 STOP^
7880 034232 254 04 0 00 034233 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7881 034233 324 00 0 00 034234 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7882 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7883 ;IN THE SUBTEST) TO LOOP ON ERROR^
7884
7885 ;**********
7886
7887 ;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
7888 ;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
7889 ;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
7890 ;E CONTAINS A ZERO). THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
7891 ;OF THE RESULT IS A ONE ONCE AND ONLY ONCE. FIRST, THE AC IS
7892 ;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO. THE
7893 ;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
7894 010011 SN=SN+1
7895 777777 777377 ZZ=ZZ+ZZ+1
7896 IFE <ZZ-1>,<ZZ=-2>
7897 034234 200 00 0 00 070253 MOVE [0] ;PRESET AC TO ALL ZEROS
7898 034235 444 00 0 00 070343 EQV [XWD -1,ZZ] ;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
7899 ;RESULT IN C(AC) NON-ZERO
7900 034236 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
7901 STOP^
7902 034237 254 04 0 00 034240 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7903 034240 324 00 0 00 034241 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7904 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7905 ;IN THE SUBTEST) TO LOOP ON ERROR^
7906
7907 ;**********
7908
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29-4
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0168
7909 ;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
7910 ;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
7911 ;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
7912 ;E CONTAINS A ZERO). THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
7913 ;OF THE RESULT IS A ONE ONCE AND ONLY ONCE. FIRST, THE AC IS
7914 ;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO. THE
7915 ;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
7916 010012 SN=SN+1
7917 777777 776777 ZZ=ZZ+ZZ+1
7918 IFE <ZZ-1>,<ZZ=-2>
7919 034241 200 00 0 00 070253 MOVE [0] ;PRESET AC TO ALL ZEROS
7920 034242 444 00 0 00 070344 EQV [XWD -1,ZZ] ;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
7921 ;RESULT IN C(AC) NON-ZERO
7922 034243 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
7923 STOP^
7924 034244 254 04 0 00 034245 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7925 034245 324 00 0 00 034246 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7926 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7927 ;IN THE SUBTEST) TO LOOP ON ERROR^
7928
7929 ;**********
7930
7931 ;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
7932 ;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
7933 ;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
7934 ;E CONTAINS A ZERO). THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
7935 ;OF THE RESULT IS A ONE ONCE AND ONLY ONCE. FIRST, THE AC IS
7936 ;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO. THE
7937 ;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
7938 010013 SN=SN+1
7939 777777 775777 ZZ=ZZ+ZZ+1
7940 IFE <ZZ-1>,<ZZ=-2>
7941 034246 200 00 0 00 070253 MOVE [0] ;PRESET AC TO ALL ZEROS
7942 034247 444 00 0 00 070345 EQV [XWD -1,ZZ] ;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
7943 ;RESULT IN C(AC) NON-ZERO
7944 034250 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
7945 STOP^
7946 034251 254 04 0 00 034252 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7947 034252 324 00 0 00 034253 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7948 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7949 ;IN THE SUBTEST) TO LOOP ON ERROR^
7950
7951 ;**********
7952
7953 ;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
7954 ;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
7955 ;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
7956 ;E CONTAINS A ZERO). THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
7957 ;OF THE RESULT IS A ONE ONCE AND ONLY ONCE. FIRST, THE AC IS
7958 ;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO. THE
7959 ;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
7960 010014 SN=SN+1
7961 777777 773777 ZZ=ZZ+ZZ+1
7962 IFE <ZZ-1>,<ZZ=-2>
7963 034253 200 00 0 00 070253 MOVE [0] ;PRESET AC TO ALL ZEROS
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29-5
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0169
7964 034254 444 00 0 00 070346 EQV [XWD -1,ZZ] ;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
7965 ;RESULT IN C(AC) NON-ZERO
7966 034255 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
7967 STOP^
7968 034256 254 04 0 00 034257 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7969 034257 324 00 0 00 034260 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7970 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7971 ;IN THE SUBTEST) TO LOOP ON ERROR^
7972
7973 ;**********
7974
7975 ;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
7976 ;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
7977 ;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
7978 ;E CONTAINS A ZERO). THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
7979 ;OF THE RESULT IS A ONE ONCE AND ONLY ONCE. FIRST, THE AC IS
7980 ;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO. THE
7981 ;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
7982 010015 SN=SN+1
7983 777777 767777 ZZ=ZZ+ZZ+1
7984 IFE <ZZ-1>,<ZZ=-2>
7985 034260 200 00 0 00 070253 MOVE [0] ;PRESET AC TO ALL ZEROS
7986 034261 444 00 0 00 070347 EQV [XWD -1,ZZ] ;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
7987 ;RESULT IN C(AC) NON-ZERO
7988 034262 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
7989 STOP^
7990 034263 254 04 0 00 034264 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
7991 034264 324 00 0 00 034265 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
7992 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
7993 ;IN THE SUBTEST) TO LOOP ON ERROR^
7994
7995 ;**********
7996
7997 ;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
7998 ;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
7999 ;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
8000 ;E CONTAINS A ZERO). THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
8001 ;OF THE RESULT IS A ONE ONCE AND ONLY ONCE. FIRST, THE AC IS
8002 ;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO. THE
8003 ;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
8004 010016 SN=SN+1
8005 777777 757777 ZZ=ZZ+ZZ+1
8006 IFE <ZZ-1>,<ZZ=-2>
8007 034265 200 00 0 00 070253 MOVE [0] ;PRESET AC TO ALL ZEROS
8008 034266 444 00 0 00 070350 EQV [XWD -1,ZZ] ;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
8009 ;RESULT IN C(AC) NON-ZERO
8010 034267 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
8011 STOP^
8012 034270 254 04 0 00 034271 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
8013 034271 324 00 0 00 034272 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
8014 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
8015 ;IN THE SUBTEST) TO LOOP ON ERROR^
8016
8017 ;**********
8018
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29-6
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0170
8019 ;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
8020 ;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
8021 ;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
8022 ;E CONTAINS A ZERO). THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
8023 ;OF THE RESULT IS A ONE ONCE AND ONLY ONCE. FIRST, THE AC IS
8024 ;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO. THE
8025 ;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
8026 010017 SN=SN+1
8027 777777 737777 ZZ=ZZ+ZZ+1
8028 IFE <ZZ-1>,<ZZ=-2>
8029 034272 200 00 0 00 070253 MOVE [0] ;PRESET AC TO ALL ZEROS
8030 034273 444 00 0 00 070351 EQV [XWD -1,ZZ] ;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
8031 ;RESULT IN C(AC) NON-ZERO
8032 034274 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
8033 STOP^
8034 034275 254 04 0 00 034276 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
8035 034276 324 00 0 00 034277 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
8036 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
8037 ;IN THE SUBTEST) TO LOOP ON ERROR^
8038
8039 ;**********
8040
8041 ;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
8042 ;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
8043 ;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
8044 ;E CONTAINS A ZERO). THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
8045 ;OF THE RESULT IS A ONE ONCE AND ONLY ONCE. FIRST, THE AC IS
8046 ;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO. THE
8047 ;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
8048 010020 SN=SN+1
8049 777777 677777 ZZ=ZZ+ZZ+1
8050 IFE <ZZ-1>,<ZZ=-2>
8051 034277 200 00 0 00 070253 MOVE [0] ;PRESET AC TO ALL ZEROS
8052 034300 444 00 0 00 070352 EQV [XWD -1,ZZ] ;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
8053 ;RESULT IN C(AC) NON-ZERO
8054 034301 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
8055 STOP^
8056 034302 254 04 0 00 034303 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
8057 034303 324 00 0 00 034304 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
8058 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
8059 ;IN THE SUBTEST) TO LOOP ON ERROR^
8060
8061 ;**********
8062
8063 ;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
8064 ;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
8065 ;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
8066 ;E CONTAINS A ZERO). THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
8067 ;OF THE RESULT IS A ONE ONCE AND ONLY ONCE. FIRST, THE AC IS
8068 ;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO. THE
8069 ;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
8070 010021 SN=SN+1
8071 777777 577777 ZZ=ZZ+ZZ+1
8072 IFE <ZZ-1>,<ZZ=-2>
8073 034304 200 00 0 00 070253 MOVE [0] ;PRESET AC TO ALL ZEROS
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29-7
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0171
8074 034305 444 00 0 00 070353 EQV [XWD -1,ZZ] ;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
8075 ;RESULT IN C(AC) NON-ZERO
8076 034306 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
8077 STOP^
8078 034307 254 04 0 00 034310 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
8079 034310 324 00 0 00 034311 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
8080 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
8081 ;IN THE SUBTEST) TO LOOP ON ERROR^
8082
8083 ;**********
8084
8085 ;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
8086 ;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
8087 ;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
8088 ;E CONTAINS A ZERO). THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
8089 ;OF THE RESULT IS A ONE ONCE AND ONLY ONCE. FIRST, THE AC IS
8090 ;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO. THE
8091 ;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
8092 010022 SN=SN+1
8093 777777 377777 ZZ=ZZ+ZZ+1
8094 IFE <ZZ-1>,<ZZ=-2>
8095 034311 200 00 0 00 070253 MOVE [0] ;PRESET AC TO ALL ZEROS
8096 034312 444 00 0 00 070354 EQV [XWD -1,ZZ] ;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
8097 ;RESULT IN C(AC) NON-ZERO
8098 034313 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
8099 STOP^
8100 034314 254 04 0 00 034315 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
8101 034315 324 00 0 00 034316 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
8102 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
8103 ;IN THE SUBTEST) TO LOOP ON ERROR^
8104
8105 ;**********
8106
8107 010100 SN=10100
8108 000000 ZZ=0
8109
8110 A10100: REPEAT ^D18,
8111 <;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
8112 ;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
8113 ;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
8114 ;E CONTAINS A ZERO). THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
8115 ;OF THE RESULT IS A ONE ONCE AND ONLY ONCE. FIRST, THE AC IS
8116 ;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO. THE
8117 ;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
8118 SN=SN+1
8119 ZZ=ZZ+ZZ+1
8120 IFE <ZZ-1>,<ZZ=-2>
8121 MOVE [0] ;PRESET AC TO ALL ZEROS
8122 EQV [XWD ZZ,-1] ;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
8123 ;RESULT IN C(AC) NON-ZERO
8124 SKIPN ;PASS TEST IF C(AC) NON-ZERO
8125 STOP
8126
8127 ;**********
8128 >
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29-8
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0172
8129 ;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
8130 ;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
8131 ;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
8132 ;E CONTAINS A ZERO). THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
8133 ;OF THE RESULT IS A ONE ONCE AND ONLY ONCE. FIRST, THE AC IS
8134 ;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO. THE
8135 ;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
8136 010101 SN=SN+1
8137 000001 ZZ=ZZ+ZZ+1
8138 777777 777776 IFE <ZZ-1>,<ZZ=-2>
8139 034316 200 00 0 00 070253 MOVE [0] ;PRESET AC TO ALL ZEROS
8140 034317 444 00 0 00 070355 EQV [XWD ZZ,-1] ;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
8141 ;RESULT IN C(AC) NON-ZERO
8142 034320 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
8143 STOP^
8144 034321 254 04 0 00 034322 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
8145 034322 324 00 0 00 034323 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
8146 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
8147 ;IN THE SUBTEST) TO LOOP ON ERROR^
8148
8149 ;**********
8150
8151 ;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
8152 ;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
8153 ;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
8154 ;E CONTAINS A ZERO). THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
8155 ;OF THE RESULT IS A ONE ONCE AND ONLY ONCE. FIRST, THE AC IS
8156 ;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO. THE
8157 ;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
8158 010102 SN=SN+1
8159 777777 777775 ZZ=ZZ+ZZ+1
8160 IFE <ZZ-1>,<ZZ=-2>
8161 034323 200 00 0 00 070253 MOVE [0] ;PRESET AC TO ALL ZEROS
8162 034324 444 00 0 00 070356 EQV [XWD ZZ,-1] ;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
8163 ;RESULT IN C(AC) NON-ZERO
8164 034325 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
8165 STOP^
8166 034326 254 04 0 00 034327 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
8167 034327 324 00 0 00 034330 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
8168 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
8169 ;IN THE SUBTEST) TO LOOP ON ERROR^
8170
8171 ;**********
8172
8173 ;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
8174 ;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
8175 ;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
8176 ;E CONTAINS A ZERO). THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
8177 ;OF THE RESULT IS A ONE ONCE AND ONLY ONCE. FIRST, THE AC IS
8178 ;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO. THE
8179 ;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
8180 010103 SN=SN+1
8181 777777 777773 ZZ=ZZ+ZZ+1
8182 IFE <ZZ-1>,<ZZ=-2>
8183 034330 200 00 0 00 070253 MOVE [0] ;PRESET AC TO ALL ZEROS
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29-9
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0173
8184 034331 444 00 0 00 070357 EQV [XWD ZZ,-1] ;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
8185 ;RESULT IN C(AC) NON-ZERO
8186 034332 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
8187 STOP^
8188 034333 254 04 0 00 034334 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
8189 034334 324 00 0 00 034335 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
8190 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
8191 ;IN THE SUBTEST) TO LOOP ON ERROR^
8192
8193 ;**********
8194
8195 ;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
8196 ;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
8197 ;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
8198 ;E CONTAINS A ZERO). THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
8199 ;OF THE RESULT IS A ONE ONCE AND ONLY ONCE. FIRST, THE AC IS
8200 ;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO. THE
8201 ;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
8202 010104 SN=SN+1
8203 777777 777767 ZZ=ZZ+ZZ+1
8204 IFE <ZZ-1>,<ZZ=-2>
8205 034335 200 00 0 00 070253 MOVE [0] ;PRESET AC TO ALL ZEROS
8206 034336 444 00 0 00 070360 EQV [XWD ZZ,-1] ;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
8207 ;RESULT IN C(AC) NON-ZERO
8208 034337 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
8209 STOP^
8210 034340 254 04 0 00 034341 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
8211 034341 324 00 0 00 034342 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
8212 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
8213 ;IN THE SUBTEST) TO LOOP ON ERROR^
8214
8215 ;**********
8216
8217 ;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
8218 ;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
8219 ;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
8220 ;E CONTAINS A ZERO). THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
8221 ;OF THE RESULT IS A ONE ONCE AND ONLY ONCE. FIRST, THE AC IS
8222 ;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO. THE
8223 ;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
8224 010105 SN=SN+1
8225 777777 777757 ZZ=ZZ+ZZ+1
8226 IFE <ZZ-1>,<ZZ=-2>
8227 034342 200 00 0 00 070253 MOVE [0] ;PRESET AC TO ALL ZEROS
8228 034343 444 00 0 00 070361 EQV [XWD ZZ,-1] ;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
8229 ;RESULT IN C(AC) NON-ZERO
8230 034344 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
8231 STOP^
8232 034345 254 04 0 00 034346 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
8233 034346 324 00 0 00 034347 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
8234 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
8235 ;IN THE SUBTEST) TO LOOP ON ERROR^
8236
8237 ;**********
8238
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29-10
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0174
8239 ;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
8240 ;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
8241 ;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
8242 ;E CONTAINS A ZERO). THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
8243 ;OF THE RESULT IS A ONE ONCE AND ONLY ONCE. FIRST, THE AC IS
8244 ;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO. THE
8245 ;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
8246 010106 SN=SN+1
8247 777777 777737 ZZ=ZZ+ZZ+1
8248 IFE <ZZ-1>,<ZZ=-2>
8249 034347 200 00 0 00 070253 MOVE [0] ;PRESET AC TO ALL ZEROS
8250 034350 444 00 0 00 070362 EQV [XWD ZZ,-1] ;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
8251 ;RESULT IN C(AC) NON-ZERO
8252 034351 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
8253 STOP^
8254 034352 254 04 0 00 034353 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
8255 034353 324 00 0 00 034354 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
8256 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
8257 ;IN THE SUBTEST) TO LOOP ON ERROR^
8258
8259 ;**********
8260
8261 ;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
8262 ;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
8263 ;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
8264 ;E CONTAINS A ZERO). THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
8265 ;OF THE RESULT IS A ONE ONCE AND ONLY ONCE. FIRST, THE AC IS
8266 ;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO. THE
8267 ;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
8268 010107 SN=SN+1
8269 777777 777677 ZZ=ZZ+ZZ+1
8270 IFE <ZZ-1>,<ZZ=-2>
8271 034354 200 00 0 00 070253 MOVE [0] ;PRESET AC TO ALL ZEROS
8272 034355 444 00 0 00 070363 EQV [XWD ZZ,-1] ;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
8273 ;RESULT IN C(AC) NON-ZERO
8274 034356 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
8275 STOP^
8276 034357 254 04 0 00 034360 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
8277 034360 324 00 0 00 034361 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
8278 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
8279 ;IN THE SUBTEST) TO LOOP ON ERROR^
8280
8281 ;**********
8282
8283 ;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
8284 ;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
8285 ;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
8286 ;E CONTAINS A ZERO). THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
8287 ;OF THE RESULT IS A ONE ONCE AND ONLY ONCE. FIRST, THE AC IS
8288 ;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO. THE
8289 ;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
8290 010110 SN=SN+1
8291 777777 777577 ZZ=ZZ+ZZ+1
8292 IFE <ZZ-1>,<ZZ=-2>
8293 034361 200 00 0 00 070253 MOVE [0] ;PRESET AC TO ALL ZEROS
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29-11
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0175
8294 034362 444 00 0 00 070364 EQV [XWD ZZ,-1] ;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
8295 ;RESULT IN C(AC) NON-ZERO
8296 034363 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
8297 STOP^
8298 034364 254 04 0 00 034365 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
8299 034365 324 00 0 00 034366 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
8300 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
8301 ;IN THE SUBTEST) TO LOOP ON ERROR^
8302
8303 ;**********
8304
8305 ;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
8306 ;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
8307 ;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
8308 ;E CONTAINS A ZERO). THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
8309 ;OF THE RESULT IS A ONE ONCE AND ONLY ONCE. FIRST, THE AC IS
8310 ;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO. THE
8311 ;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
8312 010111 SN=SN+1
8313 777777 777377 ZZ=ZZ+ZZ+1
8314 IFE <ZZ-1>,<ZZ=-2>
8315 034366 200 00 0 00 070253 MOVE [0] ;PRESET AC TO ALL ZEROS
8316 034367 444 00 0 00 070365 EQV [XWD ZZ,-1] ;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
8317 ;RESULT IN C(AC) NON-ZERO
8318 034370 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
8319 STOP^
8320 034371 254 04 0 00 034372 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
8321 034372 324 00 0 00 034373 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
8322 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
8323 ;IN THE SUBTEST) TO LOOP ON ERROR^
8324
8325 ;**********
8326
8327 ;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
8328 ;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
8329 ;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
8330 ;E CONTAINS A ZERO). THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
8331 ;OF THE RESULT IS A ONE ONCE AND ONLY ONCE. FIRST, THE AC IS
8332 ;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO. THE
8333 ;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
8334 010112 SN=SN+1
8335 777777 776777 ZZ=ZZ+ZZ+1
8336 IFE <ZZ-1>,<ZZ=-2>
8337 034373 200 00 0 00 070253 MOVE [0] ;PRESET AC TO ALL ZEROS
8338 034374 444 00 0 00 070366 EQV [XWD ZZ,-1] ;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
8339 ;RESULT IN C(AC) NON-ZERO
8340 034375 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
8341 STOP^
8342 034376 254 04 0 00 034377 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
8343 034377 324 00 0 00 034400 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
8344 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
8345 ;IN THE SUBTEST) TO LOOP ON ERROR^
8346
8347 ;**********
8348
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29-12
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0176
8349 ;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
8350 ;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
8351 ;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
8352 ;E CONTAINS A ZERO). THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
8353 ;OF THE RESULT IS A ONE ONCE AND ONLY ONCE. FIRST, THE AC IS
8354 ;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO. THE
8355 ;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
8356 010113 SN=SN+1
8357 777777 775777 ZZ=ZZ+ZZ+1
8358 IFE <ZZ-1>,<ZZ=-2>
8359 034400 200 00 0 00 070253 MOVE [0] ;PRESET AC TO ALL ZEROS
8360 034401 444 00 0 00 070367 EQV [XWD ZZ,-1] ;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
8361 ;RESULT IN C(AC) NON-ZERO
8362 034402 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
8363 STOP^
8364 034403 254 04 0 00 034404 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
8365 034404 324 00 0 00 034405 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
8366 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
8367 ;IN THE SUBTEST) TO LOOP ON ERROR^
8368
8369 ;**********
8370
8371 ;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
8372 ;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
8373 ;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
8374 ;E CONTAINS A ZERO). THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
8375 ;OF THE RESULT IS A ONE ONCE AND ONLY ONCE. FIRST, THE AC IS
8376 ;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO. THE
8377 ;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
8378 010114 SN=SN+1
8379 777777 773777 ZZ=ZZ+ZZ+1
8380 IFE <ZZ-1>,<ZZ=-2>
8381 034405 200 00 0 00 070253 MOVE [0] ;PRESET AC TO ALL ZEROS
8382 034406 444 00 0 00 070370 EQV [XWD ZZ,-1] ;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
8383 ;RESULT IN C(AC) NON-ZERO
8384 034407 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
8385 STOP^
8386 034410 254 04 0 00 034411 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
8387 034411 324 00 0 00 034412 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
8388 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
8389 ;IN THE SUBTEST) TO LOOP ON ERROR^
8390
8391 ;**********
8392
8393 ;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
8394 ;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
8395 ;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
8396 ;E CONTAINS A ZERO). THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
8397 ;OF THE RESULT IS A ONE ONCE AND ONLY ONCE. FIRST, THE AC IS
8398 ;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO. THE
8399 ;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
8400 010115 SN=SN+1
8401 777777 767777 ZZ=ZZ+ZZ+1
8402 IFE <ZZ-1>,<ZZ=-2>
8403 034412 200 00 0 00 070253 MOVE [0] ;PRESET AC TO ALL ZEROS
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29-13
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0177
8404 034413 444 00 0 00 070371 EQV [XWD ZZ,-1] ;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
8405 ;RESULT IN C(AC) NON-ZERO
8406 034414 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
8407 STOP^
8408 034415 254 04 0 00 034416 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
8409 034416 324 00 0 00 034417 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
8410 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
8411 ;IN THE SUBTEST) TO LOOP ON ERROR^
8412
8413 ;**********
8414
8415 ;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
8416 ;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
8417 ;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
8418 ;E CONTAINS A ZERO). THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
8419 ;OF THE RESULT IS A ONE ONCE AND ONLY ONCE. FIRST, THE AC IS
8420 ;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO. THE
8421 ;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
8422 010116 SN=SN+1
8423 777777 757777 ZZ=ZZ+ZZ+1
8424 IFE <ZZ-1>,<ZZ=-2>
8425 034417 200 00 0 00 070253 MOVE [0] ;PRESET AC TO ALL ZEROS
8426 034420 444 00 0 00 070372 EQV [XWD ZZ,-1] ;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
8427 ;RESULT IN C(AC) NON-ZERO
8428 034421 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
8429 STOP^
8430 034422 254 04 0 00 034423 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
8431 034423 324 00 0 00 034424 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
8432 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
8433 ;IN THE SUBTEST) TO LOOP ON ERROR^
8434
8435 ;**********
8436
8437 ;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
8438 ;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
8439 ;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
8440 ;E CONTAINS A ZERO). THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
8441 ;OF THE RESULT IS A ONE ONCE AND ONLY ONCE. FIRST, THE AC IS
8442 ;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO. THE
8443 ;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
8444 010117 SN=SN+1
8445 777777 737777 ZZ=ZZ+ZZ+1
8446 IFE <ZZ-1>,<ZZ=-2>
8447 034424 200 00 0 00 070253 MOVE [0] ;PRESET AC TO ALL ZEROS
8448 034425 444 00 0 00 070373 EQV [XWD ZZ,-1] ;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
8449 ;RESULT IN C(AC) NON-ZERO
8450 034426 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
8451 STOP^
8452 034427 254 04 0 00 034430 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
8453 034430 324 00 0 00 034431 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
8454 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
8455 ;IN THE SUBTEST) TO LOOP ON ERROR^
8456
8457 ;**********
8458
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29-14
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0178
8459 ;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
8460 ;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
8461 ;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
8462 ;E CONTAINS A ZERO). THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
8463 ;OF THE RESULT IS A ONE ONCE AND ONLY ONCE. FIRST, THE AC IS
8464 ;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO. THE
8465 ;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
8466 010120 SN=SN+1
8467 777777 677777 ZZ=ZZ+ZZ+1
8468 IFE <ZZ-1>,<ZZ=-2>
8469 034431 200 00 0 00 070253 MOVE [0] ;PRESET AC TO ALL ZEROS
8470 034432 444 00 0 00 070374 EQV [XWD ZZ,-1] ;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
8471 ;RESULT IN C(AC) NON-ZERO
8472 034433 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
8473 STOP^
8474 034434 254 04 0 00 034435 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
8475 034435 324 00 0 00 034436 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
8476 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
8477 ;IN THE SUBTEST) TO LOOP ON ERROR^
8478
8479 ;**********
8480
8481 ;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
8482 ;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
8483 ;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
8484 ;E CONTAINS A ZERO). THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
8485 ;OF THE RESULT IS A ONE ONCE AND ONLY ONCE. FIRST, THE AC IS
8486 ;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO. THE
8487 ;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
8488 010121 SN=SN+1
8489 777777 577777 ZZ=ZZ+ZZ+1
8490 IFE <ZZ-1>,<ZZ=-2>
8491 034436 200 00 0 00 070253 MOVE [0] ;PRESET AC TO ALL ZEROS
8492 034437 444 00 0 00 070375 EQV [XWD ZZ,-1] ;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
8493 ;RESULT IN C(AC) NON-ZERO
8494 034440 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
8495 STOP^
8496 034441 254 04 0 00 034442 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
8497 034442 324 00 0 00 034443 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
8498 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
8499 ;IN THE SUBTEST) TO LOOP ON ERROR^
8500
8501 ;**********
8502
8503 ;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
8504 ;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
8505 ;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
8506 ;E CONTAINS A ZERO). THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
8507 ;OF THE RESULT IS A ONE ONCE AND ONLY ONCE. FIRST, THE AC IS
8508 ;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO. THE
8509 ;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
8510 010122 SN=SN+1
8511 777777 377777 ZZ=ZZ+ZZ+1
8512 IFE <ZZ-1>,<ZZ=-2>
8513 034443 200 00 0 00 070253 MOVE [0] ;PRESET AC TO ALL ZEROS
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29-15
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0179
8514 034444 444 00 0 00 070255 EQV [XWD ZZ,-1] ;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
8515 ;RESULT IN C(AC) NON-ZERO
8516 034445 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) NON-ZERO
8517 STOP^
8518 034446 254 04 0 00 034447 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
8519 034447 324 00 0 00 034450 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
8520 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
8521 ;IN THE SUBTEST) TO LOOP ON ERROR^
8522
8523 ;**********
8524
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 30
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0180
8525 ;THIS TEST VERIFIES THAT THE RESULT OF AN AC CONTAINING ALL ZEROS
8526 ;EQUIVALENCED WITH AN E CONTAINING ALL ZEROS IS AN AC CONTAINING ALL
8527 ;ONES; AND FUTHERMORE, IF THIS AC CONTAINING ALL ONES IS EQUIVALANCED
8528 ;WITH AN E CONTAINING ALL ZEROS, THE FINAL RESULT IN THE AC
8529 ;SHOULD BE ALL ZEROS. FIRST, THE AC IS INITIALIZED TO ALL ZEROS, THEN,
8530 ;THIS AC IS EQUIVALENCED TWICE WITH AN E CONTAINING ALL ZEROS. THE AC IS
8531 ;THEN CHECKED FOR ALL ZEROS
8532
8533 034450 200 00 0 00 070253 A10200: MOVE [0] ;CLEAR THE AC
8534 034451 444 00 0 00 070253 EQV [0] ;*EQV SHOULD RESULT IN C(AC)=ALL ONES
8535 034452 444 00 0 00 070253 EQV [0] ;*EQV SHOULD RESULT IN C(AC)=0
8536 034453 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
8537 STOP^
8538 034454 254 04 0 00 034455 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
8539 034455 324 00 0 00 034456 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
8540 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
8541 ;IN THE SUBTEST) TO LOOP ON ERROR^
8542
8543 ;**********
8544
8545 ;THIS TEST VERIFIES THAT THE RESULT OF AN AC CONTAINING ALL ONES
8546 ;EQUIVALENCED WITH AN E CONTAINING ALL ONES IS AN AC CONTAINING ALL ONES;
8547 ;AND FUTHERMORE, IF THIS AC CONTAINING ALL ONES ISEQUIVALENCED WITH AN E
8548 ;CONTAINING ALL ZEROS, THE FINAL RESULT IN THE AC SHOULD BE ALL ZEROS.
8549 ;FIRST, THE AC IS INITIALIZED TO ALL ONES; THEN, THIS AC IS
8550 ;EQUIVALENCED WITH AN E OF ALL ONES. NEXT, THIS SAME AC IS EQUIVALENCED
8551 ;WITH AN E OF ALL ZEROS. THE AC IS THEN CHECKED FOR ALL ZEROS.
8552
8553 034456 200 00 0 00 070254 A10300: MOVE [-1] ;SET C(AC) TO ALL ONES
8554 034457 444 00 0 00 070254 EQV [-1] ;*EQV SHOULD RESULT IN C(AC) OF ALL ONES
8555 034460 444 00 0 00 070253 EQV [0] ;*EQV SHOULD RESULT IN C(AC)=0
8556 034461 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
8557 STOP^
8558 034462 254 04 0 00 034463 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
8559 034463 324 00 0 00 034464 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
8560 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
8561 ;IN THE SUBTEST) TO LOOP ON ERROR^
8562
8563 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 31
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0181
8564 013000 SN=13000
8565 000000 ZZ=0
8566
8567 A13000: REPEAT ^D36,
8568 <;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
8569 ;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
8570 ;ANDED WITH C(E) WHERE C(E)=C(AC). THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
8571 ;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
8572 ;BE ALL ONES IN THE AC. THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
8573 ;WHICH SHOULD RESULT IN C(AC)=0. THE AC IS CHECKED FOR ALL ZEROS.
8574 ;IF C(AC) IS NON-ZERO, THE TEST FAILS. THIS TEST IS REPEATED 36 TIMES TO
8575 ;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
8576 SN=SN+1
8577 ZZ=ZZ+ZZ
8578 IFE ZZ,<ZZ=1>
8579 MOVE [ZZ] ;SETUP AC WITH A ONE IN ONLY ONE BIT
8580 AND [ZZ] ;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
8581 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
8582 EQV [0] ;RESULTS IN C(AC)=0
8583 SKIPE ;PASS TEST IF C(AC)=0
8584 STOP
8585
8586 ;**********
8587 >
8588 ;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
8589 ;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
8590 ;ANDED WITH C(E) WHERE C(E)=C(AC). THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
8591 ;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
8592 ;BE ALL ONES IN THE AC. THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
8593 ;WHICH SHOULD RESULT IN C(AC)=0. THE AC IS CHECKED FOR ALL ZEROS.
8594 ;IF C(AC) IS NON-ZERO, THE TEST FAILS. THIS TEST IS REPEATED 36 TIMES TO
8595 ;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
8596 013001 SN=SN+1
8597 000000 ZZ=ZZ+ZZ
8598 000001 IFE ZZ,<ZZ=1>
8599 034464 200 00 0 00 070265 MOVE [ZZ] ;SETUP AC WITH A ONE IN ONLY ONE BIT
8600 034465 404 00 0 00 070265 AND [ZZ] ;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
8601 034466 444 00 0 00 070265 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
8602 034467 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
8603 034470 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
8604 STOP^
8605 034471 254 04 0 00 034472 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
8606 034472 324 00 0 00 034473 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
8607 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
8608 ;IN THE SUBTEST) TO LOOP ON ERROR^
8609
8610 ;**********
8611
8612 ;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
8613 ;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
8614 ;ANDED WITH C(E) WHERE C(E)=C(AC). THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
8615 ;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
8616 ;BE ALL ONES IN THE AC. THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
8617 ;WHICH SHOULD RESULT IN C(AC)=0. THE AC IS CHECKED FOR ALL ZEROS.
8618 ;IF C(AC) IS NON-ZERO, THE TEST FAILS. THIS TEST IS REPEATED 36 TIMES TO
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 31-1
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0182
8619 ;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
8620 013002 SN=SN+1
8621 000002 ZZ=ZZ+ZZ
8622 IFE ZZ,<ZZ=1>
8623 034473 200 00 0 00 070266 MOVE [ZZ] ;SETUP AC WITH A ONE IN ONLY ONE BIT
8624 034474 404 00 0 00 070266 AND [ZZ] ;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
8625 034475 444 00 0 00 070266 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
8626 034476 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
8627 034477 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
8628 STOP^
8629 034500 254 04 0 00 034501 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
8630 034501 324 00 0 00 034502 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
8631 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
8632 ;IN THE SUBTEST) TO LOOP ON ERROR^
8633
8634 ;**********
8635
8636 ;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
8637 ;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
8638 ;ANDED WITH C(E) WHERE C(E)=C(AC). THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
8639 ;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
8640 ;BE ALL ONES IN THE AC. THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
8641 ;WHICH SHOULD RESULT IN C(AC)=0. THE AC IS CHECKED FOR ALL ZEROS.
8642 ;IF C(AC) IS NON-ZERO, THE TEST FAILS. THIS TEST IS REPEATED 36 TIMES TO
8643 ;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
8644 013003 SN=SN+1
8645 000004 ZZ=ZZ+ZZ
8646 IFE ZZ,<ZZ=1>
8647 034502 200 00 0 00 070267 MOVE [ZZ] ;SETUP AC WITH A ONE IN ONLY ONE BIT
8648 034503 404 00 0 00 070267 AND [ZZ] ;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
8649 034504 444 00 0 00 070267 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
8650 034505 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
8651 034506 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
8652 STOP^
8653 034507 254 04 0 00 034510 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
8654 034510 324 00 0 00 034511 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
8655 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
8656 ;IN THE SUBTEST) TO LOOP ON ERROR^
8657
8658 ;**********
8659
8660 ;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
8661 ;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
8662 ;ANDED WITH C(E) WHERE C(E)=C(AC). THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
8663 ;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
8664 ;BE ALL ONES IN THE AC. THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
8665 ;WHICH SHOULD RESULT IN C(AC)=0. THE AC IS CHECKED FOR ALL ZEROS.
8666 ;IF C(AC) IS NON-ZERO, THE TEST FAILS. THIS TEST IS REPEATED 36 TIMES TO
8667 ;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
8668 013004 SN=SN+1
8669 000010 ZZ=ZZ+ZZ
8670 IFE ZZ,<ZZ=1>
8671 034511 200 00 0 00 070270 MOVE [ZZ] ;SETUP AC WITH A ONE IN ONLY ONE BIT
8672 034512 404 00 0 00 070270 AND [ZZ] ;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
8673 034513 444 00 0 00 070270 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 31-2
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0183
8674 034514 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
8675 034515 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
8676 STOP^
8677 034516 254 04 0 00 034517 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
8678 034517 324 00 0 00 034520 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
8679 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
8680 ;IN THE SUBTEST) TO LOOP ON ERROR^
8681
8682 ;**********
8683
8684 ;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
8685 ;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
8686 ;ANDED WITH C(E) WHERE C(E)=C(AC). THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
8687 ;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
8688 ;BE ALL ONES IN THE AC. THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
8689 ;WHICH SHOULD RESULT IN C(AC)=0. THE AC IS CHECKED FOR ALL ZEROS.
8690 ;IF C(AC) IS NON-ZERO, THE TEST FAILS. THIS TEST IS REPEATED 36 TIMES TO
8691 ;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
8692 013005 SN=SN+1
8693 000020 ZZ=ZZ+ZZ
8694 IFE ZZ,<ZZ=1>
8695 034520 200 00 0 00 070271 MOVE [ZZ] ;SETUP AC WITH A ONE IN ONLY ONE BIT
8696 034521 404 00 0 00 070271 AND [ZZ] ;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
8697 034522 444 00 0 00 070271 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
8698 034523 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
8699 034524 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
8700 STOP^
8701 034525 254 04 0 00 034526 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
8702 034526 324 00 0 00 034527 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
8703 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
8704 ;IN THE SUBTEST) TO LOOP ON ERROR^
8705
8706 ;**********
8707
8708 ;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
8709 ;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
8710 ;ANDED WITH C(E) WHERE C(E)=C(AC). THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
8711 ;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
8712 ;BE ALL ONES IN THE AC. THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
8713 ;WHICH SHOULD RESULT IN C(AC)=0. THE AC IS CHECKED FOR ALL ZEROS.
8714 ;IF C(AC) IS NON-ZERO, THE TEST FAILS. THIS TEST IS REPEATED 36 TIMES TO
8715 ;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
8716 013006 SN=SN+1
8717 000040 ZZ=ZZ+ZZ
8718 IFE ZZ,<ZZ=1>
8719 034527 200 00 0 00 070272 MOVE [ZZ] ;SETUP AC WITH A ONE IN ONLY ONE BIT
8720 034530 404 00 0 00 070272 AND [ZZ] ;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
8721 034531 444 00 0 00 070272 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
8722 034532 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
8723 034533 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
8724 STOP^
8725 034534 254 04 0 00 034535 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
8726 034535 324 00 0 00 034536 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
8727 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
8728 ;IN THE SUBTEST) TO LOOP ON ERROR^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 31-3
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0184
8729
8730 ;**********
8731
8732 ;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
8733 ;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
8734 ;ANDED WITH C(E) WHERE C(E)=C(AC). THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
8735 ;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
8736 ;BE ALL ONES IN THE AC. THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
8737 ;WHICH SHOULD RESULT IN C(AC)=0. THE AC IS CHECKED FOR ALL ZEROS.
8738 ;IF C(AC) IS NON-ZERO, THE TEST FAILS. THIS TEST IS REPEATED 36 TIMES TO
8739 ;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
8740 013007 SN=SN+1
8741 000100 ZZ=ZZ+ZZ
8742 IFE ZZ,<ZZ=1>
8743 034536 200 00 0 00 070273 MOVE [ZZ] ;SETUP AC WITH A ONE IN ONLY ONE BIT
8744 034537 404 00 0 00 070273 AND [ZZ] ;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
8745 034540 444 00 0 00 070273 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
8746 034541 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
8747 034542 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
8748 STOP^
8749 034543 254 04 0 00 034544 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
8750 034544 324 00 0 00 034545 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
8751 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
8752 ;IN THE SUBTEST) TO LOOP ON ERROR^
8753
8754 ;**********
8755
8756 ;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
8757 ;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
8758 ;ANDED WITH C(E) WHERE C(E)=C(AC). THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
8759 ;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
8760 ;BE ALL ONES IN THE AC. THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
8761 ;WHICH SHOULD RESULT IN C(AC)=0. THE AC IS CHECKED FOR ALL ZEROS.
8762 ;IF C(AC) IS NON-ZERO, THE TEST FAILS. THIS TEST IS REPEATED 36 TIMES TO
8763 ;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
8764 013010 SN=SN+1
8765 000200 ZZ=ZZ+ZZ
8766 IFE ZZ,<ZZ=1>
8767 034545 200 00 0 00 070274 MOVE [ZZ] ;SETUP AC WITH A ONE IN ONLY ONE BIT
8768 034546 404 00 0 00 070274 AND [ZZ] ;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
8769 034547 444 00 0 00 070274 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
8770 034550 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
8771 034551 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
8772 STOP^
8773 034552 254 04 0 00 034553 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
8774 034553 324 00 0 00 034554 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
8775 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
8776 ;IN THE SUBTEST) TO LOOP ON ERROR^
8777
8778 ;**********
8779
8780 ;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
8781 ;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
8782 ;ANDED WITH C(E) WHERE C(E)=C(AC). THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
8783 ;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 31-4
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0185
8784 ;BE ALL ONES IN THE AC. THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
8785 ;WHICH SHOULD RESULT IN C(AC)=0. THE AC IS CHECKED FOR ALL ZEROS.
8786 ;IF C(AC) IS NON-ZERO, THE TEST FAILS. THIS TEST IS REPEATED 36 TIMES TO
8787 ;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
8788 013011 SN=SN+1
8789 000400 ZZ=ZZ+ZZ
8790 IFE ZZ,<ZZ=1>
8791 034554 200 00 0 00 070275 MOVE [ZZ] ;SETUP AC WITH A ONE IN ONLY ONE BIT
8792 034555 404 00 0 00 070275 AND [ZZ] ;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
8793 034556 444 00 0 00 070275 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
8794 034557 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
8795 034560 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
8796 STOP^
8797 034561 254 04 0 00 034562 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
8798 034562 324 00 0 00 034563 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
8799 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
8800 ;IN THE SUBTEST) TO LOOP ON ERROR^
8801
8802 ;**********
8803
8804 ;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
8805 ;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
8806 ;ANDED WITH C(E) WHERE C(E)=C(AC). THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
8807 ;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
8808 ;BE ALL ONES IN THE AC. THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
8809 ;WHICH SHOULD RESULT IN C(AC)=0. THE AC IS CHECKED FOR ALL ZEROS.
8810 ;IF C(AC) IS NON-ZERO, THE TEST FAILS. THIS TEST IS REPEATED 36 TIMES TO
8811 ;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
8812 013012 SN=SN+1
8813 001000 ZZ=ZZ+ZZ
8814 IFE ZZ,<ZZ=1>
8815 034563 200 00 0 00 070276 MOVE [ZZ] ;SETUP AC WITH A ONE IN ONLY ONE BIT
8816 034564 404 00 0 00 070276 AND [ZZ] ;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
8817 034565 444 00 0 00 070276 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
8818 034566 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
8819 034567 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
8820 STOP^
8821 034570 254 04 0 00 034571 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
8822 034571 324 00 0 00 034572 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
8823 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
8824 ;IN THE SUBTEST) TO LOOP ON ERROR^
8825
8826 ;**********
8827
8828 ;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
8829 ;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
8830 ;ANDED WITH C(E) WHERE C(E)=C(AC). THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
8831 ;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
8832 ;BE ALL ONES IN THE AC. THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
8833 ;WHICH SHOULD RESULT IN C(AC)=0. THE AC IS CHECKED FOR ALL ZEROS.
8834 ;IF C(AC) IS NON-ZERO, THE TEST FAILS. THIS TEST IS REPEATED 36 TIMES TO
8835 ;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
8836 013013 SN=SN+1
8837 002000 ZZ=ZZ+ZZ
8838 IFE ZZ,<ZZ=1>
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 31-5
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0186
8839 034572 200 00 0 00 070277 MOVE [ZZ] ;SETUP AC WITH A ONE IN ONLY ONE BIT
8840 034573 404 00 0 00 070277 AND [ZZ] ;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
8841 034574 444 00 0 00 070277 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
8842 034575 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
8843 034576 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
8844 STOP^
8845 034577 254 04 0 00 034600 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
8846 034600 324 00 0 00 034601 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
8847 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
8848 ;IN THE SUBTEST) TO LOOP ON ERROR^
8849
8850 ;**********
8851
8852 ;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
8853 ;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
8854 ;ANDED WITH C(E) WHERE C(E)=C(AC). THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
8855 ;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
8856 ;BE ALL ONES IN THE AC. THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
8857 ;WHICH SHOULD RESULT IN C(AC)=0. THE AC IS CHECKED FOR ALL ZEROS.
8858 ;IF C(AC) IS NON-ZERO, THE TEST FAILS. THIS TEST IS REPEATED 36 TIMES TO
8859 ;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
8860 013014 SN=SN+1
8861 004000 ZZ=ZZ+ZZ
8862 IFE ZZ,<ZZ=1>
8863 034601 200 00 0 00 070300 MOVE [ZZ] ;SETUP AC WITH A ONE IN ONLY ONE BIT
8864 034602 404 00 0 00 070300 AND [ZZ] ;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
8865 034603 444 00 0 00 070300 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
8866 034604 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
8867 034605 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
8868 STOP^
8869 034606 254 04 0 00 034607 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
8870 034607 324 00 0 00 034610 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
8871 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
8872 ;IN THE SUBTEST) TO LOOP ON ERROR^
8873
8874 ;**********
8875
8876 ;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
8877 ;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
8878 ;ANDED WITH C(E) WHERE C(E)=C(AC). THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
8879 ;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
8880 ;BE ALL ONES IN THE AC. THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
8881 ;WHICH SHOULD RESULT IN C(AC)=0. THE AC IS CHECKED FOR ALL ZEROS.
8882 ;IF C(AC) IS NON-ZERO, THE TEST FAILS. THIS TEST IS REPEATED 36 TIMES TO
8883 ;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
8884 013015 SN=SN+1
8885 010000 ZZ=ZZ+ZZ
8886 IFE ZZ,<ZZ=1>
8887 034610 200 00 0 00 070301 MOVE [ZZ] ;SETUP AC WITH A ONE IN ONLY ONE BIT
8888 034611 404 00 0 00 070301 AND [ZZ] ;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
8889 034612 444 00 0 00 070301 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
8890 034613 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
8891 034614 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
8892 STOP^
8893 034615 254 04 0 00 034616 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 31-6
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0187
8894 034616 324 00 0 00 034617 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
8895 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
8896 ;IN THE SUBTEST) TO LOOP ON ERROR^
8897
8898 ;**********
8899
8900 ;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
8901 ;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
8902 ;ANDED WITH C(E) WHERE C(E)=C(AC). THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
8903 ;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
8904 ;BE ALL ONES IN THE AC. THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
8905 ;WHICH SHOULD RESULT IN C(AC)=0. THE AC IS CHECKED FOR ALL ZEROS.
8906 ;IF C(AC) IS NON-ZERO, THE TEST FAILS. THIS TEST IS REPEATED 36 TIMES TO
8907 ;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
8908 013016 SN=SN+1
8909 020000 ZZ=ZZ+ZZ
8910 IFE ZZ,<ZZ=1>
8911 034617 200 00 0 00 070302 MOVE [ZZ] ;SETUP AC WITH A ONE IN ONLY ONE BIT
8912 034620 404 00 0 00 070302 AND [ZZ] ;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
8913 034621 444 00 0 00 070302 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
8914 034622 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
8915 034623 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
8916 STOP^
8917 034624 254 04 0 00 034625 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
8918 034625 324 00 0 00 034626 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
8919 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
8920 ;IN THE SUBTEST) TO LOOP ON ERROR^
8921
8922 ;**********
8923
8924 ;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
8925 ;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
8926 ;ANDED WITH C(E) WHERE C(E)=C(AC). THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
8927 ;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
8928 ;BE ALL ONES IN THE AC. THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
8929 ;WHICH SHOULD RESULT IN C(AC)=0. THE AC IS CHECKED FOR ALL ZEROS.
8930 ;IF C(AC) IS NON-ZERO, THE TEST FAILS. THIS TEST IS REPEATED 36 TIMES TO
8931 ;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
8932 013017 SN=SN+1
8933 040000 ZZ=ZZ+ZZ
8934 IFE ZZ,<ZZ=1>
8935 034626 200 00 0 00 070303 MOVE [ZZ] ;SETUP AC WITH A ONE IN ONLY ONE BIT
8936 034627 404 00 0 00 070303 AND [ZZ] ;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
8937 034630 444 00 0 00 070303 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
8938 034631 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
8939 034632 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
8940 STOP^
8941 034633 254 04 0 00 034634 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
8942 034634 324 00 0 00 034635 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
8943 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
8944 ;IN THE SUBTEST) TO LOOP ON ERROR^
8945
8946 ;**********
8947
8948 ;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 31-7
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0188
8949 ;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
8950 ;ANDED WITH C(E) WHERE C(E)=C(AC). THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
8951 ;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
8952 ;BE ALL ONES IN THE AC. THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
8953 ;WHICH SHOULD RESULT IN C(AC)=0. THE AC IS CHECKED FOR ALL ZEROS.
8954 ;IF C(AC) IS NON-ZERO, THE TEST FAILS. THIS TEST IS REPEATED 36 TIMES TO
8955 ;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
8956 013020 SN=SN+1
8957 100000 ZZ=ZZ+ZZ
8958 IFE ZZ,<ZZ=1>
8959 034635 200 00 0 00 070304 MOVE [ZZ] ;SETUP AC WITH A ONE IN ONLY ONE BIT
8960 034636 404 00 0 00 070304 AND [ZZ] ;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
8961 034637 444 00 0 00 070304 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
8962 034640 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
8963 034641 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
8964 STOP^
8965 034642 254 04 0 00 034643 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
8966 034643 324 00 0 00 034644 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
8967 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
8968 ;IN THE SUBTEST) TO LOOP ON ERROR^
8969
8970 ;**********
8971
8972 ;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
8973 ;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
8974 ;ANDED WITH C(E) WHERE C(E)=C(AC). THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
8975 ;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
8976 ;BE ALL ONES IN THE AC. THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
8977 ;WHICH SHOULD RESULT IN C(AC)=0. THE AC IS CHECKED FOR ALL ZEROS.
8978 ;IF C(AC) IS NON-ZERO, THE TEST FAILS. THIS TEST IS REPEATED 36 TIMES TO
8979 ;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
8980 013021 SN=SN+1
8981 200000 ZZ=ZZ+ZZ
8982 IFE ZZ,<ZZ=1>
8983 034644 200 00 0 00 070305 MOVE [ZZ] ;SETUP AC WITH A ONE IN ONLY ONE BIT
8984 034645 404 00 0 00 070305 AND [ZZ] ;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
8985 034646 444 00 0 00 070305 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
8986 034647 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
8987 034650 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
8988 STOP^
8989 034651 254 04 0 00 034652 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
8990 034652 324 00 0 00 034653 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
8991 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
8992 ;IN THE SUBTEST) TO LOOP ON ERROR^
8993
8994 ;**********
8995
8996 ;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
8997 ;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
8998 ;ANDED WITH C(E) WHERE C(E)=C(AC). THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
8999 ;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
9000 ;BE ALL ONES IN THE AC. THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
9001 ;WHICH SHOULD RESULT IN C(AC)=0. THE AC IS CHECKED FOR ALL ZEROS.
9002 ;IF C(AC) IS NON-ZERO, THE TEST FAILS. THIS TEST IS REPEATED 36 TIMES TO
9003 ;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 31-8
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0189
9004 013022 SN=SN+1
9005 400000 ZZ=ZZ+ZZ
9006 IFE ZZ,<ZZ=1>
9007 034653 200 00 0 00 070306 MOVE [ZZ] ;SETUP AC WITH A ONE IN ONLY ONE BIT
9008 034654 404 00 0 00 070306 AND [ZZ] ;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
9009 034655 444 00 0 00 070306 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
9010 034656 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
9011 034657 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
9012 STOP^
9013 034660 254 04 0 00 034661 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
9014 034661 324 00 0 00 034662 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
9015 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
9016 ;IN THE SUBTEST) TO LOOP ON ERROR^
9017
9018 ;**********
9019
9020 ;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
9021 ;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
9022 ;ANDED WITH C(E) WHERE C(E)=C(AC). THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
9023 ;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
9024 ;BE ALL ONES IN THE AC. THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
9025 ;WHICH SHOULD RESULT IN C(AC)=0. THE AC IS CHECKED FOR ALL ZEROS.
9026 ;IF C(AC) IS NON-ZERO, THE TEST FAILS. THIS TEST IS REPEATED 36 TIMES TO
9027 ;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
9028 013023 SN=SN+1
9029 000001 000000 ZZ=ZZ+ZZ
9030 IFE ZZ,<ZZ=1>
9031 034662 200 00 0 00 070307 MOVE [ZZ] ;SETUP AC WITH A ONE IN ONLY ONE BIT
9032 034663 404 00 0 00 070307 AND [ZZ] ;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
9033 034664 444 00 0 00 070307 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
9034 034665 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
9035 034666 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
9036 STOP^
9037 034667 254 04 0 00 034670 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
9038 034670 324 00 0 00 034671 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
9039 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
9040 ;IN THE SUBTEST) TO LOOP ON ERROR^
9041
9042 ;**********
9043
9044 ;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
9045 ;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
9046 ;ANDED WITH C(E) WHERE C(E)=C(AC). THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
9047 ;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
9048 ;BE ALL ONES IN THE AC. THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
9049 ;WHICH SHOULD RESULT IN C(AC)=0. THE AC IS CHECKED FOR ALL ZEROS.
9050 ;IF C(AC) IS NON-ZERO, THE TEST FAILS. THIS TEST IS REPEATED 36 TIMES TO
9051 ;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
9052 013024 SN=SN+1
9053 000002 000000 ZZ=ZZ+ZZ
9054 IFE ZZ,<ZZ=1>
9055 034671 200 00 0 00 070310 MOVE [ZZ] ;SETUP AC WITH A ONE IN ONLY ONE BIT
9056 034672 404 00 0 00 070310 AND [ZZ] ;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
9057 034673 444 00 0 00 070310 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
9058 034674 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 31-9
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0190
9059 034675 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
9060 STOP^
9061 034676 254 04 0 00 034677 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
9062 034677 324 00 0 00 034700 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
9063 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
9064 ;IN THE SUBTEST) TO LOOP ON ERROR^
9065
9066 ;**********
9067
9068 ;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
9069 ;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
9070 ;ANDED WITH C(E) WHERE C(E)=C(AC). THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
9071 ;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
9072 ;BE ALL ONES IN THE AC. THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
9073 ;WHICH SHOULD RESULT IN C(AC)=0. THE AC IS CHECKED FOR ALL ZEROS.
9074 ;IF C(AC) IS NON-ZERO, THE TEST FAILS. THIS TEST IS REPEATED 36 TIMES TO
9075 ;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
9076 013025 SN=SN+1
9077 000004 000000 ZZ=ZZ+ZZ
9078 IFE ZZ,<ZZ=1>
9079 034700 200 00 0 00 070311 MOVE [ZZ] ;SETUP AC WITH A ONE IN ONLY ONE BIT
9080 034701 404 00 0 00 070311 AND [ZZ] ;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
9081 034702 444 00 0 00 070311 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
9082 034703 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
9083 034704 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
9084 STOP^
9085 034705 254 04 0 00 034706 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
9086 034706 324 00 0 00 034707 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
9087 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
9088 ;IN THE SUBTEST) TO LOOP ON ERROR^
9089
9090 ;**********
9091
9092 ;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
9093 ;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
9094 ;ANDED WITH C(E) WHERE C(E)=C(AC). THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
9095 ;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
9096 ;BE ALL ONES IN THE AC. THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
9097 ;WHICH SHOULD RESULT IN C(AC)=0. THE AC IS CHECKED FOR ALL ZEROS.
9098 ;IF C(AC) IS NON-ZERO, THE TEST FAILS. THIS TEST IS REPEATED 36 TIMES TO
9099 ;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
9100 013026 SN=SN+1
9101 000010 000000 ZZ=ZZ+ZZ
9102 IFE ZZ,<ZZ=1>
9103 034707 200 00 0 00 070312 MOVE [ZZ] ;SETUP AC WITH A ONE IN ONLY ONE BIT
9104 034710 404 00 0 00 070312 AND [ZZ] ;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
9105 034711 444 00 0 00 070312 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
9106 034712 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
9107 034713 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
9108 STOP^
9109 034714 254 04 0 00 034715 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
9110 034715 324 00 0 00 034716 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
9111 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
9112 ;IN THE SUBTEST) TO LOOP ON ERROR^
9113
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 31-10
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0191
9114 ;**********
9115
9116 ;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
9117 ;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
9118 ;ANDED WITH C(E) WHERE C(E)=C(AC). THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
9119 ;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
9120 ;BE ALL ONES IN THE AC. THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
9121 ;WHICH SHOULD RESULT IN C(AC)=0. THE AC IS CHECKED FOR ALL ZEROS.
9122 ;IF C(AC) IS NON-ZERO, THE TEST FAILS. THIS TEST IS REPEATED 36 TIMES TO
9123 ;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
9124 013027 SN=SN+1
9125 000020 000000 ZZ=ZZ+ZZ
9126 IFE ZZ,<ZZ=1>
9127 034716 200 00 0 00 070313 MOVE [ZZ] ;SETUP AC WITH A ONE IN ONLY ONE BIT
9128 034717 404 00 0 00 070313 AND [ZZ] ;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
9129 034720 444 00 0 00 070313 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
9130 034721 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
9131 034722 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
9132 STOP^
9133 034723 254 04 0 00 034724 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
9134 034724 324 00 0 00 034725 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
9135 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
9136 ;IN THE SUBTEST) TO LOOP ON ERROR^
9137
9138 ;**********
9139
9140 ;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
9141 ;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
9142 ;ANDED WITH C(E) WHERE C(E)=C(AC). THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
9143 ;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
9144 ;BE ALL ONES IN THE AC. THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
9145 ;WHICH SHOULD RESULT IN C(AC)=0. THE AC IS CHECKED FOR ALL ZEROS.
9146 ;IF C(AC) IS NON-ZERO, THE TEST FAILS. THIS TEST IS REPEATED 36 TIMES TO
9147 ;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
9148 013030 SN=SN+1
9149 000040 000000 ZZ=ZZ+ZZ
9150 IFE ZZ,<ZZ=1>
9151 034725 200 00 0 00 070314 MOVE [ZZ] ;SETUP AC WITH A ONE IN ONLY ONE BIT
9152 034726 404 00 0 00 070314 AND [ZZ] ;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
9153 034727 444 00 0 00 070314 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
9154 034730 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
9155 034731 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
9156 STOP^
9157 034732 254 04 0 00 034733 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
9158 034733 324 00 0 00 034734 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
9159 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
9160 ;IN THE SUBTEST) TO LOOP ON ERROR^
9161
9162 ;**********
9163
9164 ;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
9165 ;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
9166 ;ANDED WITH C(E) WHERE C(E)=C(AC). THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
9167 ;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
9168 ;BE ALL ONES IN THE AC. THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 31-11
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0192
9169 ;WHICH SHOULD RESULT IN C(AC)=0. THE AC IS CHECKED FOR ALL ZEROS.
9170 ;IF C(AC) IS NON-ZERO, THE TEST FAILS. THIS TEST IS REPEATED 36 TIMES TO
9171 ;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
9172 013031 SN=SN+1
9173 000100 000000 ZZ=ZZ+ZZ
9174 IFE ZZ,<ZZ=1>
9175 034734 200 00 0 00 070315 MOVE [ZZ] ;SETUP AC WITH A ONE IN ONLY ONE BIT
9176 034735 404 00 0 00 070315 AND [ZZ] ;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
9177 034736 444 00 0 00 070315 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
9178 034737 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
9179 034740 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
9180 STOP^
9181 034741 254 04 0 00 034742 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
9182 034742 324 00 0 00 034743 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
9183 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
9184 ;IN THE SUBTEST) TO LOOP ON ERROR^
9185
9186 ;**********
9187
9188 ;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
9189 ;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
9190 ;ANDED WITH C(E) WHERE C(E)=C(AC). THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
9191 ;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
9192 ;BE ALL ONES IN THE AC. THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
9193 ;WHICH SHOULD RESULT IN C(AC)=0. THE AC IS CHECKED FOR ALL ZEROS.
9194 ;IF C(AC) IS NON-ZERO, THE TEST FAILS. THIS TEST IS REPEATED 36 TIMES TO
9195 ;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
9196 013032 SN=SN+1
9197 000200 000000 ZZ=ZZ+ZZ
9198 IFE ZZ,<ZZ=1>
9199 034743 200 00 0 00 070316 MOVE [ZZ] ;SETUP AC WITH A ONE IN ONLY ONE BIT
9200 034744 404 00 0 00 070316 AND [ZZ] ;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
9201 034745 444 00 0 00 070316 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
9202 034746 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
9203 034747 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
9204 STOP^
9205 034750 254 04 0 00 034751 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
9206 034751 324 00 0 00 034752 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
9207 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
9208 ;IN THE SUBTEST) TO LOOP ON ERROR^
9209
9210 ;**********
9211
9212 ;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
9213 ;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
9214 ;ANDED WITH C(E) WHERE C(E)=C(AC). THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
9215 ;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
9216 ;BE ALL ONES IN THE AC. THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
9217 ;WHICH SHOULD RESULT IN C(AC)=0. THE AC IS CHECKED FOR ALL ZEROS.
9218 ;IF C(AC) IS NON-ZERO, THE TEST FAILS. THIS TEST IS REPEATED 36 TIMES TO
9219 ;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
9220 013033 SN=SN+1
9221 000400 000000 ZZ=ZZ+ZZ
9222 IFE ZZ,<ZZ=1>
9223 034752 200 00 0 00 070264 MOVE [ZZ] ;SETUP AC WITH A ONE IN ONLY ONE BIT
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 31-12
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0193
9224 034753 404 00 0 00 070264 AND [ZZ] ;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
9225 034754 444 00 0 00 070264 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
9226 034755 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
9227 034756 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
9228 STOP^
9229 034757 254 04 0 00 034760 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
9230 034760 324 00 0 00 034761 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
9231 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
9232 ;IN THE SUBTEST) TO LOOP ON ERROR^
9233
9234 ;**********
9235
9236 ;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
9237 ;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
9238 ;ANDED WITH C(E) WHERE C(E)=C(AC). THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
9239 ;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
9240 ;BE ALL ONES IN THE AC. THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
9241 ;WHICH SHOULD RESULT IN C(AC)=0. THE AC IS CHECKED FOR ALL ZEROS.
9242 ;IF C(AC) IS NON-ZERO, THE TEST FAILS. THIS TEST IS REPEATED 36 TIMES TO
9243 ;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
9244 013034 SN=SN+1
9245 001000 000000 ZZ=ZZ+ZZ
9246 IFE ZZ,<ZZ=1>
9247 034761 200 00 0 00 070317 MOVE [ZZ] ;SETUP AC WITH A ONE IN ONLY ONE BIT
9248 034762 404 00 0 00 070317 AND [ZZ] ;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
9249 034763 444 00 0 00 070317 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
9250 034764 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
9251 034765 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
9252 STOP^
9253 034766 254 04 0 00 034767 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
9254 034767 324 00 0 00 034770 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
9255 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
9256 ;IN THE SUBTEST) TO LOOP ON ERROR^
9257
9258 ;**********
9259
9260 ;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
9261 ;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
9262 ;ANDED WITH C(E) WHERE C(E)=C(AC). THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
9263 ;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
9264 ;BE ALL ONES IN THE AC. THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
9265 ;WHICH SHOULD RESULT IN C(AC)=0. THE AC IS CHECKED FOR ALL ZEROS.
9266 ;IF C(AC) IS NON-ZERO, THE TEST FAILS. THIS TEST IS REPEATED 36 TIMES TO
9267 ;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
9268 013035 SN=SN+1
9269 002000 000000 ZZ=ZZ+ZZ
9270 IFE ZZ,<ZZ=1>
9271 034770 200 00 0 00 070320 MOVE [ZZ] ;SETUP AC WITH A ONE IN ONLY ONE BIT
9272 034771 404 00 0 00 070320 AND [ZZ] ;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
9273 034772 444 00 0 00 070320 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
9274 034773 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
9275 034774 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
9276 STOP^
9277 034775 254 04 0 00 034776 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
9278 034776 324 00 0 00 034777 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 31-13
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0194
9279 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
9280 ;IN THE SUBTEST) TO LOOP ON ERROR^
9281
9282 ;**********
9283
9284 ;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
9285 ;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
9286 ;ANDED WITH C(E) WHERE C(E)=C(AC). THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
9287 ;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
9288 ;BE ALL ONES IN THE AC. THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
9289 ;WHICH SHOULD RESULT IN C(AC)=0. THE AC IS CHECKED FOR ALL ZEROS.
9290 ;IF C(AC) IS NON-ZERO, THE TEST FAILS. THIS TEST IS REPEATED 36 TIMES TO
9291 ;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
9292 013036 SN=SN+1
9293 004000 000000 ZZ=ZZ+ZZ
9294 IFE ZZ,<ZZ=1>
9295 034777 200 00 0 00 070321 MOVE [ZZ] ;SETUP AC WITH A ONE IN ONLY ONE BIT
9296 035000 404 00 0 00 070321 AND [ZZ] ;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
9297 035001 444 00 0 00 070321 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
9298 035002 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
9299 035003 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
9300 STOP^
9301 035004 254 04 0 00 035005 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
9302 035005 324 00 0 00 035006 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
9303 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
9304 ;IN THE SUBTEST) TO LOOP ON ERROR^
9305
9306 ;**********
9307
9308 ;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
9309 ;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
9310 ;ANDED WITH C(E) WHERE C(E)=C(AC). THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
9311 ;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
9312 ;BE ALL ONES IN THE AC. THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
9313 ;WHICH SHOULD RESULT IN C(AC)=0. THE AC IS CHECKED FOR ALL ZEROS.
9314 ;IF C(AC) IS NON-ZERO, THE TEST FAILS. THIS TEST IS REPEATED 36 TIMES TO
9315 ;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
9316 013037 SN=SN+1
9317 010000 000000 ZZ=ZZ+ZZ
9318 IFE ZZ,<ZZ=1>
9319 035006 200 00 0 00 070322 MOVE [ZZ] ;SETUP AC WITH A ONE IN ONLY ONE BIT
9320 035007 404 00 0 00 070322 AND [ZZ] ;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
9321 035010 444 00 0 00 070322 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
9322 035011 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
9323 035012 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
9324 STOP^
9325 035013 254 04 0 00 035014 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
9326 035014 324 00 0 00 035015 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
9327 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
9328 ;IN THE SUBTEST) TO LOOP ON ERROR^
9329
9330 ;**********
9331
9332 ;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
9333 ;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 31-14
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0195
9334 ;ANDED WITH C(E) WHERE C(E)=C(AC). THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
9335 ;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
9336 ;BE ALL ONES IN THE AC. THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
9337 ;WHICH SHOULD RESULT IN C(AC)=0. THE AC IS CHECKED FOR ALL ZEROS.
9338 ;IF C(AC) IS NON-ZERO, THE TEST FAILS. THIS TEST IS REPEATED 36 TIMES TO
9339 ;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
9340 013040 SN=SN+1
9341 020000 000000 ZZ=ZZ+ZZ
9342 IFE ZZ,<ZZ=1>
9343 035015 200 00 0 00 070323 MOVE [ZZ] ;SETUP AC WITH A ONE IN ONLY ONE BIT
9344 035016 404 00 0 00 070323 AND [ZZ] ;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
9345 035017 444 00 0 00 070323 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
9346 035020 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
9347 035021 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
9348 STOP^
9349 035022 254 04 0 00 035023 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
9350 035023 324 00 0 00 035024 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
9351 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
9352 ;IN THE SUBTEST) TO LOOP ON ERROR^
9353
9354 ;**********
9355
9356 ;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
9357 ;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
9358 ;ANDED WITH C(E) WHERE C(E)=C(AC). THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
9359 ;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
9360 ;BE ALL ONES IN THE AC. THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
9361 ;WHICH SHOULD RESULT IN C(AC)=0. THE AC IS CHECKED FOR ALL ZEROS.
9362 ;IF C(AC) IS NON-ZERO, THE TEST FAILS. THIS TEST IS REPEATED 36 TIMES TO
9363 ;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
9364 013041 SN=SN+1
9365 040000 000000 ZZ=ZZ+ZZ
9366 IFE ZZ,<ZZ=1>
9367 035024 200 00 0 00 070324 MOVE [ZZ] ;SETUP AC WITH A ONE IN ONLY ONE BIT
9368 035025 404 00 0 00 070324 AND [ZZ] ;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
9369 035026 444 00 0 00 070324 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
9370 035027 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
9371 035030 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
9372 STOP^
9373 035031 254 04 0 00 035032 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
9374 035032 324 00 0 00 035033 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
9375 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
9376 ;IN THE SUBTEST) TO LOOP ON ERROR^
9377
9378 ;**********
9379
9380 ;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
9381 ;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
9382 ;ANDED WITH C(E) WHERE C(E)=C(AC). THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
9383 ;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
9384 ;BE ALL ONES IN THE AC. THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
9385 ;WHICH SHOULD RESULT IN C(AC)=0. THE AC IS CHECKED FOR ALL ZEROS.
9386 ;IF C(AC) IS NON-ZERO, THE TEST FAILS. THIS TEST IS REPEATED 36 TIMES TO
9387 ;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
9388 013042 SN=SN+1
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 31-15
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0196
9389 100000 000000 ZZ=ZZ+ZZ
9390 IFE ZZ,<ZZ=1>
9391 035033 200 00 0 00 070325 MOVE [ZZ] ;SETUP AC WITH A ONE IN ONLY ONE BIT
9392 035034 404 00 0 00 070325 AND [ZZ] ;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
9393 035035 444 00 0 00 070325 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
9394 035036 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
9395 035037 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
9396 STOP^
9397 035040 254 04 0 00 035041 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
9398 035041 324 00 0 00 035042 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
9399 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
9400 ;IN THE SUBTEST) TO LOOP ON ERROR^
9401
9402 ;**********
9403
9404 ;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
9405 ;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
9406 ;ANDED WITH C(E) WHERE C(E)=C(AC). THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
9407 ;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
9408 ;BE ALL ONES IN THE AC. THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
9409 ;WHICH SHOULD RESULT IN C(AC)=0. THE AC IS CHECKED FOR ALL ZEROS.
9410 ;IF C(AC) IS NON-ZERO, THE TEST FAILS. THIS TEST IS REPEATED 36 TIMES TO
9411 ;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
9412 013043 SN=SN+1
9413 200000 000000 ZZ=ZZ+ZZ
9414 IFE ZZ,<ZZ=1>
9415 035042 200 00 0 00 070326 MOVE [ZZ] ;SETUP AC WITH A ONE IN ONLY ONE BIT
9416 035043 404 00 0 00 070326 AND [ZZ] ;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
9417 035044 444 00 0 00 070326 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
9418 035045 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
9419 035046 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
9420 STOP^
9421 035047 254 04 0 00 035050 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
9422 035050 324 00 0 00 035051 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
9423 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
9424 ;IN THE SUBTEST) TO LOOP ON ERROR^
9425
9426 ;**********
9427
9428 ;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
9429 ;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
9430 ;ANDED WITH C(E) WHERE C(E)=C(AC). THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
9431 ;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
9432 ;BE ALL ONES IN THE AC. THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
9433 ;WHICH SHOULD RESULT IN C(AC)=0. THE AC IS CHECKED FOR ALL ZEROS.
9434 ;IF C(AC) IS NON-ZERO, THE TEST FAILS. THIS TEST IS REPEATED 36 TIMES TO
9435 ;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
9436 013044 SN=SN+1
9437 400000 000000 ZZ=ZZ+ZZ
9438 IFE ZZ,<ZZ=1>
9439 035051 200 00 0 00 070256 MOVE [ZZ] ;SETUP AC WITH A ONE IN ONLY ONE BIT
9440 035052 404 00 0 00 070256 AND [ZZ] ;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
9441 035053 444 00 0 00 070256 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
9442 035054 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
9443 035055 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 31-16
DFKAA1 MAC 31-JAN-77 09:33 TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV) SEQ 0197
9444 STOP^
9445 035056 254 04 0 00 035057 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
9446 035057 324 00 0 00 035060 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
9447 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
9448 ;IN THE SUBTEST) TO LOOP ON ERROR^
9449
9450 ;**********
9451
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 1
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0198
9452 SUBTTL TEST OF THE ADD INSTRUCTION
9453
9454 ;THIS TEST VERIFIES THAT WHEN THE ADD INSTRUCTION IS USED
9455 ;TO ADD A NON-ZERO NUMBER CONTAINED IN E TO AN AC CONTAINING ALL ZEROS,
9456 ;THE RESULT IS A NON-ZERO NUMBER IN THE AC. FIRST, THE AC IS CLEARED;
9457 ;THEN, ANON-ZERO POSITIVE NUMBER IS ADDED TO THE AC USING THE ADD
9458 ;INSTRUCTION. THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
9459
9460 035060 200 00 0 00 070253 A10400: MOVE [0] ;PRESET AC TO ALL ZEROS
9461 035061 270 00 0 00 070376 ADD [123456765432] ;*ADD OF A NON-ZERO NUMBER TO AN AC OF ALL
9462 ;ZEROS SHOULD RESULT
9463 ;IN AN AC CONTAINING A NON-ZERO NUMBER
9464 035062 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) IS NON-ZERO
9465 STOP^
9466 035063 254 04 0 00 035064 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
9467 035064 324 00 0 00 035065 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
9468 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
9469 ;IN THE SUBTEST) TO LOOP ON ERROR^
9470
9471 ;AD ADD [ADC1], AD ADD EN [ADC1],
9472 ;F CYC ACT EN A [F1], AD FM + FETCH EN A [ADFP],
9473 ;F CYC ACT EN C[F1], IR ADSUB [IR1], IRXX [IR1]
9474
9475 ;**********
9476
9477 ;THIS TEST VERIFIES THAT WHEN THE ADD INSTRUCTION IS USED TO ADD
9478 ;A WORD OF ALL ZEROS TO AN AC CONTAINING A NON-ZERO POSITIVE NUMBER, THE
9479 ;RESULT IS A NON-ZERO POSITIVE NUMBER IN THE AC. FIRST, THE AC IS
9480 ;INITIALIZED WITH A NON-ZERO POSITIVE NUMBER; THEN, A WORD OF ALL ZEROS
9481 ; IS ADDED TO THE AC. THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
9482
9483 035065 200 00 0 00 070376 A10500: MOVE [123456765432] ;PRESET AC WITH A NON-ZERO NUMBER
9484 035066 270 00 0 00 070253 ADD [0] ;*ADD OF A WORD OF ALL ZEROS TO AN AC
9485 ;CONTAINING A NON-ZERO NUMBER
9486 ;SHOULD RESULT IN AN AC CONTAINING A NON-ZERO NUMBER
9487 035067 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) IS NON-ZERO
9488 STOP^
9489 035070 254 04 0 00 035071 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
9490 035071 324 00 0 00 035072 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
9491 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
9492 ;IN THE SUBTEST) TO LOOP ON ERROR^
9493
9494 ;AR AD EN [ARMA], AR AD EN A [ARMA], ET2C F/F [E],
9495 ;AR AD ET2 EN [ARMA], IR ADSUB [IR1]
9496
9497 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 2
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0199
9498 ;THIS TEST VERIFIES THAT WHEN THE ADD INSTRUCTION IS USED TO ADD
9499 ;A WORD OF ALL ZEROS TO AN AC CONTAINING A NON-ZERO POSITIVE NUMBER, THE
9500 ;RESULT IS A NON-ZERO POSITIVE NUMBER IN THE AC. FIRST, THE AC IS
9501 ;INITIALIZED WITH A NON-ZERO POSITIVE NUMBER; THEN, A WORD OF ALL ZEROS
9502 ; IS ADDED TO THE AC. THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
9503
9504 035072 200 00 0 00 070377 A10600: MOVE [XWD 123456,0] ;PRESET AC WITH A NON-ZERO NUMBER
9505 035073 270 00 0 00 070253 ADD [0] ;*ADD OF A WORD OF ALL ZEROS TO AN AC CONTAINING
9506 ;A NON-ZERO NUMBER SHOULD RESULT IN AN AC
9507 ;CONTAINING A NON-ZERO NUMBER
9508 035074 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) IS NON-ZERO
9509 STOP^
9510 035075 254 04 0 00 035076 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
9511 035076 324 00 0 00 035077 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
9512 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
9513 ;IN THE SUBTEST) TO LOOP ON ERROR^
9514
9515 ;AR AD EN [ARMA], AR AD EN A [ARMA], ET2C F/F[E],
9516 ;AR AD ET2 EN [ARMA], IR AD SUB [IR1]
9517
9518 ;*********
9519
9520 ;THIS TEST VERIFIES THAT WHEN THE ADD INSTRUCTION IS USED TO ADD
9521 ;A WORD OF ALL ZEROS TO AN AC CONTAINING A NON-ZERO POSITIVE NUMBER, THE
9522 ;RESULT IS A NON-ZERO POSITIVE NUMBER IN THE AC. FIRST, THE AC IS
9523 ;INITIALIZED WITH A NON-ZERO POSITIVE NUMBER; THEN, A WORD OF ALL ZEROS
9524 ; IS ADDED TO THE AC. THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
9525
9526 035077 200 00 0 00 070400 A10700: MOVE [123456] ;PRESET AC WITH A NON-ZERO NUMBER
9527 035100 270 00 0 00 070253 ADD [0] ;*ADD OF A WORD OF ALL ZEROS TO AN AC CONTAINING
9528 ;A NON-ZERO NUMBER
9529 ;SHOULD RESULT IN AN AC CONTAINING A NON-ZERO NUMBER
9530 035101 336 00 0 00 000000 SKIPN ;PASS TEST IS C(AC) IS NON-ZERO
9531 STOP^
9532 035102 254 04 0 00 035103 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
9533 035103 324 00 0 00 035104 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
9534 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
9535 ;IN THE SUBTEST) TO LOOP ON ERROR^
9536
9537 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 3
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0200
9538 ;THIS TEST VERIFIES THAT WHEN THE ADD INSTRUCTION IS USED TO ADD
9539 ;A WORD CONTAINING A NON-ZERO POSITIVE NUMBER TO AN AC OF ALL ZEROS, THE
9540 ;RESULT IS A NON-ZERO POSITIVE NUMBER IN THE AC. FIRST, THE AC IS
9541 ;INITIALIZED WITH A WORD OF ALL ZEROS ;THEN, A NON-ZERO POSITIVE NUMBER
9542 ;IS ADDED TO THE AC. THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
9543
9544 035104 200 00 0 00 070253 A13300: MOVE [0] ;PRESET AC WITH ALL ZEROS
9545 035105 270 00 0 00 070377 ADD [123456,,0] ;*ADD OF A NON-ZERO NUMBER TO AN AC CONTAINING ALL ZEROS
9546 ;SHOULD RESULT IN AN AC CONTAINING A NON-ZERO NUMBER
9547 035106 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) IS NON-ZERO
9548 STOP^
9549 035107 254 04 0 00 035110 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
9550 035110 324 00 0 00 035111 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
9551 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
9552 ;IN THE SUBTEST) TO LOOP ON ERROR^
9553
9554 ;**********
9555
9556 ;THIS TEST VERIFIES THAT WHEN THE ADD INSTRUCTION IS USED TO ADD
9557 ;A WORD CONTAINING A NON-ZERO POSITIVE NUMBER TO AN AC OF ALL ZEROS, THE
9558 ;RESULT IS A NON-ZERO POSITIVE NUMBER IN THE AC. FIRST, THE AC IS
9559 ;INITIALIZED WITH A WORD OF ALL ZEROS ;THEN, A NON-ZERO POSITIVE NUMBER
9560 ;IS ADDED TO THE AC. THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
9561
9562 035111 200 00 0 00 070253 A13400: MOVE [0] ;PRESET AC WITH ALL ZEROS
9563 035112 270 00 0 00 070400 ADD [123456] ;*ADD OF A NON-ZERO NUMBER TO AN AC CONTAINING ALL ZEROS
9564 ;SHOULD RESULT IN AN AC CONTAINING A NON-ZERO NUMBER
9565 035113 336 00 0 00 000000 SKIPN ;PASS TEST IF C(AC) IS NON-ZERO
9566 STOP^
9567 035114 254 04 0 00 035115 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
9568 035115 324 00 0 00 035116 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
9569 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
9570 ;IN THE SUBTEST) TO LOOP ON ERROR^
9571
9572 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0201
9573 ;ADD ZERO TO A RIPPLED ONE
9574
9575 011000 SN=11000
9576 000000 ZZ=0
9577
9578 A11000: REPEAT ^D36,
9579 <;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
9580 ;A WORD OF ALL ZEROS IS ADDED TO AN
9581 ;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
9582 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
9583 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
9584 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
9585 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
9586 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
9587 ;EVERY BIT OF THE AC.
9588 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
9589 SN=SN+1
9590 ZZ=ZZ+ZZ
9591 IFE ZZ,<ZZ=1>
9592 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
9593 ADD [0] ;*ADD OF ZERO TO FLOATING ONE
9594 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
9595 EQV [0] ;RESULTS IN C(AC)=0
9596 SKIPE ;PASS TEST IF C(AC)=0
9597 STOP
9598
9599 ;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
9600 ;IR ADDX [IR1], IR ADSUB [IR1]
9601
9602 ;**********
9603 PAGE
9604 >
9605 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
9606 ;A WORD OF ALL ZEROS IS ADDED TO AN
9607 ;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
9608 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
9609 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
9610 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
9611 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
9612 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
9613 ;EVERY BIT OF THE AC.
9614 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
9615 011001 SN=SN+1
9616 000000 ZZ=ZZ+ZZ
9617 000001 IFE ZZ,<ZZ=1>
9618 035116 200 00 0 00 070265 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
9619 035117 270 00 0 00 070253 ADD [0] ;*ADD OF ZERO TO FLOATING ONE
9620 035120 444 00 0 00 070265 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
9621 035121 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
9622 035122 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
9623 STOP^
9624 035123 254 04 0 00 035124 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
9625 035124 324 00 0 00 035125 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
9626 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
9627 ;IN THE SUBTEST) TO LOOP ON ERROR^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4-1
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0202
9628
9629 ;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
9630 ;IR ADDX [IR1], IR ADSUB [IR1]
9631
9632 ;**********
9633 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4-2
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0203
9634
9635 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
9636 ;A WORD OF ALL ZEROS IS ADDED TO AN
9637 ;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
9638 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
9639 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
9640 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
9641 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
9642 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
9643 ;EVERY BIT OF THE AC.
9644 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
9645 011002 SN=SN+1
9646 000002 ZZ=ZZ+ZZ
9647 IFE ZZ,<ZZ=1>
9648 035125 200 00 0 00 070266 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
9649 035126 270 00 0 00 070253 ADD [0] ;*ADD OF ZERO TO FLOATING ONE
9650 035127 444 00 0 00 070266 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
9651 035130 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
9652 035131 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
9653 STOP^
9654 035132 254 04 0 00 035133 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
9655 035133 324 00 0 00 035134 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
9656 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
9657 ;IN THE SUBTEST) TO LOOP ON ERROR^
9658
9659 ;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
9660 ;IR ADDX [IR1], IR ADSUB [IR1]
9661
9662 ;**********
9663 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4-3
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0204
9664
9665 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
9666 ;A WORD OF ALL ZEROS IS ADDED TO AN
9667 ;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
9668 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
9669 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
9670 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
9671 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
9672 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
9673 ;EVERY BIT OF THE AC.
9674 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
9675 011003 SN=SN+1
9676 000004 ZZ=ZZ+ZZ
9677 IFE ZZ,<ZZ=1>
9678 035134 200 00 0 00 070267 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
9679 035135 270 00 0 00 070253 ADD [0] ;*ADD OF ZERO TO FLOATING ONE
9680 035136 444 00 0 00 070267 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
9681 035137 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
9682 035140 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
9683 STOP^
9684 035141 254 04 0 00 035142 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
9685 035142 324 00 0 00 035143 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
9686 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
9687 ;IN THE SUBTEST) TO LOOP ON ERROR^
9688
9689 ;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
9690 ;IR ADDX [IR1], IR ADSUB [IR1]
9691
9692 ;**********
9693 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4-4
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0205
9694
9695 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
9696 ;A WORD OF ALL ZEROS IS ADDED TO AN
9697 ;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
9698 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
9699 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
9700 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
9701 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
9702 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
9703 ;EVERY BIT OF THE AC.
9704 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
9705 011004 SN=SN+1
9706 000010 ZZ=ZZ+ZZ
9707 IFE ZZ,<ZZ=1>
9708 035143 200 00 0 00 070270 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
9709 035144 270 00 0 00 070253 ADD [0] ;*ADD OF ZERO TO FLOATING ONE
9710 035145 444 00 0 00 070270 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
9711 035146 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
9712 035147 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
9713 STOP^
9714 035150 254 04 0 00 035151 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
9715 035151 324 00 0 00 035152 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
9716 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
9717 ;IN THE SUBTEST) TO LOOP ON ERROR^
9718
9719 ;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
9720 ;IR ADDX [IR1], IR ADSUB [IR1]
9721
9722 ;**********
9723 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4-5
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0206
9724
9725 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
9726 ;A WORD OF ALL ZEROS IS ADDED TO AN
9727 ;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
9728 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
9729 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
9730 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
9731 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
9732 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
9733 ;EVERY BIT OF THE AC.
9734 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
9735 011005 SN=SN+1
9736 000020 ZZ=ZZ+ZZ
9737 IFE ZZ,<ZZ=1>
9738 035152 200 00 0 00 070271 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
9739 035153 270 00 0 00 070253 ADD [0] ;*ADD OF ZERO TO FLOATING ONE
9740 035154 444 00 0 00 070271 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
9741 035155 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
9742 035156 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
9743 STOP^
9744 035157 254 04 0 00 035160 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
9745 035160 324 00 0 00 035161 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
9746 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
9747 ;IN THE SUBTEST) TO LOOP ON ERROR^
9748
9749 ;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
9750 ;IR ADDX [IR1], IR ADSUB [IR1]
9751
9752 ;**********
9753 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4-6
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0207
9754
9755 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
9756 ;A WORD OF ALL ZEROS IS ADDED TO AN
9757 ;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
9758 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
9759 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
9760 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
9761 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
9762 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
9763 ;EVERY BIT OF THE AC.
9764 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
9765 011006 SN=SN+1
9766 000040 ZZ=ZZ+ZZ
9767 IFE ZZ,<ZZ=1>
9768 035161 200 00 0 00 070272 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
9769 035162 270 00 0 00 070253 ADD [0] ;*ADD OF ZERO TO FLOATING ONE
9770 035163 444 00 0 00 070272 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
9771 035164 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
9772 035165 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
9773 STOP^
9774 035166 254 04 0 00 035167 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
9775 035167 324 00 0 00 035170 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
9776 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
9777 ;IN THE SUBTEST) TO LOOP ON ERROR^
9778
9779 ;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
9780 ;IR ADDX [IR1], IR ADSUB [IR1]
9781
9782 ;**********
9783 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4-7
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0208
9784
9785 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
9786 ;A WORD OF ALL ZEROS IS ADDED TO AN
9787 ;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
9788 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
9789 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
9790 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
9791 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
9792 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
9793 ;EVERY BIT OF THE AC.
9794 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
9795 011007 SN=SN+1
9796 000100 ZZ=ZZ+ZZ
9797 IFE ZZ,<ZZ=1>
9798 035170 200 00 0 00 070273 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
9799 035171 270 00 0 00 070253 ADD [0] ;*ADD OF ZERO TO FLOATING ONE
9800 035172 444 00 0 00 070273 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
9801 035173 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
9802 035174 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
9803 STOP^
9804 035175 254 04 0 00 035176 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
9805 035176 324 00 0 00 035177 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
9806 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
9807 ;IN THE SUBTEST) TO LOOP ON ERROR^
9808
9809 ;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
9810 ;IR ADDX [IR1], IR ADSUB [IR1]
9811
9812 ;**********
9813 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4-8
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0209
9814
9815 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
9816 ;A WORD OF ALL ZEROS IS ADDED TO AN
9817 ;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
9818 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
9819 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
9820 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
9821 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
9822 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
9823 ;EVERY BIT OF THE AC.
9824 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
9825 011010 SN=SN+1
9826 000200 ZZ=ZZ+ZZ
9827 IFE ZZ,<ZZ=1>
9828 035177 200 00 0 00 070274 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
9829 035200 270 00 0 00 070253 ADD [0] ;*ADD OF ZERO TO FLOATING ONE
9830 035201 444 00 0 00 070274 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
9831 035202 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
9832 035203 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
9833 STOP^
9834 035204 254 04 0 00 035205 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
9835 035205 324 00 0 00 035206 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
9836 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
9837 ;IN THE SUBTEST) TO LOOP ON ERROR^
9838
9839 ;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
9840 ;IR ADDX [IR1], IR ADSUB [IR1]
9841
9842 ;**********
9843 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4-9
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0210
9844
9845 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
9846 ;A WORD OF ALL ZEROS IS ADDED TO AN
9847 ;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
9848 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
9849 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
9850 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
9851 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
9852 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
9853 ;EVERY BIT OF THE AC.
9854 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
9855 011011 SN=SN+1
9856 000400 ZZ=ZZ+ZZ
9857 IFE ZZ,<ZZ=1>
9858 035206 200 00 0 00 070275 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
9859 035207 270 00 0 00 070253 ADD [0] ;*ADD OF ZERO TO FLOATING ONE
9860 035210 444 00 0 00 070275 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
9861 035211 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
9862 035212 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
9863 STOP^
9864 035213 254 04 0 00 035214 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
9865 035214 324 00 0 00 035215 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
9866 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
9867 ;IN THE SUBTEST) TO LOOP ON ERROR^
9868
9869 ;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
9870 ;IR ADDX [IR1], IR ADSUB [IR1]
9871
9872 ;**********
9873 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4-10
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0211
9874
9875 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
9876 ;A WORD OF ALL ZEROS IS ADDED TO AN
9877 ;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
9878 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
9879 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
9880 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
9881 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
9882 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
9883 ;EVERY BIT OF THE AC.
9884 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
9885 011012 SN=SN+1
9886 001000 ZZ=ZZ+ZZ
9887 IFE ZZ,<ZZ=1>
9888 035215 200 00 0 00 070276 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
9889 035216 270 00 0 00 070253 ADD [0] ;*ADD OF ZERO TO FLOATING ONE
9890 035217 444 00 0 00 070276 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
9891 035220 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
9892 035221 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
9893 STOP^
9894 035222 254 04 0 00 035223 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
9895 035223 324 00 0 00 035224 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
9896 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
9897 ;IN THE SUBTEST) TO LOOP ON ERROR^
9898
9899 ;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
9900 ;IR ADDX [IR1], IR ADSUB [IR1]
9901
9902 ;**********
9903 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4-11
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0212
9904
9905 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
9906 ;A WORD OF ALL ZEROS IS ADDED TO AN
9907 ;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
9908 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
9909 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
9910 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
9911 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
9912 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
9913 ;EVERY BIT OF THE AC.
9914 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
9915 011013 SN=SN+1
9916 002000 ZZ=ZZ+ZZ
9917 IFE ZZ,<ZZ=1>
9918 035224 200 00 0 00 070277 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
9919 035225 270 00 0 00 070253 ADD [0] ;*ADD OF ZERO TO FLOATING ONE
9920 035226 444 00 0 00 070277 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
9921 035227 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
9922 035230 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
9923 STOP^
9924 035231 254 04 0 00 035232 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
9925 035232 324 00 0 00 035233 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
9926 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
9927 ;IN THE SUBTEST) TO LOOP ON ERROR^
9928
9929 ;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
9930 ;IR ADDX [IR1], IR ADSUB [IR1]
9931
9932 ;**********
9933 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4-12
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0213
9934
9935 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
9936 ;A WORD OF ALL ZEROS IS ADDED TO AN
9937 ;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
9938 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
9939 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
9940 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
9941 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
9942 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
9943 ;EVERY BIT OF THE AC.
9944 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
9945 011014 SN=SN+1
9946 004000 ZZ=ZZ+ZZ
9947 IFE ZZ,<ZZ=1>
9948 035233 200 00 0 00 070300 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
9949 035234 270 00 0 00 070253 ADD [0] ;*ADD OF ZERO TO FLOATING ONE
9950 035235 444 00 0 00 070300 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
9951 035236 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
9952 035237 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
9953 STOP^
9954 035240 254 04 0 00 035241 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
9955 035241 324 00 0 00 035242 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
9956 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
9957 ;IN THE SUBTEST) TO LOOP ON ERROR^
9958
9959 ;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
9960 ;IR ADDX [IR1], IR ADSUB [IR1]
9961
9962 ;**********
9963 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4-13
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0214
9964
9965 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
9966 ;A WORD OF ALL ZEROS IS ADDED TO AN
9967 ;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
9968 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
9969 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
9970 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
9971 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
9972 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
9973 ;EVERY BIT OF THE AC.
9974 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
9975 011015 SN=SN+1
9976 010000 ZZ=ZZ+ZZ
9977 IFE ZZ,<ZZ=1>
9978 035242 200 00 0 00 070301 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
9979 035243 270 00 0 00 070253 ADD [0] ;*ADD OF ZERO TO FLOATING ONE
9980 035244 444 00 0 00 070301 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
9981 035245 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
9982 035246 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
9983 STOP^
9984 035247 254 04 0 00 035250 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
9985 035250 324 00 0 00 035251 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
9986 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
9987 ;IN THE SUBTEST) TO LOOP ON ERROR^
9988
9989 ;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
9990 ;IR ADDX [IR1], IR ADSUB [IR1]
9991
9992 ;**********
9993 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4-14
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0215
9994
9995 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
9996 ;A WORD OF ALL ZEROS IS ADDED TO AN
9997 ;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
9998 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
9999 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
10000 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
10001 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
10002 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
10003 ;EVERY BIT OF THE AC.
10004 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
10005 011016 SN=SN+1
10006 020000 ZZ=ZZ+ZZ
10007 IFE ZZ,<ZZ=1>
10008 035251 200 00 0 00 070302 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
10009 035252 270 00 0 00 070253 ADD [0] ;*ADD OF ZERO TO FLOATING ONE
10010 035253 444 00 0 00 070302 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
10011 035254 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
10012 035255 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
10013 STOP^
10014 035256 254 04 0 00 035257 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
10015 035257 324 00 0 00 035260 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
10016 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
10017 ;IN THE SUBTEST) TO LOOP ON ERROR^
10018
10019 ;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
10020 ;IR ADDX [IR1], IR ADSUB [IR1]
10021
10022 ;**********
10023 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4-15
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0216
10024
10025 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
10026 ;A WORD OF ALL ZEROS IS ADDED TO AN
10027 ;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
10028 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
10029 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
10030 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
10031 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
10032 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
10033 ;EVERY BIT OF THE AC.
10034 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
10035 011017 SN=SN+1
10036 040000 ZZ=ZZ+ZZ
10037 IFE ZZ,<ZZ=1>
10038 035260 200 00 0 00 070303 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
10039 035261 270 00 0 00 070253 ADD [0] ;*ADD OF ZERO TO FLOATING ONE
10040 035262 444 00 0 00 070303 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
10041 035263 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
10042 035264 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
10043 STOP^
10044 035265 254 04 0 00 035266 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
10045 035266 324 00 0 00 035267 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
10046 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
10047 ;IN THE SUBTEST) TO LOOP ON ERROR^
10048
10049 ;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
10050 ;IR ADDX [IR1], IR ADSUB [IR1]
10051
10052 ;**********
10053 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4-16
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0217
10054
10055 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
10056 ;A WORD OF ALL ZEROS IS ADDED TO AN
10057 ;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
10058 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
10059 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
10060 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
10061 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
10062 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
10063 ;EVERY BIT OF THE AC.
10064 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
10065 011020 SN=SN+1
10066 100000 ZZ=ZZ+ZZ
10067 IFE ZZ,<ZZ=1>
10068 035267 200 00 0 00 070304 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
10069 035270 270 00 0 00 070253 ADD [0] ;*ADD OF ZERO TO FLOATING ONE
10070 035271 444 00 0 00 070304 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
10071 035272 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
10072 035273 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
10073 STOP^
10074 035274 254 04 0 00 035275 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
10075 035275 324 00 0 00 035276 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
10076 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
10077 ;IN THE SUBTEST) TO LOOP ON ERROR^
10078
10079 ;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
10080 ;IR ADDX [IR1], IR ADSUB [IR1]
10081
10082 ;**********
10083 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4-17
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0218
10084
10085 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
10086 ;A WORD OF ALL ZEROS IS ADDED TO AN
10087 ;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
10088 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
10089 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
10090 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
10091 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
10092 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
10093 ;EVERY BIT OF THE AC.
10094 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
10095 011021 SN=SN+1
10096 200000 ZZ=ZZ+ZZ
10097 IFE ZZ,<ZZ=1>
10098 035276 200 00 0 00 070305 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
10099 035277 270 00 0 00 070253 ADD [0] ;*ADD OF ZERO TO FLOATING ONE
10100 035300 444 00 0 00 070305 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
10101 035301 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
10102 035302 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
10103 STOP^
10104 035303 254 04 0 00 035304 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
10105 035304 324 00 0 00 035305 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
10106 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
10107 ;IN THE SUBTEST) TO LOOP ON ERROR^
10108
10109 ;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
10110 ;IR ADDX [IR1], IR ADSUB [IR1]
10111
10112 ;**********
10113 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4-18
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0219
10114
10115 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
10116 ;A WORD OF ALL ZEROS IS ADDED TO AN
10117 ;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
10118 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
10119 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
10120 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
10121 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
10122 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
10123 ;EVERY BIT OF THE AC.
10124 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
10125 011022 SN=SN+1
10126 400000 ZZ=ZZ+ZZ
10127 IFE ZZ,<ZZ=1>
10128 035305 200 00 0 00 070306 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
10129 035306 270 00 0 00 070253 ADD [0] ;*ADD OF ZERO TO FLOATING ONE
10130 035307 444 00 0 00 070306 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
10131 035310 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
10132 035311 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
10133 STOP^
10134 035312 254 04 0 00 035313 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
10135 035313 324 00 0 00 035314 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
10136 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
10137 ;IN THE SUBTEST) TO LOOP ON ERROR^
10138
10139 ;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
10140 ;IR ADDX [IR1], IR ADSUB [IR1]
10141
10142 ;**********
10143 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4-19
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0220
10144
10145 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
10146 ;A WORD OF ALL ZEROS IS ADDED TO AN
10147 ;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
10148 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
10149 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
10150 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
10151 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
10152 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
10153 ;EVERY BIT OF THE AC.
10154 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
10155 011023 SN=SN+1
10156 000001 000000 ZZ=ZZ+ZZ
10157 IFE ZZ,<ZZ=1>
10158 035314 200 00 0 00 070307 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
10159 035315 270 00 0 00 070253 ADD [0] ;*ADD OF ZERO TO FLOATING ONE
10160 035316 444 00 0 00 070307 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
10161 035317 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
10162 035320 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
10163 STOP^
10164 035321 254 04 0 00 035322 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
10165 035322 324 00 0 00 035323 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
10166 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
10167 ;IN THE SUBTEST) TO LOOP ON ERROR^
10168
10169 ;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
10170 ;IR ADDX [IR1], IR ADSUB [IR1]
10171
10172 ;**********
10173 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4-20
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0221
10174
10175 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
10176 ;A WORD OF ALL ZEROS IS ADDED TO AN
10177 ;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
10178 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
10179 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
10180 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
10181 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
10182 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
10183 ;EVERY BIT OF THE AC.
10184 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
10185 011024 SN=SN+1
10186 000002 000000 ZZ=ZZ+ZZ
10187 IFE ZZ,<ZZ=1>
10188 035323 200 00 0 00 070310 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
10189 035324 270 00 0 00 070253 ADD [0] ;*ADD OF ZERO TO FLOATING ONE
10190 035325 444 00 0 00 070310 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
10191 035326 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
10192 035327 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
10193 STOP^
10194 035330 254 04 0 00 035331 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
10195 035331 324 00 0 00 035332 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
10196 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
10197 ;IN THE SUBTEST) TO LOOP ON ERROR^
10198
10199 ;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
10200 ;IR ADDX [IR1], IR ADSUB [IR1]
10201
10202 ;**********
10203 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4-21
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0222
10204
10205 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
10206 ;A WORD OF ALL ZEROS IS ADDED TO AN
10207 ;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
10208 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
10209 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
10210 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
10211 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
10212 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
10213 ;EVERY BIT OF THE AC.
10214 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
10215 011025 SN=SN+1
10216 000004 000000 ZZ=ZZ+ZZ
10217 IFE ZZ,<ZZ=1>
10218 035332 200 00 0 00 070311 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
10219 035333 270 00 0 00 070253 ADD [0] ;*ADD OF ZERO TO FLOATING ONE
10220 035334 444 00 0 00 070311 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
10221 035335 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
10222 035336 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
10223 STOP^
10224 035337 254 04 0 00 035340 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
10225 035340 324 00 0 00 035341 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
10226 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
10227 ;IN THE SUBTEST) TO LOOP ON ERROR^
10228
10229 ;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
10230 ;IR ADDX [IR1], IR ADSUB [IR1]
10231
10232 ;**********
10233 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4-22
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0223
10234
10235 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
10236 ;A WORD OF ALL ZEROS IS ADDED TO AN
10237 ;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
10238 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
10239 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
10240 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
10241 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
10242 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
10243 ;EVERY BIT OF THE AC.
10244 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
10245 011026 SN=SN+1
10246 000010 000000 ZZ=ZZ+ZZ
10247 IFE ZZ,<ZZ=1>
10248 035341 200 00 0 00 070312 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
10249 035342 270 00 0 00 070253 ADD [0] ;*ADD OF ZERO TO FLOATING ONE
10250 035343 444 00 0 00 070312 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
10251 035344 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
10252 035345 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
10253 STOP^
10254 035346 254 04 0 00 035347 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
10255 035347 324 00 0 00 035350 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
10256 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
10257 ;IN THE SUBTEST) TO LOOP ON ERROR^
10258
10259 ;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
10260 ;IR ADDX [IR1], IR ADSUB [IR1]
10261
10262 ;**********
10263 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4-23
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0224
10264
10265 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
10266 ;A WORD OF ALL ZEROS IS ADDED TO AN
10267 ;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
10268 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
10269 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
10270 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
10271 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
10272 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
10273 ;EVERY BIT OF THE AC.
10274 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
10275 011027 SN=SN+1
10276 000020 000000 ZZ=ZZ+ZZ
10277 IFE ZZ,<ZZ=1>
10278 035350 200 00 0 00 070313 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
10279 035351 270 00 0 00 070253 ADD [0] ;*ADD OF ZERO TO FLOATING ONE
10280 035352 444 00 0 00 070313 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
10281 035353 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
10282 035354 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
10283 STOP^
10284 035355 254 04 0 00 035356 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
10285 035356 324 00 0 00 035357 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
10286 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
10287 ;IN THE SUBTEST) TO LOOP ON ERROR^
10288
10289 ;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
10290 ;IR ADDX [IR1], IR ADSUB [IR1]
10291
10292 ;**********
10293 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4-24
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0225
10294
10295 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
10296 ;A WORD OF ALL ZEROS IS ADDED TO AN
10297 ;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
10298 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
10299 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
10300 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
10301 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
10302 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
10303 ;EVERY BIT OF THE AC.
10304 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
10305 011030 SN=SN+1
10306 000040 000000 ZZ=ZZ+ZZ
10307 IFE ZZ,<ZZ=1>
10308 035357 200 00 0 00 070314 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
10309 035360 270 00 0 00 070253 ADD [0] ;*ADD OF ZERO TO FLOATING ONE
10310 035361 444 00 0 00 070314 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
10311 035362 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
10312 035363 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
10313 STOP^
10314 035364 254 04 0 00 035365 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
10315 035365 324 00 0 00 035366 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
10316 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
10317 ;IN THE SUBTEST) TO LOOP ON ERROR^
10318
10319 ;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
10320 ;IR ADDX [IR1], IR ADSUB [IR1]
10321
10322 ;**********
10323 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4-25
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0226
10324
10325 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
10326 ;A WORD OF ALL ZEROS IS ADDED TO AN
10327 ;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
10328 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
10329 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
10330 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
10331 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
10332 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
10333 ;EVERY BIT OF THE AC.
10334 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
10335 011031 SN=SN+1
10336 000100 000000 ZZ=ZZ+ZZ
10337 IFE ZZ,<ZZ=1>
10338 035366 200 00 0 00 070315 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
10339 035367 270 00 0 00 070253 ADD [0] ;*ADD OF ZERO TO FLOATING ONE
10340 035370 444 00 0 00 070315 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
10341 035371 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
10342 035372 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
10343 STOP^
10344 035373 254 04 0 00 035374 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
10345 035374 324 00 0 00 035375 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
10346 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
10347 ;IN THE SUBTEST) TO LOOP ON ERROR^
10348
10349 ;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
10350 ;IR ADDX [IR1], IR ADSUB [IR1]
10351
10352 ;**********
10353 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4-26
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0227
10354
10355 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
10356 ;A WORD OF ALL ZEROS IS ADDED TO AN
10357 ;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
10358 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
10359 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
10360 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
10361 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
10362 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
10363 ;EVERY BIT OF THE AC.
10364 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
10365 011032 SN=SN+1
10366 000200 000000 ZZ=ZZ+ZZ
10367 IFE ZZ,<ZZ=1>
10368 035375 200 00 0 00 070316 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
10369 035376 270 00 0 00 070253 ADD [0] ;*ADD OF ZERO TO FLOATING ONE
10370 035377 444 00 0 00 070316 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
10371 035400 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
10372 035401 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
10373 STOP^
10374 035402 254 04 0 00 035403 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
10375 035403 324 00 0 00 035404 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
10376 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
10377 ;IN THE SUBTEST) TO LOOP ON ERROR^
10378
10379 ;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
10380 ;IR ADDX [IR1], IR ADSUB [IR1]
10381
10382 ;**********
10383 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4-27
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0228
10384
10385 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
10386 ;A WORD OF ALL ZEROS IS ADDED TO AN
10387 ;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
10388 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
10389 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
10390 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
10391 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
10392 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
10393 ;EVERY BIT OF THE AC.
10394 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
10395 011033 SN=SN+1
10396 000400 000000 ZZ=ZZ+ZZ
10397 IFE ZZ,<ZZ=1>
10398 035404 200 00 0 00 070264 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
10399 035405 270 00 0 00 070253 ADD [0] ;*ADD OF ZERO TO FLOATING ONE
10400 035406 444 00 0 00 070264 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
10401 035407 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
10402 035410 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
10403 STOP^
10404 035411 254 04 0 00 035412 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
10405 035412 324 00 0 00 035413 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
10406 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
10407 ;IN THE SUBTEST) TO LOOP ON ERROR^
10408
10409 ;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
10410 ;IR ADDX [IR1], IR ADSUB [IR1]
10411
10412 ;**********
10413 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4-28
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0229
10414
10415 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
10416 ;A WORD OF ALL ZEROS IS ADDED TO AN
10417 ;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
10418 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
10419 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
10420 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
10421 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
10422 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
10423 ;EVERY BIT OF THE AC.
10424 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
10425 011034 SN=SN+1
10426 001000 000000 ZZ=ZZ+ZZ
10427 IFE ZZ,<ZZ=1>
10428 035413 200 00 0 00 070317 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
10429 035414 270 00 0 00 070253 ADD [0] ;*ADD OF ZERO TO FLOATING ONE
10430 035415 444 00 0 00 070317 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
10431 035416 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
10432 035417 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
10433 STOP^
10434 035420 254 04 0 00 035421 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
10435 035421 324 00 0 00 035422 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
10436 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
10437 ;IN THE SUBTEST) TO LOOP ON ERROR^
10438
10439 ;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
10440 ;IR ADDX [IR1], IR ADSUB [IR1]
10441
10442 ;**********
10443 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4-29
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0230
10444
10445 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
10446 ;A WORD OF ALL ZEROS IS ADDED TO AN
10447 ;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
10448 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
10449 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
10450 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
10451 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
10452 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
10453 ;EVERY BIT OF THE AC.
10454 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
10455 011035 SN=SN+1
10456 002000 000000 ZZ=ZZ+ZZ
10457 IFE ZZ,<ZZ=1>
10458 035422 200 00 0 00 070320 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
10459 035423 270 00 0 00 070253 ADD [0] ;*ADD OF ZERO TO FLOATING ONE
10460 035424 444 00 0 00 070320 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
10461 035425 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
10462 035426 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
10463 STOP^
10464 035427 254 04 0 00 035430 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
10465 035430 324 00 0 00 035431 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
10466 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
10467 ;IN THE SUBTEST) TO LOOP ON ERROR^
10468
10469 ;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
10470 ;IR ADDX [IR1], IR ADSUB [IR1]
10471
10472 ;**********
10473 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4-30
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0231
10474
10475 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
10476 ;A WORD OF ALL ZEROS IS ADDED TO AN
10477 ;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
10478 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
10479 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
10480 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
10481 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
10482 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
10483 ;EVERY BIT OF THE AC.
10484 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
10485 011036 SN=SN+1
10486 004000 000000 ZZ=ZZ+ZZ
10487 IFE ZZ,<ZZ=1>
10488 035431 200 00 0 00 070321 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
10489 035432 270 00 0 00 070253 ADD [0] ;*ADD OF ZERO TO FLOATING ONE
10490 035433 444 00 0 00 070321 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
10491 035434 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
10492 035435 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
10493 STOP^
10494 035436 254 04 0 00 035437 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
10495 035437 324 00 0 00 035440 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
10496 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
10497 ;IN THE SUBTEST) TO LOOP ON ERROR^
10498
10499 ;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
10500 ;IR ADDX [IR1], IR ADSUB [IR1]
10501
10502 ;**********
10503 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4-31
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0232
10504
10505 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
10506 ;A WORD OF ALL ZEROS IS ADDED TO AN
10507 ;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
10508 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
10509 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
10510 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
10511 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
10512 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
10513 ;EVERY BIT OF THE AC.
10514 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
10515 011037 SN=SN+1
10516 010000 000000 ZZ=ZZ+ZZ
10517 IFE ZZ,<ZZ=1>
10518 035440 200 00 0 00 070322 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
10519 035441 270 00 0 00 070253 ADD [0] ;*ADD OF ZERO TO FLOATING ONE
10520 035442 444 00 0 00 070322 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
10521 035443 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
10522 035444 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
10523 STOP^
10524 035445 254 04 0 00 035446 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
10525 035446 324 00 0 00 035447 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
10526 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
10527 ;IN THE SUBTEST) TO LOOP ON ERROR^
10528
10529 ;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
10530 ;IR ADDX [IR1], IR ADSUB [IR1]
10531
10532 ;**********
10533 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4-32
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0233
10534
10535 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
10536 ;A WORD OF ALL ZEROS IS ADDED TO AN
10537 ;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
10538 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
10539 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
10540 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
10541 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
10542 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
10543 ;EVERY BIT OF THE AC.
10544 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
10545 011040 SN=SN+1
10546 020000 000000 ZZ=ZZ+ZZ
10547 IFE ZZ,<ZZ=1>
10548 035447 200 00 0 00 070323 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
10549 035450 270 00 0 00 070253 ADD [0] ;*ADD OF ZERO TO FLOATING ONE
10550 035451 444 00 0 00 070323 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
10551 035452 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
10552 035453 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
10553 STOP^
10554 035454 254 04 0 00 035455 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
10555 035455 324 00 0 00 035456 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
10556 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
10557 ;IN THE SUBTEST) TO LOOP ON ERROR^
10558
10559 ;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
10560 ;IR ADDX [IR1], IR ADSUB [IR1]
10561
10562 ;**********
10563 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4-33
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0234
10564
10565 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
10566 ;A WORD OF ALL ZEROS IS ADDED TO AN
10567 ;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
10568 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
10569 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
10570 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
10571 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
10572 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
10573 ;EVERY BIT OF THE AC.
10574 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
10575 011041 SN=SN+1
10576 040000 000000 ZZ=ZZ+ZZ
10577 IFE ZZ,<ZZ=1>
10578 035456 200 00 0 00 070324 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
10579 035457 270 00 0 00 070253 ADD [0] ;*ADD OF ZERO TO FLOATING ONE
10580 035460 444 00 0 00 070324 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
10581 035461 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
10582 035462 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
10583 STOP^
10584 035463 254 04 0 00 035464 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
10585 035464 324 00 0 00 035465 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
10586 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
10587 ;IN THE SUBTEST) TO LOOP ON ERROR^
10588
10589 ;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
10590 ;IR ADDX [IR1], IR ADSUB [IR1]
10591
10592 ;**********
10593 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4-34
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0235
10594
10595 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
10596 ;A WORD OF ALL ZEROS IS ADDED TO AN
10597 ;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
10598 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
10599 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
10600 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
10601 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
10602 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
10603 ;EVERY BIT OF THE AC.
10604 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
10605 011042 SN=SN+1
10606 100000 000000 ZZ=ZZ+ZZ
10607 IFE ZZ,<ZZ=1>
10608 035465 200 00 0 00 070325 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
10609 035466 270 00 0 00 070253 ADD [0] ;*ADD OF ZERO TO FLOATING ONE
10610 035467 444 00 0 00 070325 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
10611 035470 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
10612 035471 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
10613 STOP^
10614 035472 254 04 0 00 035473 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
10615 035473 324 00 0 00 035474 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
10616 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
10617 ;IN THE SUBTEST) TO LOOP ON ERROR^
10618
10619 ;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
10620 ;IR ADDX [IR1], IR ADSUB [IR1]
10621
10622 ;**********
10623 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4-35
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0236
10624
10625 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
10626 ;A WORD OF ALL ZEROS IS ADDED TO AN
10627 ;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
10628 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
10629 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
10630 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
10631 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
10632 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
10633 ;EVERY BIT OF THE AC.
10634 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
10635 011043 SN=SN+1
10636 200000 000000 ZZ=ZZ+ZZ
10637 IFE ZZ,<ZZ=1>
10638 035474 200 00 0 00 070326 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
10639 035475 270 00 0 00 070253 ADD [0] ;*ADD OF ZERO TO FLOATING ONE
10640 035476 444 00 0 00 070326 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
10641 035477 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
10642 035500 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
10643 STOP^
10644 035501 254 04 0 00 035502 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
10645 035502 324 00 0 00 035503 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
10646 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
10647 ;IN THE SUBTEST) TO LOOP ON ERROR^
10648
10649 ;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
10650 ;IR ADDX [IR1], IR ADSUB [IR1]
10651
10652 ;**********
10653 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4-36
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0237
10654
10655 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
10656 ;A WORD OF ALL ZEROS IS ADDED TO AN
10657 ;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
10658 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
10659 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
10660 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
10661 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
10662 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
10663 ;EVERY BIT OF THE AC.
10664 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
10665 011044 SN=SN+1
10666 400000 000000 ZZ=ZZ+ZZ
10667 IFE ZZ,<ZZ=1>
10668 035503 200 00 0 00 070256 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
10669 035504 270 00 0 00 070253 ADD [0] ;*ADD OF ZERO TO FLOATING ONE
10670 035505 444 00 0 00 070256 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
10671 035506 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
10672 035507 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
10673 STOP^
10674 035510 254 04 0 00 035511 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
10675 035511 324 00 0 00 035512 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
10676 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
10677 ;IN THE SUBTEST) TO LOOP ON ERROR^
10678
10679 ;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
10680 ;IR ADDX [IR1], IR ADSUB [IR1]
10681
10682 ;**********
10683 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4-37
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0238
10684
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 5
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0239
10685 ;THIS TEST VERIFIES THAT THE ADDITION OF A WORD OF
10686 ;ALL ZEROS TO AN AC OF ALL ZEROS RESULTS IN
10687 ;C(AC)=0. FIRST THE AC IS CLEARED; THEN, A WORD
10688 ;OF ALL ZEROS IS ADDED TO THE AC. THE RESULT IN
10689 ;THE AC IS THEN CHECKED TO INSURE THAT C(AC)=0
10690
10691 035512 200 00 0 00 070253 A11100: MOVE [0] ;PRESET AC TO ZERO
10692 035513 270 00 0 00 070253 ADD [0] ;*ADD OF ZERO TO ZERO SHOULD RESULT IN C(AC)=0
10693 035514 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
10694 STOP^
10695 035515 254 04 0 00 035516 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
10696 035516 324 00 0 00 035517 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
10697 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
10698 ;IN THE SUBTEST) TO LOOP ON ERROR^
10699
10700 ;FCE[F1], IR AD SUB [IR1]
10701 ;AD FM + EN [ADFP], AD FM + EN A [ADFP],
10702 ;F CYC ACT EN C[F1], IR ADSUB [IR1]
10703
10704 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0240
10705 ;ADD ZERO TO A RIPPLED ONE
10706
10707 013200 SN=13200
10708 000000 ZZ=0
10709
10710 A13200: REPEAT ^D36,
10711 <;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
10712 ;TO AN AC OF ALL ZEROS IS ADDED A
10713 ;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
10714 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
10715 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
10716 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
10717 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
10718 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
10719 ;EVERY BIT OF THE AC.
10720 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
10721 SN=SN+1
10722 ZZ=ZZ+ZZ
10723 IFE ZZ,<ZZ=1>
10724 MOVE [0] ;LOAD AC WITH ALL ZEROS
10725 ADD [ZZ] ;*ADD OF FLOATING ONE TO ZERO
10726 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
10727 EQV [0] ;RESULTS IN C(AC)=0
10728 SKIPE ;PASS TEST IF C(AC)=0
10729 STOP
10730
10731 ;**********
10732 >
10733 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
10734 ;TO AN AC OF ALL ZEROS IS ADDED A
10735 ;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
10736 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
10737 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
10738 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
10739 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
10740 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
10741 ;EVERY BIT OF THE AC.
10742 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
10743 013201 SN=SN+1
10744 000000 ZZ=ZZ+ZZ
10745 000001 IFE ZZ,<ZZ=1>
10746 035517 200 00 0 00 070253 MOVE [0] ;LOAD AC WITH ALL ZEROS
10747 035520 270 00 0 00 070265 ADD [ZZ] ;*ADD OF FLOATING ONE TO ZERO
10748 035521 444 00 0 00 070265 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
10749 035522 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
10750 035523 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
10751 STOP^
10752 035524 254 04 0 00 035525 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
10753 035525 324 00 0 00 035526 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
10754 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
10755 ;IN THE SUBTEST) TO LOOP ON ERROR^
10756
10757 ;**********
10758
10759 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6-1
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0241
10760 ;TO AN AC OF ALL ZEROS IS ADDED A
10761 ;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
10762 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
10763 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
10764 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
10765 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
10766 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
10767 ;EVERY BIT OF THE AC.
10768 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
10769 013202 SN=SN+1
10770 000002 ZZ=ZZ+ZZ
10771 IFE ZZ,<ZZ=1>
10772 035526 200 00 0 00 070253 MOVE [0] ;LOAD AC WITH ALL ZEROS
10773 035527 270 00 0 00 070266 ADD [ZZ] ;*ADD OF FLOATING ONE TO ZERO
10774 035530 444 00 0 00 070266 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
10775 035531 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
10776 035532 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
10777 STOP^
10778 035533 254 04 0 00 035534 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
10779 035534 324 00 0 00 035535 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
10780 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
10781 ;IN THE SUBTEST) TO LOOP ON ERROR^
10782
10783 ;**********
10784
10785 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
10786 ;TO AN AC OF ALL ZEROS IS ADDED A
10787 ;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
10788 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
10789 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
10790 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
10791 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
10792 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
10793 ;EVERY BIT OF THE AC.
10794 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
10795 013203 SN=SN+1
10796 000004 ZZ=ZZ+ZZ
10797 IFE ZZ,<ZZ=1>
10798 035535 200 00 0 00 070253 MOVE [0] ;LOAD AC WITH ALL ZEROS
10799 035536 270 00 0 00 070267 ADD [ZZ] ;*ADD OF FLOATING ONE TO ZERO
10800 035537 444 00 0 00 070267 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
10801 035540 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
10802 035541 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
10803 STOP^
10804 035542 254 04 0 00 035543 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
10805 035543 324 00 0 00 035544 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
10806 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
10807 ;IN THE SUBTEST) TO LOOP ON ERROR^
10808
10809 ;**********
10810
10811 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
10812 ;TO AN AC OF ALL ZEROS IS ADDED A
10813 ;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
10814 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6-2
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0242
10815 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
10816 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
10817 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
10818 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
10819 ;EVERY BIT OF THE AC.
10820 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
10821 013204 SN=SN+1
10822 000010 ZZ=ZZ+ZZ
10823 IFE ZZ,<ZZ=1>
10824 035544 200 00 0 00 070253 MOVE [0] ;LOAD AC WITH ALL ZEROS
10825 035545 270 00 0 00 070270 ADD [ZZ] ;*ADD OF FLOATING ONE TO ZERO
10826 035546 444 00 0 00 070270 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
10827 035547 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
10828 035550 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
10829 STOP^
10830 035551 254 04 0 00 035552 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
10831 035552 324 00 0 00 035553 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
10832 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
10833 ;IN THE SUBTEST) TO LOOP ON ERROR^
10834
10835 ;**********
10836
10837 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
10838 ;TO AN AC OF ALL ZEROS IS ADDED A
10839 ;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
10840 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
10841 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
10842 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
10843 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
10844 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
10845 ;EVERY BIT OF THE AC.
10846 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
10847 013205 SN=SN+1
10848 000020 ZZ=ZZ+ZZ
10849 IFE ZZ,<ZZ=1>
10850 035553 200 00 0 00 070253 MOVE [0] ;LOAD AC WITH ALL ZEROS
10851 035554 270 00 0 00 070271 ADD [ZZ] ;*ADD OF FLOATING ONE TO ZERO
10852 035555 444 00 0 00 070271 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
10853 035556 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
10854 035557 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
10855 STOP^
10856 035560 254 04 0 00 035561 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
10857 035561 324 00 0 00 035562 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
10858 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
10859 ;IN THE SUBTEST) TO LOOP ON ERROR^
10860
10861 ;**********
10862
10863 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
10864 ;TO AN AC OF ALL ZEROS IS ADDED A
10865 ;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
10866 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
10867 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
10868 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
10869 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6-3
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0243
10870 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
10871 ;EVERY BIT OF THE AC.
10872 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
10873 013206 SN=SN+1
10874 000040 ZZ=ZZ+ZZ
10875 IFE ZZ,<ZZ=1>
10876 035562 200 00 0 00 070253 MOVE [0] ;LOAD AC WITH ALL ZEROS
10877 035563 270 00 0 00 070272 ADD [ZZ] ;*ADD OF FLOATING ONE TO ZERO
10878 035564 444 00 0 00 070272 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
10879 035565 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
10880 035566 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
10881 STOP^
10882 035567 254 04 0 00 035570 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
10883 035570 324 00 0 00 035571 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
10884 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
10885 ;IN THE SUBTEST) TO LOOP ON ERROR^
10886
10887 ;**********
10888
10889 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
10890 ;TO AN AC OF ALL ZEROS IS ADDED A
10891 ;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
10892 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
10893 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
10894 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
10895 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
10896 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
10897 ;EVERY BIT OF THE AC.
10898 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
10899 013207 SN=SN+1
10900 000100 ZZ=ZZ+ZZ
10901 IFE ZZ,<ZZ=1>
10902 035571 200 00 0 00 070253 MOVE [0] ;LOAD AC WITH ALL ZEROS
10903 035572 270 00 0 00 070273 ADD [ZZ] ;*ADD OF FLOATING ONE TO ZERO
10904 035573 444 00 0 00 070273 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
10905 035574 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
10906 035575 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
10907 STOP^
10908 035576 254 04 0 00 035577 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
10909 035577 324 00 0 00 035600 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
10910 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
10911 ;IN THE SUBTEST) TO LOOP ON ERROR^
10912
10913 ;**********
10914
10915 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
10916 ;TO AN AC OF ALL ZEROS IS ADDED A
10917 ;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
10918 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
10919 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
10920 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
10921 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
10922 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
10923 ;EVERY BIT OF THE AC.
10924 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6-4
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0244
10925 013210 SN=SN+1
10926 000200 ZZ=ZZ+ZZ
10927 IFE ZZ,<ZZ=1>
10928 035600 200 00 0 00 070253 MOVE [0] ;LOAD AC WITH ALL ZEROS
10929 035601 270 00 0 00 070274 ADD [ZZ] ;*ADD OF FLOATING ONE TO ZERO
10930 035602 444 00 0 00 070274 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
10931 035603 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
10932 035604 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
10933 STOP^
10934 035605 254 04 0 00 035606 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
10935 035606 324 00 0 00 035607 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
10936 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
10937 ;IN THE SUBTEST) TO LOOP ON ERROR^
10938
10939 ;**********
10940
10941 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
10942 ;TO AN AC OF ALL ZEROS IS ADDED A
10943 ;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
10944 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
10945 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
10946 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
10947 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
10948 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
10949 ;EVERY BIT OF THE AC.
10950 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
10951 013211 SN=SN+1
10952 000400 ZZ=ZZ+ZZ
10953 IFE ZZ,<ZZ=1>
10954 035607 200 00 0 00 070253 MOVE [0] ;LOAD AC WITH ALL ZEROS
10955 035610 270 00 0 00 070275 ADD [ZZ] ;*ADD OF FLOATING ONE TO ZERO
10956 035611 444 00 0 00 070275 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
10957 035612 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
10958 035613 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
10959 STOP^
10960 035614 254 04 0 00 035615 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
10961 035615 324 00 0 00 035616 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
10962 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
10963 ;IN THE SUBTEST) TO LOOP ON ERROR^
10964
10965 ;**********
10966
10967 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
10968 ;TO AN AC OF ALL ZEROS IS ADDED A
10969 ;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
10970 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
10971 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
10972 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
10973 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
10974 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
10975 ;EVERY BIT OF THE AC.
10976 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
10977 013212 SN=SN+1
10978 001000 ZZ=ZZ+ZZ
10979 IFE ZZ,<ZZ=1>
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6-5
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0245
10980 035616 200 00 0 00 070253 MOVE [0] ;LOAD AC WITH ALL ZEROS
10981 035617 270 00 0 00 070276 ADD [ZZ] ;*ADD OF FLOATING ONE TO ZERO
10982 035620 444 00 0 00 070276 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
10983 035621 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
10984 035622 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
10985 STOP^
10986 035623 254 04 0 00 035624 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
10987 035624 324 00 0 00 035625 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
10988 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
10989 ;IN THE SUBTEST) TO LOOP ON ERROR^
10990
10991 ;**********
10992
10993 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
10994 ;TO AN AC OF ALL ZEROS IS ADDED A
10995 ;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
10996 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
10997 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
10998 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
10999 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
11000 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
11001 ;EVERY BIT OF THE AC.
11002 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
11003 013213 SN=SN+1
11004 002000 ZZ=ZZ+ZZ
11005 IFE ZZ,<ZZ=1>
11006 035625 200 00 0 00 070253 MOVE [0] ;LOAD AC WITH ALL ZEROS
11007 035626 270 00 0 00 070277 ADD [ZZ] ;*ADD OF FLOATING ONE TO ZERO
11008 035627 444 00 0 00 070277 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
11009 035630 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
11010 035631 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
11011 STOP^
11012 035632 254 04 0 00 035633 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
11013 035633 324 00 0 00 035634 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
11014 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
11015 ;IN THE SUBTEST) TO LOOP ON ERROR^
11016
11017 ;**********
11018
11019 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
11020 ;TO AN AC OF ALL ZEROS IS ADDED A
11021 ;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
11022 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
11023 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
11024 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
11025 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
11026 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
11027 ;EVERY BIT OF THE AC.
11028 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
11029 013214 SN=SN+1
11030 004000 ZZ=ZZ+ZZ
11031 IFE ZZ,<ZZ=1>
11032 035634 200 00 0 00 070253 MOVE [0] ;LOAD AC WITH ALL ZEROS
11033 035635 270 00 0 00 070300 ADD [ZZ] ;*ADD OF FLOATING ONE TO ZERO
11034 035636 444 00 0 00 070300 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6-6
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0246
11035 035637 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
11036 035640 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
11037 STOP^
11038 035641 254 04 0 00 035642 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
11039 035642 324 00 0 00 035643 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
11040 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
11041 ;IN THE SUBTEST) TO LOOP ON ERROR^
11042
11043 ;**********
11044
11045 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
11046 ;TO AN AC OF ALL ZEROS IS ADDED A
11047 ;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
11048 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
11049 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
11050 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
11051 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
11052 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
11053 ;EVERY BIT OF THE AC.
11054 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
11055 013215 SN=SN+1
11056 010000 ZZ=ZZ+ZZ
11057 IFE ZZ,<ZZ=1>
11058 035643 200 00 0 00 070253 MOVE [0] ;LOAD AC WITH ALL ZEROS
11059 035644 270 00 0 00 070301 ADD [ZZ] ;*ADD OF FLOATING ONE TO ZERO
11060 035645 444 00 0 00 070301 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
11061 035646 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
11062 035647 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
11063 STOP^
11064 035650 254 04 0 00 035651 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
11065 035651 324 00 0 00 035652 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
11066 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
11067 ;IN THE SUBTEST) TO LOOP ON ERROR^
11068
11069 ;**********
11070
11071 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
11072 ;TO AN AC OF ALL ZEROS IS ADDED A
11073 ;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
11074 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
11075 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
11076 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
11077 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
11078 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
11079 ;EVERY BIT OF THE AC.
11080 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
11081 013216 SN=SN+1
11082 020000 ZZ=ZZ+ZZ
11083 IFE ZZ,<ZZ=1>
11084 035652 200 00 0 00 070253 MOVE [0] ;LOAD AC WITH ALL ZEROS
11085 035653 270 00 0 00 070302 ADD [ZZ] ;*ADD OF FLOATING ONE TO ZERO
11086 035654 444 00 0 00 070302 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
11087 035655 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
11088 035656 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
11089 STOP^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6-7
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0247
11090 035657 254 04 0 00 035660 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
11091 035660 324 00 0 00 035661 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
11092 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
11093 ;IN THE SUBTEST) TO LOOP ON ERROR^
11094
11095 ;**********
11096
11097 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
11098 ;TO AN AC OF ALL ZEROS IS ADDED A
11099 ;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
11100 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
11101 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
11102 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
11103 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
11104 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
11105 ;EVERY BIT OF THE AC.
11106 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
11107 013217 SN=SN+1
11108 040000 ZZ=ZZ+ZZ
11109 IFE ZZ,<ZZ=1>
11110 035661 200 00 0 00 070253 MOVE [0] ;LOAD AC WITH ALL ZEROS
11111 035662 270 00 0 00 070303 ADD [ZZ] ;*ADD OF FLOATING ONE TO ZERO
11112 035663 444 00 0 00 070303 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
11113 035664 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
11114 035665 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
11115 STOP^
11116 035666 254 04 0 00 035667 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
11117 035667 324 00 0 00 035670 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
11118 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
11119 ;IN THE SUBTEST) TO LOOP ON ERROR^
11120
11121 ;**********
11122
11123 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
11124 ;TO AN AC OF ALL ZEROS IS ADDED A
11125 ;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
11126 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
11127 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
11128 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
11129 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
11130 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
11131 ;EVERY BIT OF THE AC.
11132 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
11133 013220 SN=SN+1
11134 100000 ZZ=ZZ+ZZ
11135 IFE ZZ,<ZZ=1>
11136 035670 200 00 0 00 070253 MOVE [0] ;LOAD AC WITH ALL ZEROS
11137 035671 270 00 0 00 070304 ADD [ZZ] ;*ADD OF FLOATING ONE TO ZERO
11138 035672 444 00 0 00 070304 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
11139 035673 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
11140 035674 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
11141 STOP^
11142 035675 254 04 0 00 035676 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
11143 035676 324 00 0 00 035677 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
11144 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6-8
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0248
11145 ;IN THE SUBTEST) TO LOOP ON ERROR^
11146
11147 ;**********
11148
11149 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
11150 ;TO AN AC OF ALL ZEROS IS ADDED A
11151 ;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
11152 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
11153 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
11154 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
11155 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
11156 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
11157 ;EVERY BIT OF THE AC.
11158 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
11159 013221 SN=SN+1
11160 200000 ZZ=ZZ+ZZ
11161 IFE ZZ,<ZZ=1>
11162 035677 200 00 0 00 070253 MOVE [0] ;LOAD AC WITH ALL ZEROS
11163 035700 270 00 0 00 070305 ADD [ZZ] ;*ADD OF FLOATING ONE TO ZERO
11164 035701 444 00 0 00 070305 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
11165 035702 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
11166 035703 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
11167 STOP^
11168 035704 254 04 0 00 035705 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
11169 035705 324 00 0 00 035706 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
11170 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
11171 ;IN THE SUBTEST) TO LOOP ON ERROR^
11172
11173 ;**********
11174
11175 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
11176 ;TO AN AC OF ALL ZEROS IS ADDED A
11177 ;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
11178 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
11179 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
11180 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
11181 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
11182 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
11183 ;EVERY BIT OF THE AC.
11184 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
11185 013222 SN=SN+1
11186 400000 ZZ=ZZ+ZZ
11187 IFE ZZ,<ZZ=1>
11188 035706 200 00 0 00 070253 MOVE [0] ;LOAD AC WITH ALL ZEROS
11189 035707 270 00 0 00 070306 ADD [ZZ] ;*ADD OF FLOATING ONE TO ZERO
11190 035710 444 00 0 00 070306 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
11191 035711 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
11192 035712 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
11193 STOP^
11194 035713 254 04 0 00 035714 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
11195 035714 324 00 0 00 035715 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
11196 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
11197 ;IN THE SUBTEST) TO LOOP ON ERROR^
11198
11199 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6-9
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0249
11200
11201 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
11202 ;TO AN AC OF ALL ZEROS IS ADDED A
11203 ;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
11204 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
11205 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
11206 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
11207 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
11208 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
11209 ;EVERY BIT OF THE AC.
11210 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
11211 013223 SN=SN+1
11212 000001 000000 ZZ=ZZ+ZZ
11213 IFE ZZ,<ZZ=1>
11214 035715 200 00 0 00 070253 MOVE [0] ;LOAD AC WITH ALL ZEROS
11215 035716 270 00 0 00 070307 ADD [ZZ] ;*ADD OF FLOATING ONE TO ZERO
11216 035717 444 00 0 00 070307 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
11217 035720 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
11218 035721 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
11219 STOP^
11220 035722 254 04 0 00 035723 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
11221 035723 324 00 0 00 035724 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
11222 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
11223 ;IN THE SUBTEST) TO LOOP ON ERROR^
11224
11225 ;**********
11226
11227 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
11228 ;TO AN AC OF ALL ZEROS IS ADDED A
11229 ;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
11230 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
11231 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
11232 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
11233 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
11234 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
11235 ;EVERY BIT OF THE AC.
11236 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
11237 013224 SN=SN+1
11238 000002 000000 ZZ=ZZ+ZZ
11239 IFE ZZ,<ZZ=1>
11240 035724 200 00 0 00 070253 MOVE [0] ;LOAD AC WITH ALL ZEROS
11241 035725 270 00 0 00 070310 ADD [ZZ] ;*ADD OF FLOATING ONE TO ZERO
11242 035726 444 00 0 00 070310 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
11243 035727 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
11244 035730 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
11245 STOP^
11246 035731 254 04 0 00 035732 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
11247 035732 324 00 0 00 035733 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
11248 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
11249 ;IN THE SUBTEST) TO LOOP ON ERROR^
11250
11251 ;**********
11252
11253 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
11254 ;TO AN AC OF ALL ZEROS IS ADDED A
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6-10
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0250
11255 ;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
11256 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
11257 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
11258 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
11259 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
11260 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
11261 ;EVERY BIT OF THE AC.
11262 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
11263 013225 SN=SN+1
11264 000004 000000 ZZ=ZZ+ZZ
11265 IFE ZZ,<ZZ=1>
11266 035733 200 00 0 00 070253 MOVE [0] ;LOAD AC WITH ALL ZEROS
11267 035734 270 00 0 00 070311 ADD [ZZ] ;*ADD OF FLOATING ONE TO ZERO
11268 035735 444 00 0 00 070311 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
11269 035736 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
11270 035737 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
11271 STOP^
11272 035740 254 04 0 00 035741 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
11273 035741 324 00 0 00 035742 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
11274 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
11275 ;IN THE SUBTEST) TO LOOP ON ERROR^
11276
11277 ;**********
11278
11279 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
11280 ;TO AN AC OF ALL ZEROS IS ADDED A
11281 ;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
11282 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
11283 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
11284 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
11285 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
11286 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
11287 ;EVERY BIT OF THE AC.
11288 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
11289 013226 SN=SN+1
11290 000010 000000 ZZ=ZZ+ZZ
11291 IFE ZZ,<ZZ=1>
11292 035742 200 00 0 00 070253 MOVE [0] ;LOAD AC WITH ALL ZEROS
11293 035743 270 00 0 00 070312 ADD [ZZ] ;*ADD OF FLOATING ONE TO ZERO
11294 035744 444 00 0 00 070312 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
11295 035745 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
11296 035746 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
11297 STOP^
11298 035747 254 04 0 00 035750 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
11299 035750 324 00 0 00 035751 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
11300 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
11301 ;IN THE SUBTEST) TO LOOP ON ERROR^
11302
11303 ;**********
11304
11305 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
11306 ;TO AN AC OF ALL ZEROS IS ADDED A
11307 ;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
11308 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
11309 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6-11
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0251
11310 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
11311 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
11312 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
11313 ;EVERY BIT OF THE AC.
11314 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
11315 013227 SN=SN+1
11316 000020 000000 ZZ=ZZ+ZZ
11317 IFE ZZ,<ZZ=1>
11318 035751 200 00 0 00 070253 MOVE [0] ;LOAD AC WITH ALL ZEROS
11319 035752 270 00 0 00 070313 ADD [ZZ] ;*ADD OF FLOATING ONE TO ZERO
11320 035753 444 00 0 00 070313 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
11321 035754 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
11322 035755 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
11323 STOP^
11324 035756 254 04 0 00 035757 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
11325 035757 324 00 0 00 035760 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
11326 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
11327 ;IN THE SUBTEST) TO LOOP ON ERROR^
11328
11329 ;**********
11330
11331 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
11332 ;TO AN AC OF ALL ZEROS IS ADDED A
11333 ;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
11334 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
11335 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
11336 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
11337 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
11338 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
11339 ;EVERY BIT OF THE AC.
11340 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
11341 013230 SN=SN+1
11342 000040 000000 ZZ=ZZ+ZZ
11343 IFE ZZ,<ZZ=1>
11344 035760 200 00 0 00 070253 MOVE [0] ;LOAD AC WITH ALL ZEROS
11345 035761 270 00 0 00 070314 ADD [ZZ] ;*ADD OF FLOATING ONE TO ZERO
11346 035762 444 00 0 00 070314 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
11347 035763 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
11348 035764 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
11349 STOP^
11350 035765 254 04 0 00 035766 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
11351 035766 324 00 0 00 035767 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
11352 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
11353 ;IN THE SUBTEST) TO LOOP ON ERROR^
11354
11355 ;**********
11356
11357 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
11358 ;TO AN AC OF ALL ZEROS IS ADDED A
11359 ;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
11360 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
11361 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
11362 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
11363 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
11364 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6-12
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0252
11365 ;EVERY BIT OF THE AC.
11366 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
11367 013231 SN=SN+1
11368 000100 000000 ZZ=ZZ+ZZ
11369 IFE ZZ,<ZZ=1>
11370 035767 200 00 0 00 070253 MOVE [0] ;LOAD AC WITH ALL ZEROS
11371 035770 270 00 0 00 070315 ADD [ZZ] ;*ADD OF FLOATING ONE TO ZERO
11372 035771 444 00 0 00 070315 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
11373 035772 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
11374 035773 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
11375 STOP^
11376 035774 254 04 0 00 035775 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
11377 035775 324 00 0 00 035776 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
11378 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
11379 ;IN THE SUBTEST) TO LOOP ON ERROR^
11380
11381 ;**********
11382
11383 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
11384 ;TO AN AC OF ALL ZEROS IS ADDED A
11385 ;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
11386 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
11387 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
11388 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
11389 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
11390 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
11391 ;EVERY BIT OF THE AC.
11392 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
11393 013232 SN=SN+1
11394 000200 000000 ZZ=ZZ+ZZ
11395 IFE ZZ,<ZZ=1>
11396 035776 200 00 0 00 070253 MOVE [0] ;LOAD AC WITH ALL ZEROS
11397 035777 270 00 0 00 070316 ADD [ZZ] ;*ADD OF FLOATING ONE TO ZERO
11398 036000 444 00 0 00 070316 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
11399 036001 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
11400 036002 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
11401 STOP^
11402 036003 254 04 0 00 036004 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
11403 036004 324 00 0 00 036005 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
11404 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
11405 ;IN THE SUBTEST) TO LOOP ON ERROR^
11406
11407 ;**********
11408
11409 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
11410 ;TO AN AC OF ALL ZEROS IS ADDED A
11411 ;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
11412 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
11413 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
11414 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
11415 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
11416 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
11417 ;EVERY BIT OF THE AC.
11418 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
11419 013233 SN=SN+1
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6-13
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0253
11420 000400 000000 ZZ=ZZ+ZZ
11421 IFE ZZ,<ZZ=1>
11422 036005 200 00 0 00 070253 MOVE [0] ;LOAD AC WITH ALL ZEROS
11423 036006 270 00 0 00 070264 ADD [ZZ] ;*ADD OF FLOATING ONE TO ZERO
11424 036007 444 00 0 00 070264 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
11425 036010 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
11426 036011 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
11427 STOP^
11428 036012 254 04 0 00 036013 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
11429 036013 324 00 0 00 036014 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
11430 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
11431 ;IN THE SUBTEST) TO LOOP ON ERROR^
11432
11433 ;**********
11434
11435 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
11436 ;TO AN AC OF ALL ZEROS IS ADDED A
11437 ;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
11438 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
11439 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
11440 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
11441 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
11442 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
11443 ;EVERY BIT OF THE AC.
11444 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
11445 013234 SN=SN+1
11446 001000 000000 ZZ=ZZ+ZZ
11447 IFE ZZ,<ZZ=1>
11448 036014 200 00 0 00 070253 MOVE [0] ;LOAD AC WITH ALL ZEROS
11449 036015 270 00 0 00 070317 ADD [ZZ] ;*ADD OF FLOATING ONE TO ZERO
11450 036016 444 00 0 00 070317 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
11451 036017 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
11452 036020 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
11453 STOP^
11454 036021 254 04 0 00 036022 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
11455 036022 324 00 0 00 036023 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
11456 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
11457 ;IN THE SUBTEST) TO LOOP ON ERROR^
11458
11459 ;**********
11460
11461 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
11462 ;TO AN AC OF ALL ZEROS IS ADDED A
11463 ;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
11464 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
11465 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
11466 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
11467 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
11468 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
11469 ;EVERY BIT OF THE AC.
11470 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
11471 013235 SN=SN+1
11472 002000 000000 ZZ=ZZ+ZZ
11473 IFE ZZ,<ZZ=1>
11474 036023 200 00 0 00 070253 MOVE [0] ;LOAD AC WITH ALL ZEROS
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6-14
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0254
11475 036024 270 00 0 00 070320 ADD [ZZ] ;*ADD OF FLOATING ONE TO ZERO
11476 036025 444 00 0 00 070320 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
11477 036026 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
11478 036027 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
11479 STOP^
11480 036030 254 04 0 00 036031 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
11481 036031 324 00 0 00 036032 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
11482 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
11483 ;IN THE SUBTEST) TO LOOP ON ERROR^
11484
11485 ;**********
11486
11487 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
11488 ;TO AN AC OF ALL ZEROS IS ADDED A
11489 ;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
11490 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
11491 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
11492 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
11493 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
11494 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
11495 ;EVERY BIT OF THE AC.
11496 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
11497 013236 SN=SN+1
11498 004000 000000 ZZ=ZZ+ZZ
11499 IFE ZZ,<ZZ=1>
11500 036032 200 00 0 00 070253 MOVE [0] ;LOAD AC WITH ALL ZEROS
11501 036033 270 00 0 00 070321 ADD [ZZ] ;*ADD OF FLOATING ONE TO ZERO
11502 036034 444 00 0 00 070321 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
11503 036035 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
11504 036036 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
11505 STOP^
11506 036037 254 04 0 00 036040 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
11507 036040 324 00 0 00 036041 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
11508 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
11509 ;IN THE SUBTEST) TO LOOP ON ERROR^
11510
11511 ;**********
11512
11513 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
11514 ;TO AN AC OF ALL ZEROS IS ADDED A
11515 ;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
11516 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
11517 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
11518 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
11519 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
11520 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
11521 ;EVERY BIT OF THE AC.
11522 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
11523 013237 SN=SN+1
11524 010000 000000 ZZ=ZZ+ZZ
11525 IFE ZZ,<ZZ=1>
11526 036041 200 00 0 00 070253 MOVE [0] ;LOAD AC WITH ALL ZEROS
11527 036042 270 00 0 00 070322 ADD [ZZ] ;*ADD OF FLOATING ONE TO ZERO
11528 036043 444 00 0 00 070322 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
11529 036044 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6-15
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0255
11530 036045 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
11531 STOP^
11532 036046 254 04 0 00 036047 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
11533 036047 324 00 0 00 036050 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
11534 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
11535 ;IN THE SUBTEST) TO LOOP ON ERROR^
11536
11537 ;**********
11538
11539 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
11540 ;TO AN AC OF ALL ZEROS IS ADDED A
11541 ;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
11542 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
11543 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
11544 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
11545 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
11546 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
11547 ;EVERY BIT OF THE AC.
11548 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
11549 013240 SN=SN+1
11550 020000 000000 ZZ=ZZ+ZZ
11551 IFE ZZ,<ZZ=1>
11552 036050 200 00 0 00 070253 MOVE [0] ;LOAD AC WITH ALL ZEROS
11553 036051 270 00 0 00 070323 ADD [ZZ] ;*ADD OF FLOATING ONE TO ZERO
11554 036052 444 00 0 00 070323 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
11555 036053 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
11556 036054 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
11557 STOP^
11558 036055 254 04 0 00 036056 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
11559 036056 324 00 0 00 036057 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
11560 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
11561 ;IN THE SUBTEST) TO LOOP ON ERROR^
11562
11563 ;**********
11564
11565 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
11566 ;TO AN AC OF ALL ZEROS IS ADDED A
11567 ;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
11568 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
11569 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
11570 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
11571 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
11572 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
11573 ;EVERY BIT OF THE AC.
11574 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
11575 013241 SN=SN+1
11576 040000 000000 ZZ=ZZ+ZZ
11577 IFE ZZ,<ZZ=1>
11578 036057 200 00 0 00 070253 MOVE [0] ;LOAD AC WITH ALL ZEROS
11579 036060 270 00 0 00 070324 ADD [ZZ] ;*ADD OF FLOATING ONE TO ZERO
11580 036061 444 00 0 00 070324 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
11581 036062 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
11582 036063 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
11583 STOP^
11584 036064 254 04 0 00 036065 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6-16
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0256
11585 036065 324 00 0 00 036066 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
11586 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
11587 ;IN THE SUBTEST) TO LOOP ON ERROR^
11588
11589 ;**********
11590
11591 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
11592 ;TO AN AC OF ALL ZEROS IS ADDED A
11593 ;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
11594 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
11595 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
11596 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
11597 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
11598 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
11599 ;EVERY BIT OF THE AC.
11600 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
11601 013242 SN=SN+1
11602 100000 000000 ZZ=ZZ+ZZ
11603 IFE ZZ,<ZZ=1>
11604 036066 200 00 0 00 070253 MOVE [0] ;LOAD AC WITH ALL ZEROS
11605 036067 270 00 0 00 070325 ADD [ZZ] ;*ADD OF FLOATING ONE TO ZERO
11606 036070 444 00 0 00 070325 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
11607 036071 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
11608 036072 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
11609 STOP^
11610 036073 254 04 0 00 036074 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
11611 036074 324 00 0 00 036075 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
11612 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
11613 ;IN THE SUBTEST) TO LOOP ON ERROR^
11614
11615 ;**********
11616
11617 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
11618 ;TO AN AC OF ALL ZEROS IS ADDED A
11619 ;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
11620 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
11621 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
11622 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
11623 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
11624 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
11625 ;EVERY BIT OF THE AC.
11626 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
11627 013243 SN=SN+1
11628 200000 000000 ZZ=ZZ+ZZ
11629 IFE ZZ,<ZZ=1>
11630 036075 200 00 0 00 070253 MOVE [0] ;LOAD AC WITH ALL ZEROS
11631 036076 270 00 0 00 070326 ADD [ZZ] ;*ADD OF FLOATING ONE TO ZERO
11632 036077 444 00 0 00 070326 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
11633 036100 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
11634 036101 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
11635 STOP^
11636 036102 254 04 0 00 036103 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
11637 036103 324 00 0 00 036104 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
11638 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
11639 ;IN THE SUBTEST) TO LOOP ON ERROR^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6-17
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0257
11640
11641 ;**********
11642
11643 ;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
11644 ;TO AN AC OF ALL ZEROS IS ADDED A
11645 ;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
11646 ;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
11647 ;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC). THIS RESULT SHOULD
11648 ;BE ALL ONES. NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
11649 ;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
11650 ;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
11651 ;EVERY BIT OF THE AC.
11652 ;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
11653 013244 SN=SN+1
11654 400000 000000 ZZ=ZZ+ZZ
11655 IFE ZZ,<ZZ=1>
11656 036104 200 00 0 00 070253 MOVE [0] ;LOAD AC WITH ALL ZEROS
11657 036105 270 00 0 00 070256 ADD [ZZ] ;*ADD OF FLOATING ONE TO ZERO
11658 036106 444 00 0 00 070256 EQV [ZZ] ;RESULTS IN C(AC)=ALL ONES
11659 036107 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
11660 036110 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
11661 STOP^
11662 036111 254 04 0 00 036112 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
11663 036112 324 00 0 00 036113 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
11664 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
11665 ;IN THE SUBTEST) TO LOOP ON ERROR^
11666
11667 ;**********
11668
11669 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6-18
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0258
11670 ;ADD A RIPPLED ONE TO A RIPPLED ONE
11671
11672 011200 SN=11200
11673 000000 ZZ=0
11674
11675 A11200: REPEAT ^D35,
11676 <;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
11677 ;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
11678 ;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
11679 ;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
11680 ;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
11681 ;RESULT IN THE AC WILL BE ZERO AND THE TEST
11682 ;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
11683 ;SO THAT A ONE WILL BE FLOATED THROUGH
11684 ;BITS 1 THRU 35 OF BOTH AC AND E
11685 SN=SN+1
11686 ZZ=ZZ+ZZ
11687 IFE ZZ,<ZZ=1>
11688 MOVE [ZZ] ;PRESET AC WITH A FLOATING ONE
11689 ADD [ZZ] ;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
11690 EQV [ZZ+ZZ] ;RESULTS IN C(AC)=ALL ONES
11691 EQV [0] ;RESULTS IN C(AC)=0
11692 SKIPE ;PASS TEST IF C(AC)=0
11693 STOP
11694
11695 ;**********
11696 >
11697 ;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
11698 ;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
11699 ;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
11700 ;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
11701 ;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
11702 ;RESULT IN THE AC WILL BE ZERO AND THE TEST
11703 ;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
11704 ;SO THAT A ONE WILL BE FLOATED THROUGH
11705 ;BITS 1 THRU 35 OF BOTH AC AND E
11706 011201 SN=SN+1
11707 000000 ZZ=ZZ+ZZ
11708 000001 IFE ZZ,<ZZ=1>
11709 036113 200 00 0 00 070265 MOVE [ZZ] ;PRESET AC WITH A FLOATING ONE
11710 036114 270 00 0 00 070265 ADD [ZZ] ;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
11711 036115 444 00 0 00 070266 EQV [ZZ+ZZ] ;RESULTS IN C(AC)=ALL ONES
11712 036116 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
11713 036117 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
11714 STOP^
11715 036120 254 04 0 00 036121 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
11716 036121 324 00 0 00 036122 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
11717 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
11718 ;IN THE SUBTEST) TO LOOP ON ERROR^
11719
11720 ;**********
11721
11722 ;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
11723 ;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
11724 ;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6-19
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0259
11725 ;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
11726 ;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
11727 ;RESULT IN THE AC WILL BE ZERO AND THE TEST
11728 ;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
11729 ;SO THAT A ONE WILL BE FLOATED THROUGH
11730 ;BITS 1 THRU 35 OF BOTH AC AND E
11731 011202 SN=SN+1
11732 000002 ZZ=ZZ+ZZ
11733 IFE ZZ,<ZZ=1>
11734 036122 200 00 0 00 070266 MOVE [ZZ] ;PRESET AC WITH A FLOATING ONE
11735 036123 270 00 0 00 070266 ADD [ZZ] ;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
11736 036124 444 00 0 00 070267 EQV [ZZ+ZZ] ;RESULTS IN C(AC)=ALL ONES
11737 036125 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
11738 036126 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
11739 STOP^
11740 036127 254 04 0 00 036130 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
11741 036130 324 00 0 00 036131 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
11742 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
11743 ;IN THE SUBTEST) TO LOOP ON ERROR^
11744
11745 ;**********
11746
11747 ;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
11748 ;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
11749 ;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
11750 ;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
11751 ;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
11752 ;RESULT IN THE AC WILL BE ZERO AND THE TEST
11753 ;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
11754 ;SO THAT A ONE WILL BE FLOATED THROUGH
11755 ;BITS 1 THRU 35 OF BOTH AC AND E
11756 011203 SN=SN+1
11757 000004 ZZ=ZZ+ZZ
11758 IFE ZZ,<ZZ=1>
11759 036131 200 00 0 00 070267 MOVE [ZZ] ;PRESET AC WITH A FLOATING ONE
11760 036132 270 00 0 00 070267 ADD [ZZ] ;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
11761 036133 444 00 0 00 070270 EQV [ZZ+ZZ] ;RESULTS IN C(AC)=ALL ONES
11762 036134 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
11763 036135 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
11764 STOP^
11765 036136 254 04 0 00 036137 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
11766 036137 324 00 0 00 036140 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
11767 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
11768 ;IN THE SUBTEST) TO LOOP ON ERROR^
11769
11770 ;**********
11771
11772 ;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
11773 ;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
11774 ;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
11775 ;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
11776 ;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
11777 ;RESULT IN THE AC WILL BE ZERO AND THE TEST
11778 ;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
11779 ;SO THAT A ONE WILL BE FLOATED THROUGH
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6-20
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0260
11780 ;BITS 1 THRU 35 OF BOTH AC AND E
11781 011204 SN=SN+1
11782 000010 ZZ=ZZ+ZZ
11783 IFE ZZ,<ZZ=1>
11784 036140 200 00 0 00 070270 MOVE [ZZ] ;PRESET AC WITH A FLOATING ONE
11785 036141 270 00 0 00 070270 ADD [ZZ] ;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
11786 036142 444 00 0 00 070271 EQV [ZZ+ZZ] ;RESULTS IN C(AC)=ALL ONES
11787 036143 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
11788 036144 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
11789 STOP^
11790 036145 254 04 0 00 036146 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
11791 036146 324 00 0 00 036147 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
11792 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
11793 ;IN THE SUBTEST) TO LOOP ON ERROR^
11794
11795 ;**********
11796
11797 ;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
11798 ;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
11799 ;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
11800 ;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
11801 ;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
11802 ;RESULT IN THE AC WILL BE ZERO AND THE TEST
11803 ;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
11804 ;SO THAT A ONE WILL BE FLOATED THROUGH
11805 ;BITS 1 THRU 35 OF BOTH AC AND E
11806 011205 SN=SN+1
11807 000020 ZZ=ZZ+ZZ
11808 IFE ZZ,<ZZ=1>
11809 036147 200 00 0 00 070271 MOVE [ZZ] ;PRESET AC WITH A FLOATING ONE
11810 036150 270 00 0 00 070271 ADD [ZZ] ;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
11811 036151 444 00 0 00 070272 EQV [ZZ+ZZ] ;RESULTS IN C(AC)=ALL ONES
11812 036152 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
11813 036153 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
11814 STOP^
11815 036154 254 04 0 00 036155 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
11816 036155 324 00 0 00 036156 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
11817 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
11818 ;IN THE SUBTEST) TO LOOP ON ERROR^
11819
11820 ;**********
11821
11822 ;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
11823 ;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
11824 ;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
11825 ;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
11826 ;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
11827 ;RESULT IN THE AC WILL BE ZERO AND THE TEST
11828 ;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
11829 ;SO THAT A ONE WILL BE FLOATED THROUGH
11830 ;BITS 1 THRU 35 OF BOTH AC AND E
11831 011206 SN=SN+1
11832 000040 ZZ=ZZ+ZZ
11833 IFE ZZ,<ZZ=1>
11834 036156 200 00 0 00 070272 MOVE [ZZ] ;PRESET AC WITH A FLOATING ONE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6-21
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0261
11835 036157 270 00 0 00 070272 ADD [ZZ] ;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
11836 036160 444 00 0 00 070273 EQV [ZZ+ZZ] ;RESULTS IN C(AC)=ALL ONES
11837 036161 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
11838 036162 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
11839 STOP^
11840 036163 254 04 0 00 036164 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
11841 036164 324 00 0 00 036165 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
11842 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
11843 ;IN THE SUBTEST) TO LOOP ON ERROR^
11844
11845 ;**********
11846
11847 ;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
11848 ;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
11849 ;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
11850 ;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
11851 ;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
11852 ;RESULT IN THE AC WILL BE ZERO AND THE TEST
11853 ;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
11854 ;SO THAT A ONE WILL BE FLOATED THROUGH
11855 ;BITS 1 THRU 35 OF BOTH AC AND E
11856 011207 SN=SN+1
11857 000100 ZZ=ZZ+ZZ
11858 IFE ZZ,<ZZ=1>
11859 036165 200 00 0 00 070273 MOVE [ZZ] ;PRESET AC WITH A FLOATING ONE
11860 036166 270 00 0 00 070273 ADD [ZZ] ;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
11861 036167 444 00 0 00 070274 EQV [ZZ+ZZ] ;RESULTS IN C(AC)=ALL ONES
11862 036170 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
11863 036171 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
11864 STOP^
11865 036172 254 04 0 00 036173 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
11866 036173 324 00 0 00 036174 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
11867 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
11868 ;IN THE SUBTEST) TO LOOP ON ERROR^
11869
11870 ;**********
11871
11872 ;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
11873 ;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
11874 ;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
11875 ;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
11876 ;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
11877 ;RESULT IN THE AC WILL BE ZERO AND THE TEST
11878 ;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
11879 ;SO THAT A ONE WILL BE FLOATED THROUGH
11880 ;BITS 1 THRU 35 OF BOTH AC AND E
11881 011210 SN=SN+1
11882 000200 ZZ=ZZ+ZZ
11883 IFE ZZ,<ZZ=1>
11884 036174 200 00 0 00 070274 MOVE [ZZ] ;PRESET AC WITH A FLOATING ONE
11885 036175 270 00 0 00 070274 ADD [ZZ] ;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
11886 036176 444 00 0 00 070275 EQV [ZZ+ZZ] ;RESULTS IN C(AC)=ALL ONES
11887 036177 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
11888 036200 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
11889 STOP^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6-22
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0262
11890 036201 254 04 0 00 036202 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
11891 036202 324 00 0 00 036203 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
11892 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
11893 ;IN THE SUBTEST) TO LOOP ON ERROR^
11894
11895 ;**********
11896
11897 ;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
11898 ;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
11899 ;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
11900 ;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
11901 ;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
11902 ;RESULT IN THE AC WILL BE ZERO AND THE TEST
11903 ;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
11904 ;SO THAT A ONE WILL BE FLOATED THROUGH
11905 ;BITS 1 THRU 35 OF BOTH AC AND E
11906 011211 SN=SN+1
11907 000400 ZZ=ZZ+ZZ
11908 IFE ZZ,<ZZ=1>
11909 036203 200 00 0 00 070275 MOVE [ZZ] ;PRESET AC WITH A FLOATING ONE
11910 036204 270 00 0 00 070275 ADD [ZZ] ;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
11911 036205 444 00 0 00 070276 EQV [ZZ+ZZ] ;RESULTS IN C(AC)=ALL ONES
11912 036206 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
11913 036207 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
11914 STOP^
11915 036210 254 04 0 00 036211 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
11916 036211 324 00 0 00 036212 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
11917 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
11918 ;IN THE SUBTEST) TO LOOP ON ERROR^
11919
11920 ;**********
11921
11922 ;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
11923 ;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
11924 ;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
11925 ;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
11926 ;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
11927 ;RESULT IN THE AC WILL BE ZERO AND THE TEST
11928 ;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
11929 ;SO THAT A ONE WILL BE FLOATED THROUGH
11930 ;BITS 1 THRU 35 OF BOTH AC AND E
11931 011212 SN=SN+1
11932 001000 ZZ=ZZ+ZZ
11933 IFE ZZ,<ZZ=1>
11934 036212 200 00 0 00 070276 MOVE [ZZ] ;PRESET AC WITH A FLOATING ONE
11935 036213 270 00 0 00 070276 ADD [ZZ] ;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
11936 036214 444 00 0 00 070277 EQV [ZZ+ZZ] ;RESULTS IN C(AC)=ALL ONES
11937 036215 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
11938 036216 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
11939 STOP^
11940 036217 254 04 0 00 036220 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
11941 036220 324 00 0 00 036221 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
11942 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
11943 ;IN THE SUBTEST) TO LOOP ON ERROR^
11944
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6-23
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0263
11945 ;**********
11946
11947 ;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
11948 ;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
11949 ;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
11950 ;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
11951 ;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
11952 ;RESULT IN THE AC WILL BE ZERO AND THE TEST
11953 ;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
11954 ;SO THAT A ONE WILL BE FLOATED THROUGH
11955 ;BITS 1 THRU 35 OF BOTH AC AND E
11956 011213 SN=SN+1
11957 002000 ZZ=ZZ+ZZ
11958 IFE ZZ,<ZZ=1>
11959 036221 200 00 0 00 070277 MOVE [ZZ] ;PRESET AC WITH A FLOATING ONE
11960 036222 270 00 0 00 070277 ADD [ZZ] ;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
11961 036223 444 00 0 00 070300 EQV [ZZ+ZZ] ;RESULTS IN C(AC)=ALL ONES
11962 036224 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
11963 036225 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
11964 STOP^
11965 036226 254 04 0 00 036227 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
11966 036227 324 00 0 00 036230 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
11967 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
11968 ;IN THE SUBTEST) TO LOOP ON ERROR^
11969
11970 ;**********
11971
11972 ;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
11973 ;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
11974 ;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
11975 ;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
11976 ;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
11977 ;RESULT IN THE AC WILL BE ZERO AND THE TEST
11978 ;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
11979 ;SO THAT A ONE WILL BE FLOATED THROUGH
11980 ;BITS 1 THRU 35 OF BOTH AC AND E
11981 011214 SN=SN+1
11982 004000 ZZ=ZZ+ZZ
11983 IFE ZZ,<ZZ=1>
11984 036230 200 00 0 00 070300 MOVE [ZZ] ;PRESET AC WITH A FLOATING ONE
11985 036231 270 00 0 00 070300 ADD [ZZ] ;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
11986 036232 444 00 0 00 070301 EQV [ZZ+ZZ] ;RESULTS IN C(AC)=ALL ONES
11987 036233 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
11988 036234 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
11989 STOP^
11990 036235 254 04 0 00 036236 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
11991 036236 324 00 0 00 036237 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
11992 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
11993 ;IN THE SUBTEST) TO LOOP ON ERROR^
11994
11995 ;**********
11996
11997 ;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
11998 ;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
11999 ;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6-24
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0264
12000 ;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
12001 ;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
12002 ;RESULT IN THE AC WILL BE ZERO AND THE TEST
12003 ;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
12004 ;SO THAT A ONE WILL BE FLOATED THROUGH
12005 ;BITS 1 THRU 35 OF BOTH AC AND E
12006 011215 SN=SN+1
12007 010000 ZZ=ZZ+ZZ
12008 IFE ZZ,<ZZ=1>
12009 036237 200 00 0 00 070301 MOVE [ZZ] ;PRESET AC WITH A FLOATING ONE
12010 036240 270 00 0 00 070301 ADD [ZZ] ;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
12011 036241 444 00 0 00 070302 EQV [ZZ+ZZ] ;RESULTS IN C(AC)=ALL ONES
12012 036242 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
12013 036243 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
12014 STOP^
12015 036244 254 04 0 00 036245 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
12016 036245 324 00 0 00 036246 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
12017 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
12018 ;IN THE SUBTEST) TO LOOP ON ERROR^
12019
12020 ;**********
12021
12022 ;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
12023 ;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
12024 ;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
12025 ;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
12026 ;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
12027 ;RESULT IN THE AC WILL BE ZERO AND THE TEST
12028 ;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
12029 ;SO THAT A ONE WILL BE FLOATED THROUGH
12030 ;BITS 1 THRU 35 OF BOTH AC AND E
12031 011216 SN=SN+1
12032 020000 ZZ=ZZ+ZZ
12033 IFE ZZ,<ZZ=1>
12034 036246 200 00 0 00 070302 MOVE [ZZ] ;PRESET AC WITH A FLOATING ONE
12035 036247 270 00 0 00 070302 ADD [ZZ] ;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
12036 036250 444 00 0 00 070303 EQV [ZZ+ZZ] ;RESULTS IN C(AC)=ALL ONES
12037 036251 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
12038 036252 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
12039 STOP^
12040 036253 254 04 0 00 036254 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
12041 036254 324 00 0 00 036255 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
12042 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
12043 ;IN THE SUBTEST) TO LOOP ON ERROR^
12044
12045 ;**********
12046
12047 ;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
12048 ;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
12049 ;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
12050 ;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
12051 ;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
12052 ;RESULT IN THE AC WILL BE ZERO AND THE TEST
12053 ;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
12054 ;SO THAT A ONE WILL BE FLOATED THROUGH
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6-25
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0265
12055 ;BITS 1 THRU 35 OF BOTH AC AND E
12056 011217 SN=SN+1
12057 040000 ZZ=ZZ+ZZ
12058 IFE ZZ,<ZZ=1>
12059 036255 200 00 0 00 070303 MOVE [ZZ] ;PRESET AC WITH A FLOATING ONE
12060 036256 270 00 0 00 070303 ADD [ZZ] ;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
12061 036257 444 00 0 00 070304 EQV [ZZ+ZZ] ;RESULTS IN C(AC)=ALL ONES
12062 036260 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
12063 036261 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
12064 STOP^
12065 036262 254 04 0 00 036263 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
12066 036263 324 00 0 00 036264 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
12067 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
12068 ;IN THE SUBTEST) TO LOOP ON ERROR^
12069
12070 ;**********
12071
12072 ;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
12073 ;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
12074 ;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
12075 ;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
12076 ;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
12077 ;RESULT IN THE AC WILL BE ZERO AND THE TEST
12078 ;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
12079 ;SO THAT A ONE WILL BE FLOATED THROUGH
12080 ;BITS 1 THRU 35 OF BOTH AC AND E
12081 011220 SN=SN+1
12082 100000 ZZ=ZZ+ZZ
12083 IFE ZZ,<ZZ=1>
12084 036264 200 00 0 00 070304 MOVE [ZZ] ;PRESET AC WITH A FLOATING ONE
12085 036265 270 00 0 00 070304 ADD [ZZ] ;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
12086 036266 444 00 0 00 070305 EQV [ZZ+ZZ] ;RESULTS IN C(AC)=ALL ONES
12087 036267 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
12088 036270 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
12089 STOP^
12090 036271 254 04 0 00 036272 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
12091 036272 324 00 0 00 036273 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
12092 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
12093 ;IN THE SUBTEST) TO LOOP ON ERROR^
12094
12095 ;**********
12096
12097 ;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
12098 ;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
12099 ;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
12100 ;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
12101 ;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
12102 ;RESULT IN THE AC WILL BE ZERO AND THE TEST
12103 ;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
12104 ;SO THAT A ONE WILL BE FLOATED THROUGH
12105 ;BITS 1 THRU 35 OF BOTH AC AND E
12106 011221 SN=SN+1
12107 200000 ZZ=ZZ+ZZ
12108 IFE ZZ,<ZZ=1>
12109 036273 200 00 0 00 070305 MOVE [ZZ] ;PRESET AC WITH A FLOATING ONE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6-26
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0266
12110 036274 270 00 0 00 070305 ADD [ZZ] ;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
12111 036275 444 00 0 00 070306 EQV [ZZ+ZZ] ;RESULTS IN C(AC)=ALL ONES
12112 036276 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
12113 036277 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
12114 STOP^
12115 036300 254 04 0 00 036301 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
12116 036301 324 00 0 00 036302 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
12117 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
12118 ;IN THE SUBTEST) TO LOOP ON ERROR^
12119
12120 ;**********
12121
12122 ;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
12123 ;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
12124 ;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
12125 ;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
12126 ;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
12127 ;RESULT IN THE AC WILL BE ZERO AND THE TEST
12128 ;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
12129 ;SO THAT A ONE WILL BE FLOATED THROUGH
12130 ;BITS 1 THRU 35 OF BOTH AC AND E
12131 011222 SN=SN+1
12132 400000 ZZ=ZZ+ZZ
12133 IFE ZZ,<ZZ=1>
12134 036302 200 00 0 00 070306 MOVE [ZZ] ;PRESET AC WITH A FLOATING ONE
12135 036303 270 00 0 00 070306 ADD [ZZ] ;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
12136 036304 444 00 0 00 070307 EQV [ZZ+ZZ] ;RESULTS IN C(AC)=ALL ONES
12137 036305 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
12138 036306 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
12139 STOP^
12140 036307 254 04 0 00 036310 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
12141 036310 324 00 0 00 036311 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
12142 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
12143 ;IN THE SUBTEST) TO LOOP ON ERROR^
12144
12145 ;**********
12146
12147 ;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
12148 ;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
12149 ;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
12150 ;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
12151 ;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
12152 ;RESULT IN THE AC WILL BE ZERO AND THE TEST
12153 ;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
12154 ;SO THAT A ONE WILL BE FLOATED THROUGH
12155 ;BITS 1 THRU 35 OF BOTH AC AND E
12156 011223 SN=SN+1
12157 000001 000000 ZZ=ZZ+ZZ
12158 IFE ZZ,<ZZ=1>
12159 036311 200 00 0 00 070307 MOVE [ZZ] ;PRESET AC WITH A FLOATING ONE
12160 036312 270 00 0 00 070307 ADD [ZZ] ;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
12161 036313 444 00 0 00 070310 EQV [ZZ+ZZ] ;RESULTS IN C(AC)=ALL ONES
12162 036314 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
12163 036315 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
12164 STOP^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6-27
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0267
12165 036316 254 04 0 00 036317 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
12166 036317 324 00 0 00 036320 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
12167 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
12168 ;IN THE SUBTEST) TO LOOP ON ERROR^
12169
12170 ;**********
12171
12172 ;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
12173 ;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
12174 ;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
12175 ;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
12176 ;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
12177 ;RESULT IN THE AC WILL BE ZERO AND THE TEST
12178 ;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
12179 ;SO THAT A ONE WILL BE FLOATED THROUGH
12180 ;BITS 1 THRU 35 OF BOTH AC AND E
12181 011224 SN=SN+1
12182 000002 000000 ZZ=ZZ+ZZ
12183 IFE ZZ,<ZZ=1>
12184 036320 200 00 0 00 070310 MOVE [ZZ] ;PRESET AC WITH A FLOATING ONE
12185 036321 270 00 0 00 070310 ADD [ZZ] ;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
12186 036322 444 00 0 00 070311 EQV [ZZ+ZZ] ;RESULTS IN C(AC)=ALL ONES
12187 036323 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
12188 036324 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
12189 STOP^
12190 036325 254 04 0 00 036326 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
12191 036326 324 00 0 00 036327 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
12192 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
12193 ;IN THE SUBTEST) TO LOOP ON ERROR^
12194
12195 ;**********
12196
12197 ;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
12198 ;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
12199 ;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
12200 ;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
12201 ;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
12202 ;RESULT IN THE AC WILL BE ZERO AND THE TEST
12203 ;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
12204 ;SO THAT A ONE WILL BE FLOATED THROUGH
12205 ;BITS 1 THRU 35 OF BOTH AC AND E
12206 011225 SN=SN+1
12207 000004 000000 ZZ=ZZ+ZZ
12208 IFE ZZ,<ZZ=1>
12209 036327 200 00 0 00 070311 MOVE [ZZ] ;PRESET AC WITH A FLOATING ONE
12210 036330 270 00 0 00 070311 ADD [ZZ] ;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
12211 036331 444 00 0 00 070312 EQV [ZZ+ZZ] ;RESULTS IN C(AC)=ALL ONES
12212 036332 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
12213 036333 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
12214 STOP^
12215 036334 254 04 0 00 036335 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
12216 036335 324 00 0 00 036336 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
12217 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
12218 ;IN THE SUBTEST) TO LOOP ON ERROR^
12219
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6-28
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0268
12220 ;**********
12221
12222 ;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
12223 ;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
12224 ;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
12225 ;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
12226 ;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
12227 ;RESULT IN THE AC WILL BE ZERO AND THE TEST
12228 ;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
12229 ;SO THAT A ONE WILL BE FLOATED THROUGH
12230 ;BITS 1 THRU 35 OF BOTH AC AND E
12231 011226 SN=SN+1
12232 000010 000000 ZZ=ZZ+ZZ
12233 IFE ZZ,<ZZ=1>
12234 036336 200 00 0 00 070312 MOVE [ZZ] ;PRESET AC WITH A FLOATING ONE
12235 036337 270 00 0 00 070312 ADD [ZZ] ;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
12236 036340 444 00 0 00 070313 EQV [ZZ+ZZ] ;RESULTS IN C(AC)=ALL ONES
12237 036341 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
12238 036342 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
12239 STOP^
12240 036343 254 04 0 00 036344 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
12241 036344 324 00 0 00 036345 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
12242 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
12243 ;IN THE SUBTEST) TO LOOP ON ERROR^
12244
12245 ;**********
12246
12247 ;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
12248 ;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
12249 ;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
12250 ;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
12251 ;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
12252 ;RESULT IN THE AC WILL BE ZERO AND THE TEST
12253 ;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
12254 ;SO THAT A ONE WILL BE FLOATED THROUGH
12255 ;BITS 1 THRU 35 OF BOTH AC AND E
12256 011227 SN=SN+1
12257 000020 000000 ZZ=ZZ+ZZ
12258 IFE ZZ,<ZZ=1>
12259 036345 200 00 0 00 070313 MOVE [ZZ] ;PRESET AC WITH A FLOATING ONE
12260 036346 270 00 0 00 070313 ADD [ZZ] ;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
12261 036347 444 00 0 00 070314 EQV [ZZ+ZZ] ;RESULTS IN C(AC)=ALL ONES
12262 036350 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
12263 036351 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
12264 STOP^
12265 036352 254 04 0 00 036353 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
12266 036353 324 00 0 00 036354 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
12267 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
12268 ;IN THE SUBTEST) TO LOOP ON ERROR^
12269
12270 ;**********
12271
12272 ;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
12273 ;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
12274 ;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6-29
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0269
12275 ;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
12276 ;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
12277 ;RESULT IN THE AC WILL BE ZERO AND THE TEST
12278 ;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
12279 ;SO THAT A ONE WILL BE FLOATED THROUGH
12280 ;BITS 1 THRU 35 OF BOTH AC AND E
12281 011230 SN=SN+1
12282 000040 000000 ZZ=ZZ+ZZ
12283 IFE ZZ,<ZZ=1>
12284 036354 200 00 0 00 070314 MOVE [ZZ] ;PRESET AC WITH A FLOATING ONE
12285 036355 270 00 0 00 070314 ADD [ZZ] ;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
12286 036356 444 00 0 00 070315 EQV [ZZ+ZZ] ;RESULTS IN C(AC)=ALL ONES
12287 036357 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
12288 036360 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
12289 STOP^
12290 036361 254 04 0 00 036362 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
12291 036362 324 00 0 00 036363 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
12292 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
12293 ;IN THE SUBTEST) TO LOOP ON ERROR^
12294
12295 ;**********
12296
12297 ;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
12298 ;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
12299 ;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
12300 ;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
12301 ;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
12302 ;RESULT IN THE AC WILL BE ZERO AND THE TEST
12303 ;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
12304 ;SO THAT A ONE WILL BE FLOATED THROUGH
12305 ;BITS 1 THRU 35 OF BOTH AC AND E
12306 011231 SN=SN+1
12307 000100 000000 ZZ=ZZ+ZZ
12308 IFE ZZ,<ZZ=1>
12309 036363 200 00 0 00 070315 MOVE [ZZ] ;PRESET AC WITH A FLOATING ONE
12310 036364 270 00 0 00 070315 ADD [ZZ] ;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
12311 036365 444 00 0 00 070316 EQV [ZZ+ZZ] ;RESULTS IN C(AC)=ALL ONES
12312 036366 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
12313 036367 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
12314 STOP^
12315 036370 254 04 0 00 036371 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
12316 036371 324 00 0 00 036372 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
12317 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
12318 ;IN THE SUBTEST) TO LOOP ON ERROR^
12319
12320 ;**********
12321
12322 ;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
12323 ;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
12324 ;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
12325 ;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
12326 ;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
12327 ;RESULT IN THE AC WILL BE ZERO AND THE TEST
12328 ;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
12329 ;SO THAT A ONE WILL BE FLOATED THROUGH
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6-30
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0270
12330 ;BITS 1 THRU 35 OF BOTH AC AND E
12331 011232 SN=SN+1
12332 000200 000000 ZZ=ZZ+ZZ
12333 IFE ZZ,<ZZ=1>
12334 036372 200 00 0 00 070316 MOVE [ZZ] ;PRESET AC WITH A FLOATING ONE
12335 036373 270 00 0 00 070316 ADD [ZZ] ;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
12336 036374 444 00 0 00 070264 EQV [ZZ+ZZ] ;RESULTS IN C(AC)=ALL ONES
12337 036375 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
12338 036376 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
12339 STOP^
12340 036377 254 04 0 00 036400 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
12341 036400 324 00 0 00 036401 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
12342 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
12343 ;IN THE SUBTEST) TO LOOP ON ERROR^
12344
12345 ;**********
12346
12347 ;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
12348 ;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
12349 ;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
12350 ;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
12351 ;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
12352 ;RESULT IN THE AC WILL BE ZERO AND THE TEST
12353 ;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
12354 ;SO THAT A ONE WILL BE FLOATED THROUGH
12355 ;BITS 1 THRU 35 OF BOTH AC AND E
12356 011233 SN=SN+1
12357 000400 000000 ZZ=ZZ+ZZ
12358 IFE ZZ,<ZZ=1>
12359 036401 200 00 0 00 070264 MOVE [ZZ] ;PRESET AC WITH A FLOATING ONE
12360 036402 270 00 0 00 070264 ADD [ZZ] ;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
12361 036403 444 00 0 00 070317 EQV [ZZ+ZZ] ;RESULTS IN C(AC)=ALL ONES
12362 036404 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
12363 036405 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
12364 STOP^
12365 036406 254 04 0 00 036407 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
12366 036407 324 00 0 00 036410 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
12367 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
12368 ;IN THE SUBTEST) TO LOOP ON ERROR^
12369
12370 ;**********
12371
12372 ;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
12373 ;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
12374 ;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
12375 ;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
12376 ;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
12377 ;RESULT IN THE AC WILL BE ZERO AND THE TEST
12378 ;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
12379 ;SO THAT A ONE WILL BE FLOATED THROUGH
12380 ;BITS 1 THRU 35 OF BOTH AC AND E
12381 011234 SN=SN+1
12382 001000 000000 ZZ=ZZ+ZZ
12383 IFE ZZ,<ZZ=1>
12384 036410 200 00 0 00 070317 MOVE [ZZ] ;PRESET AC WITH A FLOATING ONE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6-31
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0271
12385 036411 270 00 0 00 070317 ADD [ZZ] ;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
12386 036412 444 00 0 00 070320 EQV [ZZ+ZZ] ;RESULTS IN C(AC)=ALL ONES
12387 036413 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
12388 036414 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
12389 STOP^
12390 036415 254 04 0 00 036416 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
12391 036416 324 00 0 00 036417 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
12392 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
12393 ;IN THE SUBTEST) TO LOOP ON ERROR^
12394
12395 ;**********
12396
12397 ;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
12398 ;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
12399 ;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
12400 ;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
12401 ;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
12402 ;RESULT IN THE AC WILL BE ZERO AND THE TEST
12403 ;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
12404 ;SO THAT A ONE WILL BE FLOATED THROUGH
12405 ;BITS 1 THRU 35 OF BOTH AC AND E
12406 011235 SN=SN+1
12407 002000 000000 ZZ=ZZ+ZZ
12408 IFE ZZ,<ZZ=1>
12409 036417 200 00 0 00 070320 MOVE [ZZ] ;PRESET AC WITH A FLOATING ONE
12410 036420 270 00 0 00 070320 ADD [ZZ] ;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
12411 036421 444 00 0 00 070321 EQV [ZZ+ZZ] ;RESULTS IN C(AC)=ALL ONES
12412 036422 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
12413 036423 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
12414 STOP^
12415 036424 254 04 0 00 036425 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
12416 036425 324 00 0 00 036426 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
12417 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
12418 ;IN THE SUBTEST) TO LOOP ON ERROR^
12419
12420 ;**********
12421
12422 ;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
12423 ;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
12424 ;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
12425 ;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
12426 ;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
12427 ;RESULT IN THE AC WILL BE ZERO AND THE TEST
12428 ;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
12429 ;SO THAT A ONE WILL BE FLOATED THROUGH
12430 ;BITS 1 THRU 35 OF BOTH AC AND E
12431 011236 SN=SN+1
12432 004000 000000 ZZ=ZZ+ZZ
12433 IFE ZZ,<ZZ=1>
12434 036426 200 00 0 00 070321 MOVE [ZZ] ;PRESET AC WITH A FLOATING ONE
12435 036427 270 00 0 00 070321 ADD [ZZ] ;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
12436 036430 444 00 0 00 070322 EQV [ZZ+ZZ] ;RESULTS IN C(AC)=ALL ONES
12437 036431 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
12438 036432 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
12439 STOP^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6-32
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0272
12440 036433 254 04 0 00 036434 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
12441 036434 324 00 0 00 036435 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
12442 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
12443 ;IN THE SUBTEST) TO LOOP ON ERROR^
12444
12445 ;**********
12446
12447 ;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
12448 ;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
12449 ;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
12450 ;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
12451 ;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
12452 ;RESULT IN THE AC WILL BE ZERO AND THE TEST
12453 ;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
12454 ;SO THAT A ONE WILL BE FLOATED THROUGH
12455 ;BITS 1 THRU 35 OF BOTH AC AND E
12456 011237 SN=SN+1
12457 010000 000000 ZZ=ZZ+ZZ
12458 IFE ZZ,<ZZ=1>
12459 036435 200 00 0 00 070322 MOVE [ZZ] ;PRESET AC WITH A FLOATING ONE
12460 036436 270 00 0 00 070322 ADD [ZZ] ;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
12461 036437 444 00 0 00 070323 EQV [ZZ+ZZ] ;RESULTS IN C(AC)=ALL ONES
12462 036440 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
12463 036441 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
12464 STOP^
12465 036442 254 04 0 00 036443 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
12466 036443 324 00 0 00 036444 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
12467 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
12468 ;IN THE SUBTEST) TO LOOP ON ERROR^
12469
12470 ;**********
12471
12472 ;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
12473 ;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
12474 ;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
12475 ;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
12476 ;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
12477 ;RESULT IN THE AC WILL BE ZERO AND THE TEST
12478 ;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
12479 ;SO THAT A ONE WILL BE FLOATED THROUGH
12480 ;BITS 1 THRU 35 OF BOTH AC AND E
12481 011240 SN=SN+1
12482 020000 000000 ZZ=ZZ+ZZ
12483 IFE ZZ,<ZZ=1>
12484 036444 200 00 0 00 070323 MOVE [ZZ] ;PRESET AC WITH A FLOATING ONE
12485 036445 270 00 0 00 070323 ADD [ZZ] ;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
12486 036446 444 00 0 00 070324 EQV [ZZ+ZZ] ;RESULTS IN C(AC)=ALL ONES
12487 036447 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
12488 036450 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
12489 STOP^
12490 036451 254 04 0 00 036452 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
12491 036452 324 00 0 00 036453 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
12492 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
12493 ;IN THE SUBTEST) TO LOOP ON ERROR^
12494
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6-33
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0273
12495 ;**********
12496
12497 ;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
12498 ;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
12499 ;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
12500 ;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
12501 ;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
12502 ;RESULT IN THE AC WILL BE ZERO AND THE TEST
12503 ;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
12504 ;SO THAT A ONE WILL BE FLOATED THROUGH
12505 ;BITS 1 THRU 35 OF BOTH AC AND E
12506 011241 SN=SN+1
12507 040000 000000 ZZ=ZZ+ZZ
12508 IFE ZZ,<ZZ=1>
12509 036453 200 00 0 00 070324 MOVE [ZZ] ;PRESET AC WITH A FLOATING ONE
12510 036454 270 00 0 00 070324 ADD [ZZ] ;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
12511 036455 444 00 0 00 070325 EQV [ZZ+ZZ] ;RESULTS IN C(AC)=ALL ONES
12512 036456 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
12513 036457 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
12514 STOP^
12515 036460 254 04 0 00 036461 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
12516 036461 324 00 0 00 036462 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
12517 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
12518 ;IN THE SUBTEST) TO LOOP ON ERROR^
12519
12520 ;**********
12521
12522 ;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
12523 ;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
12524 ;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
12525 ;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
12526 ;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
12527 ;RESULT IN THE AC WILL BE ZERO AND THE TEST
12528 ;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
12529 ;SO THAT A ONE WILL BE FLOATED THROUGH
12530 ;BITS 1 THRU 35 OF BOTH AC AND E
12531 011242 SN=SN+1
12532 100000 000000 ZZ=ZZ+ZZ
12533 IFE ZZ,<ZZ=1>
12534 036462 200 00 0 00 070325 MOVE [ZZ] ;PRESET AC WITH A FLOATING ONE
12535 036463 270 00 0 00 070325 ADD [ZZ] ;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
12536 036464 444 00 0 00 070326 EQV [ZZ+ZZ] ;RESULTS IN C(AC)=ALL ONES
12537 036465 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
12538 036466 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
12539 STOP^
12540 036467 254 04 0 00 036470 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
12541 036470 324 00 0 00 036471 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
12542 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
12543 ;IN THE SUBTEST) TO LOOP ON ERROR^
12544
12545 ;**********
12546
12547 ;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
12548 ;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
12549 ;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6-34
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0274
12550 ;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
12551 ;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
12552 ;RESULT IN THE AC WILL BE ZERO AND THE TEST
12553 ;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
12554 ;SO THAT A ONE WILL BE FLOATED THROUGH
12555 ;BITS 1 THRU 35 OF BOTH AC AND E
12556 011243 SN=SN+1
12557 200000 000000 ZZ=ZZ+ZZ
12558 IFE ZZ,<ZZ=1>
12559 036471 200 00 0 00 070326 MOVE [ZZ] ;PRESET AC WITH A FLOATING ONE
12560 036472 270 00 0 00 070326 ADD [ZZ] ;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
12561 036473 444 00 0 00 070256 EQV [ZZ+ZZ] ;RESULTS IN C(AC)=ALL ONES
12562 036474 444 00 0 00 070253 EQV [0] ;RESULTS IN C(AC)=0
12563 036475 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
12564 STOP^
12565 036476 254 04 0 00 036477 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
12566 036477 324 00 0 00 036500 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
12567 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
12568 ;IN THE SUBTEST) TO LOOP ON ERROR^
12569
12570 ;**********
12571
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 7
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0275
12572 011300 SN=11300
12573 000000 ZZ=0
12574 000000 YY=0
12575
12576 A11300: REPEAT ^D18,
12577 <;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
12578 ;36TH POWER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
12579 ;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
12580 ;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHOUT THE
12581 ;ADDER. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
12582 ;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
12583 ;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
12584 ;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MADE EQUAL TO ITS
12585 ;FORMER VALUE PLUS THE CURRENT C(AC)
12586 SN=SN+1
12587 YY=YY/2
12588 ZZ=ZZ+YY
12589 IFE YY,<YY=400000>
12590 IFE ZZ,<ZZ=400000>
12591 MOVE [XWD ZZ,0] ;PRESET AC TO A RIPPLED ONE STARTING WITH BIT POSITION 0
12592 ADD [XWD YY,0] ;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
12593 ;POWER SHOULD RESULT IN C(AC)=0.
12594 SKIPE ;PASS TEST IF C(AC)=0
12595 STOP
12596
12597 ;**********
12598 >
12599 ;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
12600 ;36TH POWER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
12601 ;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
12602 ;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHOUT THE
12603 ;ADDER. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
12604 ;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
12605 ;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
12606 ;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MADE EQUAL TO ITS
12607 ;FORMER VALUE PLUS THE CURRENT C(AC)
12608 011301 SN=SN+1
12609 000000 YY=YY/2
12610 000000 ZZ=ZZ+YY
12611 400000 IFE YY,<YY=400000>
12612 400000 IFE ZZ,<ZZ=400000>
12613 036500 200 00 0 00 070256 MOVE [XWD ZZ,0] ;PRESET AC TO A RIPPLED ONE STARTING WITH BIT POSITION 0
12614 036501 270 00 0 00 070256 ADD [XWD YY,0] ;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
12615 ;POWER SHOULD RESULT IN C(AC)=0.
12616 036502 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
12617 STOP^
12618 036503 254 04 0 00 036504 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
12619 036504 324 00 0 00 036505 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
12620 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
12621 ;IN THE SUBTEST) TO LOOP ON ERROR^
12622
12623 ;**********
12624
12625 ;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
12626 ;36TH POWER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 7-1
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0276
12627 ;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
12628 ;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHOUT THE
12629 ;ADDER. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
12630 ;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
12631 ;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
12632 ;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MADE EQUAL TO ITS
12633 ;FORMER VALUE PLUS THE CURRENT C(AC)
12634 011302 SN=SN+1
12635 200000 YY=YY/2
12636 600000 ZZ=ZZ+YY
12637 IFE YY,<YY=400000>
12638 IFE ZZ,<ZZ=400000>
12639 036505 200 00 0 00 070401 MOVE [XWD ZZ,0] ;PRESET AC TO A RIPPLED ONE STARTING WITH BIT POSITION 0
12640 036506 270 00 0 00 070326 ADD [XWD YY,0] ;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
12641 ;POWER SHOULD RESULT IN C(AC)=0.
12642 036507 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
12643 STOP^
12644 036510 254 04 0 00 036511 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
12645 036511 324 00 0 00 036512 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
12646 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
12647 ;IN THE SUBTEST) TO LOOP ON ERROR^
12648
12649 ;**********
12650
12651 ;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
12652 ;36TH POWER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
12653 ;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
12654 ;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHOUT THE
12655 ;ADDER. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
12656 ;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
12657 ;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
12658 ;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MADE EQUAL TO ITS
12659 ;FORMER VALUE PLUS THE CURRENT C(AC)
12660 011303 SN=SN+1
12661 100000 YY=YY/2
12662 700000 ZZ=ZZ+YY
12663 IFE YY,<YY=400000>
12664 IFE ZZ,<ZZ=400000>
12665 036512 200 00 0 00 070402 MOVE [XWD ZZ,0] ;PRESET AC TO A RIPPLED ONE STARTING WITH BIT POSITION 0
12666 036513 270 00 0 00 070325 ADD [XWD YY,0] ;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
12667 ;POWER SHOULD RESULT IN C(AC)=0.
12668 036514 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
12669 STOP^
12670 036515 254 04 0 00 036516 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
12671 036516 324 00 0 00 036517 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
12672 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
12673 ;IN THE SUBTEST) TO LOOP ON ERROR^
12674
12675 ;**********
12676
12677 ;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
12678 ;36TH POWER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
12679 ;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
12680 ;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHOUT THE
12681 ;ADDER. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 7-2
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0277
12682 ;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
12683 ;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
12684 ;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MADE EQUAL TO ITS
12685 ;FORMER VALUE PLUS THE CURRENT C(AC)
12686 011304 SN=SN+1
12687 040000 YY=YY/2
12688 740000 ZZ=ZZ+YY
12689 IFE YY,<YY=400000>
12690 IFE ZZ,<ZZ=400000>
12691 036517 200 00 0 00 070403 MOVE [XWD ZZ,0] ;PRESET AC TO A RIPPLED ONE STARTING WITH BIT POSITION 0
12692 036520 270 00 0 00 070324 ADD [XWD YY,0] ;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
12693 ;POWER SHOULD RESULT IN C(AC)=0.
12694 036521 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
12695 STOP^
12696 036522 254 04 0 00 036523 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
12697 036523 324 00 0 00 036524 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
12698 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
12699 ;IN THE SUBTEST) TO LOOP ON ERROR^
12700
12701 ;**********
12702
12703 ;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
12704 ;36TH POWER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
12705 ;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
12706 ;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHOUT THE
12707 ;ADDER. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
12708 ;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
12709 ;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
12710 ;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MADE EQUAL TO ITS
12711 ;FORMER VALUE PLUS THE CURRENT C(AC)
12712 011305 SN=SN+1
12713 020000 YY=YY/2
12714 760000 ZZ=ZZ+YY
12715 IFE YY,<YY=400000>
12716 IFE ZZ,<ZZ=400000>
12717 036524 200 00 0 00 070404 MOVE [XWD ZZ,0] ;PRESET AC TO A RIPPLED ONE STARTING WITH BIT POSITION 0
12718 036525 270 00 0 00 070323 ADD [XWD YY,0] ;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
12719 ;POWER SHOULD RESULT IN C(AC)=0.
12720 036526 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
12721 STOP^
12722 036527 254 04 0 00 036530 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
12723 036530 324 00 0 00 036531 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
12724 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
12725 ;IN THE SUBTEST) TO LOOP ON ERROR^
12726
12727 ;**********
12728
12729 ;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
12730 ;36TH POWER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
12731 ;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
12732 ;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHOUT THE
12733 ;ADDER. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
12734 ;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
12735 ;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
12736 ;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MADE EQUAL TO ITS
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 7-3
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0278
12737 ;FORMER VALUE PLUS THE CURRENT C(AC)
12738 011306 SN=SN+1
12739 010000 YY=YY/2
12740 770000 ZZ=ZZ+YY
12741 IFE YY,<YY=400000>
12742 IFE ZZ,<ZZ=400000>
12743 036531 200 00 0 00 070405 MOVE [XWD ZZ,0] ;PRESET AC TO A RIPPLED ONE STARTING WITH BIT POSITION 0
12744 036532 270 00 0 00 070322 ADD [XWD YY,0] ;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
12745 ;POWER SHOULD RESULT IN C(AC)=0.
12746 036533 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
12747 STOP^
12748 036534 254 04 0 00 036535 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
12749 036535 324 00 0 00 036536 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
12750 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
12751 ;IN THE SUBTEST) TO LOOP ON ERROR^
12752
12753 ;**********
12754
12755 ;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
12756 ;36TH POWER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
12757 ;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
12758 ;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHOUT THE
12759 ;ADDER. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
12760 ;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
12761 ;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
12762 ;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MADE EQUAL TO ITS
12763 ;FORMER VALUE PLUS THE CURRENT C(AC)
12764 011307 SN=SN+1
12765 004000 YY=YY/2
12766 774000 ZZ=ZZ+YY
12767 IFE YY,<YY=400000>
12768 IFE ZZ,<ZZ=400000>
12769 036536 200 00 0 00 070406 MOVE [XWD ZZ,0] ;PRESET AC TO A RIPPLED ONE STARTING WITH BIT POSITION 0
12770 036537 270 00 0 00 070321 ADD [XWD YY,0] ;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
12771 ;POWER SHOULD RESULT IN C(AC)=0.
12772 036540 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
12773 STOP^
12774 036541 254 04 0 00 036542 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
12775 036542 324 00 0 00 036543 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
12776 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
12777 ;IN THE SUBTEST) TO LOOP ON ERROR^
12778
12779 ;**********
12780
12781 ;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
12782 ;36TH POWER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
12783 ;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
12784 ;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHOUT THE
12785 ;ADDER. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
12786 ;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
12787 ;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
12788 ;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MADE EQUAL TO ITS
12789 ;FORMER VALUE PLUS THE CURRENT C(AC)
12790 011310 SN=SN+1
12791 002000 YY=YY/2
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 7-4
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0279
12792 776000 ZZ=ZZ+YY
12793 IFE YY,<YY=400000>
12794 IFE ZZ,<ZZ=400000>
12795 036543 200 00 0 00 070407 MOVE [XWD ZZ,0] ;PRESET AC TO A RIPPLED ONE STARTING WITH BIT POSITION 0
12796 036544 270 00 0 00 070320 ADD [XWD YY,0] ;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
12797 ;POWER SHOULD RESULT IN C(AC)=0.
12798 036545 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
12799 STOP^
12800 036546 254 04 0 00 036547 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
12801 036547 324 00 0 00 036550 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
12802 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
12803 ;IN THE SUBTEST) TO LOOP ON ERROR^
12804
12805 ;**********
12806
12807 ;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
12808 ;36TH POWER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
12809 ;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
12810 ;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHOUT THE
12811 ;ADDER. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
12812 ;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
12813 ;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
12814 ;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MADE EQUAL TO ITS
12815 ;FORMER VALUE PLUS THE CURRENT C(AC)
12816 011311 SN=SN+1
12817 001000 YY=YY/2
12818 777000 ZZ=ZZ+YY
12819 IFE YY,<YY=400000>
12820 IFE ZZ,<ZZ=400000>
12821 036550 200 00 0 00 070257 MOVE [XWD ZZ,0] ;PRESET AC TO A RIPPLED ONE STARTING WITH BIT POSITION 0
12822 036551 270 00 0 00 070317 ADD [XWD YY,0] ;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
12823 ;POWER SHOULD RESULT IN C(AC)=0.
12824 036552 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
12825 STOP^
12826 036553 254 04 0 00 036554 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
12827 036554 324 00 0 00 036555 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
12828 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
12829 ;IN THE SUBTEST) TO LOOP ON ERROR^
12830
12831 ;**********
12832
12833 ;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
12834 ;36TH POWER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
12835 ;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
12836 ;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHOUT THE
12837 ;ADDER. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
12838 ;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
12839 ;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
12840 ;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MADE EQUAL TO ITS
12841 ;FORMER VALUE PLUS THE CURRENT C(AC)
12842 011312 SN=SN+1
12843 000400 YY=YY/2
12844 777400 ZZ=ZZ+YY
12845 IFE YY,<YY=400000>
12846 IFE ZZ,<ZZ=400000>
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 7-5
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0280
12847 036555 200 00 0 00 070410 MOVE [XWD ZZ,0] ;PRESET AC TO A RIPPLED ONE STARTING WITH BIT POSITION 0
12848 036556 270 00 0 00 070264 ADD [XWD YY,0] ;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
12849 ;POWER SHOULD RESULT IN C(AC)=0.
12850 036557 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
12851 STOP^
12852 036560 254 04 0 00 036561 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
12853 036561 324 00 0 00 036562 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
12854 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
12855 ;IN THE SUBTEST) TO LOOP ON ERROR^
12856
12857 ;**********
12858
12859 ;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
12860 ;36TH POWER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
12861 ;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
12862 ;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHOUT THE
12863 ;ADDER. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
12864 ;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
12865 ;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
12866 ;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MADE EQUAL TO ITS
12867 ;FORMER VALUE PLUS THE CURRENT C(AC)
12868 011313 SN=SN+1
12869 000200 YY=YY/2
12870 777600 ZZ=ZZ+YY
12871 IFE YY,<YY=400000>
12872 IFE ZZ,<ZZ=400000>
12873 036562 200 00 0 00 070411 MOVE [XWD ZZ,0] ;PRESET AC TO A RIPPLED ONE STARTING WITH BIT POSITION 0
12874 036563 270 00 0 00 070316 ADD [XWD YY,0] ;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
12875 ;POWER SHOULD RESULT IN C(AC)=0.
12876 036564 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
12877 STOP^
12878 036565 254 04 0 00 036566 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
12879 036566 324 00 0 00 036567 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
12880 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
12881 ;IN THE SUBTEST) TO LOOP ON ERROR^
12882
12883 ;**********
12884
12885 ;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
12886 ;36TH POWER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
12887 ;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
12888 ;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHOUT THE
12889 ;ADDER. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
12890 ;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
12891 ;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
12892 ;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MADE EQUAL TO ITS
12893 ;FORMER VALUE PLUS THE CURRENT C(AC)
12894 011314 SN=SN+1
12895 000100 YY=YY/2
12896 777700 ZZ=ZZ+YY
12897 IFE YY,<YY=400000>
12898 IFE ZZ,<ZZ=400000>
12899 036567 200 00 0 00 070412 MOVE [XWD ZZ,0] ;PRESET AC TO A RIPPLED ONE STARTING WITH BIT POSITION 0
12900 036570 270 00 0 00 070315 ADD [XWD YY,0] ;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
12901 ;POWER SHOULD RESULT IN C(AC)=0.
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 7-6
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0281
12902 036571 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
12903 STOP^
12904 036572 254 04 0 00 036573 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
12905 036573 324 00 0 00 036574 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
12906 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
12907 ;IN THE SUBTEST) TO LOOP ON ERROR^
12908
12909 ;**********
12910
12911 ;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
12912 ;36TH POWER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
12913 ;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
12914 ;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHOUT THE
12915 ;ADDER. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
12916 ;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
12917 ;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
12918 ;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MADE EQUAL TO ITS
12919 ;FORMER VALUE PLUS THE CURRENT C(AC)
12920 011315 SN=SN+1
12921 000040 YY=YY/2
12922 777740 ZZ=ZZ+YY
12923 IFE YY,<YY=400000>
12924 IFE ZZ,<ZZ=400000>
12925 036574 200 00 0 00 070413 MOVE [XWD ZZ,0] ;PRESET AC TO A RIPPLED ONE STARTING WITH BIT POSITION 0
12926 036575 270 00 0 00 070314 ADD [XWD YY,0] ;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
12927 ;POWER SHOULD RESULT IN C(AC)=0.
12928 036576 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
12929 STOP^
12930 036577 254 04 0 00 036600 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
12931 036600 324 00 0 00 036601 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
12932 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
12933 ;IN THE SUBTEST) TO LOOP ON ERROR^
12934
12935 ;**********
12936
12937 ;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
12938 ;36TH POWER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
12939 ;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
12940 ;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHOUT THE
12941 ;ADDER. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
12942 ;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
12943 ;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
12944 ;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MADE EQUAL TO ITS
12945 ;FORMER VALUE PLUS THE CURRENT C(AC)
12946 011316 SN=SN+1
12947 000020 YY=YY/2
12948 777760 ZZ=ZZ+YY
12949 IFE YY,<YY=400000>
12950 IFE ZZ,<ZZ=400000>
12951 036601 200 00 0 00 070414 MOVE [XWD ZZ,0] ;PRESET AC TO A RIPPLED ONE STARTING WITH BIT POSITION 0
12952 036602 270 00 0 00 070313 ADD [XWD YY,0] ;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
12953 ;POWER SHOULD RESULT IN C(AC)=0.
12954 036603 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
12955 STOP^
12956 036604 254 04 0 00 036605 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 7-7
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0282
12957 036605 324 00 0 00 036606 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
12958 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
12959 ;IN THE SUBTEST) TO LOOP ON ERROR^
12960
12961 ;**********
12962
12963 ;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
12964 ;36TH POWER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
12965 ;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
12966 ;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHOUT THE
12967 ;ADDER. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
12968 ;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
12969 ;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
12970 ;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MADE EQUAL TO ITS
12971 ;FORMER VALUE PLUS THE CURRENT C(AC)
12972 011317 SN=SN+1
12973 000010 YY=YY/2
12974 777770 ZZ=ZZ+YY
12975 IFE YY,<YY=400000>
12976 IFE ZZ,<ZZ=400000>
12977 036606 200 00 0 00 070415 MOVE [XWD ZZ,0] ;PRESET AC TO A RIPPLED ONE STARTING WITH BIT POSITION 0
12978 036607 270 00 0 00 070312 ADD [XWD YY,0] ;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
12979 ;POWER SHOULD RESULT IN C(AC)=0.
12980 036610 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
12981 STOP^
12982 036611 254 04 0 00 036612 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
12983 036612 324 00 0 00 036613 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
12984 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
12985 ;IN THE SUBTEST) TO LOOP ON ERROR^
12986
12987 ;**********
12988
12989 ;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
12990 ;36TH POWER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
12991 ;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
12992 ;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHOUT THE
12993 ;ADDER. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
12994 ;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
12995 ;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
12996 ;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MADE EQUAL TO ITS
12997 ;FORMER VALUE PLUS THE CURRENT C(AC)
12998 011320 SN=SN+1
12999 000004 YY=YY/2
13000 777774 ZZ=ZZ+YY
13001 IFE YY,<YY=400000>
13002 IFE ZZ,<ZZ=400000>
13003 036613 200 00 0 00 070416 MOVE [XWD ZZ,0] ;PRESET AC TO A RIPPLED ONE STARTING WITH BIT POSITION 0
13004 036614 270 00 0 00 070311 ADD [XWD YY,0] ;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
13005 ;POWER SHOULD RESULT IN C(AC)=0.
13006 036615 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
13007 STOP^
13008 036616 254 04 0 00 036617 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
13009 036617 324 00 0 00 036620 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
13010 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
13011 ;IN THE SUBTEST) TO LOOP ON ERROR^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 7-8
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0283
13012
13013 ;**********
13014
13015 ;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
13016 ;36TH POWER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
13017 ;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
13018 ;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHOUT THE
13019 ;ADDER. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
13020 ;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
13021 ;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
13022 ;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MADE EQUAL TO ITS
13023 ;FORMER VALUE PLUS THE CURRENT C(AC)
13024 011321 SN=SN+1
13025 000002 YY=YY/2
13026 777776 ZZ=ZZ+YY
13027 IFE YY,<YY=400000>
13028 IFE ZZ,<ZZ=400000>
13029 036620 200 00 0 00 070417 MOVE [XWD ZZ,0] ;PRESET AC TO A RIPPLED ONE STARTING WITH BIT POSITION 0
13030 036621 270 00 0 00 070310 ADD [XWD YY,0] ;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
13031 ;POWER SHOULD RESULT IN C(AC)=0.
13032 036622 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
13033 STOP^
13034 036623 254 04 0 00 036624 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
13035 036624 324 00 0 00 036625 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
13036 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
13037 ;IN THE SUBTEST) TO LOOP ON ERROR^
13038
13039 ;**********
13040
13041 ;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
13042 ;36TH POWER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
13043 ;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
13044 ;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHOUT THE
13045 ;ADDER. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
13046 ;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
13047 ;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
13048 ;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MADE EQUAL TO ITS
13049 ;FORMER VALUE PLUS THE CURRENT C(AC)
13050 011322 SN=SN+1
13051 000001 YY=YY/2
13052 777777 ZZ=ZZ+YY
13053 IFE YY,<YY=400000>
13054 IFE ZZ,<ZZ=400000>
13055 036625 200 00 0 00 070331 MOVE [XWD ZZ,0] ;PRESET AC TO A RIPPLED ONE STARTING WITH BIT POSITION 0
13056 036626 270 00 0 00 070307 ADD [XWD YY,0] ;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
13057 ;POWER SHOULD RESULT IN C(AC)=0.
13058 036627 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
13059 STOP^
13060 036630 254 04 0 00 036631 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
13061 036631 324 00 0 00 036632 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
13062 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
13063 ;IN THE SUBTEST) TO LOOP ON ERROR^
13064
13065 ;**********
13066
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 7-9
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0284
13067 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 7-10
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0285
13068 011400 SN=11400
13069 000000 ZZ=0
13070 000000 YY=0
13071
13072 A11400: REPEAT ^D18,
13073 <;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
13074 ;36TH POSER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
13075 ;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
13076 ;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHT THE
13077 ;ADDEC. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
13078 ;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
13079 ;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
13080 ;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MODE EQUAL TO ITS
13081 ;FORMER VALUE PLUS THE CURRENT C(AC)
13082 SN=SN+1
13083 YY=YY/2
13084 ZZ=ZZ+YY
13085 IFE YY,<YY=400000>
13086 IFE ZZ,<ZZ=400000> ;PRESET AB TO A RIPPLED ONE STARTING WITH BIT POSITION 0
13087 MOVE [XWD -1,ZZ] ;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
13088 ;POWER SHOULD RESULT IN C(AC)=0.
13089 ADD [YY] ;PASS TEST IF C(AC)=0
13090 SKIPE
13091 STOP
13092
13093 ;**********
13094 >
13095 ;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
13096 ;36TH POSER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
13097 ;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
13098 ;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHT THE
13099 ;ADDEC. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
13100 ;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
13101 ;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
13102 ;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MODE EQUAL TO ITS
13103 ;FORMER VALUE PLUS THE CURRENT C(AC)
13104 011401 SN=SN+1
13105 000000 YY=YY/2
13106 000000 ZZ=ZZ+YY
13107 400000 IFE YY,<YY=400000>
13108 400000 IFE ZZ,<ZZ=400000> ;PRESET AB TO A RIPPLED ONE STARTING WITH BIT POSITION 0
13109 036632 200 00 0 00 070420 MOVE [XWD -1,ZZ] ;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
13110 ;POWER SHOULD RESULT IN C(AC)=0.
13111 036633 270 00 0 00 070306 ADD [YY] ;PASS TEST IF C(AC)=0
13112 036634 332 00 0 00 000000 SKIPE
13113 STOP^
13114 036635 254 04 0 00 036636 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
13115 036636 324 00 0 00 036637 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
13116 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
13117 ;IN THE SUBTEST) TO LOOP ON ERROR^
13118
13119 ;**********
13120
13121 ;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
13122 ;36TH POSER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 7-11
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0286
13123 ;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
13124 ;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHT THE
13125 ;ADDEC. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
13126 ;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
13127 ;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
13128 ;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MODE EQUAL TO ITS
13129 ;FORMER VALUE PLUS THE CURRENT C(AC)
13130 011402 SN=SN+1
13131 200000 YY=YY/2
13132 600000 ZZ=ZZ+YY
13133 IFE YY,<YY=400000>
13134 IFE ZZ,<ZZ=400000> ;PRESET AB TO A RIPPLED ONE STARTING WITH BIT POSITION 0
13135 036637 200 00 0 00 070421 MOVE [XWD -1,ZZ] ;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
13136 ;POWER SHOULD RESULT IN C(AC)=0.
13137 036640 270 00 0 00 070305 ADD [YY] ;PASS TEST IF C(AC)=0
13138 036641 332 00 0 00 000000 SKIPE
13139 STOP^
13140 036642 254 04 0 00 036643 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
13141 036643 324 00 0 00 036644 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
13142 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
13143 ;IN THE SUBTEST) TO LOOP ON ERROR^
13144
13145 ;**********
13146
13147 ;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
13148 ;36TH POSER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
13149 ;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
13150 ;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHT THE
13151 ;ADDEC. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
13152 ;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
13153 ;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
13154 ;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MODE EQUAL TO ITS
13155 ;FORMER VALUE PLUS THE CURRENT C(AC)
13156 011403 SN=SN+1
13157 100000 YY=YY/2
13158 700000 ZZ=ZZ+YY
13159 IFE YY,<YY=400000>
13160 IFE ZZ,<ZZ=400000> ;PRESET AB TO A RIPPLED ONE STARTING WITH BIT POSITION 0
13161 036644 200 00 0 00 070422 MOVE [XWD -1,ZZ] ;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
13162 ;POWER SHOULD RESULT IN C(AC)=0.
13163 036645 270 00 0 00 070304 ADD [YY] ;PASS TEST IF C(AC)=0
13164 036646 332 00 0 00 000000 SKIPE
13165 STOP^
13166 036647 254 04 0 00 036650 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
13167 036650 324 00 0 00 036651 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
13168 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
13169 ;IN THE SUBTEST) TO LOOP ON ERROR^
13170
13171 ;**********
13172
13173 ;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
13174 ;36TH POSER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
13175 ;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
13176 ;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHT THE
13177 ;ADDEC. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 7-12
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0287
13178 ;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
13179 ;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
13180 ;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MODE EQUAL TO ITS
13181 ;FORMER VALUE PLUS THE CURRENT C(AC)
13182 011404 SN=SN+1
13183 040000 YY=YY/2
13184 740000 ZZ=ZZ+YY
13185 IFE YY,<YY=400000>
13186 IFE ZZ,<ZZ=400000> ;PRESET AB TO A RIPPLED ONE STARTING WITH BIT POSITION 0
13187 036651 200 00 0 00 070423 MOVE [XWD -1,ZZ] ;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
13188 ;POWER SHOULD RESULT IN C(AC)=0.
13189 036652 270 00 0 00 070303 ADD [YY] ;PASS TEST IF C(AC)=0
13190 036653 332 00 0 00 000000 SKIPE
13191 STOP^
13192 036654 254 04 0 00 036655 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
13193 036655 324 00 0 00 036656 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
13194 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
13195 ;IN THE SUBTEST) TO LOOP ON ERROR^
13196
13197 ;**********
13198
13199 ;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
13200 ;36TH POSER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
13201 ;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
13202 ;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHT THE
13203 ;ADDEC. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
13204 ;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
13205 ;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
13206 ;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MODE EQUAL TO ITS
13207 ;FORMER VALUE PLUS THE CURRENT C(AC)
13208 011405 SN=SN+1
13209 020000 YY=YY/2
13210 760000 ZZ=ZZ+YY
13211 IFE YY,<YY=400000>
13212 IFE ZZ,<ZZ=400000> ;PRESET AB TO A RIPPLED ONE STARTING WITH BIT POSITION 0
13213 036656 200 00 0 00 070424 MOVE [XWD -1,ZZ] ;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
13214 ;POWER SHOULD RESULT IN C(AC)=0.
13215 036657 270 00 0 00 070302 ADD [YY] ;PASS TEST IF C(AC)=0
13216 036660 332 00 0 00 000000 SKIPE
13217 STOP^
13218 036661 254 04 0 00 036662 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
13219 036662 324 00 0 00 036663 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
13220 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
13221 ;IN THE SUBTEST) TO LOOP ON ERROR^
13222
13223 ;**********
13224
13225 ;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
13226 ;36TH POSER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
13227 ;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
13228 ;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHT THE
13229 ;ADDEC. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
13230 ;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
13231 ;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
13232 ;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MODE EQUAL TO ITS
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 7-13
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0288
13233 ;FORMER VALUE PLUS THE CURRENT C(AC)
13234 011406 SN=SN+1
13235 010000 YY=YY/2
13236 770000 ZZ=ZZ+YY
13237 IFE YY,<YY=400000>
13238 IFE ZZ,<ZZ=400000> ;PRESET AB TO A RIPPLED ONE STARTING WITH BIT POSITION 0
13239 036663 200 00 0 00 070425 MOVE [XWD -1,ZZ] ;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
13240 ;POWER SHOULD RESULT IN C(AC)=0.
13241 036664 270 00 0 00 070301 ADD [YY] ;PASS TEST IF C(AC)=0
13242 036665 332 00 0 00 000000 SKIPE
13243 STOP^
13244 036666 254 04 0 00 036667 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
13245 036667 324 00 0 00 036670 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
13246 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
13247 ;IN THE SUBTEST) TO LOOP ON ERROR^
13248
13249 ;**********
13250
13251 ;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
13252 ;36TH POSER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
13253 ;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
13254 ;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHT THE
13255 ;ADDEC. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
13256 ;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
13257 ;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
13258 ;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MODE EQUAL TO ITS
13259 ;FORMER VALUE PLUS THE CURRENT C(AC)
13260 011407 SN=SN+1
13261 004000 YY=YY/2
13262 774000 ZZ=ZZ+YY
13263 IFE YY,<YY=400000>
13264 IFE ZZ,<ZZ=400000> ;PRESET AB TO A RIPPLED ONE STARTING WITH BIT POSITION 0
13265 036670 200 00 0 00 070426 MOVE [XWD -1,ZZ] ;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
13266 ;POWER SHOULD RESULT IN C(AC)=0.
13267 036671 270 00 0 00 070300 ADD [YY] ;PASS TEST IF C(AC)=0
13268 036672 332 00 0 00 000000 SKIPE
13269 STOP^
13270 036673 254 04 0 00 036674 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
13271 036674 324 00 0 00 036675 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
13272 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
13273 ;IN THE SUBTEST) TO LOOP ON ERROR^
13274
13275 ;**********
13276
13277 ;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
13278 ;36TH POSER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
13279 ;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
13280 ;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHT THE
13281 ;ADDEC. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
13282 ;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
13283 ;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
13284 ;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MODE EQUAL TO ITS
13285 ;FORMER VALUE PLUS THE CURRENT C(AC)
13286 011410 SN=SN+1
13287 002000 YY=YY/2
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 7-14
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0289
13288 776000 ZZ=ZZ+YY
13289 IFE YY,<YY=400000>
13290 IFE ZZ,<ZZ=400000> ;PRESET AB TO A RIPPLED ONE STARTING WITH BIT POSITION 0
13291 036675 200 00 0 00 070427 MOVE [XWD -1,ZZ] ;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
13292 ;POWER SHOULD RESULT IN C(AC)=0.
13293 036676 270 00 0 00 070277 ADD [YY] ;PASS TEST IF C(AC)=0
13294 036677 332 00 0 00 000000 SKIPE
13295 STOP^
13296 036700 254 04 0 00 036701 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
13297 036701 324 00 0 00 036702 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
13298 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
13299 ;IN THE SUBTEST) TO LOOP ON ERROR^
13300
13301 ;**********
13302
13303 ;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
13304 ;36TH POSER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
13305 ;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
13306 ;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHT THE
13307 ;ADDEC. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
13308 ;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
13309 ;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
13310 ;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MODE EQUAL TO ITS
13311 ;FORMER VALUE PLUS THE CURRENT C(AC)
13312 011411 SN=SN+1
13313 001000 YY=YY/2
13314 777000 ZZ=ZZ+YY
13315 IFE YY,<YY=400000>
13316 IFE ZZ,<ZZ=400000> ;PRESET AB TO A RIPPLED ONE STARTING WITH BIT POSITION 0
13317 036702 200 00 0 00 070430 MOVE [XWD -1,ZZ] ;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
13318 ;POWER SHOULD RESULT IN C(AC)=0.
13319 036703 270 00 0 00 070276 ADD [YY] ;PASS TEST IF C(AC)=0
13320 036704 332 00 0 00 000000 SKIPE
13321 STOP^
13322 036705 254 04 0 00 036706 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
13323 036706 324 00 0 00 036707 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
13324 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
13325 ;IN THE SUBTEST) TO LOOP ON ERROR^
13326
13327 ;**********
13328
13329 ;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
13330 ;36TH POSER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
13331 ;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
13332 ;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHT THE
13333 ;ADDEC. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
13334 ;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
13335 ;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
13336 ;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MODE EQUAL TO ITS
13337 ;FORMER VALUE PLUS THE CURRENT C(AC)
13338 011412 SN=SN+1
13339 000400 YY=YY/2
13340 777400 ZZ=ZZ+YY
13341 IFE YY,<YY=400000>
13342 IFE ZZ,<ZZ=400000> ;PRESET AB TO A RIPPLED ONE STARTING WITH BIT POSITION 0
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 7-15
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0290
13343 036707 200 00 0 00 070431 MOVE [XWD -1,ZZ] ;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
13344 ;POWER SHOULD RESULT IN C(AC)=0.
13345 036710 270 00 0 00 070275 ADD [YY] ;PASS TEST IF C(AC)=0
13346 036711 332 00 0 00 000000 SKIPE
13347 STOP^
13348 036712 254 04 0 00 036713 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
13349 036713 324 00 0 00 036714 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
13350 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
13351 ;IN THE SUBTEST) TO LOOP ON ERROR^
13352
13353 ;**********
13354
13355 ;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
13356 ;36TH POSER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
13357 ;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
13358 ;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHT THE
13359 ;ADDEC. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
13360 ;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
13361 ;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
13362 ;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MODE EQUAL TO ITS
13363 ;FORMER VALUE PLUS THE CURRENT C(AC)
13364 011413 SN=SN+1
13365 000200 YY=YY/2
13366 777600 ZZ=ZZ+YY
13367 IFE YY,<YY=400000>
13368 IFE ZZ,<ZZ=400000> ;PRESET AB TO A RIPPLED ONE STARTING WITH BIT POSITION 0
13369 036714 200 00 0 00 070432 MOVE [XWD -1,ZZ] ;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
13370 ;POWER SHOULD RESULT IN C(AC)=0.
13371 036715 270 00 0 00 070274 ADD [YY] ;PASS TEST IF C(AC)=0
13372 036716 332 00 0 00 000000 SKIPE
13373 STOP^
13374 036717 254 04 0 00 036720 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
13375 036720 324 00 0 00 036721 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
13376 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
13377 ;IN THE SUBTEST) TO LOOP ON ERROR^
13378
13379 ;**********
13380
13381 ;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
13382 ;36TH POSER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
13383 ;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
13384 ;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHT THE
13385 ;ADDEC. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
13386 ;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
13387 ;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
13388 ;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MODE EQUAL TO ITS
13389 ;FORMER VALUE PLUS THE CURRENT C(AC)
13390 011414 SN=SN+1
13391 000100 YY=YY/2
13392 777700 ZZ=ZZ+YY
13393 IFE YY,<YY=400000>
13394 IFE ZZ,<ZZ=400000> ;PRESET AB TO A RIPPLED ONE STARTING WITH BIT POSITION 0
13395 036721 200 00 0 00 070433 MOVE [XWD -1,ZZ] ;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
13396 ;POWER SHOULD RESULT IN C(AC)=0.
13397 036722 270 00 0 00 070273 ADD [YY] ;PASS TEST IF C(AC)=0
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 7-16
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0291
13398 036723 332 00 0 00 000000 SKIPE
13399 STOP^
13400 036724 254 04 0 00 036725 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
13401 036725 324 00 0 00 036726 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
13402 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
13403 ;IN THE SUBTEST) TO LOOP ON ERROR^
13404
13405 ;**********
13406
13407 ;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
13408 ;36TH POSER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
13409 ;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
13410 ;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHT THE
13411 ;ADDEC. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
13412 ;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
13413 ;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
13414 ;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MODE EQUAL TO ITS
13415 ;FORMER VALUE PLUS THE CURRENT C(AC)
13416 011415 SN=SN+1
13417 000040 YY=YY/2
13418 777740 ZZ=ZZ+YY
13419 IFE YY,<YY=400000>
13420 IFE ZZ,<ZZ=400000> ;PRESET AB TO A RIPPLED ONE STARTING WITH BIT POSITION 0
13421 036726 200 00 0 00 070434 MOVE [XWD -1,ZZ] ;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
13422 ;POWER SHOULD RESULT IN C(AC)=0.
13423 036727 270 00 0 00 070272 ADD [YY] ;PASS TEST IF C(AC)=0
13424 036730 332 00 0 00 000000 SKIPE
13425 STOP^
13426 036731 254 04 0 00 036732 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
13427 036732 324 00 0 00 036733 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
13428 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
13429 ;IN THE SUBTEST) TO LOOP ON ERROR^
13430
13431 ;**********
13432
13433 ;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
13434 ;36TH POSER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
13435 ;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
13436 ;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHT THE
13437 ;ADDEC. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
13438 ;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
13439 ;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
13440 ;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MODE EQUAL TO ITS
13441 ;FORMER VALUE PLUS THE CURRENT C(AC)
13442 011416 SN=SN+1
13443 000020 YY=YY/2
13444 777760 ZZ=ZZ+YY
13445 IFE YY,<YY=400000>
13446 IFE ZZ,<ZZ=400000> ;PRESET AB TO A RIPPLED ONE STARTING WITH BIT POSITION 0
13447 036733 200 00 0 00 070435 MOVE [XWD -1,ZZ] ;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
13448 ;POWER SHOULD RESULT IN C(AC)=0.
13449 036734 270 00 0 00 070271 ADD [YY] ;PASS TEST IF C(AC)=0
13450 036735 332 00 0 00 000000 SKIPE
13451 STOP^
13452 036736 254 04 0 00 036737 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 7-17
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0292
13453 036737 324 00 0 00 036740 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
13454 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
13455 ;IN THE SUBTEST) TO LOOP ON ERROR^
13456
13457 ;**********
13458
13459 ;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
13460 ;36TH POSER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
13461 ;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
13462 ;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHT THE
13463 ;ADDEC. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
13464 ;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
13465 ;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
13466 ;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MODE EQUAL TO ITS
13467 ;FORMER VALUE PLUS THE CURRENT C(AC)
13468 011417 SN=SN+1
13469 000010 YY=YY/2
13470 777770 ZZ=ZZ+YY
13471 IFE YY,<YY=400000>
13472 IFE ZZ,<ZZ=400000> ;PRESET AB TO A RIPPLED ONE STARTING WITH BIT POSITION 0
13473 036740 200 00 0 00 070436 MOVE [XWD -1,ZZ] ;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
13474 ;POWER SHOULD RESULT IN C(AC)=0.
13475 036741 270 00 0 00 070270 ADD [YY] ;PASS TEST IF C(AC)=0
13476 036742 332 00 0 00 000000 SKIPE
13477 STOP^
13478 036743 254 04 0 00 036744 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
13479 036744 324 00 0 00 036745 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
13480 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
13481 ;IN THE SUBTEST) TO LOOP ON ERROR^
13482
13483 ;**********
13484
13485 ;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
13486 ;36TH POSER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
13487 ;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
13488 ;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHT THE
13489 ;ADDEC. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
13490 ;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
13491 ;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
13492 ;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MODE EQUAL TO ITS
13493 ;FORMER VALUE PLUS THE CURRENT C(AC)
13494 011420 SN=SN+1
13495 000004 YY=YY/2
13496 777774 ZZ=ZZ+YY
13497 IFE YY,<YY=400000>
13498 IFE ZZ,<ZZ=400000> ;PRESET AB TO A RIPPLED ONE STARTING WITH BIT POSITION 0
13499 036745 200 00 0 00 070437 MOVE [XWD -1,ZZ] ;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
13500 ;POWER SHOULD RESULT IN C(AC)=0.
13501 036746 270 00 0 00 070267 ADD [YY] ;PASS TEST IF C(AC)=0
13502 036747 332 00 0 00 000000 SKIPE
13503 STOP^
13504 036750 254 04 0 00 036751 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
13505 036751 324 00 0 00 036752 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
13506 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
13507 ;IN THE SUBTEST) TO LOOP ON ERROR^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 7-18
DFKAA2 MAC 25-AUG-75 13:56 TEST OF THE ADD INSTRUCTION SEQ 0293
13508
13509 ;**********
13510
13511 ;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
13512 ;36TH POSER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
13513 ;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
13514 ;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHT THE
13515 ;ADDEC. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
13516 ;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
13517 ;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
13518 ;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MODE EQUAL TO ITS
13519 ;FORMER VALUE PLUS THE CURRENT C(AC)
13520 011421 SN=SN+1
13521 000002 YY=YY/2
13522 777776 ZZ=ZZ+YY
13523 IFE YY,<YY=400000>
13524 IFE ZZ,<ZZ=400000> ;PRESET AB TO A RIPPLED ONE STARTING WITH BIT POSITION 0
13525 036752 200 00 0 00 070333 MOVE [XWD -1,ZZ] ;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
13526 ;POWER SHOULD RESULT IN C(AC)=0.
13527 036753 270 00 0 00 070266 ADD [YY] ;PASS TEST IF C(AC)=0
13528 036754 332 00 0 00 000000 SKIPE
13529 STOP^
13530 036755 254 04 0 00 036756 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
13531 036756 324 00 0 00 036757 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
13532 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
13533 ;IN THE SUBTEST) TO LOOP ON ERROR^
13534
13535 ;**********
13536
13537 ;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
13538 ;36TH POSER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
13539 ;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
13540 ;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHT THE
13541 ;ADDEC. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
13542 ;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
13543 ;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
13544 ;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MODE EQUAL TO ITS
13545 ;FORMER VALUE PLUS THE CURRENT C(AC)
13546 011422 SN=SN+1
13547 000001 YY=YY/2
13548 777777 ZZ=ZZ+YY
13549 IFE YY,<YY=400000>
13550 IFE ZZ,<ZZ=400000> ;PRESET AB TO A RIPPLED ONE STARTING WITH BIT POSITION 0
13551 036757 200 00 0 00 070254 MOVE [XWD -1,ZZ] ;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
13552 ;POWER SHOULD RESULT IN C(AC)=0.
13553 036760 270 00 0 00 070265 ADD [YY] ;PASS TEST IF C(AC)=0
13554 036761 332 00 0 00 000000 SKIPE
13555 STOP^
13556 036762 254 04 0 00 036763 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
13557 036763 324 00 0 00 036764 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
13558 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
13559 ;IN THE SUBTEST) TO LOOP ON ERROR^
13560
13561 ;**********
13562
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 8
DFKAA2 MAC 25-AUG-75 13:56 SPECIAL KI10 FOUR BIT ADDER TEST SEQ 0294
13563 SUBTTL SPECIAL KI10 FOUR BIT ADDER TEST
13564
13565 ;THIS TEST CHECKS THE CARRY FUNCTION FROM THE MOST SIGNIFICANT BIT OF A FOUR
13566 ;BIT ADDER TO THE LEAST SIGNIFICANT BIT OF THE NEXT SIGNIFICANT FOUR BIT ADDER.
13567 ;SPECIFICALLY, IT IS VERIFIED THAT AN ILLEGAL CARRY DOES NOT OCCUR FROM BIT 33 TO BIT 32.
13568
13569 036764 200 00 0 00 070335 A13500: MOVE [-1,,-5] ;PRESET AC WITH ALL ONES EXCEPT FOR BIT 33
13570 036765 270 00 0 00 070265 ADD [1] ;*ADD SHOULD NOT CAUSE CARRY FROM BIT 33 TO BIT 32
13571 036766 444 00 0 00 070437 EQV [-1,,-4] ;RESULT IN AC=ALL ONES
13572 036767 444 00 0 00 070253 EQV [0] ;RESULT IN AC=0
13573 036770 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
13574 STOP^
13575 036771 254 04 0 00 036772 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
13576 036772 324 00 0 00 036773 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
13577 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
13578 ;IN THE SUBTEST) TO LOOP ON ERROR^
13579
13580 ;**********
13581
13582 ;THIS TEST CHECKS THE CARRY FUNCTION FROM THE MOST SIGNIFICANT BIT OF A FOUR
13583 ;BIT ADDER TO THE LEAST SIGNIFICANT BIT OF THE NEXT SIGNIFICANT FOUR BIT ADDER.
13584 ;SPECIFICALLY, IT IS VERIFIED THAT AN ILLEGAL CARRY DOES NOT OCCUR FROM BIT 29 TO BIT 28.
13585
13586 036773 200 00 0 00 070341 A13600: MOVE [-1,,-101] ;PRESET AC WITH ALL ONES EXCEPT FOR BIT 29
13587 036774 270 00 0 00 070265 ADD [1] ;*ADD SHOULD NOT CAUSE CARRY FROM BIT 29 TO BIT 28
13588 036775 444 00 0 00 070433 EQV [-1,,-100] ;RESULT IN AC=ALL ONES
13589 036776 444 00 0 00 070253 EQV [0] ;RESULT IN AC=0
13590 036777 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
13591 STOP^
13592 037000 254 04 0 00 037001 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
13593 037001 324 00 0 00 037002 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
13594 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
13595 ;IN THE SUBTEST) TO LOOP ON ERROR^
13596
13597 ;**********
13598
13599 ;THIS TEST CHECKS THE CARRY FUNCTION FROM THE MOST SIGNIFICANT BIT OF A FOUR
13600 ;BIT ADDER TO THE LEAST SIGNIFICANT BIT OF THE NEXT SIGNIFICANT FOUR BIT ADDER.
13601 ;SPECIFICALLY, IT IS VERIFIED THAT AN ILLEGAL CARRY DOES NOT OCCUR FROM BIT 25 TO BIT 24.
13602
13603 037002 200 00 0 00 070345 A13700: MOVE [-1,,-2001] ;PRESET AC WITH ALL ONES EXCEPT FOR BIT 25
13604 037003 270 00 0 00 070265 ADD [1] ;*ADD SHOULD NOT CAUSE CARRY FROM BIT 25 TO BIT 24
13605 037004 444 00 0 00 070427 EQV [-1,,-2000] ;RESULT IN AC=ALL ONES
13606 037005 444 00 0 00 070253 EQV [0] ;RESULT IN AC=0
13607 037006 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
13608 STOP^
13609 037007 254 04 0 00 037010 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
13610 037010 324 00 0 00 037011 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
13611 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
13612 ;IN THE SUBTEST) TO LOOP ON ERROR^
13613
13614 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 9
DFKAA2 MAC 25-AUG-75 13:56 SPECIAL KI10 FOUR BIT ADDER TEST SEQ 0295
13615 ;THIS TEST CHECKS THE CARRY FUNCTION FROM THE MOST SIGNIFICANT BIT OF A FOUR
13616 ;BIT ADDER TO THE LEAST SIGNIFICANT BIT OF THE NEXT SIGNIFICANT FOUR BIT ADDER.
13617 ;SPECIFICALLY, IT IS VERIFIED THAT AN ILLEGAL CARRY DOES NOT OCCUR FROM BIT 21 TO BIT 20.
13618
13619 037011 200 00 0 00 070351 A14000: MOVE [-1,,-40001] ;PRESET AC WITH ALL ONES EXCEPT FOR BIT 21
13620 037012 270 00 0 00 070265 ADD [1] ;*ADD SHOULD NOT CAUSE CARRY FROM BIT 21 TO BIT 20
13621 037013 444 00 0 00 070423 EQV [-1,,-40000] ;RESULT IN AC=ALL ONES
13622 037014 444 00 0 00 070253 EQV [0] ;RESULT IN AC=0
13623 037015 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
13624 STOP^
13625 037016 254 04 0 00 037017 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
13626 037017 324 00 0 00 037020 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
13627 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
13628 ;IN THE SUBTEST) TO LOOP ON ERROR^
13629
13630 ;**********
13631
13632 ;THIS TEST CHECKS THE CARRY FUNCTION FROM THE MOST SIGNIFICANT BIT OF A FOUR
13633 ;BIT ADDER TO THE LEAST SIGNIFICANT BIT OF THE NEXT SIGNIFICANT FOUR BIT ADDER.
13634 ;SPECIFICALLY, IT IS VERIFIED THAT AN ILLEGAL CARRY DOES NOT OCCUR FROM BIT 18 TO BIT 17.
13635
13636 037020 200 00 0 00 070354 A14100: MOVE [-1,,-400001] ;PRESET AC WITH ALL ONES EXCEPT FOR BIT 18
13637 037021 270 00 0 00 070265 ADD [1] ;*ADD SHOULD NOT CAUSE CARRY FROM BIT 18 TO BIT 17
13638 037022 444 00 0 00 070420 EQV [-1,,400000] ;RESULT IN AC=ALL ONES
13639 037023 444 00 0 00 070253 EQV [0] ;RESULT IN AC=0
13640 037024 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
13641 STOP^
13642 037025 254 04 0 00 037026 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
13643 037026 324 00 0 00 037027 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
13644 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
13645 ;IN THE SUBTEST) TO LOOP ON ERROR^
13646
13647 ;**********
13648
13649 ;THIS TEST CHECKS THE CARRY FUNCTION FROM THE MOST SIGNIFICANT BIT OF A FOUR
13650 ;BIT ADDER TO THE LEAST SIGNIFICANT BIT OF THE NEXT SIGNIFICANT FOUR BIT ADDER.
13651 ;SPECIFICALLY, IT IS VERIFIED THAT AN ILLEGAL CARRY DOES NOT OCCUR FROM BIT 14 TO BIT 13.
13652
13653 037027 200 00 0 00 070360 A14200: MOVE [-11,,-1] ;PRESET AC WITH ALL ONES EXCEPT FOR BIT 14
13654 037030 270 00 0 00 070265 ADD [1] ;*ADD SHOULD NOT CAUSE CARRY FROM BIT 14 TO BIT 13
13655 037031 444 00 0 00 070415 EQV [-10,,0] ;RESULT IN AC=ALL ONES
13656 037032 444 00 0 00 070253 EQV [0] ;RESULT IN AC=0
13657 037033 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
13658 STOP^
13659 037034 254 04 0 00 037035 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
13660 037035 324 00 0 00 037036 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
13661 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
13662 ;IN THE SUBTEST) TO LOOP ON ERROR^
13663
13664 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 10
DFKAA2 MAC 25-AUG-75 13:56 SPECIAL KI10 FOUR BIT ADDER TEST SEQ 0296
13665 ;THIS TEST CHECKS THE CARRY FUNCTION FROM THE MOST SIGNIFICANT BIT OF A FOUR
13666 ;BIT ADDER TO THE LEAST SIGNIFICANT BIT OF THE NEXT SIGNIFICANT FOUR BIT ADDER.
13667 ;SPECIFICALLY, IT IS VERIFIED THAT AN ILLEGAL CARRY DOES NOT OCCUR FROM BIT 10 TO BIT 9.
13668
13669 037036 200 00 0 00 070364 A14300: MOVE [-201,,-1] ;PRESET AC WITH ALL ONES EXCEPT FOR BIT 10
13670 037037 270 00 0 00 070265 ADD [1] ;*ADD SHOULD NOT CAUSE CARRY FROM BIT 10 TO BIT 9
13671 037040 444 00 0 00 070411 EQV [-200,,0] ;RESULT IN AC=ALL ONES
13672 037041 444 00 0 00 070253 EQV [0] ;RESULT IN AC=0
13673 037042 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
13674 STOP^
13675 037043 254 04 0 00 037044 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
13676 037044 324 00 0 00 037045 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
13677 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
13678 ;IN THE SUBTEST) TO LOOP ON ERROR^
13679
13680 ;**********
13681
13682 ;THIS TEST CHECKS THE CARRY FUNCTION FROM THE MOST SIGNIFICANT BIT OF A FOUR
13683 ;BIT ADDER TO THE LEAST SIGNIFICANT BIT OF THE NEXT SIGNIFICANT FOUR BIT ADDER.
13684 ;SPECIFICALLY, IT IS VERIFIED THAT AN ILLEGAL CARRY DOES NOT OCCUR FROM BIT 6 TO BIT 5.
13685
13686 037045 200 00 0 00 070370 A14400: MOVE [-4001,,-1] ;PRESET AC WITH ALL ONES EXCEPT FOR BIT 6
13687 037046 270 00 0 00 070265 ADD [1] ;*ADD SHOULD NOT CAUSE CARRY FROM BIT 6 TO BIT 5
13688 037047 444 00 0 00 070406 EQV [-4000,,0] ;RESULT IN AC=ALL ONES
13689 037050 444 00 0 00 070253 EQV [0] ;RESULT IN AC=0
13690 037051 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
13691 STOP^
13692 037052 254 04 0 00 037053 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
13693 037053 324 00 0 00 037054 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
13694 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
13695 ;IN THE SUBTEST) TO LOOP ON ERROR^
13696
13697 ;**********
13698
13699 ;THIS TEST CHECKS THE CARRY FUNCTION FROM THE MOST SIGNIFICANT BIT OF A FOUR
13700 ;BIT ADDER TO THE LEAST SIGNIFICANT BIT OF THE NEXT SIGNIFICANT FOUR BIT ADDER.
13701 ;SPECIFICALLY, IT IS VERIFIED THAT AN ILLEGAL CARRY DOES NOT OCCUR FROM BIT 2 TO BIT 1.
13702
13703 037054 200 00 0 00 070374 A14500: MOVE [-100001,,-1] ;PRESET AC WITH ALL ONES EXCEPT FOR BIT 2
13704 037055 270 00 0 00 070265 ADD [1] ;*ADD SHOULD NOT CAUSE CARRY FROM BIT 2 TO BIT 1
13705 037056 444 00 0 00 070402 EQV [-100000,,0] ;RESULT IN AC=ALL ONES
13706 037057 444 00 0 00 070253 EQV [0] ;RESULT IN AC=0
13707 037060 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
13708 STOP^
13709 037061 254 04 0 00 037062 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
13710 037062 324 00 0 00 037063 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
13711 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
13712 ;IN THE SUBTEST) TO LOOP ON ERROR^
13713
13714 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 11
DFKAA2 MAC 25-AUG-75 13:56 SPECIAL KI10 FOUR BIT ADDER TEST SEQ 0297
13715 ;THIS TEST CHECKS THE CARRY FUNCTION FROM THE MOST SIGNIFICANT BIT OF A FOUR
13716 ;BIT ADDER TO THE LEAST SIGNIFICANT BIT OF THE NEXT SIGNIFICANT FOUR BIT ADDER.
13717 ;SPECIFICALLY, IT IS VERIFIED THAT AN ILLEGAL CARRY DOES NOT OCCUR FROM BIT 1 TO BIT 0.
13718
13719 037063 200 00 0 00 070375 A14600: MOVE [-200001,,-1] ;PRESET AC WITH ALL ONES EXCEPT FOR BIT 1
13720 037064 270 00 0 00 070265 ADD [1] ;*ADD SHOULD NOT CAUSE CARRY FROM BIT 1 TO BIT 0
13721 037065 444 00 0 00 070401 EQV [600000,,0] ;RESULT IN AC=ALL ONES
13722 037066 444 00 0 00 070253 EQV [0] ;RESULT IN AC=0
13723 037067 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
13724 STOP^
13725 037070 254 04 0 00 037071 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
13726 037071 324 00 0 00 037072 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
13727 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
13728 ;IN THE SUBTEST) TO LOOP ON ERROR^
13729
13730 ;**********
13731
13732 ;THIS TEST CHECKS THE CARRY FUNCTION FROM THE MOST SIGNIFICANT BIT OF A FOUR
13733 ;BIT ADDER TO THE LEAST SIGNIFICANT BIT OF THE NEXT SIGNIFICANT FOUR BIT ADDER.
13734 ;SPECIFICALLY, IT IS VERIFIED THAT AN ILLEGAL CARRY DOES NOT OCCUR FROM BIT -1TO BIT 35.
13735
13736 037072 200 00 0 00 070254 A14700: MOVE [-1,,-1] ;PRESET AC WITH ALL ONES
13737 037073 270 00 0 00 070265 ADD [1] ;*ADD SHOULD NOT CAUSE CARRY FROM BIT -1 TO BIT 35
13738 037074 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
13739 STOP^
13740 037075 254 04 0 00 037076 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
13741 037076 324 00 0 00 037077 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
13742 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
13743 ;IN THE SUBTEST) TO LOOP ON ERROR^
13744
13745 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 12
DFKAA2 MAC 25-AUG-75 13:56 TEST OF SUB AND COMPARE INSTRUCTIONS SEQ 0298
13746 SUBTTL TEST OF SUB AND COMPARE INSTRUCTIONS
13747
13748 ;THIS TEST VERIFIES THAT IF A NON ZERO POSITIVE NUMBER IN E IS
13749 ;SUBTRACTED FROM THE AC WHEN C(AC)=0, THE RESULT IN THE AC
13750 ;IS NEGATIVE
13751
13752 037077 200 00 0 00 070253 A11500: MOVE [0] ;PRESET AC TO ZERO
13753 037100 274 00 0 00 070330 SUB [XWD 0,-1] ;*SUB OF POSITIVE NONZERO NUMBER FROM AC OF ALL ZEROS
13754 ;SHOULD RESULT IN C(AC) NEGATIVE
13755 037101 331 00 0 00 000000 SKIPL ;PASS TEST IF C(AC) IS NEGATIVE
13756 STOP^
13757 037102 254 04 0 00 037103 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
13758 037103 324 00 0 00 037104 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
13759 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
13760 ;IN THE SUBTEST) TO LOOP ON ERROR^
13761
13762 ;AD AR- EN D [ADAM], F CYC ACT ENB [F1],
13763 ;IR SUBX[IR1], IR ADSUB[IR1]
13764
13765 ;**********
13766
13767 ;THIS TEST VERIFIES THAT IF A WORD OF ALL ZEROS IS
13768 ;SUBTRACTED FROM AN AC OF ALL ZEROS, THE RESULT
13769 ;IS AN AC OF ZEROS.
13770
13771 037104 200 00 0 00 070253 A11600: MOVE [0] ;PRESET AC TO ZERO
13772 037105 274 00 0 00 070253 SUB [0] ;*SUB OF 0 FROM 0 SHOULD RESULT IN C(AC)=0
13773 037106 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
13774 STOP^
13775 037107 254 04 0 00 037110 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
13776 037110 324 00 0 00 037111 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
13777 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
13778 ;IN THE SUBTEST) TO LOOP ON ERROR^
13779 ;AD CRY 36[ADCR], F CYC ACT EN D[F1], IF SUBX [IR1]
13780
13781 ;**********
13782 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 12-1
DFKAA2 MAC 25-AUG-75 13:56 TEST OF SUB AND COMPARE INSTRUCTIONS SEQ 0299
13783 011700 SN=11700
13784 000000 ZZ=0
13785
13786 A11700: REPEAT ^D36,
13787 <;THIS TEST VERIFIES THAT IF A RIPPLED ONE
13788 ;IS SUBTRACTED FROM ITSELF, THE RESULT IS
13789 ;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
13790 ;TIMES IN ORDER TO TEST ALL 36 BITS.
13791 SN=SN+1
13792 ZZ=ZZ+ZZ
13793 IFE ZZ,<ZZ=1>
13794 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
13795 SUB [ZZ] ;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
13796 SKIPE ;PASS TEST IF C(AC)=0
13797 STOP
13798
13799 ;**********
13800 >
13801 ;THIS TEST VERIFIES THAT IF A RIPPLED ONE
13802 ;IS SUBTRACTED FROM ITSELF, THE RESULT IS
13803 ;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
13804 ;TIMES IN ORDER TO TEST ALL 36 BITS.
13805 011701 SN=SN+1
13806 000000 ZZ=ZZ+ZZ
13807 000001 IFE ZZ,<ZZ=1>
13808 037111 200 00 0 00 070265 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
13809 037112 274 00 0 00 070265 SUB [ZZ] ;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
13810 037113 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
13811 STOP^
13812 037114 254 04 0 00 037115 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
13813 037115 324 00 0 00 037116 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
13814 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
13815 ;IN THE SUBTEST) TO LOOP ON ERROR^
13816
13817 ;**********
13818
13819 ;THIS TEST VERIFIES THAT IF A RIPPLED ONE
13820 ;IS SUBTRACTED FROM ITSELF, THE RESULT IS
13821 ;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
13822 ;TIMES IN ORDER TO TEST ALL 36 BITS.
13823 011702 SN=SN+1
13824 000002 ZZ=ZZ+ZZ
13825 IFE ZZ,<ZZ=1>
13826 037116 200 00 0 00 070266 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
13827 037117 274 00 0 00 070266 SUB [ZZ] ;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
13828 037120 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
13829 STOP^
13830 037121 254 04 0 00 037122 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
13831 037122 324 00 0 00 037123 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
13832 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
13833 ;IN THE SUBTEST) TO LOOP ON ERROR^
13834
13835 ;**********
13836
13837 ;THIS TEST VERIFIES THAT IF A RIPPLED ONE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 12-2
DFKAA2 MAC 25-AUG-75 13:56 TEST OF SUB AND COMPARE INSTRUCTIONS SEQ 0300
13838 ;IS SUBTRACTED FROM ITSELF, THE RESULT IS
13839 ;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
13840 ;TIMES IN ORDER TO TEST ALL 36 BITS.
13841 011703 SN=SN+1
13842 000004 ZZ=ZZ+ZZ
13843 IFE ZZ,<ZZ=1>
13844 037123 200 00 0 00 070267 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
13845 037124 274 00 0 00 070267 SUB [ZZ] ;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
13846 037125 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
13847 STOP^
13848 037126 254 04 0 00 037127 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
13849 037127 324 00 0 00 037130 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
13850 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
13851 ;IN THE SUBTEST) TO LOOP ON ERROR^
13852
13853 ;**********
13854
13855 ;THIS TEST VERIFIES THAT IF A RIPPLED ONE
13856 ;IS SUBTRACTED FROM ITSELF, THE RESULT IS
13857 ;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
13858 ;TIMES IN ORDER TO TEST ALL 36 BITS.
13859 011704 SN=SN+1
13860 000010 ZZ=ZZ+ZZ
13861 IFE ZZ,<ZZ=1>
13862 037130 200 00 0 00 070270 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
13863 037131 274 00 0 00 070270 SUB [ZZ] ;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
13864 037132 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
13865 STOP^
13866 037133 254 04 0 00 037134 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
13867 037134 324 00 0 00 037135 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
13868 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
13869 ;IN THE SUBTEST) TO LOOP ON ERROR^
13870
13871 ;**********
13872
13873 ;THIS TEST VERIFIES THAT IF A RIPPLED ONE
13874 ;IS SUBTRACTED FROM ITSELF, THE RESULT IS
13875 ;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
13876 ;TIMES IN ORDER TO TEST ALL 36 BITS.
13877 011705 SN=SN+1
13878 000020 ZZ=ZZ+ZZ
13879 IFE ZZ,<ZZ=1>
13880 037135 200 00 0 00 070271 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
13881 037136 274 00 0 00 070271 SUB [ZZ] ;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
13882 037137 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
13883 STOP^
13884 037140 254 04 0 00 037141 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
13885 037141 324 00 0 00 037142 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
13886 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
13887 ;IN THE SUBTEST) TO LOOP ON ERROR^
13888
13889 ;**********
13890
13891 ;THIS TEST VERIFIES THAT IF A RIPPLED ONE
13892 ;IS SUBTRACTED FROM ITSELF, THE RESULT IS
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 12-3
DFKAA2 MAC 25-AUG-75 13:56 TEST OF SUB AND COMPARE INSTRUCTIONS SEQ 0301
13893 ;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
13894 ;TIMES IN ORDER TO TEST ALL 36 BITS.
13895 011706 SN=SN+1
13896 000040 ZZ=ZZ+ZZ
13897 IFE ZZ,<ZZ=1>
13898 037142 200 00 0 00 070272 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
13899 037143 274 00 0 00 070272 SUB [ZZ] ;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
13900 037144 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
13901 STOP^
13902 037145 254 04 0 00 037146 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
13903 037146 324 00 0 00 037147 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
13904 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
13905 ;IN THE SUBTEST) TO LOOP ON ERROR^
13906
13907 ;**********
13908
13909 ;THIS TEST VERIFIES THAT IF A RIPPLED ONE
13910 ;IS SUBTRACTED FROM ITSELF, THE RESULT IS
13911 ;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
13912 ;TIMES IN ORDER TO TEST ALL 36 BITS.
13913 011707 SN=SN+1
13914 000100 ZZ=ZZ+ZZ
13915 IFE ZZ,<ZZ=1>
13916 037147 200 00 0 00 070273 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
13917 037150 274 00 0 00 070273 SUB [ZZ] ;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
13918 037151 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
13919 STOP^
13920 037152 254 04 0 00 037153 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
13921 037153 324 00 0 00 037154 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
13922 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
13923 ;IN THE SUBTEST) TO LOOP ON ERROR^
13924
13925 ;**********
13926
13927 ;THIS TEST VERIFIES THAT IF A RIPPLED ONE
13928 ;IS SUBTRACTED FROM ITSELF, THE RESULT IS
13929 ;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
13930 ;TIMES IN ORDER TO TEST ALL 36 BITS.
13931 011710 SN=SN+1
13932 000200 ZZ=ZZ+ZZ
13933 IFE ZZ,<ZZ=1>
13934 037154 200 00 0 00 070274 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
13935 037155 274 00 0 00 070274 SUB [ZZ] ;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
13936 037156 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
13937 STOP^
13938 037157 254 04 0 00 037160 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
13939 037160 324 00 0 00 037161 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
13940 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
13941 ;IN THE SUBTEST) TO LOOP ON ERROR^
13942
13943 ;**********
13944
13945 ;THIS TEST VERIFIES THAT IF A RIPPLED ONE
13946 ;IS SUBTRACTED FROM ITSELF, THE RESULT IS
13947 ;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 12-4
DFKAA2 MAC 25-AUG-75 13:56 TEST OF SUB AND COMPARE INSTRUCTIONS SEQ 0302
13948 ;TIMES IN ORDER TO TEST ALL 36 BITS.
13949 011711 SN=SN+1
13950 000400 ZZ=ZZ+ZZ
13951 IFE ZZ,<ZZ=1>
13952 037161 200 00 0 00 070275 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
13953 037162 274 00 0 00 070275 SUB [ZZ] ;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
13954 037163 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
13955 STOP^
13956 037164 254 04 0 00 037165 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
13957 037165 324 00 0 00 037166 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
13958 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
13959 ;IN THE SUBTEST) TO LOOP ON ERROR^
13960
13961 ;**********
13962
13963 ;THIS TEST VERIFIES THAT IF A RIPPLED ONE
13964 ;IS SUBTRACTED FROM ITSELF, THE RESULT IS
13965 ;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
13966 ;TIMES IN ORDER TO TEST ALL 36 BITS.
13967 011712 SN=SN+1
13968 001000 ZZ=ZZ+ZZ
13969 IFE ZZ,<ZZ=1>
13970 037166 200 00 0 00 070276 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
13971 037167 274 00 0 00 070276 SUB [ZZ] ;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
13972 037170 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
13973 STOP^
13974 037171 254 04 0 00 037172 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
13975 037172 324 00 0 00 037173 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
13976 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
13977 ;IN THE SUBTEST) TO LOOP ON ERROR^
13978
13979 ;**********
13980
13981 ;THIS TEST VERIFIES THAT IF A RIPPLED ONE
13982 ;IS SUBTRACTED FROM ITSELF, THE RESULT IS
13983 ;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
13984 ;TIMES IN ORDER TO TEST ALL 36 BITS.
13985 011713 SN=SN+1
13986 002000 ZZ=ZZ+ZZ
13987 IFE ZZ,<ZZ=1>
13988 037173 200 00 0 00 070277 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
13989 037174 274 00 0 00 070277 SUB [ZZ] ;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
13990 037175 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
13991 STOP^
13992 037176 254 04 0 00 037177 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
13993 037177 324 00 0 00 037200 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
13994 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
13995 ;IN THE SUBTEST) TO LOOP ON ERROR^
13996
13997 ;**********
13998
13999 ;THIS TEST VERIFIES THAT IF A RIPPLED ONE
14000 ;IS SUBTRACTED FROM ITSELF, THE RESULT IS
14001 ;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
14002 ;TIMES IN ORDER TO TEST ALL 36 BITS.
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 12-5
DFKAA2 MAC 25-AUG-75 13:56 TEST OF SUB AND COMPARE INSTRUCTIONS SEQ 0303
14003 011714 SN=SN+1
14004 004000 ZZ=ZZ+ZZ
14005 IFE ZZ,<ZZ=1>
14006 037200 200 00 0 00 070300 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
14007 037201 274 00 0 00 070300 SUB [ZZ] ;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
14008 037202 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
14009 STOP^
14010 037203 254 04 0 00 037204 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14011 037204 324 00 0 00 037205 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14012 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14013 ;IN THE SUBTEST) TO LOOP ON ERROR^
14014
14015 ;**********
14016
14017 ;THIS TEST VERIFIES THAT IF A RIPPLED ONE
14018 ;IS SUBTRACTED FROM ITSELF, THE RESULT IS
14019 ;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
14020 ;TIMES IN ORDER TO TEST ALL 36 BITS.
14021 011715 SN=SN+1
14022 010000 ZZ=ZZ+ZZ
14023 IFE ZZ,<ZZ=1>
14024 037205 200 00 0 00 070301 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
14025 037206 274 00 0 00 070301 SUB [ZZ] ;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
14026 037207 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
14027 STOP^
14028 037210 254 04 0 00 037211 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14029 037211 324 00 0 00 037212 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14030 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14031 ;IN THE SUBTEST) TO LOOP ON ERROR^
14032
14033 ;**********
14034
14035 ;THIS TEST VERIFIES THAT IF A RIPPLED ONE
14036 ;IS SUBTRACTED FROM ITSELF, THE RESULT IS
14037 ;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
14038 ;TIMES IN ORDER TO TEST ALL 36 BITS.
14039 011716 SN=SN+1
14040 020000 ZZ=ZZ+ZZ
14041 IFE ZZ,<ZZ=1>
14042 037212 200 00 0 00 070302 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
14043 037213 274 00 0 00 070302 SUB [ZZ] ;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
14044 037214 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
14045 STOP^
14046 037215 254 04 0 00 037216 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14047 037216 324 00 0 00 037217 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14048 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14049 ;IN THE SUBTEST) TO LOOP ON ERROR^
14050
14051 ;**********
14052
14053 ;THIS TEST VERIFIES THAT IF A RIPPLED ONE
14054 ;IS SUBTRACTED FROM ITSELF, THE RESULT IS
14055 ;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
14056 ;TIMES IN ORDER TO TEST ALL 36 BITS.
14057 011717 SN=SN+1
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 12-6
DFKAA2 MAC 25-AUG-75 13:56 TEST OF SUB AND COMPARE INSTRUCTIONS SEQ 0304
14058 040000 ZZ=ZZ+ZZ
14059 IFE ZZ,<ZZ=1>
14060 037217 200 00 0 00 070303 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
14061 037220 274 00 0 00 070303 SUB [ZZ] ;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
14062 037221 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
14063 STOP^
14064 037222 254 04 0 00 037223 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14065 037223 324 00 0 00 037224 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14066 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14067 ;IN THE SUBTEST) TO LOOP ON ERROR^
14068
14069 ;**********
14070
14071 ;THIS TEST VERIFIES THAT IF A RIPPLED ONE
14072 ;IS SUBTRACTED FROM ITSELF, THE RESULT IS
14073 ;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
14074 ;TIMES IN ORDER TO TEST ALL 36 BITS.
14075 011720 SN=SN+1
14076 100000 ZZ=ZZ+ZZ
14077 IFE ZZ,<ZZ=1>
14078 037224 200 00 0 00 070304 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
14079 037225 274 00 0 00 070304 SUB [ZZ] ;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
14080 037226 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
14081 STOP^
14082 037227 254 04 0 00 037230 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14083 037230 324 00 0 00 037231 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14084 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14085 ;IN THE SUBTEST) TO LOOP ON ERROR^
14086
14087 ;**********
14088
14089 ;THIS TEST VERIFIES THAT IF A RIPPLED ONE
14090 ;IS SUBTRACTED FROM ITSELF, THE RESULT IS
14091 ;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
14092 ;TIMES IN ORDER TO TEST ALL 36 BITS.
14093 011721 SN=SN+1
14094 200000 ZZ=ZZ+ZZ
14095 IFE ZZ,<ZZ=1>
14096 037231 200 00 0 00 070305 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
14097 037232 274 00 0 00 070305 SUB [ZZ] ;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
14098 037233 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
14099 STOP^
14100 037234 254 04 0 00 037235 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14101 037235 324 00 0 00 037236 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14102 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14103 ;IN THE SUBTEST) TO LOOP ON ERROR^
14104
14105 ;**********
14106
14107 ;THIS TEST VERIFIES THAT IF A RIPPLED ONE
14108 ;IS SUBTRACTED FROM ITSELF, THE RESULT IS
14109 ;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
14110 ;TIMES IN ORDER TO TEST ALL 36 BITS.
14111 011722 SN=SN+1
14112 400000 ZZ=ZZ+ZZ
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 12-7
DFKAA2 MAC 25-AUG-75 13:56 TEST OF SUB AND COMPARE INSTRUCTIONS SEQ 0305
14113 IFE ZZ,<ZZ=1>
14114 037236 200 00 0 00 070306 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
14115 037237 274 00 0 00 070306 SUB [ZZ] ;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
14116 037240 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
14117 STOP^
14118 037241 254 04 0 00 037242 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14119 037242 324 00 0 00 037243 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14120 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14121 ;IN THE SUBTEST) TO LOOP ON ERROR^
14122
14123 ;**********
14124
14125 ;THIS TEST VERIFIES THAT IF A RIPPLED ONE
14126 ;IS SUBTRACTED FROM ITSELF, THE RESULT IS
14127 ;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
14128 ;TIMES IN ORDER TO TEST ALL 36 BITS.
14129 011723 SN=SN+1
14130 000001 000000 ZZ=ZZ+ZZ
14131 IFE ZZ,<ZZ=1>
14132 037243 200 00 0 00 070307 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
14133 037244 274 00 0 00 070307 SUB [ZZ] ;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
14134 037245 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
14135 STOP^
14136 037246 254 04 0 00 037247 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14137 037247 324 00 0 00 037250 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14138 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14139 ;IN THE SUBTEST) TO LOOP ON ERROR^
14140
14141 ;**********
14142
14143 ;THIS TEST VERIFIES THAT IF A RIPPLED ONE
14144 ;IS SUBTRACTED FROM ITSELF, THE RESULT IS
14145 ;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
14146 ;TIMES IN ORDER TO TEST ALL 36 BITS.
14147 011724 SN=SN+1
14148 000002 000000 ZZ=ZZ+ZZ
14149 IFE ZZ,<ZZ=1>
14150 037250 200 00 0 00 070310 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
14151 037251 274 00 0 00 070310 SUB [ZZ] ;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
14152 037252 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
14153 STOP^
14154 037253 254 04 0 00 037254 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14155 037254 324 00 0 00 037255 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14156 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14157 ;IN THE SUBTEST) TO LOOP ON ERROR^
14158
14159 ;**********
14160
14161 ;THIS TEST VERIFIES THAT IF A RIPPLED ONE
14162 ;IS SUBTRACTED FROM ITSELF, THE RESULT IS
14163 ;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
14164 ;TIMES IN ORDER TO TEST ALL 36 BITS.
14165 011725 SN=SN+1
14166 000004 000000 ZZ=ZZ+ZZ
14167 IFE ZZ,<ZZ=1>
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 12-8
DFKAA2 MAC 25-AUG-75 13:56 TEST OF SUB AND COMPARE INSTRUCTIONS SEQ 0306
14168 037255 200 00 0 00 070311 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
14169 037256 274 00 0 00 070311 SUB [ZZ] ;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
14170 037257 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
14171 STOP^
14172 037260 254 04 0 00 037261 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14173 037261 324 00 0 00 037262 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14174 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14175 ;IN THE SUBTEST) TO LOOP ON ERROR^
14176
14177 ;**********
14178
14179 ;THIS TEST VERIFIES THAT IF A RIPPLED ONE
14180 ;IS SUBTRACTED FROM ITSELF, THE RESULT IS
14181 ;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
14182 ;TIMES IN ORDER TO TEST ALL 36 BITS.
14183 011726 SN=SN+1
14184 000010 000000 ZZ=ZZ+ZZ
14185 IFE ZZ,<ZZ=1>
14186 037262 200 00 0 00 070312 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
14187 037263 274 00 0 00 070312 SUB [ZZ] ;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
14188 037264 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
14189 STOP^
14190 037265 254 04 0 00 037266 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14191 037266 324 00 0 00 037267 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14192 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14193 ;IN THE SUBTEST) TO LOOP ON ERROR^
14194
14195 ;**********
14196
14197 ;THIS TEST VERIFIES THAT IF A RIPPLED ONE
14198 ;IS SUBTRACTED FROM ITSELF, THE RESULT IS
14199 ;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
14200 ;TIMES IN ORDER TO TEST ALL 36 BITS.
14201 011727 SN=SN+1
14202 000020 000000 ZZ=ZZ+ZZ
14203 IFE ZZ,<ZZ=1>
14204 037267 200 00 0 00 070313 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
14205 037270 274 00 0 00 070313 SUB [ZZ] ;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
14206 037271 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
14207 STOP^
14208 037272 254 04 0 00 037273 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14209 037273 324 00 0 00 037274 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14210 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14211 ;IN THE SUBTEST) TO LOOP ON ERROR^
14212
14213 ;**********
14214
14215 ;THIS TEST VERIFIES THAT IF A RIPPLED ONE
14216 ;IS SUBTRACTED FROM ITSELF, THE RESULT IS
14217 ;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
14218 ;TIMES IN ORDER TO TEST ALL 36 BITS.
14219 011730 SN=SN+1
14220 000040 000000 ZZ=ZZ+ZZ
14221 IFE ZZ,<ZZ=1>
14222 037274 200 00 0 00 070314 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 12-9
DFKAA2 MAC 25-AUG-75 13:56 TEST OF SUB AND COMPARE INSTRUCTIONS SEQ 0307
14223 037275 274 00 0 00 070314 SUB [ZZ] ;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
14224 037276 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
14225 STOP^
14226 037277 254 04 0 00 037300 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14227 037300 324 00 0 00 037301 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14228 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14229 ;IN THE SUBTEST) TO LOOP ON ERROR^
14230
14231 ;**********
14232
14233 ;THIS TEST VERIFIES THAT IF A RIPPLED ONE
14234 ;IS SUBTRACTED FROM ITSELF, THE RESULT IS
14235 ;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
14236 ;TIMES IN ORDER TO TEST ALL 36 BITS.
14237 011731 SN=SN+1
14238 000100 000000 ZZ=ZZ+ZZ
14239 IFE ZZ,<ZZ=1>
14240 037301 200 00 0 00 070315 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
14241 037302 274 00 0 00 070315 SUB [ZZ] ;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
14242 037303 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
14243 STOP^
14244 037304 254 04 0 00 037305 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14245 037305 324 00 0 00 037306 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14246 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14247 ;IN THE SUBTEST) TO LOOP ON ERROR^
14248
14249 ;**********
14250
14251 ;THIS TEST VERIFIES THAT IF A RIPPLED ONE
14252 ;IS SUBTRACTED FROM ITSELF, THE RESULT IS
14253 ;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
14254 ;TIMES IN ORDER TO TEST ALL 36 BITS.
14255 011732 SN=SN+1
14256 000200 000000 ZZ=ZZ+ZZ
14257 IFE ZZ,<ZZ=1>
14258 037306 200 00 0 00 070316 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
14259 037307 274 00 0 00 070316 SUB [ZZ] ;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
14260 037310 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
14261 STOP^
14262 037311 254 04 0 00 037312 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14263 037312 324 00 0 00 037313 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14264 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14265 ;IN THE SUBTEST) TO LOOP ON ERROR^
14266
14267 ;**********
14268
14269 ;THIS TEST VERIFIES THAT IF A RIPPLED ONE
14270 ;IS SUBTRACTED FROM ITSELF, THE RESULT IS
14271 ;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
14272 ;TIMES IN ORDER TO TEST ALL 36 BITS.
14273 011733 SN=SN+1
14274 000400 000000 ZZ=ZZ+ZZ
14275 IFE ZZ,<ZZ=1>
14276 037313 200 00 0 00 070264 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
14277 037314 274 00 0 00 070264 SUB [ZZ] ;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 12-10
DFKAA2 MAC 25-AUG-75 13:56 TEST OF SUB AND COMPARE INSTRUCTIONS SEQ 0308
14278 037315 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
14279 STOP^
14280 037316 254 04 0 00 037317 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14281 037317 324 00 0 00 037320 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14282 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14283 ;IN THE SUBTEST) TO LOOP ON ERROR^
14284
14285 ;**********
14286
14287 ;THIS TEST VERIFIES THAT IF A RIPPLED ONE
14288 ;IS SUBTRACTED FROM ITSELF, THE RESULT IS
14289 ;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
14290 ;TIMES IN ORDER TO TEST ALL 36 BITS.
14291 011734 SN=SN+1
14292 001000 000000 ZZ=ZZ+ZZ
14293 IFE ZZ,<ZZ=1>
14294 037320 200 00 0 00 070317 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
14295 037321 274 00 0 00 070317 SUB [ZZ] ;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
14296 037322 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
14297 STOP^
14298 037323 254 04 0 00 037324 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14299 037324 324 00 0 00 037325 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14300 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14301 ;IN THE SUBTEST) TO LOOP ON ERROR^
14302
14303 ;**********
14304
14305 ;THIS TEST VERIFIES THAT IF A RIPPLED ONE
14306 ;IS SUBTRACTED FROM ITSELF, THE RESULT IS
14307 ;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
14308 ;TIMES IN ORDER TO TEST ALL 36 BITS.
14309 011735 SN=SN+1
14310 002000 000000 ZZ=ZZ+ZZ
14311 IFE ZZ,<ZZ=1>
14312 037325 200 00 0 00 070320 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
14313 037326 274 00 0 00 070320 SUB [ZZ] ;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
14314 037327 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
14315 STOP^
14316 037330 254 04 0 00 037331 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14317 037331 324 00 0 00 037332 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14318 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14319 ;IN THE SUBTEST) TO LOOP ON ERROR^
14320
14321 ;**********
14322
14323 ;THIS TEST VERIFIES THAT IF A RIPPLED ONE
14324 ;IS SUBTRACTED FROM ITSELF, THE RESULT IS
14325 ;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
14326 ;TIMES IN ORDER TO TEST ALL 36 BITS.
14327 011736 SN=SN+1
14328 004000 000000 ZZ=ZZ+ZZ
14329 IFE ZZ,<ZZ=1>
14330 037332 200 00 0 00 070321 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
14331 037333 274 00 0 00 070321 SUB [ZZ] ;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
14332 037334 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 12-11
DFKAA2 MAC 25-AUG-75 13:56 TEST OF SUB AND COMPARE INSTRUCTIONS SEQ 0309
14333 STOP^
14334 037335 254 04 0 00 037336 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14335 037336 324 00 0 00 037337 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14336 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14337 ;IN THE SUBTEST) TO LOOP ON ERROR^
14338
14339 ;**********
14340
14341 ;THIS TEST VERIFIES THAT IF A RIPPLED ONE
14342 ;IS SUBTRACTED FROM ITSELF, THE RESULT IS
14343 ;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
14344 ;TIMES IN ORDER TO TEST ALL 36 BITS.
14345 011737 SN=SN+1
14346 010000 000000 ZZ=ZZ+ZZ
14347 IFE ZZ,<ZZ=1>
14348 037337 200 00 0 00 070322 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
14349 037340 274 00 0 00 070322 SUB [ZZ] ;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
14350 037341 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
14351 STOP^
14352 037342 254 04 0 00 037343 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14353 037343 324 00 0 00 037344 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14354 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14355 ;IN THE SUBTEST) TO LOOP ON ERROR^
14356
14357 ;**********
14358
14359 ;THIS TEST VERIFIES THAT IF A RIPPLED ONE
14360 ;IS SUBTRACTED FROM ITSELF, THE RESULT IS
14361 ;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
14362 ;TIMES IN ORDER TO TEST ALL 36 BITS.
14363 011740 SN=SN+1
14364 020000 000000 ZZ=ZZ+ZZ
14365 IFE ZZ,<ZZ=1>
14366 037344 200 00 0 00 070323 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
14367 037345 274 00 0 00 070323 SUB [ZZ] ;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
14368 037346 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
14369 STOP^
14370 037347 254 04 0 00 037350 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14371 037350 324 00 0 00 037351 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14372 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14373 ;IN THE SUBTEST) TO LOOP ON ERROR^
14374
14375 ;**********
14376
14377 ;THIS TEST VERIFIES THAT IF A RIPPLED ONE
14378 ;IS SUBTRACTED FROM ITSELF, THE RESULT IS
14379 ;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
14380 ;TIMES IN ORDER TO TEST ALL 36 BITS.
14381 011741 SN=SN+1
14382 040000 000000 ZZ=ZZ+ZZ
14383 IFE ZZ,<ZZ=1>
14384 037351 200 00 0 00 070324 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
14385 037352 274 00 0 00 070324 SUB [ZZ] ;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
14386 037353 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
14387 STOP^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 12-12
DFKAA2 MAC 25-AUG-75 13:56 TEST OF SUB AND COMPARE INSTRUCTIONS SEQ 0310
14388 037354 254 04 0 00 037355 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14389 037355 324 00 0 00 037356 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14390 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14391 ;IN THE SUBTEST) TO LOOP ON ERROR^
14392
14393 ;**********
14394
14395 ;THIS TEST VERIFIES THAT IF A RIPPLED ONE
14396 ;IS SUBTRACTED FROM ITSELF, THE RESULT IS
14397 ;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
14398 ;TIMES IN ORDER TO TEST ALL 36 BITS.
14399 011742 SN=SN+1
14400 100000 000000 ZZ=ZZ+ZZ
14401 IFE ZZ,<ZZ=1>
14402 037356 200 00 0 00 070325 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
14403 037357 274 00 0 00 070325 SUB [ZZ] ;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
14404 037360 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
14405 STOP^
14406 037361 254 04 0 00 037362 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14407 037362 324 00 0 00 037363 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14408 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14409 ;IN THE SUBTEST) TO LOOP ON ERROR^
14410
14411 ;**********
14412
14413 ;THIS TEST VERIFIES THAT IF A RIPPLED ONE
14414 ;IS SUBTRACTED FROM ITSELF, THE RESULT IS
14415 ;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
14416 ;TIMES IN ORDER TO TEST ALL 36 BITS.
14417 011743 SN=SN+1
14418 200000 000000 ZZ=ZZ+ZZ
14419 IFE ZZ,<ZZ=1>
14420 037363 200 00 0 00 070326 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
14421 037364 274 00 0 00 070326 SUB [ZZ] ;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
14422 037365 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
14423 STOP^
14424 037366 254 04 0 00 037367 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14425 037367 324 00 0 00 037370 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14426 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14427 ;IN THE SUBTEST) TO LOOP ON ERROR^
14428
14429 ;**********
14430
14431 ;THIS TEST VERIFIES THAT IF A RIPPLED ONE
14432 ;IS SUBTRACTED FROM ITSELF, THE RESULT IS
14433 ;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
14434 ;TIMES IN ORDER TO TEST ALL 36 BITS.
14435 011744 SN=SN+1
14436 400000 000000 ZZ=ZZ+ZZ
14437 IFE ZZ,<ZZ=1>
14438 037370 200 00 0 00 070256 MOVE [ZZ] ;LOAD AC WITH A FLOATING ONE
14439 037371 274 00 0 00 070256 SUB [ZZ] ;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
14440 037372 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
14441 STOP^
14442 037373 254 04 0 00 037374 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 12-13
DFKAA2 MAC 25-AUG-75 13:56 TEST OF SUB AND COMPARE INSTRUCTIONS SEQ 0311
14443 037374 324 00 0 00 037375 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14444 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14445 ;IN THE SUBTEST) TO LOOP ON ERROR^
14446
14447 ;**********
14448
14449 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 12-14
DFKAA2 MAC 25-AUG-75 13:56 TEST OF SUB AND COMPARE INSTRUCTIONS SEQ 0312
14450 ;THIS TEST VERIFIES THAT IF A WORD OF ALL
14451 ;ONES IS SUBTRACTED FROM ITSELF, THE RESULT
14452 ;IN THE AC IS ZERO.
14453
14454 037375 200 00 0 00 070254 A12000: MOVE [-1] ;PRESET AC TO ALL ONES
14455 037376 274 00 0 00 070254 SUB [-1] ;*SUB OF -1 FROM ITSELF SHOULD RESULT IN C(AC)=0
14456 037377 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
14457 STOP^
14458 037400 254 04 0 00 037401 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14459 037401 324 00 0 00 037402 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14460 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14461 ;IN THE SUBTEST) TO LOOP ON ERROR^
14462
14463 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 13
DFKAA2 MAC 25-AUG-75 13:56 TEST OF SUB AND COMPARE INSTRUCTIONS SEQ 0313
14464 ;THIS TEST VERIFIES THAT CAMA ALWAYS SKIPS THE
14465 ;NEXT INSTRUCTION INDEPENDENT OF THE DATA WITH AC
14466 ;AND E. THIS TEST FAILS IF CAMA DOES NOT SKIP ALWAYS.
14467
14468 037402 200 00 0 00 070253 A12100: MOVE [0] ;PRESET AC, E TO ZERO
14469 037403 314 00 0 00 000000 CAMA ;*CAMA SHOULD ALWAYS SKIP THE NEXT INSTRUCTION,
14470 ;OTHERWISE THIS TEST FAILS
14471 STOP^
14472 037404 254 04 0 00 037405 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14473 037405 324 00 0 00 037406 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14474 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14475 ;IN THE SUBTEST) TO LOOP ON ERROR^
14476
14477 ;ET0 [E], ET0 EN[E], IR CAXX[IR3], AD CRY 3C[ADCR],
14478 ;FCYC ACT EN D [ADCR], AD CRY 36 F/F'S [ADCR],
14479 ;PC CLOCK EN [PCC], ET0 C F/F[E], IR CAXX[IR3],
14480 ;ADZ COND P[ADZ] AND ADZ COND Z[ADZ]
14481
14482 ;**********
14483
14484 ;THIS TEST VERIFIES THAT CAME IS DATA SENSITIVE.
14485 ;IT SKIPS THE NEXT INSTRUCTION IF AND ONLY
14486 ;IF C(AC)=C(E). IN THIS TEST AC=E=0 AND
14487 ;C(AC)=C(E)=0. HENCE, CAME MUST
14488 ;SKIP THE NEXT INSTRUCTION
14489 ;IN THIS TEST
14490
14491 037406 200 00 0 00 070253 A12200: MOVE [0] ;PRESET AC, E TO ZERO
14492 037407 312 00 0 00 000000 CAME ;*CAME SHOULD SKIP SINCE E=AC
14493 STOP^
14494 037410 254 04 0 00 037411 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14495 037411 324 00 0 00 037412 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14496 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14497 ;IN THE SUBTEST) TO LOOP ON ERROR^
14498
14499 ;AD FM + EN [ADFP], F CXC ACT ENC[F1], IRCAXX[IR3]
14500
14501 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 14
DFKAA2 MAC 25-AUG-75 13:56 TEST OF SUB AND COMPARE INSTRUCTIONS SEQ 0314
14502 ;THIS TEST VERIFIES THAT CAME IS DATA SENSITIVE
14503 ;IT SKIPS THE NEXT INSTRUCTION OF AND ONLY IF
14504 ;C(AC)=C(E). IN THIS TEST C(AC)=C(E)=0;
14505 ;BUT, E IS NOT WITHIN THE AC RANGE.
14506 ;HENCE, CAME MUST SKIP
14507 ;THE NEXT INSTRUCTION IN THIS TEST.
14508
14509 037412 200 00 0 00 070253 A12300: MOVE [0] ;*CAME SHOULD SKIP WHEN C(AC)=C(E)=0
14510 037413 312 00 0 00 070253 CAME [0]
14511 STOP^
14512 037414 254 04 0 00 037415 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14513 037415 324 00 0 00 037416 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14514 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14515 ;IN THE SUBTEST) TO LOOP ON ERROR^
14516
14517 ;CAMX: FCE[F1], IR CAMX[IR1]
14518
14519 ;**********
14520
14521 ;THIS TEST VERIFIES THAT CAME IS DATA SENSITIVE.
14522 ;IT SKIPS THE NEXT INSTRUCTION IF AND ONLY IF
14523 ;C(AC)=C(E). IN THIS TEST C(AC)=0 AND
14524 ;C(E)=-1. HENCE, CAME SHOULD NOT
14525 ;SKIP THE NEXT INSTRUCTION IN THIS TEST.
14526
14527 037416 200 00 0 00 070253 A12400: MOVE [0] ;PRESET AC TO ZERO
14528 037417 312 00 0 00 070254 CAME [-1] ;*CAME SHOULD NOT SKIP BECAUSE C(AC)=0 ANDC(E)=-
14529 037420 334 00 0 00 000000 SKIPA ;SKIP HALT INSTRUCTION IF CAME PASSES TEST
14530 STOP^
14531 037421 254 04 0 00 037422 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14532 037422 324 00 0 00 037423 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14533 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14534 ;IN THE SUBTEST) TO LOOP ON ERROR^
14535
14536 ;AD AR- EN [ADAM], IR CAXX [IR3], F CYC ACT EN B [F1],
14537 ;AD AR- F/F'S [ADAM], AD ADD [ADC1], AD FM + FETCH EN A [ADFP],
14538 ;F CYC ACT EN A [F1], AD ADD EN C [ADC1], AD ADD F/F'S [ADC1]
14539
14540 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 15
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0315
14541 SUBTTL TEST OF COMPARE (CAMX) INSTRUCTIONS
14542
14543 ;**********
14544
14545 ;THIS TEST VERIFIES THAT CAML SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
14546 ;ONLY WHEN C(AC) IS LESS THAN C(E).
14547 ;IN THIS TEST, C(AC)=-1 AND C(E)=0; HENCE, CAML SHOULD SKIP. OTHERWISE,THE
14548 ;PROGRAM HALTS.
14549
14550 037423 200 00 0 00 070254 B100: MOVE [-1] ;PRELOAD AC WITH -1
14551 037424 311 00 0 00 070253 CAML [0] ;*CAML SHOULD SKIP BECAUSE C(AC) IS LESS THAN C(E)
14552 STOP^
14553 037425 254 04 0 00 037426 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14554 037426 324 00 0 00 037427 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14555 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14556 ;IN THE SUBTEST) TO LOOP ON ERROR^
14557
14558 ;***** FAILURE ANALYSIS *****
14559 ;C(AC0) C(AC1) FAILING SIGNAL
14560
14561 ; FC: AB PC EN
14562 ; ET0: COND Q: PC CLK EN
14563
14564 ;**********
14565
14566 ;THIS TEST VERIFIES THAT CAML SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
14567 ;ONLY WHEN C(AC) IS LESS THAN C(E).
14568 ;IN THIS CASE, C(AC)=0 AND C(E)=-1; HENCE, CAML SHOULD NOT SKIP. OTHERWISE,
14569 ;THE PROGRAM HALTS.
14570
14571 037427 200 00 0 00 070253 B200: MOVE [0] ;PRELOAD AC WITH 0
14572 037430 311 00 0 00 070254 CAML [-1] ;*CAML SHOULD NOT SKIP BECAUSE
14573 ;C(AC) IS GREATER THAN C(E)
14574 037431 334 00 0 00 000000 SKIPA ;SKIP HALT INSTRUCTION IF CAML PASSES
14575 STOP^
14576 037432 254 04 0 00 037433 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14577 037433 324 00 0 00 037434 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14578 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14579 ;IN THE SUBTEST) TO LOOP ON ERROR^
14580
14581 ;***** FAILURE ANALYSIS *****
14582 ;C(AC0) C(AC1) FAILING SIGNAL
14583
14584 ; SW: FCE
14585 ; FC: PC CHANGE
14586
14587 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 16
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0316
14588 ;THIS TEST VERIFIES THAT CAML SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
14589 ;ONLY WHEN C(AC) IS LESS THAN C(E).
14590 ;IN THIS CASE, C(AC)=400000,,0 (THE MOST
14591 ;NEGATIVE NUMBER) AND C(E)=377777,,-1
14592 ;(THE MOST POSITIVE NUMBER); HENCE,
14593 ;CAML SHOULD SKIP. OTHERWISE, THE
14594 ;PROGRAM HALTS
14595
14596 037434 200 00 0 00 070256 B300: MOVE [XWD 400000,0] ;PRELOAD AC WITH 400000,,0
14597 037435 311 00 0 00 070255 CAML [XWD 377777,-1] ;*CAML SHOULD SKIP BECAUSE C(AC) IS LESS THAN C(E)
14598 STOP^
14599 037436 254 04 0 00 037437 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14600 037437 324 00 0 00 037440 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14601 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14602 ;IN THE SUBTEST) TO LOOP ON ERROR^
14603
14604 ;***** FAILURE ANALYSIS *****
14605 ;C(AC0) C(AC1) FAILING SIGNAL
14606
14607 ; FC: AD ADD
14608
14609 ;**********
14610
14611 ;THIS TEST VERIFIES THAT CAML SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
14612 ;ONLY WHEN C(AC) IS LESS THAN C(E).
14613 ;IN THIS CASE, C(AC)=377777,,-1 (THE MOST POSITIVE NUMBER) AND C(E)=400000,,0 (THE MOST NEG
14614 ATIVE NUMBER)
14615 ;HENCE, CAML SHOULD NOT SKIP. OTHERWISE, THE PROGRAM HALTS.
14616
14617 037440 200 00 0 00 070255 B400: MOVE [XWD 377777,-1] ;PRELOAD AC WITH 377777,,-1
14618 037441 311 00 0 00 070256 CAML [XWD 400000,0] ;*CAML SHOULD NOT SKIP BECAUSE
14619 ;C(AC) IS GREATER THAN C(E)
14620 037442 334 00 0 00 000000 SKIPA ;SKIP HALT INSTRUCTION IF CAML PASSES
14621 STOP^
14622 037443 254 04 0 00 037444 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14623 037444 324 00 0 00 037445 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14624 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14625 ;IN THE SUBTEST) TO LOOP ON ERROR^
14626
14627 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 17
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0317
14628 ;THIS TEST VERIFIES THAT CAML SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
14629 ;ONLY WHEN C(AC) IS LESS THAN C(E).
14630 ;IN THIS CASE, C(AC)=400000,,0 (THE MOST NEGTIVE NUMBER) AND C(E)=-1;
14631 ;HENCE, CAML SHOULD SKIP. OTHERWISE, THE PROGRAM HALTS
14632
14633 037445 200 00 0 00 070256 B500: MOVE [XWD 400000,0] ;PRELOAD AC WITH 400000,,0
14634 037446 311 00 0 00 070254 CAML [-1] ;*CAML SHOULD SKIP BECAUSE C(AC) IS LESS THAN C(E)
14635 STOP^
14636 037447 254 04 0 00 037450 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14637 037450 324 00 0 00 037451 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14638 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14639 ;IN THE SUBTEST) TO LOOP ON ERROR^
14640
14641 ;***** FAILURE ANALYSIS *****
14642 ;C(AC0) C(AC1) FAILING SIGNAL
14643
14644 ; FC: AD FM + EN
14645
14646 ;**********
14647
14648 ;THIS TEST VERIFIES THAT CAML SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
14649 ;ONLY WHEN C(AC) IS LESS THAN C(E).
14650 ;IN THIS CASE, C(AC)=0 AND C(E)=-1 ;HENCE, CAML SHOULD NOT SKIP. OTHERWISE,
14651 ;THE PROGRAM HALTS.
14652
14653 037451 400 00 0 00 000000 B600: SETZ ;PRELOAD AC WITH 0
14654 037452 311 00 0 00 070254 CAML [-1] ;*CAML SHOULD NOT SKIP BECAUSE
14655 ;C(AC) IS GREATER THAN C(E)
14656 037453 334 00 0 00 000000 SKIPA ;SKIP HALT INSTRUCTION IF CAML PASSES.
14657 STOP^
14658 037454 254 04 0 00 037455 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14659 037455 324 00 0 00 037456 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14660 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14661 ;IN THE SUBTEST) TO LOOP ON ERROR^
14662
14663 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 18
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0318
14664 ;THIS TEST VERIFIES THAT CAML SKIPS THE NEXT INSTRUCTION WHEN AND
14665 ;ONLY WHEN C(AC) IS LESS THAN C(E).
14666 ;IN THIS CASE, C(AC)=0 AND C(E)=0 ;HENCE, CAML SHOULD NOT SKIP. OTHERWISE,
14667 ;THE PROGRAM HALTS.
14668
14669 037456 400 00 0 00 000000 B700: SETZ ;PRELOAD AS WITH 0
14670 037457 311 00 0 00 070253 CAML [0] ;*CAML SHOULD NOT SKIP BECAUSE C(AC)=C(E)
14671 037460 334 00 0 00 000000 SKIPA ;SKIP HALT INSTRUCTION IF CAML PASSES
14672 STOP^
14673 037461 254 04 0 00 037462 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14674 037462 324 00 0 00 037463 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14675 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14676 ;IN THE SUBTEST) TO LOOP ON ERROR^
14677
14678 ;***** FAILURE ANALYSIS *****
14679 ;C(AC0) C(AC1) FAILING SIGNAL
14680
14681 ; FC: AD CRY 36
14682
14683 ;**********
14684
14685 ;THIS TEST VERIFIES THAT CAML SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
14686 ;ONLY WHEN C(AC) IS LESS THAN C(E).
14687 ;IN THIS CASE, C(AC)=0 AND C(E)=400000,,O (THE MOST NEGATIVE NUMBER);
14688 ;HENCE CAML SHOULD NOT SKIP. OTHERWISE, THE PROGRAM HALTS.
14689
14690 037463 400 00 0 00 000000 B1000: SETZ ;PRELOAD AC WITH 0
14691 037464 311 00 0 00 070256 CAML [XWD 400000,0] ;*CAML SHOULD NOT SKIP BECAUSE
14692 ;C(AC) IS GREATER THAN C(E)
14693 037465 334 00 0 00 000000 SKIPA ;SKIP HALT INSTRUCTION IF CAML PASSES
14694 STOP^
14695 037466 254 04 0 00 037467 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14696 037467 324 00 0 00 037470 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14697 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14698 ;IN THE SUBTEST) TO LOOP ON ERROR^
14699
14700 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 19
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0319
14701 ;THIS TEST VERIFIES THAT CAM IS DATA INDEPENDENT. IT NEVER SKIPS
14702 ;THE NEXT SEQUENTIAL INSTRUCTION
14703 ;IN THIS CASE, C(AC)=-1 AND C(E)=0
14704 ;IF IT DOES SKIP THE NEXT INSTRUCTION, THE PROGRAM HALTS
14705
14706 037470 200 00 0 00 070254 B1100: MOVE [-1] ;PRELOAD AC WITH -1
14707 037471 310 00 0 00 070253 CAM [0] ;*CAM SHOULD NEVER SKIP
14708 037472 334 00 0 00 000000 SKIPA ;SKIP HALT INSTRUCTION IF CAM PASSES
14709 STOP^
14710 037473 254 04 0 00 037474 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14711 037474 324 00 0 00 037475 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14712 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14713 ;IN THE SUBTEST) TO LOOP ON ERROR^
14714
14715 ;**********
14716
14717 ;THIS TEST VERIFIES THAT CAMGE SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
14718 ;ONLY WHEN C(AC) IS GREATER THAN OR EQUAL TO C(E).
14719 ;IN THIS CASE, C(AC)=-1 AND C(E)=0; HENCE, CAMGE SHOULD NOT SKIP.
14720 ;OTHERWISE, THE PROGRAM HALTS.
14721
14722 037475 200 00 0 00 070254 B1200: MOVE [-1] ;PRELOAD AC WITH-1
14723 037476 315 00 0 00 070253 CAMGE [0] ;*CAMGE SHOULD NOT SKIP BECAUSE C(AC) IS LESS THAN C(E)
14724 037477 334 00 0 00 000000 SKIPA ;SKIP HALT INSTRUCTION IF CAMGE PASSES.
14725 STOP^
14726 037500 254 04 0 00 037501 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14727 037501 324 00 0 00 037502 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14728 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14729 ;IN THE SUBTEST) TO LOOP ON ERROR^
14730
14731 ;***** FAILURE ANALYSIS *****
14732 ;C(AC0) C(AC1) FAILING SIGNAL
14733
14734 ; FC: PC CHANGE
14735 ; FC: AB PC EN
14736
14737 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 20
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0320
14738 ;THIS TEST VERIFIES THAT CAMGE SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
14739 ;ONLY WHEN C(AC) IS GREATER THAN OR EQUAL TO C(E)
14740 ;IN THIS CASE, C(AC)=0 AND C(E)=-1; HENCE CAMGE SHOULD SKIP.
14741 ;OTHEWISE, THE PROGRAM HALTS.
14742
14743 037502 400 00 0 00 000000 B1300: SETZ ;PRELOAD AC WITH 0
14744 037503 315 00 0 00 070254 CAMGE [-1] ;*CAMGE SHOULD SKIP BECAUSE C(AC) IS GREATER THAN C(E)
14745 STOP^
14746 037504 254 04 0 00 037505 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14747 037505 324 00 0 00 037506 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14748 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14749 ;IN THE SUBTEST) TO LOOP ON ERROR^
14750
14751 ;***** FAILURE ANALYSIS *****
14752 ;C(AC0) C(AC1) FAILING SIGNAL
14753
14754 ; SW: FCE
14755 ; ET0: COND Q: PC CLK EN
14756
14757 ;**********
14758
14759 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
14760 ;ONLY WHEN C(AC) IS NOT EQUAL TO C(E)
14761 ;IN THIS CASE C(AC)=0 AND C(E)=-1; HENCE CAMN SHOULD SKIP.
14762 ;OTHERWISE, THE PROGRAM HALTS
14763
14764 037506 400 00 0 00 000000 B1400: SETZ ;PRELOAD AC WITH 0
14765 037507 316 00 0 00 070254 CAMN [-1] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
14766 STOP^
14767 037510 254 04 0 00 037511 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14768 037511 324 00 0 00 037512 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14769 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14770 ;IN THE SUBTEST) TO LOOP ON ERROR^
14771
14772 ;***** FAILURE ANALYSIS *****
14773 ;C(AC0) C(AC1) FAILING SIGNAL
14774
14775 ; FC:AD FM + EN
14776 ; FC: AD AR - EN
14777 ; FC: AD CRY 36
14778 ; FC: AD ADD
14779 ; FC: AB PC EN
14780 ; ET0: PC CLK EN
14781
14782 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 21
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0321
14783 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
14784 ;ONLY WHEN C(AC) IS NOT EQUAL TO C(E)
14785 ;IN THIS CASE, C(AC)=0 AND C(E)=0; HENCE CAMN SHOULD NOT SKIP.
14786 ;OTHERWISE, THE PROGRAM HALTS
14787
14788 037512 400 00 0 00 000000 B1500: SETZ ;PRELOAD AC WITH 0
14789 037513 316 00 0 00 070253 CAMN [0] ;*CAMN SHOULD NOT SKIP BECAUSE C(AC)=C(E).
14790 037514 334 00 0 00 000000 SKIPA ;SKIP HALT INSTRUCTION IF CAMN PASSES
14791 STOP^
14792 037515 254 04 0 00 037516 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14793 037516 324 00 0 00 037517 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14794 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14795 ;IN THE SUBTEST) TO LOOP ON ERROR^
14796
14797 ;***** FAILURE ANALYSIS *****
14798 ;C(AC0) C(AC1) FAILING SIGNAL
14799
14800 ; SW: FCE
14801 ; FC: PC CHANGE
14802
14803 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 22
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0322
14804 001600 SN=1600
14805 000000 ZZ=0
14806
14807 B1600: REPEAT ^D18,<
14808 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
14809 ;WHEN C(AC) IS NOT EQUAL TO C(E). IT ALSO VERIFIES THAT CAME
14810 ;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
14811 ;C(AC)=C(E). IN BOTH CASES AC=E; HENCE, C(AC)=C(E)
14812 ;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
14813 ;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
14814
14815 SN=SN+1
14816 ZZ=ZZ+ZZ
14817 IFE ZZ,<ZZ=1>
14818 MOVE [XWD ZZ] ;PRELOAD AC,E WITH A FLOATING 1
14819 CAMN ;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)
14820 CAME ;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)
14821 STOP
14822
14823 ;***** FAILURE ANALYSIS *****
14824 ;C(AC0) C(AC1) FAILING SIGNAL
14825
14826 ; ET0: COND P
14827
14828 ;**********
14829 >
14830
14831 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
14832 ;WHEN C(AC) IS NOT EQUAL TO C(E). IT ALSO VERIFIES THAT CAME
14833 ;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
14834 ;C(AC)=C(E). IN BOTH CASES AC=E; HENCE, C(AC)=C(E)
14835 ;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
14836 ;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
14837
14838 001601 SN=SN+1
14839 000000 ZZ=ZZ+ZZ
14840 000001 IFE ZZ,<ZZ=1>
14841 037517 200 00 0 00 070265 MOVE [XWD ZZ] ;PRELOAD AC,E WITH A FLOATING 1
14842 037520 316 00 0 00 000000 CAMN ;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)
14843 037521 312 00 0 00 000000 CAME ;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)
14844 STOP^
14845 037522 254 04 0 00 037523 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14846 037523 324 00 0 00 037524 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14847 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14848 ;IN THE SUBTEST) TO LOOP ON ERROR^
14849
14850 ;***** FAILURE ANALYSIS *****
14851 ;C(AC0) C(AC1) FAILING SIGNAL
14852
14853 ; ET0: COND P
14854
14855 ;**********
14856
14857
14858 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 22-1
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0323
14859 ;WHEN C(AC) IS NOT EQUAL TO C(E). IT ALSO VERIFIES THAT CAME
14860 ;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
14861 ;C(AC)=C(E). IN BOTH CASES AC=E; HENCE, C(AC)=C(E)
14862 ;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
14863 ;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
14864
14865 001602 SN=SN+1
14866 000002 ZZ=ZZ+ZZ
14867 IFE ZZ,<ZZ=1>
14868 037524 200 00 0 00 070266 MOVE [XWD ZZ] ;PRELOAD AC,E WITH A FLOATING 1
14869 037525 316 00 0 00 000000 CAMN ;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)
14870 037526 312 00 0 00 000000 CAME ;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)
14871 STOP^
14872 037527 254 04 0 00 037530 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14873 037530 324 00 0 00 037531 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14874 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14875 ;IN THE SUBTEST) TO LOOP ON ERROR^
14876
14877 ;***** FAILURE ANALYSIS *****
14878 ;C(AC0) C(AC1) FAILING SIGNAL
14879
14880 ; ET0: COND P
14881
14882 ;**********
14883
14884
14885 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
14886 ;WHEN C(AC) IS NOT EQUAL TO C(E). IT ALSO VERIFIES THAT CAME
14887 ;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
14888 ;C(AC)=C(E). IN BOTH CASES AC=E; HENCE, C(AC)=C(E)
14889 ;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
14890 ;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
14891
14892 001603 SN=SN+1
14893 000004 ZZ=ZZ+ZZ
14894 IFE ZZ,<ZZ=1>
14895 037531 200 00 0 00 070267 MOVE [XWD ZZ] ;PRELOAD AC,E WITH A FLOATING 1
14896 037532 316 00 0 00 000000 CAMN ;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)
14897 037533 312 00 0 00 000000 CAME ;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)
14898 STOP^
14899 037534 254 04 0 00 037535 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14900 037535 324 00 0 00 037536 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14901 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14902 ;IN THE SUBTEST) TO LOOP ON ERROR^
14903
14904 ;***** FAILURE ANALYSIS *****
14905 ;C(AC0) C(AC1) FAILING SIGNAL
14906
14907 ; ET0: COND P
14908
14909 ;**********
14910
14911
14912 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
14913 ;WHEN C(AC) IS NOT EQUAL TO C(E). IT ALSO VERIFIES THAT CAME
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 22-2
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0324
14914 ;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
14915 ;C(AC)=C(E). IN BOTH CASES AC=E; HENCE, C(AC)=C(E)
14916 ;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
14917 ;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
14918
14919 001604 SN=SN+1
14920 000010 ZZ=ZZ+ZZ
14921 IFE ZZ,<ZZ=1>
14922 037536 200 00 0 00 070270 MOVE [XWD ZZ] ;PRELOAD AC,E WITH A FLOATING 1
14923 037537 316 00 0 00 000000 CAMN ;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)
14924 037540 312 00 0 00 000000 CAME ;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)
14925 STOP^
14926 037541 254 04 0 00 037542 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14927 037542 324 00 0 00 037543 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14928 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14929 ;IN THE SUBTEST) TO LOOP ON ERROR^
14930
14931 ;***** FAILURE ANALYSIS *****
14932 ;C(AC0) C(AC1) FAILING SIGNAL
14933
14934 ; ET0: COND P
14935
14936 ;**********
14937
14938
14939 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
14940 ;WHEN C(AC) IS NOT EQUAL TO C(E). IT ALSO VERIFIES THAT CAME
14941 ;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
14942 ;C(AC)=C(E). IN BOTH CASES AC=E; HENCE, C(AC)=C(E)
14943 ;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
14944 ;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
14945
14946 001605 SN=SN+1
14947 000020 ZZ=ZZ+ZZ
14948 IFE ZZ,<ZZ=1>
14949 037543 200 00 0 00 070271 MOVE [XWD ZZ] ;PRELOAD AC,E WITH A FLOATING 1
14950 037544 316 00 0 00 000000 CAMN ;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)
14951 037545 312 00 0 00 000000 CAME ;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)
14952 STOP^
14953 037546 254 04 0 00 037547 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14954 037547 324 00 0 00 037550 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14955 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14956 ;IN THE SUBTEST) TO LOOP ON ERROR^
14957
14958 ;***** FAILURE ANALYSIS *****
14959 ;C(AC0) C(AC1) FAILING SIGNAL
14960
14961 ; ET0: COND P
14962
14963 ;**********
14964
14965
14966 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
14967 ;WHEN C(AC) IS NOT EQUAL TO C(E). IT ALSO VERIFIES THAT CAME
14968 ;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 22-3
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0325
14969 ;C(AC)=C(E). IN BOTH CASES AC=E; HENCE, C(AC)=C(E)
14970 ;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
14971 ;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
14972
14973 001606 SN=SN+1
14974 000040 ZZ=ZZ+ZZ
14975 IFE ZZ,<ZZ=1>
14976 037550 200 00 0 00 070272 MOVE [XWD ZZ] ;PRELOAD AC,E WITH A FLOATING 1
14977 037551 316 00 0 00 000000 CAMN ;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)
14978 037552 312 00 0 00 000000 CAME ;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)
14979 STOP^
14980 037553 254 04 0 00 037554 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
14981 037554 324 00 0 00 037555 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
14982 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
14983 ;IN THE SUBTEST) TO LOOP ON ERROR^
14984
14985 ;***** FAILURE ANALYSIS *****
14986 ;C(AC0) C(AC1) FAILING SIGNAL
14987
14988 ; ET0: COND P
14989
14990 ;**********
14991
14992
14993 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
14994 ;WHEN C(AC) IS NOT EQUAL TO C(E). IT ALSO VERIFIES THAT CAME
14995 ;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
14996 ;C(AC)=C(E). IN BOTH CASES AC=E; HENCE, C(AC)=C(E)
14997 ;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
14998 ;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
14999
15000 001607 SN=SN+1
15001 000100 ZZ=ZZ+ZZ
15002 IFE ZZ,<ZZ=1>
15003 037555 200 00 0 00 070273 MOVE [XWD ZZ] ;PRELOAD AC,E WITH A FLOATING 1
15004 037556 316 00 0 00 000000 CAMN ;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)
15005 037557 312 00 0 00 000000 CAME ;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)
15006 STOP^
15007 037560 254 04 0 00 037561 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
15008 037561 324 00 0 00 037562 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
15009 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
15010 ;IN THE SUBTEST) TO LOOP ON ERROR^
15011
15012 ;***** FAILURE ANALYSIS *****
15013 ;C(AC0) C(AC1) FAILING SIGNAL
15014
15015 ; ET0: COND P
15016
15017 ;**********
15018
15019
15020 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
15021 ;WHEN C(AC) IS NOT EQUAL TO C(E). IT ALSO VERIFIES THAT CAME
15022 ;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
15023 ;C(AC)=C(E). IN BOTH CASES AC=E; HENCE, C(AC)=C(E)
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 22-4
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0326
15024 ;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
15025 ;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
15026
15027 001610 SN=SN+1
15028 000200 ZZ=ZZ+ZZ
15029 IFE ZZ,<ZZ=1>
15030 037562 200 00 0 00 070274 MOVE [XWD ZZ] ;PRELOAD AC,E WITH A FLOATING 1
15031 037563 316 00 0 00 000000 CAMN ;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)
15032 037564 312 00 0 00 000000 CAME ;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)
15033 STOP^
15034 037565 254 04 0 00 037566 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
15035 037566 324 00 0 00 037567 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
15036 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
15037 ;IN THE SUBTEST) TO LOOP ON ERROR^
15038
15039 ;***** FAILURE ANALYSIS *****
15040 ;C(AC0) C(AC1) FAILING SIGNAL
15041
15042 ; ET0: COND P
15043
15044 ;**********
15045
15046
15047 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
15048 ;WHEN C(AC) IS NOT EQUAL TO C(E). IT ALSO VERIFIES THAT CAME
15049 ;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
15050 ;C(AC)=C(E). IN BOTH CASES AC=E; HENCE, C(AC)=C(E)
15051 ;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
15052 ;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
15053
15054 001611 SN=SN+1
15055 000400 ZZ=ZZ+ZZ
15056 IFE ZZ,<ZZ=1>
15057 037567 200 00 0 00 070275 MOVE [XWD ZZ] ;PRELOAD AC,E WITH A FLOATING 1
15058 037570 316 00 0 00 000000 CAMN ;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)
15059 037571 312 00 0 00 000000 CAME ;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)
15060 STOP^
15061 037572 254 04 0 00 037573 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
15062 037573 324 00 0 00 037574 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
15063 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
15064 ;IN THE SUBTEST) TO LOOP ON ERROR^
15065
15066 ;***** FAILURE ANALYSIS *****
15067 ;C(AC0) C(AC1) FAILING SIGNAL
15068
15069 ; ET0: COND P
15070
15071 ;**********
15072
15073
15074 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
15075 ;WHEN C(AC) IS NOT EQUAL TO C(E). IT ALSO VERIFIES THAT CAME
15076 ;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
15077 ;C(AC)=C(E). IN BOTH CASES AC=E; HENCE, C(AC)=C(E)
15078 ;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 22-5
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0327
15079 ;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
15080
15081 001612 SN=SN+1
15082 001000 ZZ=ZZ+ZZ
15083 IFE ZZ,<ZZ=1>
15084 037574 200 00 0 00 070276 MOVE [XWD ZZ] ;PRELOAD AC,E WITH A FLOATING 1
15085 037575 316 00 0 00 000000 CAMN ;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)
15086 037576 312 00 0 00 000000 CAME ;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)
15087 STOP^
15088 037577 254 04 0 00 037600 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
15089 037600 324 00 0 00 037601 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
15090 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
15091 ;IN THE SUBTEST) TO LOOP ON ERROR^
15092
15093 ;***** FAILURE ANALYSIS *****
15094 ;C(AC0) C(AC1) FAILING SIGNAL
15095
15096 ; ET0: COND P
15097
15098 ;**********
15099
15100
15101 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
15102 ;WHEN C(AC) IS NOT EQUAL TO C(E). IT ALSO VERIFIES THAT CAME
15103 ;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
15104 ;C(AC)=C(E). IN BOTH CASES AC=E; HENCE, C(AC)=C(E)
15105 ;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
15106 ;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
15107
15108 001613 SN=SN+1
15109 002000 ZZ=ZZ+ZZ
15110 IFE ZZ,<ZZ=1>
15111 037601 200 00 0 00 070277 MOVE [XWD ZZ] ;PRELOAD AC,E WITH A FLOATING 1
15112 037602 316 00 0 00 000000 CAMN ;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)
15113 037603 312 00 0 00 000000 CAME ;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)
15114 STOP^
15115 037604 254 04 0 00 037605 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
15116 037605 324 00 0 00 037606 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
15117 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
15118 ;IN THE SUBTEST) TO LOOP ON ERROR^
15119
15120 ;***** FAILURE ANALYSIS *****
15121 ;C(AC0) C(AC1) FAILING SIGNAL
15122
15123 ; ET0: COND P
15124
15125 ;**********
15126
15127
15128 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
15129 ;WHEN C(AC) IS NOT EQUAL TO C(E). IT ALSO VERIFIES THAT CAME
15130 ;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
15131 ;C(AC)=C(E). IN BOTH CASES AC=E; HENCE, C(AC)=C(E)
15132 ;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
15133 ;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 22-6
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0328
15134
15135 001614 SN=SN+1
15136 004000 ZZ=ZZ+ZZ
15137 IFE ZZ,<ZZ=1>
15138 037606 200 00 0 00 070300 MOVE [XWD ZZ] ;PRELOAD AC,E WITH A FLOATING 1
15139 037607 316 00 0 00 000000 CAMN ;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)
15140 037610 312 00 0 00 000000 CAME ;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)
15141 STOP^
15142 037611 254 04 0 00 037612 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
15143 037612 324 00 0 00 037613 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
15144 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
15145 ;IN THE SUBTEST) TO LOOP ON ERROR^
15146
15147 ;***** FAILURE ANALYSIS *****
15148 ;C(AC0) C(AC1) FAILING SIGNAL
15149
15150 ; ET0: COND P
15151
15152 ;**********
15153
15154
15155 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
15156 ;WHEN C(AC) IS NOT EQUAL TO C(E). IT ALSO VERIFIES THAT CAME
15157 ;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
15158 ;C(AC)=C(E). IN BOTH CASES AC=E; HENCE, C(AC)=C(E)
15159 ;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
15160 ;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
15161
15162 001615 SN=SN+1
15163 010000 ZZ=ZZ+ZZ
15164 IFE ZZ,<ZZ=1>
15165 037613 200 00 0 00 070301 MOVE [XWD ZZ] ;PRELOAD AC,E WITH A FLOATING 1
15166 037614 316 00 0 00 000000 CAMN ;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)
15167 037615 312 00 0 00 000000 CAME ;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)
15168 STOP^
15169 037616 254 04 0 00 037617 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
15170 037617 324 00 0 00 037620 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
15171 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
15172 ;IN THE SUBTEST) TO LOOP ON ERROR^
15173
15174 ;***** FAILURE ANALYSIS *****
15175 ;C(AC0) C(AC1) FAILING SIGNAL
15176
15177 ; ET0: COND P
15178
15179 ;**********
15180
15181
15182 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
15183 ;WHEN C(AC) IS NOT EQUAL TO C(E). IT ALSO VERIFIES THAT CAME
15184 ;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
15185 ;C(AC)=C(E). IN BOTH CASES AC=E; HENCE, C(AC)=C(E)
15186 ;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
15187 ;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
15188
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 22-7
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0329
15189 001616 SN=SN+1
15190 020000 ZZ=ZZ+ZZ
15191 IFE ZZ,<ZZ=1>
15192 037620 200 00 0 00 070302 MOVE [XWD ZZ] ;PRELOAD AC,E WITH A FLOATING 1
15193 037621 316 00 0 00 000000 CAMN ;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)
15194 037622 312 00 0 00 000000 CAME ;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)
15195 STOP^
15196 037623 254 04 0 00 037624 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
15197 037624 324 00 0 00 037625 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
15198 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
15199 ;IN THE SUBTEST) TO LOOP ON ERROR^
15200
15201 ;***** FAILURE ANALYSIS *****
15202 ;C(AC0) C(AC1) FAILING SIGNAL
15203
15204 ; ET0: COND P
15205
15206 ;**********
15207
15208
15209 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
15210 ;WHEN C(AC) IS NOT EQUAL TO C(E). IT ALSO VERIFIES THAT CAME
15211 ;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
15212 ;C(AC)=C(E). IN BOTH CASES AC=E; HENCE, C(AC)=C(E)
15213 ;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
15214 ;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
15215
15216 001617 SN=SN+1
15217 040000 ZZ=ZZ+ZZ
15218 IFE ZZ,<ZZ=1>
15219 037625 200 00 0 00 070303 MOVE [XWD ZZ] ;PRELOAD AC,E WITH A FLOATING 1
15220 037626 316 00 0 00 000000 CAMN ;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)
15221 037627 312 00 0 00 000000 CAME ;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)
15222 STOP^
15223 037630 254 04 0 00 037631 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
15224 037631 324 00 0 00 037632 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
15225 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
15226 ;IN THE SUBTEST) TO LOOP ON ERROR^
15227
15228 ;***** FAILURE ANALYSIS *****
15229 ;C(AC0) C(AC1) FAILING SIGNAL
15230
15231 ; ET0: COND P
15232
15233 ;**********
15234
15235
15236 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
15237 ;WHEN C(AC) IS NOT EQUAL TO C(E). IT ALSO VERIFIES THAT CAME
15238 ;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
15239 ;C(AC)=C(E). IN BOTH CASES AC=E; HENCE, C(AC)=C(E)
15240 ;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
15241 ;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
15242
15243 001620 SN=SN+1
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 22-8
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0330
15244 100000 ZZ=ZZ+ZZ
15245 IFE ZZ,<ZZ=1>
15246 037632 200 00 0 00 070304 MOVE [XWD ZZ] ;PRELOAD AC,E WITH A FLOATING 1
15247 037633 316 00 0 00 000000 CAMN ;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)
15248 037634 312 00 0 00 000000 CAME ;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)
15249 STOP^
15250 037635 254 04 0 00 037636 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
15251 037636 324 00 0 00 037637 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
15252 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
15253 ;IN THE SUBTEST) TO LOOP ON ERROR^
15254
15255 ;***** FAILURE ANALYSIS *****
15256 ;C(AC0) C(AC1) FAILING SIGNAL
15257
15258 ; ET0: COND P
15259
15260 ;**********
15261
15262
15263 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
15264 ;WHEN C(AC) IS NOT EQUAL TO C(E). IT ALSO VERIFIES THAT CAME
15265 ;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
15266 ;C(AC)=C(E). IN BOTH CASES AC=E; HENCE, C(AC)=C(E)
15267 ;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
15268 ;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
15269
15270 001621 SN=SN+1
15271 200000 ZZ=ZZ+ZZ
15272 IFE ZZ,<ZZ=1>
15273 037637 200 00 0 00 070305 MOVE [XWD ZZ] ;PRELOAD AC,E WITH A FLOATING 1
15274 037640 316 00 0 00 000000 CAMN ;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)
15275 037641 312 00 0 00 000000 CAME ;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)
15276 STOP^
15277 037642 254 04 0 00 037643 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
15278 037643 324 00 0 00 037644 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
15279 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
15280 ;IN THE SUBTEST) TO LOOP ON ERROR^
15281
15282 ;***** FAILURE ANALYSIS *****
15283 ;C(AC0) C(AC1) FAILING SIGNAL
15284
15285 ; ET0: COND P
15286
15287 ;**********
15288
15289
15290 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
15291 ;WHEN C(AC) IS NOT EQUAL TO C(E). IT ALSO VERIFIES THAT CAME
15292 ;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
15293 ;C(AC)=C(E). IN BOTH CASES AC=E; HENCE, C(AC)=C(E)
15294 ;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
15295 ;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
15296
15297 001622 SN=SN+1
15298 400000 ZZ=ZZ+ZZ
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 22-9
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0331
15299 IFE ZZ,<ZZ=1>
15300 037644 200 00 0 00 070306 MOVE [XWD ZZ] ;PRELOAD AC,E WITH A FLOATING 1
15301 037645 316 00 0 00 000000 CAMN ;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)
15302 037646 312 00 0 00 000000 CAME ;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)
15303 STOP^
15304 037647 254 04 0 00 037650 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
15305 037650 324 00 0 00 037651 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
15306 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
15307 ;IN THE SUBTEST) TO LOOP ON ERROR^
15308
15309 ;***** FAILURE ANALYSIS *****
15310 ;C(AC0) C(AC1) FAILING SIGNAL
15311
15312 ; ET0: COND P
15313
15314 ;**********
15315
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 23
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0332
15316 000000 ZZ=0
15317
15318 REPEAT ^D18,<
15319 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
15320 ;WHEN C(AC) IS NOT EQUAL TO C(E). IT ALSO VERIFIES THAT CAME
15321 ;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
15322 ;C(AC)=C(E). IN BOTH CASES AC=E; HENCE, C(AC)=C(E)
15323 ;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
15324 ;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
15325
15326 SN=SN+1
15327 ZZ=ZZ+ZZ
15328 IFE ZZ,<ZZ=1>
15329 MOVE [XWD ZZ,0] ;PRELOAD AC,E WITH A FLOATING 1
15330 CAMN ;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)
15331 CAME ;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)
15332 STOP
15333
15334 ;**********
15335 >
15336
15337 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
15338 ;WHEN C(AC) IS NOT EQUAL TO C(E). IT ALSO VERIFIES THAT CAME
15339 ;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
15340 ;C(AC)=C(E). IN BOTH CASES AC=E; HENCE, C(AC)=C(E)
15341 ;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
15342 ;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
15343
15344 001623 SN=SN+1
15345 000000 ZZ=ZZ+ZZ
15346 000001 IFE ZZ,<ZZ=1>
15347 037651 200 00 0 00 070307 MOVE [XWD ZZ,0] ;PRELOAD AC,E WITH A FLOATING 1
15348 037652 316 00 0 00 000000 CAMN ;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)
15349 037653 312 00 0 00 000000 CAME ;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)
15350 STOP^
15351 037654 254 04 0 00 037655 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
15352 037655 324 00 0 00 037656 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
15353 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
15354 ;IN THE SUBTEST) TO LOOP ON ERROR^
15355
15356 ;**********
15357
15358
15359 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
15360 ;WHEN C(AC) IS NOT EQUAL TO C(E). IT ALSO VERIFIES THAT CAME
15361 ;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
15362 ;C(AC)=C(E). IN BOTH CASES AC=E; HENCE, C(AC)=C(E)
15363 ;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
15364 ;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
15365
15366 001624 SN=SN+1
15367 000002 ZZ=ZZ+ZZ
15368 IFE ZZ,<ZZ=1>
15369 037656 200 00 0 00 070310 MOVE [XWD ZZ,0] ;PRELOAD AC,E WITH A FLOATING 1
15370 037657 316 00 0 00 000000 CAMN ;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 23-1
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0333
15371 037660 312 00 0 00 000000 CAME ;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)
15372 STOP^
15373 037661 254 04 0 00 037662 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
15374 037662 324 00 0 00 037663 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
15375 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
15376 ;IN THE SUBTEST) TO LOOP ON ERROR^
15377
15378 ;**********
15379
15380
15381 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
15382 ;WHEN C(AC) IS NOT EQUAL TO C(E). IT ALSO VERIFIES THAT CAME
15383 ;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
15384 ;C(AC)=C(E). IN BOTH CASES AC=E; HENCE, C(AC)=C(E)
15385 ;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
15386 ;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
15387
15388 001625 SN=SN+1
15389 000004 ZZ=ZZ+ZZ
15390 IFE ZZ,<ZZ=1>
15391 037663 200 00 0 00 070311 MOVE [XWD ZZ,0] ;PRELOAD AC,E WITH A FLOATING 1
15392 037664 316 00 0 00 000000 CAMN ;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)
15393 037665 312 00 0 00 000000 CAME ;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)
15394 STOP^
15395 037666 254 04 0 00 037667 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
15396 037667 324 00 0 00 037670 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
15397 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
15398 ;IN THE SUBTEST) TO LOOP ON ERROR^
15399
15400 ;**********
15401
15402
15403 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
15404 ;WHEN C(AC) IS NOT EQUAL TO C(E). IT ALSO VERIFIES THAT CAME
15405 ;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
15406 ;C(AC)=C(E). IN BOTH CASES AC=E; HENCE, C(AC)=C(E)
15407 ;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
15408 ;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
15409
15410 001626 SN=SN+1
15411 000010 ZZ=ZZ+ZZ
15412 IFE ZZ,<ZZ=1>
15413 037670 200 00 0 00 070312 MOVE [XWD ZZ,0] ;PRELOAD AC,E WITH A FLOATING 1
15414 037671 316 00 0 00 000000 CAMN ;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)
15415 037672 312 00 0 00 000000 CAME ;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)
15416 STOP^
15417 037673 254 04 0 00 037674 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
15418 037674 324 00 0 00 037675 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
15419 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
15420 ;IN THE SUBTEST) TO LOOP ON ERROR^
15421
15422 ;**********
15423
15424
15425 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 23-2
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0334
15426 ;WHEN C(AC) IS NOT EQUAL TO C(E). IT ALSO VERIFIES THAT CAME
15427 ;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
15428 ;C(AC)=C(E). IN BOTH CASES AC=E; HENCE, C(AC)=C(E)
15429 ;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
15430 ;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
15431
15432 001627 SN=SN+1
15433 000020 ZZ=ZZ+ZZ
15434 IFE ZZ,<ZZ=1>
15435 037675 200 00 0 00 070313 MOVE [XWD ZZ,0] ;PRELOAD AC,E WITH A FLOATING 1
15436 037676 316 00 0 00 000000 CAMN ;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)
15437 037677 312 00 0 00 000000 CAME ;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)
15438 STOP^
15439 037700 254 04 0 00 037701 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
15440 037701 324 00 0 00 037702 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
15441 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
15442 ;IN THE SUBTEST) TO LOOP ON ERROR^
15443
15444 ;**********
15445
15446
15447 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
15448 ;WHEN C(AC) IS NOT EQUAL TO C(E). IT ALSO VERIFIES THAT CAME
15449 ;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
15450 ;C(AC)=C(E). IN BOTH CASES AC=E; HENCE, C(AC)=C(E)
15451 ;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
15452 ;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
15453
15454 001630 SN=SN+1
15455 000040 ZZ=ZZ+ZZ
15456 IFE ZZ,<ZZ=1>
15457 037702 200 00 0 00 070314 MOVE [XWD ZZ,0] ;PRELOAD AC,E WITH A FLOATING 1
15458 037703 316 00 0 00 000000 CAMN ;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)
15459 037704 312 00 0 00 000000 CAME ;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)
15460 STOP^
15461 037705 254 04 0 00 037706 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
15462 037706 324 00 0 00 037707 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
15463 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
15464 ;IN THE SUBTEST) TO LOOP ON ERROR^
15465
15466 ;**********
15467
15468
15469 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
15470 ;WHEN C(AC) IS NOT EQUAL TO C(E). IT ALSO VERIFIES THAT CAME
15471 ;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
15472 ;C(AC)=C(E). IN BOTH CASES AC=E; HENCE, C(AC)=C(E)
15473 ;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
15474 ;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
15475
15476 001631 SN=SN+1
15477 000100 ZZ=ZZ+ZZ
15478 IFE ZZ,<ZZ=1>
15479 037707 200 00 0 00 070315 MOVE [XWD ZZ,0] ;PRELOAD AC,E WITH A FLOATING 1
15480 037710 316 00 0 00 000000 CAMN ;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 23-3
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0335
15481 037711 312 00 0 00 000000 CAME ;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)
15482 STOP^
15483 037712 254 04 0 00 037713 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
15484 037713 324 00 0 00 037714 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
15485 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
15486 ;IN THE SUBTEST) TO LOOP ON ERROR^
15487
15488 ;**********
15489
15490
15491 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
15492 ;WHEN C(AC) IS NOT EQUAL TO C(E). IT ALSO VERIFIES THAT CAME
15493 ;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
15494 ;C(AC)=C(E). IN BOTH CASES AC=E; HENCE, C(AC)=C(E)
15495 ;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
15496 ;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
15497
15498 001632 SN=SN+1
15499 000200 ZZ=ZZ+ZZ
15500 IFE ZZ,<ZZ=1>
15501 037714 200 00 0 00 070316 MOVE [XWD ZZ,0] ;PRELOAD AC,E WITH A FLOATING 1
15502 037715 316 00 0 00 000000 CAMN ;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)
15503 037716 312 00 0 00 000000 CAME ;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)
15504 STOP^
15505 037717 254 04 0 00 037720 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
15506 037720 324 00 0 00 037721 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
15507 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
15508 ;IN THE SUBTEST) TO LOOP ON ERROR^
15509
15510 ;**********
15511
15512
15513 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
15514 ;WHEN C(AC) IS NOT EQUAL TO C(E). IT ALSO VERIFIES THAT CAME
15515 ;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
15516 ;C(AC)=C(E). IN BOTH CASES AC=E; HENCE, C(AC)=C(E)
15517 ;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
15518 ;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
15519
15520 001633 SN=SN+1
15521 000400 ZZ=ZZ+ZZ
15522 IFE ZZ,<ZZ=1>
15523 037721 200 00 0 00 070264 MOVE [XWD ZZ,0] ;PRELOAD AC,E WITH A FLOATING 1
15524 037722 316 00 0 00 000000 CAMN ;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)
15525 037723 312 00 0 00 000000 CAME ;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)
15526 STOP^
15527 037724 254 04 0 00 037725 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
15528 037725 324 00 0 00 037726 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
15529 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
15530 ;IN THE SUBTEST) TO LOOP ON ERROR^
15531
15532 ;**********
15533
15534
15535 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 23-4
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0336
15536 ;WHEN C(AC) IS NOT EQUAL TO C(E). IT ALSO VERIFIES THAT CAME
15537 ;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
15538 ;C(AC)=C(E). IN BOTH CASES AC=E; HENCE, C(AC)=C(E)
15539 ;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
15540 ;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
15541
15542 001634 SN=SN+1
15543 001000 ZZ=ZZ+ZZ
15544 IFE ZZ,<ZZ=1>
15545 037726 200 00 0 00 070317 MOVE [XWD ZZ,0] ;PRELOAD AC,E WITH A FLOATING 1
15546 037727 316 00 0 00 000000 CAMN ;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)
15547 037730 312 00 0 00 000000 CAME ;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)
15548 STOP^
15549 037731 254 04 0 00 037732 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
15550 037732 324 00 0 00 037733 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
15551 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
15552 ;IN THE SUBTEST) TO LOOP ON ERROR^
15553
15554 ;**********
15555
15556
15557 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
15558 ;WHEN C(AC) IS NOT EQUAL TO C(E). IT ALSO VERIFIES THAT CAME
15559 ;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
15560 ;C(AC)=C(E). IN BOTH CASES AC=E; HENCE, C(AC)=C(E)
15561 ;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
15562 ;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
15563
15564 001635 SN=SN+1
15565 002000 ZZ=ZZ+ZZ
15566 IFE ZZ,<ZZ=1>
15567 037733 200 00 0 00 070320 MOVE [XWD ZZ,0] ;PRELOAD AC,E WITH A FLOATING 1
15568 037734 316 00 0 00 000000 CAMN ;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)
15569 037735 312 00 0 00 000000 CAME ;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)
15570 STOP^
15571 037736 254 04 0 00 037737 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
15572 037737 324 00 0 00 037740 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
15573 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
15574 ;IN THE SUBTEST) TO LOOP ON ERROR^
15575
15576 ;**********
15577
15578
15579 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
15580 ;WHEN C(AC) IS NOT EQUAL TO C(E). IT ALSO VERIFIES THAT CAME
15581 ;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
15582 ;C(AC)=C(E). IN BOTH CASES AC=E; HENCE, C(AC)=C(E)
15583 ;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
15584 ;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
15585
15586 001636 SN=SN+1
15587 004000 ZZ=ZZ+ZZ
15588 IFE ZZ,<ZZ=1>
15589 037740 200 00 0 00 070321 MOVE [XWD ZZ,0] ;PRELOAD AC,E WITH A FLOATING 1
15590 037741 316 00 0 00 000000 CAMN ;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 23-5
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0337
15591 037742 312 00 0 00 000000 CAME ;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)
15592 STOP^
15593 037743 254 04 0 00 037744 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
15594 037744 324 00 0 00 037745 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
15595 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
15596 ;IN THE SUBTEST) TO LOOP ON ERROR^
15597
15598 ;**********
15599
15600
15601 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
15602 ;WHEN C(AC) IS NOT EQUAL TO C(E). IT ALSO VERIFIES THAT CAME
15603 ;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
15604 ;C(AC)=C(E). IN BOTH CASES AC=E; HENCE, C(AC)=C(E)
15605 ;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
15606 ;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
15607
15608 001637 SN=SN+1
15609 010000 ZZ=ZZ+ZZ
15610 IFE ZZ,<ZZ=1>
15611 037745 200 00 0 00 070322 MOVE [XWD ZZ,0] ;PRELOAD AC,E WITH A FLOATING 1
15612 037746 316 00 0 00 000000 CAMN ;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)
15613 037747 312 00 0 00 000000 CAME ;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)
15614 STOP^
15615 037750 254 04 0 00 037751 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
15616 037751 324 00 0 00 037752 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
15617 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
15618 ;IN THE SUBTEST) TO LOOP ON ERROR^
15619
15620 ;**********
15621
15622
15623 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
15624 ;WHEN C(AC) IS NOT EQUAL TO C(E). IT ALSO VERIFIES THAT CAME
15625 ;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
15626 ;C(AC)=C(E). IN BOTH CASES AC=E; HENCE, C(AC)=C(E)
15627 ;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
15628 ;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
15629
15630 001640 SN=SN+1
15631 020000 ZZ=ZZ+ZZ
15632 IFE ZZ,<ZZ=1>
15633 037752 200 00 0 00 070323 MOVE [XWD ZZ,0] ;PRELOAD AC,E WITH A FLOATING 1
15634 037753 316 00 0 00 000000 CAMN ;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)
15635 037754 312 00 0 00 000000 CAME ;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)
15636 STOP^
15637 037755 254 04 0 00 037756 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
15638 037756 324 00 0 00 037757 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
15639 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
15640 ;IN THE SUBTEST) TO LOOP ON ERROR^
15641
15642 ;**********
15643
15644
15645 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 23-6
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0338
15646 ;WHEN C(AC) IS NOT EQUAL TO C(E). IT ALSO VERIFIES THAT CAME
15647 ;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
15648 ;C(AC)=C(E). IN BOTH CASES AC=E; HENCE, C(AC)=C(E)
15649 ;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
15650 ;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
15651
15652 001641 SN=SN+1
15653 040000 ZZ=ZZ+ZZ
15654 IFE ZZ,<ZZ=1>
15655 037757 200 00 0 00 070324 MOVE [XWD ZZ,0] ;PRELOAD AC,E WITH A FLOATING 1
15656 037760 316 00 0 00 000000 CAMN ;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)
15657 037761 312 00 0 00 000000 CAME ;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)
15658 STOP^
15659 037762 254 04 0 00 037763 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
15660 037763 324 00 0 00 037764 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
15661 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
15662 ;IN THE SUBTEST) TO LOOP ON ERROR^
15663
15664 ;**********
15665
15666
15667 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
15668 ;WHEN C(AC) IS NOT EQUAL TO C(E). IT ALSO VERIFIES THAT CAME
15669 ;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
15670 ;C(AC)=C(E). IN BOTH CASES AC=E; HENCE, C(AC)=C(E)
15671 ;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
15672 ;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
15673
15674 001642 SN=SN+1
15675 100000 ZZ=ZZ+ZZ
15676 IFE ZZ,<ZZ=1>
15677 037764 200 00 0 00 070325 MOVE [XWD ZZ,0] ;PRELOAD AC,E WITH A FLOATING 1
15678 037765 316 00 0 00 000000 CAMN ;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)
15679 037766 312 00 0 00 000000 CAME ;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)
15680 STOP^
15681 037767 254 04 0 00 037770 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
15682 037770 324 00 0 00 037771 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
15683 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
15684 ;IN THE SUBTEST) TO LOOP ON ERROR^
15685
15686 ;**********
15687
15688
15689 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
15690 ;WHEN C(AC) IS NOT EQUAL TO C(E). IT ALSO VERIFIES THAT CAME
15691 ;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
15692 ;C(AC)=C(E). IN BOTH CASES AC=E; HENCE, C(AC)=C(E)
15693 ;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
15694 ;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
15695
15696 001643 SN=SN+1
15697 200000 ZZ=ZZ+ZZ
15698 IFE ZZ,<ZZ=1>
15699 037771 200 00 0 00 070326 MOVE [XWD ZZ,0] ;PRELOAD AC,E WITH A FLOATING 1
15700 037772 316 00 0 00 000000 CAMN ;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 23-7
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0339
15701 037773 312 00 0 00 000000 CAME ;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)
15702 STOP^
15703 037774 254 04 0 00 037775 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
15704 037775 324 00 0 00 037776 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
15705 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
15706 ;IN THE SUBTEST) TO LOOP ON ERROR^
15707
15708 ;**********
15709
15710
15711 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
15712 ;WHEN C(AC) IS NOT EQUAL TO C(E). IT ALSO VERIFIES THAT CAME
15713 ;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
15714 ;C(AC)=C(E). IN BOTH CASES AC=E; HENCE, C(AC)=C(E)
15715 ;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
15716 ;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
15717
15718 001644 SN=SN+1
15719 400000 ZZ=ZZ+ZZ
15720 IFE ZZ,<ZZ=1>
15721 037776 200 00 0 00 070256 MOVE [XWD ZZ,0] ;PRELOAD AC,E WITH A FLOATING 1
15722 037777 316 00 0 00 000000 CAMN ;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)
15723 040000 312 00 0 00 000000 CAME ;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)
15724 STOP^
15725 040001 254 04 0 00 040002 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
15726 040002 324 00 0 00 040003 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
15727 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
15728 ;IN THE SUBTEST) TO LOOP ON ERROR^
15729
15730 ;**********
15731
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 24
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0340
15732 001700 SN=1700
15733 000000 ZZ=0
15734
15735 B1700: REPEAT ^D36,<
15736 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
15737 ;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1. HENCE,
15738 ;CAMN SHOULD SKIP; OTHERWISE, THE PROGRAM HALTS
15739 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
15740 SN=SN+1
15741 ZZ=ZZ+ZZ
15742 IFE ZZ,<ZZ=1>
15743 SETZ ;PRELOAD AC WITH 0
15744 CAMN [ZZ] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
15745 STOP
15746
15747 ;**********
15748 >
15749
15750 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
15751 ;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1. HENCE,
15752 ;CAMN SHOULD SKIP; OTHERWISE, THE PROGRAM HALTS
15753 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
15754 001701 SN=SN+1
15755 000000 ZZ=ZZ+ZZ
15756 000001 IFE ZZ,<ZZ=1>
15757 040003 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
15758 040004 316 00 0 00 070265 CAMN [ZZ] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
15759 STOP ^
15760 040005 254 04 0 00 040006 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
15761 040006 324 00 0 00 040007 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
15762 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
15763 ;IN THE SUBTEST) TO LOOP ON ERROR^
15764
15765 ;**********
15766
15767
15768 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
15769 ;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1. HENCE,
15770 ;CAMN SHOULD SKIP; OTHERWISE, THE PROGRAM HALTS
15771 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
15772 001702 SN=SN+1
15773 000002 ZZ=ZZ+ZZ
15774 IFE ZZ,<ZZ=1>
15775 040007 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
15776 040010 316 00 0 00 070266 CAMN [ZZ] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
15777 STOP ^
15778 040011 254 04 0 00 040012 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
15779 040012 324 00 0 00 040013 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
15780 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
15781 ;IN THE SUBTEST) TO LOOP ON ERROR^
15782
15783 ;**********
15784
15785
15786 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 24-1
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0341
15787 ;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1. HENCE,
15788 ;CAMN SHOULD SKIP; OTHERWISE, THE PROGRAM HALTS
15789 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
15790 001703 SN=SN+1
15791 000004 ZZ=ZZ+ZZ
15792 IFE ZZ,<ZZ=1>
15793 040013 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
15794 040014 316 00 0 00 070267 CAMN [ZZ] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
15795 STOP ^
15796 040015 254 04 0 00 040016 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
15797 040016 324 00 0 00 040017 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
15798 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
15799 ;IN THE SUBTEST) TO LOOP ON ERROR^
15800
15801 ;**********
15802
15803
15804 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
15805 ;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1. HENCE,
15806 ;CAMN SHOULD SKIP; OTHERWISE, THE PROGRAM HALTS
15807 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
15808 001704 SN=SN+1
15809 000010 ZZ=ZZ+ZZ
15810 IFE ZZ,<ZZ=1>
15811 040017 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
15812 040020 316 00 0 00 070270 CAMN [ZZ] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
15813 STOP ^
15814 040021 254 04 0 00 040022 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
15815 040022 324 00 0 00 040023 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
15816 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
15817 ;IN THE SUBTEST) TO LOOP ON ERROR^
15818
15819 ;**********
15820
15821
15822 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
15823 ;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1. HENCE,
15824 ;CAMN SHOULD SKIP; OTHERWISE, THE PROGRAM HALTS
15825 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
15826 001705 SN=SN+1
15827 000020 ZZ=ZZ+ZZ
15828 IFE ZZ,<ZZ=1>
15829 040023 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
15830 040024 316 00 0 00 070271 CAMN [ZZ] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
15831 STOP ^
15832 040025 254 04 0 00 040026 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
15833 040026 324 00 0 00 040027 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
15834 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
15835 ;IN THE SUBTEST) TO LOOP ON ERROR^
15836
15837 ;**********
15838
15839
15840 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
15841 ;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1. HENCE,
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 24-2
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0342
15842 ;CAMN SHOULD SKIP; OTHERWISE, THE PROGRAM HALTS
15843 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
15844 001706 SN=SN+1
15845 000040 ZZ=ZZ+ZZ
15846 IFE ZZ,<ZZ=1>
15847 040027 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
15848 040030 316 00 0 00 070272 CAMN [ZZ] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
15849 STOP ^
15850 040031 254 04 0 00 040032 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
15851 040032 324 00 0 00 040033 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
15852 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
15853 ;IN THE SUBTEST) TO LOOP ON ERROR^
15854
15855 ;**********
15856
15857
15858 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
15859 ;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1. HENCE,
15860 ;CAMN SHOULD SKIP; OTHERWISE, THE PROGRAM HALTS
15861 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
15862 001707 SN=SN+1
15863 000100 ZZ=ZZ+ZZ
15864 IFE ZZ,<ZZ=1>
15865 040033 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
15866 040034 316 00 0 00 070273 CAMN [ZZ] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
15867 STOP ^
15868 040035 254 04 0 00 040036 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
15869 040036 324 00 0 00 040037 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
15870 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
15871 ;IN THE SUBTEST) TO LOOP ON ERROR^
15872
15873 ;**********
15874
15875
15876 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
15877 ;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1. HENCE,
15878 ;CAMN SHOULD SKIP; OTHERWISE, THE PROGRAM HALTS
15879 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
15880 001710 SN=SN+1
15881 000200 ZZ=ZZ+ZZ
15882 IFE ZZ,<ZZ=1>
15883 040037 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
15884 040040 316 00 0 00 070274 CAMN [ZZ] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
15885 STOP ^
15886 040041 254 04 0 00 040042 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
15887 040042 324 00 0 00 040043 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
15888 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
15889 ;IN THE SUBTEST) TO LOOP ON ERROR^
15890
15891 ;**********
15892
15893
15894 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
15895 ;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1. HENCE,
15896 ;CAMN SHOULD SKIP; OTHERWISE, THE PROGRAM HALTS
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 24-3
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0343
15897 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
15898 001711 SN=SN+1
15899 000400 ZZ=ZZ+ZZ
15900 IFE ZZ,<ZZ=1>
15901 040043 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
15902 040044 316 00 0 00 070275 CAMN [ZZ] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
15903 STOP ^
15904 040045 254 04 0 00 040046 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
15905 040046 324 00 0 00 040047 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
15906 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
15907 ;IN THE SUBTEST) TO LOOP ON ERROR^
15908
15909 ;**********
15910
15911
15912 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
15913 ;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1. HENCE,
15914 ;CAMN SHOULD SKIP; OTHERWISE, THE PROGRAM HALTS
15915 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
15916 001712 SN=SN+1
15917 001000 ZZ=ZZ+ZZ
15918 IFE ZZ,<ZZ=1>
15919 040047 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
15920 040050 316 00 0 00 070276 CAMN [ZZ] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
15921 STOP ^
15922 040051 254 04 0 00 040052 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
15923 040052 324 00 0 00 040053 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
15924 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
15925 ;IN THE SUBTEST) TO LOOP ON ERROR^
15926
15927 ;**********
15928
15929
15930 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
15931 ;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1. HENCE,
15932 ;CAMN SHOULD SKIP; OTHERWISE, THE PROGRAM HALTS
15933 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
15934 001713 SN=SN+1
15935 002000 ZZ=ZZ+ZZ
15936 IFE ZZ,<ZZ=1>
15937 040053 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
15938 040054 316 00 0 00 070277 CAMN [ZZ] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
15939 STOP ^
15940 040055 254 04 0 00 040056 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
15941 040056 324 00 0 00 040057 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
15942 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
15943 ;IN THE SUBTEST) TO LOOP ON ERROR^
15944
15945 ;**********
15946
15947
15948 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
15949 ;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1. HENCE,
15950 ;CAMN SHOULD SKIP; OTHERWISE, THE PROGRAM HALTS
15951 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 24-4
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0344
15952 001714 SN=SN+1
15953 004000 ZZ=ZZ+ZZ
15954 IFE ZZ,<ZZ=1>
15955 040057 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
15956 040060 316 00 0 00 070300 CAMN [ZZ] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
15957 STOP ^
15958 040061 254 04 0 00 040062 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
15959 040062 324 00 0 00 040063 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
15960 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
15961 ;IN THE SUBTEST) TO LOOP ON ERROR^
15962
15963 ;**********
15964
15965
15966 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
15967 ;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1. HENCE,
15968 ;CAMN SHOULD SKIP; OTHERWISE, THE PROGRAM HALTS
15969 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
15970 001715 SN=SN+1
15971 010000 ZZ=ZZ+ZZ
15972 IFE ZZ,<ZZ=1>
15973 040063 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
15974 040064 316 00 0 00 070301 CAMN [ZZ] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
15975 STOP ^
15976 040065 254 04 0 00 040066 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
15977 040066 324 00 0 00 040067 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
15978 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
15979 ;IN THE SUBTEST) TO LOOP ON ERROR^
15980
15981 ;**********
15982
15983
15984 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
15985 ;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1. HENCE,
15986 ;CAMN SHOULD SKIP; OTHERWISE, THE PROGRAM HALTS
15987 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
15988 001716 SN=SN+1
15989 020000 ZZ=ZZ+ZZ
15990 IFE ZZ,<ZZ=1>
15991 040067 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
15992 040070 316 00 0 00 070302 CAMN [ZZ] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
15993 STOP ^
15994 040071 254 04 0 00 040072 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
15995 040072 324 00 0 00 040073 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
15996 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
15997 ;IN THE SUBTEST) TO LOOP ON ERROR^
15998
15999 ;**********
16000
16001
16002 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
16003 ;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1. HENCE,
16004 ;CAMN SHOULD SKIP; OTHERWISE, THE PROGRAM HALTS
16005 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
16006 001717 SN=SN+1
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 24-5
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0345
16007 040000 ZZ=ZZ+ZZ
16008 IFE ZZ,<ZZ=1>
16009 040073 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
16010 040074 316 00 0 00 070303 CAMN [ZZ] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16011 STOP ^
16012 040075 254 04 0 00 040076 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16013 040076 324 00 0 00 040077 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16014 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16015 ;IN THE SUBTEST) TO LOOP ON ERROR^
16016
16017 ;**********
16018
16019
16020 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
16021 ;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1. HENCE,
16022 ;CAMN SHOULD SKIP; OTHERWISE, THE PROGRAM HALTS
16023 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
16024 001720 SN=SN+1
16025 100000 ZZ=ZZ+ZZ
16026 IFE ZZ,<ZZ=1>
16027 040077 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
16028 040100 316 00 0 00 070304 CAMN [ZZ] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16029 STOP ^
16030 040101 254 04 0 00 040102 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16031 040102 324 00 0 00 040103 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16032 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16033 ;IN THE SUBTEST) TO LOOP ON ERROR^
16034
16035 ;**********
16036
16037
16038 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
16039 ;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1. HENCE,
16040 ;CAMN SHOULD SKIP; OTHERWISE, THE PROGRAM HALTS
16041 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
16042 001721 SN=SN+1
16043 200000 ZZ=ZZ+ZZ
16044 IFE ZZ,<ZZ=1>
16045 040103 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
16046 040104 316 00 0 00 070305 CAMN [ZZ] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16047 STOP ^
16048 040105 254 04 0 00 040106 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16049 040106 324 00 0 00 040107 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16050 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16051 ;IN THE SUBTEST) TO LOOP ON ERROR^
16052
16053 ;**********
16054
16055
16056 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
16057 ;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1. HENCE,
16058 ;CAMN SHOULD SKIP; OTHERWISE, THE PROGRAM HALTS
16059 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
16060 001722 SN=SN+1
16061 400000 ZZ=ZZ+ZZ
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 24-6
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0346
16062 IFE ZZ,<ZZ=1>
16063 040107 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
16064 040110 316 00 0 00 070306 CAMN [ZZ] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16065 STOP ^
16066 040111 254 04 0 00 040112 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16067 040112 324 00 0 00 040113 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16068 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16069 ;IN THE SUBTEST) TO LOOP ON ERROR^
16070
16071 ;**********
16072
16073
16074 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
16075 ;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1. HENCE,
16076 ;CAMN SHOULD SKIP; OTHERWISE, THE PROGRAM HALTS
16077 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
16078 001723 SN=SN+1
16079 000001 000000 ZZ=ZZ+ZZ
16080 IFE ZZ,<ZZ=1>
16081 040113 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
16082 040114 316 00 0 00 070307 CAMN [ZZ] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16083 STOP ^
16084 040115 254 04 0 00 040116 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16085 040116 324 00 0 00 040117 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16086 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16087 ;IN THE SUBTEST) TO LOOP ON ERROR^
16088
16089 ;**********
16090
16091
16092 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
16093 ;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1. HENCE,
16094 ;CAMN SHOULD SKIP; OTHERWISE, THE PROGRAM HALTS
16095 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
16096 001724 SN=SN+1
16097 000002 000000 ZZ=ZZ+ZZ
16098 IFE ZZ,<ZZ=1>
16099 040117 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
16100 040120 316 00 0 00 070310 CAMN [ZZ] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16101 STOP ^
16102 040121 254 04 0 00 040122 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16103 040122 324 00 0 00 040123 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16104 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16105 ;IN THE SUBTEST) TO LOOP ON ERROR^
16106
16107 ;**********
16108
16109
16110 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
16111 ;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1. HENCE,
16112 ;CAMN SHOULD SKIP; OTHERWISE, THE PROGRAM HALTS
16113 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
16114 001725 SN=SN+1
16115 000004 000000 ZZ=ZZ+ZZ
16116 IFE ZZ,<ZZ=1>
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 24-7
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0347
16117 040123 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
16118 040124 316 00 0 00 070311 CAMN [ZZ] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16119 STOP ^
16120 040125 254 04 0 00 040126 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16121 040126 324 00 0 00 040127 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16122 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16123 ;IN THE SUBTEST) TO LOOP ON ERROR^
16124
16125 ;**********
16126
16127
16128 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
16129 ;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1. HENCE,
16130 ;CAMN SHOULD SKIP; OTHERWISE, THE PROGRAM HALTS
16131 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
16132 001726 SN=SN+1
16133 000010 000000 ZZ=ZZ+ZZ
16134 IFE ZZ,<ZZ=1>
16135 040127 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
16136 040130 316 00 0 00 070312 CAMN [ZZ] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16137 STOP ^
16138 040131 254 04 0 00 040132 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16139 040132 324 00 0 00 040133 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16140 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16141 ;IN THE SUBTEST) TO LOOP ON ERROR^
16142
16143 ;**********
16144
16145
16146 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
16147 ;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1. HENCE,
16148 ;CAMN SHOULD SKIP; OTHERWISE, THE PROGRAM HALTS
16149 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
16150 001727 SN=SN+1
16151 000020 000000 ZZ=ZZ+ZZ
16152 IFE ZZ,<ZZ=1>
16153 040133 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
16154 040134 316 00 0 00 070313 CAMN [ZZ] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16155 STOP ^
16156 040135 254 04 0 00 040136 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16157 040136 324 00 0 00 040137 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16158 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16159 ;IN THE SUBTEST) TO LOOP ON ERROR^
16160
16161 ;**********
16162
16163
16164 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
16165 ;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1. HENCE,
16166 ;CAMN SHOULD SKIP; OTHERWISE, THE PROGRAM HALTS
16167 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
16168 001730 SN=SN+1
16169 000040 000000 ZZ=ZZ+ZZ
16170 IFE ZZ,<ZZ=1>
16171 040137 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 24-8
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0348
16172 040140 316 00 0 00 070314 CAMN [ZZ] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16173 STOP ^
16174 040141 254 04 0 00 040142 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16175 040142 324 00 0 00 040143 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16176 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16177 ;IN THE SUBTEST) TO LOOP ON ERROR^
16178
16179 ;**********
16180
16181
16182 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
16183 ;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1. HENCE,
16184 ;CAMN SHOULD SKIP; OTHERWISE, THE PROGRAM HALTS
16185 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
16186 001731 SN=SN+1
16187 000100 000000 ZZ=ZZ+ZZ
16188 IFE ZZ,<ZZ=1>
16189 040143 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
16190 040144 316 00 0 00 070315 CAMN [ZZ] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16191 STOP ^
16192 040145 254 04 0 00 040146 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16193 040146 324 00 0 00 040147 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16194 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16195 ;IN THE SUBTEST) TO LOOP ON ERROR^
16196
16197 ;**********
16198
16199
16200 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
16201 ;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1. HENCE,
16202 ;CAMN SHOULD SKIP; OTHERWISE, THE PROGRAM HALTS
16203 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
16204 001732 SN=SN+1
16205 000200 000000 ZZ=ZZ+ZZ
16206 IFE ZZ,<ZZ=1>
16207 040147 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
16208 040150 316 00 0 00 070316 CAMN [ZZ] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16209 STOP ^
16210 040151 254 04 0 00 040152 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16211 040152 324 00 0 00 040153 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16212 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16213 ;IN THE SUBTEST) TO LOOP ON ERROR^
16214
16215 ;**********
16216
16217
16218 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
16219 ;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1. HENCE,
16220 ;CAMN SHOULD SKIP; OTHERWISE, THE PROGRAM HALTS
16221 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
16222 001733 SN=SN+1
16223 000400 000000 ZZ=ZZ+ZZ
16224 IFE ZZ,<ZZ=1>
16225 040153 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
16226 040154 316 00 0 00 070264 CAMN [ZZ] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 24-9
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0349
16227 STOP ^
16228 040155 254 04 0 00 040156 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16229 040156 324 00 0 00 040157 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16230 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16231 ;IN THE SUBTEST) TO LOOP ON ERROR^
16232
16233 ;**********
16234
16235
16236 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
16237 ;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1. HENCE,
16238 ;CAMN SHOULD SKIP; OTHERWISE, THE PROGRAM HALTS
16239 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
16240 001734 SN=SN+1
16241 001000 000000 ZZ=ZZ+ZZ
16242 IFE ZZ,<ZZ=1>
16243 040157 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
16244 040160 316 00 0 00 070317 CAMN [ZZ] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16245 STOP ^
16246 040161 254 04 0 00 040162 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16247 040162 324 00 0 00 040163 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16248 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16249 ;IN THE SUBTEST) TO LOOP ON ERROR^
16250
16251 ;**********
16252
16253
16254 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
16255 ;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1. HENCE,
16256 ;CAMN SHOULD SKIP; OTHERWISE, THE PROGRAM HALTS
16257 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
16258 001735 SN=SN+1
16259 002000 000000 ZZ=ZZ+ZZ
16260 IFE ZZ,<ZZ=1>
16261 040163 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
16262 040164 316 00 0 00 070320 CAMN [ZZ] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16263 STOP ^
16264 040165 254 04 0 00 040166 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16265 040166 324 00 0 00 040167 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16266 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16267 ;IN THE SUBTEST) TO LOOP ON ERROR^
16268
16269 ;**********
16270
16271
16272 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
16273 ;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1. HENCE,
16274 ;CAMN SHOULD SKIP; OTHERWISE, THE PROGRAM HALTS
16275 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
16276 001736 SN=SN+1
16277 004000 000000 ZZ=ZZ+ZZ
16278 IFE ZZ,<ZZ=1>
16279 040167 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
16280 040170 316 00 0 00 070321 CAMN [ZZ] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16281 STOP ^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 24-10
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0350
16282 040171 254 04 0 00 040172 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16283 040172 324 00 0 00 040173 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16284 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16285 ;IN THE SUBTEST) TO LOOP ON ERROR^
16286
16287 ;**********
16288
16289
16290 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
16291 ;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1. HENCE,
16292 ;CAMN SHOULD SKIP; OTHERWISE, THE PROGRAM HALTS
16293 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
16294 001737 SN=SN+1
16295 010000 000000 ZZ=ZZ+ZZ
16296 IFE ZZ,<ZZ=1>
16297 040173 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
16298 040174 316 00 0 00 070322 CAMN [ZZ] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16299 STOP ^
16300 040175 254 04 0 00 040176 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16301 040176 324 00 0 00 040177 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16302 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16303 ;IN THE SUBTEST) TO LOOP ON ERROR^
16304
16305 ;**********
16306
16307
16308 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
16309 ;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1. HENCE,
16310 ;CAMN SHOULD SKIP; OTHERWISE, THE PROGRAM HALTS
16311 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
16312 001740 SN=SN+1
16313 020000 000000 ZZ=ZZ+ZZ
16314 IFE ZZ,<ZZ=1>
16315 040177 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
16316 040200 316 00 0 00 070323 CAMN [ZZ] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16317 STOP ^
16318 040201 254 04 0 00 040202 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16319 040202 324 00 0 00 040203 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16320 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16321 ;IN THE SUBTEST) TO LOOP ON ERROR^
16322
16323 ;**********
16324
16325
16326 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
16327 ;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1. HENCE,
16328 ;CAMN SHOULD SKIP; OTHERWISE, THE PROGRAM HALTS
16329 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
16330 001741 SN=SN+1
16331 040000 000000 ZZ=ZZ+ZZ
16332 IFE ZZ,<ZZ=1>
16333 040203 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
16334 040204 316 00 0 00 070324 CAMN [ZZ] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16335 STOP ^
16336 040205 254 04 0 00 040206 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 24-11
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0351
16337 040206 324 00 0 00 040207 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16338 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16339 ;IN THE SUBTEST) TO LOOP ON ERROR^
16340
16341 ;**********
16342
16343
16344 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
16345 ;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1. HENCE,
16346 ;CAMN SHOULD SKIP; OTHERWISE, THE PROGRAM HALTS
16347 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
16348 001742 SN=SN+1
16349 100000 000000 ZZ=ZZ+ZZ
16350 IFE ZZ,<ZZ=1>
16351 040207 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
16352 040210 316 00 0 00 070325 CAMN [ZZ] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16353 STOP ^
16354 040211 254 04 0 00 040212 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16355 040212 324 00 0 00 040213 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16356 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16357 ;IN THE SUBTEST) TO LOOP ON ERROR^
16358
16359 ;**********
16360
16361
16362 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
16363 ;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1. HENCE,
16364 ;CAMN SHOULD SKIP; OTHERWISE, THE PROGRAM HALTS
16365 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
16366 001743 SN=SN+1
16367 200000 000000 ZZ=ZZ+ZZ
16368 IFE ZZ,<ZZ=1>
16369 040213 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
16370 040214 316 00 0 00 070326 CAMN [ZZ] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16371 STOP ^
16372 040215 254 04 0 00 040216 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16373 040216 324 00 0 00 040217 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16374 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16375 ;IN THE SUBTEST) TO LOOP ON ERROR^
16376
16377 ;**********
16378
16379
16380 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
16381 ;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1. HENCE,
16382 ;CAMN SHOULD SKIP; OTHERWISE, THE PROGRAM HALTS
16383 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
16384 001744 SN=SN+1
16385 400000 000000 ZZ=ZZ+ZZ
16386 IFE ZZ,<ZZ=1>
16387 040217 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
16388 040220 316 00 0 00 070256 CAMN [ZZ] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16389 STOP ^
16390 040221 254 04 0 00 040222 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16391 040222 324 00 0 00 040223 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 24-12
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0352
16392 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16393 ;IN THE SUBTEST) TO LOOP ON ERROR^
16394
16395 ;**********
16396
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 25
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0353
16397 002000 SN=2000
16398 000000 ZZ=0
16399
16400 B2000: REPEAT ^D36,<
16401 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
16402 ;ONLY WHEN C(AC) IS NOT EQUAL TO C(E). HENCE,
16403 ;CAMN SHOULD SKIP; OTHERWISE THE PROGRAM HALTS.
16404 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF THE AC
16405 SN=SN+1
16406 ZZ=ZZ+ZZ
16407 IFE ZZ,<ZZ=1>
16408 MOVE [ZZ] ;PRELOAD AC WITH A FLOATING 1
16409 CAMN [0] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16410 STOP
16411
16412 ;**********
16413 >
16414
16415 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
16416 ;ONLY WHEN C(AC) IS NOT EQUAL TO C(E). HENCE,
16417 ;CAMN SHOULD SKIP; OTHERWISE THE PROGRAM HALTS.
16418 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF THE AC
16419 002001 SN=SN+1
16420 000000 ZZ=ZZ+ZZ
16421 000001 IFE ZZ,<ZZ=1>
16422 040223 200 00 0 00 070265 MOVE [ZZ] ;PRELOAD AC WITH A FLOATING 1
16423 040224 316 00 0 00 070253 CAMN [0] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16424 STOP^
16425 040225 254 04 0 00 040226 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16426 040226 324 00 0 00 040227 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16427 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16428 ;IN THE SUBTEST) TO LOOP ON ERROR^
16429
16430 ;**********
16431
16432
16433 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
16434 ;ONLY WHEN C(AC) IS NOT EQUAL TO C(E). HENCE,
16435 ;CAMN SHOULD SKIP; OTHERWISE THE PROGRAM HALTS.
16436 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF THE AC
16437 002002 SN=SN+1
16438 000002 ZZ=ZZ+ZZ
16439 IFE ZZ,<ZZ=1>
16440 040227 200 00 0 00 070266 MOVE [ZZ] ;PRELOAD AC WITH A FLOATING 1
16441 040230 316 00 0 00 070253 CAMN [0] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16442 STOP^
16443 040231 254 04 0 00 040232 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16444 040232 324 00 0 00 040233 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16445 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16446 ;IN THE SUBTEST) TO LOOP ON ERROR^
16447
16448 ;**********
16449
16450
16451 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 25-1
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0354
16452 ;ONLY WHEN C(AC) IS NOT EQUAL TO C(E). HENCE,
16453 ;CAMN SHOULD SKIP; OTHERWISE THE PROGRAM HALTS.
16454 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF THE AC
16455 002003 SN=SN+1
16456 000004 ZZ=ZZ+ZZ
16457 IFE ZZ,<ZZ=1>
16458 040233 200 00 0 00 070267 MOVE [ZZ] ;PRELOAD AC WITH A FLOATING 1
16459 040234 316 00 0 00 070253 CAMN [0] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16460 STOP^
16461 040235 254 04 0 00 040236 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16462 040236 324 00 0 00 040237 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16463 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16464 ;IN THE SUBTEST) TO LOOP ON ERROR^
16465
16466 ;**********
16467
16468
16469 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
16470 ;ONLY WHEN C(AC) IS NOT EQUAL TO C(E). HENCE,
16471 ;CAMN SHOULD SKIP; OTHERWISE THE PROGRAM HALTS.
16472 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF THE AC
16473 002004 SN=SN+1
16474 000010 ZZ=ZZ+ZZ
16475 IFE ZZ,<ZZ=1>
16476 040237 200 00 0 00 070270 MOVE [ZZ] ;PRELOAD AC WITH A FLOATING 1
16477 040240 316 00 0 00 070253 CAMN [0] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16478 STOP^
16479 040241 254 04 0 00 040242 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16480 040242 324 00 0 00 040243 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16481 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16482 ;IN THE SUBTEST) TO LOOP ON ERROR^
16483
16484 ;**********
16485
16486
16487 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
16488 ;ONLY WHEN C(AC) IS NOT EQUAL TO C(E). HENCE,
16489 ;CAMN SHOULD SKIP; OTHERWISE THE PROGRAM HALTS.
16490 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF THE AC
16491 002005 SN=SN+1
16492 000020 ZZ=ZZ+ZZ
16493 IFE ZZ,<ZZ=1>
16494 040243 200 00 0 00 070271 MOVE [ZZ] ;PRELOAD AC WITH A FLOATING 1
16495 040244 316 00 0 00 070253 CAMN [0] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16496 STOP^
16497 040245 254 04 0 00 040246 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16498 040246 324 00 0 00 040247 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16499 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16500 ;IN THE SUBTEST) TO LOOP ON ERROR^
16501
16502 ;**********
16503
16504
16505 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
16506 ;ONLY WHEN C(AC) IS NOT EQUAL TO C(E). HENCE,
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 25-2
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0355
16507 ;CAMN SHOULD SKIP; OTHERWISE THE PROGRAM HALTS.
16508 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF THE AC
16509 002006 SN=SN+1
16510 000040 ZZ=ZZ+ZZ
16511 IFE ZZ,<ZZ=1>
16512 040247 200 00 0 00 070272 MOVE [ZZ] ;PRELOAD AC WITH A FLOATING 1
16513 040250 316 00 0 00 070253 CAMN [0] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16514 STOP^
16515 040251 254 04 0 00 040252 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16516 040252 324 00 0 00 040253 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16517 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16518 ;IN THE SUBTEST) TO LOOP ON ERROR^
16519
16520 ;**********
16521
16522
16523 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
16524 ;ONLY WHEN C(AC) IS NOT EQUAL TO C(E). HENCE,
16525 ;CAMN SHOULD SKIP; OTHERWISE THE PROGRAM HALTS.
16526 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF THE AC
16527 002007 SN=SN+1
16528 000100 ZZ=ZZ+ZZ
16529 IFE ZZ,<ZZ=1>
16530 040253 200 00 0 00 070273 MOVE [ZZ] ;PRELOAD AC WITH A FLOATING 1
16531 040254 316 00 0 00 070253 CAMN [0] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16532 STOP^
16533 040255 254 04 0 00 040256 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16534 040256 324 00 0 00 040257 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16535 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16536 ;IN THE SUBTEST) TO LOOP ON ERROR^
16537
16538 ;**********
16539
16540
16541 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
16542 ;ONLY WHEN C(AC) IS NOT EQUAL TO C(E). HENCE,
16543 ;CAMN SHOULD SKIP; OTHERWISE THE PROGRAM HALTS.
16544 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF THE AC
16545 002010 SN=SN+1
16546 000200 ZZ=ZZ+ZZ
16547 IFE ZZ,<ZZ=1>
16548 040257 200 00 0 00 070274 MOVE [ZZ] ;PRELOAD AC WITH A FLOATING 1
16549 040260 316 00 0 00 070253 CAMN [0] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16550 STOP^
16551 040261 254 04 0 00 040262 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16552 040262 324 00 0 00 040263 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16553 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16554 ;IN THE SUBTEST) TO LOOP ON ERROR^
16555
16556 ;**********
16557
16558
16559 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
16560 ;ONLY WHEN C(AC) IS NOT EQUAL TO C(E). HENCE,
16561 ;CAMN SHOULD SKIP; OTHERWISE THE PROGRAM HALTS.
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 25-3
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0356
16562 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF THE AC
16563 002011 SN=SN+1
16564 000400 ZZ=ZZ+ZZ
16565 IFE ZZ,<ZZ=1>
16566 040263 200 00 0 00 070275 MOVE [ZZ] ;PRELOAD AC WITH A FLOATING 1
16567 040264 316 00 0 00 070253 CAMN [0] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16568 STOP^
16569 040265 254 04 0 00 040266 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16570 040266 324 00 0 00 040267 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16571 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16572 ;IN THE SUBTEST) TO LOOP ON ERROR^
16573
16574 ;**********
16575
16576
16577 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
16578 ;ONLY WHEN C(AC) IS NOT EQUAL TO C(E). HENCE,
16579 ;CAMN SHOULD SKIP; OTHERWISE THE PROGRAM HALTS.
16580 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF THE AC
16581 002012 SN=SN+1
16582 001000 ZZ=ZZ+ZZ
16583 IFE ZZ,<ZZ=1>
16584 040267 200 00 0 00 070276 MOVE [ZZ] ;PRELOAD AC WITH A FLOATING 1
16585 040270 316 00 0 00 070253 CAMN [0] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16586 STOP^
16587 040271 254 04 0 00 040272 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16588 040272 324 00 0 00 040273 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16589 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16590 ;IN THE SUBTEST) TO LOOP ON ERROR^
16591
16592 ;**********
16593
16594
16595 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
16596 ;ONLY WHEN C(AC) IS NOT EQUAL TO C(E). HENCE,
16597 ;CAMN SHOULD SKIP; OTHERWISE THE PROGRAM HALTS.
16598 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF THE AC
16599 002013 SN=SN+1
16600 002000 ZZ=ZZ+ZZ
16601 IFE ZZ,<ZZ=1>
16602 040273 200 00 0 00 070277 MOVE [ZZ] ;PRELOAD AC WITH A FLOATING 1
16603 040274 316 00 0 00 070253 CAMN [0] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16604 STOP^
16605 040275 254 04 0 00 040276 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16606 040276 324 00 0 00 040277 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16607 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16608 ;IN THE SUBTEST) TO LOOP ON ERROR^
16609
16610 ;**********
16611
16612
16613 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
16614 ;ONLY WHEN C(AC) IS NOT EQUAL TO C(E). HENCE,
16615 ;CAMN SHOULD SKIP; OTHERWISE THE PROGRAM HALTS.
16616 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF THE AC
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 25-4
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0357
16617 002014 SN=SN+1
16618 004000 ZZ=ZZ+ZZ
16619 IFE ZZ,<ZZ=1>
16620 040277 200 00 0 00 070300 MOVE [ZZ] ;PRELOAD AC WITH A FLOATING 1
16621 040300 316 00 0 00 070253 CAMN [0] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16622 STOP^
16623 040301 254 04 0 00 040302 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16624 040302 324 00 0 00 040303 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16625 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16626 ;IN THE SUBTEST) TO LOOP ON ERROR^
16627
16628 ;**********
16629
16630
16631 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
16632 ;ONLY WHEN C(AC) IS NOT EQUAL TO C(E). HENCE,
16633 ;CAMN SHOULD SKIP; OTHERWISE THE PROGRAM HALTS.
16634 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF THE AC
16635 002015 SN=SN+1
16636 010000 ZZ=ZZ+ZZ
16637 IFE ZZ,<ZZ=1>
16638 040303 200 00 0 00 070301 MOVE [ZZ] ;PRELOAD AC WITH A FLOATING 1
16639 040304 316 00 0 00 070253 CAMN [0] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16640 STOP^
16641 040305 254 04 0 00 040306 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16642 040306 324 00 0 00 040307 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16643 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16644 ;IN THE SUBTEST) TO LOOP ON ERROR^
16645
16646 ;**********
16647
16648
16649 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
16650 ;ONLY WHEN C(AC) IS NOT EQUAL TO C(E). HENCE,
16651 ;CAMN SHOULD SKIP; OTHERWISE THE PROGRAM HALTS.
16652 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF THE AC
16653 002016 SN=SN+1
16654 020000 ZZ=ZZ+ZZ
16655 IFE ZZ,<ZZ=1>
16656 040307 200 00 0 00 070302 MOVE [ZZ] ;PRELOAD AC WITH A FLOATING 1
16657 040310 316 00 0 00 070253 CAMN [0] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16658 STOP^
16659 040311 254 04 0 00 040312 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16660 040312 324 00 0 00 040313 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16661 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16662 ;IN THE SUBTEST) TO LOOP ON ERROR^
16663
16664 ;**********
16665
16666
16667 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
16668 ;ONLY WHEN C(AC) IS NOT EQUAL TO C(E). HENCE,
16669 ;CAMN SHOULD SKIP; OTHERWISE THE PROGRAM HALTS.
16670 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF THE AC
16671 002017 SN=SN+1
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 25-5
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0358
16672 040000 ZZ=ZZ+ZZ
16673 IFE ZZ,<ZZ=1>
16674 040313 200 00 0 00 070303 MOVE [ZZ] ;PRELOAD AC WITH A FLOATING 1
16675 040314 316 00 0 00 070253 CAMN [0] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16676 STOP^
16677 040315 254 04 0 00 040316 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16678 040316 324 00 0 00 040317 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16679 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16680 ;IN THE SUBTEST) TO LOOP ON ERROR^
16681
16682 ;**********
16683
16684
16685 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
16686 ;ONLY WHEN C(AC) IS NOT EQUAL TO C(E). HENCE,
16687 ;CAMN SHOULD SKIP; OTHERWISE THE PROGRAM HALTS.
16688 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF THE AC
16689 002020 SN=SN+1
16690 100000 ZZ=ZZ+ZZ
16691 IFE ZZ,<ZZ=1>
16692 040317 200 00 0 00 070304 MOVE [ZZ] ;PRELOAD AC WITH A FLOATING 1
16693 040320 316 00 0 00 070253 CAMN [0] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16694 STOP^
16695 040321 254 04 0 00 040322 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16696 040322 324 00 0 00 040323 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16697 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16698 ;IN THE SUBTEST) TO LOOP ON ERROR^
16699
16700 ;**********
16701
16702
16703 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
16704 ;ONLY WHEN C(AC) IS NOT EQUAL TO C(E). HENCE,
16705 ;CAMN SHOULD SKIP; OTHERWISE THE PROGRAM HALTS.
16706 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF THE AC
16707 002021 SN=SN+1
16708 200000 ZZ=ZZ+ZZ
16709 IFE ZZ,<ZZ=1>
16710 040323 200 00 0 00 070305 MOVE [ZZ] ;PRELOAD AC WITH A FLOATING 1
16711 040324 316 00 0 00 070253 CAMN [0] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16712 STOP^
16713 040325 254 04 0 00 040326 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16714 040326 324 00 0 00 040327 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16715 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16716 ;IN THE SUBTEST) TO LOOP ON ERROR^
16717
16718 ;**********
16719
16720
16721 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
16722 ;ONLY WHEN C(AC) IS NOT EQUAL TO C(E). HENCE,
16723 ;CAMN SHOULD SKIP; OTHERWISE THE PROGRAM HALTS.
16724 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF THE AC
16725 002022 SN=SN+1
16726 400000 ZZ=ZZ+ZZ
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 25-6
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0359
16727 IFE ZZ,<ZZ=1>
16728 040327 200 00 0 00 070306 MOVE [ZZ] ;PRELOAD AC WITH A FLOATING 1
16729 040330 316 00 0 00 070253 CAMN [0] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16730 STOP^
16731 040331 254 04 0 00 040332 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16732 040332 324 00 0 00 040333 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16733 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16734 ;IN THE SUBTEST) TO LOOP ON ERROR^
16735
16736 ;**********
16737
16738
16739 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
16740 ;ONLY WHEN C(AC) IS NOT EQUAL TO C(E). HENCE,
16741 ;CAMN SHOULD SKIP; OTHERWISE THE PROGRAM HALTS.
16742 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF THE AC
16743 002023 SN=SN+1
16744 000001 000000 ZZ=ZZ+ZZ
16745 IFE ZZ,<ZZ=1>
16746 040333 200 00 0 00 070307 MOVE [ZZ] ;PRELOAD AC WITH A FLOATING 1
16747 040334 316 00 0 00 070253 CAMN [0] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16748 STOP^
16749 040335 254 04 0 00 040336 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16750 040336 324 00 0 00 040337 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16751 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16752 ;IN THE SUBTEST) TO LOOP ON ERROR^
16753
16754 ;**********
16755
16756
16757 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
16758 ;ONLY WHEN C(AC) IS NOT EQUAL TO C(E). HENCE,
16759 ;CAMN SHOULD SKIP; OTHERWISE THE PROGRAM HALTS.
16760 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF THE AC
16761 002024 SN=SN+1
16762 000002 000000 ZZ=ZZ+ZZ
16763 IFE ZZ,<ZZ=1>
16764 040337 200 00 0 00 070310 MOVE [ZZ] ;PRELOAD AC WITH A FLOATING 1
16765 040340 316 00 0 00 070253 CAMN [0] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16766 STOP^
16767 040341 254 04 0 00 040342 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16768 040342 324 00 0 00 040343 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16769 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16770 ;IN THE SUBTEST) TO LOOP ON ERROR^
16771
16772 ;**********
16773
16774
16775 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
16776 ;ONLY WHEN C(AC) IS NOT EQUAL TO C(E). HENCE,
16777 ;CAMN SHOULD SKIP; OTHERWISE THE PROGRAM HALTS.
16778 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF THE AC
16779 002025 SN=SN+1
16780 000004 000000 ZZ=ZZ+ZZ
16781 IFE ZZ,<ZZ=1>
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 25-7
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0360
16782 040343 200 00 0 00 070311 MOVE [ZZ] ;PRELOAD AC WITH A FLOATING 1
16783 040344 316 00 0 00 070253 CAMN [0] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16784 STOP^
16785 040345 254 04 0 00 040346 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16786 040346 324 00 0 00 040347 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16787 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16788 ;IN THE SUBTEST) TO LOOP ON ERROR^
16789
16790 ;**********
16791
16792
16793 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
16794 ;ONLY WHEN C(AC) IS NOT EQUAL TO C(E). HENCE,
16795 ;CAMN SHOULD SKIP; OTHERWISE THE PROGRAM HALTS.
16796 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF THE AC
16797 002026 SN=SN+1
16798 000010 000000 ZZ=ZZ+ZZ
16799 IFE ZZ,<ZZ=1>
16800 040347 200 00 0 00 070312 MOVE [ZZ] ;PRELOAD AC WITH A FLOATING 1
16801 040350 316 00 0 00 070253 CAMN [0] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16802 STOP^
16803 040351 254 04 0 00 040352 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16804 040352 324 00 0 00 040353 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16805 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16806 ;IN THE SUBTEST) TO LOOP ON ERROR^
16807
16808 ;**********
16809
16810
16811 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
16812 ;ONLY WHEN C(AC) IS NOT EQUAL TO C(E). HENCE,
16813 ;CAMN SHOULD SKIP; OTHERWISE THE PROGRAM HALTS.
16814 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF THE AC
16815 002027 SN=SN+1
16816 000020 000000 ZZ=ZZ+ZZ
16817 IFE ZZ,<ZZ=1>
16818 040353 200 00 0 00 070313 MOVE [ZZ] ;PRELOAD AC WITH A FLOATING 1
16819 040354 316 00 0 00 070253 CAMN [0] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16820 STOP^
16821 040355 254 04 0 00 040356 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16822 040356 324 00 0 00 040357 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16823 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16824 ;IN THE SUBTEST) TO LOOP ON ERROR^
16825
16826 ;**********
16827
16828
16829 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
16830 ;ONLY WHEN C(AC) IS NOT EQUAL TO C(E). HENCE,
16831 ;CAMN SHOULD SKIP; OTHERWISE THE PROGRAM HALTS.
16832 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF THE AC
16833 002030 SN=SN+1
16834 000040 000000 ZZ=ZZ+ZZ
16835 IFE ZZ,<ZZ=1>
16836 040357 200 00 0 00 070314 MOVE [ZZ] ;PRELOAD AC WITH A FLOATING 1
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 25-8
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0361
16837 040360 316 00 0 00 070253 CAMN [0] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16838 STOP^
16839 040361 254 04 0 00 040362 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16840 040362 324 00 0 00 040363 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16841 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16842 ;IN THE SUBTEST) TO LOOP ON ERROR^
16843
16844 ;**********
16845
16846
16847 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
16848 ;ONLY WHEN C(AC) IS NOT EQUAL TO C(E). HENCE,
16849 ;CAMN SHOULD SKIP; OTHERWISE THE PROGRAM HALTS.
16850 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF THE AC
16851 002031 SN=SN+1
16852 000100 000000 ZZ=ZZ+ZZ
16853 IFE ZZ,<ZZ=1>
16854 040363 200 00 0 00 070315 MOVE [ZZ] ;PRELOAD AC WITH A FLOATING 1
16855 040364 316 00 0 00 070253 CAMN [0] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16856 STOP^
16857 040365 254 04 0 00 040366 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16858 040366 324 00 0 00 040367 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16859 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16860 ;IN THE SUBTEST) TO LOOP ON ERROR^
16861
16862 ;**********
16863
16864
16865 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
16866 ;ONLY WHEN C(AC) IS NOT EQUAL TO C(E). HENCE,
16867 ;CAMN SHOULD SKIP; OTHERWISE THE PROGRAM HALTS.
16868 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF THE AC
16869 002032 SN=SN+1
16870 000200 000000 ZZ=ZZ+ZZ
16871 IFE ZZ,<ZZ=1>
16872 040367 200 00 0 00 070316 MOVE [ZZ] ;PRELOAD AC WITH A FLOATING 1
16873 040370 316 00 0 00 070253 CAMN [0] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16874 STOP^
16875 040371 254 04 0 00 040372 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16876 040372 324 00 0 00 040373 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16877 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16878 ;IN THE SUBTEST) TO LOOP ON ERROR^
16879
16880 ;**********
16881
16882
16883 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
16884 ;ONLY WHEN C(AC) IS NOT EQUAL TO C(E). HENCE,
16885 ;CAMN SHOULD SKIP; OTHERWISE THE PROGRAM HALTS.
16886 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF THE AC
16887 002033 SN=SN+1
16888 000400 000000 ZZ=ZZ+ZZ
16889 IFE ZZ,<ZZ=1>
16890 040373 200 00 0 00 070264 MOVE [ZZ] ;PRELOAD AC WITH A FLOATING 1
16891 040374 316 00 0 00 070253 CAMN [0] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 25-9
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0362
16892 STOP^
16893 040375 254 04 0 00 040376 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16894 040376 324 00 0 00 040377 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16895 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16896 ;IN THE SUBTEST) TO LOOP ON ERROR^
16897
16898 ;**********
16899
16900
16901 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
16902 ;ONLY WHEN C(AC) IS NOT EQUAL TO C(E). HENCE,
16903 ;CAMN SHOULD SKIP; OTHERWISE THE PROGRAM HALTS.
16904 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF THE AC
16905 002034 SN=SN+1
16906 001000 000000 ZZ=ZZ+ZZ
16907 IFE ZZ,<ZZ=1>
16908 040377 200 00 0 00 070317 MOVE [ZZ] ;PRELOAD AC WITH A FLOATING 1
16909 040400 316 00 0 00 070253 CAMN [0] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16910 STOP^
16911 040401 254 04 0 00 040402 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16912 040402 324 00 0 00 040403 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16913 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16914 ;IN THE SUBTEST) TO LOOP ON ERROR^
16915
16916 ;**********
16917
16918
16919 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
16920 ;ONLY WHEN C(AC) IS NOT EQUAL TO C(E). HENCE,
16921 ;CAMN SHOULD SKIP; OTHERWISE THE PROGRAM HALTS.
16922 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF THE AC
16923 002035 SN=SN+1
16924 002000 000000 ZZ=ZZ+ZZ
16925 IFE ZZ,<ZZ=1>
16926 040403 200 00 0 00 070320 MOVE [ZZ] ;PRELOAD AC WITH A FLOATING 1
16927 040404 316 00 0 00 070253 CAMN [0] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16928 STOP^
16929 040405 254 04 0 00 040406 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16930 040406 324 00 0 00 040407 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16931 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16932 ;IN THE SUBTEST) TO LOOP ON ERROR^
16933
16934 ;**********
16935
16936
16937 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
16938 ;ONLY WHEN C(AC) IS NOT EQUAL TO C(E). HENCE,
16939 ;CAMN SHOULD SKIP; OTHERWISE THE PROGRAM HALTS.
16940 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF THE AC
16941 002036 SN=SN+1
16942 004000 000000 ZZ=ZZ+ZZ
16943 IFE ZZ,<ZZ=1>
16944 040407 200 00 0 00 070321 MOVE [ZZ] ;PRELOAD AC WITH A FLOATING 1
16945 040410 316 00 0 00 070253 CAMN [0] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16946 STOP^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 25-10
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0363
16947 040411 254 04 0 00 040412 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16948 040412 324 00 0 00 040413 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16949 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16950 ;IN THE SUBTEST) TO LOOP ON ERROR^
16951
16952 ;**********
16953
16954
16955 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
16956 ;ONLY WHEN C(AC) IS NOT EQUAL TO C(E). HENCE,
16957 ;CAMN SHOULD SKIP; OTHERWISE THE PROGRAM HALTS.
16958 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF THE AC
16959 002037 SN=SN+1
16960 010000 000000 ZZ=ZZ+ZZ
16961 IFE ZZ,<ZZ=1>
16962 040413 200 00 0 00 070322 MOVE [ZZ] ;PRELOAD AC WITH A FLOATING 1
16963 040414 316 00 0 00 070253 CAMN [0] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16964 STOP^
16965 040415 254 04 0 00 040416 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16966 040416 324 00 0 00 040417 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16967 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16968 ;IN THE SUBTEST) TO LOOP ON ERROR^
16969
16970 ;**********
16971
16972
16973 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
16974 ;ONLY WHEN C(AC) IS NOT EQUAL TO C(E). HENCE,
16975 ;CAMN SHOULD SKIP; OTHERWISE THE PROGRAM HALTS.
16976 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF THE AC
16977 002040 SN=SN+1
16978 020000 000000 ZZ=ZZ+ZZ
16979 IFE ZZ,<ZZ=1>
16980 040417 200 00 0 00 070323 MOVE [ZZ] ;PRELOAD AC WITH A FLOATING 1
16981 040420 316 00 0 00 070253 CAMN [0] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
16982 STOP^
16983 040421 254 04 0 00 040422 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
16984 040422 324 00 0 00 040423 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
16985 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
16986 ;IN THE SUBTEST) TO LOOP ON ERROR^
16987
16988 ;**********
16989
16990
16991 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
16992 ;ONLY WHEN C(AC) IS NOT EQUAL TO C(E). HENCE,
16993 ;CAMN SHOULD SKIP; OTHERWISE THE PROGRAM HALTS.
16994 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF THE AC
16995 002041 SN=SN+1
16996 040000 000000 ZZ=ZZ+ZZ
16997 IFE ZZ,<ZZ=1>
16998 040423 200 00 0 00 070324 MOVE [ZZ] ;PRELOAD AC WITH A FLOATING 1
16999 040424 316 00 0 00 070253 CAMN [0] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
17000 STOP^
17001 040425 254 04 0 00 040426 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 25-11
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0364
17002 040426 324 00 0 00 040427 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
17003 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
17004 ;IN THE SUBTEST) TO LOOP ON ERROR^
17005
17006 ;**********
17007
17008
17009 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
17010 ;ONLY WHEN C(AC) IS NOT EQUAL TO C(E). HENCE,
17011 ;CAMN SHOULD SKIP; OTHERWISE THE PROGRAM HALTS.
17012 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF THE AC
17013 002042 SN=SN+1
17014 100000 000000 ZZ=ZZ+ZZ
17015 IFE ZZ,<ZZ=1>
17016 040427 200 00 0 00 070325 MOVE [ZZ] ;PRELOAD AC WITH A FLOATING 1
17017 040430 316 00 0 00 070253 CAMN [0] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
17018 STOP^
17019 040431 254 04 0 00 040432 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
17020 040432 324 00 0 00 040433 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
17021 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
17022 ;IN THE SUBTEST) TO LOOP ON ERROR^
17023
17024 ;**********
17025
17026
17027 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
17028 ;ONLY WHEN C(AC) IS NOT EQUAL TO C(E). HENCE,
17029 ;CAMN SHOULD SKIP; OTHERWISE THE PROGRAM HALTS.
17030 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF THE AC
17031 002043 SN=SN+1
17032 200000 000000 ZZ=ZZ+ZZ
17033 IFE ZZ,<ZZ=1>
17034 040433 200 00 0 00 070326 MOVE [ZZ] ;PRELOAD AC WITH A FLOATING 1
17035 040434 316 00 0 00 070253 CAMN [0] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
17036 STOP^
17037 040435 254 04 0 00 040436 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
17038 040436 324 00 0 00 040437 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
17039 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
17040 ;IN THE SUBTEST) TO LOOP ON ERROR^
17041
17042 ;**********
17043
17044
17045 ;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
17046 ;ONLY WHEN C(AC) IS NOT EQUAL TO C(E). HENCE,
17047 ;CAMN SHOULD SKIP; OTHERWISE THE PROGRAM HALTS.
17048 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF THE AC
17049 002044 SN=SN+1
17050 400000 000000 ZZ=ZZ+ZZ
17051 IFE ZZ,<ZZ=1>
17052 040437 200 00 0 00 070256 MOVE [ZZ] ;PRELOAD AC WITH A FLOATING 1
17053 040440 316 00 0 00 070253 CAMN [0] ;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
17054 STOP^
17055 040441 254 04 0 00 040442 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
17056 040442 324 00 0 00 040443 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 25-12
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAMX) INSTRUCTIONS SEQ 0365
17057 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
17058 ;IN THE SUBTEST) TO LOOP ON ERROR^
17059
17060 ;**********
17061
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 26
DFKAA2 MAC 25-AUG-75 13:56 TEST OF MOVS INSTRUCTION SEQ 0366
17062 SUBTTL TEST OF MOVS INSTRUCTION
17063
17064 ;**********
17065
17066 002100 SN=2100
17067 000000 ZZ=0
17068
17069 B2100: REPEAT ^D18,<
17070 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
17071 ;MOVES IT INTO AC. IN THIS CASE, A 1 IS RIPPLED THRU BOTH HALVES
17072 ;OF E [C(E)=ZZ,,ZZ WHERE ZZ IS A FLOATING 1]. THEN, C(AC) IS CHECKED.
17073 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF EACH HALF
17074
17075 SN=SN+1
17076 ZZ=ZZ+ZZ
17077 IFE ZZ,<ZZ=1>
17078 MOVS [XWD ZZ,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
17079 ;AND MOVE RESULT INTO AC
17080 CAME [XWD ZZ,ZZ] ;PASS TEST IF C(AC) CONTAINS ZZ,,ZZ
17081 STOP
17082
17083 ;**********
17084 >
17085
17086 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
17087 ;MOVES IT INTO AC. IN THIS CASE, A 1 IS RIPPLED THRU BOTH HALVES
17088 ;OF E [C(E)=ZZ,,ZZ WHERE ZZ IS A FLOATING 1]. THEN, C(AC) IS CHECKED.
17089 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF EACH HALF
17090
17091 002101 SN=SN+1
17092 000000 ZZ=ZZ+ZZ
17093 000001 IFE ZZ,<ZZ=1>
17094 040443 204 00 0 00 070251 MOVS [XWD ZZ,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
17095 ;AND MOVE RESULT INTO AC
17096 040444 312 00 0 00 070251 CAME [XWD ZZ,ZZ] ;PASS TEST IF C(AC) CONTAINS ZZ,,ZZ
17097 STOP ^
17098 040445 254 04 0 00 040446 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
17099 040446 324 00 0 00 040447 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
17100 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
17101 ;IN THE SUBTEST) TO LOOP ON ERROR^
17102
17103 ;**********
17104
17105
17106 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
17107 ;MOVES IT INTO AC. IN THIS CASE, A 1 IS RIPPLED THRU BOTH HALVES
17108 ;OF E [C(E)=ZZ,,ZZ WHERE ZZ IS A FLOATING 1]. THEN, C(AC) IS CHECKED.
17109 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF EACH HALF
17110
17111 002102 SN=SN+1
17112 000002 ZZ=ZZ+ZZ
17113 IFE ZZ,<ZZ=1>
17114 040447 204 00 0 00 070440 MOVS [XWD ZZ,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
17115 ;AND MOVE RESULT INTO AC
17116 040450 312 00 0 00 070440 CAME [XWD ZZ,ZZ] ;PASS TEST IF C(AC) CONTAINS ZZ,,ZZ
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 26-1
DFKAA2 MAC 25-AUG-75 13:56 TEST OF MOVS INSTRUCTION SEQ 0367
17117 STOP ^
17118 040451 254 04 0 00 040452 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
17119 040452 324 00 0 00 040453 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
17120 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
17121 ;IN THE SUBTEST) TO LOOP ON ERROR^
17122
17123 ;**********
17124
17125
17126 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
17127 ;MOVES IT INTO AC. IN THIS CASE, A 1 IS RIPPLED THRU BOTH HALVES
17128 ;OF E [C(E)=ZZ,,ZZ WHERE ZZ IS A FLOATING 1]. THEN, C(AC) IS CHECKED.
17129 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF EACH HALF
17130
17131 002103 SN=SN+1
17132 000004 ZZ=ZZ+ZZ
17133 IFE ZZ,<ZZ=1>
17134 040453 204 00 0 00 070441 MOVS [XWD ZZ,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
17135 ;AND MOVE RESULT INTO AC
17136 040454 312 00 0 00 070441 CAME [XWD ZZ,ZZ] ;PASS TEST IF C(AC) CONTAINS ZZ,,ZZ
17137 STOP ^
17138 040455 254 04 0 00 040456 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
17139 040456 324 00 0 00 040457 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
17140 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
17141 ;IN THE SUBTEST) TO LOOP ON ERROR^
17142
17143 ;**********
17144
17145
17146 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
17147 ;MOVES IT INTO AC. IN THIS CASE, A 1 IS RIPPLED THRU BOTH HALVES
17148 ;OF E [C(E)=ZZ,,ZZ WHERE ZZ IS A FLOATING 1]. THEN, C(AC) IS CHECKED.
17149 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF EACH HALF
17150
17151 002104 SN=SN+1
17152 000010 ZZ=ZZ+ZZ
17153 IFE ZZ,<ZZ=1>
17154 040457 204 00 0 00 070442 MOVS [XWD ZZ,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
17155 ;AND MOVE RESULT INTO AC
17156 040460 312 00 0 00 070442 CAME [XWD ZZ,ZZ] ;PASS TEST IF C(AC) CONTAINS ZZ,,ZZ
17157 STOP ^
17158 040461 254 04 0 00 040462 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
17159 040462 324 00 0 00 040463 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
17160 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
17161 ;IN THE SUBTEST) TO LOOP ON ERROR^
17162
17163 ;**********
17164
17165
17166 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
17167 ;MOVES IT INTO AC. IN THIS CASE, A 1 IS RIPPLED THRU BOTH HALVES
17168 ;OF E [C(E)=ZZ,,ZZ WHERE ZZ IS A FLOATING 1]. THEN, C(AC) IS CHECKED.
17169 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF EACH HALF
17170
17171 002105 SN=SN+1
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 26-2
DFKAA2 MAC 25-AUG-75 13:56 TEST OF MOVS INSTRUCTION SEQ 0368
17172 000020 ZZ=ZZ+ZZ
17173 IFE ZZ,<ZZ=1>
17174 040463 204 00 0 00 070443 MOVS [XWD ZZ,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
17175 ;AND MOVE RESULT INTO AC
17176 040464 312 00 0 00 070443 CAME [XWD ZZ,ZZ] ;PASS TEST IF C(AC) CONTAINS ZZ,,ZZ
17177 STOP ^
17178 040465 254 04 0 00 040466 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
17179 040466 324 00 0 00 040467 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
17180 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
17181 ;IN THE SUBTEST) TO LOOP ON ERROR^
17182
17183 ;**********
17184
17185
17186 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
17187 ;MOVES IT INTO AC. IN THIS CASE, A 1 IS RIPPLED THRU BOTH HALVES
17188 ;OF E [C(E)=ZZ,,ZZ WHERE ZZ IS A FLOATING 1]. THEN, C(AC) IS CHECKED.
17189 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF EACH HALF
17190
17191 002106 SN=SN+1
17192 000040 ZZ=ZZ+ZZ
17193 IFE ZZ,<ZZ=1>
17194 040467 204 00 0 00 070444 MOVS [XWD ZZ,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
17195 ;AND MOVE RESULT INTO AC
17196 040470 312 00 0 00 070444 CAME [XWD ZZ,ZZ] ;PASS TEST IF C(AC) CONTAINS ZZ,,ZZ
17197 STOP ^
17198 040471 254 04 0 00 040472 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
17199 040472 324 00 0 00 040473 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
17200 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
17201 ;IN THE SUBTEST) TO LOOP ON ERROR^
17202
17203 ;**********
17204
17205
17206 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
17207 ;MOVES IT INTO AC. IN THIS CASE, A 1 IS RIPPLED THRU BOTH HALVES
17208 ;OF E [C(E)=ZZ,,ZZ WHERE ZZ IS A FLOATING 1]. THEN, C(AC) IS CHECKED.
17209 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF EACH HALF
17210
17211 002107 SN=SN+1
17212 000100 ZZ=ZZ+ZZ
17213 IFE ZZ,<ZZ=1>
17214 040473 204 00 0 00 070445 MOVS [XWD ZZ,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
17215 ;AND MOVE RESULT INTO AC
17216 040474 312 00 0 00 070445 CAME [XWD ZZ,ZZ] ;PASS TEST IF C(AC) CONTAINS ZZ,,ZZ
17217 STOP ^
17218 040475 254 04 0 00 040476 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
17219 040476 324 00 0 00 040477 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
17220 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
17221 ;IN THE SUBTEST) TO LOOP ON ERROR^
17222
17223 ;**********
17224
17225
17226 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 26-3
DFKAA2 MAC 25-AUG-75 13:56 TEST OF MOVS INSTRUCTION SEQ 0369
17227 ;MOVES IT INTO AC. IN THIS CASE, A 1 IS RIPPLED THRU BOTH HALVES
17228 ;OF E [C(E)=ZZ,,ZZ WHERE ZZ IS A FLOATING 1]. THEN, C(AC) IS CHECKED.
17229 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF EACH HALF
17230
17231 002110 SN=SN+1
17232 000200 ZZ=ZZ+ZZ
17233 IFE ZZ,<ZZ=1>
17234 040477 204 00 0 00 070446 MOVS [XWD ZZ,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
17235 ;AND MOVE RESULT INTO AC
17236 040500 312 00 0 00 070446 CAME [XWD ZZ,ZZ] ;PASS TEST IF C(AC) CONTAINS ZZ,,ZZ
17237 STOP ^
17238 040501 254 04 0 00 040502 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
17239 040502 324 00 0 00 040503 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
17240 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
17241 ;IN THE SUBTEST) TO LOOP ON ERROR^
17242
17243 ;**********
17244
17245
17246 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
17247 ;MOVES IT INTO AC. IN THIS CASE, A 1 IS RIPPLED THRU BOTH HALVES
17248 ;OF E [C(E)=ZZ,,ZZ WHERE ZZ IS A FLOATING 1]. THEN, C(AC) IS CHECKED.
17249 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF EACH HALF
17250
17251 002111 SN=SN+1
17252 000400 ZZ=ZZ+ZZ
17253 IFE ZZ,<ZZ=1>
17254 040503 204 00 0 00 070447 MOVS [XWD ZZ,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
17255 ;AND MOVE RESULT INTO AC
17256 040504 312 00 0 00 070447 CAME [XWD ZZ,ZZ] ;PASS TEST IF C(AC) CONTAINS ZZ,,ZZ
17257 STOP ^
17258 040505 254 04 0 00 040506 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
17259 040506 324 00 0 00 040507 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
17260 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
17261 ;IN THE SUBTEST) TO LOOP ON ERROR^
17262
17263 ;**********
17264
17265
17266 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
17267 ;MOVES IT INTO AC. IN THIS CASE, A 1 IS RIPPLED THRU BOTH HALVES
17268 ;OF E [C(E)=ZZ,,ZZ WHERE ZZ IS A FLOATING 1]. THEN, C(AC) IS CHECKED.
17269 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF EACH HALF
17270
17271 002112 SN=SN+1
17272 001000 ZZ=ZZ+ZZ
17273 IFE ZZ,<ZZ=1>
17274 040507 204 00 0 00 070450 MOVS [XWD ZZ,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
17275 ;AND MOVE RESULT INTO AC
17276 040510 312 00 0 00 070450 CAME [XWD ZZ,ZZ] ;PASS TEST IF C(AC) CONTAINS ZZ,,ZZ
17277 STOP ^
17278 040511 254 04 0 00 040512 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
17279 040512 324 00 0 00 040513 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
17280 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
17281 ;IN THE SUBTEST) TO LOOP ON ERROR^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 26-4
DFKAA2 MAC 25-AUG-75 13:56 TEST OF MOVS INSTRUCTION SEQ 0370
17282
17283 ;**********
17284
17285
17286 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
17287 ;MOVES IT INTO AC. IN THIS CASE, A 1 IS RIPPLED THRU BOTH HALVES
17288 ;OF E [C(E)=ZZ,,ZZ WHERE ZZ IS A FLOATING 1]. THEN, C(AC) IS CHECKED.
17289 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF EACH HALF
17290
17291 002113 SN=SN+1
17292 002000 ZZ=ZZ+ZZ
17293 IFE ZZ,<ZZ=1>
17294 040513 204 00 0 00 070451 MOVS [XWD ZZ,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
17295 ;AND MOVE RESULT INTO AC
17296 040514 312 00 0 00 070451 CAME [XWD ZZ,ZZ] ;PASS TEST IF C(AC) CONTAINS ZZ,,ZZ
17297 STOP ^
17298 040515 254 04 0 00 040516 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
17299 040516 324 00 0 00 040517 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
17300 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
17301 ;IN THE SUBTEST) TO LOOP ON ERROR^
17302
17303 ;**********
17304
17305
17306 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
17307 ;MOVES IT INTO AC. IN THIS CASE, A 1 IS RIPPLED THRU BOTH HALVES
17308 ;OF E [C(E)=ZZ,,ZZ WHERE ZZ IS A FLOATING 1]. THEN, C(AC) IS CHECKED.
17309 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF EACH HALF
17310
17311 002114 SN=SN+1
17312 004000 ZZ=ZZ+ZZ
17313 IFE ZZ,<ZZ=1>
17314 040517 204 00 0 00 070452 MOVS [XWD ZZ,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
17315 ;AND MOVE RESULT INTO AC
17316 040520 312 00 0 00 070452 CAME [XWD ZZ,ZZ] ;PASS TEST IF C(AC) CONTAINS ZZ,,ZZ
17317 STOP ^
17318 040521 254 04 0 00 040522 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
17319 040522 324 00 0 00 040523 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
17320 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
17321 ;IN THE SUBTEST) TO LOOP ON ERROR^
17322
17323 ;**********
17324
17325
17326 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
17327 ;MOVES IT INTO AC. IN THIS CASE, A 1 IS RIPPLED THRU BOTH HALVES
17328 ;OF E [C(E)=ZZ,,ZZ WHERE ZZ IS A FLOATING 1]. THEN, C(AC) IS CHECKED.
17329 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF EACH HALF
17330
17331 002115 SN=SN+1
17332 010000 ZZ=ZZ+ZZ
17333 IFE ZZ,<ZZ=1>
17334 040523 204 00 0 00 070453 MOVS [XWD ZZ,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
17335 ;AND MOVE RESULT INTO AC
17336 040524 312 00 0 00 070453 CAME [XWD ZZ,ZZ] ;PASS TEST IF C(AC) CONTAINS ZZ,,ZZ
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 26-5
DFKAA2 MAC 25-AUG-75 13:56 TEST OF MOVS INSTRUCTION SEQ 0371
17337 STOP ^
17338 040525 254 04 0 00 040526 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
17339 040526 324 00 0 00 040527 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
17340 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
17341 ;IN THE SUBTEST) TO LOOP ON ERROR^
17342
17343 ;**********
17344
17345
17346 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
17347 ;MOVES IT INTO AC. IN THIS CASE, A 1 IS RIPPLED THRU BOTH HALVES
17348 ;OF E [C(E)=ZZ,,ZZ WHERE ZZ IS A FLOATING 1]. THEN, C(AC) IS CHECKED.
17349 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF EACH HALF
17350
17351 002116 SN=SN+1
17352 020000 ZZ=ZZ+ZZ
17353 IFE ZZ,<ZZ=1>
17354 040527 204 00 0 00 070454 MOVS [XWD ZZ,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
17355 ;AND MOVE RESULT INTO AC
17356 040530 312 00 0 00 070454 CAME [XWD ZZ,ZZ] ;PASS TEST IF C(AC) CONTAINS ZZ,,ZZ
17357 STOP ^
17358 040531 254 04 0 00 040532 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
17359 040532 324 00 0 00 040533 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
17360 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
17361 ;IN THE SUBTEST) TO LOOP ON ERROR^
17362
17363 ;**********
17364
17365
17366 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
17367 ;MOVES IT INTO AC. IN THIS CASE, A 1 IS RIPPLED THRU BOTH HALVES
17368 ;OF E [C(E)=ZZ,,ZZ WHERE ZZ IS A FLOATING 1]. THEN, C(AC) IS CHECKED.
17369 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF EACH HALF
17370
17371 002117 SN=SN+1
17372 040000 ZZ=ZZ+ZZ
17373 IFE ZZ,<ZZ=1>
17374 040533 204 00 0 00 070455 MOVS [XWD ZZ,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
17375 ;AND MOVE RESULT INTO AC
17376 040534 312 00 0 00 070455 CAME [XWD ZZ,ZZ] ;PASS TEST IF C(AC) CONTAINS ZZ,,ZZ
17377 STOP ^
17378 040535 254 04 0 00 040536 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
17379 040536 324 00 0 00 040537 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
17380 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
17381 ;IN THE SUBTEST) TO LOOP ON ERROR^
17382
17383 ;**********
17384
17385
17386 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
17387 ;MOVES IT INTO AC. IN THIS CASE, A 1 IS RIPPLED THRU BOTH HALVES
17388 ;OF E [C(E)=ZZ,,ZZ WHERE ZZ IS A FLOATING 1]. THEN, C(AC) IS CHECKED.
17389 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF EACH HALF
17390
17391 002120 SN=SN+1
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 26-6
DFKAA2 MAC 25-AUG-75 13:56 TEST OF MOVS INSTRUCTION SEQ 0372
17392 100000 ZZ=ZZ+ZZ
17393 IFE ZZ,<ZZ=1>
17394 040537 204 00 0 00 070456 MOVS [XWD ZZ,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
17395 ;AND MOVE RESULT INTO AC
17396 040540 312 00 0 00 070456 CAME [XWD ZZ,ZZ] ;PASS TEST IF C(AC) CONTAINS ZZ,,ZZ
17397 STOP ^
17398 040541 254 04 0 00 040542 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
17399 040542 324 00 0 00 040543 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
17400 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
17401 ;IN THE SUBTEST) TO LOOP ON ERROR^
17402
17403 ;**********
17404
17405
17406 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
17407 ;MOVES IT INTO AC. IN THIS CASE, A 1 IS RIPPLED THRU BOTH HALVES
17408 ;OF E [C(E)=ZZ,,ZZ WHERE ZZ IS A FLOATING 1]. THEN, C(AC) IS CHECKED.
17409 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF EACH HALF
17410
17411 002121 SN=SN+1
17412 200000 ZZ=ZZ+ZZ
17413 IFE ZZ,<ZZ=1>
17414 040543 204 00 0 00 070457 MOVS [XWD ZZ,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
17415 ;AND MOVE RESULT INTO AC
17416 040544 312 00 0 00 070457 CAME [XWD ZZ,ZZ] ;PASS TEST IF C(AC) CONTAINS ZZ,,ZZ
17417 STOP ^
17418 040545 254 04 0 00 040546 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
17419 040546 324 00 0 00 040547 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
17420 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
17421 ;IN THE SUBTEST) TO LOOP ON ERROR^
17422
17423 ;**********
17424
17425
17426 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
17427 ;MOVES IT INTO AC. IN THIS CASE, A 1 IS RIPPLED THRU BOTH HALVES
17428 ;OF E [C(E)=ZZ,,ZZ WHERE ZZ IS A FLOATING 1]. THEN, C(AC) IS CHECKED.
17429 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF EACH HALF
17430
17431 002122 SN=SN+1
17432 400000 ZZ=ZZ+ZZ
17433 IFE ZZ,<ZZ=1>
17434 040547 204 00 0 00 070460 MOVS [XWD ZZ,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
17435 ;AND MOVE RESULT INTO AC
17436 040550 312 00 0 00 070460 CAME [XWD ZZ,ZZ] ;PASS TEST IF C(AC) CONTAINS ZZ,,ZZ
17437 STOP ^
17438 040551 254 04 0 00 040552 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
17439 040552 324 00 0 00 040553 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
17440 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
17441 ;IN THE SUBTEST) TO LOOP ON ERROR^
17442
17443 ;**********
17444
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27
DFKAA2 MAC 25-AUG-75 13:56 TEST OF MOVS INSTRUCTION SEQ 0373
17445 002200 SN=2200
17446 000000 ZZ=0
17447
17448 B2200: REPEAT ^D18,<
17449 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
17450 ;MOVES IT INTO AC. IN THIS CASE, A 0 IS RIPPLED THRU BOTH HALVES
17451 ;OF E [C(E)=ZZ,,ZZ, WHERE ZZ IS A FLOATING 0]. THEN, C(AC) IS CHECKED.
17452 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 0 THRU ALL 18 BITS OF EACH HALF
17453
17454 SN=SN+1
17455 ZZ=ZZ+ZZ+1
17456 IFE <ZZ-1>,<ZZ=-2>
17457 MOVS [XWD ZZ,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
17458 ;AND MOVE RESULT INTO AC
17459 CAME [XWD ZZ,ZZ] ;PASS TEST IF AC CONTAINS ZZ,,ZZ
17460 STOP
17461
17462 ;**********
17463 >
17464
17465 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
17466 ;MOVES IT INTO AC. IN THIS CASE, A 0 IS RIPPLED THRU BOTH HALVES
17467 ;OF E [C(E)=ZZ,,ZZ, WHERE ZZ IS A FLOATING 0]. THEN, C(AC) IS CHECKED.
17468 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 0 THRU ALL 18 BITS OF EACH HALF
17469
17470 002201 SN=SN+1
17471 000001 ZZ=ZZ+ZZ+1
17472 777777 777776 IFE <ZZ-1>,<ZZ=-2>
17473 040553 204 00 0 00 070461 MOVS [XWD ZZ,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
17474 ;AND MOVE RESULT INTO AC
17475 040554 312 00 0 00 070461 CAME [XWD ZZ,ZZ] ;PASS TEST IF AC CONTAINS ZZ,,ZZ
17476 STOP ^
17477 040555 254 04 0 00 040556 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
17478 040556 324 00 0 00 040557 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
17479 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
17480 ;IN THE SUBTEST) TO LOOP ON ERROR^
17481
17482 ;**********
17483
17484
17485 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
17486 ;MOVES IT INTO AC. IN THIS CASE, A 0 IS RIPPLED THRU BOTH HALVES
17487 ;OF E [C(E)=ZZ,,ZZ, WHERE ZZ IS A FLOATING 0]. THEN, C(AC) IS CHECKED.
17488 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 0 THRU ALL 18 BITS OF EACH HALF
17489
17490 002202 SN=SN+1
17491 777777 777775 ZZ=ZZ+ZZ+1
17492 IFE <ZZ-1>,<ZZ=-2>
17493 040557 204 00 0 00 070462 MOVS [XWD ZZ,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
17494 ;AND MOVE RESULT INTO AC
17495 040560 312 00 0 00 070462 CAME [XWD ZZ,ZZ] ;PASS TEST IF AC CONTAINS ZZ,,ZZ
17496 STOP ^
17497 040561 254 04 0 00 040562 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
17498 040562 324 00 0 00 040563 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
17499 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27-1
DFKAA2 MAC 25-AUG-75 13:56 TEST OF MOVS INSTRUCTION SEQ 0374
17500 ;IN THE SUBTEST) TO LOOP ON ERROR^
17501
17502 ;**********
17503
17504
17505 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
17506 ;MOVES IT INTO AC. IN THIS CASE, A 0 IS RIPPLED THRU BOTH HALVES
17507 ;OF E [C(E)=ZZ,,ZZ, WHERE ZZ IS A FLOATING 0]. THEN, C(AC) IS CHECKED.
17508 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 0 THRU ALL 18 BITS OF EACH HALF
17509
17510 002203 SN=SN+1
17511 777777 777773 ZZ=ZZ+ZZ+1
17512 IFE <ZZ-1>,<ZZ=-2>
17513 040563 204 00 0 00 070463 MOVS [XWD ZZ,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
17514 ;AND MOVE RESULT INTO AC
17515 040564 312 00 0 00 070463 CAME [XWD ZZ,ZZ] ;PASS TEST IF AC CONTAINS ZZ,,ZZ
17516 STOP ^
17517 040565 254 04 0 00 040566 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
17518 040566 324 00 0 00 040567 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
17519 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
17520 ;IN THE SUBTEST) TO LOOP ON ERROR^
17521
17522 ;**********
17523
17524
17525 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
17526 ;MOVES IT INTO AC. IN THIS CASE, A 0 IS RIPPLED THRU BOTH HALVES
17527 ;OF E [C(E)=ZZ,,ZZ, WHERE ZZ IS A FLOATING 0]. THEN, C(AC) IS CHECKED.
17528 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 0 THRU ALL 18 BITS OF EACH HALF
17529
17530 002204 SN=SN+1
17531 777777 777767 ZZ=ZZ+ZZ+1
17532 IFE <ZZ-1>,<ZZ=-2>
17533 040567 204 00 0 00 070464 MOVS [XWD ZZ,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
17534 ;AND MOVE RESULT INTO AC
17535 040570 312 00 0 00 070464 CAME [XWD ZZ,ZZ] ;PASS TEST IF AC CONTAINS ZZ,,ZZ
17536 STOP ^
17537 040571 254 04 0 00 040572 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
17538 040572 324 00 0 00 040573 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
17539 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
17540 ;IN THE SUBTEST) TO LOOP ON ERROR^
17541
17542 ;**********
17543
17544
17545 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
17546 ;MOVES IT INTO AC. IN THIS CASE, A 0 IS RIPPLED THRU BOTH HALVES
17547 ;OF E [C(E)=ZZ,,ZZ, WHERE ZZ IS A FLOATING 0]. THEN, C(AC) IS CHECKED.
17548 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 0 THRU ALL 18 BITS OF EACH HALF
17549
17550 002205 SN=SN+1
17551 777777 777757 ZZ=ZZ+ZZ+1
17552 IFE <ZZ-1>,<ZZ=-2>
17553 040573 204 00 0 00 070465 MOVS [XWD ZZ,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
17554 ;AND MOVE RESULT INTO AC
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27-2
DFKAA2 MAC 25-AUG-75 13:56 TEST OF MOVS INSTRUCTION SEQ 0375
17555 040574 312 00 0 00 070465 CAME [XWD ZZ,ZZ] ;PASS TEST IF AC CONTAINS ZZ,,ZZ
17556 STOP ^
17557 040575 254 04 0 00 040576 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
17558 040576 324 00 0 00 040577 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
17559 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
17560 ;IN THE SUBTEST) TO LOOP ON ERROR^
17561
17562 ;**********
17563
17564
17565 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
17566 ;MOVES IT INTO AC. IN THIS CASE, A 0 IS RIPPLED THRU BOTH HALVES
17567 ;OF E [C(E)=ZZ,,ZZ, WHERE ZZ IS A FLOATING 0]. THEN, C(AC) IS CHECKED.
17568 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 0 THRU ALL 18 BITS OF EACH HALF
17569
17570 002206 SN=SN+1
17571 777777 777737 ZZ=ZZ+ZZ+1
17572 IFE <ZZ-1>,<ZZ=-2>
17573 040577 204 00 0 00 070466 MOVS [XWD ZZ,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
17574 ;AND MOVE RESULT INTO AC
17575 040600 312 00 0 00 070466 CAME [XWD ZZ,ZZ] ;PASS TEST IF AC CONTAINS ZZ,,ZZ
17576 STOP ^
17577 040601 254 04 0 00 040602 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
17578 040602 324 00 0 00 040603 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
17579 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
17580 ;IN THE SUBTEST) TO LOOP ON ERROR^
17581
17582 ;**********
17583
17584
17585 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
17586 ;MOVES IT INTO AC. IN THIS CASE, A 0 IS RIPPLED THRU BOTH HALVES
17587 ;OF E [C(E)=ZZ,,ZZ, WHERE ZZ IS A FLOATING 0]. THEN, C(AC) IS CHECKED.
17588 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 0 THRU ALL 18 BITS OF EACH HALF
17589
17590 002207 SN=SN+1
17591 777777 777677 ZZ=ZZ+ZZ+1
17592 IFE <ZZ-1>,<ZZ=-2>
17593 040603 204 00 0 00 070467 MOVS [XWD ZZ,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
17594 ;AND MOVE RESULT INTO AC
17595 040604 312 00 0 00 070467 CAME [XWD ZZ,ZZ] ;PASS TEST IF AC CONTAINS ZZ,,ZZ
17596 STOP ^
17597 040605 254 04 0 00 040606 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
17598 040606 324 00 0 00 040607 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
17599 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
17600 ;IN THE SUBTEST) TO LOOP ON ERROR^
17601
17602 ;**********
17603
17604
17605 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
17606 ;MOVES IT INTO AC. IN THIS CASE, A 0 IS RIPPLED THRU BOTH HALVES
17607 ;OF E [C(E)=ZZ,,ZZ, WHERE ZZ IS A FLOATING 0]. THEN, C(AC) IS CHECKED.
17608 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 0 THRU ALL 18 BITS OF EACH HALF
17609
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27-3
DFKAA2 MAC 25-AUG-75 13:56 TEST OF MOVS INSTRUCTION SEQ 0376
17610 002210 SN=SN+1
17611 777777 777577 ZZ=ZZ+ZZ+1
17612 IFE <ZZ-1>,<ZZ=-2>
17613 040607 204 00 0 00 070470 MOVS [XWD ZZ,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
17614 ;AND MOVE RESULT INTO AC
17615 040610 312 00 0 00 070470 CAME [XWD ZZ,ZZ] ;PASS TEST IF AC CONTAINS ZZ,,ZZ
17616 STOP ^
17617 040611 254 04 0 00 040612 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
17618 040612 324 00 0 00 040613 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
17619 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
17620 ;IN THE SUBTEST) TO LOOP ON ERROR^
17621
17622 ;**********
17623
17624
17625 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
17626 ;MOVES IT INTO AC. IN THIS CASE, A 0 IS RIPPLED THRU BOTH HALVES
17627 ;OF E [C(E)=ZZ,,ZZ, WHERE ZZ IS A FLOATING 0]. THEN, C(AC) IS CHECKED.
17628 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 0 THRU ALL 18 BITS OF EACH HALF
17629
17630 002211 SN=SN+1
17631 777777 777377 ZZ=ZZ+ZZ+1
17632 IFE <ZZ-1>,<ZZ=-2>
17633 040613 204 00 0 00 070471 MOVS [XWD ZZ,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
17634 ;AND MOVE RESULT INTO AC
17635 040614 312 00 0 00 070471 CAME [XWD ZZ,ZZ] ;PASS TEST IF AC CONTAINS ZZ,,ZZ
17636 STOP ^
17637 040615 254 04 0 00 040616 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
17638 040616 324 00 0 00 040617 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
17639 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
17640 ;IN THE SUBTEST) TO LOOP ON ERROR^
17641
17642 ;**********
17643
17644
17645 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
17646 ;MOVES IT INTO AC. IN THIS CASE, A 0 IS RIPPLED THRU BOTH HALVES
17647 ;OF E [C(E)=ZZ,,ZZ, WHERE ZZ IS A FLOATING 0]. THEN, C(AC) IS CHECKED.
17648 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 0 THRU ALL 18 BITS OF EACH HALF
17649
17650 002212 SN=SN+1
17651 777777 776777 ZZ=ZZ+ZZ+1
17652 IFE <ZZ-1>,<ZZ=-2>
17653 040617 204 00 0 00 070472 MOVS [XWD ZZ,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
17654 ;AND MOVE RESULT INTO AC
17655 040620 312 00 0 00 070472 CAME [XWD ZZ,ZZ] ;PASS TEST IF AC CONTAINS ZZ,,ZZ
17656 STOP ^
17657 040621 254 04 0 00 040622 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
17658 040622 324 00 0 00 040623 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
17659 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
17660 ;IN THE SUBTEST) TO LOOP ON ERROR^
17661
17662 ;**********
17663
17664
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27-4
DFKAA2 MAC 25-AUG-75 13:56 TEST OF MOVS INSTRUCTION SEQ 0377
17665 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
17666 ;MOVES IT INTO AC. IN THIS CASE, A 0 IS RIPPLED THRU BOTH HALVES
17667 ;OF E [C(E)=ZZ,,ZZ, WHERE ZZ IS A FLOATING 0]. THEN, C(AC) IS CHECKED.
17668 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 0 THRU ALL 18 BITS OF EACH HALF
17669
17670 002213 SN=SN+1
17671 777777 775777 ZZ=ZZ+ZZ+1
17672 IFE <ZZ-1>,<ZZ=-2>
17673 040623 204 00 0 00 070473 MOVS [XWD ZZ,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
17674 ;AND MOVE RESULT INTO AC
17675 040624 312 00 0 00 070473 CAME [XWD ZZ,ZZ] ;PASS TEST IF AC CONTAINS ZZ,,ZZ
17676 STOP ^
17677 040625 254 04 0 00 040626 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
17678 040626 324 00 0 00 040627 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
17679 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
17680 ;IN THE SUBTEST) TO LOOP ON ERROR^
17681
17682 ;**********
17683
17684
17685 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
17686 ;MOVES IT INTO AC. IN THIS CASE, A 0 IS RIPPLED THRU BOTH HALVES
17687 ;OF E [C(E)=ZZ,,ZZ, WHERE ZZ IS A FLOATING 0]. THEN, C(AC) IS CHECKED.
17688 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 0 THRU ALL 18 BITS OF EACH HALF
17689
17690 002214 SN=SN+1
17691 777777 773777 ZZ=ZZ+ZZ+1
17692 IFE <ZZ-1>,<ZZ=-2>
17693 040627 204 00 0 00 070474 MOVS [XWD ZZ,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
17694 ;AND MOVE RESULT INTO AC
17695 040630 312 00 0 00 070474 CAME [XWD ZZ,ZZ] ;PASS TEST IF AC CONTAINS ZZ,,ZZ
17696 STOP ^
17697 040631 254 04 0 00 040632 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
17698 040632 324 00 0 00 040633 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
17699 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
17700 ;IN THE SUBTEST) TO LOOP ON ERROR^
17701
17702 ;**********
17703
17704
17705 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
17706 ;MOVES IT INTO AC. IN THIS CASE, A 0 IS RIPPLED THRU BOTH HALVES
17707 ;OF E [C(E)=ZZ,,ZZ, WHERE ZZ IS A FLOATING 0]. THEN, C(AC) IS CHECKED.
17708 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 0 THRU ALL 18 BITS OF EACH HALF
17709
17710 002215 SN=SN+1
17711 777777 767777 ZZ=ZZ+ZZ+1
17712 IFE <ZZ-1>,<ZZ=-2>
17713 040633 204 00 0 00 070475 MOVS [XWD ZZ,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
17714 ;AND MOVE RESULT INTO AC
17715 040634 312 00 0 00 070475 CAME [XWD ZZ,ZZ] ;PASS TEST IF AC CONTAINS ZZ,,ZZ
17716 STOP ^
17717 040635 254 04 0 00 040636 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
17718 040636 324 00 0 00 040637 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
17719 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27-5
DFKAA2 MAC 25-AUG-75 13:56 TEST OF MOVS INSTRUCTION SEQ 0378
17720 ;IN THE SUBTEST) TO LOOP ON ERROR^
17721
17722 ;**********
17723
17724
17725 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
17726 ;MOVES IT INTO AC. IN THIS CASE, A 0 IS RIPPLED THRU BOTH HALVES
17727 ;OF E [C(E)=ZZ,,ZZ, WHERE ZZ IS A FLOATING 0]. THEN, C(AC) IS CHECKED.
17728 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 0 THRU ALL 18 BITS OF EACH HALF
17729
17730 002216 SN=SN+1
17731 777777 757777 ZZ=ZZ+ZZ+1
17732 IFE <ZZ-1>,<ZZ=-2>
17733 040637 204 00 0 00 070476 MOVS [XWD ZZ,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
17734 ;AND MOVE RESULT INTO AC
17735 040640 312 00 0 00 070476 CAME [XWD ZZ,ZZ] ;PASS TEST IF AC CONTAINS ZZ,,ZZ
17736 STOP ^
17737 040641 254 04 0 00 040642 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
17738 040642 324 00 0 00 040643 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
17739 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
17740 ;IN THE SUBTEST) TO LOOP ON ERROR^
17741
17742 ;**********
17743
17744
17745 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
17746 ;MOVES IT INTO AC. IN THIS CASE, A 0 IS RIPPLED THRU BOTH HALVES
17747 ;OF E [C(E)=ZZ,,ZZ, WHERE ZZ IS A FLOATING 0]. THEN, C(AC) IS CHECKED.
17748 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 0 THRU ALL 18 BITS OF EACH HALF
17749
17750 002217 SN=SN+1
17751 777777 737777 ZZ=ZZ+ZZ+1
17752 IFE <ZZ-1>,<ZZ=-2>
17753 040643 204 00 0 00 070477 MOVS [XWD ZZ,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
17754 ;AND MOVE RESULT INTO AC
17755 040644 312 00 0 00 070477 CAME [XWD ZZ,ZZ] ;PASS TEST IF AC CONTAINS ZZ,,ZZ
17756 STOP ^
17757 040645 254 04 0 00 040646 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
17758 040646 324 00 0 00 040647 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
17759 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
17760 ;IN THE SUBTEST) TO LOOP ON ERROR^
17761
17762 ;**********
17763
17764
17765 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
17766 ;MOVES IT INTO AC. IN THIS CASE, A 0 IS RIPPLED THRU BOTH HALVES
17767 ;OF E [C(E)=ZZ,,ZZ, WHERE ZZ IS A FLOATING 0]. THEN, C(AC) IS CHECKED.
17768 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 0 THRU ALL 18 BITS OF EACH HALF
17769
17770 002220 SN=SN+1
17771 777777 677777 ZZ=ZZ+ZZ+1
17772 IFE <ZZ-1>,<ZZ=-2>
17773 040647 204 00 0 00 070500 MOVS [XWD ZZ,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
17774 ;AND MOVE RESULT INTO AC
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27-6
DFKAA2 MAC 25-AUG-75 13:56 TEST OF MOVS INSTRUCTION SEQ 0379
17775 040650 312 00 0 00 070500 CAME [XWD ZZ,ZZ] ;PASS TEST IF AC CONTAINS ZZ,,ZZ
17776 STOP ^
17777 040651 254 04 0 00 040652 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
17778 040652 324 00 0 00 040653 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
17779 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
17780 ;IN THE SUBTEST) TO LOOP ON ERROR^
17781
17782 ;**********
17783
17784
17785 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
17786 ;MOVES IT INTO AC. IN THIS CASE, A 0 IS RIPPLED THRU BOTH HALVES
17787 ;OF E [C(E)=ZZ,,ZZ, WHERE ZZ IS A FLOATING 0]. THEN, C(AC) IS CHECKED.
17788 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 0 THRU ALL 18 BITS OF EACH HALF
17789
17790 002221 SN=SN+1
17791 777777 577777 ZZ=ZZ+ZZ+1
17792 IFE <ZZ-1>,<ZZ=-2>
17793 040653 204 00 0 00 070501 MOVS [XWD ZZ,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
17794 ;AND MOVE RESULT INTO AC
17795 040654 312 00 0 00 070501 CAME [XWD ZZ,ZZ] ;PASS TEST IF AC CONTAINS ZZ,,ZZ
17796 STOP ^
17797 040655 254 04 0 00 040656 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
17798 040656 324 00 0 00 040657 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
17799 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
17800 ;IN THE SUBTEST) TO LOOP ON ERROR^
17801
17802 ;**********
17803
17804
17805 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
17806 ;MOVES IT INTO AC. IN THIS CASE, A 0 IS RIPPLED THRU BOTH HALVES
17807 ;OF E [C(E)=ZZ,,ZZ, WHERE ZZ IS A FLOATING 0]. THEN, C(AC) IS CHECKED.
17808 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 0 THRU ALL 18 BITS OF EACH HALF
17809
17810 002222 SN=SN+1
17811 777777 377777 ZZ=ZZ+ZZ+1
17812 IFE <ZZ-1>,<ZZ=-2>
17813 040657 204 00 0 00 070502 MOVS [XWD ZZ,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
17814 ;AND MOVE RESULT INTO AC
17815 040660 312 00 0 00 070502 CAME [XWD ZZ,ZZ] ;PASS TEST IF AC CONTAINS ZZ,,ZZ
17816 STOP ^
17817 040661 254 04 0 00 040662 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
17818 040662 324 00 0 00 040663 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
17819 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
17820 ;IN THE SUBTEST) TO LOOP ON ERROR^
17821
17822 ;**********
17823
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 28
DFKAA2 MAC 25-AUG-75 13:56 TEST OF MOVS INSTRUCTION SEQ 0380
17824 002300 SN=2300
17825 000000 ZZ=0
17826 000000 YY=0
17827
17828 B2300: REPEAT ^D18,<
17829 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
17830 ;MOVES IT INTO AC. IN THIS CASE, A 1 IS RIPPLED THRU THE LEFT HALF OF E
17831 ;AND A 0 IS RIPPLED THRU THE RIGHT HALF
17832 ;OF E [C(E)=ZZ,,YY, WHERE ZZ IS A FLOATING 1 AND YY IS A FLOATING 0].
17833 ;THEN, C(AC) IS CHECKED.
17834 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF
17835 ;THE LEFT HALF AND A 0 THRU ALL 18 BITS OF THE RIGHT HALF OF E
17836
17837 SN=SN+1
17838 ZZ=ZZ+ZZ
17839 YY=YY+YY+1
17840 IFE ZZ,<ZZ=1>
17841 IFE <YY-1>,<YY=-2>
17842 MOVS [XWD ZZ,YY] ;*MOVS SHOULD SWAP HALVES OF C(E)
17843 ;AND MOVE RESULT INTO AC
17844 CAME [XWD YY,ZZ] ;PASS TEST IF AC CONTAINS YY,,ZZ
17845 STOP
17846
17847 ;**********
17848 >
17849
17850 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
17851 ;MOVES IT INTO AC. IN THIS CASE, A 1 IS RIPPLED THRU THE LEFT HALF OF E
17852 ;AND A 0 IS RIPPLED THRU THE RIGHT HALF
17853 ;OF E [C(E)=ZZ,,YY, WHERE ZZ IS A FLOATING 1 AND YY IS A FLOATING 0].
17854 ;THEN, C(AC) IS CHECKED.
17855 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF
17856 ;THE LEFT HALF AND A 0 THRU ALL 18 BITS OF THE RIGHT HALF OF E
17857
17858 002301 SN=SN+1
17859 000000 ZZ=ZZ+ZZ
17860 000001 YY=YY+YY+1
17861 000001 IFE ZZ,<ZZ=1>
17862 777777 777776 IFE <YY-1>,<YY=-2>
17863 040663 204 00 0 00 070503 MOVS [XWD ZZ,YY] ;*MOVS SHOULD SWAP HALVES OF C(E)
17864 ;AND MOVE RESULT INTO AC
17865 040664 312 00 0 00 070504 CAME [XWD YY,ZZ] ;PASS TEST IF AC CONTAINS YY,,ZZ
17866 STOP ^
17867 040665 254 04 0 00 040666 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
17868 040666 324 00 0 00 040667 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
17869 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
17870 ;IN THE SUBTEST) TO LOOP ON ERROR^
17871
17872 ;**********
17873
17874
17875 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
17876 ;MOVES IT INTO AC. IN THIS CASE, A 1 IS RIPPLED THRU THE LEFT HALF OF E
17877 ;AND A 0 IS RIPPLED THRU THE RIGHT HALF
17878 ;OF E [C(E)=ZZ,,YY, WHERE ZZ IS A FLOATING 1 AND YY IS A FLOATING 0].
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 28-1
DFKAA2 MAC 25-AUG-75 13:56 TEST OF MOVS INSTRUCTION SEQ 0381
17879 ;THEN, C(AC) IS CHECKED.
17880 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF
17881 ;THE LEFT HALF AND A 0 THRU ALL 18 BITS OF THE RIGHT HALF OF E
17882
17883 002302 SN=SN+1
17884 000002 ZZ=ZZ+ZZ
17885 777777 777775 YY=YY+YY+1
17886 IFE ZZ,<ZZ=1>
17887 IFE <YY-1>,<YY=-2>
17888 040667 204 00 0 00 070505 MOVS [XWD ZZ,YY] ;*MOVS SHOULD SWAP HALVES OF C(E)
17889 ;AND MOVE RESULT INTO AC
17890 040670 312 00 0 00 070506 CAME [XWD YY,ZZ] ;PASS TEST IF AC CONTAINS YY,,ZZ
17891 STOP ^
17892 040671 254 04 0 00 040672 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
17893 040672 324 00 0 00 040673 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
17894 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
17895 ;IN THE SUBTEST) TO LOOP ON ERROR^
17896
17897 ;**********
17898
17899
17900 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
17901 ;MOVES IT INTO AC. IN THIS CASE, A 1 IS RIPPLED THRU THE LEFT HALF OF E
17902 ;AND A 0 IS RIPPLED THRU THE RIGHT HALF
17903 ;OF E [C(E)=ZZ,,YY, WHERE ZZ IS A FLOATING 1 AND YY IS A FLOATING 0].
17904 ;THEN, C(AC) IS CHECKED.
17905 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF
17906 ;THE LEFT HALF AND A 0 THRU ALL 18 BITS OF THE RIGHT HALF OF E
17907
17908 002303 SN=SN+1
17909 000004 ZZ=ZZ+ZZ
17910 777777 777773 YY=YY+YY+1
17911 IFE ZZ,<ZZ=1>
17912 IFE <YY-1>,<YY=-2>
17913 040673 204 00 0 00 070507 MOVS [XWD ZZ,YY] ;*MOVS SHOULD SWAP HALVES OF C(E)
17914 ;AND MOVE RESULT INTO AC
17915 040674 312 00 0 00 070510 CAME [XWD YY,ZZ] ;PASS TEST IF AC CONTAINS YY,,ZZ
17916 STOP ^
17917 040675 254 04 0 00 040676 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
17918 040676 324 00 0 00 040677 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
17919 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
17920 ;IN THE SUBTEST) TO LOOP ON ERROR^
17921
17922 ;**********
17923
17924
17925 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
17926 ;MOVES IT INTO AC. IN THIS CASE, A 1 IS RIPPLED THRU THE LEFT HALF OF E
17927 ;AND A 0 IS RIPPLED THRU THE RIGHT HALF
17928 ;OF E [C(E)=ZZ,,YY, WHERE ZZ IS A FLOATING 1 AND YY IS A FLOATING 0].
17929 ;THEN, C(AC) IS CHECKED.
17930 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF
17931 ;THE LEFT HALF AND A 0 THRU ALL 18 BITS OF THE RIGHT HALF OF E
17932
17933 002304 SN=SN+1
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 28-2
DFKAA2 MAC 25-AUG-75 13:56 TEST OF MOVS INSTRUCTION SEQ 0382
17934 000010 ZZ=ZZ+ZZ
17935 777777 777767 YY=YY+YY+1
17936 IFE ZZ,<ZZ=1>
17937 IFE <YY-1>,<YY=-2>
17938 040677 204 00 0 00 070511 MOVS [XWD ZZ,YY] ;*MOVS SHOULD SWAP HALVES OF C(E)
17939 ;AND MOVE RESULT INTO AC
17940 040700 312 00 0 00 070512 CAME [XWD YY,ZZ] ;PASS TEST IF AC CONTAINS YY,,ZZ
17941 STOP ^
17942 040701 254 04 0 00 040702 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
17943 040702 324 00 0 00 040703 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
17944 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
17945 ;IN THE SUBTEST) TO LOOP ON ERROR^
17946
17947 ;**********
17948
17949
17950 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
17951 ;MOVES IT INTO AC. IN THIS CASE, A 1 IS RIPPLED THRU THE LEFT HALF OF E
17952 ;AND A 0 IS RIPPLED THRU THE RIGHT HALF
17953 ;OF E [C(E)=ZZ,,YY, WHERE ZZ IS A FLOATING 1 AND YY IS A FLOATING 0].
17954 ;THEN, C(AC) IS CHECKED.
17955 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF
17956 ;THE LEFT HALF AND A 0 THRU ALL 18 BITS OF THE RIGHT HALF OF E
17957
17958 002305 SN=SN+1
17959 000020 ZZ=ZZ+ZZ
17960 777777 777757 YY=YY+YY+1
17961 IFE ZZ,<ZZ=1>
17962 IFE <YY-1>,<YY=-2>
17963 040703 204 00 0 00 070513 MOVS [XWD ZZ,YY] ;*MOVS SHOULD SWAP HALVES OF C(E)
17964 ;AND MOVE RESULT INTO AC
17965 040704 312 00 0 00 070514 CAME [XWD YY,ZZ] ;PASS TEST IF AC CONTAINS YY,,ZZ
17966 STOP ^
17967 040705 254 04 0 00 040706 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
17968 040706 324 00 0 00 040707 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
17969 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
17970 ;IN THE SUBTEST) TO LOOP ON ERROR^
17971
17972 ;**********
17973
17974
17975 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
17976 ;MOVES IT INTO AC. IN THIS CASE, A 1 IS RIPPLED THRU THE LEFT HALF OF E
17977 ;AND A 0 IS RIPPLED THRU THE RIGHT HALF
17978 ;OF E [C(E)=ZZ,,YY, WHERE ZZ IS A FLOATING 1 AND YY IS A FLOATING 0].
17979 ;THEN, C(AC) IS CHECKED.
17980 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF
17981 ;THE LEFT HALF AND A 0 THRU ALL 18 BITS OF THE RIGHT HALF OF E
17982
17983 002306 SN=SN+1
17984 000040 ZZ=ZZ+ZZ
17985 777777 777737 YY=YY+YY+1
17986 IFE ZZ,<ZZ=1>
17987 IFE <YY-1>,<YY=-2>
17988 040707 204 00 0 00 070515 MOVS [XWD ZZ,YY] ;*MOVS SHOULD SWAP HALVES OF C(E)
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 28-3
DFKAA2 MAC 25-AUG-75 13:56 TEST OF MOVS INSTRUCTION SEQ 0383
17989 ;AND MOVE RESULT INTO AC
17990 040710 312 00 0 00 070516 CAME [XWD YY,ZZ] ;PASS TEST IF AC CONTAINS YY,,ZZ
17991 STOP ^
17992 040711 254 04 0 00 040712 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
17993 040712 324 00 0 00 040713 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
17994 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
17995 ;IN THE SUBTEST) TO LOOP ON ERROR^
17996
17997 ;**********
17998
17999
18000 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
18001 ;MOVES IT INTO AC. IN THIS CASE, A 1 IS RIPPLED THRU THE LEFT HALF OF E
18002 ;AND A 0 IS RIPPLED THRU THE RIGHT HALF
18003 ;OF E [C(E)=ZZ,,YY, WHERE ZZ IS A FLOATING 1 AND YY IS A FLOATING 0].
18004 ;THEN, C(AC) IS CHECKED.
18005 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF
18006 ;THE LEFT HALF AND A 0 THRU ALL 18 BITS OF THE RIGHT HALF OF E
18007
18008 002307 SN=SN+1
18009 000100 ZZ=ZZ+ZZ
18010 777777 777677 YY=YY+YY+1
18011 IFE ZZ,<ZZ=1>
18012 IFE <YY-1>,<YY=-2>
18013 040713 204 00 0 00 070517 MOVS [XWD ZZ,YY] ;*MOVS SHOULD SWAP HALVES OF C(E)
18014 ;AND MOVE RESULT INTO AC
18015 040714 312 00 0 00 070520 CAME [XWD YY,ZZ] ;PASS TEST IF AC CONTAINS YY,,ZZ
18016 STOP ^
18017 040715 254 04 0 00 040716 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
18018 040716 324 00 0 00 040717 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
18019 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
18020 ;IN THE SUBTEST) TO LOOP ON ERROR^
18021
18022 ;**********
18023
18024
18025 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
18026 ;MOVES IT INTO AC. IN THIS CASE, A 1 IS RIPPLED THRU THE LEFT HALF OF E
18027 ;AND A 0 IS RIPPLED THRU THE RIGHT HALF
18028 ;OF E [C(E)=ZZ,,YY, WHERE ZZ IS A FLOATING 1 AND YY IS A FLOATING 0].
18029 ;THEN, C(AC) IS CHECKED.
18030 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF
18031 ;THE LEFT HALF AND A 0 THRU ALL 18 BITS OF THE RIGHT HALF OF E
18032
18033 002310 SN=SN+1
18034 000200 ZZ=ZZ+ZZ
18035 777777 777577 YY=YY+YY+1
18036 IFE ZZ,<ZZ=1>
18037 IFE <YY-1>,<YY=-2>
18038 040717 204 00 0 00 070521 MOVS [XWD ZZ,YY] ;*MOVS SHOULD SWAP HALVES OF C(E)
18039 ;AND MOVE RESULT INTO AC
18040 040720 312 00 0 00 070522 CAME [XWD YY,ZZ] ;PASS TEST IF AC CONTAINS YY,,ZZ
18041 STOP ^
18042 040721 254 04 0 00 040722 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
18043 040722 324 00 0 00 040723 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 28-4
DFKAA2 MAC 25-AUG-75 13:56 TEST OF MOVS INSTRUCTION SEQ 0384
18044 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
18045 ;IN THE SUBTEST) TO LOOP ON ERROR^
18046
18047 ;**********
18048
18049
18050 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
18051 ;MOVES IT INTO AC. IN THIS CASE, A 1 IS RIPPLED THRU THE LEFT HALF OF E
18052 ;AND A 0 IS RIPPLED THRU THE RIGHT HALF
18053 ;OF E [C(E)=ZZ,,YY, WHERE ZZ IS A FLOATING 1 AND YY IS A FLOATING 0].
18054 ;THEN, C(AC) IS CHECKED.
18055 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF
18056 ;THE LEFT HALF AND A 0 THRU ALL 18 BITS OF THE RIGHT HALF OF E
18057
18058 002311 SN=SN+1
18059 000400 ZZ=ZZ+ZZ
18060 777777 777377 YY=YY+YY+1
18061 IFE ZZ,<ZZ=1>
18062 IFE <YY-1>,<YY=-2>
18063 040723 204 00 0 00 070523 MOVS [XWD ZZ,YY] ;*MOVS SHOULD SWAP HALVES OF C(E)
18064 ;AND MOVE RESULT INTO AC
18065 040724 312 00 0 00 070524 CAME [XWD YY,ZZ] ;PASS TEST IF AC CONTAINS YY,,ZZ
18066 STOP ^
18067 040725 254 04 0 00 040726 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
18068 040726 324 00 0 00 040727 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
18069 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
18070 ;IN THE SUBTEST) TO LOOP ON ERROR^
18071
18072 ;**********
18073
18074
18075 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
18076 ;MOVES IT INTO AC. IN THIS CASE, A 1 IS RIPPLED THRU THE LEFT HALF OF E
18077 ;AND A 0 IS RIPPLED THRU THE RIGHT HALF
18078 ;OF E [C(E)=ZZ,,YY, WHERE ZZ IS A FLOATING 1 AND YY IS A FLOATING 0].
18079 ;THEN, C(AC) IS CHECKED.
18080 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF
18081 ;THE LEFT HALF AND A 0 THRU ALL 18 BITS OF THE RIGHT HALF OF E
18082
18083 002312 SN=SN+1
18084 001000 ZZ=ZZ+ZZ
18085 777777 776777 YY=YY+YY+1
18086 IFE ZZ,<ZZ=1>
18087 IFE <YY-1>,<YY=-2>
18088 040727 204 00 0 00 070525 MOVS [XWD ZZ,YY] ;*MOVS SHOULD SWAP HALVES OF C(E)
18089 ;AND MOVE RESULT INTO AC
18090 040730 312 00 0 00 070526 CAME [XWD YY,ZZ] ;PASS TEST IF AC CONTAINS YY,,ZZ
18091 STOP ^
18092 040731 254 04 0 00 040732 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
18093 040732 324 00 0 00 040733 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
18094 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
18095 ;IN THE SUBTEST) TO LOOP ON ERROR^
18096
18097 ;**********
18098
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 28-5
DFKAA2 MAC 25-AUG-75 13:56 TEST OF MOVS INSTRUCTION SEQ 0385
18099
18100 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
18101 ;MOVES IT INTO AC. IN THIS CASE, A 1 IS RIPPLED THRU THE LEFT HALF OF E
18102 ;AND A 0 IS RIPPLED THRU THE RIGHT HALF
18103 ;OF E [C(E)=ZZ,,YY, WHERE ZZ IS A FLOATING 1 AND YY IS A FLOATING 0].
18104 ;THEN, C(AC) IS CHECKED.
18105 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF
18106 ;THE LEFT HALF AND A 0 THRU ALL 18 BITS OF THE RIGHT HALF OF E
18107
18108 002313 SN=SN+1
18109 002000 ZZ=ZZ+ZZ
18110 777777 775777 YY=YY+YY+1
18111 IFE ZZ,<ZZ=1>
18112 IFE <YY-1>,<YY=-2>
18113 040733 204 00 0 00 070527 MOVS [XWD ZZ,YY] ;*MOVS SHOULD SWAP HALVES OF C(E)
18114 ;AND MOVE RESULT INTO AC
18115 040734 312 00 0 00 070530 CAME [XWD YY,ZZ] ;PASS TEST IF AC CONTAINS YY,,ZZ
18116 STOP ^
18117 040735 254 04 0 00 040736 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
18118 040736 324 00 0 00 040737 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
18119 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
18120 ;IN THE SUBTEST) TO LOOP ON ERROR^
18121
18122 ;**********
18123
18124
18125 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
18126 ;MOVES IT INTO AC. IN THIS CASE, A 1 IS RIPPLED THRU THE LEFT HALF OF E
18127 ;AND A 0 IS RIPPLED THRU THE RIGHT HALF
18128 ;OF E [C(E)=ZZ,,YY, WHERE ZZ IS A FLOATING 1 AND YY IS A FLOATING 0].
18129 ;THEN, C(AC) IS CHECKED.
18130 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF
18131 ;THE LEFT HALF AND A 0 THRU ALL 18 BITS OF THE RIGHT HALF OF E
18132
18133 002314 SN=SN+1
18134 004000 ZZ=ZZ+ZZ
18135 777777 773777 YY=YY+YY+1
18136 IFE ZZ,<ZZ=1>
18137 IFE <YY-1>,<YY=-2>
18138 040737 204 00 0 00 070531 MOVS [XWD ZZ,YY] ;*MOVS SHOULD SWAP HALVES OF C(E)
18139 ;AND MOVE RESULT INTO AC
18140 040740 312 00 0 00 070532 CAME [XWD YY,ZZ] ;PASS TEST IF AC CONTAINS YY,,ZZ
18141 STOP ^
18142 040741 254 04 0 00 040742 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
18143 040742 324 00 0 00 040743 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
18144 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
18145 ;IN THE SUBTEST) TO LOOP ON ERROR^
18146
18147 ;**********
18148
18149
18150 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
18151 ;MOVES IT INTO AC. IN THIS CASE, A 1 IS RIPPLED THRU THE LEFT HALF OF E
18152 ;AND A 0 IS RIPPLED THRU THE RIGHT HALF
18153 ;OF E [C(E)=ZZ,,YY, WHERE ZZ IS A FLOATING 1 AND YY IS A FLOATING 0].
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 28-6
DFKAA2 MAC 25-AUG-75 13:56 TEST OF MOVS INSTRUCTION SEQ 0386
18154 ;THEN, C(AC) IS CHECKED.
18155 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF
18156 ;THE LEFT HALF AND A 0 THRU ALL 18 BITS OF THE RIGHT HALF OF E
18157
18158 002315 SN=SN+1
18159 010000 ZZ=ZZ+ZZ
18160 777777 767777 YY=YY+YY+1
18161 IFE ZZ,<ZZ=1>
18162 IFE <YY-1>,<YY=-2>
18163 040743 204 00 0 00 070533 MOVS [XWD ZZ,YY] ;*MOVS SHOULD SWAP HALVES OF C(E)
18164 ;AND MOVE RESULT INTO AC
18165 040744 312 00 0 00 070534 CAME [XWD YY,ZZ] ;PASS TEST IF AC CONTAINS YY,,ZZ
18166 STOP ^
18167 040745 254 04 0 00 040746 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
18168 040746 324 00 0 00 040747 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
18169 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
18170 ;IN THE SUBTEST) TO LOOP ON ERROR^
18171
18172 ;**********
18173
18174
18175 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
18176 ;MOVES IT INTO AC. IN THIS CASE, A 1 IS RIPPLED THRU THE LEFT HALF OF E
18177 ;AND A 0 IS RIPPLED THRU THE RIGHT HALF
18178 ;OF E [C(E)=ZZ,,YY, WHERE ZZ IS A FLOATING 1 AND YY IS A FLOATING 0].
18179 ;THEN, C(AC) IS CHECKED.
18180 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF
18181 ;THE LEFT HALF AND A 0 THRU ALL 18 BITS OF THE RIGHT HALF OF E
18182
18183 002316 SN=SN+1
18184 020000 ZZ=ZZ+ZZ
18185 777777 757777 YY=YY+YY+1
18186 IFE ZZ,<ZZ=1>
18187 IFE <YY-1>,<YY=-2>
18188 040747 204 00 0 00 070535 MOVS [XWD ZZ,YY] ;*MOVS SHOULD SWAP HALVES OF C(E)
18189 ;AND MOVE RESULT INTO AC
18190 040750 312 00 0 00 070536 CAME [XWD YY,ZZ] ;PASS TEST IF AC CONTAINS YY,,ZZ
18191 STOP ^
18192 040751 254 04 0 00 040752 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
18193 040752 324 00 0 00 040753 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
18194 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
18195 ;IN THE SUBTEST) TO LOOP ON ERROR^
18196
18197 ;**********
18198
18199
18200 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
18201 ;MOVES IT INTO AC. IN THIS CASE, A 1 IS RIPPLED THRU THE LEFT HALF OF E
18202 ;AND A 0 IS RIPPLED THRU THE RIGHT HALF
18203 ;OF E [C(E)=ZZ,,YY, WHERE ZZ IS A FLOATING 1 AND YY IS A FLOATING 0].
18204 ;THEN, C(AC) IS CHECKED.
18205 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF
18206 ;THE LEFT HALF AND A 0 THRU ALL 18 BITS OF THE RIGHT HALF OF E
18207
18208 002317 SN=SN+1
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 28-7
DFKAA2 MAC 25-AUG-75 13:56 TEST OF MOVS INSTRUCTION SEQ 0387
18209 040000 ZZ=ZZ+ZZ
18210 777777 737777 YY=YY+YY+1
18211 IFE ZZ,<ZZ=1>
18212 IFE <YY-1>,<YY=-2>
18213 040753 204 00 0 00 070537 MOVS [XWD ZZ,YY] ;*MOVS SHOULD SWAP HALVES OF C(E)
18214 ;AND MOVE RESULT INTO AC
18215 040754 312 00 0 00 070540 CAME [XWD YY,ZZ] ;PASS TEST IF AC CONTAINS YY,,ZZ
18216 STOP ^
18217 040755 254 04 0 00 040756 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
18218 040756 324 00 0 00 040757 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
18219 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
18220 ;IN THE SUBTEST) TO LOOP ON ERROR^
18221
18222 ;**********
18223
18224
18225 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
18226 ;MOVES IT INTO AC. IN THIS CASE, A 1 IS RIPPLED THRU THE LEFT HALF OF E
18227 ;AND A 0 IS RIPPLED THRU THE RIGHT HALF
18228 ;OF E [C(E)=ZZ,,YY, WHERE ZZ IS A FLOATING 1 AND YY IS A FLOATING 0].
18229 ;THEN, C(AC) IS CHECKED.
18230 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF
18231 ;THE LEFT HALF AND A 0 THRU ALL 18 BITS OF THE RIGHT HALF OF E
18232
18233 002320 SN=SN+1
18234 100000 ZZ=ZZ+ZZ
18235 777777 677777 YY=YY+YY+1
18236 IFE ZZ,<ZZ=1>
18237 IFE <YY-1>,<YY=-2>
18238 040757 204 00 0 00 070541 MOVS [XWD ZZ,YY] ;*MOVS SHOULD SWAP HALVES OF C(E)
18239 ;AND MOVE RESULT INTO AC
18240 040760 312 00 0 00 070542 CAME [XWD YY,ZZ] ;PASS TEST IF AC CONTAINS YY,,ZZ
18241 STOP ^
18242 040761 254 04 0 00 040762 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
18243 040762 324 00 0 00 040763 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
18244 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
18245 ;IN THE SUBTEST) TO LOOP ON ERROR^
18246
18247 ;**********
18248
18249
18250 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
18251 ;MOVES IT INTO AC. IN THIS CASE, A 1 IS RIPPLED THRU THE LEFT HALF OF E
18252 ;AND A 0 IS RIPPLED THRU THE RIGHT HALF
18253 ;OF E [C(E)=ZZ,,YY, WHERE ZZ IS A FLOATING 1 AND YY IS A FLOATING 0].
18254 ;THEN, C(AC) IS CHECKED.
18255 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF
18256 ;THE LEFT HALF AND A 0 THRU ALL 18 BITS OF THE RIGHT HALF OF E
18257
18258 002321 SN=SN+1
18259 200000 ZZ=ZZ+ZZ
18260 777777 577777 YY=YY+YY+1
18261 IFE ZZ,<ZZ=1>
18262 IFE <YY-1>,<YY=-2>
18263 040763 204 00 0 00 070543 MOVS [XWD ZZ,YY] ;*MOVS SHOULD SWAP HALVES OF C(E)
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 28-8
DFKAA2 MAC 25-AUG-75 13:56 TEST OF MOVS INSTRUCTION SEQ 0388
18264 ;AND MOVE RESULT INTO AC
18265 040764 312 00 0 00 070544 CAME [XWD YY,ZZ] ;PASS TEST IF AC CONTAINS YY,,ZZ
18266 STOP ^
18267 040765 254 04 0 00 040766 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
18268 040766 324 00 0 00 040767 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
18269 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
18270 ;IN THE SUBTEST) TO LOOP ON ERROR^
18271
18272 ;**********
18273
18274
18275 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
18276 ;MOVES IT INTO AC. IN THIS CASE, A 1 IS RIPPLED THRU THE LEFT HALF OF E
18277 ;AND A 0 IS RIPPLED THRU THE RIGHT HALF
18278 ;OF E [C(E)=ZZ,,YY, WHERE ZZ IS A FLOATING 1 AND YY IS A FLOATING 0].
18279 ;THEN, C(AC) IS CHECKED.
18280 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF
18281 ;THE LEFT HALF AND A 0 THRU ALL 18 BITS OF THE RIGHT HALF OF E
18282
18283 002322 SN=SN+1
18284 400000 ZZ=ZZ+ZZ
18285 777777 377777 YY=YY+YY+1
18286 IFE ZZ,<ZZ=1>
18287 IFE <YY-1>,<YY=-2>
18288 040767 204 00 0 00 070545 MOVS [XWD ZZ,YY] ;*MOVS SHOULD SWAP HALVES OF C(E)
18289 ;AND MOVE RESULT INTO AC
18290 040770 312 00 0 00 070546 CAME [XWD YY,ZZ] ;PASS TEST IF AC CONTAINS YY,,ZZ
18291 STOP ^
18292 040771 254 04 0 00 040772 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
18293 040772 324 00 0 00 040773 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
18294 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
18295 ;IN THE SUBTEST) TO LOOP ON ERROR^
18296
18297 ;**********
18298
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29
DFKAA2 MAC 25-AUG-75 13:56 TEST OF MOVS INSTRUCTION SEQ 0389
18299 002400 SN=2400
18300 000000 ZZ=0
18301 000000 YY=0
18302
18303 B2400: REPEAT ^D18,<
18304 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
18305 ;MOVES IT INTO AC. IN THIS CASE, A 0 IS RIPPLED THRU THE LEFT HALF OF E
18306 ;AND A 1 IS RIPPLED THRU THE RIGHT HALF
18307 ;OF E [C(E)=YY,,ZZ, WHERE ZZ IS A FLOATING 1 AND YY IS A FLOATING 0].
18308 ;THEN, C(AC) IS CHECKED.
18309 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF
18310 ;THE RIGHT HALF AND A 0 THRU ALL 18 BITS OF THE RIGHT HALF OF E
18311
18312 SN=SN+1
18313 ZZ=ZZ+ZZ
18314 YY=YY+YY+1
18315 IFE ZZ,<ZZ=1>
18316 IFE <YY-1>,<YY=-2>
18317 MOVS [XWD YY,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
18318 ;AND MOVE RESULT INTO AC
18319 CAME [XWD ZZ,YY] ;PASS TEST IF C(AC)=ZZ,,YY
18320 STOP
18321
18322 ;**********
18323 >
18324
18325 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
18326 ;MOVES IT INTO AC. IN THIS CASE, A 0 IS RIPPLED THRU THE LEFT HALF OF E
18327 ;AND A 1 IS RIPPLED THRU THE RIGHT HALF
18328 ;OF E [C(E)=YY,,ZZ, WHERE ZZ IS A FLOATING 1 AND YY IS A FLOATING 0].
18329 ;THEN, C(AC) IS CHECKED.
18330 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF
18331 ;THE RIGHT HALF AND A 0 THRU ALL 18 BITS OF THE RIGHT HALF OF E
18332
18333 002401 SN=SN+1
18334 000000 ZZ=ZZ+ZZ
18335 000001 YY=YY+YY+1
18336 000001 IFE ZZ,<ZZ=1>
18337 777777 777776 IFE <YY-1>,<YY=-2>
18338 040773 204 00 0 00 070504 MOVS [XWD YY,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
18339 ;AND MOVE RESULT INTO AC
18340 040774 312 00 0 00 070503 CAME [XWD ZZ,YY] ;PASS TEST IF C(AC)=ZZ,,YY
18341 STOP ^
18342 040775 254 04 0 00 040776 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
18343 040776 324 00 0 00 040777 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
18344 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
18345 ;IN THE SUBTEST) TO LOOP ON ERROR^
18346
18347 ;**********
18348
18349
18350 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
18351 ;MOVES IT INTO AC. IN THIS CASE, A 0 IS RIPPLED THRU THE LEFT HALF OF E
18352 ;AND A 1 IS RIPPLED THRU THE RIGHT HALF
18353 ;OF E [C(E)=YY,,ZZ, WHERE ZZ IS A FLOATING 1 AND YY IS A FLOATING 0].
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29-1
DFKAA2 MAC 25-AUG-75 13:56 TEST OF MOVS INSTRUCTION SEQ 0390
18354 ;THEN, C(AC) IS CHECKED.
18355 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF
18356 ;THE RIGHT HALF AND A 0 THRU ALL 18 BITS OF THE RIGHT HALF OF E
18357
18358 002402 SN=SN+1
18359 000002 ZZ=ZZ+ZZ
18360 777777 777775 YY=YY+YY+1
18361 IFE ZZ,<ZZ=1>
18362 IFE <YY-1>,<YY=-2>
18363 040777 204 00 0 00 070506 MOVS [XWD YY,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
18364 ;AND MOVE RESULT INTO AC
18365 041000 312 00 0 00 070505 CAME [XWD ZZ,YY] ;PASS TEST IF C(AC)=ZZ,,YY
18366 STOP ^
18367 041001 254 04 0 00 041002 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
18368 041002 324 00 0 00 041003 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
18369 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
18370 ;IN THE SUBTEST) TO LOOP ON ERROR^
18371
18372 ;**********
18373
18374
18375 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
18376 ;MOVES IT INTO AC. IN THIS CASE, A 0 IS RIPPLED THRU THE LEFT HALF OF E
18377 ;AND A 1 IS RIPPLED THRU THE RIGHT HALF
18378 ;OF E [C(E)=YY,,ZZ, WHERE ZZ IS A FLOATING 1 AND YY IS A FLOATING 0].
18379 ;THEN, C(AC) IS CHECKED.
18380 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF
18381 ;THE RIGHT HALF AND A 0 THRU ALL 18 BITS OF THE RIGHT HALF OF E
18382
18383 002403 SN=SN+1
18384 000004 ZZ=ZZ+ZZ
18385 777777 777773 YY=YY+YY+1
18386 IFE ZZ,<ZZ=1>
18387 IFE <YY-1>,<YY=-2>
18388 041003 204 00 0 00 070510 MOVS [XWD YY,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
18389 ;AND MOVE RESULT INTO AC
18390 041004 312 00 0 00 070507 CAME [XWD ZZ,YY] ;PASS TEST IF C(AC)=ZZ,,YY
18391 STOP ^
18392 041005 254 04 0 00 041006 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
18393 041006 324 00 0 00 041007 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
18394 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
18395 ;IN THE SUBTEST) TO LOOP ON ERROR^
18396
18397 ;**********
18398
18399
18400 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
18401 ;MOVES IT INTO AC. IN THIS CASE, A 0 IS RIPPLED THRU THE LEFT HALF OF E
18402 ;AND A 1 IS RIPPLED THRU THE RIGHT HALF
18403 ;OF E [C(E)=YY,,ZZ, WHERE ZZ IS A FLOATING 1 AND YY IS A FLOATING 0].
18404 ;THEN, C(AC) IS CHECKED.
18405 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF
18406 ;THE RIGHT HALF AND A 0 THRU ALL 18 BITS OF THE RIGHT HALF OF E
18407
18408 002404 SN=SN+1
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29-2
DFKAA2 MAC 25-AUG-75 13:56 TEST OF MOVS INSTRUCTION SEQ 0391
18409 000010 ZZ=ZZ+ZZ
18410 777777 777767 YY=YY+YY+1
18411 IFE ZZ,<ZZ=1>
18412 IFE <YY-1>,<YY=-2>
18413 041007 204 00 0 00 070512 MOVS [XWD YY,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
18414 ;AND MOVE RESULT INTO AC
18415 041010 312 00 0 00 070511 CAME [XWD ZZ,YY] ;PASS TEST IF C(AC)=ZZ,,YY
18416 STOP ^
18417 041011 254 04 0 00 041012 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
18418 041012 324 00 0 00 041013 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
18419 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
18420 ;IN THE SUBTEST) TO LOOP ON ERROR^
18421
18422 ;**********
18423
18424
18425 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
18426 ;MOVES IT INTO AC. IN THIS CASE, A 0 IS RIPPLED THRU THE LEFT HALF OF E
18427 ;AND A 1 IS RIPPLED THRU THE RIGHT HALF
18428 ;OF E [C(E)=YY,,ZZ, WHERE ZZ IS A FLOATING 1 AND YY IS A FLOATING 0].
18429 ;THEN, C(AC) IS CHECKED.
18430 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF
18431 ;THE RIGHT HALF AND A 0 THRU ALL 18 BITS OF THE RIGHT HALF OF E
18432
18433 002405 SN=SN+1
18434 000020 ZZ=ZZ+ZZ
18435 777777 777757 YY=YY+YY+1
18436 IFE ZZ,<ZZ=1>
18437 IFE <YY-1>,<YY=-2>
18438 041013 204 00 0 00 070514 MOVS [XWD YY,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
18439 ;AND MOVE RESULT INTO AC
18440 041014 312 00 0 00 070513 CAME [XWD ZZ,YY] ;PASS TEST IF C(AC)=ZZ,,YY
18441 STOP ^
18442 041015 254 04 0 00 041016 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
18443 041016 324 00 0 00 041017 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
18444 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
18445 ;IN THE SUBTEST) TO LOOP ON ERROR^
18446
18447 ;**********
18448
18449
18450 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
18451 ;MOVES IT INTO AC. IN THIS CASE, A 0 IS RIPPLED THRU THE LEFT HALF OF E
18452 ;AND A 1 IS RIPPLED THRU THE RIGHT HALF
18453 ;OF E [C(E)=YY,,ZZ, WHERE ZZ IS A FLOATING 1 AND YY IS A FLOATING 0].
18454 ;THEN, C(AC) IS CHECKED.
18455 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF
18456 ;THE RIGHT HALF AND A 0 THRU ALL 18 BITS OF THE RIGHT HALF OF E
18457
18458 002406 SN=SN+1
18459 000040 ZZ=ZZ+ZZ
18460 777777 777737 YY=YY+YY+1
18461 IFE ZZ,<ZZ=1>
18462 IFE <YY-1>,<YY=-2>
18463 041017 204 00 0 00 070516 MOVS [XWD YY,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29-3
DFKAA2 MAC 25-AUG-75 13:56 TEST OF MOVS INSTRUCTION SEQ 0392
18464 ;AND MOVE RESULT INTO AC
18465 041020 312 00 0 00 070515 CAME [XWD ZZ,YY] ;PASS TEST IF C(AC)=ZZ,,YY
18466 STOP ^
18467 041021 254 04 0 00 041022 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
18468 041022 324 00 0 00 041023 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
18469 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
18470 ;IN THE SUBTEST) TO LOOP ON ERROR^
18471
18472 ;**********
18473
18474
18475 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
18476 ;MOVES IT INTO AC. IN THIS CASE, A 0 IS RIPPLED THRU THE LEFT HALF OF E
18477 ;AND A 1 IS RIPPLED THRU THE RIGHT HALF
18478 ;OF E [C(E)=YY,,ZZ, WHERE ZZ IS A FLOATING 1 AND YY IS A FLOATING 0].
18479 ;THEN, C(AC) IS CHECKED.
18480 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF
18481 ;THE RIGHT HALF AND A 0 THRU ALL 18 BITS OF THE RIGHT HALF OF E
18482
18483 002407 SN=SN+1
18484 000100 ZZ=ZZ+ZZ
18485 777777 777677 YY=YY+YY+1
18486 IFE ZZ,<ZZ=1>
18487 IFE <YY-1>,<YY=-2>
18488 041023 204 00 0 00 070520 MOVS [XWD YY,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
18489 ;AND MOVE RESULT INTO AC
18490 041024 312 00 0 00 070517 CAME [XWD ZZ,YY] ;PASS TEST IF C(AC)=ZZ,,YY
18491 STOP ^
18492 041025 254 04 0 00 041026 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
18493 041026 324 00 0 00 041027 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
18494 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
18495 ;IN THE SUBTEST) TO LOOP ON ERROR^
18496
18497 ;**********
18498
18499
18500 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
18501 ;MOVES IT INTO AC. IN THIS CASE, A 0 IS RIPPLED THRU THE LEFT HALF OF E
18502 ;AND A 1 IS RIPPLED THRU THE RIGHT HALF
18503 ;OF E [C(E)=YY,,ZZ, WHERE ZZ IS A FLOATING 1 AND YY IS A FLOATING 0].
18504 ;THEN, C(AC) IS CHECKED.
18505 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF
18506 ;THE RIGHT HALF AND A 0 THRU ALL 18 BITS OF THE RIGHT HALF OF E
18507
18508 002410 SN=SN+1
18509 000200 ZZ=ZZ+ZZ
18510 777777 777577 YY=YY+YY+1
18511 IFE ZZ,<ZZ=1>
18512 IFE <YY-1>,<YY=-2>
18513 041027 204 00 0 00 070522 MOVS [XWD YY,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
18514 ;AND MOVE RESULT INTO AC
18515 041030 312 00 0 00 070521 CAME [XWD ZZ,YY] ;PASS TEST IF C(AC)=ZZ,,YY
18516 STOP ^
18517 041031 254 04 0 00 041032 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
18518 041032 324 00 0 00 041033 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29-4
DFKAA2 MAC 25-AUG-75 13:56 TEST OF MOVS INSTRUCTION SEQ 0393
18519 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
18520 ;IN THE SUBTEST) TO LOOP ON ERROR^
18521
18522 ;**********
18523
18524
18525 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
18526 ;MOVES IT INTO AC. IN THIS CASE, A 0 IS RIPPLED THRU THE LEFT HALF OF E
18527 ;AND A 1 IS RIPPLED THRU THE RIGHT HALF
18528 ;OF E [C(E)=YY,,ZZ, WHERE ZZ IS A FLOATING 1 AND YY IS A FLOATING 0].
18529 ;THEN, C(AC) IS CHECKED.
18530 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF
18531 ;THE RIGHT HALF AND A 0 THRU ALL 18 BITS OF THE RIGHT HALF OF E
18532
18533 002411 SN=SN+1
18534 000400 ZZ=ZZ+ZZ
18535 777777 777377 YY=YY+YY+1
18536 IFE ZZ,<ZZ=1>
18537 IFE <YY-1>,<YY=-2>
18538 041033 204 00 0 00 070524 MOVS [XWD YY,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
18539 ;AND MOVE RESULT INTO AC
18540 041034 312 00 0 00 070523 CAME [XWD ZZ,YY] ;PASS TEST IF C(AC)=ZZ,,YY
18541 STOP ^
18542 041035 254 04 0 00 041036 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
18543 041036 324 00 0 00 041037 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
18544 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
18545 ;IN THE SUBTEST) TO LOOP ON ERROR^
18546
18547 ;**********
18548
18549
18550 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
18551 ;MOVES IT INTO AC. IN THIS CASE, A 0 IS RIPPLED THRU THE LEFT HALF OF E
18552 ;AND A 1 IS RIPPLED THRU THE RIGHT HALF
18553 ;OF E [C(E)=YY,,ZZ, WHERE ZZ IS A FLOATING 1 AND YY IS A FLOATING 0].
18554 ;THEN, C(AC) IS CHECKED.
18555 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF
18556 ;THE RIGHT HALF AND A 0 THRU ALL 18 BITS OF THE RIGHT HALF OF E
18557
18558 002412 SN=SN+1
18559 001000 ZZ=ZZ+ZZ
18560 777777 776777 YY=YY+YY+1
18561 IFE ZZ,<ZZ=1>
18562 IFE <YY-1>,<YY=-2>
18563 041037 204 00 0 00 070526 MOVS [XWD YY,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
18564 ;AND MOVE RESULT INTO AC
18565 041040 312 00 0 00 070525 CAME [XWD ZZ,YY] ;PASS TEST IF C(AC)=ZZ,,YY
18566 STOP ^
18567 041041 254 04 0 00 041042 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
18568 041042 324 00 0 00 041043 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
18569 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
18570 ;IN THE SUBTEST) TO LOOP ON ERROR^
18571
18572 ;**********
18573
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29-5
DFKAA2 MAC 25-AUG-75 13:56 TEST OF MOVS INSTRUCTION SEQ 0394
18574
18575 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
18576 ;MOVES IT INTO AC. IN THIS CASE, A 0 IS RIPPLED THRU THE LEFT HALF OF E
18577 ;AND A 1 IS RIPPLED THRU THE RIGHT HALF
18578 ;OF E [C(E)=YY,,ZZ, WHERE ZZ IS A FLOATING 1 AND YY IS A FLOATING 0].
18579 ;THEN, C(AC) IS CHECKED.
18580 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF
18581 ;THE RIGHT HALF AND A 0 THRU ALL 18 BITS OF THE RIGHT HALF OF E
18582
18583 002413 SN=SN+1
18584 002000 ZZ=ZZ+ZZ
18585 777777 775777 YY=YY+YY+1
18586 IFE ZZ,<ZZ=1>
18587 IFE <YY-1>,<YY=-2>
18588 041043 204 00 0 00 070530 MOVS [XWD YY,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
18589 ;AND MOVE RESULT INTO AC
18590 041044 312 00 0 00 070527 CAME [XWD ZZ,YY] ;PASS TEST IF C(AC)=ZZ,,YY
18591 STOP ^
18592 041045 254 04 0 00 041046 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
18593 041046 324 00 0 00 041047 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
18594 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
18595 ;IN THE SUBTEST) TO LOOP ON ERROR^
18596
18597 ;**********
18598
18599
18600 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
18601 ;MOVES IT INTO AC. IN THIS CASE, A 0 IS RIPPLED THRU THE LEFT HALF OF E
18602 ;AND A 1 IS RIPPLED THRU THE RIGHT HALF
18603 ;OF E [C(E)=YY,,ZZ, WHERE ZZ IS A FLOATING 1 AND YY IS A FLOATING 0].
18604 ;THEN, C(AC) IS CHECKED.
18605 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF
18606 ;THE RIGHT HALF AND A 0 THRU ALL 18 BITS OF THE RIGHT HALF OF E
18607
18608 002414 SN=SN+1
18609 004000 ZZ=ZZ+ZZ
18610 777777 773777 YY=YY+YY+1
18611 IFE ZZ,<ZZ=1>
18612 IFE <YY-1>,<YY=-2>
18613 041047 204 00 0 00 070532 MOVS [XWD YY,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
18614 ;AND MOVE RESULT INTO AC
18615 041050 312 00 0 00 070531 CAME [XWD ZZ,YY] ;PASS TEST IF C(AC)=ZZ,,YY
18616 STOP ^
18617 041051 254 04 0 00 041052 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
18618 041052 324 00 0 00 041053 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
18619 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
18620 ;IN THE SUBTEST) TO LOOP ON ERROR^
18621
18622 ;**********
18623
18624
18625 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
18626 ;MOVES IT INTO AC. IN THIS CASE, A 0 IS RIPPLED THRU THE LEFT HALF OF E
18627 ;AND A 1 IS RIPPLED THRU THE RIGHT HALF
18628 ;OF E [C(E)=YY,,ZZ, WHERE ZZ IS A FLOATING 1 AND YY IS A FLOATING 0].
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29-6
DFKAA2 MAC 25-AUG-75 13:56 TEST OF MOVS INSTRUCTION SEQ 0395
18629 ;THEN, C(AC) IS CHECKED.
18630 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF
18631 ;THE RIGHT HALF AND A 0 THRU ALL 18 BITS OF THE RIGHT HALF OF E
18632
18633 002415 SN=SN+1
18634 010000 ZZ=ZZ+ZZ
18635 777777 767777 YY=YY+YY+1
18636 IFE ZZ,<ZZ=1>
18637 IFE <YY-1>,<YY=-2>
18638 041053 204 00 0 00 070534 MOVS [XWD YY,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
18639 ;AND MOVE RESULT INTO AC
18640 041054 312 00 0 00 070533 CAME [XWD ZZ,YY] ;PASS TEST IF C(AC)=ZZ,,YY
18641 STOP ^
18642 041055 254 04 0 00 041056 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
18643 041056 324 00 0 00 041057 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
18644 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
18645 ;IN THE SUBTEST) TO LOOP ON ERROR^
18646
18647 ;**********
18648
18649
18650 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
18651 ;MOVES IT INTO AC. IN THIS CASE, A 0 IS RIPPLED THRU THE LEFT HALF OF E
18652 ;AND A 1 IS RIPPLED THRU THE RIGHT HALF
18653 ;OF E [C(E)=YY,,ZZ, WHERE ZZ IS A FLOATING 1 AND YY IS A FLOATING 0].
18654 ;THEN, C(AC) IS CHECKED.
18655 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF
18656 ;THE RIGHT HALF AND A 0 THRU ALL 18 BITS OF THE RIGHT HALF OF E
18657
18658 002416 SN=SN+1
18659 020000 ZZ=ZZ+ZZ
18660 777777 757777 YY=YY+YY+1
18661 IFE ZZ,<ZZ=1>
18662 IFE <YY-1>,<YY=-2>
18663 041057 204 00 0 00 070536 MOVS [XWD YY,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
18664 ;AND MOVE RESULT INTO AC
18665 041060 312 00 0 00 070535 CAME [XWD ZZ,YY] ;PASS TEST IF C(AC)=ZZ,,YY
18666 STOP ^
18667 041061 254 04 0 00 041062 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
18668 041062 324 00 0 00 041063 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
18669 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
18670 ;IN THE SUBTEST) TO LOOP ON ERROR^
18671
18672 ;**********
18673
18674
18675 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
18676 ;MOVES IT INTO AC. IN THIS CASE, A 0 IS RIPPLED THRU THE LEFT HALF OF E
18677 ;AND A 1 IS RIPPLED THRU THE RIGHT HALF
18678 ;OF E [C(E)=YY,,ZZ, WHERE ZZ IS A FLOATING 1 AND YY IS A FLOATING 0].
18679 ;THEN, C(AC) IS CHECKED.
18680 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF
18681 ;THE RIGHT HALF AND A 0 THRU ALL 18 BITS OF THE RIGHT HALF OF E
18682
18683 002417 SN=SN+1
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29-7
DFKAA2 MAC 25-AUG-75 13:56 TEST OF MOVS INSTRUCTION SEQ 0396
18684 040000 ZZ=ZZ+ZZ
18685 777777 737777 YY=YY+YY+1
18686 IFE ZZ,<ZZ=1>
18687 IFE <YY-1>,<YY=-2>
18688 041063 204 00 0 00 070540 MOVS [XWD YY,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
18689 ;AND MOVE RESULT INTO AC
18690 041064 312 00 0 00 070537 CAME [XWD ZZ,YY] ;PASS TEST IF C(AC)=ZZ,,YY
18691 STOP ^
18692 041065 254 04 0 00 041066 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
18693 041066 324 00 0 00 041067 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
18694 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
18695 ;IN THE SUBTEST) TO LOOP ON ERROR^
18696
18697 ;**********
18698
18699
18700 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
18701 ;MOVES IT INTO AC. IN THIS CASE, A 0 IS RIPPLED THRU THE LEFT HALF OF E
18702 ;AND A 1 IS RIPPLED THRU THE RIGHT HALF
18703 ;OF E [C(E)=YY,,ZZ, WHERE ZZ IS A FLOATING 1 AND YY IS A FLOATING 0].
18704 ;THEN, C(AC) IS CHECKED.
18705 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF
18706 ;THE RIGHT HALF AND A 0 THRU ALL 18 BITS OF THE RIGHT HALF OF E
18707
18708 002420 SN=SN+1
18709 100000 ZZ=ZZ+ZZ
18710 777777 677777 YY=YY+YY+1
18711 IFE ZZ,<ZZ=1>
18712 IFE <YY-1>,<YY=-2>
18713 041067 204 00 0 00 070542 MOVS [XWD YY,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
18714 ;AND MOVE RESULT INTO AC
18715 041070 312 00 0 00 070541 CAME [XWD ZZ,YY] ;PASS TEST IF C(AC)=ZZ,,YY
18716 STOP ^
18717 041071 254 04 0 00 041072 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
18718 041072 324 00 0 00 041073 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
18719 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
18720 ;IN THE SUBTEST) TO LOOP ON ERROR^
18721
18722 ;**********
18723
18724
18725 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
18726 ;MOVES IT INTO AC. IN THIS CASE, A 0 IS RIPPLED THRU THE LEFT HALF OF E
18727 ;AND A 1 IS RIPPLED THRU THE RIGHT HALF
18728 ;OF E [C(E)=YY,,ZZ, WHERE ZZ IS A FLOATING 1 AND YY IS A FLOATING 0].
18729 ;THEN, C(AC) IS CHECKED.
18730 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF
18731 ;THE RIGHT HALF AND A 0 THRU ALL 18 BITS OF THE RIGHT HALF OF E
18732
18733 002421 SN=SN+1
18734 200000 ZZ=ZZ+ZZ
18735 777777 577777 YY=YY+YY+1
18736 IFE ZZ,<ZZ=1>
18737 IFE <YY-1>,<YY=-2>
18738 041073 204 00 0 00 070544 MOVS [XWD YY,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29-8
DFKAA2 MAC 25-AUG-75 13:56 TEST OF MOVS INSTRUCTION SEQ 0397
18739 ;AND MOVE RESULT INTO AC
18740 041074 312 00 0 00 070543 CAME [XWD ZZ,YY] ;PASS TEST IF C(AC)=ZZ,,YY
18741 STOP ^
18742 041075 254 04 0 00 041076 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
18743 041076 324 00 0 00 041077 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
18744 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
18745 ;IN THE SUBTEST) TO LOOP ON ERROR^
18746
18747 ;**********
18748
18749
18750 ;THIS TEST VERIFIES THAT MOVS SWAPS LEFT AND RIGHT HALVES OF E AND
18751 ;MOVES IT INTO AC. IN THIS CASE, A 0 IS RIPPLED THRU THE LEFT HALF OF E
18752 ;AND A 1 IS RIPPLED THRU THE RIGHT HALF
18753 ;OF E [C(E)=YY,,ZZ, WHERE ZZ IS A FLOATING 1 AND YY IS A FLOATING 0].
18754 ;THEN, C(AC) IS CHECKED.
18755 ;THIS TEST IS REPEATED 18 TIMES TO FLOAT A 1 THRU ALL 18 BITS OF
18756 ;THE RIGHT HALF AND A 0 THRU ALL 18 BITS OF THE RIGHT HALF OF E
18757
18758 002422 SN=SN+1
18759 400000 ZZ=ZZ+ZZ
18760 777777 377777 YY=YY+YY+1
18761 IFE ZZ,<ZZ=1>
18762 IFE <YY-1>,<YY=-2>
18763 041077 204 00 0 00 070546 MOVS [XWD YY,ZZ] ;*MOVS SHOULD SWAP HALVES OF C(E)
18764 ;AND MOVE RESULT INTO AC
18765 041100 312 00 0 00 070545 CAME [XWD ZZ,YY] ;PASS TEST IF C(AC)=ZZ,,YY
18766 STOP ^
18767 041101 254 04 0 00 041102 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
18768 041102 324 00 0 00 041103 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
18769 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
18770 ;IN THE SUBTEST) TO LOOP ON ERROR^
18771
18772 ;**********
18773
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 30
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAXX) INSTRUCTIONS SEQ 0398
18774 SUBTTL TEST OF COMPARE (CAXX) INSTRUCTIONS
18775
18776 ;**********
18777
18778 ;THIS TEST VERIFIES THAT CAIE SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN
18779 ;AND ONLY WHEN C(AC)=E
18780 ;IN THIS CASE C(AC)=E=0; HENCE, CAIE SHOULD SKIP
18781 ;OTHERWISE THE PROGRAM HALTS
18782
18783 041103 400 00 0 00 000000 B2500: SETZ ;PRELOAD AC TO 0
18784 041104 302 00 0 00 000000 CAIE ;*CAIE SHOULD SKIP BECAUSE C(AC)=E
18785 STOP^
18786 041105 254 04 0 00 041106 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
18787 041106 324 00 0 00 041107 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
18788 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
18789 ;IN THE SUBTEST) TO LOOP ON ERROR^
18790
18791 ;***** FAILURE ANALYSIS *****
18792 ;C(AC0) C(AC1) FAILING SIGNAL
18793
18794 ; SW: PC CHANGE
18795 ; FC: AD FM ; EN
18796 ; FC: AD CRY 36
18797 ; FC: AB PC EN
18798 ; ET0: COND P: PC CLK EN
18799
18800 ;**********
18801
18802 ;THIS TEST VERIFIES THAT CAIE SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN
18803 ;AND ONLY WHEN C(AC)=E
18804 ;IN THIS CASE C(AC)=E=1. HENCE, CAIE SHOULD SKIP
18805 ;OTHERWISE THE PROGRAM HALTS
18806
18807 041107 200 00 0 00 070265 B2600: MOVE [1] ;PRELOAD AC TO 1
18808 041110 302 00 0 00 000001 CAIE 1 ;*CAIE SHOULD SKIP BECAUSE C(AC)=E
18809 STOP^
18810 041111 254 04 0 00 041112 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
18811 041112 324 00 0 00 041113 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
18812 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
18813 ;IN THE SUBTEST) TO LOOP ON ERROR^
18814
18815 ;***** FAILURE ANALYSIS *****
18816 ;C(AC0) C(AC1) FAILING SIGNAL
18817
18818 ; FC: AD AR - EN
18819
18820 ;**********
18821
18822 ;THIS TEST VERIFIES THAT CAME SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN
18823 ;AND ONLY WHEN C(AC)=C(E)
18824 ;IN THIS CASE C(AC)=C(E)=1; HENCE, CAME SHOULD SKIP
18825 ;OTHERWISE THE PROGRAM HALTS
18826
18827 041113 201 00 0 00 000001 B2700: MOVEI 1 ;PRELOAD AC TO 1
18828 041114 312 00 0 00 070265 CAME [1] ;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 30-1
DFKAA2 MAC 25-AUG-75 13:56 TEST OF COMPARE (CAXX) INSTRUCTIONS SEQ 0399
18829 STOP^
18830 041115 254 04 0 00 041116 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
18831 041116 324 00 0 00 041117 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
18832 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
18833 ;IN THE SUBTEST) TO LOOP ON ERROR^
18834
18835 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 31
DFKAA2 MAC 25-AUG-75 13:56 TEST OF BOOLEAN INSTRUCTIONS SEQ 0400
18836 SUBTTL TEST OF BOOLEAN INSTRUCTIONS
18837
18838 ;**********
18839
18840 ;THIS TEST VERIFIES THAT SETCA IGNORES THE ADDRESS FIELD OF THE INSTUCTION WORD.
18841 ;IN THIS CASE C(AC)=0,,-1; HENCE, THE RESULT IN THE AC SHOULD BE -1,,0
18842 ;IF THE RESULT IN THE AC IS -1,,0, THE TEST PASSES.
18843
18844 041117 201 00 0 00 777777 B3000: MOVEI -1 ;PRELOAD AC TO 0,,-1
18845 041120 450 00 0 00 070254 SETCA [-1] ;*SETCA SHOULD PUT -1,,0 INTO THE AC
18846 041121 312 00 0 00 070331 CAME [-1,,0] ;PASS TEST IF C(AC)=-1,,0
18847 STOP^
18848 041122 254 04 0 00 041123 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
18849 041123 324 00 0 00 041124 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
18850 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
18851 ;IN THE SUBTEST) TO LOOP ON ERROR^
18852
18853 ;**********
18854
18855 ;THIS TEST VERIFIES THAT SETCA COMPLEMENTS C(AC), THEN PLACES THE
18856 ;RESULT IN THE AC.
18857 ;IN THIS CASE C(AC)=0,,-1; HENCE, THE RESULT IN THE AC SHOULD BE -1,,0
18858 ;IF THE RESULT IN THE AC IS -1,,0, THE TEST PASSES
18859
18860 041124 201 00 0 00 777777 B3100: MOVEI -1 ;PRELOAD AC TO 0,,-1
18861 041125 450 00 0 00 000000 SETCA ;*SETCA SHOULD PUT -1,,0 INTO THE AC
18862 041126 312 00 0 00 070331 CAME [-1,,0] ;PASS TEST IF C(AC) =-1,,0
18863 STOP^
18864 041127 254 04 0 00 041130 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
18865 041130 324 00 0 00 041131 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
18866 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
18867 ;IN THE SUBTEST) TO LOOP ON ERROR^
18868
18869 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 32
DFKAA2 MAC 25-AUG-75 13:56 TEST OF BOOLEAN INSTRUCTIONS SEQ 0401
18870 ;THIS TEST VERIFIES THAT SETCA COMPLEMENTS C(AC), THEN PLACES THE
18871 ;RESULT IN THE AC,
18872 ;IN THIS CASE C(AC)=0,,0 HENCE, THE RESULT IN THE AC SHOULD BE,-1
18873 ;IF THE RESULT IN THE AC IS -1,,-1, THE TEST PASSES
18874
18875 041131 201 00 0 00 000000 B3200: MOVEI 0 ;PRELOAD AC TO 0,,0
18876 041132 450 00 0 00 000000 SETCA ;*SETCA SHOULD PUT -1,,-1 INTO THE AC
18877 041133 312 00 0 00 070254 CAME [-1] ;PASS TEST IF C(AC) =-1,,-1
18878 STOP^
18879 041134 254 04 0 00 041135 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
18880 041135 324 00 0 00 041136 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
18881 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
18882 ;IN THE SUBTEST) TO LOOP ON ERROR^
18883
18884 ;***** FAILURE ANALYSIS *****
18885 ;C(AC0) C(AC1) FAILING SIGNAL
18886
18887 ;0 ET2: AR AD EN
18888
18889 ;**********
18890
18891 ;THIS TEST VERIFIES THAT SETCA COMPLEMENTS C(AC), THEN PLACES THE
18892 ;RESULT IN THE AC,
18893 ;IN THIS CASE C(AC)=-1,,-1; HENCE, THE RESULT IN THE AC SHOULD BE 0,,0
18894 ;IF THE RESULT IN THE AC IS ZERO, THE TEST PASSES
18895
18896 041136 200 00 0 00 070254 B3300: MOVE [-1] ;PRELOAD AC TO -1,,-1
18897 041137 450 00 0 00 000000 SETCA ;*SETCA SHOULD PUT 0,,0 INTO THE AC
18898 041140 312 00 0 00 070253 CAME [0] ;PASS TEST IF C(AC) IS ZERO
18899 STOP^
18900 041141 254 04 0 00 041142 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
18901 041142 324 00 0 00 041143 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
18902 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
18903 ;IN THE SUBTEST) TO LOOP ON ERROR^
18904
18905 ;***** FAILURE ANALYSIS *****
18906 ;C(AC0) C(AC1) FAILING SIGNAL
18907
18908 ;-1,,-1 FC: AD FM - EN
18909
18910 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 33
DFKAA2 MAC 25-AUG-75 13:56 TEST OF BOOLEAN INSTRUCTIONS SEQ 0402
18911 ;THIS TEST VERIFIES THAT SETCM COMPLEMENTS C(E), THEN PLACES THE
18912 ;RESULT IN THE AC.
18913 ;IN THIS CASE AC=E AND C(E)=C(AC)=0,,-1; HENCE, THE RESULT IN THE AC SHOULD BE -1,,0
18914 ;IF THE RESULT IN THE AC IS -1,,0, THE TEST PASSES
18915
18916 041143 201 00 0 00 777777 B3500: MOVEI -1 ;PRELOAD AC TO 0,,-1
18917 041144 460 00 0 00 000000 SETCM ;*SETCM SHOULD PUT -1,,0 INTO THE AC
18918 041145 312 00 0 00 070331 CAME [-1,,0] ;PASS TEST IF C(AC) =-1,,0
18919 STOP^
18920 041146 254 04 0 00 041147 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
18921 041147 324 00 0 00 041150 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
18922 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
18923 ;IN THE SUBTEST) TO LOOP ON ERROR^
18924
18925 ;***** FAILURE ANALYSIS *****
18926 ;C(AC0) C(AC1) FAILING SIGNAL
18927
18928 ;-1,,-1 SW: FCE
18929 ;-1,,-1 FC: AD AR - EN
18930 ;0,,-1 ET2: AR AD EN
18931
18932 ;**********
18933
18934 ;THIS TEST VERIFIES THAT SETCM COMPLEMENTS C(E), THEN PLACES THE
18935 ;RESULT IN THE AC.
18936 ;IN THIS CASE C(E)=-1,,-1; HENCE, THE RESULT IN THE AC SHOULD BE 0,,0
18937 ;IF THE RESULT IN THE AC IS ZERO,THE TEST PASSES
18938
18939 041150 460 00 0 00 070254 B3600: SETCM [-1] ;*SETCM SHOULD PUT 0 INTO THE AC
18940 041151 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC0)=0
18941 STOP^
18942 041152 254 04 0 00 041153 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
18943 041153 324 00 0 00 041154 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
18944 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
18945 ;IN THE SUBTEST) TO LOOP ON ERROR^
18946
18947 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 34
DFKAA2 MAC 25-AUG-75 13:56 TEST OF BOOLEAN INSTRUCTIONS SEQ 0403
18948 ;THIS TEST VERIFIES THAT SETCM COMPLEMENTS C(E), THEN PLACES THE
18949 ;RESULT IN THE AC.
18950 ;IN THIS CASE C(E)=0,,0; HENCE, THE RESULT IN THE AC SHOULD BE -1,,-1
18951 ;IF THE RESULT IN THE AC IS -1,,-1,THE TEST PASSES
18952
18953 041154 460 00 0 00 070253 B3700: SETCM [0] ;*SETCM SHOULD PUT -1,,-1 INTO THE AC
18954 041155 312 00 0 00 070254 CAME [-1] ;PASS TEST IF C(AC)=-1,,-1
18955 STOP^
18956 041156 254 04 0 00 041157 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
18957 041157 324 00 0 00 041160 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
18958 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
18959 ;IN THE SUBTEST) TO LOOP ON ERROR^
18960
18961 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 35
DFKAA2 MAC 25-AUG-75 13:56 TEST OF BOOLEAN INSTRUCTIONS SEQ 0404
18962 ;THIS TEST VERIFIES THAT SETO SETS C(AC) TO -1,,-1. SETO IGNORES
18963 ;THE ADDRESS FIELD OF THE INSTRUCTION WORD.
18964 ;FIRST C(AC) IS SET TO 0,,0; THEN SETO IS EXECUTED.
18965 ;THE AC IS THEN CHECKED FOR ALL ONES. IF C(AC) IS ALL ONES,
18966 ;THE TEST PASSES
18967
18968 041160 201 00 0 00 000000 B4300: MOVEI 0 ;PRELOAD AC WITH 0,,0
18969 041161 474 00 0 00 000000 SETO ;*SETO SHOULD LOAD THE AC WITH -1,,-1
18970 041162 312 00 0 00 070254 CAME [-1] ;PASS TEST IF C(AC)=-1,,-1
18971 STOP^
18972 041163 254 04 0 00 041164 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
18973 041164 324 00 0 00 041165 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
18974 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
18975 ;IN THE SUBTEST) TO LOOP ON ERROR^
18976
18977 ;***** FAILURE ANALYSIS *****
18978 ;C(AC0) C(AC1) FAILING SIGNAL
18979
18980 ;0 ET2: AR AD EN
18981
18982 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 36
DFKAA2 MAC 25-AUG-75 13:56 TEST OF BOOLEAN INSTRUCTIONS SEQ 0405
18983 ;THIS TEST VERIFIES THAT ORCM CHANGES C(AC) TO THE LOGICAL
18984 ;INCLUSIVE OR OF C(AC) WITH THE COMPLEMENT OF C(MEMORY).
18985 ;IN THIS CASE AC=MEMORY=AC0 AND C(AC)=C(E)=0.
18986 ;HENCE THE RESULT IN THE AC SHOULD BE ALL ONES.
18987 ;THE AC IS CHECKED FOR ITS FINAL CONTENTS NON-ZERO.
18988 ;IF C(AC) IS NOT=0, THE TEST PASSES
18989
18990 041165 201 00 0 00 000000 B4400: MOVEI 0 ;PRELOAD AC,E WITH 0
18991 041166 464 00 0 00 000000 ORCM ;*ORCM SHOULD PUT ALL ONES INTO AC0
18992 041167 336 00 0 00 000000 SKIPN ;PASS IF C(AC) IS NON-ZERO
18993 STOP^
18994 041170 254 04 0 00 041171 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
18995 041171 324 00 0 00 041172 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
18996 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
18997 ;IN THE SUBTEST) TO LOOP ON ERROR^
18998
18999 ;**********
19000
19001 ;THIS TEST VERIFIES THAT ORCM CHANGES C(AC) TO THE LOGICAL
19002 ;INCLUSIVE OR OF C(AC) WITH COMPLEMENT OF C(MEMORY).
19003 ;IN THIS CASE AC=MEMORY=AC0 AND C(AC)=C(E)=0
19004 ;HENCE THE RESULT IN THE AC SHOULD BE ALL ONES.
19005 ;THE AC IS CHECKED FOR ITS FINAL CONTENTS EQUAL TO -1,,-1
19006 ;IF C(AC0)=-1,,-1, THE TEST PASSES
19007
19008 041172 201 00 0 00 000000 B4500: MOVEI 0 ;PRELOAD AC,E WITH 0
19009 041173 464 00 0 00 000000 ORCM ;*ORCM SHOULD PUT ALL ONES INTO AC0
19010 041174 312 00 0 00 070254 CAME [-1] ;PASS IF C(AC)=-1,,-1
19011 STOP^
19012 041175 254 04 0 00 041176 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19013 041176 324 00 0 00 041177 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19014 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19015 ;IN THE SUBTEST) TO LOOP ON ERROR^
19016
19017 ;***** FAILURE ANALYSIS *****
19018 ;C(AC0) C(AC1) FAILING SIGNAL
19019
19020 ;0 SW: ET0
19021 ;0 FC: AD AR + EN
19022 ;0 ET2: AR AD EN
19023
19024 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 37
DFKAA2 MAC 25-AUG-75 13:56 TEST OF BOOLEAN INSTRUCTIONS SEQ 0406
19025 ;THIS TEST VERIFIES THAT ORCM CHANGES C(AC) TO THE LOGICAL
19026 ;INCLUSIVE OR OF C(AC) WITH COMPLEMENT OF C(MEMORY).
19027 ;IN THIS CASE AC=MEMORY=AC0 AND C(AC)=C(E)=-1,,-1
19028 ;HENCE THE RESULT IN THE AC SHOULD BE ALL ONES.
19029 ;THE AC IS CHECKED FOR ITS FINAL CONTENTS EQUAL TO -1,,-1
19030 ;IF C(AC0)=-1,,-1, THE TEST PASSES
19031
19032 041177 200 00 0 00 070254 B4600: MOVE [-1] ;PRELOAD AC,E WITH -1,,-1
19033 041200 464 00 0 00 000000 ORCM ;*ORCM SHOULD PUT ALL ONES INTO AC0
19034 041201 312 00 0 00 070254 CAME [-1] ;PASS IF C(AC)=-1,,-1
19035 STOP^
19036 041202 254 04 0 00 041203 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19037 041203 324 00 0 00 041204 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19038 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19039 ;IN THE SUBTEST) TO LOOP ON ERROR^
19040
19041 ;***** FAILURE ANALYSIS *****
19042 ;C(AC0) C(AC1) FAILING SIGNAL
19043
19044 ;0 FC: AD FM - EN
19045 ;0 ET0: AR AD EN
19046
19047 ;**********
19048
19049 ;THIS TEST VERIFIES THAT ORCM CHANGES C(AC) TO THE LOGICAL
19050 ;INCLUSIVE OR OF C(AC) WITH COMPLEMENT OF C(MEMORY).
19051 ;IN THIS CASE C(AC)=0 AND C(E)=-1,,-1; HENCE, THE RESULT
19052 ;IN THE AC SHOULD BE 0. THE AC IS CHECKED FOR ITS INAL CONTENTS=0.
19053 ;IF C(AC)=0, THE TEST PASSES
19054
19055 041204 201 00 0 00 000000 B4700: MOVEI 0 ;PRELOAD AC WITH 0
19056 041205 464 00 0 00 070254 ORCM [-1] ;*ORCM SHOULD PLACE ALL ZEROS INTO THE AC
19057 041206 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0,,0
19058 STOP^
19059 041207 254 04 0 00 041210 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19060 041210 324 00 0 00 041211 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19061 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19062 ;IN THE SUBTEST) TO LOOP ON ERROR^
19063
19064 ;***** FAILURE ANALYSIS *****
19065 ;C(AC0) C(AC1) FAILING SIGNAL
19066
19067 ;-E SW: FCE
19068
19069 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 38
DFKAA2 MAC 25-AUG-75 13:56 TEST OF BOOLEAN INSTRUCTIONS SEQ 0407
19070 ;THIS TEST VERIFIES THAT IOR CHANGES C(AC) TO THE LOGICAL
19071 ;INCLUSIVE OR OF C(AC) WITH C(E).
19072 ;IN THIS CASE AC=E AND C(AC)=C(E)=0,,0. HENCE THE
19073 ;RESULT IN THE AC SHOULD BE 0,,0.
19074 ;THE AC IS CHECKED FOR 0,,0. IF C(AC)=0,,0, THIS TEST PASSES
19075
19076 041211 201 00 0 00 000000 B5000: MOVEI 0 ;PRELOAD AC,E WITH 0,,0
19077 041212 434 00 0 00 000000 IOR ;*IOR SHOULD PUT 0 INTO AC
19078 041213 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0,,0
19079 STOP^
19080 041214 254 04 0 00 041215 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19081 041215 324 00 0 00 041216 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19082 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19083 ;IN THE SUBTEST) TO LOOP ON ERROR^
19084
19085 ;***** FAILURE ANALYSIS *****
19086 ;C(AC0) C(AC1) FAILING SIGNAL
19087
19088 ;-1,,-1 SW: ET0
19089 ;-1,,-1 ET0: AR AD EN
19090 ;-1,,-1 ET0: AD AR - EN
19091 ;-1,,-1 ET2: AR AD EN
19092
19093 ;**********
19094
19095 ;THIS TEST VERIFIES THAT IOR CHANGES C(AC) TO THE LOGICAL
19096 ;INCLUSIVE OR OF C(AC) WITH C(E).
19097 ;IN THIS CASE C(AC)=0 AND C(E)=-1,,-1. HENCE, THE
19098 ;RESULT IN THE AC SHOULD BE -1,,-1.
19099 ;THE AC IS CHECKED FOR -1,,-1
19100 ;IF C(AC) =-1,,-1 THE TEST PASSES.
19101
19102 041216 201 00 0 00 000000 B5100: MOVEI 0 ;PRELOAD AC WITH 0
19103 041217 434 00 0 00 070254 IOR [-1] ;*IOR SHOULD PUT -1,,-1 INTO AC
19104 041220 312 00 0 00 070254 CAME [-1] ;PASS TEST IF C(AC) =-1,,-1
19105 STOP^
19106 041221 254 04 0 00 041222 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19107 041222 324 00 0 00 041223 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19108 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19109 ;IN THE SUBTEST) TO LOOP ON ERROR^
19110
19111 ;***** FAILURE ANALYSIS *****
19112 ;C(AC0) C(AC1) FAILING SIGNAL
19113
19114 ;E SW: FCE
19115 ;0 FC: AD AR - EN
19116
19117 ;***** FAILURE ANALYSIS *****
19118 ;C(AC0) C(AC1) FAILING SIGNAL
19119
19120 ;0 FC: AD FM - EN
19121
19122 041223 NB5300:;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 39
DFKAA2 MAC 25-AUG-75 13:56 TEST OF BOOLEAN INSTRUCTIONS SEQ 0408
19123 ;THIS TEST VERIFIES THAT IOR CHANGES C(AC) TO THE LOGICAL
19124 ;INCLUSIVE OR OF C(AC) WITH C(E).
19125 ;IN THIS CASE C(AC)=0 AND C(E)=-1,,-1. HENCE, THE
19126 ;RESULT IN THE AC SHOULD BE -1,,-1
19127 ;THE AC IS CHECKED FOR ITS CONTENTS = ALL ONES
19128 ;IF C(AC)=-1, THE TEST PASSES
19129
19130 041223 474 00 0 00 000000 B5200: SETO ;PRELOAD AC WITH -1,,-1
19131 041224 434 00 0 00 070254 IOR [-1] ;*IOR SHOULD PUT -1,,-1 INTO AC
19132 041225 312 00 0 00 070254 CAME [-1] ;PASS TEST IF C(AC)=-1,,-1
19133 STOP^
19134 041226 254 04 0 00 041227 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19135 041227 324 00 0 00 041230 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19136 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19137 ;IN THE SUBTEST) TO LOOP ON ERROR^
19138
19139 ;**********
19140
19141 ;THIS TEST VERIFIES THAT IOR CHANGES C(AC) TO THE LOGICAL
19142 ;INCLUSIVE OR OF C(AC) WITH C(E).
19143 ;IN THIS CASE C(AC)=0 AND C(E)=-1,,-1. HENCE, THE
19144 ;RESULT IN THE AC SHOULD BE -1,,-1
19145 ;THE AC IS CHECKED FOR ITS CONTENTS = ALL ONES
19146 ;IF C(AC)=-1,,-1, THE TEST PASSES
19147
19148 041230 474 00 0 00 000000 B5300: SETO ;PRELOAD AC WITH -1,,-1
19149 041231 434 00 0 00 070253 IOR [0] ;*IOR SHOULD PUT -1,,-1 INTO AC
19150 041232 312 00 0 00 070254 CAME [-1] ;PASS TEST IF C(AC)=-1,,-1
19151 STOP^
19152 041233 254 04 0 00 041234 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19153 041234 324 00 0 00 041235 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19154 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19155 ;IN THE SUBTEST) TO LOOP ON ERROR^
19156
19157 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 40
DFKAA2 MAC 25-AUG-75 13:56 TEST OF BOOLEAN INSTRUCTIONS SEQ 0409
19158 ;THIS TEST VERIFIES THAT ANDCM CHANGES C(AC) TO THE LOGICAL AND
19159 ;OF C(AC) AND THE COMPLEMENT OF C(MEMORY).
19160 ;IN THIS CASE C(AC)=-1,,-1 AND C(E)=-1,,0. HENCE, THE RESULT
19161 ;IN THE AC SHOULD BE 0,,-1
19162 ;THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THE TEST PASSES
19163
19164 041235 474 00 0 00 000000 B5500: SETO ;PRELOAD AC WITH ALL ONES
19165 041236 420 00 0 00 070331 ANDCM [XWD -1,0] ;*ANDCM SHOULD PLACE 0,,-1 IN THE AC
19166 041237 312 00 0 00 070330 CAME [0,,-1] ;IF C(AC)=0,,-1, THE TEST PASSES
19167 STOP^
19168 041240 254 04 0 00 041241 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19169 041241 324 00 0 00 041242 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19170 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19171 ;IN THE SUBTEST) TO LOOP ON ERROR^
19172
19173 ;***** FAILURE ANALYSIS *****
19174 ;C(AC0) C(AC1) FAILING SIGNAL
19175
19176 ;-E SW: FCE
19177 ;-1,,-1 FC: AD AR - EN
19178 ;-1,,0 ET2: AR AD EN
19179
19180 ;**********
19181
19182 ;THIS TEST VERIFIES THAT ANDCM CHANGES C(AC) TO THE LOGICAL AND
19183 ;OF C(AC) AND THE COMPLEMENT OF C(MEMORY).
19184 ;IN THIS CASE AC=E=AC0 AND C(AC)=C(E)=0. HENCE,
19185 ;THE RESULT IN THE AC SHOULD BE 0. THE AC IS CHECKED FOR 0.
19186 ;IF C(AC)=0, THE TEST PASSES.
19187
19188 041242 474 00 0 00 000000 B5600: SETO ;PRELOAD AC WITH ALL ONES
19189 041243 420 00 0 00 000000 ANDCM ;*ANDCM SHOULD PLACE 0 IN THE AC
19190 041244 332 00 0 00 000000 SKIPE ;IF C(AC)=0, THE TEST PASSES.
19191 STOP^
19192 041245 254 04 0 00 041246 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19193 041246 324 00 0 00 041247 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19194 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19195 ;IN THE SUBTEST) TO LOOP ON ERROR^
19196
19197 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 41
DFKAA2 MAC 25-AUG-75 13:56 TEST OF BOOLEAN INSTRUCTIONS SEQ 0410
19198 ;THIS TEST VERIFIES THAT ANDCM CHANGES C(AC) TO THE LOGICAL AND
19199 ;OF C(AC) AND THE COMPLEMENT OF C(MEMORY).
19200 ;IN THIS CASE C(AC)=-1,,-1, AND C(E)=0. HENCE, THE RESULT IN THE AC
19201 ;SHOULD BE ALL ONES. THE AC IS CHECKED FOR -1,,-1.
19202 ;IF C(AC)=-1,,-1, THE TEST PASSES
19203
19204 041247 474 00 0 00 000000 B5700: SETO ;PRELOAD AC WITH 0
19205 041250 420 00 0 00 070253 ANDCM [0] ;*ANDCM SHOULD PLACE -1,,-1 IN THE AC
19206 041251 312 00 0 00 070254 CAME [-1] ;IF C(AC)=-1,,-1, THE TEST PASSES
19207 STOP^
19208 041252 254 04 0 00 041253 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19209 041253 324 00 0 00 041254 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19210 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19211 ;IN THE SUBTEST) TO LOOP ON ERROR^
19212
19213 ;**********
19214
19215 ;THIS TEST VERIFIES THAT ANDCM CHANGES C(AC) TO THE LOGICAL AND
19216 ;OF C(AC) AND THE COMPLEMENT OF C(MEMORY).
19217 ;IN THIS CASE, AC=E AND C(AC)=C(E)=0. HENCE, THE RESULT IN THE AC
19218 ;SHOULD BE 0. THE AC IS CHECKED FOR 0.
19219 ;IF C(AC)=0, THE TEST PASSES
19220
19221 041254 201 00 0 00 000000 B6000: MOVEI 0 ;PRELOAD AC WITH 0
19222 041255 420 00 0 00 000000 ANDCM ;*ANDCM SHOULD PLACE 0 IN THE AC
19223 041256 332 00 0 00 000000 SKIPE ;IF C(AC)=0, THE TEST PASSES.
19224 STOP^
19225 041257 254 04 0 00 041260 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19226 041260 324 00 0 00 041261 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19227 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19228 ;IN THE SUBTEST) TO LOOP ON ERROR^
19229
19230 ;***** FAILURE ANALYSIS *****
19231 ;C(AC0) C(AC1) FAILING SIGNAL
19232
19233 ;-1,,-1 FC: AD FM + EN
19234
19235 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 42
DFKAA2 MAC 25-AUG-75 13:56 TEST OF BOOLEAN INSTRUCTIONS SEQ 0411
19236 ;THIS TEST VERIFIES THAT ANDCM CHANGES C(AC) TO THE LOGICAL AND
19237 ;OF C(AC) AND THE COMPLEMENT OF C(MEMORY).
19238 ;IN THIS CASE C(AC)=0 AND C(E)=-1,,-1. HENCE, THE RESULT IN THE AC
19239 ;SHOULD BE 0. THE AC IS CHECKED FOR 0.
19240 ;IF C(AC)=0, THE TEST PASSES
19241
19242 041261 400 00 0 00 000000 B6100: SETZ ;PRELOAD AC WITH 0
19243 041262 420 00 0 00 070254 ANDCM [-1] ;*ANDCM SHOULD PLACE 0 IN THE AC
19244 041263 332 00 0 00 000000 SKIPE ;IF C(AC)=0, THE TEST PASSES
19245 STOP^
19246 041264 254 04 0 00 041265 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19247 041265 324 00 0 00 041266 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19248 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19249 ;IN THE SUBTEST) TO LOOP ON ERROR^
19250
19251 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 43
DFKAA2 MAC 25-AUG-75 13:56 TEST OF BOOLEAN INSTRUCTIONS SEQ 0412
19252 ;THIS TEST VERIFIES THAT ANDCA CHANGES C(AC) TO THE LOGICAL AND FUNCTION
19253 ;OF THE COMPLEMENT OF C(AC) AND C(E).
19254 ;IN THIS CASE, C(AC)=-1,,0 AND C(E)=0. HENCE, THE RESULT IN THE AC
19255 ;SHOULD BE 0. THE AC IS CHECKED FOR ZERO. IF C(AC) IS
19256 ;EQUAL TO ZERO, THE TEST PASSES.
19257
19258 041266 200 00 0 00 070331 B6200: MOVE [XWD -1,0] ;PRELOAD AC WITH -1,,0
19259 041267 410 00 0 00 070253 ANDCA [0] ;*ANDCA SHOULD PLACE 0 IN THE AC
19260 041270 332 00 0 00 000000 SKIPE ;IF C(AC)=0, THE TEST PASSES.
19261 STOP^
19262 041271 254 04 0 00 041272 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19263 041272 324 00 0 00 041273 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19264 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19265 ;IN THE SUBTEST) TO LOOP ON ERROR^
19266
19267 ;***** FAILURE ANALYSIS *****
19268 ;C(AC0) C(AC1) FAILING SIGNAL
19269
19270 ;E SW: FCE
19271 ;0,,-1 FC: AD AR + EN
19272
19273 ;**********
19274
19275 ;THIS TEST VERIFIES THAT ANDCA CHANGES C(AC) TO THE LOGICAL AND FUNCTION
19276 ;OF THE COMPLEMENT OF C(AC) AND C(E).
19277 ;IN THIS CASE, C(AC)=-1,,0 AND C(E)=707070,,707070. HENCE, THE
19278 ;RESULT IN THE AC SHOULD BE 0,,707070. THE AC IS CHECKED
19279 ;FOR 0,,707070. IF C(AC)=0,,707070, THE TEST PASSES.
19280
19281 041273 200 00 0 00 070331 B6300: MOVE [XWD -1,0] ;PRELOAD AC WITH -1,,0
19282 041274 410 00 0 00 070332 ANDCA [707070707070] ;*ANDCA SHOULD PLACE 0,,707070 IN THE AC
19283 041275 312 00 0 00 070547 CAME [XWD 0,707070] ;IF C(AC)=0,,707070, THE TEST PASSES
19284 STOP^
19285 041276 254 04 0 00 041277 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19286 041277 324 00 0 00 041300 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19287 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19288 ;IN THE SUBTEST) TO LOOP ON ERROR^
19289
19290 ;***** FAILURE ANALYSIS *****
19291 ;C(AC0) C(AC1) FAILING SIGNAL
19292
19293 ;707070,,707070 FC: AD FM - EN
19294 ;707070,,707070 ET2: AR AD EN
19295
19296 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 44
DFKAA2 MAC 25-AUG-75 13:56 TEST OF BOOLEAN INSTRUCTIONS SEQ 0413
19297 ;THIS TEST VERIFIES THAT ANDCA CHANGES C(AC) TO THE LOGICAL AND FUNCTION
19298 ;OF THE COMPLEMENT OF C(AC) AND C(E).
19299 ;IN THIS CASE AC=E=AC0 AND C(AC)=C(E)=0. HENCE, THE RESULT
19300 ;IN THE AC SHOULD BE 0. THE AC IS CHECKED FOR 0. IF C(AC=0,
19301 ;THE TEST PASSES.
19302
19303 041300 400 00 0 00 000000 B6400: SETZ ;CLEAR THE AC AND E
19304 041301 410 00 0 00 000000 ANDCA ;*ANDCA SHOULD PLACE 0 IN THE AC
19305 041302 332 00 0 00 000000 SKIPE ;IF C(AC)=0, THE TEST PASSES
19306 STOP^
19307 041303 254 04 0 00 041304 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19308 041304 324 00 0 00 041305 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19309 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19310 ;IN THE SUBTEST) TO LOOP ON ERROR^
19311
19312 ;**********
19313
19314 ;THIS TEST VERIFIES THAT ANDCA CHANGES C(AC) TO THE LOGICAL AND FUNCTION
19315 ;OF THE COMPLEMENT OF C(AC) AND C(E).
19316 ;IN THIS CASE C(AC)=0 AND C(E)=-1,,-1. HENCE, THE RESULT IN THE AC
19317 ;SHOULD BE -1,,-1. THE AC IS CHECKED FOR ALL ONES.
19318 ;IF C(AC)=-1,,-1, THE TEST PASSES.
19319
19320 041305 400 00 0 00 000000 B6500: SETZ ;CLEAR THE AC
19321 041306 410 00 0 00 070254 ANDCA [-1] ;*ANDCA SHOULD PLACE ALL ONES IN THE AC
19322 041307 312 00 0 00 070254 CAME [-1] ;IF C(AC)=ALL ONES, THE TEST PASSES.
19323 STOP^
19324 041310 254 04 0 00 041311 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19325 041311 324 00 0 00 041312 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19326 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19327 ;IN THE SUBTEST) TO LOOP ON ERROR^
19328
19329 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 45
DFKAA2 MAC 25-AUG-75 13:56 TEST OF BOOLEAN INSTRUCTIONS SEQ 0414
19330 ;THIS TEST VERIFIES THAT ANDCA CHANGES C(AC) TO THE LOGICAL AND FUNCTION
19331 ;OF THE COMPLEMENT OF C(AC) AND C(E).
19332 ;IN THIS CASE AC=E=AC0 AND C(AC)=C(E)=-1,,-1. HENCE, THE RESULT
19333 ;IN THE AC SHOULD BE 0. THE AC IS CHECKED FOR 0. IF C(AC)=0,
19334 ;THE TEST PASSES.
19335
19336 041312 474 00 0 00 000000 B6600: SETO ;PRESET AC TO ALL ONES
19337 041313 410 00 0 00 000000 ANDCA ;*ANDCA SHOULD PLACE 0 IN THE AC
19338 041314 332 00 0 00 000000 SKIPE ;IF C(AC)=0, THE TEST PASSES
19339 STOP^
19340 041315 254 04 0 00 041316 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19341 041316 324 00 0 00 041317 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19342 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19343 ;IN THE SUBTEST) TO LOOP ON ERROR^
19344
19345 ;**********
19346
19347 ;THIS TEST VERIFIES THAT ANDCA CHANGES C(AC) TO THE LOGICAL AND FUNCTION
19348 ;OF THE COMPLEMENT OF C(AC) AND C(E).
19349 ;IN THIS CASE C(AC)=-1,,-1 AND C(E)=0. HENCE, THE RESULT IN THE AC
19350 ;SHOULD BE 0. THE AC IS CHECKED FOR 0. IF C(AC)=0,
19351 ;THE TEST PASSES.
19352
19353 041317 474 00 0 00 000000 B6700: SETO ;PRESET AC TO ALL ONES
19354 041320 410 00 0 00 070253 ANDCA [0] ;*ANDCA SHOULD PLACE 0 IN THE AC
19355 041321 332 00 0 00 000000 SKIPE ;IF C(AC)=0, THE TEST PASSES.
19356 STOP^
19357 041322 254 04 0 00 041323 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19358 041323 324 00 0 00 041324 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19359 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19360 ;IN THE SUBTEST) TO LOOP ON ERROR^
19361
19362 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 46
DFKAA2 MAC 25-AUG-75 13:56 TEST OF BOOLEAN INSTRUCTIONS SEQ 0415
19363 ;THIS TEST VERIFIES THAT ANDCB CHANGES C(AC) TO THE LOGICAL AND FUNCTION
19364 ;OF THE COMPLEMENT OF C(AC) AND THE COMPLEMENT OF C(E).
19365 ;IN THIS CASE C(AC)=-1,,0 AND C(E)=0; HENCE, THE RESULT IN THE AC
19366 ;SHOULD BE 0,,-1. THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1,
19367 ;THIS TEST PASSES.
19368
19369 041324 200 00 0 00 070331 B7000: MOVE [XWD -1,0] ;PRELOAD AC WITH -1,,0
19370 041325 440 00 0 00 070253 ANDCB [0] ;*ANDCB SHOULD PLACE 0,,-1 IN THE AC
19371 041326 312 00 0 00 070330 CAME [XWD 0,-1] ;PASS IF C(AC)=0,,-1
19372 STOP^
19373 041327 254 04 0 00 041330 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19374 041330 324 00 0 00 041331 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19375 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19376 ;IN THE SUBTEST) TO LOOP ON ERROR^
19377
19378 ;***** FAILURE ANALYSIS *****
19379 ;C(AC0) C(AC1) FAILING SIGNAL
19380
19381 ;0,,-E SW: FCE
19382 ;-1,,-1 FC: AD FM - EN
19383 ;0 ET2: AR AD EN
19384
19385 ;**********
19386
19387 ;THIS TEST VERIFIES THAT ANDCB CHANGES C(AC) TO THE LOGICAL AND FUNCTION
19388 ;OF THE COMPLEMENT OF C(AC) AND THE COMPLEMENT OF C(E).
19389 ;IN THIS CASE C(AC)=-1,,0 AND C(E)=-1,,-1; HENCE, THE RESULT IN THE AC
19390 ;SHOULD BE 0. THE AC IS CHECKED FOR 0. IF C(AC)=0,
19391 ;THIS TEST PASSES.
19392
19393 041331 200 00 0 00 070331 B7100: MOVE [XWD -1,0] ;PRELOAD AC WITH -1,,0
19394 041332 440 00 0 00 070254 ANDCB [-1] ;*ANDCB SHOULD PLACE 0 IN AC
19395 041333 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
19396 STOP^
19397 041334 254 04 0 00 041335 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19398 041335 324 00 0 00 041336 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19399 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19400 ;IN THE SUBTEST) TO LOOP ON ERROR^
19401
19402 ;***** FAILURE ANALYSIS *****
19403 ;C(AC0) C(AC1) FAILING SIGNAL
19404
19405 ;0,,-1 FC: AD AR - EN
19406
19407 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 47
DFKAA2 MAC 25-AUG-75 13:56 TEST OF BOOLEAN INSTRUCTIONS SEQ 0416
19408
19409 ;THIS TEST VERIFIES THAT ANDCB CHANGES C(AC) TO THE LOGICAL AND FUNCTION OF
19410 ;THE COMPLEMENT OF C(AC) AND THE COMPLEMENT OF C(E).
19411 ;IN THIS CASE AC=E AND C(AC)=C(E)=0. HENCE, THE RESULT IN THE AC
19412 ;SHOULD BE ALL ONES. THE AC IS CHECKED FOR ALL ONES. IF C(AC)=-1,,-1,
19413 ;THE TEST PASSES.
19414
19415 041336 400 00 0 00 000000 B7200: SETZ ;PRELOAD AC,E WITH ZEROES
19416 041337 440 00 0 00 000000 ANDCB ;*ANDCB SHOULD PLACE ALL ONES IN THE AC
19417 041340 312 00 0 00 070254 CAME [-1] ;PASS IF C(AC) IS ALL ONES
19418 STOP^
19419 041341 254 04 0 00 041342 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19420 041342 324 00 0 00 041343 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19421 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19422 ;IN THE SUBTEST) TO LOOP ON ERROR^
19423
19424 ;**********
19425
19426 ;THIS TEST VERIFIES THAT ANDCB CHANGES C(AC) TO THE LOGICAL AND FUNCTION OF
19427 ;THE COMPLEMENT OF C(AC) AND THE COMPLEMENT OF C(E).
19428 ;IN THIS CASE AC=E AND C(AC)=C(E)=-1,,-1. HENCE THE RESULT IN THE AC
19429 ;SHOULD BE 0. THE AC IS CHECKED FOR 0. IF C(AC)=0, THE TEST PASSES.
19430
19431 041343 474 00 0 00 000000 B7300: SETO ;PRELOAD AC,E WITH ONES
19432 041344 440 00 0 00 000000 ANDCB ;*ANDCB SHOULD PLACE ALL ZEROS IN THE AC
19433 041345 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
19434 STOP^
19435 041346 254 04 0 00 041347 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19436 041347 324 00 0 00 041350 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19437 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19438 ;IN THE SUBTEST) TO LOOP ON ERROR^
19439
19440 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 48
DFKAA2 MAC 25-AUG-75 13:56 TEST OF BOOLEAN INSTRUCTIONS SEQ 0417
19441 ;THIS TEST VERIFIES THAT ANDCB CHANGES C(AC) TO THE LOGICAL AND FUNCTION OF
19442 ;THE COMPLEMENT OF C(AC) AND THE COMPLEMENT OF C(E).
19443 ;IN THIS CASE, C(AC)=0 AND C(E)=-1,,-1. HENCE, THE RESULT IN THE AC
19444 ;SHOULD BE 0. THE AC IS CHECKED FOR 0. IF C(AC)=0, THE TEST PASSES.
19445
19446 041350 400 00 0 00 000000 B7400: SETZ ;PRELOAD AC WITH 0
19447 041351 440 00 0 00 070254 ANDCB [-1] ;*ANDCB SHOULD PLACE 0 IN THE AC
19448 041352 302 00 0 00 000000 CAIE ;PASS IF C(AC)=0
19449 STOP^
19450 041353 254 04 0 00 041354 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19451 041354 324 00 0 00 041355 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19452 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19453 ;IN THE SUBTEST) TO LOOP ON ERROR^
19454
19455 ;**********
19456
19457 ;THIS TEST VERIFIES THAT ANDCB CHANGES C(AC) TO THE LOGICAL AND FUNCTION OF
19458 ;THE COMPLEMENT OF C(AC) AND THE COMPLEMENT OF C(E).
19459 ;IN THIS CASE, C(AC)=-1,,-1 AND C(E)=-1,,-1. HENCE, THE RESULT IN THE AC
19460 ;SHOULD BE 0. THE AC IS CHECKED FOR 0. IF C(AC)=0, THE TEST PASSES.
19461
19462 041355 474 00 0 00 000000 B7500: SETO ;PRELOAD AC WITH -1,,-1
19463 041356 440 00 0 00 070253 ANDCB [0] ;*ANDCB SHOULD PLACE 0 IN THE AC
19464 041357 302 00 0 00 000000 CAIE ;PASS IF C(AC)=0
19465 STOP^
19466 041360 254 04 0 00 041361 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19467 041361 324 00 0 00 041362 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19468 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19469 ;IN THE SUBTEST) TO LOOP ON ERROR^
19470
19471 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 49
DFKAA2 MAC 25-AUG-75 13:56 TEST OF BOOLEAN INSTRUCTIONS SEQ 0418
19472 ;THIS TEST VERIFIES THAT ORCA CHANGES C(AC) TO THE LOGICAL OR FUNCTION OF
19473 ;THE COMPLEMENT OF C(AC) AND C(E).
19474 ;IN THIS CASE C(AC)=-1,,0 AND C(E)=0. HENCE, THE RESULT IN THE AC
19475 ;SHOULD BE 0,,-1. THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1,
19476 ;THIS TEST FAILS.
19477
19478 041362 200 00 0 00 070331 B7600: MOVE [XWD -1,0] ;PRELOAD AC WITH -1,,0
19479 041363 454 00 0 00 070253 ORCA [0] ;*ORCA SHOULD PLACE 0,,-1 IN THE AC
19480 041364 312 00 0 00 070330 CAME [XWD 0,-1] ;PASS IF C(AC)=0,,-1
19481 STOP^
19482 041365 254 04 0 00 041366 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19483 041366 324 00 0 00 041367 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19484 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19485 ;IN THE SUBTEST) TO LOOP ON ERROR^
19486
19487 ;***** FAILURE ANALYSIS *****
19488 ;C(AC0) C(AC1) FAILING SIGNAL
19489
19490 ;-1,,0 SW: ET0
19491 ;-1,,0 FC: AD AR - EN
19492 ;0 FC: AD FM + EN
19493 ;-1,,-1 ET0: AR AD EN
19494 ;-1,,-1 ET0: AD AR - EN
19495 ;-1,,0 ET2: AR AD EN
19496
19497 ;**********
19498
19499 ;THIS TEST VERIFIES THAT ORCA CHANGES C(AC) TO THE LOGICAL OR FUNCTION OF
19500 ;THE COMPLEMENT OF C(AC) AND C(E).
19501 ;IN THIS CASE C(AC)=-1,,0 AND C(E)=707070,,707070. HENCE, THE RESULT IN THE AC
19502 ;SHOULD BE 707070,,-1. THE AC IS CHECKED FOR -1,,0. IF C(AC)=-1,,0,
19503 ;THIS TEST FAILS.
19504
19505 041367 200 00 0 00 070331 B10000: MOVE [XWD -1,0] ;PRELOAD AC WITH -1,,0
19506 041370 454 00 0 00 070332 ORCA [707070707070] ;*ORCA SHOULD PLACE 707070,,-1 IN THE AC
19507 041371 312 00 0 00 070550 CAME [XWD 707070,-1] ;PASS IF C(AC)=707070,,-1
19508 STOP^
19509 041372 254 04 0 00 041373 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19510 041373 324 00 0 00 041374 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19511 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19512 ;IN THE SUBTEST) TO LOOP ON ERROR^
19513
19514 ;***** FAILURE ANALYSIS *****
19515 ;C(AC0) C(AC1) FAILING SIGNAL
19516
19517 ;0,,-1 SW: FCE
19518
19519 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 50
DFKAA2 MAC 25-AUG-75 13:56 TEST OF BOOLEAN INSTRUCTIONS SEQ 0419
19520 ;THIS TEST VERIFIES THAT ORCA CHANGES C(AC) TO THE LOGICAL OR FUNCTION OF
19521 ;THE COMPLEMENT OF C(AC) AND C(E).
19522 ;IN THIS CASE, AC=E AND C(AC)=C(E)=0. HENCE, THE RESULT IN THE AC
19523 ;SHOULD BE -1,,-1. THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THE TEST PASSES.
19524
19525 041374 400 00 0 00 000000 B10100: SETZ ;PRELOAD AC,E WITH 0
19526 041375 454 00 0 00 000000 ORCA ;*ORCA SHOULD PLACE -1,,-1 IN THE AC
19527 041376 312 00 0 00 070254 CAME [-1] ;PASS IF C(AC)=-1,,-1
19528 STOP^
19529 041377 254 04 0 00 041400 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19530 041400 324 00 0 00 041401 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19531 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19532 ;IN THE SUBTEST) TO LOOP ON ERROR^
19533
19534 ;**********
19535
19536 ;THIS TEST VERIFIES THAT ORCA CHANGES C(AC) TO THE LOGICAL OF FUNCTION OF
19537 ;THE COMPLEMENT OF C(AC) AND C(E).
19538 ;IN THIS CASE, AC=E AND C(AC)=C(E)=-1,,-1. HENCE, THE RESULT IN THE AC
19539 ;SHOULD BE -1,,-1. THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THE TEST PASSES.
19540
19541 041401 474 00 0 00 000000 B10200: SETO ;PRELOAD AC,E WITH 0
19542 041402 454 00 0 00 000000 ORCA ;*ORCA SHOULD PLACE -1,,-1 IN THE AC
19543 041403 312 00 0 00 070254 CAME [-1] ;PASS IF C(AC)=-1,,-1
19544 STOP^
19545 041404 254 04 0 00 041405 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19546 041405 324 00 0 00 041406 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19547 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19548 ;IN THE SUBTEST) TO LOOP ON ERROR^
19549
19550 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 51
DFKAA2 MAC 25-AUG-75 13:56 TEST OF BOOLEAN INSTRUCTIONS SEQ 0420
19551 ;THIS TEST VERIFIES THAT ORCA CHANGES C(AC) TO THE LOGICAL OR FUNCTION OF
19552 ;THE COMPLEMENT OF C(AC) AND C(E).
19553 ;IN THIS CASE C(AC)=0 AND C(E)=-1,,-1. HENCE, THE RESUTL IN THE AC
19554 ;SHOULD BE -1,,-1. THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THE TEST PASSES.
19555
19556 041406 400 00 0 00 000000 B10300: SETZ ;PRELOAD AC WITH 0
19557 041407 454 00 0 00 070254 ORCA [-1] ;*ORCA SHOULD PLACE -1,,-1 IN THE AC
19558 041410 312 00 0 00 070254 CAME [-1] ;PASS IF C(AC)=-1,,-1
19559 STOP^
19560 041411 254 04 0 00 041412 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19561 041412 324 00 0 00 041413 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19562 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19563 ;IN THE SUBTEST) TO LOOP ON ERROR^
19564
19565 ;**********
19566
19567 ;THIS TEST VERIFIES THAT ORCA CHANGES C(AC) TO THE LOGICAL OR FUNCTION OF
19568 ;THE COMPLEMENT OF C(AC) AND C(E).
19569 ;IN THIS CASE C(AC)=-1,,-1 AND C(E)=0. HENCE, THE RESULT IN THE AC
19570 ;SHOULD BE 0. THE AC IS CHECKED FOR 0. IF C(AC)=0, THE TEST PASSES.
19571
19572 041413 474 00 0 00 000000 B10400: SETO ;PRELOAD AC WITH -1,,-1
19573 041414 454 00 0 00 070253 ORCA [0] ;*ORCA SHOULD PLACE 0 IN THE AC
19574 041415 302 00 0 00 000000 CAIE ;PASS IF C(AC)=0
19575 STOP^
19576 041416 254 04 0 00 041417 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19577 041417 324 00 0 00 041420 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19578 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19579 ;IN THE SUBTEST) TO LOOP ON ERROR^
19580
19581 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 52
DFKAA2 MAC 25-AUG-75 13:56 TEST OF BOOLEAN INSTRUCTIONS SEQ 0421
19582 ;THIS TEST VERIFIES THAT ORCB CHANGES C(AC) TO THE LOGICAL OR FUNCTION OF
19583 ;THE COMPLEMENT OF C(AC) AND THE COMPLEMENT OF C(E)
19584 ;IN THIS CASE, C(AC)=-1,,0 AND C(E)=707070,,707070. HENCE THE RESULT
19585 ;IN THE AC 070707,,-1. THE AC IS CHECKED FOR 070707,,-1. IF C(AC)=070707,,-1,
19586 ;THIS TEST PASSES
19587
19588 041420 200 00 0 00 070331 B10500: MOVE [XWD -1,0] ;PRELOAD THE AC WITH -1,,0
19589 041421 470 00 0 00 070332 ORCB [707070707070] ;*ORCB SHOULD PLACE 070707,,-1 IN THE AC
19590 041422 312 00 0 00 070551 CAME [XWD 070707,-1] ;PASS IF C(AC)=070707,,-1
19591 STOP^
19592 041423 254 04 0 00 041424 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19593 041424 324 00 0 00 041425 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19594 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19595 ;IN THE SUBTEST) TO LOOP ON ERROR^
19596
19597 ;***** FAILURE ANALYSIS *****
19598 ;C(AC0) C(AC1) FAILING SIGNAL
19599
19600 ;-1,,-1 SW: FCE
19601 ;707070,,0 SW: ET0
19602 ;0,,-1 FC: AD AR + EN
19603 ;070707,,070707 FC: AD FM + EN
19604 ;070707,,070707 ET0: AR AD EN
19605 ;-1,,-1 ET0: AD AR - EN
19606 ;707070,,0 ET2: AR AD EN
19607
19608 ;**********
19609
19610 ;THIS TEST VERIFIES THAT ORCB CHANGES C(AC) TO THE LOGICAL OR FUNCTION OF
19611 ;THE COMPLEMENT OF C(AC) AND THE COMPLEMENT OF C(E)
19612 ;IN THIS CASE, C(AC)=0,,-1 AND C(E)=-1,,-1. HENCE THE RESULT
19613 ;IN THE AC -1,,0. THE AC IS CHECKED FOR -1,,0. IF C(AC)=-1,,0,
19614 ;THIS TEST PASSES
19615
19616 041425 200 00 0 00 070330 B10700: MOVE [XWD 0,-1] ;PRELOAD THE AC WITH 0,,-1
19617 041426 470 00 0 00 070254 ORCB [-1] ;*ORCB SHOULD PLACE -1,,0 IN THE AC
19618 041427 312 00 0 00 070331 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0
19619 STOP^
19620 041430 254 04 0 00 041431 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19621 041431 324 00 0 00 041432 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19622 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19623 ;IN THE SUBTEST) TO LOOP ON ERROR^
19624
19625 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 53
DFKAA2 MAC 25-AUG-75 13:56 TEST OF BOOLEAN INSTRUCTIONS SEQ 0422
19626 ;THIS TEST VERIFIES THAT ORCB CHANGES C(AC) TO THE LOGICAL OR FUNCTION OF
19627 ;THE COMPLEMENT OF C(AC) AND THE COMPLEMENT OF C(E).
19628 ;IN THIS CASE, C(AC)=0 AND C(E)=0. HENCE, THE RESULT IN THE AC
19629 ;SHOULD BE -1,,-1. THE AC IS CHECKED FOR -1,,-1. IF C(AC)-1,,-1, THE TEST PASSES
19630
19631 041432 400 00 0 00 000000 B11000: SETZ ;PRELOAD AC WITH 0
19632 041433 470 00 0 00 070253 ORCB [0] ;*ORCB SHOULD PLACE -1,,-1 IN THE AC
19633 041434 312 00 0 00 070254 CAME [-1] ;PASS IF C(AC)=-1,,-1
19634 STOP^
19635 041435 254 04 0 00 041436 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19636 041436 324 00 0 00 041437 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19637 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19638 ;IN THE SUBTEST) TO LOOP ON ERROR^
19639
19640 ;**********
19641
19642 ;THIS TEST VERIFIES THAT ORCB CHANGES C(AC) TO THE LOGICAL OR FUNCTION OF
19643 ;THE COMPLEMENT OF C(AC) AND THE COMPLEMENT OF C(E).
19644 ;IN THIS CASE, C(AC)=-1,,-1 AND C(E)=-1,,-1. HENCE, THE RESULT IN THE AC
19645 ;SHOULD BE 0. THE AC IS CHECKED FOR 0. IF C(AC)=0, THE TEST PASSES
19646
19647 041437 474 00 0 00 000000 B11100: SETO ;PRELOAD AC WITH -1,,-1
19648 041440 470 00 0 00 070254 ORCB [-1] ;*ORCB SHOULD PLACE 0 IN THE AC
19649 041441 302 00 0 00 000000 CAIE ;PASS IF C(AC)=0
19650 STOP^
19651 041442 254 04 0 00 041443 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19652 041443 324 00 0 00 041444 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19653 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19654 ;IN THE SUBTEST) TO LOOP ON ERROR^
19655
19656 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 54
DFKAA2 MAC 25-AUG-75 13:56 TEST OF BOOLEAN INSTRUCTIONS SEQ 0423
19657 ;THIS TEST VERIFIES THAT ORCB CHANGES C(AC) TO THE LOGICAL OR FUNCTION OF
19658 ;THE COMPLEMENT OF C(AC) AND THE COMPLEMENT OF C(E)
19659 ;IN THIS CASE, C(AC)=0 AND C(E)=-1,,-1. HENCE, THE RESULT IN THE AC
19660 ;SHOULD BE -1,,-1. THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THE TEST PASSES
19661
19662 041444 400 00 0 00 000000 B11200: SETZ ;PRELOAD AC WITH 0
19663 041445 470 00 0 00 070254 ORCB [-1] ;*ORCB SHOULD PLACE -1,,-1 IN THE AC
19664 041446 312 00 0 00 070254 CAME [-1] ;PASS IF C(AC)=-1,,-1
19665 STOP^
19666 041447 254 04 0 00 041450 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19667 041450 324 00 0 00 041451 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19668 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19669 ;IN THE SUBTEST) TO LOOP ON ERROR^
19670
19671 ;**********
19672
19673 ;THIS TEST VERIFIES THAT ORCB CHANGES C(AC) TO THE LOGICAL OR FUNCTION OF
19674 ;THE COMPLEMENT OF C(AC) AND THE COMPLEMENT OF C(E).
19675 ;IN THIS CASE, C(AC)=-1,,-1 AND C(E)=0. HENCE, THE RESULT IN THE AC
19676 ;SHOULD BE -1,,-1. THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THE TEST PASSES
19677
19678 041451 474 00 0 00 000000 B11300: SETO ;PRELOAD AC WITH -1,,-1
19679 041452 470 00 0 00 070253 ORCB [0] ;*ORCB SHOULD PLACE -1,,-1 IN THE AC
19680 041453 312 00 0 00 070254 CAME [-1] ;PASS IF C(AC)=-1,,-1
19681 STOP^
19682 041454 254 04 0 00 041455 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19683 041455 324 00 0 00 041456 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19684 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19685 ;IN THE SUBTEST) TO LOOP ON ERROR^
19686
19687 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 55
DFKAA2 MAC 25-AUG-75 13:56 TEST OF MOVN INSTRUCTION SEQ 0424
19688 SUBTTL TEST OF MOVN INSTRUCTION
19689
19690 ;**********
19691
19692 ;THIS TEST VERIFIES THAT MOVN PLACES THE NEGATIVE OF C(E) INTO THE AC
19693 ;IN THIS CASE C(E)=0. HENCE, THE RESULT IN THE AC SHOULD BE 0.
19694 ;THE AC IS CHECKED FOR 0, THE NEGATIVE OF 0. IF C(AC)=0, THIS TEST PASSES
19695
19696 041456 474 00 0 00 000000 B11500: SETO ;PRELOAD AC WITH -1,,-1
19697 041457 210 00 0 00 070253 MOVN [0] ;*MOVN SHOULD PLACE 0 INTO THE AC
19698 041460 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
19699 STOP^
19700 041461 254 04 0 00 041462 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19701 041462 324 00 0 00 041463 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19702 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19703 ;IN THE SUBTEST) TO LOOP ON ERROR^
19704
19705 ;***** FAILURE ANALYSIS *****
19706 ;C(AC0) C(AC1) FAILING SIGNAL
19707
19708 ;E SW: FCE
19709 ;-1,,-1 FC: AD FM + EN
19710 ;-1,,-1 FC: AD CRY 36
19711
19712 ;**********
19713
19714 ;THIS TEST VERIFIES THAT MOVN PLACES THE NEGATIVE OF C(E) INTO THE AC.
19715 ;IN THIS CASE C(E)=-1,,0. HENCE, THE RESULT IN THE AC SHOULD BE 1,,0
19716 ;THE AC IS CHECKED FOR 1,,0. IF C(AC)=1,,0, THE TEST PASSES
19717
19718 041463 200 00 0 00 070331 B11600: MOVE [XWD -1,0] ;PRELOAD AC,E WITH -1,,0
19719 041464 210 00 0 00 000000 MOVN ;*MOVN SHOULD PLACE 1,,0 INTO THE AC
19720 041465 312 00 0 00 070307 CAME [XWD 1,0] ;PASS IF C(AC)=1,,0
19721 STOP^
19722 041466 254 04 0 00 041467 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19723 041467 324 00 0 00 041470 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19724 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19725 ;IN THE SUBTEST) TO LOOP ON ERROR^
19726
19727 ;***** FAILURE ANALYSIS *****
19728 ;C(AC0) C(AC1) FAILING SIGNAL
19729
19730 ;0 FC: AD ADD
19731 ;0 FC: AD FM - EN
19732 ;0 FC: AD AR - EN
19733 ;-1,,0 ET2: AR AD EN
19734
19735 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 56
DFKAA2 MAC 25-AUG-75 13:56 TEST OF MOVN INSTRUCTION SEQ 0425
19736 ;THIS TEST VERIFIES THAT MOVN PLACES THE NEGATIVE OF C(E) INTO THE AC.
19737 ;IN THIS CASE C(E) =707070,,707070. HENCE, THE RESULT IN THE AC SHOULD BE
19738 ;070707,,070710. THE AC IS CHECKED FOR 070707,,070710. IF C(AC)=
19739 ;070707,,070710, THE TEST PASSES
19740
19741 041470 400 00 0 00 000000 B11700: SETZ ;PRELOAD AC WITH 0
19742 041471 210 00 0 00 070332 MOVN [707070707070] ;*MOVN SHOULD PLACE 070707,,070710 INTO THE AC
19743 041472 312 00 0 00 070552 CAME [070707070710] ;PASS IF C(AC) 070707,,070710
19744 STOP^
19745 041473 254 04 0 00 041474 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19746 041474 324 00 0 00 041475 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19747 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19748 ;IN THE SUBTEST) TO LOOP ON ERROR^
19749
19750 ;**********
19751
19752 ;THIS TEST VERIFIES THAT MOVN PLACES THE NEGATIVE OF C(E) INTO THE AC
19753 ;IN THIS CASE C(E)=-1,,-1. HENCE, THE RESULT IN THE AC SHOULD BE 0,,1.
19754 ;THE AC IS CHECKED FOR 0,,1, THE NEGATIVE OF -1,,-1. IF C(AC)=1, THIS TEST PASSES
19755
19756 041475 210 00 0 00 070254 B12100: MOVN [-1] ;*MOVN SHOULD PLACE 0,,1 INTO THE AC
19757 041476 302 00 0 00 000001 CAIE 1 ;PASS OF C(AC)=0,,1
19758 STOP^
19759 041477 254 04 0 00 041500 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19760 041500 324 00 0 00 041501 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19761 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19762 ;IN THE SUBTEST) TO LOOP ON ERROR^
19763
19764 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 57
DFKAA2 MAC 25-AUG-75 13:56 TEST OF MOVM INSTRUCTION SEQ 0426
19765 SUBTTL TEST OF MOVM INSTRUCTION
19766
19767 ;**********
19768
19769 ;THIS TEST VERIFIES THAT MOVM PLACES THE MAGNITUDE OF C(E) INTO THE AC.
19770 ;IN THIS CASE, C(E)=0. HENCE, THE RESULT IN THE AC SHOULD BE 0.
19771 ;THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES
19772
19773 041501 474 00 0 00 000000 B12200: SETO ;PRELOAD AC WITH -1,,-1
19774 041502 214 00 0 00 070253 MOVM [0] ;*MOVM SHOULD PLACE 0 INTO THE AC
19775 041503 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
19776 STOP^
19777 041504 254 04 0 00 041505 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19778 041505 324 00 0 00 041506 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19779 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19780 ;IN THE SUBTEST) TO LOOP ON ERROR^
19781
19782 ;***** FAILURE ANALYSIS *****
19783 ;C(AC0) C(AC1) FAILING SIGNAL
19784
19785 ;E SW: FCE
19786
19787 ;**********
19788
19789 ;THIS TEST VERIFIES THAT MOVM PLACES THE MAGNITUDE OF C(E) INTO THE AC
19790 ;IN THIS CASE, C(E)=-1,,-1. HENCE, THE RESULT IN THE AC SHOULD BE 0,,1.
19791 ;THE AC IS CHECKED FOR 0,,1. IF C(AC)=0,,1, THIS TEST PASSES
19792
19793 041506 400 00 0 00 000000 B12300: SETZ ;PRELOAD AC WITH 0
19794 041507 214 00 0 00 070254 MOVM [-1] ;*MOVM SHOULD PLACE 0,,1 INTO THE AC
19795 041510 302 00 0 00 000001 CAIE 1 ;PASS IF C(AC)=0,,1
19796 STOP^
19797 041511 254 04 0 00 041512 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19798 041512 324 00 0 00 041513 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19799 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19800 ;IN THE SUBTEST) TO LOOP ON ERROR^
19801
19802 ;***** FAILURE ANALYSIS *****
19803 ;C(AC0) C(AC1) FAILING SIGNAL
19804
19805 ;0 FC: AD FM + EN
19806 ;0 FC: AD ADD
19807 ;0 FC: AD CRY 36
19808 ;0 FC: AD AR - EN
19809 ;-1,,-1 ET2: AR AD EN
19810
19811 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 58
DFKAA2 MAC 25-AUG-75 13:56 TEST OF MOVM INSTRUCTION SEQ 0427
19812 ;THIS TEST VERIFIES THAT MOVM PLACES THE MAGNITUDE OF C(E) INTO THE AC
19813 ;IN THIS CASE, C(E)=400000,,0. HENCE, THE RESULT IN THE AC SHOULD BE
19814 ;400000,,0. THE AC IS CHECKED FOR 400000,,0.
19815 ;IF C(AC)=400000,,0, THIS TEST PASSES.
19816
19817 041513 400 00 0 00 000000 B12400: SETZ
19818 041514 214 00 0 00 070256 MOVM [XWD 400000,0] ;*MOVM SHOULD PLACE 400000,,0 INTO THE AC
19819 041515 312 00 0 00 070256 CAME [XWD 400000,0] ;PASS IF C(AC)=400000,,0
19820 STOP^
19821 041516 254 04 0 00 041517 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19822 041517 324 00 0 00 041520 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19823 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19824 ;IN THE SUBTEST) TO LOOP ON ERROR^
19825
19826 ;**********
19827
19828 ;THIS TEST VERIFIES THAT MOVM PLACES THE MAGNITUDE OF C(E) INTO THE AC
19829 ;IN THIS CASE, C(E)=377777,,-1. HENCE, THE RESULT IN THE AC SHOULD BE
19830 ;377777,,-1. THE AC IS CHECKED FOR 377777,,-1.
19831 ;IF C(AC)=377777,,-1, THIS TEST PASSES.
19832
19833 041520 400 00 0 00 000000 B12500: SETZ ;PRELOAD AC WITH 0
19834 041521 214 00 0 00 070255 MOVM [XWD 377777,-1] ;*MOVM SHOULD PLACE 377777,,-1 INTO THE AC
19835 041522 312 00 0 00 070255 CAME [XWD 377777,-1] ;PASS IF C(AC)=377777,,-1
19836 STOP^
19837 041523 254 04 0 00 041524 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19838 041524 324 00 0 00 041525 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19839 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19840 ;IN THE SUBTEST) TO LOOP ON ERROR^
19841
19842 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 1
DFKAA3 MAC 25-AUG-75 13:57 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0428
19843 SUBTTL TEST OF LOGICAL TEST INSTRUCTIONS
19844
19845 ;**********
19846
19847 ;THIS TEST VERIFIES THAT TDN DOES NOT MODIFY THE AC BECAUSE
19848 ;TDN IS A NO-OP
19849 ;FIRST, THE AC IS PRELOADED WITH 0. THEN,
19850 ;TDN IS EXECUTED. THE AC IS THEN CHECKED FOR
19851 ;NO MODIFICATION. IF C(AC) IS UNALTERED, THE TEST PASSES
19852 041525 400 00 0 00 000000 B12600: SETZ ;PRELOAD AC WITH 0
19853 041526 610 00 0 00 070254 TDN [-1] ;*TDN IS A NO-OP
19854 041527 310 00 0 00 000000 CAM ;CAM IS A NO-OP. IT IS HERE IN CASE TDN SKIPS
19855 041530 302 00 0 00 000000 CAIE ;PASS TEST IF C(AC) IS UNMODIFIED BY TDN
19856 STOP^
19857 041531 254 04 0 00 041532 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19858 041532 324 00 0 00 041533 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19859 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19860 ;IN THE SUBTEST) TO LOOP ON ERROR^
19861
19862 ;***** FAILURE ANALYSIS *****
19863 ;C(AC0) C(AC1) FAILING SIGNAL
19864
19865 ;-1,,-1 FC: AD FM + EN
19866
19867 ;**********
19868
19869 ;THIS TEST VERIFIES THAT TSN DOES NOT MODIFY THE AC BECAUSE
19870 ;TSN IS A NO-OP
19871 ;FIRST, THE AC IS PRELOADED WITH -1. THEN,
19872 ;TSN IS EXECUTED. THE AC IS THEN CHECKED FOR
19873 ;NO MODIFICATION. IF C(AC) IS UNALTERED, THIS TEST PASSES
19874
19875 041533 474 00 0 00 000000 B12700: SETO ;PRELOAD AC WITH -1,,-1
19876 041534 611 00 0 00 070331 TSN [XWD -1,0] ;*TSN IS A NO-OP
19877 041535 310 00 0 00 000000 CAM ;CAM IS A NO-OP. IT IS HERE IN CASE TSN SKIPS
19878 041536 312 00 0 00 070254 CAME [-1] ;PASS TEST IF C(AC) IS UNMODIFIED BY TSN
19879 STOP^
19880 041537 254 04 0 00 041540 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19881 041540 324 00 0 00 041541 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19882 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19883 ;IN THE SUBTEST) TO LOOP ON ERROR^
19884
19885 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 2
DFKAA3 MAC 25-AUG-75 13:57 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0429
19886 ;THIS TEST VERIFIES THAT TRN DOE NOT MODIFY THE AC BECAUSE
19887 ;TRN IS A NO-OP.
19888 ;FIRST, THE AC IS PRELOADED WITH 0. THEN,
19889 ;TRN IS EXECUTED. THE AC IS THEN CHECKED FOR
19890 ;NO MODIFICATION. IF C(AC) IS UNALTERED, THIS TEST PASSES
19891
19892 041541 400 00 0 00 000000 B13000: SETZ ;PRELOAD AC WITH 0
19893 041542 600 00 0 00 123456 TRN 123456 ;*TRN IS A NO-OP
19894 041543 310 00 0 00 000000 CAM ;CAM IS A NO-OP. IT IS HERE IN CASE TRN SKIPS
19895 041544 302 00 0 00 000000 CAIE ;PASS TEST IF C(AC) IS UNMODIFIED BY TRN
19896 STOP^
19897 041545 254 04 0 00 041546 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19898 041546 324 00 0 00 041547 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19899 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19900 ;IN THE SUBTEST) TO LOOP ON ERROR^
19901
19902 ;**********
19903
19904 ;THIS TEST VERIFIES THAT TLN DOES NOT MODIFY THE AC BECAUSE
19905 ;TLN IS A NO-OP.
19906 ;FIRST,THE AC IS PRELOADED WITH -1,,-1. THEN,
19907 ;TRN IS EXECUTED. THE AC IS THEN CHECKED FOR
19908 ;NO MODIFICATION. IF C(AC) IS UNALTERED, THIS TEST PASSES
19909
19910 041547 474 00 0 00 000000 B13100: SETO ;PRELOAD AC WITH -1,,-1
19911 041550 601 00 0 00 123456 TLN 123456 ;*TRN IS A NO-OP
19912 041551 310 00 0 00 000000 CAM ;CAM IS A NO-OP. IT IS HERE IN CASE TRN SKIPS
19913 041552 312 00 0 00 000000 CAME ;PASS TEST IF C(AC) IS UNMODIFIED BY TRN
19914 STOP^
19915 041553 254 04 0 00 041554 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19916 041554 324 00 0 00 041555 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19917 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19918 ;IN THE SUBTEST) TO LOOP ON ERROR^
19919
19920 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 3
DFKAA3 MAC 25-AUG-75 13:57 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0430
19921 ;THIS TEST VERIFIES THAT TDO PLACES ONES IN THE BITS OF THE AC
19922 ;WHICH ARE MASKED BY C(E) AND DOES NOT AFFECT THE UNMASKED BITS OF THE AC.
19923 ;IN THIS CASE, C(AC)=0 AND C(E)=-1,,-1. HENCE, THE RESULT IN THE AC SHOULD BE -1,,-1.
19924 ;THE AC IS CHECKED FOR -1,,-1. IF C(AC) -1,,-1, THE TEST PASSES.
19925
19926 041555 400 00 0 00 000000 B13200: SETZ ;PRELOAD AC WITH 0
19927 041556 670 00 0 00 070254 TDO [-1] ;*TDO SHOULD PLACE ALL ONES IN THE AC
19928 041557 300 00 0 00 000000 CAI ;CAI IS A NO-OP. IT IS HERE IN CASE TDO SKIPS
19929 041560 312 00 0 00 070254 CAME [-1] ;PASS TEST IF C(AC)=-1,,-1
19930 STOP^
19931 041561 254 04 0 00 041562 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19932 041562 324 00 0 00 041563 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19933 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19934 ;IN THE SUBTEST) TO LOOP ON ERROR^
19935
19936 ;***** FAILURE ANALYSIS *****
19937 ;C(AC0) C(AC1) FAILING SIGNAL
19938
19939 ;E SW: FCE
19940 ;0 SW: ET1
19941 ;0 ET1: BR AR EN
19942 ;0 ET1: AD BR - EN
19943 ;0 ET1: AD EQV
19944
19945 ;**********
19946
19947 ;THIS TEST VERIFIES THAT TDO PLACES ONES IN THE BITS OF THE AC
19948 ;WHICH ARE MASKED BY C(E) AND DOES NOT AFFECT THE UNMASKED BITS OF THE AC.
19949 ;IN THIS CASE, AC=E AND C(AC)= C(E)=0. HENCE, THE RESULT IN THE AC SHOULD BE 0.
19950 ;THIS AC IS CHECKED FOR ZERO. IF C(AC) IS ZERO, THE TEST PASSES.
19951
19952 041563 400 00 0 00 000000 B13300: SETZ ;PRELOAD AC WITH 0
19953 041564 670 00 0 00 000000 TDO ;*TDO SHOULD PLACE ALL ZERO IN THE AC
19954 041565 300 00 0 00 000000 CAI ;CAI IS A NO-OP. IT IS HERE IN CASE TDO SKIPS
19955 041566 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC) ZERO
19956 STOP^
19957 041567 254 04 0 00 041570 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19958 041570 324 00 0 00 041571 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19959 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19960 ;IN THE SUBTEST) TO LOOP ON ERROR^
19961
19962 ;***** FAILURE ANALYSIS *****
19963 ;C(AC0) C(AC1) FAILING SIGNAL
19964
19965 ;-1,,-1 ET1: AD AR + EN
19966
19967 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4
DFKAA3 MAC 25-AUG-75 13:57 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0431
19968 ;THIS TEST VERIFIES THAT TDO PLACES ONES IN THE BITS OF THE AC,
19969 ;WHICH ARE MASKED BY C(E) AND DOES NOT AFFECT THE UNMASKED BITS OF THE AC.
19970 ;IN THIS CASE, C(AC)=0 AND C(E)=0. HENCE, THE RESULT IN THE AC SHOULD BE 0.
19971 ;THE AC IS CHECKED FOR ITS CONTENTS ZERO. IF C(AC) IS ZERO, THE TEST PASSES.
19972
19973 041571 400 00 0 00 000000 B13400: SETZ ;PRELOAD AC WITH 0
19974 041572 670 00 0 00 070253 TDO [0] ;*TDO SHOULD PLACE ALL ZERO IN THE AC
19975 041573 300 00 0 00 000000 CAI ;CAI IS A NO-OP. IT IS HERE IN CASE TDO SKIPS
19976 041574 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC) IS ZERO
19977 STOP^
19978 041575 254 04 0 00 041576 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19979 041576 324 00 0 00 041577 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19980 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19981 ;IN THE SUBTEST) TO LOOP ON ERROR^
19982
19983 ;**********
19984
19985 ;THIS TEST VERIFIES THAT TDO PLACES ONES IN THE BITS OF THE AC
19986 ;WHICH ARE MASKED BY C(E) AND DOES NOT AFFECT THE UNMASKED BITS OF THE AC.
19987 ;IN THIS CASE, AC=E AND C(AC)= C(E)=-1,,-1.
19988 ;HENCE, THE RESULT IN THE AC SHOULD BE -1,,-1.
19989 ;THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THE TEST PASSES.
19990
19991 041577 474 00 0 00 000000 B13600: SETO ;PRELOAD AC WITH -1,,-1
19992 041600 670 00 0 00 000000 TDO ;*TDO SHOULD PLACE ALL ONES IN THE AC
19993 041601 300 00 0 00 000000 CAI ;CAI IS A NO-OP. IT IS HERE IN CASE TDO SKIPS
19994 041602 312 00 0 00 070254 CAME [-1] ;PASS TEST IF C(AC) -1,,-1
19995 STOP^
19996 041603 254 04 0 00 041604 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
19997 041604 324 00 0 00 041605 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
19998 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
19999 ;IN THE SUBTEST) TO LOOP ON ERROR^
20000
20001 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 5
DFKAA3 MAC 25-AUG-75 13:57 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0432
20002 ;THIS TEST VERIFIES THAT TDO PLACES ONES IN THE BITS OF THE AC
20003 ;WHICH ARE MASKED BY C(E) AND DOES NOT AFFECT THE UNMASKED BITS OF THE AC.
20004 ;IN THIS CASE, C(AC)=-1,,-1 AND C(E)=0. HENCE, THE RESULT IN THE AC SHOULD BE -1,,-1.
20005 ;THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THE TEST PASSES.
20006
20007 041605 474 00 0 00 000000 B14000: SETO ;PRELOAD AC WITH -1,,-1
20008 041606 670 00 0 00 070253 TDO [0] ;*TDO SHOULD PLACE ALL ONES IN THE AC
20009 041607 300 00 0 00 000000 CAI ;CAI IS A NO-OP. IT IS HERE IN CASE TDO SKIPS
20010 041610 312 00 0 00 070254 CAME [-1] ;PASS TEST IF C(AC)=-1,,-1
20011 STOP^
20012 041611 254 04 0 00 041612 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20013 041612 324 00 0 00 041613 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20014 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20015 ;IN THE SUBTEST) TO LOOP ON ERROR^
20016
20017 ;***** FAILURE ANALYSIS *****
20018 ;C(AC0) C(AC1) FAILING SIGNAL
20019
20020 ;0 ET1: AD FM - EN
20021 ;0 ET2: AR AD EN
20022
20023 ;**********
20024
20025 ;THIS TEST VERIFIES THAT TDZ PLACES ZERO IN THE BITS OF THE AC
20026 ;WHICH ARE MASKED BY C(E) AND DOES NOT AFFECT THE UNMASKED BITS OF THE AC.
20027 ;IN THIS CASE, AC=E AND C(AC)= C(E)=0. HENCE, THE RESULT IN THE AC SHOULD BE 0.
20028 ;THE AC IS CHECKED FOR 0. IF C(AC) 0, THE TEST PASSES.
20029
20030 041613 400 00 0 00 000000 B14100: SETZ ;PRELOAD AC WITH 0
20031 041614 630 00 0 00 000000 TDZ ;*TDZ SHOULD PLACE ALL ZERO IN THE AC
20032 041615 300 00 0 00 000000 CAI ;CAI IS A NO-OP. IT IS HERE IN CASE TDO
20033 041616 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
20034 STOP^
20035 041617 254 04 0 00 041620 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20036 041620 324 00 0 00 041621 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20037 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20038 ;IN THE SUBTEST) TO LOOP ON ERROR^
20039
20040 ;***** FAILURE ANALYSIS *****
20041 ;C(AC0) C(AC1) FAILING SIGNAL
20042
20043 ;-1,,-1 FC: AD FM + EN
20044
20045 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6
DFKAA3 MAC 25-AUG-75 13:57 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0433
20046 ;THIS TEST VERIFIES THAT TDZ PLACES ZERO IN THE BITS OF THE AC
20047 ;WHICH ARE MASKED BY C(E) AND DOES NOT AFFECT THE UNMASKED BITS OF THE AC.
20048 ;IN THIS CASE, C(AC)=-1,,-1,,-1 AND C(E)=-1,,0.
20049 ;HENCE, THE RESULT IN THE AC SHOULD BE 0,,-1.
20050 ;THE AC IS CHECKED FOR 0,,-1. IF C(AC)= 0,,-1, THE TEST PASSES.
20051
20052 041621 474 00 0 00 000000 B14200: SETO ;PRELOAD AC WITH -1,,-1
20053 041622 630 00 0 00 070331 TDZ [XWD -1,0] ;*TDZ SHOULD PLACE 0,,-1 IN THE AC
20054 041623 300 00 0 00 000000 CAI ;CAI IS A NO-OP. IT IS HERE IN CASE TDO
20055 041624 312 00 0 00 070330 CAME [0,-1] ;PASS TEST IF C(AC)=0,,-1
20056 STOP^
20057 041625 254 04 0 00 041626 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20058 041626 324 00 0 00 041627 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20059 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20060 ;IN THE SUBTEST) TO LOOP ON ERROR^
20061
20062 ;***** FAILURE ANALYSIS *****
20063 ;C(AC0) C(AC1) FAILING SIGNAL
20064
20065 ;-E SW: FCE
20066 ;-1,,-1 FC: AD AR -EN
20067 ;-1,,0 ET2: AR AD EN
20068
20069 ;**********
20070
20071 ;THIS TEST VERIFIES THAT TDZ PLACES ZEROS IN THE BITS OF THE AC
20072 ;WHICH ARE MASKED BY C(E) AND DOES NOT AFFECT THE UNMASKED BITS OF THE AC.
20073 ;IN THIS CASE, AC=E AND C(AC)= C(E)=-1,,-1. HENCE, THE RESULT IN THE AC SHOULD BE 0.
20074 ;THE AC IS CHECKED FOR 0. IF C(AC)=0, THE TEST PASSES.
20075
20076 041627 474 00 0 00 000000 B14400: SETO ;PRELOAD AC WITH -1,,-1
20077 041630 630 00 0 00 000000 TDZ ;*TDZ SHOULD PLACE ALL ZERO IN THE AC
20078 041631 300 00 0 00 000000 CAI ;CAI IS A NO-OP. IT IS HERE IN CASE TDO
20079 041632 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
20080 STOP^
20081 041633 254 04 0 00 041634 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20082 041634 324 00 0 00 041635 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20083 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20084 ;IN THE SUBTEST) TO LOOP ON ERROR^
20085
20086 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 7
DFKAA3 MAC 25-AUG-75 13:57 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0434
20087 ;THIS TEST VERIFIES THAT TDZ PLACES ZEROS IN THE BITS OF THE AC
20088 ;WHICH ARE MASKED BY C(E) AND DOES NOT AFFECT THE UNMASKED BITS OF THE AC.
20089 ;IN THIS CASE, C(AC)=0 AND C(E)=-1,,-1. HENCE, THE RESULT IN THE AC SHOULD BE 0.
20090 ;THE AC IS CHECKED FOR 0. IF C(AC)=0, THE TEST PASSES.
20091
20092 041635 400 00 0 00 000000 B14500: SETZ ;PRELOAD AC WITH 0
20093 041636 630 00 0 00 070254 TDZ [-1] ;*TDZ SHOULD PLACE ALL ZEROS IN THE AC
20094 041637 300 00 0 00 000000 CAI ;CAI IS A NO-OP. IT IS HERE IN CASE TDO
20095 041640 332 00 0 00 000000 SKIPE ;PASS TEST IS C(AC)=0
20096 STOP^
20097 041641 254 04 0 00 041642 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20098 041642 324 00 0 00 041643 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20099 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20100 ;IN THE SUBTEST) TO LOOP ON ERROR^
20101
20102 ;**********
20103
20104 ;THIS TEST VERIFIES THAT TDZ PLACES ZEROS IN THE BITS OF THE AC
20105 ;WHICH ARE MASKED BY C(E) AND DOES NOT AFFECT THE UNMASKED BITS OF THE AC.
20106 ;IN THIS CASE, AC=E AND C(AC)= C(E)=-1,,-1.
20107 ;HENCE, THE RESULT IN THE AC SHOULD BE -1,,-1.
20108 ;THE AC IS CHECKED -1,,-1. IF C(AC)=-1,,-1, THE TEST PASSES.
20109
20110 041643 474 00 0 00 000000 B14600: SETO ;PRELOAD AC WITH -1,,-1
20111 041644 630 00 0 00 070253 TDZ [0] ;*TDZ SHOULD PLACE ALL ONES IN THE AC
20112 041645 300 00 0 00 000000 CAI ;CAI IS A NO-OP. IT IS HERE IN CASE TDO
20113 041646 312 00 0 00 070254 CAME [-1] ;PASS TEST IF C(AC)=-1,,-1
20114 STOP^
20115 041647 254 04 0 00 041650 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20116 041650 324 00 0 00 041651 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20117 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20118 ;IN THE SUBTEST) TO LOOP ON ERROR^
20119 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 8
DFKAA3 MAC 25-AUG-75 13:57 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0435
20120 ;THIS TEST VERIFIES THAT TDC COMPLEMENTS THE BITS OF THE AC
20121 ;WHICH ARE MASKED BY C(E) AND DOES NOT AFFECT THE UNMASKED BITS OF THE AC.
20122 ;IN THIS CASE, C(AC)=-1 AND C(E)=0,,-1. HENCE, THE RESULT IN THE AC SHOULD BE -1,,0.
20123 ;THE AC IS CHECKED FOR -1,,0. IF C(AC)=-1,,0, THIS TEST PASSES
20124
20125 041651 474 00 0 00 000000 B14700: SETO ;PRELOAD AC WITH -1,,-1
20126 041652 650 00 0 00 070330 TDC [XWD 0,-1] ;*TDC SHOULD PLACE -1,,0 INTO THE AC
20127 041653 300 00 0 00 000000 CAI ;CAI IS A NO-OP. IT IS HERE IN CASE TDC SKIPS
20128 041654 312 00 0 00 070331 CAME [-1,,0] ;PASS TEST IF C(AC)=-1,,0
20129 STOP^
20130 041655 254 04 0 00 041656 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20131 041656 324 00 0 00 041657 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20132 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20133 ;IN THE SUBTEST) TO LOOP ON ERROR^
20134
20135 ;***** FAILURE ANALYSIS *****
20136 ;C(AC0) C(AC1) FAILING SIGNAL
20137
20138 ;-E SW: FCE
20139 ;0 FC: AD AR - EN
20140 ;0,,-1 ET2: AR AD EN
20141
20142 ;**********
20143
20144 ;THIS TEST VERIFIES THAT TDC COMPLEMENTS THE BITS OF THE AC
20145 ;WHICH ARE MASKED BY C(E) AND DOES NOT AFFECT THE UNMASKED BITS OF THE AC.
20146 ;IN THIS CASE, AC=E AND C(AC)= C(E)=0. HENCE, THE RESULT IN THE AC SHOULD BE 0.
20147 ;THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES
20148
20149 041657 400 00 0 00 000000 B15000: SETZ ;PRELOAD AC, E WITH 0
20150 041660 650 00 0 00 000000 TDC ;*TDC SHOULD PLACE 0 INTO THE AC
20151 041661 300 00 0 00 000000 CAI ;CAI IS A NO-OP. IT IS HERE IN CASE TDC SKIPS
20152 041662 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
20153 STOP^
20154 041663 254 04 0 00 041664 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20155 041664 324 00 0 00 041665 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20156 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20157 ;IN THE SUBTEST) TO LOOP ON ERROR^
20158
20159 ;***** FAILURE ANALYSIS *****
20160 ;C(AC0) C(AC1) FAILING SIGNAL
20161
20162 ;-1,,-1 FC:AD FM + EN
20163
20164 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 9
DFKAA3 MAC 25-AUG-75 13:57 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0436
20165 ;THIS TEST VERIFIES THAT TDC COMPLEMENTS THE BITS OF THE AC
20166 ;WHICH ARE MASKED BY C(E) AND DOES NOT AFFECT THE UNMASKED BITS OF THE AC.
20167 ;IN THIS CASE, AC=E AND C(AC)= C(E)=-1,,-1. HENCE, THE RESULT IN THE AC SHOULD BE 0.
20168 ;THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST FAILS
20169
20170 041665 474 00 0 00 000000 B15400: SETO ;PRELOAD AC WITH -1,,-1
20171 041666 650 00 0 00 000000 TDC ;*TDC SHOULD PLACE 0 INTO THE AC
20172 041667 300 00 0 00 000000 CAI ;CAI IS A NO-OP. IT IS HERE IN CASE TDC SKIPS
20173 041670 332 00 0 00 000000 SKIPE ;PASS TEST IF C(AC)=0
20174 STOP^
20175 041671 254 04 0 00 041672 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20176 041672 324 00 0 00 041673 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20177 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20178 ;IN THE SUBTEST) TO LOOP ON ERROR^
20179
20180 ;**********
20181
20182 ;THIS TEST VERIFIES THAT TDC COMPLEMENTS THE BITS OF THE AC
20183 ;WHICH ARE MASKED BY C(E) AND DOES NOT AFFECT THE UNMASKED BITS OF THE AC.
20184 ;IN THIS CASE, C(AC)=0 AND C(E)=-1,,-1. HENCE, THE RESULT IN THE AC SHOULD BE -1,,-1.
20185 ;THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES
20186
20187 041673 400 00 0 00 000000 B15500: SETZ ;PRELOAD AC WITH 0
20188 041674 650 00 0 00 070254 TDC [-1] ;*TDC SHOULD PLACE -1,,-1 INTO THE AC
20189 041675 300 00 0 00 000000 CAI ;CAI IS A NO-OP. IT IS HERE IN CASE TDC SKIPS
20190 041676 312 00 0 00 070254 CAME [-1] ;PASS TEST IF C(AC)=-1,,-1
20191 STOP^
20192 041677 254 04 0 00 041700 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20193 041700 324 00 0 00 041701 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20194 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20195 ;IN THE SUBTEST) TO LOOP ON ERROR^
20196
20197 ;***** FAILURE ANALYSIS *****
20198 ;C(AC0) C(AC1) FAILING SIGNAL
20199
20200 ;0 FC: AD EQV
20201
20202 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 10
DFKAA3 MAC 25-AUG-75 13:57 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0437
20203 ;THIS TEST VERIFIES THAT TDC COMPLEMENTS THE BITS OF THE AC
20204 ;WHICH ARE MASKED BY C(E) AND DOES NOT AFFECT THE UNMASKED BITS OF THE AC.
20205 ;IN THIS CASE, C(AC)=-1 AND C(E)=0. HENCE, THE RESULT IN THE AC SHOULD BE -1,,-1.
20206 ;THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES
20207
20208 041701 474 00 0 00 000000 B15600: SETO ;PRELOAD AC WITH -1,,-1
20209 041702 650 00 0 00 070253 TDC [0] ;*TDC SHOULD PLACE -1,,-1 INTO THE AC
20210 041703 300 00 0 00 000000 CAI ;CAI IS A NO-OP. IT IS HERE IN CASE TDC SKIPS
20211 041704 312 00 0 00 070254 CAME [-1] ;PASS TEST IF C(AC)=-1,,-1
20212 STOP^
20213 041705 254 04 0 00 041706 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20214 041706 324 00 0 00 041707 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20215 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20216 ;IN THE SUBTEST) TO LOOP ON ERROR^
20217
20218 ;**********
20219
20220 ;THIS TEST VERIFIES THAT TDNA ALWAYS SKIPS THE NEXT
20221 ;SEQUENTIAL INSTRUCTION. IF TDNA DOES NOT
20222 ;SKIP, THIS TEST FAILS.
20223
20224 041707 400 00 0 00 000000 B15700: SETZ ;PRESET AC, E TO 0
20225 041710 614 00 0 00 000000 TDNA ;*TDNA SHOULD SKIP THE NEXT INSTRUCTION
20226 STOP^
20227 041711 254 04 0 00 041712 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20228 041712 324 00 0 00 041713 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20229 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20230 ;IN THE SUBTEST) TO LOOP ON ERROR^
20231
20232 ;***** FAILURE ANALYSIS *****
20233 ;C(AC0) C(AC1) FAILING SIGNAL
20234
20235 ;0 SW: ET1
20236 ;0 FC: AB PC EN
20237 ;0 ET1: BR AR EN
20238 ;0 ET1: PC CLOCK
20239 ;0 ET2: MC INST FETCH EN
20240
20241 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 11
DFKAA3 MAC 25-AUG-75 13:57 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0438
20242 ;THIS TEST VERIFIES THAT TDN NEVER SKIPS
20243 ;NEXT SEQUENTIAL INSTRUCTION.
20244 ;THIS TEST FAILS IF TDN SKIPS.
20245
20246 041713 474 00 0 00 000000 B16000: SETO ;PRESET AC, E TO -1,,-1
20247 041714 610 00 0 00 000000 TDN ;*TDN SHOULD NOT SKIP
20248 041715 334 00 0 00 000000 SKIPA ;SKIP HALT IF TDN PASSES
20249 STOP^
20250 041716 254 04 0 00 041717 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20251 041717 324 00 0 00 041720 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20252 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20253 ;IN THE SUBTEST) TO LOOP ON ERROR^
20254
20255 ;**********
20256
20257 ;THIS TEST VERIFIES THAT TDN NEVER SKIPS THE
20258 ;NEXT SEQUENTIAL INSTRUCTION.
20259 ;THIS TEST FAILS IF TDN SKIPS.
20260
20261 041720 400 00 0 00 000000 B16100: SETZ ;PRESET AC, E TO 0
20262 041721 610 00 0 00 000000 TDN ;*TDN SHOULD NOT SKIP
20263 041722 334 00 0 00 000000 SKIPA ;SKIP HALT IF TDN PASSES
20264 STOP^
20265 041723 254 04 0 00 041724 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20266 041724 324 00 0 00 041725 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20267 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20268 ;IN THE SUBTEST) TO LOOP ON ERROR^
20269
20270 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 12
DFKAA3 MAC 25-AUG-75 13:57 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0439
20271 ;THIS TEST VERIFIES THAT TDNE SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN
20272 ;AND ONLY WHEN ALL OF THE BITS OF THE AC, WHICH ARE MASKED
20273 ;BY C(E), ARE ZERO.
20274 ;IN THIS TEST C(AC) = -1..0 AND C(E) = 707070..707070.
20275 ;HENCE, TDNE SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION.
20276 ;IF TDNE SKIPS, THIS TEST FAILS
20277
20278 041725 200 00 0 00 070331 B16200: MOVE [XWD -1,0] ;PRELOAD AC WITH -1..0
20279 041726 612 00 0 00 070332 TDNE [707070707070] ;*TDNE SHOULD NOT SKIP
20280 041727 334 00 0 00 000000 SKIPA ;SKIP HALT IF TDNE PASSES
20281 STOP^
20282 041730 254 04 0 00 041731 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20283 041731 324 00 0 00 041732 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20284 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20285 ;IN THE SUBTEST) TO LOOP ON ERROR^
20286
20287 ;***** FAILURE ANALYSIS *****
20288 ;C(AC0) C(AC1) FAILING SIGNAL
20289
20290 ;-1,,0 SW:FCE
20291 ;-1,,0 SW: PC CHANGE
20292 ;-1,,-1 FC: AD AR + EN
20293 ;E ET2: MC INST FETCH EN
20294
20295 ;**********
20296
20297 ;THIS TEST VERIFIES THAT TDNE SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN
20298 ;AND ONLY WHEN ALL OF THE BITS OF THE AC, WHICH ARE MASKED
20299 ;BY C(E), ARE ZERO.
20300 ;IN THIS CASE, AC=E AND C(AC)=0.
20301 ;HENCE, TDNE SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION
20302 ;IF TDNE DOES NOT SKIP, THIS TEST FAILS.
20303
20304 041732 400 00 0 00 000000 B16300: SETZ ;PRELOAD AC, E WITH 0
20305 041733 612 00 0 00 000000 TDNE ;*TDNE SHOULD SKIP THE NEXT INSTRUCTION
20306 STOP^
20307 041734 254 04 0 00 041735 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20308 041735 324 00 0 00 041736 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20309 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20310 ;IN THE SUBTEST) TO LOOP ON ERROR^
20311
20312 ;***** FAILURE ANALYSIS *****
20313 ;C(AC0) C(AC1) FAILING SIGNAL
20314
20315 ;0 SW: ET1
20316 ;0 ET1: PC CLOCK
20317
20318 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 13
DFKAA3 MAC 25-AUG-75 13:57 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0440
20319 ;THIS TEST VERIFIES THAT TDNN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN
20320 ;AND ONLY WHEN NOT ALL OF THE BITS OF THE AC, WHICH ARE MASKED
20321 ;BY C(E) ARE ZERO.
20322 ;IN THIS TEST AC=E AND C(AC)=C(E)=0. HENCE TDNN
20323 ;SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION
20324 ;IF TDNN SKIPS, THE TEST FAILS.
20325
20326 041736 400 00 0 00 000000 B16400: SETZ ;PRELOAD AC,E WITH 0
20327 041737 616 00 0 00 000000 TDNN ;*TDNN SHOULD NOT SKIP THE NEXT INSTRUCTION
20328 041740 334 00 0 00 000000 SKIPA ;SKIP HALT IF TDNE PASSES
20329 STOP^
20330 041741 254 04 0 00 041742 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20331 041742 324 00 0 00 041743 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20332 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20333 ;IN THE SUBTEST) TO LOOP ON ERROR^
20334
20335 ;***** FAILURE ANALYSIS *****
20336 ;C(AC0) C(AC1) FAILING SIGNAL
20337
20338 ;0 SW: PC CHANGE
20339 ;0 FC: AB PC EN
20340 ;0 ET2: MC INST FETCH EN
20341
20342 ;**********
20343
20344 ;THIS TEST VERIFIES THAT TDNA ALWAYS SKIPS THE NEXT
20345 ;SEQUENTIAL INSTRUCTION. IF TDNA DOES NOT
20346 ;SKIP, THIS TEST FAILS.
20347
20348 041743 474 00 0 00 000000 B16500: SETO ;PRESET AC, E TO 0
20349 041744 614 00 0 00 000000 TDNA ;*TDNA SHOULD SKIP THE NEXT INSTRUCTION
20350 STOP^
20351 041745 254 04 0 00 041746 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20352 041746 324 00 0 00 041747 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20353 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20354 ;IN THE SUBTEST) TO LOOP ON ERROR^
20355
20356 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 14
DFKAA3 MAC 25-AUG-75 13:57 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0441
20357 ;THIS TEST VERIFIES THAT TDNN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN
20358 ;AND ONLY WHEN NOT ALL OF THE BITS OF THE AC, WHICH ARE MASKED BY C(E),
20359 ;ARE ZERO
20360 ;IN THIS TEST C(AC)=-1,,0 AND C(E)=707070,,707070. HENCE, TDNN
20361 ;SHOULD SKIP THE NEXT INSTRUCTION. IF IT DOES NOT SKIP, THIS TEST FAILS.
20362
20363 041747 200 00 0 00 070331 B16600: MOVE [XWD -1,0] ;PRESET AC TO -1,,0
20364 041750 616 00 0 00 070332 TDNN [707070707070] ;*TDNN SHOULD SKIP THE NEXT INSTRUCTION
20365 STOP^
20366 041751 254 04 0 00 041752 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20367 041752 324 00 0 00 041753 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20368 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20369 ;IN THE SUBTEST) TO LOOP ON ERROR^
20370
20371 ;***** FAILURE ANALYSIS *****
20372 ;C(AC0) C(AC1) FAILING SIGNAL
20373
20374 ;-1,,0 SW: FCE
20375 ;-1,,0 SW: ET1
20376 ;-1,,0 ET1: PC CLOCK
20377
20378 ;**********
20379
20380 ;THIS TEST VERIFIES THAT TDNE SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN
20381 ;AND ONLY WHEN ALL OF THE BITS OF THE AC, WHICH ARE MASKED
20382 ;BY C(E), ARE ZERO.
20383 ;IN THIS TEST, C(AC)=-1,,-1 AND C(E)=0. HENCE, TDNE SHOULD SKIP
20384 ;THE NEXT SEQUENTIAL INSTRUCTION.
20385 ;IF TDNE DOES NOT SKIP, THIS TEST FAILS
20386
20387 041753 474 00 0 00 000000 B16700: SETO ;PRESET AC TO ALL ONES
20388 041754 612 00 0 00 070253 TDNE [0] ;*TDNE SHOULD SKIP THE NEXT INSTRUCTION
20389 STOP^
20390 041755 254 04 0 00 041756 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20391 041756 324 00 0 00 041757 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20392 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20393 ;IN THE SUBTEST) TO LOOP ON ERROR^
20394
20395 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 15
DFKAA3 MAC 25-AUG-75 13:57 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0442
20396 ;THIS TEST VERIFIES THAT TDNE SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN
20397 ;AND ONLY WHEN ALL OF THE BITS OF THE AC, WHICH ARE MASKED
20398 ;BY C(E), ARE ZERO.
20399 ;IN THIS TEST C(AC)=0 AND C(E)=-1,,-1, HENCE, TDNE SHOULD SKIP
20400 ;THE NEXT SEQUENTIAL INSTRUCTION.
20401 ;IF TDNE DOES NOT SKIP, THIS TEST FAILS
20402
20403 041757 400 00 0 00 000000 B17000: SETZ ;PRESET AC TO 0
20404 041760 612 00 0 00 070254 TDNE [-1] ;*TDNE SHOULD SKIP THE NEXT INSTRUCTION
20405 STOP^
20406 041761 254 04 0 00 041762 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20407 041762 324 00 0 00 041763 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20408 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20409 ;IN THE SUBTEST) TO LOOP ON ERROR^
20410
20411 ;***** FAILURE ANALYSIS *****
20412 ;C(AC0) C(AC1) FAILING SIGNAL
20413
20414 ;0 FC: AD FM + EN
20415
20416 ;**********
20417
20418 ;THIS TEST VERIFIES THAT TDN NEVER SKIPS THE NEXT SEQUENTIAL INSTRUCTION.
20419 ;THIS TEST FAILS IF TDN SKIPS
20420
20421 041763 474 00 0 00 000000 B17300: SETO ;PRESET AC TO -1,,-1
20422 041764 610 00 0 00 070253 TDN [0] ;*TDN SHOULD NOT SKIP
20423 041765 334 00 0 00 000000 SKIPA ;SKIP HALT IF TDN PASSES
20424 STOP^
20425 041766 254 04 0 00 041767 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20426 041767 324 00 0 00 041770 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20427 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20428 ;IN THE SUBTEST) TO LOOP ON ERROR^
20429
20430 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 16
DFKAA3 MAC 25-AUG-75 13:57 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0443
20431 ;THIS TEST VERIFIES THAT TDN NEVER SKIPS THE NEXT SEQUENTIAL INSTRUCTION.
20432 ;THIS TEST FAILS IF TDN SKIPS
20433
20434 041770 400 00 0 00 000000 B17400: SETZ ;PRESET AC TO 0
20435 041771 610 00 0 00 070254 TDN [-1] ;*TDN SHOULD NOT SKIP
20436 041772 334 00 0 00 000000 SKIPA ;SKIP HALT IF TDN PASSES
20437 STOP^
20438 041773 254 04 0 00 041774 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20439 041774 324 00 0 00 041775 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20440 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20441 ;IN THE SUBTEST) TO LOOP ON ERROR^
20442
20443 ;**********
20444
20445 ;THIS TEST VERIFIES THAT TDNA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRUCTION
20446 ;THIS TEST FAILS IF TDNA DOES NOT SKIP
20447
20448 041775 474 00 0 00 000000 B17700: SETO ;PRESET AC TO -1,,-1
20449 041776 614 00 0 00 070253 TDNA [0] ;*TDNA SHOULD SKIP
20450 STOP^
20451 041777 254 04 0 00 042000 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20452 042000 324 00 0 00 042001 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20453 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20454 ;IN THE SUBTEST) TO LOOP ON ERROR^
20455
20456 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 17
DFKAA3 MAC 25-AUG-75 13:57 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0444
20457 ;THIS TEST VERIFIES THAT TDNA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRUCTION
20458 ;THIS TEST FAILS IF TDNA DOES NOT SKIP
20459
20460 042001 400 00 0 00 000000 B20000: SETZ ;PRESET AC TO 0
20461 042002 614 00 0 00 070254 TDNA [-1] ;*TDNA SHOULD SKIP
20462 STOP^
20463 042003 254 04 0 00 042004 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20464 042004 324 00 0 00 042005 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20465 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20466 ;IN THE SUBTEST) TO LOOP ON ERROR^
20467
20468 ;**********
20469
20470 ;THIS TEST VERIFIES THAT TDNE SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN
20471 ;AND ONLY WHEN ALL OF THE BITS OF THE AC, WHICH ARE MASKED BY C(E), ARE ZERO.
20472 ;IN THIS TEST AC=E AND C(AC)=C(E)=-1,,-1. HENCE TDNE SHOULD NOT SKIP.
20473 ;IF TDNE SKIPS, THIS TEST FAILS.
20474
20475 042005 474 00 0 00 000000 B20400: SETO ;PRESET AC,E TO -1,,-1
20476 042006 612 00 0 00 000000 TDNE ;*TDNE SHOULD NOT SKIP
20477 042007 334 00 0 00 000000 SKIPA ;SKIP HALT IF TDNE PASSES
20478 STOP^
20479 042010 254 04 0 00 042011 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20480 042011 324 00 0 00 042012 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20481 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20482 ;IN THE SUBTEST) TO LOOP ON ERROR^
20483
20484 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 18
DFKAA3 MAC 25-AUG-75 13:57 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0445
20485 ;THIS TEST VERIFIES THAT TDNN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN
20486 ;AND ONLY WHEN NOT ALL OF THE BITS OF THE AC, WHICH ARE MASKED BY C(E), ARE ZERO.
20487 ;IN THIS TEST, AC=E AND C(AC)=C(E)=-1,,-1. HENCE TDNN SHOULD SKIP
20488 ;IF TDNN DOES NOT SKIP, THIS TEST FAILS
20489
20490 042012 474 00 0 00 000000 B20600: SETO ;PRESET AC,E TO -1,,-1
20491 042013 616 00 0 00 000000 TDNN ;*TDNN SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION
20492 STOP^
20493 042014 254 04 0 00 042015 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20494 042015 324 00 0 00 042016 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20495 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20496 ;IN THE SUBTEST) TO LOOP ON ERROR^
20497
20498 ;**********
20499
20500 ;THIS TEST VERIFIES THAT TDNN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN
20501 ;AND ONLY WHEN NOT ALL OF THE BITS OF THE AC, WHICH ARE MASKED BY C(E), ARE ZERO.
20502 ;IN THIS TEST, C(AC)=0 AND C(E)=-1,,-1. HENCE TDNN SHOULD NOT SKIP
20503 ;IF TDNN SKIPS, THIS TEST FAILS
20504
20505 042016 400 00 0 00 000000 B20700: SETZ ;PRESET AC TO 0
20506 042017 616 00 0 00 070254 TDNN [-1] ;*TDNN SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION
20507 042020 334 00 0 00 000000 SKIPA ;SKIP HALT IF TDNN PASSES
20508 STOP^
20509 042021 254 04 0 00 042022 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20510 042022 324 00 0 00 042023 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20511 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20512 ;IN THE SUBTEST) TO LOOP ON ERROR^
20513
20514 ;***** FAILURE ANALYSIS *****
20515 ;C(AC0) C(AC1) FAILING SIGNAL
20516
20517 ;0 FC: AD FM + EN
20518
20519 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 19
DFKAA3 MAC 25-AUG-75 13:57 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0446
20520 ;THIS TEST VERIFIES THAT TDNN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN
20521 ;AND ONLY WHEN NOT ALL OF THE BITS OF THE AC, WHICH ARE MASKED BY C(E), ARE ZERO.
20522 ;IN THIS TEST, C(AC)=-1,,-1 AND C(E)=0. HENCE TDNN SHOULD NOT SKIP
20523 ;IF TDNN SKIPS, THIS TEST FAILS
20524
20525 042023 474 00 0 00 000000 B21000: SETO ;PRESET AC TO -1,,-1
20526 042024 616 00 0 00 070253 TDNN [0] ;*TDNN SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION
20527 042025 334 00 0 00 000000 SKIPA ;SKIP HALT IF TDNN PASSES
20528 STOP^
20529 042026 254 04 0 00 042027 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20530 042027 324 00 0 00 042030 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20531 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20532 ;IN THE SUBTEST) TO LOOP ON ERROR^
20533
20534 ;***** FAILURE ANALYSIS *****
20535 ;C(AC0) C(AC1) FAILING SIGNAL
20536
20537 ;-1,,-1 FC: AD AR + EN
20538
20539 ;**********
20540
20541 ;THIS TEST VERIFIES THAT TDO PLACES ONES IN THE BITS OF THE AC
20542 ;WHICH ARE MASKED BY C(E) AND DOES NOT EFFECT THE UNMASKED BITS OF THE AC.
20543 ;IN THIS CASE C(AC)=0 AND C(E)=-1,,0. HENCE, THE RESULT IN THE AC SHOULD BE -1,,0
20544 ;THE AC IS CHECKED FOR -1,,0. IF C(AC)=-1,,0, THIS TEST PASSES
20545
20546 042030 400 00 0 00 000000 B21100: SETZ ;PRELOAD AC WITH 0
20547 042031 670 00 0 00 070331 TDO [XWD -1,0] ;*TDO SHOULD PLACE -1,,0 INTO THE AC
20548 042032 312 00 0 00 070331 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0
20549 STOP^
20550 042033 254 04 0 00 042034 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20551 042034 324 00 0 00 042035 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20552 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20553 ;IN THE SUBTEST) TO LOOP ON ERROR^
20554
20555 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 20
DFKAA3 MAC 25-AUG-75 13:57 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0447
20556 ;THIS TEST VERIFIES THAT TSO PLACES ONES IN THE BITS OF THE AC
20557 ;WHICH ARE MASKED BY BOTH HALVES OF C(E) SWAPPED.
20558 ;THE UNMASKED BITS OF THE AC ARE NOT AFFECTED
20559 ;IN THIS CASE, C(AC)=0 AND C(E)=-1,,0. HENCE,
20560 ;THE RESULT IN THE AC SHOULD BE 0,,-1. THE AC IS
20561 ;CHECKED FOR 0,,-1. THIS TEST PASSES IF C(AC)=0,,-1
20562
20563 042035 400 00 0 00 000000 B21400: SETZ ;PRESET AC WITH 0
20564 042036 671 00 0 00 070331 TSO [XWD -1,0] ;*TSO SHOULD PLACE 0,,-1 INTO THE AC
20565 042037 312 00 0 00 070330 CAME [XWD 0,-1] ;PASS IF C(AC)=0,,-1
20566 STOP^
20567 042040 254 04 0 00 042041 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20568 042041 324 00 0 00 042042 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20569 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20570 ;IN THE SUBTEST) TO LOOP ON ERROR^
20571
20572 ;***** FAILURE ANALYSIS *****
20573 ;C(AC0) C(AC1) FAILING SIGNAL
20574
20575 ;0 SW: FCE
20576 ;0 SW: ET0
20577 ;0 SW: ET1
20578 ;0 FC: AD FM + EN
20579 ;0 FC: AD AR + EN
20580 ;0 ET0: AR SWAP
20581 ;0 ET0: AD FM + EN
20582 ;0 ET0: AD AR + EN
20583 ;0 ET1: BR AR EN
20584 ;0 ET1: AD BR - EN
20585 ;-1,,-1 ET1: AD AR + EN
20586 ;0 ET1: AD EQV
20587
20588 ;**********
20589
20590 ;THIS TEST VERIFIES THAT TSO PLACES ONES IN THE BITS OF THE AC
20591 ;WHICH ARE MASKED BY BOTH HALVES OF C(E) SWAPPED.
20592 ;THE UNMASKED BITS OF THE AC ARE NOT AFFECTED
20593 ;IN THIS CASE, C(AC)=0 AND C(E)=0,,-1. HENCE,
20594 ;THE RESULT IN THE AC SHOULD BE -1,,0. THE AC IS
20595 ;CHECKED FOR -1,,0. THIS TEST PASSES IF C(AC)=-1,,0
20596
20597 042042 400 00 0 00 000000 B21500: SETZ ;PRESET AC WITH 0
20598 042043 671 00 0 00 070330 TSO [XWD 0,-1] ;*TSO SHOULD PLACE -1,,0 INTO THE AC
20599 042044 312 00 0 00 070331 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0
20600 STOP^
20601 042045 254 04 0 00 042046 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20602 042046 324 00 0 00 042047 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20603 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20604 ;IN THE SUBTEST) TO LOOP ON ERROR^
20605
20606 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 21
DFKAA3 MAC 25-AUG-75 13:57 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0448
20607 ;THIS TEST VERIFIES THAT TSO PLACES ONES IN THE BITS OF THE AC
20608 ;WHICH ARE MASKED BY BOTH HALVES OF C(E) SWAPPED.
20609 ;THE UNMASKED BITS OF THE AC ARE NOT AFFECTED
20610 ;IN THIS CASE, C(AC)=0 AND C(E)=0,,-1. HENCE,
20611 ;THE RESULT IN THE AC SHOULD BE -1,,0. THE AC IS
20612 ;CHECKED FOR ITS CONTENTS NON-ZERO. THIS TEST PASSES IF C(AC) IS NON-ZERO
20613
20614 042047 400 00 0 00 000000 B21600: SETZ ;PRELOAD AC,E WITH 0
20615 042050 671 00 0 00 000000 TSO ;*TSO SHOULD PLACE 0 INTO THE AC
20616 042051 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
20617 STOP^
20618 042052 254 04 0 00 042053 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20619 042053 324 00 0 00 042054 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20620 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20621 ;IN THE SUBTEST) TO LOOP ON ERROR^
20622
20623 ;**********
20624
20625 ;THIS TEST VERIFIES THAT TSO PLACES ONES IN THE BITS OF THE AC
20626 ;WHICH ARE MASKED BY BOTH HALVES OF C(E) SWAPPED.
20627 ;THE UNMASKED BITS OF THE AC ARE NOT AFFECTED
20628 ;IN THIS CASE, AC=E AND C(AC)=C(E)=-1,,-1. HENCE,
20629 ;THE RESULT IN THE AC SHOULD BE -1,,-1. THE AC IS
20630 ;CHECKED FOR -1,,-1. THIS TEST PASSES IF C(AC) -1,,-1
20631
20632 042054 474 00 0 00 000000 B21700: SETO ;PRELOAD AC,E WITH -1,,-1
20633 042055 671 00 0 00 000000 TSO ;*TSO SHOULD PLACE -1,,-1 INTO THE AC
20634 042056 312 00 0 00 070254 CAME [-1] ;PASS IF C(AC)=-1,,-1
20635 STOP^
20636 042057 254 04 0 00 042060 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20637 042060 324 00 0 00 042061 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20638 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20639 ;IN THE SUBTEST) TO LOOP ON ERROR^
20640
20641 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 22
DFKAA3 MAC 25-AUG-75 13:57 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0449
20642 ;THIS TEST VERIFIES THAT TSO PLACES ONES IN THE BITS OF THE AC
20643 ;WHICH ARE MASKED BY BOTH HALVES OF C(E) SWAPPED.
20644 ;THE UNMASKED BITS OF THE AC ARE NOT AFFECTED
20645 ;IN THIS CASE, C(AC)=-1,,0 AND C(E)=0,,-1. HENCE,
20646 ;THE RESULT IN THE AC SHOULD BE -1,,0. THE AC IS
20647 ;CHECKED FOR -1,,0. THIS TEST PASSES IF C(AC)=-1,,0
20648
20649 042061 200 00 0 00 070331 B22200: MOVE [XWD -1,0] ;PRELOAD AC WITH -1,,0
20650 042062 671 00 0 00 070330 TSO [XWD 0,-1] ;*TSO SHOULD PLACE -1,,0 INTO THE AC
20651 042063 312 00 0 00 070331 CAME [-1,,0] ;PASS IF C(AC)=-1,,0
20652 STOP^
20653 042064 254 04 0 00 042065 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20654 042065 324 00 0 00 042066 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20655 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20656 ;IN THE SUBTEST) TO LOOP ON ERROR^
20657
20658 ;**********
20659
20660 ;THIS TEST VERIFIES THAT TSO PLACES ONES IN THE BITS OF THE AC
20661 ;WHICH ARE MASKED BY BOTH HALVES OF C(E) SWAPPED.
20662 ;THE UNMASKED BITS OF THE AC ARE NOT AFFECTED
20663 ;IN THIS CASE, C(AC)=0,,-1 AND C(E)=0. HENCE,
20664 ;THE RESULT IN THE AC SHOULD BE 0,,-1. THE AC IS
20665 ;CHECKED FOR 0,,-1. THIS TEST PASSES IF C(AC)=0,,-1
20666
20667 042066 201 00 0 00 777777 B22300: MOVEI -1 ;PRELOAD AC WITH 0,,-1
20668 042067 671 00 0 00 070253 TSO [0] ;*TSO SHOULD PLACE 0,,-1 INTO THE AC
20669 042070 312 00 0 00 070330 CAME [XWD 0,-1] ;PASS IF C(AC)=0,,-1
20670 STOP^
20671 042071 254 04 0 00 042072 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20672 042072 324 00 0 00 042073 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20673 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20674 ;IN THE SUBTEST) TO LOOP ON ERROR^
20675
20676 ;***** FAILURE ANALYSIS *****
20677 ;C(AC0) C(AC1) FAILING SIGNAL
20678
20679 ;0 ET1: AD FM - EN
20680 ;0 ET2: AR AD EN
20681
20682 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 23
DFKAA3 MAC 25-AUG-75 13:57 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0450
20683 ;THIS TEST VERIFIES THAT TSO PLACES ONES IN THE BITS OF THE AC
20684 ;WHICH ARE MASKED BY BOTH HALVES OF C(E) SWAPPED.
20685 ;THE UNMASKED BITS OF THE AC ARE NOT AFFECTED
20686 ;IN THIS CASE, C(AC)=-1,,0 AND C(E)=0. HENCE,
20687 ;THE RESULT IN THE AC SHOULD BE -1,,0. THE AC IS
20688 ;CHECKED FOR -1,,0. THIS TEST PASSES IF C(AC)=-1,,0
20689
20690 042073 200 00 0 00 070331 B22400: MOVE [XWD -1,0] ;PRELOAD AC WITH -1,,0
20691 042074 671 00 0 00 070253 TSO [0] ;*TSO SHOULD PLACE -1,,0 INTO THE AC
20692 042075 312 00 0 00 070331 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0
20693 STOP^
20694 042076 254 04 0 00 042077 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20695 042077 324 00 0 00 042100 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20696 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20697 ;IN THE SUBTEST) TO LOOP ON ERROR^
20698
20699 ;**********
20700
20701 ;THIS TEST VERIFIES THAT TSO PLACES ONES IN THE BITS OF THE AC
20702 ;WHICH ARE MARKED BY BOTH HALVES OF C(E) SWAPPED.
20703 ;THE UNMASKED BITS OF THE AC ARE NOT AFFECTED
20704 ;IN THIS CASE, C(AC)=0,,-1 AND C(E)=-1,,-1. HENCE,
20705 ;THE RESULT IN THE AC SHOULD BE -1,,-1. THE AC IS
20706 ;CHECKED FOR -1,,-1. THIS TEST PASSES IF C(AC)=-1,,-1
20707
20708 042100 201 00 0 00 777777 B22500: MOVEI -1 ;PRELOAD AC WITH 0,,-1
20709 042101 671 00 0 00 070254 TSO [-1] ;*TSO SHOULD PLACE -1,,-1 INTO THE AC
20710 042102 312 00 0 00 070254 CAME [-1] ;PASS IF C(AC)=-1,,-1
20711 STOP^
20712 042103 254 04 0 00 042104 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20713 042104 324 00 0 00 042105 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20714 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20715 ;IN THE SUBTEST) TO LOOP ON ERROR^
20716
20717 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 24
DFKAA3 MAC 25-AUG-75 13:57 TEST OF LOGICAL TEST INSTRUCTIONS SEQ 0451
20718 ;THIS TEST VERIFIES THAT TSO PLACES ONES IN THE BITS OF THE AC
20719 ;WHICH ARE MARKED BY BOTH HALVES OF C(E) SWAPPED.
20720 ;THE UNMASKED BITS OF THE AC ARE NOT AFFECTED
20721 ;IN THIS CASE, C(AC)=-1,,0 AND C(E)=-1,,-1. HENCE,
20722 ;THE RESULT IN THE AC SHOULD BE -1,,-1. THE AC IS
20723 ;CHECKED FOR -1,,-1. THIS TEST PASSES IF C(AC)=-1,,-1
20724
20725 042105 200 00 0 00 070331 B22600: MOVE [XWD -1,0] ;PRELOAD AC WITH -1,,0
20726 042106 671 00 0 00 070254 TSO [-1] ;*TSO SHOULD PLACE -1,,-1 INTO THE AC
20727 042107 312 00 0 00 070254 CAME [-1] ;PASS IF C(AC)=-1,,-1
20728 STOP^
20729 042110 254 04 0 00 042111 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20730 042111 324 00 0 00 042112 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20731 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20732 ;IN THE SUBTEST) TO LOOP ON ERROR^
20733
20734 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 25
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0452
20735 SUBTTL TEST OF HWT INSTRUCTIONS
20736
20737 ;**********
20738
20739 ;THIS TEST VERIFIES THAT HLL PLACES THE LEFT HALF OF C(E) INTO
20740 ;THE LEFT HALF OF THE AC. THE RIGHT HALF OF THE AC IS UNAFFECTED.
20741 ;IN THIS CASE AC=E AND C(AC)=C(E)=0. HENCE, THE RESULT IN THE AC
20742 ;SHOULD BE 0. THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES
20743
20744 042112 400 00 0 00 000000 B22700: SETZ ;PRELOAD AC,E WITH 0
20745 042113 500 00 0 00 000000 HLL ;*HLL SHOULD PLACE 0 INTO THE AC
20746 042114 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
20747 STOP^
20748 042115 254 04 0 00 042116 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20749 042116 324 00 0 00 042117 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20750 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20751 ;IN THE SUBTEST) TO LOOP ON ERROR^
20752
20753 ;***** FAILURE ANALYSIS *****
20754 ;C(AC0) C(AC1) FAILING SIGNAL
20755
20756 ;-1,,0 FC: AD AR + EN
20757 ;0,,-1 FC: AD RT FM + EN
20758
20759 ;**********
20760
20761 ;THIS TEST VERIFIES THAT HLL PLACES THE LEFT HALF OF C(E) INTO
20762 ;THE LEFT HALF OF THE AC. THE RIGHT HALF OF THE AC IS UNAFFECTED.
20763 ;IN THIS CASE, C(AC)=-1,,-1 AND C(E)=0. HENCE, THE RESULT IN THE AC
20764 ;SHOULD BE 0,,-1. THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1,
20765 ;THIS TEST PASSES.
20766
20767 042117 474 00 0 00 000000 B23000: SETO ;PRELOAD AC WITH -1,,-1
20768 042120 500 00 0 00 070253 HLL [0] ;*HLL SHOULD PLACE 0,,-1 INTO THE AC
20769 042121 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC)=0,,-1
20770 STOP^
20771 042122 254 04 0 00 042123 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20772 042123 324 00 0 00 042124 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20773 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20774 ;IN THE SUBTEST) TO LOOP ON ERROR^
20775
20776 ;***** FAILURE ANALYSIS *****
20777 ;C(AC0) C(AC1) FAILING SIGNAL
20778
20779 ;0,,-1 SW: FCE
20780 ;0 ET2: AR AD EN
20781
20782 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 26
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0453
20783 ;THIS TEST VERIFIES THAT HLL PLACES THE LEFT HALF OF C(E) INTO
20784 ;THE LEFT HALF OF THE AC. THE RIGHT HALF OF THE AC IS UNAFFECTED.
20785 ;IN THIS CASE AC=E AND C(AC)=C(E)=-1,,-1. HENCE, THE RESULT IN THE AC
20786 ;SHOULD BE -1,,-1. THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES.
20787
20788 042124 474 00 0 00 000000 B23200: SETO ;PRELOAD AC,E WITH -1,,-1
20789 042125 500 00 0 00 000000 HLL ;*HLL SHOULD PLACE -1,,-1 INTO THE AC
20790 042126 312 00 0 00 070254 CAME [-1] ;PASS IF C(AC)=-1,,-1
20791 STOP^
20792 042127 254 04 0 00 042130 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20793 042130 324 00 0 00 042131 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20794 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20795 ;IN THE SUBTEST) TO LOOP ON ERROR^
20796
20797 ;**********
20798
20799 ;THIS TEST VERIFIES THAT HLL PLACES THE LEFT HALF OF C(E) INTO
20800 ;THE LEFT HALF OF THE AC. THE RIGHT HALF OF THE AC IS UNAFFECTED.
20801 ;IN THIS CASE C(AC)=0 AND C(E)=-1,,-1. HENCE, THE RESULT IN THE AC
20802 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0. IF C(AC)=-1,,0,
20803 ;THIS TEST PASSES
20804
20805 042131 400 00 0 00 000000 B23400: SETZ ;PRELOAD AC WITH 0
20806 042132 500 00 0 00 070254 HLL [-1] ;*HLL SHOULD PLACE -1,,0 INTO THE AC
20807 042133 312 00 0 00 070331 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0
20808 STOP^
20809 042134 254 04 0 00 042135 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20810 042135 324 00 0 00 042136 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20811 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20812 ;IN THE SUBTEST) TO LOOP ON ERROR^
20813
20814 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0454
20815 ;THIS TEST VERIFIES THAT HLL PLACES THE LEFT HALF OF C(E) INTO
20816 ;THE LEFT HALF OF THE AC. THE RIGHT HALF OF THE AC IS UNAFFECTED.
20817 ;IN THIS CASE, C(AC)=0 AND C(E)=-1,,0. HENCE, THE RESULT IN THE AC
20818 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0. IF C(AC)=-1,,0,
20819 ;THIS TEST PASSES.
20820
20821 042136 400 00 0 00 000000 B23600: SETZ ;PRELOAD AC WITH 0
20822 042137 500 00 0 00 070331 HLL [XWD -1,0] ;*HLL SHOULD PLACE -1,,0 INTO THE AC
20823 042140 312 00 0 00 070331 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0
20824 STOP^
20825 042141 254 04 0 00 042142 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20826 042142 324 00 0 00 042143 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20827 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20828 ;IN THE SUBTEST) TO LOOP ON ERROR^
20829
20830 ;**********
20831
20832 ;THIS TEST VERIFIES THAT HLL PLACES THE LEFT HALF OF C(E) INTO
20833 ;THE LEFT HALF OF THE AC. THE RIGHT HALF OF THE AC IS UNAFFECTED.
20834 ;IN THIS CASE, C(AC)=-1,,-1 AND C(E)=0,,-1. HENCE, THE RESULT IN THE AC
20835 ;SHOULD BE 0,,-1. THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1,
20836 ;THIS TEST PASSES.
20837
20838 042143 474 00 0 00 000000 B23700: SETO ;PRELOAD AC WITH -1,,-1
20839 042144 500 00 0 00 070330 HLL [XWD 0,-1] ;*HLL SHOULD PLACE 0,,-1 INTO THE AC
20840 042145 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC)=0,,-1
20841 STOP^
20842 042146 254 04 0 00 042147 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20843 042147 324 00 0 00 042150 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20844 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20845 ;IN THE SUBTEST) TO LOOP ON ERROR^
20846
20847 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 28
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0455
20848 ;THIS TEST VERIFIES THAT HLLZ PLACES THE LEFT HALF OF C(E) INTO
20849 ;THE LEFT HALF OF THE AC AND PLACES ZEROS INTO THE RIGHT HALF OF THE AC.
20850 ;IN THIS CASE, AC=E AND C(AC)=C(E)=0. HENCE, THE RESULT IN THE AC
20851 ;SHOULD BE 0. THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES
20852
20853 042150 400 00 0 00 000000 B24000: SETZ ;PRELOAD AC,E WITH 0
20854 042151 510 00 0 00 000000 HLLZ ;*HLLZ SHOULD PLACE 0 INTO THE AC
20855 042152 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
20856 STOP^
20857 042153 254 04 0 00 042154 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20858 042154 324 00 0 00 042155 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20859 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20860 ;IN THE SUBTEST) TO LOOP ON ERROR^
20861
20862 ;***** FAILURE ANALYSIS *****
20863 ;C(AC0) C(AC1) FAILING SIGNAL
20864
20865 ;-1,,0 FC: AD LT AR + EN
20866
20867 ;**********
20868
20869 ;THIS TEST VERIFIES THAT HLLZ PLACES THE LEFT HALF OF C(E) INTO
20870 ;THE LEFT HALF OF THE AC AND PLACES ZEROS INTO THE RIGHT HALF OF THE AC.
20871 ;IN THIS CASE, C(AC)=-1,,-1 AND C(E)=-1,,-1. HENCE, THE RESULT IN THE AC
20872 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0.
20873 ;IF C(AC)=-1,,0, THIS TEST PASSES.
20874
20875 042155 474 00 0 00 000000 B24300: SETO ;PRELOAD AC WITH -1,,-1
20876 042156 510 00 0 00 070254 HLLZ [-1] ;*HLLZ SHOULD PLACE -1,,0 INTO THE AC
20877 042157 312 00 0 00 070331 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0
20878 STOP^
20879 042160 254 04 0 00 042161 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20880 042161 324 00 0 00 042162 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20881 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20882 ;IN THE SUBTEST) TO LOOP ON ERROR^
20883
20884 ;***** FAILURE ANALYSIS *****
20885 ;C(AC0) C(AC1) FAILING SIGNAL
20886
20887 ;0 SW: FCE
20888 ;-1,,-1 ET2: AR LT AD EN
20889
20890 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0456
20891 ;THIS TEST VERIFIES THAT HLLZ PLACES THE LEFT HALF OF C(E) INTO
20892 ;THE LEFT HALF OF THE AC AND PLACES ZEROS INTO THE RIGHT HALF OF THE AC.
20893 ;IN THIS CASE, C(AC)=0 AND C(E)=-1,,-1. HENCE, THE RESULT IN THE AC
20894 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR ITS CONTENTS NON-ZERO
20895 ;IF C(AC) IS NON-ZERO, THIS TEST PASSES.
20896
20897 042162 400 00 0 00 000000 B24400: SETZ ;PRELOAD AC WITH -1,,-1
20898 042163 510 00 0 00 070254 HLLZ [-1] ;*HLLZ SHOULD PLACE -1,,0 INTO THE AC
20899 042164 312 00 0 00 070331 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0
20900 STOP^
20901 042165 254 04 0 00 042166 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20902 042166 324 00 0 00 042167 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20903 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20904 ;IN THE SUBTEST) TO LOOP ON ERROR^
20905
20906 ;**********
20907
20908 ;THIS TEST VERIFIES THAT HLLZ PLACES THE LEFT HALF OF C(E) INTO
20909 ;THE LEFT HALF OF THE AC AND PLACES ZEROS INTO THE RIGHT HALF OF THE AC.
20910 ;IN THIS CASE, C(AC)=-1,,-1 AND C(E)=0. HENCE, THE RESULT IN THE AC
20911 ;SHOULD BE 0. THE AC IS CHECKED FOR ZERO
20912 ;IF C(AC) IS ZERO, THIS TEST PASSES.
20913
20914 042167 474 00 0 00 000000 B24500: SETO ;PRELOAD AC WITH -1,,-1
20915 042170 510 00 0 00 070253 HLLZ [0] ;*HLLZ SHOULD PLACE -1,,0 INTO THE AC
20916 042171 332 00 0 00 000000 SKIPE ;PASS IF C(AC) IS ZERO.
20917 STOP^
20918 042172 254 04 0 00 042173 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20919 042173 324 00 0 00 042174 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20920 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20921 ;IN THE SUBTEST) TO LOOP ON ERROR^
20922
20923 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 30
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0457
20924 ;THIS TEST VERIFIES THAT HLLZ PLACES THE LEFT HALF OF C(E) INTO
20925 ;THE LEFT HALF OF THE AC AND PLACES ZEROS INTO THE RIGHT HALF OF THE AC.
20926 ;IN THIS CASE, C(AC)=0 AND C(E)=0. HENCE, THE RESULT IN THE AC
20927 ;SHOULD BE 0. THE AC IS CHECKED FOR ZERO
20928 ;IF C(AC) IS ZERO, THIS TEST PASSES.
20929
20930 042174 400 00 0 00 000000 B24600: SETZ ;PRELOAD AC WITH 0
20931 042175 510 00 0 00 070253 HLLZ [0] ;*HLLZ SHOULD PLACE 0 INTO THE AC
20932 042176 332 00 0 00 000000 SKIPE ;PASS IF C(AC) IS ZERO.
20933 STOP^
20934 042177 254 04 0 00 042200 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20935 042200 324 00 0 00 042201 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20936 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20937 ;IN THE SUBTEST) TO LOOP ON ERROR^
20938
20939 ;**********
20940
20941 ;THIS TEST VERIFIES THAT HLLZI ALWAYS CLEARS THE AC.
20942 ;IN THIS CASE C(AC)=-1,,-1 AND E=0,,-1.
20943 ;THE RESULT IN THE AC SHOULD BE 0
20944 ;THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES
20945
20946 042201 474 00 0 00 000000 B24700: SETO ;PRELOAD AC WITH -1,,-1
20947 042202 511 00 0 00 777777 HLLZI -1 ;*HLLZI SHOULD CLEAR THE AC
20948 042203 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
20949 STOP^
20950 042204 254 04 0 00 042205 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20951 042205 324 00 0 00 042206 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20952 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20953 ;IN THE SUBTEST) TO LOOP ON ERROR^
20954
20955 ;***** FAILURE ANALYSIS *****
20956 ;C(AC0) C(AC1) FAILING SIGNAL
20957
20958 ;-1,,0 FC: AD LT AR + EN
20959 ;0,,-1 ET2: AR LT AD EN
20960
20961 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 31
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0458
20962 ;THIS TEST VERIFIES THAT HLLZI ALWAYS CLEARS THE AC.
20963 ;IN THIS CASE C(AC)=0 AND E=0,,-1.
20964 ;THE RESULT IN THE AC SHOULD BE 0
20965 ;THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES
20966
20967 042206 400 00 0 00 000000 B25000: SETZ ;PRELOAD AC WITH 0
20968 042207 511 00 0 00 777777 HLLZI -1 ;*HLLZI SHOULD CLEAR THE AC
20969 042210 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
20970 STOP^
20971 042211 254 04 0 00 042212 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20972 042212 324 00 0 00 042213 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20973 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20974 ;IN THE SUBTEST) TO LOOP ON ERROR^
20975
20976 ;**********
20977
20978 ;THIS TEST VERIFIES THAT HLLZ PLACES THE LEFT HALF OF C(E) INTO
20979 ;THE LEFT HALF OF THE AC AND PLACES ZEROS INTO THE RIGHT HALF OF THE AC.
20980 ;IN THIS CASE, C(AC)=-1,,-1 AND C(E)=-1,,0. HENCE, THE RESULT IN THE AC
20981 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0.
20982 ;IF C(AC)=-1,,0, THIS TEST PASSES.
20983
20984 042213 474 00 0 00 000000 B25100: SETO ;PRELOAD AC WITH -1,,-1
20985 042214 510 00 0 00 070331 HLLZ [XWD -1,0] ;*HLLZ SHOULD PLACE -1,,0 INTO THE AC
20986 042215 312 00 0 00 070331 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0.
20987 STOP^
20988 042216 254 04 0 00 042217 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
20989 042217 324 00 0 00 042220 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
20990 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
20991 ;IN THE SUBTEST) TO LOOP ON ERROR^
20992
20993 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 32
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0459
20994 ;THIS TEST VERIFIES THAT HLLZ PLACES THE LEFT HALF OF C(E) INTO
20995 ;THE LEFT HALF OF THE AC AND PLACES ZEROS INTO THE RIGHT HALF OF THE AC.
20996 ;IN THIS CASE, C(AC)=0 AND C(E)=-1,,0. HENCE, THE RESULT IN THE AC
20997 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0.
20998 ;IF C(AC)=-1,,0 THIS TEST PASSES.
20999
21000 042220 400 00 0 00 000000 B25200: SETZ ;PRELOAD AC WITH 0
21001 042221 510 00 0 00 070331 HLLZ [XWD -1,0] ;*HLLZ SHOULD PLACE -1,,0 INTO THE AC
21002 042222 312 00 0 00 070331 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0
21003 STOP^
21004 042223 254 04 0 00 042224 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21005 042224 324 00 0 00 042225 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21006 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21007 ;IN THE SUBTEST) TO LOOP ON ERROR^
21008
21009 ;**********
21010
21011 ;THIS TEST VERIFIES THAT HLLZ PLACES THE LEFT HALF OF C(E) INTO
21012 ;THE LEFT HALF OF THE AC AND PLACES ZEROS INTO THE RIGHT HALF OF THE AC.
21013 ;IN THIS CASE, C(AC)=0,,-1 AND C(E)=-1,,-1. HENCE, THE RESULT IN THE AC
21014 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0.
21015 ;IF C(AC)=-1,,0, THIS TEST PASSES.
21016
21017 042225 201 00 0 00 777777 B25300: MOVEI -1 ;PRELOAD AC WITH -1,,-1
21018 042226 510 00 0 00 070254 HLLZ [-1] ;*HLLZ SHOULD PLACE -1,,0 INTO THE AC
21019 042227 312 00 0 00 070331 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0
21020 STOP^
21021 042230 254 04 0 00 042231 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21022 042231 324 00 0 00 042232 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21023 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21024 ;IN THE SUBTEST) TO LOOP ON ERROR^
21025
21026 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 33
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0460
21027 ;THIS TEST VERIFIES THAT HLLZ PLACES THE LEFT HALF OF C(E) INTO
21028 ;THE LEFT HALF OF THE AC AND PLACES ZEROS INTO THE RIGHT HALF OF THE AC.
21029 ;IN THIS CASE, C(AC)=-1,,0 AND C(E)=-1,,-1. HENCE, THE RESULT IN THE AC
21030 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0.
21031 ;IF C(AC)=-1,,0 THIS TEST PASSES.
21032
21033 042232 205 00 0 00 777777 B25400: MOVSI -1 ;PRELOAD AC WITH -1,,0
21034 042233 510 00 0 00 070254 HLLZ [-1] ;*HLLZ SHOULD PLACE -1,,0 INTO THE AC
21035 042234 312 00 0 00 070331 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0.
21036 STOP^
21037 042235 254 04 0 00 042236 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21038 042236 324 00 0 00 042237 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21039 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21040 ;IN THE SUBTEST) TO LOOP ON ERROR^
21041
21042 ;**********
21043
21044 ;THIS TEST VERIFIES THAT HLLZ PLACES THE LEFT HALF OF C(E) INTO
21045 ;THE LEFT HALF OF THE AC AND PLACES ZEROS INTO THE RIGHT HALF OF THE AC.
21046 ;IN THIS CASE, C(AC)=0,,-1 AND C(E)=0. HENCE, THE RESULT IN THE AC
21047 ;SHOULD BE 0. THE AC IS CHECKED FOR ZERO.
21048 ;IF C(AC) IS ZERO, THIS TEST PASSES.
21049
21050 042237 201 00 0 00 777777 B25500: MOVEI -1 ;PRELOAD AC WITH 0,,-1
21051 042240 510 00 0 00 070253 HLLZ [0] ;*HLLZ SHOULD PLACE 0 INTO THE AC
21052 042241 332 00 0 00 000000 SKIPE ;PASS IF C(AC) IS ZERO.
21053 STOP^
21054 042242 254 04 0 00 042243 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21055 042243 324 00 0 00 042244 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21056 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21057 ;IN THE SUBTEST) TO LOOP ON ERROR^
21058
21059 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 34
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0461
21060 ;THIS TEST VERIFIES THAT HLLZ PLACES THE LEFT HALF OF C(E) INTO
21061 ;THE LEFT HALF OF THE AC AND PLACES ZEROS INTO THE RIGHT HALF OF THE AC.
21062 ;IN THIS CASE, C(AC)=-1,,0 AND C(E)=0. HENCE, THE RESULT IN THE AC
21063 ;SHOULD BE 0. THE AC IS CHECKED FOR ZERO.
21064 ;IF C(AC) IS ZERO, THIS TEST PASSES.
21065
21066 042244 205 00 0 00 777777 B25600: MOVSI -1 ;PRELOAD AC WITH -1,,0
21067 042245 510 00 0 00 070253 HLLZ [0] ;*HLLZ SHOULD PLACE -1,,0 INTO THE AC
21068 042246 332 00 0 00 000000 SKIPE ;PASS IF C(AC) IS ZERO.
21069 STOP^
21070 042247 254 04 0 00 042250 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21071 042250 324 00 0 00 042251 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21072 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21073 ;IN THE SUBTEST) TO LOOP ON ERROR^
21074
21075 ;**********
21076
21077 ;THIS TEST VERIFIES THAT HLLZ PLACES THE LEFT HALF OF C(E) INTO
21078 ;THE LEFT HALF OF THE AC AND PLACES ZEROS INTO THE RIGHT HALF OF THE AC.
21079 ;IN THIS CASE, C(AC)=0,,-1 AND C(E)=-1,,0. HENCE, THE RESULT IN THE AC
21080 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0.
21081 ;IF C(AC)=-1,,0, THIS TEST PASSES.
21082
21083 042251 201 00 0 00 777777 B25700: MOVEI -1 ;PRELOAD AC WITH 0,,-1
21084 042252 510 00 0 00 070331 HLLZ [XWD -1,0] ;*HLLZ SHOULD PLACE -1,,0 INTO THE AC
21085 042253 312 00 0 00 070331 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0
21086 STOP^
21087 042254 254 04 0 00 042255 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21088 042255 324 00 0 00 042256 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21089 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21090 ;IN THE SUBTEST) TO LOOP ON ERROR^
21091
21092 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 35
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0462
21093 ;THIS TEST VERIFIES THAT HLLZI ALWAYS CLEARS THE AC.
21094 ;IN THIS CASE C(AC)=0,,-1 AND E=0,,-1.
21095 ;THE RESULT IN THE AC SHOULD BE 0
21096 ;THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES
21097
21098 042256 201 00 0 00 777777 B26000: MOVEI -1 ;PRELOAD AC WITH 0,,-1
21099 042257 511 00 0 00 777777 HLLZI -1 ;*HLLZI SHOULD CLEAR THE AC
21100 042260 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
21101 STOP^
21102 042261 254 04 0 00 042262 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21103 042262 324 00 0 00 042263 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21104 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21105 ;IN THE SUBTEST) TO LOOP ON ERROR^
21106
21107 ;**********
21108
21109 ;THIS TEST VERIFIES THAT HLLZ PLACES THE LEFT HALF OF C(E) INTO
21110 ;THE LEFT HALF OF THE AC AND PLACES ZEROS INTO THE RIGHT HALF OF THE AC.
21111 ;IN THIS CASE, C(AC)=-1,,0 AND C(E)=-1,,0. HENCE, THE RESULT IN THE AC
21112 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0.
21113 ;IF C(AC)=-1,,0, THIS TEST PASSES.
21114
21115 042263 205 00 0 00 777777 B26100: MOVSI -1 ;PRELOAD AC WITH -1,,0
21116 042264 510 00 0 00 070331 HLLZ [XWD -1,0] ;*HLLZ SHOULD PLACE -1,,0 INTO THE AC
21117 042265 312 00 0 00 070331 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0
21118 STOP^
21119 042266 254 04 0 00 042267 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21120 042267 324 00 0 00 042270 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21121 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21122 ;IN THE SUBTEST) TO LOOP ON ERROR^
21123
21124 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 36
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0463
21125 ;THIS TEST VERIFIES THAT HLLZI ALWAYS CLEARS THE AC.
21126 ;IN THIS CASE C(AC)=-1,,0 AND E=0,,-1.
21127 ;THE RESULT IN THE AC SHOULD BE 0
21128 ;THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES
21129
21130 042270 205 00 0 00 777777 B26200: MOVSI -1 ;PRELOAD AC WITH -1,,0
21131 042271 511 00 0 00 777777 HLLZI -1 ;*HLLZI SHOULD CLEAR THE AC
21132 042272 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
21133 STOP^
21134 042273 254 04 0 00 042274 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21135 042274 324 00 0 00 042275 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21136 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21137 ;IN THE SUBTEST) TO LOOP ON ERROR^
21138
21139 ;**********
21140
21141 ;THIS TEST VERIFIES THAT HRR PLACES THE RIGHT HALF OF C(E) INTO
21142 ;THE RIGHT HALF OF THE AC. THE LEFT HALF OF THE AC IS UNAFFECTED.
21143 ;IN THIS CASE AC=E AND C(AC)=C(E)=0. HENCE, THE RESULT IN THE AC
21144 ;SHOULD BE 0. THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES.
21145
21146 042275 400 00 0 00 000000 B26300: SETZ ;PRELOAD AC WITH 0
21147 042276 540 00 0 00 000000 HRR ;*HRR SHOULD PLACE 0 INTO THE AC
21148 042277 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
21149 STOP^
21150 042300 254 04 0 00 042301 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21151 042301 324 00 0 00 042302 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21152 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21153 ;IN THE SUBTEST) TO LOOP ON ERROR^
21154
21155 ;***** FAILURE ANALYSIS *****
21156 ;C(AC0) C(AC1) FAILING SIGNAL
21157
21158 ;0,,-1 FC: AD RT AR + EN
21159 ;-1,,0 FC: AD LT FM + EN
21160
21161 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 37
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0464
21162 ;THIS TEST VERIFIES THAT HRR PLACES THE RIGHT HALF OF C(E) INTO
21163 ;THE RIGHT HALF OF THE AC. THE LEFT HALF OF THE AC IS UNAFFECTED.
21164 ;IN THIS CASE AC=E AND C(AC)=C(E)=-1,,-1. HENCE, THE RESULT IN THE AC
21165 ;SHOULD BE -1,,-1. THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES.
21166
21167 042302 474 00 0 00 000000 B26500: SETO ;PRELOAD AC WITH -1,,-1
21168 042303 540 00 0 00 000000 HRR ;*HRR SHOULD PLACE -1,,-1 INTO THE AC
21169 042304 312 00 0 00 070254 CAME [-1] ;PASS IF C(AC)=-1,,-1
21170 STOP^
21171 042305 254 04 0 00 042306 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21172 042306 324 00 0 00 042307 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21173 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21174 ;IN THE SUBTEST) TO LOOP ON ERROR^
21175
21176 ;***** FAILURE ANALYSIS *****
21177 ;C(AC0) C(AC1) FAILING SIGNAL
21178
21179 ;-1,,0 SW: FCE
21180
21181 ;**********
21182
21183 ;THIS TEST VERIFIES THAT HRR PLACES THE RIGHT HALF OF C(E) INTO
21184 ;THE RIGHT HALF OF THE AC. THE LEFT HALF OF THE AC IS UNAFFECTED.
21185 ;IN THIS CASE C(AC)=0 AND C(E)=-1,,0. HENCE, THE RESULT IN THE AC
21186 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0. IF C(AC)=-1,,0, THIS TEST PASSES.
21187
21188 042307 474 00 0 00 000000 B26600: SETO ;PRELOAD AC WITH -1,,-1
21189 042310 540 00 0 00 070331 HRR [XWD -1,0] ;*HRR SHOULD PLACE -1,,0 INTO THE AC
21190 042311 312 00 0 00 070331 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0
21191 STOP^
21192 042312 254 04 0 00 042313 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21193 042313 324 00 0 00 042314 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21194 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21195 ;IN THE SUBTEST) TO LOOP ON ERROR^
21196
21197 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 38
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0465
21198 ;THIS TEST VERIFIES THAT HRRI PLACES E INTO
21199 ;THE RIGHT HALF OF THE AC. THE LEFT HALF OF THE AC IS UNAFFECTED
21200 ;IN THIS CASE C(AC)=-1,,-1 AND E=0,,-1. HENCE, THE RESULT IN THE AC
21201 ;SHOULD BE -1,,-1. THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES.
21202
21203 042314 474 00 0 00 000000 B26700: SETO ;PRELOAD AC WITH -1,,-1
21204 042315 541 00 0 00 777777 HRRI -1 ;*HRRI SHOULD PLACE -1,,-1 INTO THE AC
21205 042316 312 00 0 00 070254 CAME [-1] ;PASS IF C(AC)=-1,,-1
21206 STOP^
21207 042317 254 04 0 00 042320 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21208 042320 324 00 0 00 042321 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21209 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21210 ;IN THE SUBTEST) TO LOOP ON ERROR^
21211
21212 ;***** FAILURE ANALYSIS *****
21213 ;C(AC0) C(AC1) FAILING SIGNAL
21214
21215 ;0,,-1 ET2: AR AD EN
21216
21217 ;**********
21218
21219 ;THIS TEST VERIFIES THAT HRR PLACES THE RIGHT HALF OF C(E) INTO
21220 ;THE RIGHT HALF OF THE AC. THE LEFT HALF OF THE AC IS UNAFFECTED.
21221 ;IN THIS CASE C(AC)=-1,,-1 AND C(E)=0. HENCE, THE RESULT IN THE AC
21222 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0. IF C(AC)=-1,,0, THIS TEST PASSES.
21223
21224 042321 474 00 0 00 000000 B27000: SETO ;PRELOAD AC WITH -1,,-1
21225 042322 540 00 0 00 070253 HRR [0] ;*HRR SHOULD PLACE -1,,0 INTO THE AC
21226 042323 312 00 0 00 070331 CAME [XWD -1,0] ;PASS IF C(AC)=0
21227 STOP^
21228 042324 254 04 0 00 042325 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21229 042325 324 00 0 00 042326 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21230 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21231 ;IN THE SUBTEST) TO LOOP ON ERROR^
21232
21233 ;***** FAILURE ANALYSIS *****
21234 ;C(AC0) C(AC1) FAILING SIGNAL
21235
21236 ;0 ET2: AR AD EN
21237
21238 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 39
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0466
21239 ;THIS TEST VERIFIES THAT HRR PLACES THE RIGHT HALF OF C(E) INTO
21240 ;THE RIGHT HALF OF THE AC. THE LEFT HALF OF THE AC IS UNAFFECTED.
21241 ;IN THIS CASE C(AC)=0 AND C(E)=0. HENCE, THE RESULT IN THE AC
21242 ;SHOULD BE 0. THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES.
21243
21244 042326 400 00 0 00 000000 B27100: SETZ ;PRELOAD AC WITH 0
21245 042327 540 00 0 00 070253 HRR [0] ;*HRR SHOULD PLACE 0 INTO THE AC
21246 042330 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
21247 STOP^
21248 042331 254 04 0 00 042332 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21249 042332 324 00 0 00 042333 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21250 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21251 ;IN THE SUBTEST) TO LOOP ON ERROR^
21252
21253 ;**********
21254
21255 ;THIS TEST VERIFIES THAT HRR PLACES THE RIGHT HALF OF C(E) INTO
21256 ;THE RIGHT HALF OF THE AC. THE LEFT HALF OF THE AC IS UNAFFECTED.
21257 ;IN THIS CASE C(AC)=0 AND C(E)=-1,,-1. HENCE, THE RESULT IN THE AC
21258 ;SHOULD BE 0,,-1. THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST PASSES.
21259
21260 042333 400 00 0 00 000000 B27200: SETZ ;PRELOAD AC WITH 0
21261 042334 540 00 0 00 070254 HRR [-1] ;*HRR SHOULD PLACE 0,,-1 INTO THE AC
21262 042335 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC)=0,,-1
21263 STOP^
21264 042336 254 04 0 00 042337 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21265 042337 324 00 0 00 042340 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21266 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21267 ;IN THE SUBTEST) TO LOOP ON ERROR^
21268
21269 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 40
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0467
21270 ;THIS TEST VERIFIES THAT HRRI PLACES E INTO
21271 ;THE RIGHT HALF OF THE AC. THE LEFT HALF OF THE AC IS UNAFFECTED
21272 ;IN THIS CASE C(AC)=0 AND E=0,,-1. HENCE, THE RESULT IN THE AC
21273 ;SHOULD BE 0,,-1. THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST PASSES.
21274
21275 042340 400 00 0 00 000000 B27300: SETZ ;PRELOAD AC WITH 0
21276 042341 541 00 0 00 777777 HRRI -1 ;*HRRI SHOULD PLACE 0,,-1 INTO THE AC
21277 042342 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC)=0,,-1
21278 STOP^
21279 042343 254 04 0 00 042344 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21280 042344 324 00 0 00 042345 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21281 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21282 ;IN THE SUBTEST) TO LOOP ON ERROR^
21283
21284 ;***** FAILURE ANALYSIS *****
21285 ;C(AC0) C(AC1) FAILING SIGNAL
21286
21287 ;-1,,-1 FC: AD LT FM + EN
21288
21289 ;**********
21290
21291 ;THIS TEST VERIFIES THAT HRR PLACES THE RIGHT HALF OF C(E) INTO
21292 ;THE RIGHT HALF OF THE AC. THE LEFT HALF OF THE AC IS UNAFFECTED.
21293 ;IN THIS CASE C(AC)=0 AND C(E)=-1,,0. HENCE, THE RESULT IN THE AC
21294 ;SHOULD BE 0. THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES.
21295
21296 042345 400 00 0 00 000000 B27400: SETZ ;PRELOAD AC WITH 0
21297 042346 540 00 0 00 070331 HRR [XWD -1,0] ;*HRR SHOULD PLACE 0 INTO THE AC
21298 042347 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
21299 STOP^
21300 042350 254 04 0 00 042351 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21301 042351 324 00 0 00 042352 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21302 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21303 ;IN THE SUBTEST) TO LOOP ON ERROR^
21304
21305 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 41
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0468
21306 ;THIS TEST VERIFIES THAT HRR PLACES THE RIGHT HALF OF C(E) INTO
21307 ;THE RIGHT HALF OF THE AC. THE LEFT HALF OF THE AC IS UNAFFECTED.
21308 ;IN THIS CASE C(AC)=0,,-1 AND C(E)=-1,,0. HENCE, THE RESULT IN THE AC
21309 ;SHOULD BE 0. THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES.
21310
21311 042352 201 00 0 00 777777 B27500: MOVEI -1 ;PRELOAD AC WITH 0,,-1
21312 042353 540 00 0 00 070331 HRR [XWD -1,0] ;*HRR SHOULD PLACE 0 INTO THE AC
21313 042354 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
21314 STOP^
21315 042355 254 04 0 00 042356 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21316 042356 324 00 0 00 042357 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21317 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21318 ;IN THE SUBTEST) TO LOOP ON ERROR^
21319
21320 ;**********
21321
21322 ;THIS TEST VERIFIES THAT HRRI PLACES E INTO
21323 ;THE RIGHT HALF OF THE AC. THE LEFT HALF OF THE AC IS UNAFFECTED
21324 ;IN THIS CASE C(AC)=-1,,0 AND E=0,,-1. HENCE, THE RESULT IN THE AC
21325 ;SHOULD BE -1,,-1. THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES.
21326
21327 042357 205 00 0 00 777777 B27600: MOVSI -1 ;PRELOAD AC WITH -1,,0
21328 042360 541 00 0 00 777777 HRRI -1 ;*HRRI SHOULD PLACE -1,,-1 INTO THE AC
21329 042361 312 00 0 00 070254 CAME [-1] ;PASS IF C(AC)=-1,,-1
21330 STOP^
21331 042362 254 04 0 00 042363 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21332 042363 324 00 0 00 042364 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21333 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21334 ;IN THE SUBTEST) TO LOOP ON ERROR^
21335
21336 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 42
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0469
21337 ;THIS TEST VERIFIES THAT HRRI PLACES E INTO
21338 ;THE RIGHT HALF OF THE AC. THE LEFT HALF OF THE AC IS UNAFFECTED
21339 ;IN THIS CASE C(AC)=0,,-1 AND E=0,,-1. HENCE, THE RESULT IN THE AC
21340 ;SHOULD BE 0,,-1. THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST PASSES.
21341
21342 042364 201 00 0 00 777777 B27700: MOVEI -1 ;PRELOAD AC WITH 0,,-1
21343 042365 541 00 0 00 777777 HRRI -1 ;*HRRI SHOULD PLACE 0,,-1 INTO THE AC
21344 042366 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC)=0,,-1
21345 STOP^
21346 042367 254 04 0 00 042370 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21347 042370 324 00 0 00 042371 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21348 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21349 ;IN THE SUBTEST) TO LOOP ON ERROR^
21350
21351 ;**********
21352
21353 ;THIS TEST VERIFIES THAT HRR PLACES THE RIGHT HALF OF C(E) INTO
21354 ;THE RIGHT HALF OF THE AC. THE LEFT HALF OF THE AC IS UNAFFECTED.
21355 ;IN THIS CASE C(AC)=-1,,0 AND C(E)=-1,,0. HENCE, THE RESULT IN THE AC
21356 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0. IF C(AC)=-1,,0, THIS TEST PASSES.
21357
21358 042371 205 00 0 00 777777 B30000: MOVSI -1 ;PRELOAD AC WITH -1,,0
21359 042372 540 00 0 00 070331 HRR [XWD -1,0] ;*HRR SHOULD PLACE -1,,0 INTO THE AC
21360 042373 312 00 0 00 070331 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0
21361 STOP^
21362 042374 254 04 0 00 042375 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21363 042375 324 00 0 00 042376 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21364 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21365 ;IN THE SUBTEST) TO LOOP ON ERROR^
21366
21367 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 43
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0470
21368 ;THIS TEST VERIFIES THAT HRRZ PLACES THE RIGHT HALF OF C(E) INTO
21369 ;RIGHT HALF OF THE AC AND PLACES ZEROS INTO THE LEFT HALF OF THE AC
21370 ;IN THIS CASE, AC=E AND C(AC)=C(E)=0. HENCE, THE RESULT IN THE AC
21371 ;SHOULD BE 0. THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES.
21372
21373 042376 400 00 0 00 000000 B30100: SETZ ;PRELOAD AC,E WITH 0
21374 042377 550 00 0 00 000000 HRRZ ;*HRRZ SHOULD PLACE 0 INTO THE AC
21375 042400 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
21376 STOP^
21377 042401 254 04 0 00 042402 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21378 042402 324 00 0 00 042403 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21379 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21380 ;IN THE SUBTEST) TO LOOP ON ERROR^
21381
21382 ;***** FAILURE ANALYSIS *****
21383 ;C(AC0) C(AC1) FAILING SIGNAL
21384
21385 ;0,,-1 FC: AD RT AR + EN
21386
21387 ;**********
21388
21389 ;THIS TEST VERIFIES THAT HRRZI PLACES E INTO
21390 ;THE RIGHT HALF OF THE AC AND CLEARS THE LEFT HALF OF THE AC
21391 ;IN THIS CASE C(AC)=-1,,-1. HENCE, THE RESULT IN THE AC
21392 ;SHOULD BE 0,,-1. THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST PASSES
21393
21394 042403 474 00 0 00 000000 B30400: SETO ;PRELOAD AC WITH -1,,-1
21395 042404 551 00 0 00 777777 HRRZI -1 ;*HRRZI SHOULD PLACE 0,,-1 INTO THE AC
21396 042405 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC)=0,,-1
21397 STOP^
21398 042406 254 04 0 00 042407 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21399 042407 324 00 0 00 042410 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21400 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21401 ;IN THE SUBTEST) TO LOOP ON ERROR^
21402
21403 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 44
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0471
21404 ;THIS TEST VERIFIES THAT HRRZI PLACES E INTO
21405 ;THE RIGHT HALF OF THE AC AND CLEARS THE LEFT HALF OF THE AC
21406 ;IN THIS CASE C(AC)=-1,,-1. HENCE, THE RESULT IN THE AC
21407 ;SHOULD BE 0. THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES
21408
21409 042410 474 00 0 00 000000 B30500: SETO ;PRELOAD AC WITH -1,,-1
21410 042411 551 00 0 00 000000 HRRZI 0 ;*HRRZI SHOULD PLACE 0 INTO THE AC
21411 042412 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
21412 STOP^
21413 042413 254 04 0 00 042414 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21414 042414 324 00 0 00 042415 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21415 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21416 ;IN THE SUBTEST) TO LOOP ON ERROR^
21417
21418 ;***** FAILURE ANALYSIS *****
21419 ;C(AC0) C(AC1) FAILING SIGNAL
21420
21421 ;0,,-1 FC: AD RT AR + EN
21422
21423 ;**********
21424
21425 ;THIS TEST VERIFIES THAT HRRZ PLACES THE RIGHT HALF OF C(E) INTO
21426 ;RIGHT HALF OF THE AC AND PLACES ZEROS INTO THE LEFT HALF OF THE AC
21427 ;IN THIS CASE C(AC)=-1,,-1 AND C(E)=-1,,-1. HENCE, THE RESULT IN THE AC
21428 ;SHOULD BE 0. THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES.
21429
21430 042415 474 00 0 00 000000 B30600: SETO ;PRELOAD AC WITH -1,,-1
21431 042416 550 00 0 00 070331 HRRZ [XWD -1,0] ;*HRRZ SHOULD PLACE 0 INTO THE AC
21432 042417 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
21433 STOP^
21434 042420 254 04 0 00 042421 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21435 042421 324 00 0 00 042422 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21436 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21437 ;IN THE SUBTEST) TO LOOP ON ERROR^
21438
21439 ;***** FAILURE ANALYSIS *****
21440 ;C(AC0) C(AC1) FAILING SIGNAL
21441
21442 ;E SW: FCE
21443 ;-1,,0 ET2: AR RT AD EN
21444
21445 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 45
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0472
21446 ;THIS TEST VERIFIES THAT HRRZ PLACES THE RIGHT HALF OF C(E) INTO
21447 ;RIGHT HALF OF THE AC AND PLACES ZEROS INTO THE LEFT HALF OF THE AC
21448 ;IN THIS CASE C(AC)=-1,,-1 AND C(E)=-1,,-1. HENCE, THE RESULT IN THE AC
21449 ;SHOULD BE 0,,-1. THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST PASSES.
21450
21451 042422 474 00 0 00 000000 B30700: SETO ;PRELOAD AC WITH -1,,-1
21452 042423 550 00 0 00 070254 HRRZ [-1] ;*HRRZ SHOULD PLACE 0,,-1 INTO THE AC
21453 042424 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC)=0,,-1
21454 STOP^
21455 042425 254 04 0 00 042426 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21456 042426 324 00 0 00 042427 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21457 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21458 ;IN THE SUBTEST) TO LOOP ON ERROR^
21459
21460 ;**********
21461
21462 ;THIS TEST VERIFIES THAT HRRZ PLACES THE RIGHT HALF OF C(E) INTO
21463 ;RIGHT HALF OF THE AC AND PLACES ZEROS INTO THE LEFT HALF OF THE AC
21464 ;IN THIS CASE C(AC)=0,,-1 AND C(E)=-1,,-1. HENCE, THE RESULT IN THE AC
21465 ;SHOULD BE 0,,-1. THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST PASSES.
21466
21467 042427 201 00 0 00 777777 B31000: MOVEI -1 ;PRELOAD AC WITH 0,,-1
21468 042430 550 00 0 00 070254 HRRZ [-1] ;*HRRZ SHOULD PLACE 0,,-1 INTO THE AC
21469 042431 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC)=0,,-1
21470 STOP^
21471 042432 254 04 0 00 042433 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21472 042433 324 00 0 00 042434 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21473 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21474 ;IN THE SUBTEST) TO LOOP ON ERROR^
21475
21476 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 46
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0473
21477 ;THIS TEST VERIFIES THAT HRRZ PLACES THE RIGHT HALF OF C(E) INTO
21478 ;RIGHT HALF OF THE AC AND PLACES ZEROS INTO THE LEFT HALF OF THE AC
21479 ;IN THIS CASE C(AC)=0,,-1 AND C(E)=0. HENCE, THE RESULT IN THE AC
21480 ;SHOULD BE 0. THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES.
21481
21482 042434 201 00 0 00 777777 B31100: MOVEI -1 ;PRELOAD AC WITH 0,,-1
21483 042435 550 00 0 00 070253 HRRZ [0] ;*HRRZ SHOULD PLACE 0 INTO THE AC
21484 042436 302 00 0 00 000000 CAIE 0 ;PASS IF C(AC)=0
21485 STOP^
21486 042437 254 04 0 00 042440 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21487 042440 324 00 0 00 042441 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21488 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21489 ;IN THE SUBTEST) TO LOOP ON ERROR^
21490
21491 ;**********
21492
21493 ;THIS TEST VERIFIES THAT HRRZ PLACES THE RIGHT HALF OF C(E) INTO
21494 ;RIGHT HALF OF THE AC AND PLACES ZEROS INTO THE LEFT HALF OF THE AC
21495 ;IN THIS CASE C(AC)=-1,,0 AND C(E)=-1,,-1. HENCE, THE RESULT IN THE AC
21496 ;SHOULD BE 0,,-1. THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST PASSES.
21497
21498 042441 205 00 0 00 777777 B31200: MOVSI -1 ;PRELOAD AC WITH -1,,0
21499 042442 550 00 0 00 070254 HRRZ [-1] ;*HRRZ SHOULD PLACE 0,,-1 INTO THE AC
21500 042443 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC)=0,,-1
21501 STOP^
21502 042444 254 04 0 00 042445 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21503 042445 324 00 0 00 042446 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21504 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21505 ;IN THE SUBTEST) TO LOOP ON ERROR^
21506
21507 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 47
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0474
21508 ;THIS TEST VERIFIES THAT HRRZ PLACES THE RIGHT HALF OF C(E) INTO
21509 ;RIGHT HALF OF THE AC AND PLACES ZEROS INTO THE LEFT HALF OF THE AC
21510 ;IN THIS CASE C(AC)=-1,,0 AND C(E)=0. HENCE, THE RESULT IN THE AC
21511 ;SHOULD BE 0. THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES.
21512
21513 042446 205 00 0 00 777777 B31300: MOVSI -1 ;PRELOAD AC WITH -1,,0
21514 042447 550 00 0 00 070253 HRRZ [0] ;*HRRZ SHOULD PLACE 0 INTO THE AC
21515 042450 302 00 0 00 000000 CAIE 0 ;PASS IF C(AC)=0
21516 STOP^
21517 042451 254 04 0 00 042452 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21518 042452 324 00 0 00 042453 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21519 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21520 ;IN THE SUBTEST) TO LOOP ON ERROR^
21521
21522 ;**********
21523
21524 ;THIS TEST VERIFIES THAT HRRZ PLACES THE RIGHT HALF OF C(E) INTO
21525 ;RIGHT HALF OF THE AC AND PLACES ZEROS INTO THE LEFT HALF OF THE AC
21526 ;IN THIS CASE C(AC)=0,,-1 AND C(E)=-1,,0. HENCE, THE RESULT IN THE AC
21527 ;SHOULD BE 0. THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES.
21528
21529 042453 201 00 0 00 777777 B31400: MOVEI -1 ;PRELOAD AC WITH 0,,-1
21530 042454 550 00 0 00 070331 HRRZ [XWD -1,0] ;*HRRZ SHOULD PLACE 0 INTO THE AC
21531 042455 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
21532 STOP^
21533 042456 254 04 0 00 042457 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21534 042457 324 00 0 00 042460 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21535 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21536 ;IN THE SUBTEST) TO LOOP ON ERROR^
21537
21538 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 48
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0475
21539 ;THIS TEST VERIFIES THAT HRRZ PLACES THE RIGHT HALF OF C(E) INTO
21540 ;RIGHT HALF OF THE AC AND PLACES ZEROS INTO THE LEFT HALF OF THE AC
21541 ;IN THIS CASE C(AC)=-1,,0 AND C(E)=0,,-1. HENCE, THE RESULT IN THE AC
21542 ;SHOULD BE 0,,-1. THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST PASSES.
21543
21544 042460 205 00 0 00 777777 B31500: MOVSI -1 ;PRELOAD AC WITH -1,,0
21545 042461 550 00 0 00 070330 HRRZ [XWD 0,-1] ;*HRRZ SHOULD PLACE 0,,-1 INTO THE AC
21546 042462 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC)=0,,-1
21547 STOP^
21548 042463 254 04 0 00 042464 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21549 042464 324 00 0 00 042465 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21550 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21551 ;IN THE SUBTEST) TO LOOP ON ERROR^
21552
21553 ;**********
21554
21555 ;THIS TEST VERIFIES THAT HRRZI PLACES E INTO
21556 ;THE RIGHT HALF OF THE AC AND CLEARS THE LEFT HALF OF THE AC
21557 ;IN THIS CASE C(AC)=0,,-1 AND E=0,,-1. HENCE, THE RESULT IN THE AC
21558 ;SHOULD BE 0,,-1. THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST PASSES
21559
21560 042465 201 00 0 00 777777 B31600: MOVEI -1 ;PRELOAD AC WITH 0,,-1
21561 042466 551 00 0 00 777777 HRRZI -1 ;*HRRZI SHOULD PLACE 0,,-1 INTO THE AC
21562 042467 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC)=0,,1
21563 STOP^
21564 042470 254 04 0 00 042471 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21565 042471 324 00 0 00 042472 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21566 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21567 ;IN THE SUBTEST) TO LOOP ON ERROR^
21568
21569 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 49
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0476
21570 ;THIS TEST VERIFIES THAT HRRZ PLACES THE RIGHT HALF OF C(E) INTO
21571 ;RIGHT HALF OF THE AC AND PLACES ZEROS INTO THE LEFT HALF OF THE AC
21572 ;IN THIS CASE C(AC)=-1,,0 AND C(E)=-1,,0. HENCE, THE RESULT IN THE AC
21573 ;SHOULD BE 0. THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES.
21574
21575 042472 205 00 0 00 777777 B31700: MOVSI -1 ;PRELOAD AC WITH -1,,0
21576 042473 550 00 0 00 070331 HRRZ [XWD -1,0] ;*HRRZ SHOULD PLACE 0 INTO THE AC,0]
21577 042474 302 00 0 00 000000 CAIE 0 ;PASS IF C(AC)=0
21578 STOP^
21579 042475 254 04 0 00 042476 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21580 042476 324 00 0 00 042477 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21581 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21582 ;IN THE SUBTEST) TO LOOP ON ERROR^
21583
21584 ;**********
21585
21586 ;THIS TEST VERIFIES THAT HRL PLACES THE RIGHT HALF OF C(E) INTO
21587 ;THE LEFT HALF OF THE AC. THE RIGHT HALF OF THE AC IS UNAFFECTED
21588 ;IN THIS CASE, AC=E AND C(AC)=C(E)=0. HENCE, THE RESULT IN THE AC
21589 ;SHOULD BE 0. THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES.
21590
21591 042477 400 00 0 00 000000 B32000: SETZ ;PRELOAD AC WITH 0
21592 042500 504 00 0 00 000000 HRL ;*HRL SHOULD PLACE 0 INTO THE AC
21593 042501 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
21594 STOP^
21595 042502 254 04 0 00 042503 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21596 042503 324 00 0 00 042504 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21597 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21598 ;IN THE SUBTEST) TO LOOP ON ERROR^
21599
21600 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 50
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0477
21601 ;THIS TEST VERIFIES THAT HRL PLACES THE RIGHT HALF OF C(E) INTO
21602 ;THE LEFT HALF OF THE AC. THE RIGHT HALF OF THE AC IS UNAFFECTED
21603 ;IN THIS CASE, C(AC)=-1,,-1 AND C(E)=-1,,-1. HENCE, THE RESULT IN THE AC
21604 ;SHOULD BE -1,,-1. THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES.
21605
21606 042504 474 00 0 00 000000 B32100: SETO ;PRELOAD AC WITH -1,,-1
21607 042505 504 00 0 00 070254 HRL [-1] ;*HRL SHOULD PLACE -1,,-1 INTO THE AC
21608 042506 312 00 0 00 070254 CAME [-1] ;PASS IF C(AC)=-1,,-1
21609 STOP^
21610 042507 254 04 0 00 042510 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21611 042510 324 00 0 00 042511 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21612 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21613 ;IN THE SUBTEST) TO LOOP ON ERROR^
21614
21615 ;***** FAILURE ANALYSIS *****
21616 ;C(AC0) C(AC1) FAILING SIGNAL
21617
21618 ;E,,-1 SW: FCE
21619 ;0,,-1 FC: AD RT FM + EN
21620 ;0,,-1 ET2: AR LT AR RT EN
21621 ;-1,,0 ET2: AR RT AD EN
21622
21623 ;**********
21624
21625 ;THIS TEST VERIFIES THAT HRL PLACES THE RIGHT HALF OF C(E) INTO
21626 ;THE LEFT HALF OF THE AC. THE RIGHT HALF OF THE AC IS UNAFFECTED
21627 ;IN THIS CASE, C(AC)=-1,,-1 AND C(E)=0. HENCE, THE RESULT IN THE AC
21628 ;SHOULD BE 0,,-1. THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST PASSES.
21629
21630 042511 474 00 0 00 000000 B32200: SETO ;PRELOAD AC WITH -1,,-1
21631 042512 504 00 0 00 070253 HRL [0] ;*HRL SHOULD PLACE 0,,-1 INTO THE AC
21632 042513 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC)=0,,-1
21633 STOP^
21634 042514 254 04 0 00 042515 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21635 042515 324 00 0 00 042516 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21636 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21637 ;IN THE SUBTEST) TO LOOP ON ERROR^
21638
21639 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 51
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0478
21640 ;THIS TEST VERIFIES THAT HLR PLACES THE LEFT HALF OF C(E) INTO
21641 ;THE RIGHT HALF OF THE AC. THE LEFT HALF OF THE AC IS UNAFFECTED.
21642 ;IN THIS CASE, C(AC)=-1,,-1 AND C(E)=0. HENCE, THE RESULT IN THE AC
21643 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0. IF C(AC)=-1,,0, THIS TEST PASSES.
21644
21645 042516 474 00 0 00 000000 B32300: SETO ;PRELOAD AC WITH -1,,-1
21646 042517 544 00 0 00 070253 HLR [0] ;*HLR SHOULD PLACE -1,,0 INTO THE AC
21647 042520 312 00 0 00 070331 CAME [-1,,0] ;PASS IF C(AC)=-1,,0
21648 STOP^
21649 042521 254 04 0 00 042522 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21650 042522 324 00 0 00 042523 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21651 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21652 ;IN THE SUBTEST) TO LOOP ON ERROR^
21653
21654 ;***** FAILURE ANALYSIS *****
21655 ;C(AC0) C(AC1) FAILING SIGNAL
21656
21657 ;0 ET2: AR LT AD EN
21658
21659 ;**********
21660
21661 ;THIS TEST VERIFIES THAT HRL PLACES THE RIGHT HALF OF C(E) INTO
21662 ;THE LEFT HALF OF THE AC. THE RIGHT HALF OF THE AC IS UNAFFECTED
21663 ;IN THIS CASE, C(AC)=-1,,-1 AND C(E)=0. HENCE, THE RESULT IN THE AC
21664 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0. IF C(AC)=-1,,0, THIS TEST PASSES.
21665
21666 042523 400 00 0 00 000000 B32600: SETZ ;PRELOAD AC WITH 0
21667 042524 504 00 0 00 070254 HRL [-1] ;*HRL SHOULD PLACE -1,,0 INTO THE AC
21668 042525 312 00 0 00 070331 CAME [-1,,0] ;PASS IF C(AC)=-1,,0
21669 STOP^
21670 042526 254 04 0 00 042527 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21671 042527 324 00 0 00 042530 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21672 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21673 ;IN THE SUBTEST) TO LOOP ON ERROR^
21674
21675 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 52
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0479
21676 ;THIS TEST VERIFIES THAT HLR PLACES THE LEFT HALF OF C(E) INTO
21677 ;THE RIGHT HALF OF THE AC. THE LEFT HALF OF THE AC IS UNAFFECTED.
21678 ;IN THIS CASE, C(AC)=0 AND C(E)=-1,,-1. HENCE, THE RESULT IN THE AC
21679 ;SHOULD BE 0,,-1. THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST PASSES.
21680
21681 042530 400 00 0 00 000000 B32700: SETZ ;PRELOAD AC WITH 0
21682 042531 544 00 0 00 070254 HLR [-1] ;*HLR SHOULD PLACE 0,,-1 INTO THE AC
21683 042532 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC)=0,,-1
21684 STOP^
21685 042533 254 04 0 00 042534 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21686 042534 324 00 0 00 042535 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21687 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21688 ;IN THE SUBTEST) TO LOOP ON ERROR^
21689
21690 ;***** FAILURE ANALYSIS *****
21691 ;C(AC0) C(AC1) FAILING SIGNAL
21692
21693 ;0 SW: FCE
21694 ;-1,,-1 FC: AD LT FM + EN
21695 ;0 ET2: AR RT AR LT EN
21696
21697 ;**********
21698
21699 ;THIS TEST VERIFIES THAT HRLI PLACES E INTO
21700 ;THE LEFT HALF OF THE AC. THE RIGHT HALF OF THE AC IS UNAFFECTED.
21701 ;IN THIS CASE C(AC)=-1,,-1 AND E=0,,-1. HENCE, THE RESULT IN THE AC
21702 ;SHOULD BE -1,,-1. THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES
21703
21704 042535 400 00 0 00 000000 B33000: SETZ ;PRELOAD AC WITH -1,,-1
21705 042536 505 00 0 00 777777 HRLI -1 ;*HRLI SHOULD PLACE -1,,-1 INTO THE AC
21706 042537 312 00 0 00 070331 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,-1
21707 STOP^
21708 042540 254 04 0 00 042541 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21709 042541 324 00 0 00 042542 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21710 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21711 ;IN THE SUBTEST) TO LOOP ON ERROR^
21712
21713 ;***** FAILURE ANALYSIS *****
21714 ;C(AC0) C(AC1) FAILING SIGNAL
21715
21716 ;-1,,-1 FC: AD RT FM + EN
21717 ;0 ET2: AR LT AR RT EN
21718
21719 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 53
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0480
21720 ;THIS TEST VERIFIES THAT HLR PLACES THE LEFT HALF OF C(E) INTO
21721 ;THE RIGHT HALF OF THE AC. THE LEFT HALF OF THE AC IS UNAFFECTED.
21722 ;IN THIS CASE, C(AC)=-1,,-1 AND C(E)=-1,,0. HENCE, THE RESULT IN THE AC
21723 ;SHOULD BE 0,,-1. THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST PASSES.
21724
21725 042542 400 00 0 00 000000 B33100: SETZ ;PRELOAD AC WITH -1,,-1
21726 042543 544 00 0 00 070331 HLR [XWD -1,0] ;*HLR SHOULD PLACE -1,,-1 INTO THE AC
21727 042544 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC)=0,,-1
21728 STOP^
21729 042545 254 04 0 00 042546 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21730 042546 324 00 0 00 042547 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21731 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21732 ;IN THE SUBTEST) TO LOOP ON ERROR^
21733
21734 ;**********
21735
21736 ;THIS TEST VERIFIES THAT HRL PLACES THE RIGHT HALF OF C(E) INTO
21737 ;THE LEFT HALF OF THE AC. THE RIGHT HALF OF THE AC IS UNAFFECTED
21738 ;IN THIS CASE, C(AC)=0 AND C(E)=-1,,0. HENCE, THE RESULT IN THE AC
21739 ;SHOULD BE 0. THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES.
21740
21741 042547 400 00 0 00 000000 B33200: SETZ ;PRELOAD AC WITH 0
21742 042550 504 00 0 00 070331 HRL [XWD -1,0] ;*HRL SHOULD PLACE 0 INTO THE AC
21743 042551 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
21744 STOP^
21745 042552 254 04 0 00 042553 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21746 042553 324 00 0 00 042554 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21747 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21748 ;IN THE SUBTEST) TO LOOP ON ERROR^
21749
21750 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 54
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0481
21751 ;THIS TEST VERIFIES THAT HLRI ALWAYS CLEARS THE RIGHT HALF
21752 ;OF THE AC. THE LEFT HALF OF THE AC IS UNAFFECTED.
21753 ;IN THIS CASE, C(AC)=0 AND E=0,,-1. HENCE, THE RESULT IN THE AC
21754 ;SHOULD BE 0. THE AC IS CHECKED FOR 0
21755 ;IF C(AC)=0, THIS TEST PASSES.
21756
21757 042554 400 00 0 00 000000 B33300: SETZ ;PRELOAD AC WITH 0
21758 042555 545 00 0 00 777777 HLRI -1 ;*HLRI SHOULD PLACE 0 INTO THE AC
21759 042556 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
21760 STOP^
21761 042557 254 04 0 00 042560 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21762 042560 324 00 0 00 042561 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21763 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21764 ;IN THE SUBTEST) TO LOOP ON ERROR^
21765
21766 ;***** FAILURE ANALYSIS *****
21767 ;C(AC0) C(AC1) FAILING SIGNAL
21768
21769 ;-1,,0 FC:AD LT FM + EN
21770
21771 ;**********
21772
21773 ;THIS TEST VERIFIES THAT HRLI PLACES E INTO
21774 ;THE LEFT HALF OF THE AC. THE RIGHT HALF OF THE AC IS UNAFFECTED.
21775 ;IN THIS CASE C(AC)=-1,,-1 AND E=-1,,-1. HENCE, THE RESULT IN THE AC
21776 ;SHOULD BE -1,,-1. THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES
21777
21778 042561 474 00 0 00 000000 B33400: SETO ;PRELOAD AC WITH -1,,-1
21779 042562 505 00 0 00 777777 HRLI -1 ;*HRLI SHOULD PLACE -1,,-1 INTO THE AC
21780 042563 312 00 0 00 070254 CAME [-1] ;PASS IF C(AC)=-1,,-1
21781 STOP^
21782 042564 254 04 0 00 042565 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21783 042565 324 00 0 00 042566 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21784 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21785 ;IN THE SUBTEST) TO LOOP ON ERROR^
21786
21787 ;***** FAILURE ANALYSIS *****
21788 ;C(AC0) C(AC1) FAILING SIGNAL
21789
21790 ;-1,,0 ET2: AR RT AD EN
21791
21792
21793 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 55
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0482
21794 ;THIS TEST VERIFIES THAT HLR PLACES THE LEFT HALF OF C(E) INTO
21795 ;THE RIGHT HALF OF THE AC. THE LEFT HALF OF THE AC IS UNAFFECTED.
21796 ;IN THIS CASE, C(AC)=-1,,-1 AND C(E)=-1,,0. HENCE, THE RESULT IN THE AC
21797 ;SHOULD BE -1,,-1. THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES.
21798
21799 042566 474 00 0 00 000000 B33500: SETO ;PRELOAD AC WITH -1,,-1
21800 042567 544 00 0 00 070331 HLR [XWD -1,0] ;*HLR SHOULD PLACE -1,,-1 INTO THE AC
21801 042570 312 00 0 00 070254 CAME [-1] ;PASS IF C(AC)=-1,,-1
21802 STOP^
21803 042571 254 04 0 00 042572 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21804 042572 324 00 0 00 042573 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21805 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21806 ;IN THE SUBTEST) TO LOOP ON ERROR^
21807
21808 ;**********
21809
21810 ;THIS TEST VERIFIES THAT HRL PLACES THE RIGHT HALF OF C(E) INTO
21811 ;THE LEFT HALF OF THE AC. THE RIGHT HALF OF THE AC IS UNAFFECTED
21812 ;IN THIS CASE, C(AC)=-1,,-1 AND C(E)=-1,,0. HENCE, THE RESULT IN THE AC
21813 ;SHOULD BE 0,,-1. THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST PASSES.
21814
21815 042573 474 00 0 00 000000 B33600: SETO ;PRELOAD AC WITH -1,,-1
21816 042574 504 00 0 00 070331 HRL [XWD -1,0] ;*HRL SHOULD PLACE 0,,-1 INTO THE AC
21817 042575 312 00 0 00 070330 CAME [XWD 0,-1] ;PASS IF C(AC)=0,,-1
21818 STOP^
21819 042576 254 04 0 00 042577 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21820 042577 324 00 0 00 042600 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21821 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21822 ;IN THE SUBTEST) TO LOOP ON ERROR^
21823
21824 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 56
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0483
21825 ;THIS TEST VERIFIES THAT HLRI ALWAYS CLEARS THE RIGHT HALF
21826 ;OF THE AC. THE LEFT HALF OF THE AC IS UNAFFECTED.
21827 ;IN THIS CASE, C(AC)=-1,,-1 AND E=0,,-1. HENCE, THE RESULT IN THE AC
21828 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0
21829 ;IF C(AC)=-1,,0, THIS TEST PASSES.
21830
21831 042600 474 00 0 00 000000 B33700: SETO ;PRELOAD AC WITH -1,,-1
21832 042601 545 00 0 00 777777 HLRI -1 ;*HLRI SHOULD PLACE -1,,0 INTO THE AC
21833 042602 312 00 0 00 070331 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0
21834 STOP^
21835 042603 254 04 0 00 042604 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21836 042604 324 00 0 00 042605 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21837 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21838 ;IN THE SUBTEST) TO LOOP ON ERROR^
21839
21840 ;***** FAILURE ANALYSIS *****
21841 ;C(AC0) C(AC1) FAILING SIGNAL
21842
21843 ;0 ET2: AR LT AD EN
21844
21845 ;**********
21846
21847 ;THIS TEST VERIFIES THAT HRL PLACES THE RIGHT HALF OF C(E) INTO
21848 ;THE LEFT HALF OF THE AC. THE RIGHT HALF OF THE AC IS UNAFFECTED
21849 ;IN THIS CASE, C(AC)=0,,-1 AND C(E)=0. HENCE, THE RESULT IN THE AC
21850 ;SHOULD BE 0,,-1. THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST PASSES.
21851
21852 042605 201 00 0 00 777777 B34000: MOVEI -1 ;PRELOAD AC WITH 0,,-1
21853 042606 504 00 0 00 070253 HRL [0] ;*HRL SHOULD PLACE 0,,-1 INTO THE AC
21854 042607 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC)=0,,-1
21855 STOP^
21856 042610 254 04 0 00 042611 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21857 042611 324 00 0 00 042612 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21858 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21859 ;IN THE SUBTEST) TO LOOP ON ERROR^
21860
21861 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 57
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0484
21862 ;THIS TEST VERIFIES THAT HLRI ALWAYS CLEARS THE RIGHT HALF
21863 ;OF THE AC. THE LEFT HALF OF THE AC IS UNAFFECTED.
21864 ;IN THIS CASE, C(AC)=0,,-1 AND E=0. HENCE, THE RESULT IN THE AC
21865 ;SHOULD BE 0. THE AC IS CHECKED FOR 0
21866 ;IF C(AC)=0, THIS TEST PASSES.
21867
21868 042612 201 00 0 00 777777 B34100: MOVEI -1 ;PRELOAD AC WITH 0,,-1
21869 042613 545 00 0 00 000000 HLRI ;*HLRI SHOULD PLACE 0 INTO THE AC
21870 042614 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
21871 STOP^
21872 042615 254 04 0 00 042616 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21873 042616 324 00 0 00 042617 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21874 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21875 ;IN THE SUBTEST) TO LOOP ON ERROR^
21876
21877 ;**********
21878
21879 ;THIS TEST VERIFIES THAT HRL PLACES THE RIGHT HALF OF C(E) INTO
21880 ;THE LEFT HALF OF THE AC. THE RIGHT HALF OF THE AC IS UNAFFECTED
21881 ;IN THIS CASE, C(AC)=0,,-1 AND C(E)=-1,,-1. HENCE, THE RESULT IN THE AC
21882 ;SHOULD BE -1,,-1. THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES.
21883
21884 042617 201 00 0 00 777777 B34200: MOVEI -1 ;PRELOAD AC WITH 0,,-1
21885 042620 504 00 0 00 070254 HRL [-1] ;*HRL SHOULD PLACE -1,,-1 INTO THE AC
21886 042621 312 00 0 00 070254 CAME [-1] ;PASS IF C(AC)=-1,,-1
21887 STOP^
21888 042622 254 04 0 00 042623 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21889 042623 324 00 0 00 042624 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21890 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21891 ;IN THE SUBTEST) TO LOOP ON ERROR^
21892
21893 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 58
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0485
21894 ;THIS TEST VERIFIES THAT HLR PLACES THE LEFT HALF OF C(E) INTO
21895 ;THE RIGHT HALF OF THE AC. THE LEFT HALF OF THE AC IS UNAFFECTED.
21896 ;IN THIS CASE, C(AC)=0,,-1 AND C(E)=-1,,-1. HENCE, THE RESULT IN THE AC
21897 ;SHOULD BE 0,,-1. THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST PASSES.
21898
21899 042624 201 00 0 00 777777 B34300: MOVEI -1 ;PRELOAD AC WITH 0,,-1
21900 042625 544 00 0 00 070254 HLR [-1] ;*HLR SHOULD PLACE 0,,-1 INTO THE AC
21901 042626 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC)=0,,-1
21902 STOP^
21903 042627 254 04 0 00 042630 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21904 042630 324 00 0 00 042631 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21905 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21906 ;IN THE SUBTEST) TO LOOP ON ERROR^
21907
21908 ;**********
21909
21910 ;THIS TEST VERIFIES THAT HRL PLACES THE RIGHT HALF OF C(E) INTO
21911 ;THE LEFT HALF OF THE AC. THE RIGHT HALF OF THE AC IS UNAFFECTED
21912 ;IN THIS CASE, C(AC)=-1,,0 AND C(E)=0. HENCE, THE RESULT IN THE AC
21913 ;SHOULD BE 0. THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES.
21914
21915 042631 205 00 0 00 777777 B34400: MOVSI -1 ;PRELOAD AC WITH -1,,0
21916 042632 504 00 0 00 070253 HRL [0] ;*HRL SHOULD PLACE 0 INTO THE AC
21917 042633 302 00 0 00 000000 CAIE 0 ;PASS IF C(AC)=0
21918 STOP^
21919 042634 254 04 0 00 042635 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21920 042635 324 00 0 00 042636 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21921 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21922 ;IN THE SUBTEST) TO LOOP ON ERROR^
21923
21924 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 59
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0486
21925 ;THIS TEST VERIFIES THAT HLR PLACES THE LEFT HALF OF C(E) INTO
21926 ;THE RIGHT HALF OF THE AC. THE LEFT HALF OF THE AC IS UNAFFECTED.
21927 ;IN THIS CASE, C(AC)=-1,,0 AND C(E)=0. HENCE, THE RESULT IN THE AC
21928 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0. IF C(AC)=-1,,0, THIS TEST PASSES.
21929
21930 042636 205 00 0 00 777777 B34500: MOVSI -1 ;PRELOAD AC WITH -1,,0
21931 042637 544 00 0 00 070253 HLR [0] ;*HLR SHOULD PLACE -1,,0 INTO THE AC
21932 042640 312 00 0 00 070331 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0
21933 STOP^
21934 042641 254 04 0 00 042642 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21935 042642 324 00 0 00 042643 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21936 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21937 ;IN THE SUBTEST) TO LOOP ON ERROR^
21938
21939 ;**********
21940
21941 ;THIS TEST VERIFIES THAT HRL PLACES THE RIGHT HALF OF C(E) INTO
21942 ;THE LEFT HALF OF THE AC. THE RIGHT HALF OF THE AC IS UNAFFECTED
21943 ;IN THIS CASE, C(AC)=-1,,0 AND C(E)=-1,,-1. HENCE, THE RESULT IN THE AC
21944 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0. IF C(AC)=-1,,0, THIS TEST PASSES.
21945
21946 042643 205 00 0 00 777777 B34600: MOVSI -1 ;PRELOAD AC WITH -1,,0
21947 042644 504 00 0 00 070254 HRL [-1] ;*HRL SHOULD PLACE -1,,0 INTO THE AC
21948 042645 312 00 0 00 070331 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0
21949 STOP^
21950 042646 254 04 0 00 042647 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21951 042647 324 00 0 00 042650 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21952 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21953 ;IN THE SUBTEST) TO LOOP ON ERROR^
21954
21955 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 60
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0487
21956 ;THIS TEST VERIFIES THAT HLR PLACES THE LEFT HALF OF C(E) INTO
21957 ;THE RIGHT HALF OF THE AC. THE LEFT HALF OF THE AC IS UNAFFECTED.
21958 ;IN THIS CASE, C(AC)=-1,,0 AND C(E)=-1,,-1 HENCE, THE RESULT IN THE AC
21959 ;SHOULD BE -1,,-1. THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES.
21960
21961 042650 205 00 0 00 777777 B34700: MOVSI -1 ;PRELOAD AC WITH -1,,0
21962 042651 544 00 0 00 070254 HLR [-1] ;*HLR SHOULD PLACE -1,,-1 INTO THE AC
21963 042652 312 00 0 00 070254 CAME [-1] ;PASS IF C(AC)=-1,,-1
21964 STOP^
21965 042653 254 04 0 00 042654 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21966 042654 324 00 0 00 042655 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21967 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21968 ;IN THE SUBTEST) TO LOOP ON ERROR^
21969
21970 ;**********
21971
21972 ;THIS TEST VERIFIES THAT HLLM PLACES THE LEFT HALF OF C(AC) INTO
21973 ;THE LEFT HALF OF E. THE RIGHT HALF OF E IS UNAFFECTED.
21974 ;IN THIS CASE, AC=E AND C(AC)= C(E)=0. HENCE, THE RESULT IN E
21975 ;SHOULD BE 0. E IS CHECKED FOR 0. IF C(E)=0, THIS TEXT PASSES.
21976
21977 042655 400 00 0 00 000000 B35000: SETZ ;PRELOAD AC,E WITH 0
21978 042656 502 00 0 00 000000 HLLM ;*HLLM SHOULD PLACE 0 INTO E
21979 042657 332 00 0 00 000000 SKIPE ;PASS IF C(E)=0
21980 STOP^
21981 042660 254 04 0 00 042661 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
21982 042661 324 00 0 00 042662 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
21983 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
21984 ;IN THE SUBTEST) TO LOOP ON ERROR^
21985
21986 ;***** FAILURE ANALYSIS *****
21987 ;C(AC0) C(AC1) FAILING SIGNAL
21988
21989 ;-1,,0 0 FC: AD FM + EN
21990 ;0,,-1 0,,-1 ET0: AD RT BR + EN
21991 ;B35000 0,,-1 ET0: BR AR EN
21992 ;-1,,0 0,,-1 ET0: AD LT AR + EN
21993
21994 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 61
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0488
21995 ;THIS TEST VERIFIES THAT HLLM PLACES THE LEFT HALF OF C(AC) INTO
21996 ;THE LEFT HALF OF E. THE RIGHT HALF OF E IS UNAFFECTED.
21997 ;IN THIS CASE, C(AC)=0 AND C(E)=-1,,-1. HENCE, THE RESULT IN E
21998 ;SHOULD BE 0,,-1. E IS CHECKED FOR 0,,-1. IF C(E)=0,,-1, THIS TEST PASSES.
21999
22000 042662 400 00 0 00 000000 B35500: SETZ ;PRELOAD AC WITH 0
22001 042663 474 01 0 00 000000 SETO 1, ;PRELOAD E WITH -1,,-1
22002 042664 502 00 0 00 000001 HLLM 1 ;*HLLM SHOULD PLACE 0,,-1 INTO E
22003 042665 302 01 0 00 777777 CAIE 1,- 1 ;PASS IF C(E) =0,,-1
22004 STOP^
22005 042666 254 04 0 00 042667 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22006 042667 324 00 0 00 042670 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22007 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22008 ;IN THE SUBTEST) TO LOOP ON ERROR^
22009
22010 ;***** FAILURE ANALYSIS *****
22011 ;C(AC0) C(AC1) FAILING SIGNAL
22012
22013 ;0 -1,,-1 SW: FCE PSE
22014 ;0 0 SW: ET0
22015 ;0 -1,,-1 ET0: AR AD EN
22016 ;0 0 ET2: AR LT AD EN
22017
22018 ;**********
22019
22020 ;THIS TEST VERIFIES THAT HLLM PLACES THE LEFT HALF OF C(AC) INTO
22021 ;THE LEFT HALF OF E. THE RIGHT HALF OF E IS UNAFFECTED.
22022 ;IN THIS CASE, C(AC)=-1,,-1 AND C(E)=0. HENCE, THE RESULT IN E
22023 ;SHOULD BE -1,,0. E IS CHECKED FOR -1,,0. IF C(E)=-1,,0, THIS TEST PASSES
22024
22025 042670 474 00 0 00 000000 B35600: SETO ;PRELOAD AC WITH -1,,-1
22026 042671 400 01 0 00 000000 SETZ 1, ;PRELOAD E WITH 0
22027 042672 502 00 0 00 000001 HLLM 1 ;*HLLM SHOULD PLACE -1,,0 INTO E
22028 042673 312 01 0 00 070331 CAME 1,[XWD -1,0] ;PASS IF C(E) = -1,,0
22029 STOP^
22030 042674 254 04 0 00 042675 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22031 042675 324 00 0 00 042676 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22032 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22033 ;IN THE SUBTEST) TO LOOP ON ERROR^
22034
22035 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 62
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0489
22036 ;THIS TEST VERIFIES THAT HRRM PLACES THE RIGHT HALF OF C(AC) INTO
22037 ;THE RIGHT HALF OF E. THE LEFT HALF OF E IS UNAFFECTED.
22038 ;IN THIS CASE, C(AC)=0 AND C(E)=-1,,-1. HENCE, THE RESULT IN E
22039 ;SHOULD BE -1,,0. E IS CHECKED FOR -1,,0
22040 ;IF C(E) = -1,,0, THIS TEST PASSES.
22041
22042 042676 400 00 0 00 000000 B35700: SETZ ;PRELOAD AC WITH 0
22043 042677 474 01 0 00 000000 SETO 1, ;PRELOAD E WITH -1,,-1
22044 042700 542 00 0 00 000001 HRRM 1 ;*HRRM SHOULD PLACE -1,,0 INTO E
22045 042701 312 01 0 00 070331 CAME 1,[XWD -1,0] ;PASS IF C(E) = -1,,0
22046 STOP^
22047 042702 254 04 0 00 042703 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22048 042703 324 00 0 00 042704 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22049 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22050 ;IN THE SUBTEST) TO LOOP ON ERROR^
22051
22052 ;***** FAILURE ANALYSIS *****
22053 ;C(AC0) C(AC1) FAILING SIGNAL
22054
22055 ;0 -1,,-1 SW: FCE PSE
22056 ;0 0 SW: ET0
22057 ;0 -1,,-1 FC: AD FM + EN
22058 ;-1,,-1 -1,,-1 ET0: AD LT BR + EN
22059 ;0 -1,,-1 ET0: AD RT AR + EN
22060 ;0 0 ET0: BR AR EN
22061 ;0 -1,,-1 ET0: AR AD EN
22062 ;0 0 ET2: AR AD EN
22063
22064 ;**********
22065
22066 ;THIS TEST VERIFIES THAT HRRM PLACES THE RIGHT HALF OF C(AC) INTO
22067 ;THE RIGHT HALF OF E. THE LEFT HALF OF E IS UNAFFECTED.
22068 ;IN THIS CASE, C(AC)=-1,,-1 AND C(E)=0. HENCE, THE RESULT IN E
22069 ;SHOULD BE 0,,-1. E IS CHECKED FOR = 0,,-1
22070 ;IF C(E) = 0,,-1, THIS TEST PASSES.
22071
22072 042704 474 00 0 00 000000 B36000: SETO ;PRELOAD AC WITH -1,,-1
22073 042705 400 01 0 00 000000 SETZ 1, ;PRELOAD E WITH 0
22074 042706 542 00 0 00 000001 HRRM 1 ;*HRRM SHOULD PLACE 0,,-1 INTO E
22075 042707 302 01 0 00 777777 CAIE 1,-1 ;PASS IF C(E) = 0,,-1
22076 STOP^
22077 042710 254 04 0 00 042711 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22078 042711 324 00 0 00 042712 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22079 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22080 ;IN THE SUBTEST) TO LOOP ON ERROR^
22081
22082 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 63
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0490
22083 ;THIS TEST VERIFIES THAT HLLO PLACES THE LEFT HALF OF C(E) INTO
22084 ;THE LEFT HALF OF THE AC AND PLACES ONES INTO THE RIGHT HALF OF THE AC.
22085 ;IN THIS CASE, AC=E AND C(AC)=C(E)=-1,,-1. HENCE THE RESULT IN THE AC
22086 ;SHOULD BE -1,,-1. THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES.
22087
22088 042712 474 00 0 00 000000 B36100: SETO ;PRELOAD AC WITH -1,,-1
22089 042713 520 00 0 00 000000 HLLO ;*HLLO SHOULD PLACE -1,,-1 INTO THE AC
22090 042714 312 00 0 00 070254 CAME [-1] ;PASS OF C(AC)=-1,,-1
22091 STOP^
22092 042715 254 04 0 00 042716 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22093 042716 324 00 0 00 042717 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22094 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22095 ;IN THE SUBTEST) TO LOOP ON ERROR^
22096
22097 ;***** FAILURE ANALYSIS *****
22098 ;C(AC0) C(AC1) FAILING SIGNAL
22099
22100 ;0,,-1 SW: FCE
22101
22102 ;**********
22103
22104 ;THIS TEST VERIFIES THAT HLLO PLACES THE LEFT HALF OF C(E) INTO
22105 ;THE LEFT HALF OF THE AC AND PLACES ONES INTO THE RIGHT HALF OF THE AC.
22106 ;IN THIS CASE, C(AC)=0 AND C(E)=0,,-1. HENCE THE RESULT IN THE AC
22107 ;SHOULD BE 0,,-1. THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST PASSES.
22108
22109 042717 400 00 0 00 000000 B36200: SETZ ;PRELOAD AC WITH 0
22110 042720 520 00 0 00 070330 HLLO [XWD 0,-1] ;*HLLO SHOULD PLACE 0,,-1 INTO THE AC
22111 042721 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC)=0,,-1
22112 STOP^
22113 042722 254 04 0 00 042723 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22114 042723 324 00 0 00 042724 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22115 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22116 ;IN THE SUBTEST) TO LOOP ON ERROR^
22117
22118 ;***** FAILURE ANALYSIS *****
22119 ;C(AC0) C(AC1) FAILING SIGNAL
22120
22121 ;-1,,-1 FC: AD LT AR + EN
22122
22123 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 64
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0491
22124 ;THIS TEST VERIFIES THAT HRRO PLACES THE RIGHT HALF OF C(E) INTO
22125 ;THE RIGHT HALF OF THE AC AND PLACES ONES INTO THE LEFT HALF OF THE AC.
22126 ;IN THIS CASE, AC=E AND C(AC)=C(E)=-1,,-1. HENCE, THE RESULT IN THE AC
22127 ;SHOULD BE -1,,-1. THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES.
22128
22129 042724 474 00 0 00 000000 B36300: SETO ;PRELOAD AC,E WITH -1,,-1
22130 042725 560 00 0 00 000000 HRRO ;*HRRO SHOULD PLACE -1,,-1 INTO THE AC
22131 042726 312 00 0 00 070254 CAME [-1] ;PASS IF C(AC)=-1,,-1
22132 STOP^
22133 042727 254 04 0 00 042730 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22134 042730 324 00 0 00 042731 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22135 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22136 ;IN THE SUBTEST) TO LOOP ON ERROR^
22137
22138 ;***** FAILURE ANALYSIS *****
22139 ;C(AC0) C(AC1) FAILING SIGNAL
22140
22141 ;-1,,0 SW: FCE
22142
22143 ;**********
22144
22145 ;THIS TEST VERIFIES THAT HRRO PLACES THE RIGHT HALF OF C(E) INTO
22146 ;THE RIGHT HALF OF THE AC AND PLACES ONES INTO THE LEFT HALF OF THE AC.
22147 ;IN THIS CASE, C(AC)=0 AND C(E)=-1,,0. HENCE, THE RESULT IN THE AC
22148 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0. IF C(AC)=-1,,0, THIS TEST PASSES.
22149
22150 042731 400 00 0 00 000000 B36400: SETZ ;PRELOAD AC WITH 0
22151 042732 560 00 0 00 070331 HRRO [XWD -1,0] ;*HRRO SHOULD PLACE -1,,0 INTO THE AC
22152 042733 312 00 0 00 070331 CAME [-1,,0] ;PASS IF C(AC)=-1,,0
22153 STOP^
22154 042734 254 04 0 00 042735 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22155 042735 324 00 0 00 042736 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22156 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22157 ;IN THE SUBTEST) TO LOOP ON ERROR^
22158
22159 ;***** FAILURE ANALYSIS *****
22160 ;C(AC0) C(AC1) FAILING SIGNAL
22161
22162 ;-1,,-1 FC: AD RT AR + EN
22163
22164 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 65
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0492
22165 ;THIS TEST VERIFIES THAT HLLO PLACES THE LEFT HALF OF C(E) INTO
22166 ;THE LEFT HALF OF THE AC AND PLACES ONES INTO THE RIGHT HALF OF THE AC.
22167 ;IN THIS CASE, C(AC)=0 AND C(E)=0. HENCE THE RESULT IN THE AC
22168 ;SHOULD BE 0,,-1. THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST PASSES.
22169
22170 042736 400 00 0 00 000000 B36500: SETZ ;PRELOAD AC WITH 0
22171 042737 520 00 0 00 070253 HLLO [0] ;*HLLO SHOULD PLACE 0,,-1 INTO THE AC
22172 042740 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC)=0,,-1
22173 STOP^
22174 042741 254 04 0 00 042742 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22175 042742 324 00 0 00 042743 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22176 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22177 ;IN THE SUBTEST) TO LOOP ON ERROR^
22178
22179 ;***** FAILURE ANALYSIS *****
22180 ;C(AC0) C(AC1) FAILING SIGNAL
22181
22182 ;0 ET2: AR LT AD EN
22183
22184 ;**********
22185
22186 ;THIS TEST VERIFIES THAT HRRO PLACES THE RIGHT HALF OF C(E) INTO
22187 ;THE RIGHT HALF OF THE AC AND PLACES ONES INTO THE LEFT HALF OF THE AC.
22188 ;IN THIS CASE, C(AC)=0 AND C(E)=0. HENCE, THE RESULT IN THE AC
22189 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0. IF C(AC)=-1,,0, THIS TEST PASSES.
22190
22191 042743 400 00 0 00 000000 B36600: SETZ ;PRELOAD AC WITH 0
22192 042744 560 00 0 00 070253 HRRO [0] ;*HRRO SHOULD PLACE -1,,0 INTO THE AC
22193 042745 312 00 0 00 070331 CAME [-1,,0] ;PASS IF C(AC)=-1,,0
22194 STOP^
22195 042746 254 04 0 00 042747 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22196 042747 324 00 0 00 042750 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22197 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22198 ;IN THE SUBTEST) TO LOOP ON ERROR^
22199
22200 ;***** FAILURE ANALYSIS *****
22201 ;C(AC0) C(AC1) FAILING SIGNAL
22202
22203 ;0 ET2: AR AD EN
22204
22205 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 66
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0493
22206 ;THIS TEST VERIFIES THAT HLLOI ALWAYS PLACES 0,,-1 INTO THE AC.
22207 ;IN THIS CASE, C(AC)=0 AND E=0.
22208 ;THE RESULT IN THE AC SHOULD BE 0,,-1.
22209 ;THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST PASSES
22210
22211 042750 400 00 0 00 000000 B37100: SETZ ;PRELOAD AC WITH 0
22212 042751 521 00 0 00 000000 HLLOI ;*HLLOI SHOULD PLACE 0,,-1 INTO THE AC
22213 042752 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC)=0,,-1
22214 STOP^
22215 042753 254 04 0 00 042754 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22216 042754 324 00 0 00 042755 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22217 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22218 ;IN THE SUBTEST) TO LOOP ON ERROR^
22219
22220 ;***** FAILURE ANALYSIS *****
22221 ;C(AC0) C(AC1) FAILING SIGNAL
22222
22223 ;-1,,-1 FC: AD LT AR + EN
22224 ;0 ET2: AR AD EN
22225
22226 ;**********
22227
22228 ;THIS TEST VERIFIES THAT HRROI PLACES E INTO THE RIGHT HALF OF THE AC
22229 ;AND PLACES ONES INTO THE LEFT HALF OF THE AC.
22230 ;IN THIS CASE, C(AC)=0 AND E=0. HENCE, THE RESULT IN THE AC
22231 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0. IF C(AC)=-1, THIS TEST PASSES
22232
22233 042755 400 00 0 00 000000 B37200: SETZ ;PRELOAD AC WITH 0
22234 042756 561 00 0 00 000000 HRROI ;*HRROI SHOULD PLACE -1,,0 INTO THE AC
22235 042757 312 00 0 00 070331 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0
22236 STOP^
22237 042760 254 04 0 00 042761 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22238 042761 324 00 0 00 042762 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22239 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22240 ;IN THE SUBTEST) TO LOOP ON ERROR^
22241
22242 ;***** FAILURE ANALYSIS *****
22243 ;C(AC0) C(AC1) FAILING SIGNAL
22244
22245 ;-1,,-1 FC: AD RT AR + EN
22246 ;0 ET2: AR AD EN
22247
22248 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 67
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0494
22249 ;THIS TEST VERIFIES THAT HLLO PLACES THE LEFT HALF OF C(E) INTO
22250 ;THE LEFT HALF OF THE AC AND PLACES ONES INTO THE RIGHT HALF OF THE AC.
22251 ;IN THIS CASE, C(AC)=0 AND C(E)=-1,,0. HENCE THE RESULT IN THE AC
22252 ;SHOULD BE -1,,-1. THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES.
22253
22254 042762 400 00 0 00 000000 B37300: SETZ ;PRELOAD AC WITH 0
22255 042763 520 00 0 00 070331 HLLO [XWD -1,0] ;*HLLO SHOULD PLACE -1,,-1 INTO THE AC
22256 042764 312 00 0 00 070254 CAME [-1] ;PASS IF C(AC)=-1,,-1
22257 STOP^
22258 042765 254 04 0 00 042766 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22259 042766 324 00 0 00 042767 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22260 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22261 ;IN THE SUBTEST) TO LOOP ON ERROR^
22262
22263 ;**********
22264
22265 ;THIS TEST VERIFIES THAT HRROI PLACES E INTO THE RIGHT HALF OF THE AC
22266 ;AND PLACES ONES INTO THE LEFT HALF OF THE AC.
22267 ;IN THIS CASE, C(AC)=0 AND E=0,,-1. HENCE, THE RESULT IN THE AC
22268 ;SHOULD BE -1,,-1. THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES
22269
22270 042767 400 00 0 00 000000 B37400: SETZ ;PRELOAD AC WITH 0
22271 042770 561 00 0 00 777777 HRROI -1 ;*HRRIO SHOULD PLACE -1,,-1 INTO THE AC
22272 042771 312 00 0 00 070254 CAME [-1] ;PASS IF C(AC)=-1,,-1
22273 STOP^
22274 042772 254 04 0 00 042773 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22275 042773 324 00 0 00 042774 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22276 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22277 ;IN THE SUBTEST) TO LOOP ON ERROR^
22278
22279 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 68
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0495
22280 ;THIS TEST VERIFIES THAT HLLOI ALWAYS PLACES 0,,-1 INTO THE AC.
22281 ;IN THIS CASE, C(AC)=0 AND E=0.
22282 ;THE RESULT IN THE AC SHOULD BE 0,,-1.
22283 ;THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST PASSES
22284
22285 042774 474 00 0 00 000000 B37500: SETO ;PRELOAD AC WITH -1,,-1
22286 042775 521 00 0 00 000000 HLLOI ;*HLLOI SHOULD PLACE 0,,-1 INTO THE AC
22287 042776 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC)=0,,-1
22288 STOP^
22289 042777 254 04 0 00 043000 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22290 043000 324 00 0 00 043001 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22291 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22292 ;IN THE SUBTEST) TO LOOP ON ERROR^
22293
22294 ;**********
22295
22296 ;THIS TEST VERIFIES THAT HRROI PLACES E INTO THE RIGHT HALF OF THE AC
22297 ;AND PLACES ONES INTO THE LEFT HALF OF THE AC.
22298 ;IN THIS CASE, C(AC)=0 AND E=0. HENCE, THE RESULT IN THE AC
22299 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0. IF C(AC)=-1,,0, THIS TEST PASSES
22300
22301 043001 474 00 0 00 000000 B37600: SETO ;PRELOAD AC WITH -1,,-1
22302 043002 561 00 0 00 000000 HRROI ;*HRRIO SHOULD PLACE -1,,0 INTO THE AC
22303 043003 312 00 0 00 070331 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0
22304 STOP^
22305 043004 254 04 0 00 043005 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22306 043005 324 00 0 00 043006 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22307 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22308 ;IN THE SUBTEST) TO LOOP ON ERROR^
22309
22310 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 69
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0496
22311 ;THIS TEST VERIFIES THAT HLLO PLACES THE LEFT HALF OF C(E) INTO
22312 ;THE LEFT HALF OF THE AC AND PLACES ONES INTO THE RIGHT HALF OF THE AC.
22313 ;IN THIS CASE, C(AC)=-1,,-1 AND C(E)=-1,,0. HENCE THE RESULT IN THE AC
22314 ;SHOULD BE -1,,-1. THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES.
22315
22316 043006 474 00 0 00 000000 B37700: SETO ;PRELOAD AC WITH -1,,-1
22317 043007 520 00 0 00 070331 HLLO [XWD -1,0] ;*HLLO SHOULD PLACE -1,,-1 INTO THE AC
22318 043010 312 00 0 00 070254 CAME [-1] ;PASS IF C(AC)=-1,,-1
22319 STOP^
22320 043011 254 04 0 00 043012 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22321 043012 324 00 0 00 043013 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22322 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22323 ;IN THE SUBTEST) TO LOOP ON ERROR^
22324
22325 ;**********
22326
22327 ;THIS TEST VERIFIES THAT HRROI PLACES E INTO THE RIGHT HALF OF THE AC
22328 ;AND PLACES ONES INTO THE LEFT HALF OF THE AC.
22329 ;IN THIS CASE, C(AC)=-1,,-1 AND E=0,,-1. HENCE, THE RESULT IN THE AC
22330 ;SHOULD BE -1,,-1. THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES
22331
22332 043013 474 00 0 00 000000 B40000: SETO ;PRELOAD AC WITH -1,,-1
22333 043014 561 00 0 00 777777 HRROI -1 ;*HRRIO SHOULD PLACE -1,,-1 INTO THE AC
22334 043015 312 00 0 00 070254 CAME [-1] ;PASS IF C(AC)=-1,,-1
22335 STOP^
22336 043016 254 04 0 00 043017 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22337 043017 324 00 0 00 043020 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22338 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22339 ;IN THE SUBTEST) TO LOOP ON ERROR^
22340
22341 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 70
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0497
22342 ;THIS TEST VERIFIES THAT HRROI PLACES E INTO THE RIGHT HALF OF THE AC
22343 ;AND PLACES ONES INTO THE LEFT HALF OF THE AC.
22344 ;IN THIS CASE, C(AC)=0,,-1 AND E=0. HENCE, THE RESULT IN THE AC
22345 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0. IF C(AC)=-1,,0, THIS TEST PASSES
22346
22347 043020 201 00 0 00 777777 B40100: MOVEI -1 ;PRELOAD AC WITH 0,,-1
22348 043021 561 00 0 00 000000 HRROI ;*HRRIO SHOULD PLACE -1,,0 INTO THE AC
22349 043022 312 00 0 00 070331 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0
22350 STOP^
22351 043023 254 04 0 00 043024 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22352 043024 324 00 0 00 043025 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22353 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22354 ;IN THE SUBTEST) TO LOOP ON ERROR^
22355
22356 ;**********
22357
22358 ;THIS TEST VERIFIES THAT HLLO PLACES THE LEFT HALF OF C(E) INTO
22359 ;THE LEFT HALF OF THE AC AND PLACES ONES INTO THE RIGHT HALF OF THE AC.
22360 ;IN THIS CASE, C(AC)=-1,,0 AND C(E)=0,,-1. HENCE THE RESULT IN THE AC
22361 ;SHOULD BE 0,,-1. THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST PASSES.
22362
22363 043025 205 00 0 00 777777 B40200: MOVSI -1 ;PRELOAD AC WITH -1,,0
22364 043026 520 00 0 00 070330 HLLO [XWD 0,-1] ;*HLLO SHOULD PLACE 0,,-1 INTO THE AC
22365 043027 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC)=0,,-1
22366 STOP^
22367 043030 254 04 0 00 043031 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22368 043031 324 00 0 00 043032 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22369 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22370 ;IN THE SUBTEST) TO LOOP ON ERROR^
22371
22372 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 71
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0498
22373 ;THIS TEST VERIFIES THAT HRLZ PLACES THE RIGHT HALF OF C(E)
22374 ;INTO THE LEFT HALF OF THE AC.
22375 ;AND PLACES ZEROS INTO THE RIGHT HALF OF THE AC.
22376 ;IN THIS CASE, AC=E AND C(AC)=C(E)=0. HENCE, THE FINAL RESULT IN THE AC
22377 ;SHOULD BE 0. THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES.
22378
22379 043032 400 00 0 00 000000 B40300: SETZ ;PRELOAD AC WITH 0
22380 043033 514 00 0 00 000000 HRLZ ;*HRLZ SHOULD PLACE 0 INTO THE AC
22381 043034 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
22382 STOP^
22383 043035 254 04 0 00 043036 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22384 043036 324 00 0 00 043037 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22385 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22386 ;IN THE SUBTEST) TO LOOP ON ERROR^
22387
22388 ;**********
22389
22390 ;THIS TEST VERIFIES THAT HLRZ PLACES THE LEFT HALF OF C(E)
22391 ;INTO THE RIGHT HALF OF THE AC
22392 ;AND PLACES ZEROS INTO THE LEFT HALF OF THE AC.
22393 ;IN THIS CASE, AC=E AND C(AC)=C(E)=0. HENCE, THE RESULT IN THE AC
22394 ;SHOULD BE 0. THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES.
22395
22396 043037 400 00 0 00 000000 B40400: SETZ ;PRELOAD AC WITH 0
22397 043040 554 00 0 00 000000 HLRZ ;*HLRZ SHOULD PLACE 0 INTO THE AC
22398 043041 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
22399 STOP^
22400 043042 254 04 0 00 043043 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22401 043043 324 00 0 00 043044 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22402 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22403 ;IN THE SUBTEST) TO LOOP ON ERROR^
22404
22405 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 72
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0499
22406 ;THIS TEST VERIFIES THAT HRLZI PLACES E INTO THE LEFT HALF OF THE AC
22407 ;AND PLACES ZEROS INTO THE RIGHT HALF OF THE AC.
22408 ;IN THIS CASE, C(AC)=0 AND E=0,,-1. HENCE THE RESULT IN THE AC
22409 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0
22410 ;IF C(AC)=-1,,0, THIS TEST PASSES.
22411
22412 043044 400 00 0 00 000000 B40700: SETZ ;PRELOAD AC WITH 0
22413 043045 515 00 0 00 777777 HRLZI -1 ;*HRLZI SHOULD PLACE -1,,0 INTO THE AC
22414 043046 312 00 0 00 070331 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0.
22415 STOP^
22416 043047 254 04 0 00 043050 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22417 043050 324 00 0 00 043051 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22418 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22419 ;IN THE SUBTEST) TO LOOP ON ERROR^
22420
22421 ;***** FAILURE ANALYSIS *****
22422 ;C(AC0) C(AC1) FAILING SIGNAL
22423
22424 ;0 ET2: AR LT AR RT EN
22425
22426 ;**********
22427
22428 ;THIS TEST VERIFIES THAT HLRZ PLACES THE LEFT HALF OF C(E)
22429 ;INTO THE RIGHT HALF OF THE AC
22430 ;AND PLACES ZEROS INTO THE LEFT HALF OF THE AC.
22431 ;IN THIS CASE, C(AC)=0 AND C(E)=-1,,0. HENCE, THE RESULT IN THE AC
22432 ;SHOULD BE 0,,-1. THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST PASSES.
22433
22434 043051 400 00 0 00 000000 B41000: SETZ ;PRELOAD AC WITH 0
22435 043052 554 00 0 00 070331 HLRZ [XWD -1,0] ;*HLRZ SHOULD PLACE 0,,-1 INTO THE AC
22436 043053 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC)=0,,-1
22437 STOP^
22438 043054 254 04 0 00 043055 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22439 043055 324 00 0 00 043056 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22440 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22441 ;IN THE SUBTEST) TO LOOP ON ERROR^
22442
22443 ;***** FAILURE ANALYSIS *****
22444 ;C(AC0) C(AC1) FAILING SIGNAL
22445
22446 ;0 SW: FCE
22447 ;-1,,0 ET2: AR RT AR LT EN
22448
22449 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 73
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0500
22450 ;THIS TEST VERIFIES THAT HRLZI PLACES E INTO THE LEFT HALF OF THE AC
22451 ;AND PLACES ZEROS INTO THE RIGHT HALF OF THE AC.
22452 ;IN THIS CASE, C(AC)=-1,,-1 AND E=0,,-1. HENCE THE RESULT IN THE AC
22453 ;SHOULD BE -1,,0. THE AC IS CHECKED FOR -1,,0.
22454 ;IF C(AC)=-1,,0, THIS TEST PASSES.
22455
22456 043056 474 00 0 00 000000 B41100: SETO ;PRELOAD AC WITH -1,,-1
22457 043057 515 00 0 00 777777 HRLZI -1 ;*HRLZI SHOULD PLACE -1,,0 INTO THE AC
22458 043060 312 00 0 00 070331 CAME [XWD -1,0] ;PASS IF C(AC)=-1,,0.
22459 STOP^
22460 043061 254 04 0 00 043062 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22461 043062 324 00 0 00 043063 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22462 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22463 ;IN THE SUBTEST) TO LOOP ON ERROR^
22464
22465 ;**********
22466
22467 ;THIS TEST VERIFIES THAT HLRZ PLACES THE LEFT HALF OF C(E)
22468 ;INTO THE RIGHT HALF OF THE AC
22469 ;AND PLACES ZEROS INTO THE LEFT HALF OF THE AC.
22470 ;IN THIS CASE, C(AC)=-1,,-1 AND C(E)=-1,,0. HENCE, THE RESULT IN THE AC
22471 ;SHOULD BE 0,,-1. THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST PASSES.
22472
22473 043063 474 00 0 00 000000 B41200: SETO ;PRELOAD AC WITH -1,,-1
22474 043064 554 00 0 00 070331 HLRZ [XWD -1,0] ;*HLRZ SHOULD PLACE 0,,-1 INTO THE AC
22475 043065 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC)=0,,-1
22476 STOP^
22477 043066 254 04 0 00 043067 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22478 043067 324 00 0 00 043070 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22479 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22480 ;IN THE SUBTEST) TO LOOP ON ERROR^
22481
22482 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 74
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0501
22483 ;THIS TEST VERIFIES THAT HLLE PLACES THE LEFT HALF OF C(E)
22484 ;INTO THE LEFT HALF OF THE AC
22485 ;AND PLACES BIT 0 OF C(E) INTO ALL BITS OF THE RIGHT HALF OF THE AC.
22486 ;IN THIS CASE, AC=E AND C(AC)=C(E)=0. HENCE, THE RESULT IN THE AC SHOULD BE 0
22487 ;THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES
22488
22489 043070 400 00 0 00 000000 B41500: SETZ ;PRELOAD AC WITH 0
22490 043071 530 00 0 00 000000 HLLE ;*HLLE SHOULD PLACE 0 INTO THE AC
22491 043072 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
22492 STOP^
22493 043073 254 04 0 00 043074 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22494 043074 324 00 0 00 043075 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22495 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22496 ;IN THE SUBTEST) TO LOOP ON ERROR^
22497
22498 ;***** FAILURE ANALYSIS *****
22499 ;C(AC0) C(AC1) FAILING SIGNAL
22500
22501 ;-1,,0 FC: AD LT AR + EN
22502
22503 ;**********
22504
22505 ;THIS TEST VERIFIES THAT HLLE PLACES THE LEFT HALF OF C(E)
22506 ;INTO THE LEFT HALF OF THE AC
22507 ;AND PLACES BIT 0 OF C(E) INTO ALL BITS OF THE RIGHT HALF OF THE AC.
22508 ;IN THIS CASE C(AC)=0 AND C(E)=-1,,-1. HENCE, THE RESULT IN THE AC SHOULD BE -1,,-1
22509 ;THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES
22510
22511 043075 400 00 0 00 000000 B41600: SETZ ;PRELOAD AC WITH 0
22512 043076 530 00 0 00 070254 HLLE [-1] ;*HLLE SHOULD PLACE -1,,-1 INTO THE AC
22513 043077 312 00 0 00 070254 CAME [XWD -1,-1] ;PASS IF C(AC)=-1,,-1
22514 STOP^
22515 043100 254 04 0 00 043101 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22516 043101 324 00 0 00 043102 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22517 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22518 ;IN THE SUBTEST) TO LOOP ON ERROR^
22519
22520 ;***** FAILURE ANALYSIS *****
22521 ;C(AC0) C(AC1) FAILING SIGNAL
22522
22523 ;0 SW: FCE
22524 ;-1,,-1 ET2: AR LT AD EN
22525 ;-1,,0 ET2: AR0(1): AR RT AD EN
22526
22527 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 75
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0502
22528 ;THIS TEST VERIFIES THAT HRRE PLACES THE RIGHT HALF OF C(E)
22529 ;INTO THE RIGHT HALF OF THE AC.
22530 ;AND PLACES BIT 18 OF C(E) INTO ALL BITS OF THE LEFT HALF OF THE AC.
22531 ;IN THIS CASE C(AC)=0 AND C(E)=-1,,-1. HENCE, THE RESULT IN THE AC SHOULD BE -1,,-1.
22532 ;THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES.
22533
22534 043102 400 00 0 00 000000 B42000: SETZ ;PRELOAD AC WITH 0
22535 043103 570 00 0 00 070254 HRRE [-1] ;*HRRE SHOULD PLACE -1,,-1 INTO THE AC
22536 043104 312 00 0 00 070254 CAME [-1,,-1] ;PASS IF C(AC)=-1,,-1
22537 STOP^
22538 043105 254 04 0 00 043106 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22539 043106 324 00 0 00 043107 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22540 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22541 ;IN THE SUBTEST) TO LOOP ON ERROR^
22542
22543 ;**********
22544
22545 ;THIS TEST VERIFIES THAT HLLE PLACES THE LEFT HALF OF C(E)
22546 ;INTO THE LEFT HALF OF THE AC
22547 ;AND PLACES BIT 0 OF C(E) INTO ALL BITS OF THE RIGHT HALF OF THE AC.
22548 ;IN THIS CASE C(AC)=0 AND C(E)=-1,,0. HENCE, THE RESULT IN THE AC SHOULD BE -1,,-1
22549 ;THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES
22550
22551 043107 400 00 0 00 000000 B42200: SETZ ;PRELOAD AC WITH 0
22552 043110 530 00 0 00 070331 HLLE [XWD -1,0] ;*HLLE SHOULD PLACE -1,,-1 INTO THE AC
22553 043111 312 00 0 00 070254 CAME [-1] ;PASS IF C(AC)=-1,,-1
22554 STOP^
22555 043112 254 04 0 00 043113 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22556 043113 324 00 0 00 043114 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22557 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22558 ;IN THE SUBTEST) TO LOOP ON ERROR^
22559
22560 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 76
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0503
22561 ;THIS TEST VERIFIES THAT HRRE PLACES THE RIGHT HALF OF C(E)
22562 ;INTO THE RIGHT HALF OF THE AC.
22563 ;AND PLACES BIT 18 OF C(E) INTO ALL BITS OF THE LEFT HALF OF THE AC.
22564 ;IN THIS CASE, AC=E AND C(AC)=C(E)=0. HENCE, THE RESULT IN THE AC SHOULD BE 0.
22565 ;THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES.
22566
22567 043114 400 00 0 00 000000 B42300: SETZ ;PRELOAD AC,E WITH 0
22568 043115 570 00 0 00 000000 HRRE ;*HRRE SHOULD PLACE 0 INTO THE AC
22569 043116 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
22570 STOP^
22571 043117 254 04 0 00 043120 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22572 043120 324 00 0 00 043121 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22573 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22574 ;IN THE SUBTEST) TO LOOP ON ERROR^
22575
22576 ;***** FAILURE ANALYSIS *****
22577 ;C(AC0) C(AC1) FAILING SIGNAL
22578
22579 ;E SW: FCE
22580 ;-1,,0 ET2: AR RT AD EN
22581 ;0,,-1 ET2: AR18(1): AR LT AD EN
22582 ;0,,-1 FC: AR RT AR + EN
22583
22584 ;**********
22585
22586 ;THIS TEST VERIFIES THAT HRRE PLACES THE RIGHT HALF OF C(E)
22587 ;INTO THE RIGHT HALF OF THE AC.
22588 ;AND PLACES BIT 18 OF C(E) INTO ALL BITS OF THE LEFT HALF OF THE AC.
22589 ;IN THIS CASE C(AC)=0 AND C(E)=-1,,0. HENCE, THE RESULT IN THE AC SHOULD BE 0.
22590 ;THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES.
22591
22592 043121 400 00 0 00 000000 B42500: SETZ ;PRELOAD AC WITH 0
22593 043122 570 00 0 00 070331 HRRE [XWD -1,0] ;*HRRE SHOULD PLACE 0 INTO THE AC
22594 043123 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
22595 STOP^
22596 043124 254 04 0 00 043125 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22597 043125 324 00 0 00 043126 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22598 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22599 ;IN THE SUBTEST) TO LOOP ON ERROR^
22600
22601 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 77
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0504
22602 ;THIS TEST VERIFIES THAT HRREI PLACES E INTO THE RIGHT HALF OF THE AC
22603 ;AND PLACES THE LEFTMOST BIT OF E INTO ALL BITS OF THE LEFT HALF OF THE AC
22604 ;IN THIS CASE, C(AC)=0 AND E=0,,-1. HENCE, THE RESULT IN THE AC SHOULD BE -1,,-1.
22605 ;THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES.
22606
22607 043126 400 00 0 00 000000 B42700: SETZ ;PRELOAD AC WITH 0
22608 043127 571 00 0 00 777777 HRREI -1 ;*HRREI SHOULD PLACE -1,,-1 INTO THE AC
22609 043130 312 00 0 00 070254 CAME [-1] ;PASS IF C(AC)=-1,,-1
22610 STOP^
22611 043131 254 04 0 00 043132 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22612 043132 324 00 0 00 043133 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22613 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22614 ;IN THE SUBTEST) TO LOOP ON ERROR^
22615
22616 ;***** FAILURE ANALYSIS *****
22617 ;C(AC0) C(AC1) FAILING SIGNAL
22618
22619 ;-1,,0 ET2: AR RT AD EN
22620 ;0,,-1 ET2: AR18(1): AR LT AD EN
22621
22622 ;**********
22623
22624 ;THIS TEST VERIFIES THAT HLLEI ALWAYS CLEARS THE AC.
22625 ;IN THIS CASE, C(AC)=-1,,-1 AND E=0,,-1.
22626 ;THE RESULT IN THE AC SHOULD BE 0
22627 ;THE AC IS CHECKED FOR 0.
22628 ;IF C(AC)=0, THIS TEST PASSES.
22629
22630 043133 474 00 0 00 000000 B43000: SETO ;PRELOAD AC WITH -1,,-1
22631 043134 531 00 0 00 777777 HLLEI -1 ;*HLLEI SHOULD CLEAR THE AC
22632 043135 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
22633 STOP^
22634 043136 254 04 0 00 043137 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22635 043137 324 00 0 00 043140 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22636 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22637 ;IN THE SUBTEST) TO LOOP ON ERROR^
22638
22639 ;***** FAILURE ANALYSIS *****
22640 ;C(AC0) C(AC1) FAILING SIGNAL
22641
22642 ;-1,,0 FC: AD LT AR + EN
22643 ;0,,-1 ET2: AR LT AD EN
22644
22645 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 78
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0505
22646 ;THIS TEST VERIFIES THAT HLLEI ALWAYS CLEARS THE AC.
22647 ;IN THIS CASE, C(AC)=-1,,-1 AND E=0,,400000.
22648 ;THE RESULT IN THE AC SHOULD BE 0
22649 ;THE AC IS CHECKED FOR 0.
22650 ;IF C(AC) = ZERO, THIS TEST PASSES.
22651
22652 043140 474 00 0 00 000000 B43100: SETO ;PRELOAD AC WITH -1,,-1
22653 043141 531 00 0 00 400000 HLLEI 400000 ;*HLLEI SHOULD CLEAR THE AC
22654 043142 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0.
22655 STOP^
22656 043143 254 04 0 00 043144 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22657 043144 324 00 0 00 043145 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22658 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22659 ;IN THE SUBTEST) TO LOOP ON ERROR^
22660
22661 ;**********
22662
22663 ;THIS TEST VERIFIES THAT HRLE PLACES THE RIGHT HALF OF C(E)
22664 ;INTO THE LEFT HALF OF THE AC
22665 ;AND PLACES BIT 18 OF C(E) INTO ALL BITS OF THE RIGHT HALF OF THE AC.
22666 ;IN THIS CASE, C(AC)=0 AND C(E)=0. HENCE, THE RESULT IN THE AC SHOULD BE 0.
22667 ;THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST FAILS
22668
22669 043145 400 00 0 00 000000 B43400: SETZ ;PRELOAD AC WITH 0
22670 043146 534 00 0 00 000000 HRLE ;*HRLE SHOULD PLACE 0 INTO THE AC
22671 043147 332 00 0 00 000000 SKIPE ;FAIL IF C(AC)=0,,-1
22672 STOP^
22673 043150 254 04 0 00 043151 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22674 043151 324 00 0 00 043152 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22675 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22676 ;IN THE SUBTEST) TO LOOP ON ERROR^
22677
22678 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 79
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0506
22679 ;THIS TEST VERIFIES THAT HRLEI PLACES E INTO THE LEFT HALF OF THE AC
22680 ;AND PLACES THE LEFTMOST BIT OF E INTO ALL BITS OF THE RIGHT HALF OF THE AC
22681 ;IN THIS CASE, C(AC)=0 AND E=0,,-1. HENCE, THE RESULT IN THE AC SHOULD -1,,-1
22682 ;THE AC IS CHECKED FOR -1,,-1. IF C(AC)=1,,-1, THIS TEST PASSES.
22683
22684 043152 400 00 0 00 000000 B43500: SETZ ;PRELOAD AC WITH 0
22685 043153 535 00 0 00 777777 HRLEI -1 ;*HRLEI SHOULD PLACE -1,,-1 INTO THE AC
22686 043154 312 00 0 00 070254 CAME [XWD -1,-1] ;PASS IF C(AC)=-1,,-1
22687 STOP^
22688 043155 254 04 0 00 043156 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22689 043156 324 00 0 00 043157 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22690 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22691 ;IN THE SUBTEST) TO LOOP ON ERROR^
22692
22693 ;***** FAILURE ANALYSIS *****
22694 ;C(AC0) C(AC1) FAILING SIGNAL
22695
22696 ;-1,,0 ET2: AR LT AR RT EN
22697 ;-1,,0 ET2: AR 18(1): AR RT AD EN
22698
22699 ;**********
22700
22701 ;THIS TEST VERIFIES THAT HRLE PLACES THE RIGHT HALF OF C(E)
22702 ;INTO THE LEFT HALF OF THE AC
22703 ;AND PLACES BIT 18 OF C(E) INTO ALL BITS OF THE RIGHT HALF OF THE AC.
22704 ;IN THIS CASE, C(AC)=0 AND C(E)=0. HENCE, THE RESULT IN THE AC SHOULD BE 0.
22705 ;THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST FAILS
22706
22707 043157 534 00 0 00 070253 B43600: HRLE [0] ;*HRLE SHOULD PLACE 0 INTO THE AC
22708 043160 332 00 0 00 000000 SKIPE ;FAIL IF C(AC)=0,,-1
22709 STOP^
22710 043161 254 04 0 00 043162 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22711 043162 324 00 0 00 043163 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22712 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22713 ;IN THE SUBTEST) TO LOOP ON ERROR^
22714
22715 ;***** FAILURE ANALYSIS *****
22716 ;C(AC0) C(AC1) FAILING SIGNAL
22717
22718 ;E,,0 SW: FCE
22719
22720 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 80
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0507
22721 ;THIS TEST VERIFIES THAT HRLE PLACES THE RIGHT HALF OF C(E)
22722 ;INTO THE LEFT HALF OF THE AC
22723 ;AND PLACES BIT 18 OF C(E) INTO ALL BITS OF THE RIGHT HALF OF THE AC.
22724 ;IN THIS CASE, C(AC)=0 AND C(E)=0. HENCE, THE RESULT IN THE AC SHOULD BE 0.
22725 ;THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST FAILS
22726
22727 043163 534 00 0 00 070254 B43700: HRLE [-1] ;PRELOAD AC WITH 0
22728 043164 312 00 0 00 070254 CAME [-1] ;*HRLE SHOULD PLACE 0 INTO THE AC
22729 STOP ^;FAIL IF C(AC)=0,,-1
22730
22731 043165 254 04 0 00 043166 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22732 043166 324 00 0 00 043167 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22733 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22734 ;IN THE SUBTEST) TO LOOP ON ERROR
22735
22736 ;***** FAILURE ANALYSIS *****
22737 ;C(AC0) C(AC1) FAILING SIGNAL
22738
22739 ;-1,,0 ET2: AR LT AR RT EN
22740 ;-1,,0 ET2: AR18(1): AR RT AD EN
22741
22742 ;**********
22743
22744 ;THIS TEST VERIFIES THAT HRLE PLACES THE RIGHT HALF OF C(E)
22745 ;INTO THE LEFT HALF OF THE AC
22746 ;AND PLACES BIT 18 OF C(E) INTO ALL BITS OF THE RIGHT HALF OF THE AC.
22747 ;IN THIS CASE, C(AC)=0 AND C(E)=0. HENCE, THE RESULT IN THE AC SHOULD BE 0.
22748 ;THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST FAILS
22749
22750 043167 534 00 0 00 070331 B44000: HRLE [XWD -1,0] ;PRELOAD AC WITH 0
22751 043170 332 00 0 00 000000 SKIPE ;*HRLE SHOULD PLACE 0 INTO THE AC
22752 STOP ^;FAIL IF C(AC)=0,,-1
22753
22754 043171 254 04 0 00 043172 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22755 043172 324 00 0 00 043173 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22756 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22757 ;IN THE SUBTEST) TO LOOP ON ERROR
22758
22759 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 81
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0508
22760 ;THIS TEST VERIFIES THAT HRLE PLACES THE RIGHT HALF OF C(E)
22761 ;INTO THE LEFT HALF OF THE AC
22762 ;AND PLACES BIT 18 OF C(E) INTO ALL BITS OF THE RIGHT HALF OF THE AC.
22763 ;IN THIS CASE, C(AC)=0 AND C(E)=0. HENCE, THE RESULT IN THE AC SHOULD BE 0.
22764 ;THE AC IS CHECKED FOR 0,,-1. IF C(AC)=0,,-1, THIS TEST FAILS
22765
22766 043173 534 00 0 00 070330 B44100: HRLE [XWD 0,-1] ;PRELOAD AC WITH 0
22767 043174 312 00 0 00 070254 CAME [-1] ;*HRLE SHOULD PLACE 0 INTO THE AC
22768 STOP ^;FAIL IF C(AC)=0,,-1
22769
22770 043175 254 04 0 00 043176 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22771 043176 324 00 0 00 043177 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22772 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22773 ;IN THE SUBTEST) TO LOOP ON ERROR
22774
22775 ;**********
22776
22777 ;THIS TEST VERIFIES THAT HLRE PLACES THE LEFT HALF OF C(E)
22778 ;INTO THE RIGHT HALF OF THE AC
22779 ;AND PLACES BIT 0 OF C(E) INTO ALL BITS OF THE LEFT HALF OF THE AC
22780 ;IN THIS CASE, C(AC=0 AND C(E)=0. HENCE, THE RESULT IN THE AC SHOULD BE 0.
22781 ;THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES
22782
22783
22784 043177 400 00 0 00 000000 B44200: SETZ ;PRELOAD AC WITH 0
22785 043200 574 00 0 00 000000 HLRE ;*HLRE SHOULD PLACE 0 INTO THE AC
22786 043201 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
22787 STOP^
22788 043202 254 04 0 00 043203 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22789 043203 324 00 0 00 043204 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22790 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22791 ;IN THE SUBTEST) TO LOOP ON ERROR^
22792
22793 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 82
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0509
22794 ;THIS TEST VERIFIES THAT HLRE PLACES THE LEFT HALF OF C(E)
22795 ;INTO THE RIGHT HALF OF THE AC
22796 ;AND PLACES BIT 0 OF C(E) INTO ALL BITS OF THE LEFT HALF OF THE AC
22797 ;IN THIS CASE, C(AC=0 AND C(E)=0. HENCE, THE RESULT IN THE AC SHOULD BE 0.
22798 ;THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES
22799
22800
22801 043204 400 00 0 00 000000 B44300: SETZ ;PRELOAD AC WITH 0
22802 043205 574 00 0 00 070254 HLRE [-1] ;*HLRE SHOULD PLACE -1,,-1 INTO THE AC
22803 043206 312 00 0 00 070254 CAME [-1] ;PASS IF C(AC)=-1,,-1
22804 STOP^
22805 043207 254 04 0 00 043210 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22806 043210 324 00 0 00 043211 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22807 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22808 ;IN THE SUBTEST) TO LOOP ON ERROR^
22809
22810 ;***** FAILURE ANALYSIS *****
22811 ;C(AC0) C(AC1) FAILING SIGNAL
22812
22813 ;0 SW: FCE
22814 ;-1,,0 ET2: AR RT AR LT EN
22815 ;0,,-1 ET2: AR0(1): AR LT AD EN
22816
22817 ;**********
22818
22819 ;THIS TEST VERIFIES THAT HLREI CLEARS THE AC
22820 ;IN THIS CASE C(AC)=-1,,-1 AND E=0,,-1
22821 ;THE RESULT IN THE AC SHOULD BE 0
22822 ;THE AC IS CHECKED FOR 0. IF C(AC)=0, THEN TEST PASSES
22823
22824 043211 474 00 0 00 000000 B44500: SETO ;PRELOAD AC WITH -1,,-1
22825 043212 575 00 0 00 777777 HLREI -1 ;*HLREI SHOULD CLEAR THE AC
22826 043213 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
22827 STOP^
22828 043214 254 04 0 00 043215 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22829 043215 324 00 0 00 043216 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22830 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22831 ;IN THE SUBTEST) TO LOOP ON ERROR^
22832
22833 ;***** FAILURE ANALYSIS *****
22834 ;C(AC0) C(AC1) FAILING SIGNAL
22835
22836 ;0,,1 ET2: AR RT AR LT EN
22837
22838 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 83
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0510
22839 ;THIS TEST VERIFIES THAT HLREI CLEARS THE AC
22840 ;IN THIS CASE C(AC)=0 AND E=0
22841 ;THE RESULT IN THE AC SHOULD BE 0
22842 ;THE AC IS CHECKED FOR 0. IF C(AC)=0, THE TEST PASSES
22843
22844 043216 575 00 0 00 000000 B44600: HLREI ;*HLREI SHOULD CLEAR THE AC
22845 043217 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
22846 STOP^
22847 043220 254 04 0 00 043221 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22848 043221 324 00 0 00 043222 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22849 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22850 ;IN THE SUBTEST) TO LOOP ON ERROR^
22851
22852 ;**********
22853
22854 ;THIS TEST VERIFIES THAT HLRE PLACES THE LEFT HALF OF C(E)
22855 ;INTO THE RIGHT HALF OF THE AC
22856 ;AND PLACES BIT 0 OF C(E) INTO ALL BITS OF THE LEFT HALF OF THE AC
22857 ;IN THIS CASE, C(E)=-1,,0. HENCE, THE RESULT IN THE AC SHOULD BE -1,,-1.
22858 ;THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES
22859
22860
22861 043222 574 00 0 00 070331 B44700: HLRE [XWD -1,0] ;*HLRE SHOULD PLACE -1,,0 INTO THE AC
22862 043223 312 00 0 00 070254 CAME [-1] ;PASS IF C(AC)=-1,,-1
22863 STOP^
22864 043224 254 04 0 00 043225 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22865 043225 324 00 0 00 043226 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22866 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22867 ;IN THE SUBTEST) TO LOOP ON ERROR^
22868
22869 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 84
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0511
22870 ;THIS TEST VERIFIES THAT HLRE PLACES THE LEFT HALF OF C(E)
22871 ;INTO THE RIGHT HALF OF THE AC
22872 ;AND PLACES BIT 0 OF C(E) INTO ALL BITS OF THE LEFT HALF OF THE AC
22873 ;IN THIS CASE, C(E)=0,,-1. HENCE, THE RESULT IN THE AC SHOULD BE 0.
22874 ;THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES
22875
22876 043226 574 00 0 00 070330 B45000: HLRE [XWD 0,-1] ;*HLRE SHOULD PLACE 0,,-1 INTO THE AC
22877 043227 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0
22878 STOP^
22879 043230 254 04 0 00 043231 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22880 043231 324 00 0 00 043232 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22881 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22882 ;IN THE SUBTEST) TO LOOP ON ERROR^
22883
22884 ;**********
22885
22886 ;THIS TEST VERIFIES THAT HLRE PLACES THE LEFT HALF OF C(E)
22887 ;INTO THE RIGHT HALF OF THE AC
22888 ;AND PLACES BIT 0 OF C(E) INTO ALL BITS OF THE LEFT HALF OF THE AC
22889 ;IN THIS CASE, C(E)=-1,,-1. HENCE, THE RESULT IN THE AC SHOULD BE -1,,-1.
22890 ;THE AC IS CHECKED FOR -1,,-1. IF C(AC)=-1,,-1, THIS TEST PASSES
22891
22892 043232 574 00 0 00 070254 B45100: HLRE [-1] ;*HLRE SHOULD PLACE -1,,-1 INTO THE AC
22893 043233 312 00 0 00 070254 CAME [-1] ;PASS IF C(AC)=-1,,-1
22894 STOP^
22895 043234 254 04 0 00 043235 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22896 043235 324 00 0 00 043236 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22897 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22898 ;IN THE SUBTEST) TO LOOP ON ERROR^
22899
22900 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 85
DFKAA3 MAC 25-AUG-75 13:57 TEST OF HWT INSTRUCTIONS SEQ 0512
22901 ;THIS TEST VERIFIES THAT HLREM PLACES THE LEFT HALF OF C(AC)
22902 ;INTO THE RIGHT HALF OF E
22903 ;AND PLACES BIT 0 OF C(AC) INTO ALL BITS OF THE LEFT HALF OF E.
22904 ;IN THIS CASE, C(AC)=1,,0 AND C(E)=0. HENCE, THE RESULT IN E SHOULD BE -1,,-1.
22905 ;E IS CHECKED FOR -1,,-1. IF C(E)=-1,,-1, THIS TEST PASSES
22906
22907 043236 400 00 0 00 000000 B45200: SETZ ;PRELOAD E WITH 0
22908 043237 200 01 0 00 070331 MOVE 1,[XWD -1,0] ;PRELOAD AC WITH -1,,0
22909 043240 576 01 0 00 000000 HLREM 1, ;*HLREM SHOULD PLACE -1,,-1 INTO E
22910 043241 312 00 0 00 070254 CAME [-1] ;PASS IF C(E)=-1,,-1
22911 STOP^
22912 043242 254 04 0 00 043243 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22913 043243 324 00 0 00 043244 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22914 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22915 ;IN THE SUBTEST) TO LOOP ON ERROR^
22916
22917 ;***** FAILURE ANALYSIS *****
22918 ;C(AC0) C(AC1) FAILING SIGNAL
22919
22920 ;0 -1,,0 SW: SCE
22921 ;0 -1,,0 SW: ET0
22922 ;0 -1,,0 ET0: AR AD EN
22923 ;-1,,0 -1,,0 ET2: AR RT AR + EN
22924 ;0,,-1 -1,,0 ET2: AR0(1): AR LT AD EN
22925
22926 ;**********
22927
22928 ;THIS TEST VERIFIES THAT HRLM PLACES THE RIGHT HALF OF C(AC) INTO THE LEFT HALF OF E.
22929 ;THE RIGHT HALF OF E IS UNAFFECTED
22930 ;IN THIS CASE, C(AC)=0,,-1 AND C(E)=0. HENCE, THE RESULT IN E SHOULD BE -1,,0.
22931 ;E IS CHECKED FOR -1,,0. IF C(E)=-1,,0, THIS TEST PASSES.
22932
22933 043244 400 00 0 00 000000 B45400: SETZ ;PRELOAD E WITH 0
22934 043245 201 01 0 00 777777 MOVEI 1,-1 ;PRELOAD AC WITH 0,,-1
22935 043246 506 01 0 00 000000 HRLM 1, ;*HRLM SHOULD PLACE -1,,0 INTO E
22936 043247 312 00 0 00 070331 CAME [XWD -1,0] ;PASS IF C(E)=-1,,0
22937 STOP^
22938 043250 254 04 0 00 043251 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22939 043251 324 00 0 00 043252 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22940 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22941 ;IN THE SUBTEST) TO LOOP ON ERROR^
22942
22943 ;***** FAILURE ANALYSIS *****
22944 ;C(AC0) C(AC1) FAILING SIGNAL
22945
22946 ;0 0,,-1 SW: FCE PSE
22947 ;0,,-1 0,,-1 SW: ET0
22948 ;-1,,-1 0,,-1 ET0: AD RT BR + EN
22949 ;-1,,B45400 0,,-1 ET0: BR AR EN
22950 ;0 0,,-1 ET0: AR AD EN
22951 ;0 0,,-1 ET2: AR LT AR RT EN
22952
22953 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 86
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - FLT 1 + 0 SEQ 0513
22954 SUBTTL SUPPLEMENTARY ADDER TESTS - FLT 1 + 0
22955
22956 ;**********
22957
22958 045500 SN=45500
22959 000000 XX=0
22960
22961 B45500: REPEAT ^D18,<
22962 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
22963 ;IS THE FLOATING ONE.
22964 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
22965 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
22966
22967 SN=SN+1
22968 XX=XX+XX
22969 IFE XX,<XX=1>
22970 HRRZI XX ;PRELOAD AC WITH FLOATING ONE
22971 ADD [0] ;ADD ZERO TO A FLOATING ONE
22972 CAME [XX] ;CHECK ADDER UPON FAILURE
22973 STOP
22974
22975 ;**********
22976 >
22977
22978 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
22979 ;IS THE FLOATING ONE.
22980 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
22981 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
22982
22983 045501 SN=SN+1
22984 000000 XX=XX+XX
22985 000001 IFE XX,<XX=1>
22986 043252 551 00 0 00 000001 HRRZI XX ;PRELOAD AC WITH FLOATING ONE
22987 043253 270 00 0 00 070253 ADD [0] ;ADD ZERO TO A FLOATING ONE
22988 043254 312 00 0 00 070265 CAME [XX] ;CHECK ADDER UPON FAILURE
22989 STOP^
22990 043255 254 04 0 00 043256 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
22991 043256 324 00 0 00 043257 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
22992 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
22993 ;IN THE SUBTEST) TO LOOP ON ERROR^
22994
22995 ;**********
22996
22997
22998 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
22999 ;IS THE FLOATING ONE.
23000 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
23001 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23002
23003 045502 SN=SN+1
23004 000002 XX=XX+XX
23005 IFE XX,<XX=1>
23006 043257 551 00 0 00 000002 HRRZI XX ;PRELOAD AC WITH FLOATING ONE
23007 043260 270 00 0 00 070253 ADD [0] ;ADD ZERO TO A FLOATING ONE
23008 043261 312 00 0 00 070266 CAME [XX] ;CHECK ADDER UPON FAILURE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 86-1
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - FLT 1 + 0 SEQ 0514
23009 STOP^
23010 043262 254 04 0 00 043263 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
23011 043263 324 00 0 00 043264 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23012 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23013 ;IN THE SUBTEST) TO LOOP ON ERROR^
23014
23015 ;**********
23016
23017
23018 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
23019 ;IS THE FLOATING ONE.
23020 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
23021 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23022
23023 045503 SN=SN+1
23024 000004 XX=XX+XX
23025 IFE XX,<XX=1>
23026 043264 551 00 0 00 000004 HRRZI XX ;PRELOAD AC WITH FLOATING ONE
23027 043265 270 00 0 00 070253 ADD [0] ;ADD ZERO TO A FLOATING ONE
23028 043266 312 00 0 00 070267 CAME [XX] ;CHECK ADDER UPON FAILURE
23029 STOP^
23030 043267 254 04 0 00 043270 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
23031 043270 324 00 0 00 043271 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23032 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23033 ;IN THE SUBTEST) TO LOOP ON ERROR^
23034
23035 ;**********
23036
23037
23038 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
23039 ;IS THE FLOATING ONE.
23040 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
23041 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23042
23043 045504 SN=SN+1
23044 000010 XX=XX+XX
23045 IFE XX,<XX=1>
23046 043271 551 00 0 00 000010 HRRZI XX ;PRELOAD AC WITH FLOATING ONE
23047 043272 270 00 0 00 070253 ADD [0] ;ADD ZERO TO A FLOATING ONE
23048 043273 312 00 0 00 070270 CAME [XX] ;CHECK ADDER UPON FAILURE
23049 STOP^
23050 043274 254 04 0 00 043275 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
23051 043275 324 00 0 00 043276 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23052 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23053 ;IN THE SUBTEST) TO LOOP ON ERROR^
23054
23055 ;**********
23056
23057
23058 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
23059 ;IS THE FLOATING ONE.
23060 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
23061 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23062
23063 045505 SN=SN+1
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 86-2
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - FLT 1 + 0 SEQ 0515
23064 000020 XX=XX+XX
23065 IFE XX,<XX=1>
23066 043276 551 00 0 00 000020 HRRZI XX ;PRELOAD AC WITH FLOATING ONE
23067 043277 270 00 0 00 070253 ADD [0] ;ADD ZERO TO A FLOATING ONE
23068 043300 312 00 0 00 070271 CAME [XX] ;CHECK ADDER UPON FAILURE
23069 STOP^
23070 043301 254 04 0 00 043302 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
23071 043302 324 00 0 00 043303 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23072 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23073 ;IN THE SUBTEST) TO LOOP ON ERROR^
23074
23075 ;**********
23076
23077
23078 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
23079 ;IS THE FLOATING ONE.
23080 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
23081 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23082
23083 045506 SN=SN+1
23084 000040 XX=XX+XX
23085 IFE XX,<XX=1>
23086 043303 551 00 0 00 000040 HRRZI XX ;PRELOAD AC WITH FLOATING ONE
23087 043304 270 00 0 00 070253 ADD [0] ;ADD ZERO TO A FLOATING ONE
23088 043305 312 00 0 00 070272 CAME [XX] ;CHECK ADDER UPON FAILURE
23089 STOP^
23090 043306 254 04 0 00 043307 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
23091 043307 324 00 0 00 043310 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23092 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23093 ;IN THE SUBTEST) TO LOOP ON ERROR^
23094
23095 ;**********
23096
23097
23098 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
23099 ;IS THE FLOATING ONE.
23100 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
23101 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23102
23103 045507 SN=SN+1
23104 000100 XX=XX+XX
23105 IFE XX,<XX=1>
23106 043310 551 00 0 00 000100 HRRZI XX ;PRELOAD AC WITH FLOATING ONE
23107 043311 270 00 0 00 070253 ADD [0] ;ADD ZERO TO A FLOATING ONE
23108 043312 312 00 0 00 070273 CAME [XX] ;CHECK ADDER UPON FAILURE
23109 STOP^
23110 043313 254 04 0 00 043314 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
23111 043314 324 00 0 00 043315 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23112 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23113 ;IN THE SUBTEST) TO LOOP ON ERROR^
23114
23115 ;**********
23116
23117
23118 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 86-3
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - FLT 1 + 0 SEQ 0516
23119 ;IS THE FLOATING ONE.
23120 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
23121 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23122
23123 045510 SN=SN+1
23124 000200 XX=XX+XX
23125 IFE XX,<XX=1>
23126 043315 551 00 0 00 000200 HRRZI XX ;PRELOAD AC WITH FLOATING ONE
23127 043316 270 00 0 00 070253 ADD [0] ;ADD ZERO TO A FLOATING ONE
23128 043317 312 00 0 00 070274 CAME [XX] ;CHECK ADDER UPON FAILURE
23129 STOP^
23130 043320 254 04 0 00 043321 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
23131 043321 324 00 0 00 043322 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23132 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23133 ;IN THE SUBTEST) TO LOOP ON ERROR^
23134
23135 ;**********
23136
23137
23138 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
23139 ;IS THE FLOATING ONE.
23140 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
23141 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23142
23143 045511 SN=SN+1
23144 000400 XX=XX+XX
23145 IFE XX,<XX=1>
23146 043322 551 00 0 00 000400 HRRZI XX ;PRELOAD AC WITH FLOATING ONE
23147 043323 270 00 0 00 070253 ADD [0] ;ADD ZERO TO A FLOATING ONE
23148 043324 312 00 0 00 070275 CAME [XX] ;CHECK ADDER UPON FAILURE
23149 STOP^
23150 043325 254 04 0 00 043326 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
23151 043326 324 00 0 00 043327 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23152 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23153 ;IN THE SUBTEST) TO LOOP ON ERROR^
23154
23155 ;**********
23156
23157
23158 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
23159 ;IS THE FLOATING ONE.
23160 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
23161 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23162
23163 045512 SN=SN+1
23164 001000 XX=XX+XX
23165 IFE XX,<XX=1>
23166 043327 551 00 0 00 001000 HRRZI XX ;PRELOAD AC WITH FLOATING ONE
23167 043330 270 00 0 00 070253 ADD [0] ;ADD ZERO TO A FLOATING ONE
23168 043331 312 00 0 00 070276 CAME [XX] ;CHECK ADDER UPON FAILURE
23169 STOP^
23170 043332 254 04 0 00 043333 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
23171 043333 324 00 0 00 043334 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23172 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23173 ;IN THE SUBTEST) TO LOOP ON ERROR^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 86-4
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - FLT 1 + 0 SEQ 0517
23174
23175 ;**********
23176
23177
23178 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
23179 ;IS THE FLOATING ONE.
23180 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
23181 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23182
23183 045513 SN=SN+1
23184 002000 XX=XX+XX
23185 IFE XX,<XX=1>
23186 043334 551 00 0 00 002000 HRRZI XX ;PRELOAD AC WITH FLOATING ONE
23187 043335 270 00 0 00 070253 ADD [0] ;ADD ZERO TO A FLOATING ONE
23188 043336 312 00 0 00 070277 CAME [XX] ;CHECK ADDER UPON FAILURE
23189 STOP^
23190 043337 254 04 0 00 043340 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
23191 043340 324 00 0 00 043341 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23192 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23193 ;IN THE SUBTEST) TO LOOP ON ERROR^
23194
23195 ;**********
23196
23197
23198 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
23199 ;IS THE FLOATING ONE.
23200 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
23201 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23202
23203 045514 SN=SN+1
23204 004000 XX=XX+XX
23205 IFE XX,<XX=1>
23206 043341 551 00 0 00 004000 HRRZI XX ;PRELOAD AC WITH FLOATING ONE
23207 043342 270 00 0 00 070253 ADD [0] ;ADD ZERO TO A FLOATING ONE
23208 043343 312 00 0 00 070300 CAME [XX] ;CHECK ADDER UPON FAILURE
23209 STOP^
23210 043344 254 04 0 00 043345 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
23211 043345 324 00 0 00 043346 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23212 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23213 ;IN THE SUBTEST) TO LOOP ON ERROR^
23214
23215 ;**********
23216
23217
23218 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
23219 ;IS THE FLOATING ONE.
23220 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
23221 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23222
23223 045515 SN=SN+1
23224 010000 XX=XX+XX
23225 IFE XX,<XX=1>
23226 043346 551 00 0 00 010000 HRRZI XX ;PRELOAD AC WITH FLOATING ONE
23227 043347 270 00 0 00 070253 ADD [0] ;ADD ZERO TO A FLOATING ONE
23228 043350 312 00 0 00 070301 CAME [XX] ;CHECK ADDER UPON FAILURE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 86-5
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - FLT 1 + 0 SEQ 0518
23229 STOP^
23230 043351 254 04 0 00 043352 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
23231 043352 324 00 0 00 043353 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23232 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23233 ;IN THE SUBTEST) TO LOOP ON ERROR^
23234
23235 ;**********
23236
23237
23238 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
23239 ;IS THE FLOATING ONE.
23240 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
23241 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23242
23243 045516 SN=SN+1
23244 020000 XX=XX+XX
23245 IFE XX,<XX=1>
23246 043353 551 00 0 00 020000 HRRZI XX ;PRELOAD AC WITH FLOATING ONE
23247 043354 270 00 0 00 070253 ADD [0] ;ADD ZERO TO A FLOATING ONE
23248 043355 312 00 0 00 070302 CAME [XX] ;CHECK ADDER UPON FAILURE
23249 STOP^
23250 043356 254 04 0 00 043357 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
23251 043357 324 00 0 00 043360 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23252 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23253 ;IN THE SUBTEST) TO LOOP ON ERROR^
23254
23255 ;**********
23256
23257
23258 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
23259 ;IS THE FLOATING ONE.
23260 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
23261 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23262
23263 045517 SN=SN+1
23264 040000 XX=XX+XX
23265 IFE XX,<XX=1>
23266 043360 551 00 0 00 040000 HRRZI XX ;PRELOAD AC WITH FLOATING ONE
23267 043361 270 00 0 00 070253 ADD [0] ;ADD ZERO TO A FLOATING ONE
23268 043362 312 00 0 00 070303 CAME [XX] ;CHECK ADDER UPON FAILURE
23269 STOP^
23270 043363 254 04 0 00 043364 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
23271 043364 324 00 0 00 043365 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23272 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23273 ;IN THE SUBTEST) TO LOOP ON ERROR^
23274
23275 ;**********
23276
23277
23278 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
23279 ;IS THE FLOATING ONE.
23280 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
23281 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23282
23283 045520 SN=SN+1
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 86-6
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - FLT 1 + 0 SEQ 0519
23284 100000 XX=XX+XX
23285 IFE XX,<XX=1>
23286 043365 551 00 0 00 100000 HRRZI XX ;PRELOAD AC WITH FLOATING ONE
23287 043366 270 00 0 00 070253 ADD [0] ;ADD ZERO TO A FLOATING ONE
23288 043367 312 00 0 00 070304 CAME [XX] ;CHECK ADDER UPON FAILURE
23289 STOP^
23290 043370 254 04 0 00 043371 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
23291 043371 324 00 0 00 043372 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23292 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23293 ;IN THE SUBTEST) TO LOOP ON ERROR^
23294
23295 ;**********
23296
23297
23298 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
23299 ;IS THE FLOATING ONE.
23300 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
23301 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23302
23303 045521 SN=SN+1
23304 200000 XX=XX+XX
23305 IFE XX,<XX=1>
23306 043372 551 00 0 00 200000 HRRZI XX ;PRELOAD AC WITH FLOATING ONE
23307 043373 270 00 0 00 070253 ADD [0] ;ADD ZERO TO A FLOATING ONE
23308 043374 312 00 0 00 070305 CAME [XX] ;CHECK ADDER UPON FAILURE
23309 STOP^
23310 043375 254 04 0 00 043376 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
23311 043376 324 00 0 00 043377 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23312 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23313 ;IN THE SUBTEST) TO LOOP ON ERROR^
23314
23315 ;**********
23316
23317
23318 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
23319 ;IS THE FLOATING ONE.
23320 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
23321 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23322
23323 045522 SN=SN+1
23324 400000 XX=XX+XX
23325 IFE XX,<XX=1>
23326 043377 551 00 0 00 400000 HRRZI XX ;PRELOAD AC WITH FLOATING ONE
23327 043400 270 00 0 00 070253 ADD [0] ;ADD ZERO TO A FLOATING ONE
23328 043401 312 00 0 00 070306 CAME [XX] ;CHECK ADDER UPON FAILURE
23329 STOP^
23330 043402 254 04 0 00 043403 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
23331 043403 324 00 0 00 043404 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23332 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23333 ;IN THE SUBTEST) TO LOOP ON ERROR^
23334
23335 ;**********
23336
23337 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 86-7
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - FLT 1 + 0 SEQ 0520
23338 000000 XX=0
23339
23340 REPEAT ^D18,<
23341 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
23342 ;IS THE FLOATING ONE.
23343 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
23344 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23345
23346 SN=SN+1
23347 XX=XX+XX
23348 IFE XX,<XX=1>
23349 HRLZI XX ;PRELOAD AC WITH FLOATING ONE
23350 ADD [0] ;ADD ZERO TO A FLOATING ONE
23351 CAME [XX,,0] ;CHECK ADDER UPON FALIRE
23352 STOP
23353
23354 ;**********
23355 >
23356
23357 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
23358 ;IS THE FLOATING ONE.
23359 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
23360 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23361
23362 045523 SN=SN+1
23363 000000 XX=XX+XX
23364 000001 IFE XX,<XX=1>
23365 043404 515 00 0 00 000001 HRLZI XX ;PRELOAD AC WITH FLOATING ONE
23366 043405 270 00 0 00 070253 ADD [0] ;ADD ZERO TO A FLOATING ONE
23367 043406 312 00 0 00 070307 CAME [XX,,0] ;CHECK ADDER UPON FALIRE
23368 STOP ^
23369 043407 254 04 0 00 043410 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
23370 043410 324 00 0 00 043411 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23371 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23372 ;IN THE SUBTEST) TO LOOP ON ERROR^
23373
23374 ;**********
23375
23376
23377 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
23378 ;IS THE FLOATING ONE.
23379 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
23380 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23381
23382 045524 SN=SN+1
23383 000002 XX=XX+XX
23384 IFE XX,<XX=1>
23385 043411 515 00 0 00 000002 HRLZI XX ;PRELOAD AC WITH FLOATING ONE
23386 043412 270 00 0 00 070253 ADD [0] ;ADD ZERO TO A FLOATING ONE
23387 043413 312 00 0 00 070310 CAME [XX,,0] ;CHECK ADDER UPON FALIRE
23388 STOP ^
23389 043414 254 04 0 00 043415 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
23390 043415 324 00 0 00 043416 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23391 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23392 ;IN THE SUBTEST) TO LOOP ON ERROR^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 86-8
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - FLT 1 + 0 SEQ 0521
23393
23394 ;**********
23395
23396
23397 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
23398 ;IS THE FLOATING ONE.
23399 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
23400 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23401
23402 045525 SN=SN+1
23403 000004 XX=XX+XX
23404 IFE XX,<XX=1>
23405 043416 515 00 0 00 000004 HRLZI XX ;PRELOAD AC WITH FLOATING ONE
23406 043417 270 00 0 00 070253 ADD [0] ;ADD ZERO TO A FLOATING ONE
23407 043420 312 00 0 00 070311 CAME [XX,,0] ;CHECK ADDER UPON FALIRE
23408 STOP ^
23409 043421 254 04 0 00 043422 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
23410 043422 324 00 0 00 043423 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23411 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23412 ;IN THE SUBTEST) TO LOOP ON ERROR^
23413
23414 ;**********
23415
23416
23417 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
23418 ;IS THE FLOATING ONE.
23419 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
23420 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23421
23422 045526 SN=SN+1
23423 000010 XX=XX+XX
23424 IFE XX,<XX=1>
23425 043423 515 00 0 00 000010 HRLZI XX ;PRELOAD AC WITH FLOATING ONE
23426 043424 270 00 0 00 070253 ADD [0] ;ADD ZERO TO A FLOATING ONE
23427 043425 312 00 0 00 070312 CAME [XX,,0] ;CHECK ADDER UPON FALIRE
23428 STOP ^
23429 043426 254 04 0 00 043427 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
23430 043427 324 00 0 00 043430 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23431 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23432 ;IN THE SUBTEST) TO LOOP ON ERROR^
23433
23434 ;**********
23435
23436
23437 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
23438 ;IS THE FLOATING ONE.
23439 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
23440 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23441
23442 045527 SN=SN+1
23443 000020 XX=XX+XX
23444 IFE XX,<XX=1>
23445 043430 515 00 0 00 000020 HRLZI XX ;PRELOAD AC WITH FLOATING ONE
23446 043431 270 00 0 00 070253 ADD [0] ;ADD ZERO TO A FLOATING ONE
23447 043432 312 00 0 00 070313 CAME [XX,,0] ;CHECK ADDER UPON FALIRE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 86-9
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - FLT 1 + 0 SEQ 0522
23448 STOP ^
23449 043433 254 04 0 00 043434 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
23450 043434 324 00 0 00 043435 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23451 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23452 ;IN THE SUBTEST) TO LOOP ON ERROR^
23453
23454 ;**********
23455
23456
23457 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
23458 ;IS THE FLOATING ONE.
23459 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
23460 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23461
23462 045530 SN=SN+1
23463 000040 XX=XX+XX
23464 IFE XX,<XX=1>
23465 043435 515 00 0 00 000040 HRLZI XX ;PRELOAD AC WITH FLOATING ONE
23466 043436 270 00 0 00 070253 ADD [0] ;ADD ZERO TO A FLOATING ONE
23467 043437 312 00 0 00 070314 CAME [XX,,0] ;CHECK ADDER UPON FALIRE
23468 STOP ^
23469 043440 254 04 0 00 043441 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
23470 043441 324 00 0 00 043442 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23471 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23472 ;IN THE SUBTEST) TO LOOP ON ERROR^
23473
23474 ;**********
23475
23476
23477 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
23478 ;IS THE FLOATING ONE.
23479 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
23480 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23481
23482 045531 SN=SN+1
23483 000100 XX=XX+XX
23484 IFE XX,<XX=1>
23485 043442 515 00 0 00 000100 HRLZI XX ;PRELOAD AC WITH FLOATING ONE
23486 043443 270 00 0 00 070253 ADD [0] ;ADD ZERO TO A FLOATING ONE
23487 043444 312 00 0 00 070315 CAME [XX,,0] ;CHECK ADDER UPON FALIRE
23488 STOP ^
23489 043445 254 04 0 00 043446 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
23490 043446 324 00 0 00 043447 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23491 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23492 ;IN THE SUBTEST) TO LOOP ON ERROR^
23493
23494 ;**********
23495
23496
23497 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
23498 ;IS THE FLOATING ONE.
23499 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
23500 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23501
23502 045532 SN=SN+1
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 86-10
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - FLT 1 + 0 SEQ 0523
23503 000200 XX=XX+XX
23504 IFE XX,<XX=1>
23505 043447 515 00 0 00 000200 HRLZI XX ;PRELOAD AC WITH FLOATING ONE
23506 043450 270 00 0 00 070253 ADD [0] ;ADD ZERO TO A FLOATING ONE
23507 043451 312 00 0 00 070316 CAME [XX,,0] ;CHECK ADDER UPON FALIRE
23508 STOP ^
23509 043452 254 04 0 00 043453 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
23510 043453 324 00 0 00 043454 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23511 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23512 ;IN THE SUBTEST) TO LOOP ON ERROR^
23513
23514 ;**********
23515
23516
23517 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
23518 ;IS THE FLOATING ONE.
23519 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
23520 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23521
23522 045533 SN=SN+1
23523 000400 XX=XX+XX
23524 IFE XX,<XX=1>
23525 043454 515 00 0 00 000400 HRLZI XX ;PRELOAD AC WITH FLOATING ONE
23526 043455 270 00 0 00 070253 ADD [0] ;ADD ZERO TO A FLOATING ONE
23527 043456 312 00 0 00 070264 CAME [XX,,0] ;CHECK ADDER UPON FALIRE
23528 STOP ^
23529 043457 254 04 0 00 043460 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
23530 043460 324 00 0 00 043461 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23531 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23532 ;IN THE SUBTEST) TO LOOP ON ERROR^
23533
23534 ;**********
23535
23536
23537 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
23538 ;IS THE FLOATING ONE.
23539 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
23540 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23541
23542 045534 SN=SN+1
23543 001000 XX=XX+XX
23544 IFE XX,<XX=1>
23545 043461 515 00 0 00 001000 HRLZI XX ;PRELOAD AC WITH FLOATING ONE
23546 043462 270 00 0 00 070253 ADD [0] ;ADD ZERO TO A FLOATING ONE
23547 043463 312 00 0 00 070317 CAME [XX,,0] ;CHECK ADDER UPON FALIRE
23548 STOP ^
23549 043464 254 04 0 00 043465 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
23550 043465 324 00 0 00 043466 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23551 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23552 ;IN THE SUBTEST) TO LOOP ON ERROR^
23553
23554 ;**********
23555
23556
23557 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 86-11
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - FLT 1 + 0 SEQ 0524
23558 ;IS THE FLOATING ONE.
23559 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
23560 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23561
23562 045535 SN=SN+1
23563 002000 XX=XX+XX
23564 IFE XX,<XX=1>
23565 043466 515 00 0 00 002000 HRLZI XX ;PRELOAD AC WITH FLOATING ONE
23566 043467 270 00 0 00 070253 ADD [0] ;ADD ZERO TO A FLOATING ONE
23567 043470 312 00 0 00 070320 CAME [XX,,0] ;CHECK ADDER UPON FALIRE
23568 STOP ^
23569 043471 254 04 0 00 043472 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
23570 043472 324 00 0 00 043473 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23571 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23572 ;IN THE SUBTEST) TO LOOP ON ERROR^
23573
23574 ;**********
23575
23576
23577 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
23578 ;IS THE FLOATING ONE.
23579 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
23580 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23581
23582 045536 SN=SN+1
23583 004000 XX=XX+XX
23584 IFE XX,<XX=1>
23585 043473 515 00 0 00 004000 HRLZI XX ;PRELOAD AC WITH FLOATING ONE
23586 043474 270 00 0 00 070253 ADD [0] ;ADD ZERO TO A FLOATING ONE
23587 043475 312 00 0 00 070321 CAME [XX,,0] ;CHECK ADDER UPON FALIRE
23588 STOP ^
23589 043476 254 04 0 00 043477 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
23590 043477 324 00 0 00 043500 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23591 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23592 ;IN THE SUBTEST) TO LOOP ON ERROR^
23593
23594 ;**********
23595
23596
23597 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
23598 ;IS THE FLOATING ONE.
23599 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
23600 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23601
23602 045537 SN=SN+1
23603 010000 XX=XX+XX
23604 IFE XX,<XX=1>
23605 043500 515 00 0 00 010000 HRLZI XX ;PRELOAD AC WITH FLOATING ONE
23606 043501 270 00 0 00 070253 ADD [0] ;ADD ZERO TO A FLOATING ONE
23607 043502 312 00 0 00 070322 CAME [XX,,0] ;CHECK ADDER UPON FALIRE
23608 STOP ^
23609 043503 254 04 0 00 043504 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
23610 043504 324 00 0 00 043505 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23611 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23612 ;IN THE SUBTEST) TO LOOP ON ERROR^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 86-12
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - FLT 1 + 0 SEQ 0525
23613
23614 ;**********
23615
23616
23617 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
23618 ;IS THE FLOATING ONE.
23619 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
23620 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23621
23622 045540 SN=SN+1
23623 020000 XX=XX+XX
23624 IFE XX,<XX=1>
23625 043505 515 00 0 00 020000 HRLZI XX ;PRELOAD AC WITH FLOATING ONE
23626 043506 270 00 0 00 070253 ADD [0] ;ADD ZERO TO A FLOATING ONE
23627 043507 312 00 0 00 070323 CAME [XX,,0] ;CHECK ADDER UPON FALIRE
23628 STOP ^
23629 043510 254 04 0 00 043511 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
23630 043511 324 00 0 00 043512 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23631 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23632 ;IN THE SUBTEST) TO LOOP ON ERROR^
23633
23634 ;**********
23635
23636
23637 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
23638 ;IS THE FLOATING ONE.
23639 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
23640 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23641
23642 045541 SN=SN+1
23643 040000 XX=XX+XX
23644 IFE XX,<XX=1>
23645 043512 515 00 0 00 040000 HRLZI XX ;PRELOAD AC WITH FLOATING ONE
23646 043513 270 00 0 00 070253 ADD [0] ;ADD ZERO TO A FLOATING ONE
23647 043514 312 00 0 00 070324 CAME [XX,,0] ;CHECK ADDER UPON FALIRE
23648 STOP ^
23649 043515 254 04 0 00 043516 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
23650 043516 324 00 0 00 043517 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23651 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23652 ;IN THE SUBTEST) TO LOOP ON ERROR^
23653
23654 ;**********
23655
23656
23657 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
23658 ;IS THE FLOATING ONE.
23659 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
23660 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23661
23662 045542 SN=SN+1
23663 100000 XX=XX+XX
23664 IFE XX,<XX=1>
23665 043517 515 00 0 00 100000 HRLZI XX ;PRELOAD AC WITH FLOATING ONE
23666 043520 270 00 0 00 070253 ADD [0] ;ADD ZERO TO A FLOATING ONE
23667 043521 312 00 0 00 070325 CAME [XX,,0] ;CHECK ADDER UPON FALIRE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 86-13
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - FLT 1 + 0 SEQ 0526
23668 STOP ^
23669 043522 254 04 0 00 043523 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
23670 043523 324 00 0 00 043524 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23671 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23672 ;IN THE SUBTEST) TO LOOP ON ERROR^
23673
23674 ;**********
23675
23676
23677 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
23678 ;IS THE FLOATING ONE.
23679 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
23680 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23681
23682 045543 SN=SN+1
23683 200000 XX=XX+XX
23684 IFE XX,<XX=1>
23685 043524 515 00 0 00 200000 HRLZI XX ;PRELOAD AC WITH FLOATING ONE
23686 043525 270 00 0 00 070253 ADD [0] ;ADD ZERO TO A FLOATING ONE
23687 043526 312 00 0 00 070326 CAME [XX,,0] ;CHECK ADDER UPON FALIRE
23688 STOP ^
23689 043527 254 04 0 00 043530 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
23690 043530 324 00 0 00 043531 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23691 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23692 ;IN THE SUBTEST) TO LOOP ON ERROR^
23693
23694 ;**********
23695
23696
23697 ;THIS TEST VERIFIES THAT THE RESULT OF A ZERO ADDED TO A FLOATING ONE
23698 ;IS THE FLOATING ONE.
23699 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
23700 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23701
23702 045544 SN=SN+1
23703 400000 XX=XX+XX
23704 IFE XX,<XX=1>
23705 043531 515 00 0 00 400000 HRLZI XX ;PRELOAD AC WITH FLOATING ONE
23706 043532 270 00 0 00 070253 ADD [0] ;ADD ZERO TO A FLOATING ONE
23707 043533 312 00 0 00 070256 CAME [XX,,0] ;CHECK ADDER UPON FALIRE
23708 STOP ^
23709 043534 254 04 0 00 043535 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
23710 043535 324 00 0 00 043536 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23711 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23712 ;IN THE SUBTEST) TO LOOP ON ERROR^
23713
23714 ;**********
23715
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 87
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - O + FLT 0 SEQ 0527
23716 SUBTTL SUPPLEMENTARY ADDER TESTS - O + FLT 0
23717
23718 ;**********
23719
23720 045600 SN=45600
23721 B45600: REPEAT ^D18,<
23722 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
23723 ;IS THE FLOATING ZERO.
23724 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
23725 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23726
23727 SN=SN+1
23728 XX=<XX+XX+1>&777777
23729 IFE <XX-1>,<XX=777776>
23730 SETZ ;PRELOAD AC WITH 0
23731 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ZERO
23732 CAME [-1,,XX] ;CHECK ADDER UPON FAILURE
23733 STOP
23734
23735 ;**********
23736 >
23737
23738 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
23739 ;IS THE FLOATING ZERO.
23740 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
23741 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23742
23743 045601 SN=SN+1
23744 000001 XX=<XX+XX+1>&777777
23745 777776 IFE <XX-1>,<XX=777776>
23746 043536 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
23747 043537 270 00 0 00 070333 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ZERO
23748 043540 312 00 0 00 070333 CAME [-1,,XX] ;CHECK ADDER UPON FAILURE
23749 STOP ^
23750 043541 254 04 0 00 043542 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
23751 043542 324 00 0 00 043543 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23752 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23753 ;IN THE SUBTEST) TO LOOP ON ERROR^
23754
23755 ;**********
23756
23757
23758 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
23759 ;IS THE FLOATING ZERO.
23760 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
23761 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23762
23763 045602 SN=SN+1
23764 777775 XX=<XX+XX+1>&777777
23765 IFE <XX-1>,<XX=777776>
23766 043543 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
23767 043544 270 00 0 00 070334 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ZERO
23768 043545 312 00 0 00 070334 CAME [-1,,XX] ;CHECK ADDER UPON FAILURE
23769 STOP ^
23770 043546 254 04 0 00 043547 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 87-1
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - O + FLT 0 SEQ 0528
23771 043547 324 00 0 00 043550 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23772 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23773 ;IN THE SUBTEST) TO LOOP ON ERROR^
23774
23775 ;**********
23776
23777
23778 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
23779 ;IS THE FLOATING ZERO.
23780 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
23781 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23782
23783 045603 SN=SN+1
23784 777773 XX=<XX+XX+1>&777777
23785 IFE <XX-1>,<XX=777776>
23786 043550 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
23787 043551 270 00 0 00 070335 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ZERO
23788 043552 312 00 0 00 070335 CAME [-1,,XX] ;CHECK ADDER UPON FAILURE
23789 STOP ^
23790 043553 254 04 0 00 043554 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
23791 043554 324 00 0 00 043555 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23792 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23793 ;IN THE SUBTEST) TO LOOP ON ERROR^
23794
23795 ;**********
23796
23797
23798 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
23799 ;IS THE FLOATING ZERO.
23800 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
23801 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23802
23803 045604 SN=SN+1
23804 777767 XX=<XX+XX+1>&777777
23805 IFE <XX-1>,<XX=777776>
23806 043555 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
23807 043556 270 00 0 00 070336 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ZERO
23808 043557 312 00 0 00 070336 CAME [-1,,XX] ;CHECK ADDER UPON FAILURE
23809 STOP ^
23810 043560 254 04 0 00 043561 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
23811 043561 324 00 0 00 043562 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23812 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23813 ;IN THE SUBTEST) TO LOOP ON ERROR^
23814
23815 ;**********
23816
23817
23818 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
23819 ;IS THE FLOATING ZERO.
23820 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
23821 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23822
23823 045605 SN=SN+1
23824 777757 XX=<XX+XX+1>&777777
23825 IFE <XX-1>,<XX=777776>
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 87-2
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - O + FLT 0 SEQ 0529
23826 043562 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
23827 043563 270 00 0 00 070337 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ZERO
23828 043564 312 00 0 00 070337 CAME [-1,,XX] ;CHECK ADDER UPON FAILURE
23829 STOP ^
23830 043565 254 04 0 00 043566 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
23831 043566 324 00 0 00 043567 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23832 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23833 ;IN THE SUBTEST) TO LOOP ON ERROR^
23834
23835 ;**********
23836
23837
23838 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
23839 ;IS THE FLOATING ZERO.
23840 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
23841 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23842
23843 045606 SN=SN+1
23844 777737 XX=<XX+XX+1>&777777
23845 IFE <XX-1>,<XX=777776>
23846 043567 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
23847 043570 270 00 0 00 070340 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ZERO
23848 043571 312 00 0 00 070340 CAME [-1,,XX] ;CHECK ADDER UPON FAILURE
23849 STOP ^
23850 043572 254 04 0 00 043573 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
23851 043573 324 00 0 00 043574 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23852 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23853 ;IN THE SUBTEST) TO LOOP ON ERROR^
23854
23855 ;**********
23856
23857
23858 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
23859 ;IS THE FLOATING ZERO.
23860 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
23861 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23862
23863 045607 SN=SN+1
23864 777677 XX=<XX+XX+1>&777777
23865 IFE <XX-1>,<XX=777776>
23866 043574 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
23867 043575 270 00 0 00 070341 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ZERO
23868 043576 312 00 0 00 070341 CAME [-1,,XX] ;CHECK ADDER UPON FAILURE
23869 STOP ^
23870 043577 254 04 0 00 043600 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
23871 043600 324 00 0 00 043601 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23872 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23873 ;IN THE SUBTEST) TO LOOP ON ERROR^
23874
23875 ;**********
23876
23877
23878 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
23879 ;IS THE FLOATING ZERO.
23880 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 87-3
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - O + FLT 0 SEQ 0530
23881 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23882
23883 045610 SN=SN+1
23884 777577 XX=<XX+XX+1>&777777
23885 IFE <XX-1>,<XX=777776>
23886 043601 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
23887 043602 270 00 0 00 070342 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ZERO
23888 043603 312 00 0 00 070342 CAME [-1,,XX] ;CHECK ADDER UPON FAILURE
23889 STOP ^
23890 043604 254 04 0 00 043605 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
23891 043605 324 00 0 00 043606 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23892 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23893 ;IN THE SUBTEST) TO LOOP ON ERROR^
23894
23895 ;**********
23896
23897
23898 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
23899 ;IS THE FLOATING ZERO.
23900 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
23901 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23902
23903 045611 SN=SN+1
23904 777377 XX=<XX+XX+1>&777777
23905 IFE <XX-1>,<XX=777776>
23906 043606 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
23907 043607 270 00 0 00 070343 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ZERO
23908 043610 312 00 0 00 070343 CAME [-1,,XX] ;CHECK ADDER UPON FAILURE
23909 STOP ^
23910 043611 254 04 0 00 043612 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
23911 043612 324 00 0 00 043613 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23912 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23913 ;IN THE SUBTEST) TO LOOP ON ERROR^
23914
23915 ;**********
23916
23917
23918 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
23919 ;IS THE FLOATING ZERO.
23920 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
23921 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23922
23923 045612 SN=SN+1
23924 776777 XX=<XX+XX+1>&777777
23925 IFE <XX-1>,<XX=777776>
23926 043613 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
23927 043614 270 00 0 00 070344 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ZERO
23928 043615 312 00 0 00 070344 CAME [-1,,XX] ;CHECK ADDER UPON FAILURE
23929 STOP ^
23930 043616 254 04 0 00 043617 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
23931 043617 324 00 0 00 043620 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23932 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23933 ;IN THE SUBTEST) TO LOOP ON ERROR^
23934
23935 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 87-4
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - O + FLT 0 SEQ 0531
23936
23937
23938 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
23939 ;IS THE FLOATING ZERO.
23940 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
23941 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23942
23943 045613 SN=SN+1
23944 775777 XX=<XX+XX+1>&777777
23945 IFE <XX-1>,<XX=777776>
23946 043620 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
23947 043621 270 00 0 00 070345 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ZERO
23948 043622 312 00 0 00 070345 CAME [-1,,XX] ;CHECK ADDER UPON FAILURE
23949 STOP ^
23950 043623 254 04 0 00 043624 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
23951 043624 324 00 0 00 043625 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23952 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23953 ;IN THE SUBTEST) TO LOOP ON ERROR^
23954
23955 ;**********
23956
23957
23958 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
23959 ;IS THE FLOATING ZERO.
23960 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
23961 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23962
23963 045614 SN=SN+1
23964 773777 XX=<XX+XX+1>&777777
23965 IFE <XX-1>,<XX=777776>
23966 043625 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
23967 043626 270 00 0 00 070346 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ZERO
23968 043627 312 00 0 00 070346 CAME [-1,,XX] ;CHECK ADDER UPON FAILURE
23969 STOP ^
23970 043630 254 04 0 00 043631 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
23971 043631 324 00 0 00 043632 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23972 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23973 ;IN THE SUBTEST) TO LOOP ON ERROR^
23974
23975 ;**********
23976
23977
23978 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
23979 ;IS THE FLOATING ZERO.
23980 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
23981 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
23982
23983 045615 SN=SN+1
23984 767777 XX=<XX+XX+1>&777777
23985 IFE <XX-1>,<XX=777776>
23986 043632 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
23987 043633 270 00 0 00 070347 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ZERO
23988 043634 312 00 0 00 070347 CAME [-1,,XX] ;CHECK ADDER UPON FAILURE
23989 STOP ^
23990 043635 254 04 0 00 043636 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 87-5
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - O + FLT 0 SEQ 0532
23991 043636 324 00 0 00 043637 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
23992 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
23993 ;IN THE SUBTEST) TO LOOP ON ERROR^
23994
23995 ;**********
23996
23997
23998 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
23999 ;IS THE FLOATING ZERO.
24000 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
24001 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24002
24003 045616 SN=SN+1
24004 757777 XX=<XX+XX+1>&777777
24005 IFE <XX-1>,<XX=777776>
24006 043637 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
24007 043640 270 00 0 00 070350 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ZERO
24008 043641 312 00 0 00 070350 CAME [-1,,XX] ;CHECK ADDER UPON FAILURE
24009 STOP ^
24010 043642 254 04 0 00 043643 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
24011 043643 324 00 0 00 043644 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
24012 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
24013 ;IN THE SUBTEST) TO LOOP ON ERROR^
24014
24015 ;**********
24016
24017
24018 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
24019 ;IS THE FLOATING ZERO.
24020 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
24021 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24022
24023 045617 SN=SN+1
24024 737777 XX=<XX+XX+1>&777777
24025 IFE <XX-1>,<XX=777776>
24026 043644 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
24027 043645 270 00 0 00 070351 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ZERO
24028 043646 312 00 0 00 070351 CAME [-1,,XX] ;CHECK ADDER UPON FAILURE
24029 STOP ^
24030 043647 254 04 0 00 043650 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
24031 043650 324 00 0 00 043651 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
24032 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
24033 ;IN THE SUBTEST) TO LOOP ON ERROR^
24034
24035 ;**********
24036
24037
24038 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
24039 ;IS THE FLOATING ZERO.
24040 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
24041 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24042
24043 045620 SN=SN+1
24044 677777 XX=<XX+XX+1>&777777
24045 IFE <XX-1>,<XX=777776>
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 87-6
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - O + FLT 0 SEQ 0533
24046 043651 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
24047 043652 270 00 0 00 070352 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ZERO
24048 043653 312 00 0 00 070352 CAME [-1,,XX] ;CHECK ADDER UPON FAILURE
24049 STOP ^
24050 043654 254 04 0 00 043655 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
24051 043655 324 00 0 00 043656 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
24052 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
24053 ;IN THE SUBTEST) TO LOOP ON ERROR^
24054
24055 ;**********
24056
24057
24058 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
24059 ;IS THE FLOATING ZERO.
24060 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
24061 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24062
24063 045621 SN=SN+1
24064 577777 XX=<XX+XX+1>&777777
24065 IFE <XX-1>,<XX=777776>
24066 043656 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
24067 043657 270 00 0 00 070353 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ZERO
24068 043660 312 00 0 00 070353 CAME [-1,,XX] ;CHECK ADDER UPON FAILURE
24069 STOP ^
24070 043661 254 04 0 00 043662 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
24071 043662 324 00 0 00 043663 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
24072 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
24073 ;IN THE SUBTEST) TO LOOP ON ERROR^
24074
24075 ;**********
24076
24077
24078 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
24079 ;IS THE FLOATING ZERO.
24080 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
24081 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24082
24083 045622 SN=SN+1
24084 377777 XX=<XX+XX+1>&777777
24085 IFE <XX-1>,<XX=777776>
24086 043663 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
24087 043664 270 00 0 00 070354 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ZERO
24088 043665 312 00 0 00 070354 CAME [-1,,XX] ;CHECK ADDER UPON FAILURE
24089 STOP ^
24090 043666 254 04 0 00 043667 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
24091 043667 324 00 0 00 043670 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
24092 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
24093 ;IN THE SUBTEST) TO LOOP ON ERROR^
24094
24095 ;**********
24096
24097 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 87-7
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - O + FLT 0 SEQ 0534
24098 000000 XX=0
24099
24100 REPEAT ^D18,<
24101 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
24102 ;IS THE FLOATING ZERO.
24103 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
24104 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24105
24106 SN=SN+1
24107 XX=<XX+XX+1>&777777
24108 IFE <XX-1>,<XX=777776>
24109 SETZ ;PRELOAD AC WITH 0
24110 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ZERO
24111 CAME [XX,,-1] ;CHECK ADDER UPON FAILURE
24112 STOP
24113
24114 ;**********
24115 >
24116
24117 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
24118 ;IS THE FLOATING ZERO.
24119 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
24120 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24121
24122 045623 SN=SN+1
24123 000001 XX=<XX+XX+1>&777777
24124 777776 IFE <XX-1>,<XX=777776>
24125 043670 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
24126 043671 270 00 0 00 070355 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ZERO
24127 043672 312 00 0 00 070355 CAME [XX,,-1] ;CHECK ADDER UPON FAILURE
24128 STOP ^
24129 043673 254 04 0 00 043674 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
24130 043674 324 00 0 00 043675 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
24131 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
24132 ;IN THE SUBTEST) TO LOOP ON ERROR^
24133
24134 ;**********
24135
24136
24137 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
24138 ;IS THE FLOATING ZERO.
24139 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
24140 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24141
24142 045624 SN=SN+1
24143 777775 XX=<XX+XX+1>&777777
24144 IFE <XX-1>,<XX=777776>
24145 043675 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
24146 043676 270 00 0 00 070356 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ZERO
24147 043677 312 00 0 00 070356 CAME [XX,,-1] ;CHECK ADDER UPON FAILURE
24148 STOP ^
24149 043700 254 04 0 00 043701 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
24150 043701 324 00 0 00 043702 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
24151 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
24152 ;IN THE SUBTEST) TO LOOP ON ERROR^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 87-8
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - O + FLT 0 SEQ 0535
24153
24154 ;**********
24155
24156
24157 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
24158 ;IS THE FLOATING ZERO.
24159 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
24160 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24161
24162 045625 SN=SN+1
24163 777773 XX=<XX+XX+1>&777777
24164 IFE <XX-1>,<XX=777776>
24165 043702 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
24166 043703 270 00 0 00 070357 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ZERO
24167 043704 312 00 0 00 070357 CAME [XX,,-1] ;CHECK ADDER UPON FAILURE
24168 STOP ^
24169 043705 254 04 0 00 043706 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
24170 043706 324 00 0 00 043707 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
24171 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
24172 ;IN THE SUBTEST) TO LOOP ON ERROR^
24173
24174 ;**********
24175
24176
24177 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
24178 ;IS THE FLOATING ZERO.
24179 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
24180 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24181
24182 045626 SN=SN+1
24183 777767 XX=<XX+XX+1>&777777
24184 IFE <XX-1>,<XX=777776>
24185 043707 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
24186 043710 270 00 0 00 070360 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ZERO
24187 043711 312 00 0 00 070360 CAME [XX,,-1] ;CHECK ADDER UPON FAILURE
24188 STOP ^
24189 043712 254 04 0 00 043713 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
24190 043713 324 00 0 00 043714 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
24191 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
24192 ;IN THE SUBTEST) TO LOOP ON ERROR^
24193
24194 ;**********
24195
24196
24197 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
24198 ;IS THE FLOATING ZERO.
24199 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
24200 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24201
24202 045627 SN=SN+1
24203 777757 XX=<XX+XX+1>&777777
24204 IFE <XX-1>,<XX=777776>
24205 043714 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
24206 043715 270 00 0 00 070361 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ZERO
24207 043716 312 00 0 00 070361 CAME [XX,,-1] ;CHECK ADDER UPON FAILURE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 87-9
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - O + FLT 0 SEQ 0536
24208 STOP ^
24209 043717 254 04 0 00 043720 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
24210 043720 324 00 0 00 043721 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
24211 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
24212 ;IN THE SUBTEST) TO LOOP ON ERROR^
24213
24214 ;**********
24215
24216
24217 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
24218 ;IS THE FLOATING ZERO.
24219 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
24220 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24221
24222 045630 SN=SN+1
24223 777737 XX=<XX+XX+1>&777777
24224 IFE <XX-1>,<XX=777776>
24225 043721 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
24226 043722 270 00 0 00 070362 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ZERO
24227 043723 312 00 0 00 070362 CAME [XX,,-1] ;CHECK ADDER UPON FAILURE
24228 STOP ^
24229 043724 254 04 0 00 043725 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
24230 043725 324 00 0 00 043726 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
24231 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
24232 ;IN THE SUBTEST) TO LOOP ON ERROR^
24233
24234 ;**********
24235
24236
24237 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
24238 ;IS THE FLOATING ZERO.
24239 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
24240 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24241
24242 045631 SN=SN+1
24243 777677 XX=<XX+XX+1>&777777
24244 IFE <XX-1>,<XX=777776>
24245 043726 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
24246 043727 270 00 0 00 070363 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ZERO
24247 043730 312 00 0 00 070363 CAME [XX,,-1] ;CHECK ADDER UPON FAILURE
24248 STOP ^
24249 043731 254 04 0 00 043732 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
24250 043732 324 00 0 00 043733 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
24251 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
24252 ;IN THE SUBTEST) TO LOOP ON ERROR^
24253
24254 ;**********
24255
24256
24257 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
24258 ;IS THE FLOATING ZERO.
24259 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
24260 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24261
24262 045632 SN=SN+1
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 87-10
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - O + FLT 0 SEQ 0537
24263 777577 XX=<XX+XX+1>&777777
24264 IFE <XX-1>,<XX=777776>
24265 043733 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
24266 043734 270 00 0 00 070364 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ZERO
24267 043735 312 00 0 00 070364 CAME [XX,,-1] ;CHECK ADDER UPON FAILURE
24268 STOP ^
24269 043736 254 04 0 00 043737 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
24270 043737 324 00 0 00 043740 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
24271 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
24272 ;IN THE SUBTEST) TO LOOP ON ERROR^
24273
24274 ;**********
24275
24276
24277 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
24278 ;IS THE FLOATING ZERO.
24279 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
24280 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24281
24282 045633 SN=SN+1
24283 777377 XX=<XX+XX+1>&777777
24284 IFE <XX-1>,<XX=777776>
24285 043740 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
24286 043741 270 00 0 00 070365 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ZERO
24287 043742 312 00 0 00 070365 CAME [XX,,-1] ;CHECK ADDER UPON FAILURE
24288 STOP ^
24289 043743 254 04 0 00 043744 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
24290 043744 324 00 0 00 043745 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
24291 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
24292 ;IN THE SUBTEST) TO LOOP ON ERROR^
24293
24294 ;**********
24295
24296
24297 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
24298 ;IS THE FLOATING ZERO.
24299 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
24300 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24301
24302 045634 SN=SN+1
24303 776777 XX=<XX+XX+1>&777777
24304 IFE <XX-1>,<XX=777776>
24305 043745 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
24306 043746 270 00 0 00 070366 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ZERO
24307 043747 312 00 0 00 070366 CAME [XX,,-1] ;CHECK ADDER UPON FAILURE
24308 STOP ^
24309 043750 254 04 0 00 043751 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
24310 043751 324 00 0 00 043752 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
24311 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
24312 ;IN THE SUBTEST) TO LOOP ON ERROR^
24313
24314 ;**********
24315
24316
24317 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 87-11
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - O + FLT 0 SEQ 0538
24318 ;IS THE FLOATING ZERO.
24319 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
24320 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24321
24322 045635 SN=SN+1
24323 775777 XX=<XX+XX+1>&777777
24324 IFE <XX-1>,<XX=777776>
24325 043752 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
24326 043753 270 00 0 00 070367 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ZERO
24327 043754 312 00 0 00 070367 CAME [XX,,-1] ;CHECK ADDER UPON FAILURE
24328 STOP ^
24329 043755 254 04 0 00 043756 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
24330 043756 324 00 0 00 043757 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
24331 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
24332 ;IN THE SUBTEST) TO LOOP ON ERROR^
24333
24334 ;**********
24335
24336
24337 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
24338 ;IS THE FLOATING ZERO.
24339 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
24340 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24341
24342 045636 SN=SN+1
24343 773777 XX=<XX+XX+1>&777777
24344 IFE <XX-1>,<XX=777776>
24345 043757 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
24346 043760 270 00 0 00 070370 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ZERO
24347 043761 312 00 0 00 070370 CAME [XX,,-1] ;CHECK ADDER UPON FAILURE
24348 STOP ^
24349 043762 254 04 0 00 043763 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
24350 043763 324 00 0 00 043764 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
24351 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
24352 ;IN THE SUBTEST) TO LOOP ON ERROR^
24353
24354 ;**********
24355
24356
24357 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
24358 ;IS THE FLOATING ZERO.
24359 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
24360 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24361
24362 045637 SN=SN+1
24363 767777 XX=<XX+XX+1>&777777
24364 IFE <XX-1>,<XX=777776>
24365 043764 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
24366 043765 270 00 0 00 070371 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ZERO
24367 043766 312 00 0 00 070371 CAME [XX,,-1] ;CHECK ADDER UPON FAILURE
24368 STOP ^
24369 043767 254 04 0 00 043770 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
24370 043770 324 00 0 00 043771 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
24371 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
24372 ;IN THE SUBTEST) TO LOOP ON ERROR^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 87-12
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - O + FLT 0 SEQ 0539
24373
24374 ;**********
24375
24376
24377 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
24378 ;IS THE FLOATING ZERO.
24379 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
24380 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24381
24382 045640 SN=SN+1
24383 757777 XX=<XX+XX+1>&777777
24384 IFE <XX-1>,<XX=777776>
24385 043771 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
24386 043772 270 00 0 00 070372 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ZERO
24387 043773 312 00 0 00 070372 CAME [XX,,-1] ;CHECK ADDER UPON FAILURE
24388 STOP ^
24389 043774 254 04 0 00 043775 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
24390 043775 324 00 0 00 043776 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
24391 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
24392 ;IN THE SUBTEST) TO LOOP ON ERROR^
24393
24394 ;**********
24395
24396
24397 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
24398 ;IS THE FLOATING ZERO.
24399 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
24400 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24401
24402 045641 SN=SN+1
24403 737777 XX=<XX+XX+1>&777777
24404 IFE <XX-1>,<XX=777776>
24405 043776 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
24406 043777 270 00 0 00 070373 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ZERO
24407 044000 312 00 0 00 070373 CAME [XX,,-1] ;CHECK ADDER UPON FAILURE
24408 STOP ^
24409 044001 254 04 0 00 044002 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
24410 044002 324 00 0 00 044003 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
24411 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
24412 ;IN THE SUBTEST) TO LOOP ON ERROR^
24413
24414 ;**********
24415
24416
24417 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
24418 ;IS THE FLOATING ZERO.
24419 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
24420 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24421
24422 045642 SN=SN+1
24423 677777 XX=<XX+XX+1>&777777
24424 IFE <XX-1>,<XX=777776>
24425 044003 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
24426 044004 270 00 0 00 070374 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ZERO
24427 044005 312 00 0 00 070374 CAME [XX,,-1] ;CHECK ADDER UPON FAILURE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 87-13
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - O + FLT 0 SEQ 0540
24428 STOP ^
24429 044006 254 04 0 00 044007 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
24430 044007 324 00 0 00 044010 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
24431 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
24432 ;IN THE SUBTEST) TO LOOP ON ERROR^
24433
24434 ;**********
24435
24436
24437 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
24438 ;IS THE FLOATING ZERO.
24439 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
24440 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24441
24442 045643 SN=SN+1
24443 577777 XX=<XX+XX+1>&777777
24444 IFE <XX-1>,<XX=777776>
24445 044010 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
24446 044011 270 00 0 00 070375 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ZERO
24447 044012 312 00 0 00 070375 CAME [XX,,-1] ;CHECK ADDER UPON FAILURE
24448 STOP ^
24449 044013 254 04 0 00 044014 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
24450 044014 324 00 0 00 044015 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
24451 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
24452 ;IN THE SUBTEST) TO LOOP ON ERROR^
24453
24454 ;**********
24455
24456
24457 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO ADDED TO A ZERO
24458 ;IS THE FLOATING ZERO.
24459 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
24460 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24461
24462 045644 SN=SN+1
24463 377777 XX=<XX+XX+1>&777777
24464 IFE <XX-1>,<XX=777776>
24465 044015 400 00 0 00 000000 SETZ ;PRELOAD AC WITH 0
24466 044016 270 00 0 00 070255 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ZERO
24467 044017 312 00 0 00 070255 CAME [XX,,-1] ;CHECK ADDER UPON FAILURE
24468 STOP ^
24469 044020 254 04 0 00 044021 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
24470 044021 324 00 0 00 044022 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
24471 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
24472 ;IN THE SUBTEST) TO LOOP ON ERROR^
24473
24474 ;**********
24475
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 88
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - FLT 1 + FLT 1 SEQ 0541
24476 SUBTTL SUPPLEMENTARY ADDER TESTS - FLT 1 + FLT 1
24477
24478 ;**********
24479
24480 045700 SN=45700
24481 000000 XX=0
24482
24483 B45700: REPEAT ^D17,<
24484 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
24485 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
24486 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
24487 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
24488 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24489
24490 SN=SN+1
24491 XX=XX+XX
24492 IFE XX,<XX=1>
24493 HRRZI XX ;PRELOAD AC WITH A FLOATING ONE
24494 ADD [XX] ;ADD A FLOATING ONE TO ITSELF
24495 CAME [XX+XX] ;CHECK ADDER UPON FAILURE
24496 STOP
24497
24498 ;**********
24499 >
24500
24501 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
24502 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
24503 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
24504 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
24505 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24506
24507 045701 SN=SN+1
24508 000000 XX=XX+XX
24509 000001 IFE XX,<XX=1>
24510 044022 551 00 0 00 000001 HRRZI XX ;PRELOAD AC WITH A FLOATING ONE
24511 044023 270 00 0 00 070265 ADD [XX] ;ADD A FLOATING ONE TO ITSELF
24512 044024 312 00 0 00 070266 CAME [XX+XX] ;CHECK ADDER UPON FAILURE
24513 STOP ^
24514 044025 254 04 0 00 044026 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
24515 044026 324 00 0 00 044027 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
24516 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
24517 ;IN THE SUBTEST) TO LOOP ON ERROR^
24518
24519 ;**********
24520
24521
24522 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
24523 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
24524 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
24525 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
24526 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24527
24528 045702 SN=SN+1
24529 000002 XX=XX+XX
24530 IFE XX,<XX=1>
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 88-1
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - FLT 1 + FLT 1 SEQ 0542
24531 044027 551 00 0 00 000002 HRRZI XX ;PRELOAD AC WITH A FLOATING ONE
24532 044030 270 00 0 00 070266 ADD [XX] ;ADD A FLOATING ONE TO ITSELF
24533 044031 312 00 0 00 070267 CAME [XX+XX] ;CHECK ADDER UPON FAILURE
24534 STOP ^
24535 044032 254 04 0 00 044033 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
24536 044033 324 00 0 00 044034 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
24537 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
24538 ;IN THE SUBTEST) TO LOOP ON ERROR^
24539
24540 ;**********
24541
24542
24543 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
24544 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
24545 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
24546 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
24547 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24548
24549 045703 SN=SN+1
24550 000004 XX=XX+XX
24551 IFE XX,<XX=1>
24552 044034 551 00 0 00 000004 HRRZI XX ;PRELOAD AC WITH A FLOATING ONE
24553 044035 270 00 0 00 070267 ADD [XX] ;ADD A FLOATING ONE TO ITSELF
24554 044036 312 00 0 00 070270 CAME [XX+XX] ;CHECK ADDER UPON FAILURE
24555 STOP ^
24556 044037 254 04 0 00 044040 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
24557 044040 324 00 0 00 044041 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
24558 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
24559 ;IN THE SUBTEST) TO LOOP ON ERROR^
24560
24561 ;**********
24562
24563
24564 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
24565 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
24566 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
24567 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
24568 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24569
24570 045704 SN=SN+1
24571 000010 XX=XX+XX
24572 IFE XX,<XX=1>
24573 044041 551 00 0 00 000010 HRRZI XX ;PRELOAD AC WITH A FLOATING ONE
24574 044042 270 00 0 00 070270 ADD [XX] ;ADD A FLOATING ONE TO ITSELF
24575 044043 312 00 0 00 070271 CAME [XX+XX] ;CHECK ADDER UPON FAILURE
24576 STOP ^
24577 044044 254 04 0 00 044045 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
24578 044045 324 00 0 00 044046 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
24579 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
24580 ;IN THE SUBTEST) TO LOOP ON ERROR^
24581
24582 ;**********
24583
24584
24585 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 88-2
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - FLT 1 + FLT 1 SEQ 0543
24586 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
24587 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
24588 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
24589 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24590
24591 045705 SN=SN+1
24592 000020 XX=XX+XX
24593 IFE XX,<XX=1>
24594 044046 551 00 0 00 000020 HRRZI XX ;PRELOAD AC WITH A FLOATING ONE
24595 044047 270 00 0 00 070271 ADD [XX] ;ADD A FLOATING ONE TO ITSELF
24596 044050 312 00 0 00 070272 CAME [XX+XX] ;CHECK ADDER UPON FAILURE
24597 STOP ^
24598 044051 254 04 0 00 044052 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
24599 044052 324 00 0 00 044053 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
24600 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
24601 ;IN THE SUBTEST) TO LOOP ON ERROR^
24602
24603 ;**********
24604
24605
24606 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
24607 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
24608 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
24609 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
24610 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24611
24612 045706 SN=SN+1
24613 000040 XX=XX+XX
24614 IFE XX,<XX=1>
24615 044053 551 00 0 00 000040 HRRZI XX ;PRELOAD AC WITH A FLOATING ONE
24616 044054 270 00 0 00 070272 ADD [XX] ;ADD A FLOATING ONE TO ITSELF
24617 044055 312 00 0 00 070273 CAME [XX+XX] ;CHECK ADDER UPON FAILURE
24618 STOP ^
24619 044056 254 04 0 00 044057 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
24620 044057 324 00 0 00 044060 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
24621 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
24622 ;IN THE SUBTEST) TO LOOP ON ERROR^
24623
24624 ;**********
24625
24626
24627 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
24628 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
24629 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
24630 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
24631 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24632
24633 045707 SN=SN+1
24634 000100 XX=XX+XX
24635 IFE XX,<XX=1>
24636 044060 551 00 0 00 000100 HRRZI XX ;PRELOAD AC WITH A FLOATING ONE
24637 044061 270 00 0 00 070273 ADD [XX] ;ADD A FLOATING ONE TO ITSELF
24638 044062 312 00 0 00 070274 CAME [XX+XX] ;CHECK ADDER UPON FAILURE
24639 STOP ^
24640 044063 254 04 0 00 044064 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 88-3
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - FLT 1 + FLT 1 SEQ 0544
24641 044064 324 00 0 00 044065 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
24642 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
24643 ;IN THE SUBTEST) TO LOOP ON ERROR^
24644
24645 ;**********
24646
24647
24648 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
24649 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
24650 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
24651 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
24652 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24653
24654 045710 SN=SN+1
24655 000200 XX=XX+XX
24656 IFE XX,<XX=1>
24657 044065 551 00 0 00 000200 HRRZI XX ;PRELOAD AC WITH A FLOATING ONE
24658 044066 270 00 0 00 070274 ADD [XX] ;ADD A FLOATING ONE TO ITSELF
24659 044067 312 00 0 00 070275 CAME [XX+XX] ;CHECK ADDER UPON FAILURE
24660 STOP ^
24661 044070 254 04 0 00 044071 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
24662 044071 324 00 0 00 044072 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
24663 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
24664 ;IN THE SUBTEST) TO LOOP ON ERROR^
24665
24666 ;**********
24667
24668
24669 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
24670 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
24671 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
24672 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
24673 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24674
24675 045711 SN=SN+1
24676 000400 XX=XX+XX
24677 IFE XX,<XX=1>
24678 044072 551 00 0 00 000400 HRRZI XX ;PRELOAD AC WITH A FLOATING ONE
24679 044073 270 00 0 00 070275 ADD [XX] ;ADD A FLOATING ONE TO ITSELF
24680 044074 312 00 0 00 070276 CAME [XX+XX] ;CHECK ADDER UPON FAILURE
24681 STOP ^
24682 044075 254 04 0 00 044076 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
24683 044076 324 00 0 00 044077 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
24684 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
24685 ;IN THE SUBTEST) TO LOOP ON ERROR^
24686
24687 ;**********
24688
24689
24690 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
24691 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
24692 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
24693 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
24694 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24695
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 88-4
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - FLT 1 + FLT 1 SEQ 0545
24696 045712 SN=SN+1
24697 001000 XX=XX+XX
24698 IFE XX,<XX=1>
24699 044077 551 00 0 00 001000 HRRZI XX ;PRELOAD AC WITH A FLOATING ONE
24700 044100 270 00 0 00 070276 ADD [XX] ;ADD A FLOATING ONE TO ITSELF
24701 044101 312 00 0 00 070277 CAME [XX+XX] ;CHECK ADDER UPON FAILURE
24702 STOP ^
24703 044102 254 04 0 00 044103 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
24704 044103 324 00 0 00 044104 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
24705 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
24706 ;IN THE SUBTEST) TO LOOP ON ERROR^
24707
24708 ;**********
24709
24710
24711 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
24712 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
24713 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
24714 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
24715 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24716
24717 045713 SN=SN+1
24718 002000 XX=XX+XX
24719 IFE XX,<XX=1>
24720 044104 551 00 0 00 002000 HRRZI XX ;PRELOAD AC WITH A FLOATING ONE
24721 044105 270 00 0 00 070277 ADD [XX] ;ADD A FLOATING ONE TO ITSELF
24722 044106 312 00 0 00 070300 CAME [XX+XX] ;CHECK ADDER UPON FAILURE
24723 STOP ^
24724 044107 254 04 0 00 044110 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
24725 044110 324 00 0 00 044111 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
24726 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
24727 ;IN THE SUBTEST) TO LOOP ON ERROR^
24728
24729 ;**********
24730
24731
24732 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
24733 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
24734 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
24735 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
24736 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24737
24738 045714 SN=SN+1
24739 004000 XX=XX+XX
24740 IFE XX,<XX=1>
24741 044111 551 00 0 00 004000 HRRZI XX ;PRELOAD AC WITH A FLOATING ONE
24742 044112 270 00 0 00 070300 ADD [XX] ;ADD A FLOATING ONE TO ITSELF
24743 044113 312 00 0 00 070301 CAME [XX+XX] ;CHECK ADDER UPON FAILURE
24744 STOP ^
24745 044114 254 04 0 00 044115 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
24746 044115 324 00 0 00 044116 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
24747 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
24748 ;IN THE SUBTEST) TO LOOP ON ERROR^
24749
24750 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 88-5
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - FLT 1 + FLT 1 SEQ 0546
24751
24752
24753 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
24754 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
24755 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
24756 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
24757 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24758
24759 045715 SN=SN+1
24760 010000 XX=XX+XX
24761 IFE XX,<XX=1>
24762 044116 551 00 0 00 010000 HRRZI XX ;PRELOAD AC WITH A FLOATING ONE
24763 044117 270 00 0 00 070301 ADD [XX] ;ADD A FLOATING ONE TO ITSELF
24764 044120 312 00 0 00 070302 CAME [XX+XX] ;CHECK ADDER UPON FAILURE
24765 STOP ^
24766 044121 254 04 0 00 044122 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
24767 044122 324 00 0 00 044123 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
24768 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
24769 ;IN THE SUBTEST) TO LOOP ON ERROR^
24770
24771 ;**********
24772
24773
24774 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
24775 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
24776 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
24777 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
24778 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24779
24780 045716 SN=SN+1
24781 020000 XX=XX+XX
24782 IFE XX,<XX=1>
24783 044123 551 00 0 00 020000 HRRZI XX ;PRELOAD AC WITH A FLOATING ONE
24784 044124 270 00 0 00 070302 ADD [XX] ;ADD A FLOATING ONE TO ITSELF
24785 044125 312 00 0 00 070303 CAME [XX+XX] ;CHECK ADDER UPON FAILURE
24786 STOP ^
24787 044126 254 04 0 00 044127 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
24788 044127 324 00 0 00 044130 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
24789 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
24790 ;IN THE SUBTEST) TO LOOP ON ERROR^
24791
24792 ;**********
24793
24794
24795 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
24796 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
24797 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
24798 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
24799 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24800
24801 045717 SN=SN+1
24802 040000 XX=XX+XX
24803 IFE XX,<XX=1>
24804 044130 551 00 0 00 040000 HRRZI XX ;PRELOAD AC WITH A FLOATING ONE
24805 044131 270 00 0 00 070303 ADD [XX] ;ADD A FLOATING ONE TO ITSELF
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 88-6
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - FLT 1 + FLT 1 SEQ 0547
24806 044132 312 00 0 00 070304 CAME [XX+XX] ;CHECK ADDER UPON FAILURE
24807 STOP ^
24808 044133 254 04 0 00 044134 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
24809 044134 324 00 0 00 044135 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
24810 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
24811 ;IN THE SUBTEST) TO LOOP ON ERROR^
24812
24813 ;**********
24814
24815
24816 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
24817 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
24818 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
24819 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
24820 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24821
24822 045720 SN=SN+1
24823 100000 XX=XX+XX
24824 IFE XX,<XX=1>
24825 044135 551 00 0 00 100000 HRRZI XX ;PRELOAD AC WITH A FLOATING ONE
24826 044136 270 00 0 00 070304 ADD [XX] ;ADD A FLOATING ONE TO ITSELF
24827 044137 312 00 0 00 070305 CAME [XX+XX] ;CHECK ADDER UPON FAILURE
24828 STOP ^
24829 044140 254 04 0 00 044141 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
24830 044141 324 00 0 00 044142 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
24831 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
24832 ;IN THE SUBTEST) TO LOOP ON ERROR^
24833
24834 ;**********
24835
24836
24837 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
24838 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
24839 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
24840 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
24841 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24842
24843 045721 SN=SN+1
24844 200000 XX=XX+XX
24845 IFE XX,<XX=1>
24846 044142 551 00 0 00 200000 HRRZI XX ;PRELOAD AC WITH A FLOATING ONE
24847 044143 270 00 0 00 070305 ADD [XX] ;ADD A FLOATING ONE TO ITSELF
24848 044144 312 00 0 00 070306 CAME [XX+XX] ;CHECK ADDER UPON FAILURE
24849 STOP ^
24850 044145 254 04 0 00 044146 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
24851 044146 324 00 0 00 044147 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
24852 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
24853 ;IN THE SUBTEST) TO LOOP ON ERROR^
24854
24855 ;**********
24856
24857 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 88-7
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - FLT 1 + FLT 1 SEQ 0548
24858 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
24859 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
24860 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
24861 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
24862 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24863 045722 SN=SN+1
24864 400000 XX=XX+XX
24865 044147 551 00 0 00 400000 HRRZI XX ;PRELOAD AC WITH A FLOATING ONE
24866 044150 270 00 0 00 070306 ADD [XX] ;ADD A FLOATING ONE TO ITSELF
24867 044151 312 00 0 00 070307 CAME [1,,0] ;CHECK ADDRESS UPON FAILURE
24868 STOP ^
24869 044152 254 04 0 00 044153 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
24870 044153 324 00 0 00 044154 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
24871 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
24872 ;IN THE SUBTEST) TO LOOP ON ERROR^
24873
24874 ;**********
24875
24876 000000 XX=0
24877
24878 REPEAT ^D17,<
24879 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
24880 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
24881 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
24882 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
24883 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24884
24885 SN=SN+1
24886 XX=XX+XX
24887 IFE XX,<XX=1>
24888 HRLZI XX ;PRELOAD AC WITH A FLOATING ONE
24889 ADD [XX,,0] ;ADD A FLOATING ONE TO ITSELF
24890 CAME [XX+XX,,0] ;CHECK ADDER UPON FAILURE
24891 STOP
24892
24893 ;**********
24894 >
24895
24896 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
24897 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
24898 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
24899 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
24900 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24901
24902 045723 SN=SN+1
24903 000000 XX=XX+XX
24904 000001 IFE XX,<XX=1>
24905 044154 515 00 0 00 000001 HRLZI XX ;PRELOAD AC WITH A FLOATING ONE
24906 044155 270 00 0 00 070307 ADD [XX,,0] ;ADD A FLOATING ONE TO ITSELF
24907 044156 312 00 0 00 070310 CAME [XX+XX,,0] ;CHECK ADDER UPON FAILURE
24908 STOP ^
24909 044157 254 04 0 00 044160 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
24910 044160 324 00 0 00 044161 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
24911 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
24912 ;IN THE SUBTEST) TO LOOP ON ERROR^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 88-8
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - FLT 1 + FLT 1 SEQ 0549
24913
24914 ;**********
24915
24916
24917 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
24918 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
24919 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
24920 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
24921 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24922
24923 045724 SN=SN+1
24924 000002 XX=XX+XX
24925 IFE XX,<XX=1>
24926 044161 515 00 0 00 000002 HRLZI XX ;PRELOAD AC WITH A FLOATING ONE
24927 044162 270 00 0 00 070310 ADD [XX,,0] ;ADD A FLOATING ONE TO ITSELF
24928 044163 312 00 0 00 070311 CAME [XX+XX,,0] ;CHECK ADDER UPON FAILURE
24929 STOP ^
24930 044164 254 04 0 00 044165 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
24931 044165 324 00 0 00 044166 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
24932 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
24933 ;IN THE SUBTEST) TO LOOP ON ERROR^
24934
24935 ;**********
24936
24937
24938 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
24939 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
24940 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
24941 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
24942 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24943
24944 045725 SN=SN+1
24945 000004 XX=XX+XX
24946 IFE XX,<XX=1>
24947 044166 515 00 0 00 000004 HRLZI XX ;PRELOAD AC WITH A FLOATING ONE
24948 044167 270 00 0 00 070311 ADD [XX,,0] ;ADD A FLOATING ONE TO ITSELF
24949 044170 312 00 0 00 070312 CAME [XX+XX,,0] ;CHECK ADDER UPON FAILURE
24950 STOP ^
24951 044171 254 04 0 00 044172 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
24952 044172 324 00 0 00 044173 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
24953 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
24954 ;IN THE SUBTEST) TO LOOP ON ERROR^
24955
24956 ;**********
24957
24958
24959 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
24960 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
24961 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
24962 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
24963 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24964
24965 045726 SN=SN+1
24966 000010 XX=XX+XX
24967 IFE XX,<XX=1>
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 88-9
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - FLT 1 + FLT 1 SEQ 0550
24968 044173 515 00 0 00 000010 HRLZI XX ;PRELOAD AC WITH A FLOATING ONE
24969 044174 270 00 0 00 070312 ADD [XX,,0] ;ADD A FLOATING ONE TO ITSELF
24970 044175 312 00 0 00 070313 CAME [XX+XX,,0] ;CHECK ADDER UPON FAILURE
24971 STOP ^
24972 044176 254 04 0 00 044177 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
24973 044177 324 00 0 00 044200 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
24974 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
24975 ;IN THE SUBTEST) TO LOOP ON ERROR^
24976
24977 ;**********
24978
24979
24980 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
24981 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
24982 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
24983 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
24984 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
24985
24986 045727 SN=SN+1
24987 000020 XX=XX+XX
24988 IFE XX,<XX=1>
24989 044200 515 00 0 00 000020 HRLZI XX ;PRELOAD AC WITH A FLOATING ONE
24990 044201 270 00 0 00 070313 ADD [XX,,0] ;ADD A FLOATING ONE TO ITSELF
24991 044202 312 00 0 00 070314 CAME [XX+XX,,0] ;CHECK ADDER UPON FAILURE
24992 STOP ^
24993 044203 254 04 0 00 044204 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
24994 044204 324 00 0 00 044205 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
24995 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
24996 ;IN THE SUBTEST) TO LOOP ON ERROR^
24997
24998 ;**********
24999
25000
25001 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
25002 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
25003 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
25004 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
25005 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25006
25007 045730 SN=SN+1
25008 000040 XX=XX+XX
25009 IFE XX,<XX=1>
25010 044205 515 00 0 00 000040 HRLZI XX ;PRELOAD AC WITH A FLOATING ONE
25011 044206 270 00 0 00 070314 ADD [XX,,0] ;ADD A FLOATING ONE TO ITSELF
25012 044207 312 00 0 00 070315 CAME [XX+XX,,0] ;CHECK ADDER UPON FAILURE
25013 STOP ^
25014 044210 254 04 0 00 044211 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
25015 044211 324 00 0 00 044212 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
25016 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
25017 ;IN THE SUBTEST) TO LOOP ON ERROR^
25018
25019 ;**********
25020
25021
25022 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 88-10
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - FLT 1 + FLT 1 SEQ 0551
25023 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
25024 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
25025 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
25026 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25027
25028 045731 SN=SN+1
25029 000100 XX=XX+XX
25030 IFE XX,<XX=1>
25031 044212 515 00 0 00 000100 HRLZI XX ;PRELOAD AC WITH A FLOATING ONE
25032 044213 270 00 0 00 070315 ADD [XX,,0] ;ADD A FLOATING ONE TO ITSELF
25033 044214 312 00 0 00 070316 CAME [XX+XX,,0] ;CHECK ADDER UPON FAILURE
25034 STOP ^
25035 044215 254 04 0 00 044216 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
25036 044216 324 00 0 00 044217 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
25037 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
25038 ;IN THE SUBTEST) TO LOOP ON ERROR^
25039
25040 ;**********
25041
25042
25043 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
25044 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
25045 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
25046 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
25047 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25048
25049 045732 SN=SN+1
25050 000200 XX=XX+XX
25051 IFE XX,<XX=1>
25052 044217 515 00 0 00 000200 HRLZI XX ;PRELOAD AC WITH A FLOATING ONE
25053 044220 270 00 0 00 070316 ADD [XX,,0] ;ADD A FLOATING ONE TO ITSELF
25054 044221 312 00 0 00 070264 CAME [XX+XX,,0] ;CHECK ADDER UPON FAILURE
25055 STOP ^
25056 044222 254 04 0 00 044223 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
25057 044223 324 00 0 00 044224 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
25058 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
25059 ;IN THE SUBTEST) TO LOOP ON ERROR^
25060
25061 ;**********
25062
25063
25064 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
25065 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
25066 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
25067 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
25068 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25069
25070 045733 SN=SN+1
25071 000400 XX=XX+XX
25072 IFE XX,<XX=1>
25073 044224 515 00 0 00 000400 HRLZI XX ;PRELOAD AC WITH A FLOATING ONE
25074 044225 270 00 0 00 070264 ADD [XX,,0] ;ADD A FLOATING ONE TO ITSELF
25075 044226 312 00 0 00 070317 CAME [XX+XX,,0] ;CHECK ADDER UPON FAILURE
25076 STOP ^
25077 044227 254 04 0 00 044230 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 88-11
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - FLT 1 + FLT 1 SEQ 0552
25078 044230 324 00 0 00 044231 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
25079 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
25080 ;IN THE SUBTEST) TO LOOP ON ERROR^
25081
25082 ;**********
25083
25084
25085 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
25086 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
25087 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
25088 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
25089 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25090
25091 045734 SN=SN+1
25092 001000 XX=XX+XX
25093 IFE XX,<XX=1>
25094 044231 515 00 0 00 001000 HRLZI XX ;PRELOAD AC WITH A FLOATING ONE
25095 044232 270 00 0 00 070317 ADD [XX,,0] ;ADD A FLOATING ONE TO ITSELF
25096 044233 312 00 0 00 070320 CAME [XX+XX,,0] ;CHECK ADDER UPON FAILURE
25097 STOP ^
25098 044234 254 04 0 00 044235 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
25099 044235 324 00 0 00 044236 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
25100 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
25101 ;IN THE SUBTEST) TO LOOP ON ERROR^
25102
25103 ;**********
25104
25105
25106 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
25107 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
25108 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
25109 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
25110 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25111
25112 045735 SN=SN+1
25113 002000 XX=XX+XX
25114 IFE XX,<XX=1>
25115 044236 515 00 0 00 002000 HRLZI XX ;PRELOAD AC WITH A FLOATING ONE
25116 044237 270 00 0 00 070320 ADD [XX,,0] ;ADD A FLOATING ONE TO ITSELF
25117 044240 312 00 0 00 070321 CAME [XX+XX,,0] ;CHECK ADDER UPON FAILURE
25118 STOP ^
25119 044241 254 04 0 00 044242 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
25120 044242 324 00 0 00 044243 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
25121 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
25122 ;IN THE SUBTEST) TO LOOP ON ERROR^
25123
25124 ;**********
25125
25126
25127 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
25128 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
25129 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
25130 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
25131 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25132
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 88-12
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - FLT 1 + FLT 1 SEQ 0553
25133 045736 SN=SN+1
25134 004000 XX=XX+XX
25135 IFE XX,<XX=1>
25136 044243 515 00 0 00 004000 HRLZI XX ;PRELOAD AC WITH A FLOATING ONE
25137 044244 270 00 0 00 070321 ADD [XX,,0] ;ADD A FLOATING ONE TO ITSELF
25138 044245 312 00 0 00 070322 CAME [XX+XX,,0] ;CHECK ADDER UPON FAILURE
25139 STOP ^
25140 044246 254 04 0 00 044247 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
25141 044247 324 00 0 00 044250 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
25142 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
25143 ;IN THE SUBTEST) TO LOOP ON ERROR^
25144
25145 ;**********
25146
25147
25148 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
25149 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
25150 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
25151 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
25152 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25153
25154 045737 SN=SN+1
25155 010000 XX=XX+XX
25156 IFE XX,<XX=1>
25157 044250 515 00 0 00 010000 HRLZI XX ;PRELOAD AC WITH A FLOATING ONE
25158 044251 270 00 0 00 070322 ADD [XX,,0] ;ADD A FLOATING ONE TO ITSELF
25159 044252 312 00 0 00 070323 CAME [XX+XX,,0] ;CHECK ADDER UPON FAILURE
25160 STOP ^
25161 044253 254 04 0 00 044254 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
25162 044254 324 00 0 00 044255 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
25163 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
25164 ;IN THE SUBTEST) TO LOOP ON ERROR^
25165
25166 ;**********
25167
25168
25169 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
25170 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
25171 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
25172 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
25173 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25174
25175 045740 SN=SN+1
25176 020000 XX=XX+XX
25177 IFE XX,<XX=1>
25178 044255 515 00 0 00 020000 HRLZI XX ;PRELOAD AC WITH A FLOATING ONE
25179 044256 270 00 0 00 070323 ADD [XX,,0] ;ADD A FLOATING ONE TO ITSELF
25180 044257 312 00 0 00 070324 CAME [XX+XX,,0] ;CHECK ADDER UPON FAILURE
25181 STOP ^
25182 044260 254 04 0 00 044261 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
25183 044261 324 00 0 00 044262 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
25184 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
25185 ;IN THE SUBTEST) TO LOOP ON ERROR^
25186
25187 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 88-13
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - FLT 1 + FLT 1 SEQ 0554
25188
25189
25190 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
25191 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
25192 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
25193 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
25194 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25195
25196 045741 SN=SN+1
25197 040000 XX=XX+XX
25198 IFE XX,<XX=1>
25199 044262 515 00 0 00 040000 HRLZI XX ;PRELOAD AC WITH A FLOATING ONE
25200 044263 270 00 0 00 070324 ADD [XX,,0] ;ADD A FLOATING ONE TO ITSELF
25201 044264 312 00 0 00 070325 CAME [XX+XX,,0] ;CHECK ADDER UPON FAILURE
25202 STOP ^
25203 044265 254 04 0 00 044266 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
25204 044266 324 00 0 00 044267 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
25205 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
25206 ;IN THE SUBTEST) TO LOOP ON ERROR^
25207
25208 ;**********
25209
25210
25211 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
25212 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
25213 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
25214 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
25215 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25216
25217 045742 SN=SN+1
25218 100000 XX=XX+XX
25219 IFE XX,<XX=1>
25220 044267 515 00 0 00 100000 HRLZI XX ;PRELOAD AC WITH A FLOATING ONE
25221 044270 270 00 0 00 070325 ADD [XX,,0] ;ADD A FLOATING ONE TO ITSELF
25222 044271 312 00 0 00 070326 CAME [XX+XX,,0] ;CHECK ADDER UPON FAILURE
25223 STOP ^
25224 044272 254 04 0 00 044273 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
25225 044273 324 00 0 00 044274 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
25226 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
25227 ;IN THE SUBTEST) TO LOOP ON ERROR^
25228
25229 ;**********
25230
25231
25232 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
25233 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
25234 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
25235 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
25236 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25237
25238 045743 SN=SN+1
25239 200000 XX=XX+XX
25240 IFE XX,<XX=1>
25241 044274 515 00 0 00 200000 HRLZI XX ;PRELOAD AC WITH A FLOATING ONE
25242 044275 270 00 0 00 070326 ADD [XX,,0] ;ADD A FLOATING ONE TO ITSELF
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 88-14
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - FLT 1 + FLT 1 SEQ 0555
25243 044276 312 00 0 00 070256 CAME [XX+XX,,0] ;CHECK ADDER UPON FAILURE
25244 STOP ^
25245 044277 254 04 0 00 044300 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
25246 044300 324 00 0 00 044301 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
25247 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
25248 ;IN THE SUBTEST) TO LOOP ON ERROR^
25249
25250 ;**********
25251
25252 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ONE
25253 ;ADDED TO A FLOATING ONE IS A FLOATING ONE
25254 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ONE.
25255 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ONE THRU ALL 36 BITS OF THE ADDER.
25256 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25257
25258 045744 SN=SN+1
25259 400000 XX=XX+XX
25260 IFE XX,<XX=1>
25261 044301 515 00 0 00 400000 HRLZI XX ;PRELOAD AC WITH A FLOATING ONE
25262 044302 270 00 0 00 070256 ADD [XX,,0] ;ADD A FLOATING ONE TO ITSELF
25263 044303 312 00 0 00 070253 CAME [0,,0] ;CHECK ADDER UPON FAILURE
25264 STOP ^
25265 044304 254 04 0 00 044305 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
25266 044305 324 00 0 00 044306 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
25267 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
25268 ;IN THE SUBTEST) TO LOOP ON ERROR^
25269
25270 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 89
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - FLT 0 + 0FLT SEQ 0556
25271 SUBTTL SUPPLEMENTARY ADDER TESTS - FLT 0 + 0FLT
25272
25273 ;**********
25274
25275 046000 SN=46000
25276 000000 XX=0
25277
25278 B46000: REPEAT ^D17,<
25279 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
25280 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
25281 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
25282 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
25283 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25284
25285 SN=SN+1
25286 XX=<XX+XX+1>&777777
25287 IFE <XX-1>,<XX=777776>
25288 HRROI XX ;PRELOAD AC WITH A FLOATING ZERO
25289 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ITSELF
25290 CAME [-1,,<XX+XX>&777777] ;CHECK ADDER UPON FAILURE
25291 STOP
25292
25293 ;**********
25294 >
25295
25296 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
25297 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
25298 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
25299 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
25300 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25301
25302 046001 SN=SN+1
25303 000001 XX=<XX+XX+1>&777777
25304 777776 IFE <XX-1>,<XX=777776>
25305 044306 561 00 0 00 777776 HRROI XX ;PRELOAD AC WITH A FLOATING ZERO
25306 044307 270 00 0 00 070333 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ITSELF
25307 044310 312 00 0 00 070437 CAME [-1,,<XX+XX>&777777] ;CHECK ADDER UPON FAILURE
25308 STOP ^
25309 044311 254 04 0 00 044312 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
25310 044312 324 00 0 00 044313 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
25311 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
25312 ;IN THE SUBTEST) TO LOOP ON ERROR^
25313
25314 ;**********
25315
25316
25317 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
25318 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
25319 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
25320 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
25321 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25322
25323 046002 SN=SN+1
25324 777775 XX=<XX+XX+1>&777777
25325 IFE <XX-1>,<XX=777776>
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 89-1
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - FLT 0 + 0FLT SEQ 0557
25326 044313 561 00 0 00 777775 HRROI XX ;PRELOAD AC WITH A FLOATING ZERO
25327 044314 270 00 0 00 070334 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ITSELF
25328 044315 312 00 0 00 070553 CAME [-1,,<XX+XX>&777777] ;CHECK ADDER UPON FAILURE
25329 STOP ^
25330 044316 254 04 0 00 044317 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
25331 044317 324 00 0 00 044320 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
25332 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
25333 ;IN THE SUBTEST) TO LOOP ON ERROR^
25334
25335 ;**********
25336
25337
25338 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
25339 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
25340 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
25341 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
25342 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25343
25344 046003 SN=SN+1
25345 777773 XX=<XX+XX+1>&777777
25346 IFE <XX-1>,<XX=777776>
25347 044320 561 00 0 00 777773 HRROI XX ;PRELOAD AC WITH A FLOATING ZERO
25348 044321 270 00 0 00 070335 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ITSELF
25349 044322 312 00 0 00 070554 CAME [-1,,<XX+XX>&777777] ;CHECK ADDER UPON FAILURE
25350 STOP ^
25351 044323 254 04 0 00 044324 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
25352 044324 324 00 0 00 044325 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
25353 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
25354 ;IN THE SUBTEST) TO LOOP ON ERROR^
25355
25356 ;**********
25357
25358
25359 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
25360 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
25361 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
25362 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
25363 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25364
25365 046004 SN=SN+1
25366 777767 XX=<XX+XX+1>&777777
25367 IFE <XX-1>,<XX=777776>
25368 044325 561 00 0 00 777767 HRROI XX ;PRELOAD AC WITH A FLOATING ZERO
25369 044326 270 00 0 00 070336 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ITSELF
25370 044327 312 00 0 00 070555 CAME [-1,,<XX+XX>&777777] ;CHECK ADDER UPON FAILURE
25371 STOP ^
25372 044330 254 04 0 00 044331 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
25373 044331 324 00 0 00 044332 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
25374 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
25375 ;IN THE SUBTEST) TO LOOP ON ERROR^
25376
25377 ;**********
25378
25379
25380 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 89-2
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - FLT 0 + 0FLT SEQ 0558
25381 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
25382 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
25383 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
25384 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25385
25386 046005 SN=SN+1
25387 777757 XX=<XX+XX+1>&777777
25388 IFE <XX-1>,<XX=777776>
25389 044332 561 00 0 00 777757 HRROI XX ;PRELOAD AC WITH A FLOATING ZERO
25390 044333 270 00 0 00 070337 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ITSELF
25391 044334 312 00 0 00 070556 CAME [-1,,<XX+XX>&777777] ;CHECK ADDER UPON FAILURE
25392 STOP ^
25393 044335 254 04 0 00 044336 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
25394 044336 324 00 0 00 044337 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
25395 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
25396 ;IN THE SUBTEST) TO LOOP ON ERROR^
25397
25398 ;**********
25399
25400
25401 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
25402 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
25403 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
25404 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
25405 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25406
25407 046006 SN=SN+1
25408 777737 XX=<XX+XX+1>&777777
25409 IFE <XX-1>,<XX=777776>
25410 044337 561 00 0 00 777737 HRROI XX ;PRELOAD AC WITH A FLOATING ZERO
25411 044340 270 00 0 00 070340 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ITSELF
25412 044341 312 00 0 00 070557 CAME [-1,,<XX+XX>&777777] ;CHECK ADDER UPON FAILURE
25413 STOP ^
25414 044342 254 04 0 00 044343 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
25415 044343 324 00 0 00 044344 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
25416 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
25417 ;IN THE SUBTEST) TO LOOP ON ERROR^
25418
25419 ;**********
25420
25421
25422 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
25423 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
25424 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
25425 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
25426 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25427
25428 046007 SN=SN+1
25429 777677 XX=<XX+XX+1>&777777
25430 IFE <XX-1>,<XX=777776>
25431 044344 561 00 0 00 777677 HRROI XX ;PRELOAD AC WITH A FLOATING ZERO
25432 044345 270 00 0 00 070341 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ITSELF
25433 044346 312 00 0 00 070560 CAME [-1,,<XX+XX>&777777] ;CHECK ADDER UPON FAILURE
25434 STOP ^
25435 044347 254 04 0 00 044350 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 89-3
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - FLT 0 + 0FLT SEQ 0559
25436 044350 324 00 0 00 044351 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
25437 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
25438 ;IN THE SUBTEST) TO LOOP ON ERROR^
25439
25440 ;**********
25441
25442
25443 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
25444 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
25445 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
25446 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
25447 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25448
25449 046010 SN=SN+1
25450 777577 XX=<XX+XX+1>&777777
25451 IFE <XX-1>,<XX=777776>
25452 044351 561 00 0 00 777577 HRROI XX ;PRELOAD AC WITH A FLOATING ZERO
25453 044352 270 00 0 00 070342 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ITSELF
25454 044353 312 00 0 00 070561 CAME [-1,,<XX+XX>&777777] ;CHECK ADDER UPON FAILURE
25455 STOP ^
25456 044354 254 04 0 00 044355 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
25457 044355 324 00 0 00 044356 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
25458 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
25459 ;IN THE SUBTEST) TO LOOP ON ERROR^
25460
25461 ;**********
25462
25463
25464 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
25465 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
25466 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
25467 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
25468 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25469
25470 046011 SN=SN+1
25471 777377 XX=<XX+XX+1>&777777
25472 IFE <XX-1>,<XX=777776>
25473 044356 561 00 0 00 777377 HRROI XX ;PRELOAD AC WITH A FLOATING ZERO
25474 044357 270 00 0 00 070343 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ITSELF
25475 044360 312 00 0 00 070562 CAME [-1,,<XX+XX>&777777] ;CHECK ADDER UPON FAILURE
25476 STOP ^
25477 044361 254 04 0 00 044362 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
25478 044362 324 00 0 00 044363 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
25479 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
25480 ;IN THE SUBTEST) TO LOOP ON ERROR^
25481
25482 ;**********
25483
25484
25485 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
25486 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
25487 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
25488 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
25489 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25490
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 89-4
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - FLT 0 + 0FLT SEQ 0560
25491 046012 SN=SN+1
25492 776777 XX=<XX+XX+1>&777777
25493 IFE <XX-1>,<XX=777776>
25494 044363 561 00 0 00 776777 HRROI XX ;PRELOAD AC WITH A FLOATING ZERO
25495 044364 270 00 0 00 070344 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ITSELF
25496 044365 312 00 0 00 070563 CAME [-1,,<XX+XX>&777777] ;CHECK ADDER UPON FAILURE
25497 STOP ^
25498 044366 254 04 0 00 044367 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
25499 044367 324 00 0 00 044370 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
25500 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
25501 ;IN THE SUBTEST) TO LOOP ON ERROR^
25502
25503 ;**********
25504
25505
25506 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
25507 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
25508 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
25509 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
25510 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25511
25512 046013 SN=SN+1
25513 775777 XX=<XX+XX+1>&777777
25514 IFE <XX-1>,<XX=777776>
25515 044370 561 00 0 00 775777 HRROI XX ;PRELOAD AC WITH A FLOATING ZERO
25516 044371 270 00 0 00 070345 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ITSELF
25517 044372 312 00 0 00 070564 CAME [-1,,<XX+XX>&777777] ;CHECK ADDER UPON FAILURE
25518 STOP ^
25519 044373 254 04 0 00 044374 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
25520 044374 324 00 0 00 044375 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
25521 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
25522 ;IN THE SUBTEST) TO LOOP ON ERROR^
25523
25524 ;**********
25525
25526
25527 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
25528 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
25529 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
25530 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
25531 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25532
25533 046014 SN=SN+1
25534 773777 XX=<XX+XX+1>&777777
25535 IFE <XX-1>,<XX=777776>
25536 044375 561 00 0 00 773777 HRROI XX ;PRELOAD AC WITH A FLOATING ZERO
25537 044376 270 00 0 00 070346 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ITSELF
25538 044377 312 00 0 00 070565 CAME [-1,,<XX+XX>&777777] ;CHECK ADDER UPON FAILURE
25539 STOP ^
25540 044400 254 04 0 00 044401 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
25541 044401 324 00 0 00 044402 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
25542 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
25543 ;IN THE SUBTEST) TO LOOP ON ERROR^
25544
25545 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 89-5
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - FLT 0 + 0FLT SEQ 0561
25546
25547
25548 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
25549 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
25550 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
25551 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
25552 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25553
25554 046015 SN=SN+1
25555 767777 XX=<XX+XX+1>&777777
25556 IFE <XX-1>,<XX=777776>
25557 044402 561 00 0 00 767777 HRROI XX ;PRELOAD AC WITH A FLOATING ZERO
25558 044403 270 00 0 00 070347 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ITSELF
25559 044404 312 00 0 00 070566 CAME [-1,,<XX+XX>&777777] ;CHECK ADDER UPON FAILURE
25560 STOP ^
25561 044405 254 04 0 00 044406 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
25562 044406 324 00 0 00 044407 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
25563 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
25564 ;IN THE SUBTEST) TO LOOP ON ERROR^
25565
25566 ;**********
25567
25568
25569 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
25570 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
25571 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
25572 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
25573 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25574
25575 046016 SN=SN+1
25576 757777 XX=<XX+XX+1>&777777
25577 IFE <XX-1>,<XX=777776>
25578 044407 561 00 0 00 757777 HRROI XX ;PRELOAD AC WITH A FLOATING ZERO
25579 044410 270 00 0 00 070350 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ITSELF
25580 044411 312 00 0 00 070567 CAME [-1,,<XX+XX>&777777] ;CHECK ADDER UPON FAILURE
25581 STOP ^
25582 044412 254 04 0 00 044413 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
25583 044413 324 00 0 00 044414 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
25584 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
25585 ;IN THE SUBTEST) TO LOOP ON ERROR^
25586
25587 ;**********
25588
25589
25590 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
25591 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
25592 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
25593 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
25594 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25595
25596 046017 SN=SN+1
25597 737777 XX=<XX+XX+1>&777777
25598 IFE <XX-1>,<XX=777776>
25599 044414 561 00 0 00 737777 HRROI XX ;PRELOAD AC WITH A FLOATING ZERO
25600 044415 270 00 0 00 070351 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ITSELF
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 89-6
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - FLT 0 + 0FLT SEQ 0562
25601 044416 312 00 0 00 070570 CAME [-1,,<XX+XX>&777777] ;CHECK ADDER UPON FAILURE
25602 STOP ^
25603 044417 254 04 0 00 044420 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
25604 044420 324 00 0 00 044421 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
25605 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
25606 ;IN THE SUBTEST) TO LOOP ON ERROR^
25607
25608 ;**********
25609
25610
25611 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
25612 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
25613 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
25614 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
25615 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25616
25617 046020 SN=SN+1
25618 677777 XX=<XX+XX+1>&777777
25619 IFE <XX-1>,<XX=777776>
25620 044421 561 00 0 00 677777 HRROI XX ;PRELOAD AC WITH A FLOATING ZERO
25621 044422 270 00 0 00 070352 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ITSELF
25622 044423 312 00 0 00 070571 CAME [-1,,<XX+XX>&777777] ;CHECK ADDER UPON FAILURE
25623 STOP ^
25624 044424 254 04 0 00 044425 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
25625 044425 324 00 0 00 044426 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
25626 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
25627 ;IN THE SUBTEST) TO LOOP ON ERROR^
25628
25629 ;**********
25630
25631
25632 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
25633 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
25634 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
25635 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
25636 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25637
25638 046021 SN=SN+1
25639 577777 XX=<XX+XX+1>&777777
25640 IFE <XX-1>,<XX=777776>
25641 044426 561 00 0 00 577777 HRROI XX ;PRELOAD AC WITH A FLOATING ZERO
25642 044427 270 00 0 00 070353 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ITSELF
25643 044430 312 00 0 00 070572 CAME [-1,,<XX+XX>&777777] ;CHECK ADDER UPON FAILURE
25644 STOP ^
25645 044431 254 04 0 00 044432 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
25646 044432 324 00 0 00 044433 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
25647 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
25648 ;IN THE SUBTEST) TO LOOP ON ERROR^
25649
25650 ;**********
25651
25652 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 89-7
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - FLT 0 + 0FLT SEQ 0563
25653 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
25654 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
25655 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
25656 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
25657 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25658
25659 046022 SN=SN+1
25660 377777 XX=<XX+XX+1>&777777
25661 044433 561 00 0 00 377777 HRROI XX ;PRELOAD AC WITH A FLOATING ZERO
25662 044434 270 00 0 00 070354 ADD [-1,,XX] ;ADD A FLOATING ZERO TO ITSELF
25663 044435 312 00 0 00 070461 CAME [-2,,-2] ;CHECK ADDER UPON FAILURE
25664 STOP ^
25665 044436 254 04 0 00 044437 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
25666 044437 324 00 0 00 044440 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
25667 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
25668 ;IN THE SUBTEST) TO LOOP ON ERROR^
25669
25670 ;**********
25671
25672 000000 XX=0
25673
25674 REPEAT ^D18,<
25675 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
25676 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
25677 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
25678 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
25679 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25680
25681 SN=SN+1
25682 XX=<XX+XX+1>&777777
25683 IFE <XX-1>,<XX=777776>
25684 HRLOI XX ;PRELOAD AC WITH A FLOATING ZERO
25685 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ITSELF
25686 CAME [<XX+XX+1>&777777,,-2] ;CHECK ADDER UPON FAILURE
25687 STOP
25688
25689 ;**********
25690 >
25691
25692 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
25693 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
25694 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
25695 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
25696 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25697
25698 046023 SN=SN+1
25699 000001 XX=<XX+XX+1>&777777
25700 777776 IFE <XX-1>,<XX=777776>
25701 044440 525 00 0 00 777776 HRLOI XX ;PRELOAD AC WITH A FLOATING ZERO
25702 044441 270 00 0 00 070355 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ITSELF
25703 044442 312 00 0 00 070573 CAME [<XX+XX+1>&777777,,-2] ;CHECK ADDER UPON FAILURE
25704 STOP ^
25705 044443 254 04 0 00 044444 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
25706 044444 324 00 0 00 044445 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
25707 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 89-8
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - FLT 0 + 0FLT SEQ 0564
25708 ;IN THE SUBTEST) TO LOOP ON ERROR^
25709
25710 ;**********
25711
25712
25713 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
25714 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
25715 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
25716 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
25717 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25718
25719 046024 SN=SN+1
25720 777775 XX=<XX+XX+1>&777777
25721 IFE <XX-1>,<XX=777776>
25722 044445 525 00 0 00 777775 HRLOI XX ;PRELOAD AC WITH A FLOATING ZERO
25723 044446 270 00 0 00 070356 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ITSELF
25724 044447 312 00 0 00 070574 CAME [<XX+XX+1>&777777,,-2] ;CHECK ADDER UPON FAILURE
25725 STOP ^
25726 044450 254 04 0 00 044451 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
25727 044451 324 00 0 00 044452 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
25728 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
25729 ;IN THE SUBTEST) TO LOOP ON ERROR^
25730
25731 ;**********
25732
25733
25734 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
25735 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
25736 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
25737 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
25738 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25739
25740 046025 SN=SN+1
25741 777773 XX=<XX+XX+1>&777777
25742 IFE <XX-1>,<XX=777776>
25743 044452 525 00 0 00 777773 HRLOI XX ;PRELOAD AC WITH A FLOATING ZERO
25744 044453 270 00 0 00 070357 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ITSELF
25745 044454 312 00 0 00 070575 CAME [<XX+XX+1>&777777,,-2] ;CHECK ADDER UPON FAILURE
25746 STOP ^
25747 044455 254 04 0 00 044456 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
25748 044456 324 00 0 00 044457 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
25749 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
25750 ;IN THE SUBTEST) TO LOOP ON ERROR^
25751
25752 ;**********
25753
25754
25755 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
25756 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
25757 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
25758 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
25759 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25760
25761 046026 SN=SN+1
25762 777767 XX=<XX+XX+1>&777777
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 89-9
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - FLT 0 + 0FLT SEQ 0565
25763 IFE <XX-1>,<XX=777776>
25764 044457 525 00 0 00 777767 HRLOI XX ;PRELOAD AC WITH A FLOATING ZERO
25765 044460 270 00 0 00 070360 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ITSELF
25766 044461 312 00 0 00 070576 CAME [<XX+XX+1>&777777,,-2] ;CHECK ADDER UPON FAILURE
25767 STOP ^
25768 044462 254 04 0 00 044463 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
25769 044463 324 00 0 00 044464 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
25770 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
25771 ;IN THE SUBTEST) TO LOOP ON ERROR^
25772
25773 ;**********
25774
25775
25776 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
25777 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
25778 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
25779 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
25780 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25781
25782 046027 SN=SN+1
25783 777757 XX=<XX+XX+1>&777777
25784 IFE <XX-1>,<XX=777776>
25785 044464 525 00 0 00 777757 HRLOI XX ;PRELOAD AC WITH A FLOATING ZERO
25786 044465 270 00 0 00 070361 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ITSELF
25787 044466 312 00 0 00 070577 CAME [<XX+XX+1>&777777,,-2] ;CHECK ADDER UPON FAILURE
25788 STOP ^
25789 044467 254 04 0 00 044470 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
25790 044470 324 00 0 00 044471 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
25791 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
25792 ;IN THE SUBTEST) TO LOOP ON ERROR^
25793
25794 ;**********
25795
25796
25797 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
25798 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
25799 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
25800 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
25801 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25802
25803 046030 SN=SN+1
25804 777737 XX=<XX+XX+1>&777777
25805 IFE <XX-1>,<XX=777776>
25806 044471 525 00 0 00 777737 HRLOI XX ;PRELOAD AC WITH A FLOATING ZERO
25807 044472 270 00 0 00 070362 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ITSELF
25808 044473 312 00 0 00 070600 CAME [<XX+XX+1>&777777,,-2] ;CHECK ADDER UPON FAILURE
25809 STOP ^
25810 044474 254 04 0 00 044475 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
25811 044475 324 00 0 00 044476 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
25812 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
25813 ;IN THE SUBTEST) TO LOOP ON ERROR^
25814
25815 ;**********
25816
25817
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 89-10
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - FLT 0 + 0FLT SEQ 0566
25818 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
25819 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
25820 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
25821 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
25822 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25823
25824 046031 SN=SN+1
25825 777677 XX=<XX+XX+1>&777777
25826 IFE <XX-1>,<XX=777776>
25827 044476 525 00 0 00 777677 HRLOI XX ;PRELOAD AC WITH A FLOATING ZERO
25828 044477 270 00 0 00 070363 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ITSELF
25829 044500 312 00 0 00 070601 CAME [<XX+XX+1>&777777,,-2] ;CHECK ADDER UPON FAILURE
25830 STOP ^
25831 044501 254 04 0 00 044502 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
25832 044502 324 00 0 00 044503 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
25833 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
25834 ;IN THE SUBTEST) TO LOOP ON ERROR^
25835
25836 ;**********
25837
25838
25839 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
25840 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
25841 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
25842 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
25843 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25844
25845 046032 SN=SN+1
25846 777577 XX=<XX+XX+1>&777777
25847 IFE <XX-1>,<XX=777776>
25848 044503 525 00 0 00 777577 HRLOI XX ;PRELOAD AC WITH A FLOATING ZERO
25849 044504 270 00 0 00 070364 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ITSELF
25850 044505 312 00 0 00 070602 CAME [<XX+XX+1>&777777,,-2] ;CHECK ADDER UPON FAILURE
25851 STOP ^
25852 044506 254 04 0 00 044507 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
25853 044507 324 00 0 00 044510 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
25854 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
25855 ;IN THE SUBTEST) TO LOOP ON ERROR^
25856
25857 ;**********
25858
25859
25860 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
25861 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
25862 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
25863 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
25864 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25865
25866 046033 SN=SN+1
25867 777377 XX=<XX+XX+1>&777777
25868 IFE <XX-1>,<XX=777776>
25869 044510 525 00 0 00 777377 HRLOI XX ;PRELOAD AC WITH A FLOATING ZERO
25870 044511 270 00 0 00 070365 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ITSELF
25871 044512 312 00 0 00 070603 CAME [<XX+XX+1>&777777,,-2] ;CHECK ADDER UPON FAILURE
25872 STOP ^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 89-11
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - FLT 0 + 0FLT SEQ 0567
25873 044513 254 04 0 00 044514 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
25874 044514 324 00 0 00 044515 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
25875 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
25876 ;IN THE SUBTEST) TO LOOP ON ERROR^
25877
25878 ;**********
25879
25880
25881 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
25882 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
25883 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
25884 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
25885 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25886
25887 046034 SN=SN+1
25888 776777 XX=<XX+XX+1>&777777
25889 IFE <XX-1>,<XX=777776>
25890 044515 525 00 0 00 776777 HRLOI XX ;PRELOAD AC WITH A FLOATING ZERO
25891 044516 270 00 0 00 070366 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ITSELF
25892 044517 312 00 0 00 070604 CAME [<XX+XX+1>&777777,,-2] ;CHECK ADDER UPON FAILURE
25893 STOP ^
25894 044520 254 04 0 00 044521 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
25895 044521 324 00 0 00 044522 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
25896 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
25897 ;IN THE SUBTEST) TO LOOP ON ERROR^
25898
25899 ;**********
25900
25901
25902 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
25903 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
25904 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
25905 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
25906 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25907
25908 046035 SN=SN+1
25909 775777 XX=<XX+XX+1>&777777
25910 IFE <XX-1>,<XX=777776>
25911 044522 525 00 0 00 775777 HRLOI XX ;PRELOAD AC WITH A FLOATING ZERO
25912 044523 270 00 0 00 070367 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ITSELF
25913 044524 312 00 0 00 070605 CAME [<XX+XX+1>&777777,,-2] ;CHECK ADDER UPON FAILURE
25914 STOP ^
25915 044525 254 04 0 00 044526 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
25916 044526 324 00 0 00 044527 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
25917 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
25918 ;IN THE SUBTEST) TO LOOP ON ERROR^
25919
25920 ;**********
25921
25922
25923 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
25924 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
25925 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
25926 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
25927 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 89-12
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - FLT 0 + 0FLT SEQ 0568
25928
25929 046036 SN=SN+1
25930 773777 XX=<XX+XX+1>&777777
25931 IFE <XX-1>,<XX=777776>
25932 044527 525 00 0 00 773777 HRLOI XX ;PRELOAD AC WITH A FLOATING ZERO
25933 044530 270 00 0 00 070370 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ITSELF
25934 044531 312 00 0 00 070606 CAME [<XX+XX+1>&777777,,-2] ;CHECK ADDER UPON FAILURE
25935 STOP ^
25936 044532 254 04 0 00 044533 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
25937 044533 324 00 0 00 044534 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
25938 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
25939 ;IN THE SUBTEST) TO LOOP ON ERROR^
25940
25941 ;**********
25942
25943
25944 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
25945 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
25946 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
25947 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
25948 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25949
25950 046037 SN=SN+1
25951 767777 XX=<XX+XX+1>&777777
25952 IFE <XX-1>,<XX=777776>
25953 044534 525 00 0 00 767777 HRLOI XX ;PRELOAD AC WITH A FLOATING ZERO
25954 044535 270 00 0 00 070371 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ITSELF
25955 044536 312 00 0 00 070607 CAME [<XX+XX+1>&777777,,-2] ;CHECK ADDER UPON FAILURE
25956 STOP ^
25957 044537 254 04 0 00 044540 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
25958 044540 324 00 0 00 044541 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
25959 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
25960 ;IN THE SUBTEST) TO LOOP ON ERROR^
25961
25962 ;**********
25963
25964
25965 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
25966 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
25967 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
25968 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
25969 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25970
25971 046040 SN=SN+1
25972 757777 XX=<XX+XX+1>&777777
25973 IFE <XX-1>,<XX=777776>
25974 044541 525 00 0 00 757777 HRLOI XX ;PRELOAD AC WITH A FLOATING ZERO
25975 044542 270 00 0 00 070372 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ITSELF
25976 044543 312 00 0 00 070610 CAME [<XX+XX+1>&777777,,-2] ;CHECK ADDER UPON FAILURE
25977 STOP ^
25978 044544 254 04 0 00 044545 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
25979 044545 324 00 0 00 044546 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
25980 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
25981 ;IN THE SUBTEST) TO LOOP ON ERROR^
25982
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 89-13
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - FLT 0 + 0FLT SEQ 0569
25983 ;**********
25984
25985
25986 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
25987 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
25988 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
25989 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
25990 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
25991
25992 046041 SN=SN+1
25993 737777 XX=<XX+XX+1>&777777
25994 IFE <XX-1>,<XX=777776>
25995 044546 525 00 0 00 737777 HRLOI XX ;PRELOAD AC WITH A FLOATING ZERO
25996 044547 270 00 0 00 070373 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ITSELF
25997 044550 312 00 0 00 070611 CAME [<XX+XX+1>&777777,,-2] ;CHECK ADDER UPON FAILURE
25998 STOP ^
25999 044551 254 04 0 00 044552 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
26000 044552 324 00 0 00 044553 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
26001 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
26002 ;IN THE SUBTEST) TO LOOP ON ERROR^
26003
26004 ;**********
26005
26006
26007 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
26008 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
26009 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
26010 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
26011 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
26012
26013 046042 SN=SN+1
26014 677777 XX=<XX+XX+1>&777777
26015 IFE <XX-1>,<XX=777776>
26016 044553 525 00 0 00 677777 HRLOI XX ;PRELOAD AC WITH A FLOATING ZERO
26017 044554 270 00 0 00 070374 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ITSELF
26018 044555 312 00 0 00 070612 CAME [<XX+XX+1>&777777,,-2] ;CHECK ADDER UPON FAILURE
26019 STOP ^
26020 044556 254 04 0 00 044557 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
26021 044557 324 00 0 00 044560 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
26022 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
26023 ;IN THE SUBTEST) TO LOOP ON ERROR^
26024
26025 ;**********
26026
26027
26028 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
26029 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
26030 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
26031 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
26032 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
26033
26034 046043 SN=SN+1
26035 577777 XX=<XX+XX+1>&777777
26036 IFE <XX-1>,<XX=777776>
26037 044560 525 00 0 00 577777 HRLOI XX ;PRELOAD AC WITH A FLOATING ZERO
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 89-14
DFKAA3 MAC 25-AUG-75 13:57 SUPPLEMENTARY ADDER TESTS - FLT 0 + 0FLT SEQ 0570
26038 044561 270 00 0 00 070375 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ITSELF
26039 044562 312 00 0 00 070613 CAME [<XX+XX+1>&777777,,-2] ;CHECK ADDER UPON FAILURE
26040 STOP ^
26041 044563 254 04 0 00 044564 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
26042 044564 324 00 0 00 044565 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
26043 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
26044 ;IN THE SUBTEST) TO LOOP ON ERROR^
26045
26046 ;**********
26047
26048
26049 ;THIS TEST VERIFIES THAT THE RESULT OF A FLOATING ZERO
26050 ;ADDED TO A FLOATING ZERO IS A FLOATING ZERO
26051 ;PLACED ONE BIT POSITION LEFT OF THE ORIGINAL FLOATING ZERO.
26052 ;THIS TEST IS REPEATED 36 TIMES TO FLOAT A ZERO THRU ALL 36 BITS OF THE ADDER.
26053 ;THIS TEST IS DESIGNED TO TEST THE ADDER AND RELATED DATA PATHS ONLY.
26054
26055 046044 SN=SN+1
26056 377777 XX=<XX+XX+1>&777777
26057 IFE <XX-1>,<XX=777776>
26058 044565 525 00 0 00 377777 HRLOI XX ;PRELOAD AC WITH A FLOATING ZERO
26059 044566 270 00 0 00 070255 ADD [XX,,-1] ;ADD A FLOATING ZERO TO ITSELF
26060 044567 312 00 0 00 070333 CAME [<XX+XX+1>&777777,,-2] ;CHECK ADDER UPON FAILURE
26061 STOP ^
26062 044570 254 04 0 00 044571 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
26063 044571 324 00 0 00 044572 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
26064 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
26065 ;IN THE SUBTEST) TO LOOP ON ERROR^
26066
26067 ;**********
26068
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 1
DFKAA4 MAC 25-AUG-75 13:58 TEST OF AC HARDWARE AND INDEX REGISTERS SEQ 0571
26069 SUBTTL TEST OF AC HARDWARE AND INDEX REGISTERS
26070
26071 ;NOTE: AN "*" IN THE COMMENT FIELD OF AN INSTRUCTION INDICATES THAT
26072 ; IT IS THE TESTED INSTRUCTION.
26073
26074
26075 ;**********
26076
26077 ;THIS TEST VERIFIES THAT AC1 IS ACCESSABLE
26078 ;IN THIS CASE, AC1 IS PRELOADED WITH 1.
26079 ;C(AC1) IS THEN CHECKED FOR A1. THIS TEST PASSES IF C(AC1)=1.
26080 ;IF THIS TEST FAILS, THE AC HARDWARE IS PROBABLY FAULTY
26081
26082 044572 400 00 0 00 000000 C100: SETZ ;CLEAR AC0
26083 044573 201 01 0 00 000001 MOVEI 1,1 ;PRELOAD AC1 UMTH 1
26084 044574 302 01 0 00 000001 CAIE 1,1 ;PASS IF C(AC1)=1
26085 STOP^
26086 044575 254 04 0 00 044576 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
26087 044576 324 00 0 00 044577 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
26088 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
26089 ;IN THE SUBTEST) TO LOOP ON ERROR^
26090
26091 ;**********
26092
26093 ;THIS TEST VERIFIES THAT AC2 IS ACCESSABLE.
26094 ;IN THIS CASE, AC2 IS PRELOADED WITH 2.
26095 ;C(AC2) IS THEN CHECKED FOR 2. THIS TEST PASSES IF C(AC2)=2.
26096 ;IF THIS TEST FAILS, THE AC HARDWARE IS PROBABLY FAULTY
26097
26098 044577 201 02 0 00 000002 C200: MOVEI 2,2 ;PRELOAD AC2 WITH 2
26099 044600 302 02 0 00 000002 CAIE 2,2 ;PASS IF C(AC2)=2
26100 STOP^
26101 044601 254 04 0 00 044602 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
26102 044602 324 00 0 00 044603 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
26103 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
26104 ;IN THE SUBTEST) TO LOOP ON ERROR^
26105
26106 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 2
DFKAA4 MAC 25-AUG-75 13:58 TEST OF AC HARDWARE AND INDEX REGISTERS SEQ 0572
26107 ;THIS TEST VERIFIES THAT AC4 IS ACCESSABLE.
26108 ;IN THIS CASE, AC4 IS PRELOADED WITH 4.
26109 ;C(AC4) IS THEN CHECKED FOR 4. THIS TEST PASSES IF C(AC4)=4.
26110 ;IF THIS TEST FAILS, THE AC HARDWARE IS PROBABLY FAULTY
26111
26112 044603 201 04 0 00 000004 C300: MOVEI 4,4 ;PRELOAD AC4 WITH 4
26113 044604 302 04 0 00 000004 CAIE 4,4 ;PASS IF C(AC4)=4
26114 STOP^
26115 044605 254 04 0 00 044606 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
26116 044606 324 00 0 00 044607 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
26117 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
26118 ;IN THE SUBTEST) TO LOOP ON ERROR^
26119
26120 ;**********
26121
26122 ;THIS TEST VERIFIES THAT AC10 IS ACCESSABLE.
26123 ;IN THIS CASE, AC10 IS PRELOADED WITH 10.
26124 ;C(AC10) IS THEN CHECKED FOR 10. THIS TEST PASSES IF C(AC10)=10.
26125 ;IF THIS TEST FAILS, THE AC HARDWARE IS PROBABLY FAULTY
26126
26127 044607 201 10 0 00 000010 C400: MOVEI 10,10 ;PRELOAD AC10 WITH 10
26128 044610 302 10 0 00 000010 CAIE 10,10 ;PASS IF C(AC10)=10
26129 STOP^
26130 044611 254 04 0 00 044612 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
26131 044612 324 00 0 00 044613 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
26132 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
26133 ;IN THE SUBTEST) TO LOOP ON ERROR^
26134
26135 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 3
DFKAA4 MAC 25-AUG-75 13:58 TEST OF AC HARDWARE AND INDEX REGISTERS SEQ 0573
26136 000500 SN=500
26137 777777 777777 ZZ=-1
26138
26139 ;THIS TEST VERIFIES THAT ALL ACS EXIST
26140 ;FIRST, EACH AC IS PRELOADED WITH ITS OWN ADDRESS;
26141 ;THEN, THE CONTENTS OF EACH AC IS CHECKED FOR ITS ADDRESS.
26142 ;IF ANY AC DOES NOT CONTAIN ITS ADDRESS, THIS TEST FAILS
26143
26144 C500: REPEAT ^D16,
26145 < ZZ=ZZ+1
26146 MOVEI ZZ,ZZ ;PRELOAD EACH AC WITH ITS ADDR>
26147 000000 ZZ=ZZ+1
26148 044613 201 00 0 00 000000 MOVEI ZZ,ZZ ;PRELOAD EACH AC WITH ITS ADDR
26149 000001 ZZ=ZZ+1
26150 044614 201 01 0 00 000001 MOVEI ZZ,ZZ ;PRELOAD EACH AC WITH ITS ADDR
26151 000002 ZZ=ZZ+1
26152 044615 201 02 0 00 000002 MOVEI ZZ,ZZ ;PRELOAD EACH AC WITH ITS ADDR
26153 000003 ZZ=ZZ+1
26154 044616 201 03 0 00 000003 MOVEI ZZ,ZZ ;PRELOAD EACH AC WITH ITS ADDR
26155 000004 ZZ=ZZ+1
26156 044617 201 04 0 00 000004 MOVEI ZZ,ZZ ;PRELOAD EACH AC WITH ITS ADDR
26157 000005 ZZ=ZZ+1
26158 044620 201 05 0 00 000005 MOVEI ZZ,ZZ ;PRELOAD EACH AC WITH ITS ADDR
26159 000006 ZZ=ZZ+1
26160 044621 201 06 0 00 000006 MOVEI ZZ,ZZ ;PRELOAD EACH AC WITH ITS ADDR
26161 000007 ZZ=ZZ+1
26162 044622 201 07 0 00 000007 MOVEI ZZ,ZZ ;PRELOAD EACH AC WITH ITS ADDR
26163 000010 ZZ=ZZ+1
26164 044623 201 10 0 00 000010 MOVEI ZZ,ZZ ;PRELOAD EACH AC WITH ITS ADDR
26165 000011 ZZ=ZZ+1
26166 044624 201 11 0 00 000011 MOVEI ZZ,ZZ ;PRELOAD EACH AC WITH ITS ADDR
26167 000012 ZZ=ZZ+1
26168 044625 201 12 0 00 000012 MOVEI ZZ,ZZ ;PRELOAD EACH AC WITH ITS ADDR
26169 000013 ZZ=ZZ+1
26170 044626 201 13 0 00 000013 MOVEI ZZ,ZZ ;PRELOAD EACH AC WITH ITS ADDR
26171 000014 ZZ=ZZ+1
26172 044627 201 14 0 00 000014 MOVEI ZZ,ZZ ;PRELOAD EACH AC WITH ITS ADDR
26173 000015 ZZ=ZZ+1
26174 044630 201 15 0 00 000015 MOVEI ZZ,ZZ ;PRELOAD EACH AC WITH ITS ADDR
26175 000016 ZZ=ZZ+1
26176 044631 201 16 0 00 000016 MOVEI ZZ,ZZ ;PRELOAD EACH AC WITH ITS ADDR
26177 000017 ZZ=ZZ+1
26178 044632 201 17 0 00 000017 MOVEI ZZ,ZZ ;PRELOAD EACH AC WITH ITS ADDR
26179 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 3-1
DFKAA4 MAC 25-AUG-75 13:58 TEST OF AC HARDWARE AND INDEX REGISTERS SEQ 0574
26180 000020 ZZ=20
26181
26182 REPEAT ^D16,<
26183 ;THIS TEST VERIFIES THAT ALL ACS EXIST.
26184 ;FIRST, EACH AC IS PRELOADED WITH ITS OWN ADDRESS;
26185 ;THEN, THE CONTENTS OF EACH AC IS CHECKED FOR ITS ADDRESS.
26186 ;IF ANY AC DOES NOT CONTAIN ITS ADDRESS, THIS TEST FAILS
26187
26188 SN=SN+1
26189 ZZ=ZZ-1
26190 CAIE ZZ,ZZ ;CHECK THAT EACH AC CONTAINS ITS OWN ADDRESS
26191 STOP
26192 ;IN CASE OF FAILURE, LOOP TO C500 ADDRESS
26193
26194 ;**********
26195 >
26196
26197 ;THIS TEST VERIFIES THAT ALL ACS EXIST.
26198 ;FIRST, EACH AC IS PRELOADED WITH ITS OWN ADDRESS;
26199 ;THEN, THE CONTENTS OF EACH AC IS CHECKED FOR ITS ADDRESS.
26200 ;IF ANY AC DOES NOT CONTAIN ITS ADDRESS, THIS TEST FAILS
26201
26202 000501 SN=SN+1
26203 000017 ZZ=ZZ-1
26204 044633 302 17 0 00 000017 CAIE ZZ,ZZ ;CHECK THAT EACH AC CONTAINS ITS OWN ADDRESS
26205 STOP^
26206 044634 254 04 0 00 044635 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
26207 044635 324 00 0 00 044636 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
26208 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
26209 ;IN THE SUBTEST) TO LOOP ON ERROR^
26210 ;IN CASE OF FAILURE, LOOP TO C500 ADDRESS
26211
26212 ;**********
26213
26214
26215 ;THIS TEST VERIFIES THAT ALL ACS EXIST.
26216 ;FIRST, EACH AC IS PRELOADED WITH ITS OWN ADDRESS;
26217 ;THEN, THE CONTENTS OF EACH AC IS CHECKED FOR ITS ADDRESS.
26218 ;IF ANY AC DOES NOT CONTAIN ITS ADDRESS, THIS TEST FAILS
26219
26220 000502 SN=SN+1
26221 000016 ZZ=ZZ-1
26222 044636 302 16 0 00 000016 CAIE ZZ,ZZ ;CHECK THAT EACH AC CONTAINS ITS OWN ADDRESS
26223 STOP^
26224 044637 254 04 0 00 044640 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
26225 044640 324 00 0 00 044641 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
26226 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
26227 ;IN THE SUBTEST) TO LOOP ON ERROR^
26228 ;IN CASE OF FAILURE, LOOP TO C500 ADDRESS
26229
26230 ;**********
26231
26232
26233 ;THIS TEST VERIFIES THAT ALL ACS EXIST.
26234 ;FIRST, EACH AC IS PRELOADED WITH ITS OWN ADDRESS;
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 3-2
DFKAA4 MAC 25-AUG-75 13:58 TEST OF AC HARDWARE AND INDEX REGISTERS SEQ 0575
26235 ;THEN, THE CONTENTS OF EACH AC IS CHECKED FOR ITS ADDRESS.
26236 ;IF ANY AC DOES NOT CONTAIN ITS ADDRESS, THIS TEST FAILS
26237
26238 000503 SN=SN+1
26239 000015 ZZ=ZZ-1
26240 044641 302 15 0 00 000015 CAIE ZZ,ZZ ;CHECK THAT EACH AC CONTAINS ITS OWN ADDRESS
26241 STOP^
26242 044642 254 04 0 00 044643 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
26243 044643 324 00 0 00 044644 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
26244 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
26245 ;IN THE SUBTEST) TO LOOP ON ERROR^
26246 ;IN CASE OF FAILURE, LOOP TO C500 ADDRESS
26247
26248 ;**********
26249
26250
26251 ;THIS TEST VERIFIES THAT ALL ACS EXIST.
26252 ;FIRST, EACH AC IS PRELOADED WITH ITS OWN ADDRESS;
26253 ;THEN, THE CONTENTS OF EACH AC IS CHECKED FOR ITS ADDRESS.
26254 ;IF ANY AC DOES NOT CONTAIN ITS ADDRESS, THIS TEST FAILS
26255
26256 000504 SN=SN+1
26257 000014 ZZ=ZZ-1
26258 044644 302 14 0 00 000014 CAIE ZZ,ZZ ;CHECK THAT EACH AC CONTAINS ITS OWN ADDRESS
26259 STOP^
26260 044645 254 04 0 00 044646 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
26261 044646 324 00 0 00 044647 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
26262 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
26263 ;IN THE SUBTEST) TO LOOP ON ERROR^
26264 ;IN CASE OF FAILURE, LOOP TO C500 ADDRESS
26265
26266 ;**********
26267
26268
26269 ;THIS TEST VERIFIES THAT ALL ACS EXIST.
26270 ;FIRST, EACH AC IS PRELOADED WITH ITS OWN ADDRESS;
26271 ;THEN, THE CONTENTS OF EACH AC IS CHECKED FOR ITS ADDRESS.
26272 ;IF ANY AC DOES NOT CONTAIN ITS ADDRESS, THIS TEST FAILS
26273
26274 000505 SN=SN+1
26275 000013 ZZ=ZZ-1
26276 044647 302 13 0 00 000013 CAIE ZZ,ZZ ;CHECK THAT EACH AC CONTAINS ITS OWN ADDRESS
26277 STOP^
26278 044650 254 04 0 00 044651 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
26279 044651 324 00 0 00 044652 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
26280 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
26281 ;IN THE SUBTEST) TO LOOP ON ERROR^
26282 ;IN CASE OF FAILURE, LOOP TO C500 ADDRESS
26283
26284 ;**********
26285
26286
26287 ;THIS TEST VERIFIES THAT ALL ACS EXIST.
26288 ;FIRST, EACH AC IS PRELOADED WITH ITS OWN ADDRESS;
26289 ;THEN, THE CONTENTS OF EACH AC IS CHECKED FOR ITS ADDRESS.
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 3-3
DFKAA4 MAC 25-AUG-75 13:58 TEST OF AC HARDWARE AND INDEX REGISTERS SEQ 0576
26290 ;IF ANY AC DOES NOT CONTAIN ITS ADDRESS, THIS TEST FAILS
26291
26292 000506 SN=SN+1
26293 000012 ZZ=ZZ-1
26294 044652 302 12 0 00 000012 CAIE ZZ,ZZ ;CHECK THAT EACH AC CONTAINS ITS OWN ADDRESS
26295 STOP^
26296 044653 254 04 0 00 044654 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
26297 044654 324 00 0 00 044655 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
26298 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
26299 ;IN THE SUBTEST) TO LOOP ON ERROR^
26300 ;IN CASE OF FAILURE, LOOP TO C500 ADDRESS
26301
26302 ;**********
26303
26304
26305 ;THIS TEST VERIFIES THAT ALL ACS EXIST.
26306 ;FIRST, EACH AC IS PRELOADED WITH ITS OWN ADDRESS;
26307 ;THEN, THE CONTENTS OF EACH AC IS CHECKED FOR ITS ADDRESS.
26308 ;IF ANY AC DOES NOT CONTAIN ITS ADDRESS, THIS TEST FAILS
26309
26310 000507 SN=SN+1
26311 000011 ZZ=ZZ-1
26312 044655 302 11 0 00 000011 CAIE ZZ,ZZ ;CHECK THAT EACH AC CONTAINS ITS OWN ADDRESS
26313 STOP^
26314 044656 254 04 0 00 044657 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
26315 044657 324 00 0 00 044660 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
26316 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
26317 ;IN THE SUBTEST) TO LOOP ON ERROR^
26318 ;IN CASE OF FAILURE, LOOP TO C500 ADDRESS
26319
26320 ;**********
26321
26322
26323 ;THIS TEST VERIFIES THAT ALL ACS EXIST.
26324 ;FIRST, EACH AC IS PRELOADED WITH ITS OWN ADDRESS;
26325 ;THEN, THE CONTENTS OF EACH AC IS CHECKED FOR ITS ADDRESS.
26326 ;IF ANY AC DOES NOT CONTAIN ITS ADDRESS, THIS TEST FAILS
26327
26328 000510 SN=SN+1
26329 000010 ZZ=ZZ-1
26330 044660 302 10 0 00 000010 CAIE ZZ,ZZ ;CHECK THAT EACH AC CONTAINS ITS OWN ADDRESS
26331 STOP^
26332 044661 254 04 0 00 044662 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
26333 044662 324 00 0 00 044663 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
26334 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
26335 ;IN THE SUBTEST) TO LOOP ON ERROR^
26336 ;IN CASE OF FAILURE, LOOP TO C500 ADDRESS
26337
26338 ;**********
26339
26340
26341 ;THIS TEST VERIFIES THAT ALL ACS EXIST.
26342 ;FIRST, EACH AC IS PRELOADED WITH ITS OWN ADDRESS;
26343 ;THEN, THE CONTENTS OF EACH AC IS CHECKED FOR ITS ADDRESS.
26344 ;IF ANY AC DOES NOT CONTAIN ITS ADDRESS, THIS TEST FAILS
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 3-4
DFKAA4 MAC 25-AUG-75 13:58 TEST OF AC HARDWARE AND INDEX REGISTERS SEQ 0577
26345
26346 000511 SN=SN+1
26347 000007 ZZ=ZZ-1
26348 044663 302 07 0 00 000007 CAIE ZZ,ZZ ;CHECK THAT EACH AC CONTAINS ITS OWN ADDRESS
26349 STOP^
26350 044664 254 04 0 00 044665 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
26351 044665 324 00 0 00 044666 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
26352 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
26353 ;IN THE SUBTEST) TO LOOP ON ERROR^
26354 ;IN CASE OF FAILURE, LOOP TO C500 ADDRESS
26355
26356 ;**********
26357
26358
26359 ;THIS TEST VERIFIES THAT ALL ACS EXIST.
26360 ;FIRST, EACH AC IS PRELOADED WITH ITS OWN ADDRESS;
26361 ;THEN, THE CONTENTS OF EACH AC IS CHECKED FOR ITS ADDRESS.
26362 ;IF ANY AC DOES NOT CONTAIN ITS ADDRESS, THIS TEST FAILS
26363
26364 000512 SN=SN+1
26365 000006 ZZ=ZZ-1
26366 044666 302 06 0 00 000006 CAIE ZZ,ZZ ;CHECK THAT EACH AC CONTAINS ITS OWN ADDRESS
26367 STOP^
26368 044667 254 04 0 00 044670 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
26369 044670 324 00 0 00 044671 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
26370 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
26371 ;IN THE SUBTEST) TO LOOP ON ERROR^
26372 ;IN CASE OF FAILURE, LOOP TO C500 ADDRESS
26373
26374 ;**********
26375
26376
26377 ;THIS TEST VERIFIES THAT ALL ACS EXIST.
26378 ;FIRST, EACH AC IS PRELOADED WITH ITS OWN ADDRESS;
26379 ;THEN, THE CONTENTS OF EACH AC IS CHECKED FOR ITS ADDRESS.
26380 ;IF ANY AC DOES NOT CONTAIN ITS ADDRESS, THIS TEST FAILS
26381
26382 000513 SN=SN+1
26383 000005 ZZ=ZZ-1
26384 044671 302 05 0 00 000005 CAIE ZZ,ZZ ;CHECK THAT EACH AC CONTAINS ITS OWN ADDRESS
26385 STOP^
26386 044672 254 04 0 00 044673 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
26387 044673 324 00 0 00 044674 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
26388 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
26389 ;IN THE SUBTEST) TO LOOP ON ERROR^
26390 ;IN CASE OF FAILURE, LOOP TO C500 ADDRESS
26391
26392 ;**********
26393
26394
26395 ;THIS TEST VERIFIES THAT ALL ACS EXIST.
26396 ;FIRST, EACH AC IS PRELOADED WITH ITS OWN ADDRESS;
26397 ;THEN, THE CONTENTS OF EACH AC IS CHECKED FOR ITS ADDRESS.
26398 ;IF ANY AC DOES NOT CONTAIN ITS ADDRESS, THIS TEST FAILS
26399
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 3-5
DFKAA4 MAC 25-AUG-75 13:58 TEST OF AC HARDWARE AND INDEX REGISTERS SEQ 0578
26400 000514 SN=SN+1
26401 000004 ZZ=ZZ-1
26402 044674 302 04 0 00 000004 CAIE ZZ,ZZ ;CHECK THAT EACH AC CONTAINS ITS OWN ADDRESS
26403 STOP^
26404 044675 254 04 0 00 044676 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
26405 044676 324 00 0 00 044677 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
26406 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
26407 ;IN THE SUBTEST) TO LOOP ON ERROR^
26408 ;IN CASE OF FAILURE, LOOP TO C500 ADDRESS
26409
26410 ;**********
26411
26412
26413 ;THIS TEST VERIFIES THAT ALL ACS EXIST.
26414 ;FIRST, EACH AC IS PRELOADED WITH ITS OWN ADDRESS;
26415 ;THEN, THE CONTENTS OF EACH AC IS CHECKED FOR ITS ADDRESS.
26416 ;IF ANY AC DOES NOT CONTAIN ITS ADDRESS, THIS TEST FAILS
26417
26418 000515 SN=SN+1
26419 000003 ZZ=ZZ-1
26420 044677 302 03 0 00 000003 CAIE ZZ,ZZ ;CHECK THAT EACH AC CONTAINS ITS OWN ADDRESS
26421 STOP^
26422 044700 254 04 0 00 044701 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
26423 044701 324 00 0 00 044702 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
26424 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
26425 ;IN THE SUBTEST) TO LOOP ON ERROR^
26426 ;IN CASE OF FAILURE, LOOP TO C500 ADDRESS
26427
26428 ;**********
26429
26430
26431 ;THIS TEST VERIFIES THAT ALL ACS EXIST.
26432 ;FIRST, EACH AC IS PRELOADED WITH ITS OWN ADDRESS;
26433 ;THEN, THE CONTENTS OF EACH AC IS CHECKED FOR ITS ADDRESS.
26434 ;IF ANY AC DOES NOT CONTAIN ITS ADDRESS, THIS TEST FAILS
26435
26436 000516 SN=SN+1
26437 000002 ZZ=ZZ-1
26438 044702 302 02 0 00 000002 CAIE ZZ,ZZ ;CHECK THAT EACH AC CONTAINS ITS OWN ADDRESS
26439 STOP^
26440 044703 254 04 0 00 044704 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
26441 044704 324 00 0 00 044705 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
26442 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
26443 ;IN THE SUBTEST) TO LOOP ON ERROR^
26444 ;IN CASE OF FAILURE, LOOP TO C500 ADDRESS
26445
26446 ;**********
26447
26448
26449 ;THIS TEST VERIFIES THAT ALL ACS EXIST.
26450 ;FIRST, EACH AC IS PRELOADED WITH ITS OWN ADDRESS;
26451 ;THEN, THE CONTENTS OF EACH AC IS CHECKED FOR ITS ADDRESS.
26452 ;IF ANY AC DOES NOT CONTAIN ITS ADDRESS, THIS TEST FAILS
26453
26454 000517 SN=SN+1
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 3-6
DFKAA4 MAC 25-AUG-75 13:58 TEST OF AC HARDWARE AND INDEX REGISTERS SEQ 0579
26455 000001 ZZ=ZZ-1
26456 044705 302 01 0 00 000001 CAIE ZZ,ZZ ;CHECK THAT EACH AC CONTAINS ITS OWN ADDRESS
26457 STOP^
26458 044706 254 04 0 00 044707 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
26459 044707 324 00 0 00 044710 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
26460 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
26461 ;IN THE SUBTEST) TO LOOP ON ERROR^
26462 ;IN CASE OF FAILURE, LOOP TO C500 ADDRESS
26463
26464 ;**********
26465
26466
26467 ;THIS TEST VERIFIES THAT ALL ACS EXIST.
26468 ;FIRST, EACH AC IS PRELOADED WITH ITS OWN ADDRESS;
26469 ;THEN, THE CONTENTS OF EACH AC IS CHECKED FOR ITS ADDRESS.
26470 ;IF ANY AC DOES NOT CONTAIN ITS ADDRESS, THIS TEST FAILS
26471
26472 000520 SN=SN+1
26473 000000 ZZ=ZZ-1
26474 044710 302 00 0 00 000000 CAIE ZZ,ZZ ;CHECK THAT EACH AC CONTAINS ITS OWN ADDRESS
26475 STOP^
26476 044711 254 04 0 00 044712 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
26477 044712 324 00 0 00 044713 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
26478 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
26479 ;IN THE SUBTEST) TO LOOP ON ERROR^
26480 ;IN CASE OF FAILURE, LOOP TO C500 ADDRESS
26481
26482 ;**********
26483
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4
DFKAA4 MAC 25-AUG-75 13:58 TEST OF AC HARDWARE AND INDEX REGISTERS SEQ 0580
26484 000600 SN=600
26485 000000 ZZ=0
26486
26487 ;THIS TEST VERIFIES THAT AN ADDRESS WITHIN THE AC RANGE MAY BE ACCESSED AS
26488 ;EITHER AN AC OR A MEMORY LOCATION AND THAT EITHER REFERENCE REFERS TO THE
26489 ;SAME HARDWARE. EACH AC IS PRELOADED WITH ITS ADDRESS; THEN THE CONTENTS OF EACH
26490 ;AC IS CHECKED FOR ITS ADDRESS. IF ANY AC DOES NOT CONTAIN ITS ADDRESS, THIS TEST FAILS.
26491
26492 C600: REPEAT ^D15,
26493 < ZZ=ZZ+1
26494 MOVEI ZZ ;PRELOAD EACH AC WITH ITS ADDRESS
26495 MOVEM ZZ ;BY REFERENCING EACH AC AS MEMORY.>
26496 000001 ZZ=ZZ+1
26497 044713 201 00 0 00 000001 MOVEI ZZ ;PRELOAD EACH AC WITH ITS ADDRESS
26498 044714 202 00 0 00 000001 MOVEM ZZ ;BY REFERENCING EACH AC AS MEMORY.
26499 000002 ZZ=ZZ+1
26500 044715 201 00 0 00 000002 MOVEI ZZ ;PRELOAD EACH AC WITH ITS ADDRESS
26501 044716 202 00 0 00 000002 MOVEM ZZ ;BY REFERENCING EACH AC AS MEMORY.
26502 000003 ZZ=ZZ+1
26503 044717 201 00 0 00 000003 MOVEI ZZ ;PRELOAD EACH AC WITH ITS ADDRESS
26504 044720 202 00 0 00 000003 MOVEM ZZ ;BY REFERENCING EACH AC AS MEMORY.
26505 000004 ZZ=ZZ+1
26506 044721 201 00 0 00 000004 MOVEI ZZ ;PRELOAD EACH AC WITH ITS ADDRESS
26507 044722 202 00 0 00 000004 MOVEM ZZ ;BY REFERENCING EACH AC AS MEMORY.
26508 000005 ZZ=ZZ+1
26509 044723 201 00 0 00 000005 MOVEI ZZ ;PRELOAD EACH AC WITH ITS ADDRESS
26510 044724 202 00 0 00 000005 MOVEM ZZ ;BY REFERENCING EACH AC AS MEMORY.
26511 000006 ZZ=ZZ+1
26512 044725 201 00 0 00 000006 MOVEI ZZ ;PRELOAD EACH AC WITH ITS ADDRESS
26513 044726 202 00 0 00 000006 MOVEM ZZ ;BY REFERENCING EACH AC AS MEMORY.
26514 000007 ZZ=ZZ+1
26515 044727 201 00 0 00 000007 MOVEI ZZ ;PRELOAD EACH AC WITH ITS ADDRESS
26516 044730 202 00 0 00 000007 MOVEM ZZ ;BY REFERENCING EACH AC AS MEMORY.
26517 000010 ZZ=ZZ+1
26518 044731 201 00 0 00 000010 MOVEI ZZ ;PRELOAD EACH AC WITH ITS ADDRESS
26519 044732 202 00 0 00 000010 MOVEM ZZ ;BY REFERENCING EACH AC AS MEMORY.
26520 000011 ZZ=ZZ+1
26521 044733 201 00 0 00 000011 MOVEI ZZ ;PRELOAD EACH AC WITH ITS ADDRESS
26522 044734 202 00 0 00 000011 MOVEM ZZ ;BY REFERENCING EACH AC AS MEMORY.
26523 000012 ZZ=ZZ+1
26524 044735 201 00 0 00 000012 MOVEI ZZ ;PRELOAD EACH AC WITH ITS ADDRESS
26525 044736 202 00 0 00 000012 MOVEM ZZ ;BY REFERENCING EACH AC AS MEMORY.
26526 000013 ZZ=ZZ+1
26527 044737 201 00 0 00 000013 MOVEI ZZ ;PRELOAD EACH AC WITH ITS ADDRESS
26528 044740 202 00 0 00 000013 MOVEM ZZ ;BY REFERENCING EACH AC AS MEMORY.
26529 000014 ZZ=ZZ+1
26530 044741 201 00 0 00 000014 MOVEI ZZ ;PRELOAD EACH AC WITH ITS ADDRESS
26531 044742 202 00 0 00 000014 MOVEM ZZ ;BY REFERENCING EACH AC AS MEMORY.
26532 000015 ZZ=ZZ+1
26533 044743 201 00 0 00 000015 MOVEI ZZ ;PRELOAD EACH AC WITH ITS ADDRESS
26534 044744 202 00 0 00 000015 MOVEM ZZ ;BY REFERENCING EACH AC AS MEMORY.
26535 000016 ZZ=ZZ+1
26536 044745 201 00 0 00 000016 MOVEI ZZ ;PRELOAD EACH AC WITH ITS ADDRESS
26537 044746 202 00 0 00 000016 MOVEM ZZ ;BY REFERENCING EACH AC AS MEMORY.
26538 000017 ZZ=ZZ+1
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4-1
DFKAA4 MAC 25-AUG-75 13:58 TEST OF AC HARDWARE AND INDEX REGISTERS SEQ 0581
26539 044747 201 00 0 00 000017 MOVEI ZZ ;PRELOAD EACH AC WITH ITS ADDRESS
26540 044750 202 00 0 00 000017 MOVEM ZZ ;BY REFERENCING EACH AC AS MEMORY.
26541
26542 000020 ZZ=20
26543
26544 REPEAT ^D15,<
26545 ;THIS TEST VERIFIES THAT AN ADDRESS WITHIN THE AC RANGE MAY BE ACCESSED AS
26546 ;EITHER AN AC OR A MEMORY LOCATION AND THAT EITHER REFERENCE REFERS TO THE
26547 ;SAME HARDWARE. EACH AC IS PRELOADED WITH ITS ADDRESS
26548 ;THEN THE CONTENTS OF EACH AC IS CHECKED FOR ITS ADDRESS.
26549 ;IF ANY AC DOES NOT CONTAIN ITS ADDRESS, THIS TEST FAILS.
26550
26551 SN=SN+1
26552 ZZ=ZZ-1
26553 CAIE ZZ,ZZ ;CHECK THAT EACH AC CONTAINS ITS OWN ADDRESS
26554 STOP
26555 ;IN CASE OF FAILURE, LOOP TO C600 ADDRESS
26556
26557 ;**********
26558 >
26559
26560 ;THIS TEST VERIFIES THAT AN ADDRESS WITHIN THE AC RANGE MAY BE ACCESSED AS
26561 ;EITHER AN AC OR A MEMORY LOCATION AND THAT EITHER REFERENCE REFERS TO THE
26562 ;SAME HARDWARE. EACH AC IS PRELOADED WITH ITS ADDRESS
26563 ;THEN THE CONTENTS OF EACH AC IS CHECKED FOR ITS ADDRESS.
26564 ;IF ANY AC DOES NOT CONTAIN ITS ADDRESS, THIS TEST FAILS.
26565
26566 000601 SN=SN+1
26567 000017 ZZ=ZZ-1
26568 044751 302 17 0 00 000017 CAIE ZZ,ZZ ;CHECK THAT EACH AC CONTAINS ITS OWN ADDRESS
26569 STOP^
26570 044752 254 04 0 00 044753 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
26571 044753 324 00 0 00 044754 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
26572 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
26573 ;IN THE SUBTEST) TO LOOP ON ERROR^
26574 ;IN CASE OF FAILURE, LOOP TO C600 ADDRESS
26575
26576 ;**********
26577
26578
26579 ;THIS TEST VERIFIES THAT AN ADDRESS WITHIN THE AC RANGE MAY BE ACCESSED AS
26580 ;EITHER AN AC OR A MEMORY LOCATION AND THAT EITHER REFERENCE REFERS TO THE
26581 ;SAME HARDWARE. EACH AC IS PRELOADED WITH ITS ADDRESS
26582 ;THEN THE CONTENTS OF EACH AC IS CHECKED FOR ITS ADDRESS.
26583 ;IF ANY AC DOES NOT CONTAIN ITS ADDRESS, THIS TEST FAILS.
26584
26585 000602 SN=SN+1
26586 000016 ZZ=ZZ-1
26587 044754 302 16 0 00 000016 CAIE ZZ,ZZ ;CHECK THAT EACH AC CONTAINS ITS OWN ADDRESS
26588 STOP^
26589 044755 254 04 0 00 044756 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
26590 044756 324 00 0 00 044757 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
26591 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
26592 ;IN THE SUBTEST) TO LOOP ON ERROR^
26593 ;IN CASE OF FAILURE, LOOP TO C600 ADDRESS
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4-2
DFKAA4 MAC 25-AUG-75 13:58 TEST OF AC HARDWARE AND INDEX REGISTERS SEQ 0582
26594
26595 ;**********
26596
26597
26598 ;THIS TEST VERIFIES THAT AN ADDRESS WITHIN THE AC RANGE MAY BE ACCESSED AS
26599 ;EITHER AN AC OR A MEMORY LOCATION AND THAT EITHER REFERENCE REFERS TO THE
26600 ;SAME HARDWARE. EACH AC IS PRELOADED WITH ITS ADDRESS
26601 ;THEN THE CONTENTS OF EACH AC IS CHECKED FOR ITS ADDRESS.
26602 ;IF ANY AC DOES NOT CONTAIN ITS ADDRESS, THIS TEST FAILS.
26603
26604 000603 SN=SN+1
26605 000015 ZZ=ZZ-1
26606 044757 302 15 0 00 000015 CAIE ZZ,ZZ ;CHECK THAT EACH AC CONTAINS ITS OWN ADDRESS
26607 STOP^
26608 044760 254 04 0 00 044761 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
26609 044761 324 00 0 00 044762 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
26610 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
26611 ;IN THE SUBTEST) TO LOOP ON ERROR^
26612 ;IN CASE OF FAILURE, LOOP TO C600 ADDRESS
26613
26614 ;**********
26615
26616
26617 ;THIS TEST VERIFIES THAT AN ADDRESS WITHIN THE AC RANGE MAY BE ACCESSED AS
26618 ;EITHER AN AC OR A MEMORY LOCATION AND THAT EITHER REFERENCE REFERS TO THE
26619 ;SAME HARDWARE. EACH AC IS PRELOADED WITH ITS ADDRESS
26620 ;THEN THE CONTENTS OF EACH AC IS CHECKED FOR ITS ADDRESS.
26621 ;IF ANY AC DOES NOT CONTAIN ITS ADDRESS, THIS TEST FAILS.
26622
26623 000604 SN=SN+1
26624 000014 ZZ=ZZ-1
26625 044762 302 14 0 00 000014 CAIE ZZ,ZZ ;CHECK THAT EACH AC CONTAINS ITS OWN ADDRESS
26626 STOP^
26627 044763 254 04 0 00 044764 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
26628 044764 324 00 0 00 044765 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
26629 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
26630 ;IN THE SUBTEST) TO LOOP ON ERROR^
26631 ;IN CASE OF FAILURE, LOOP TO C600 ADDRESS
26632
26633 ;**********
26634
26635
26636 ;THIS TEST VERIFIES THAT AN ADDRESS WITHIN THE AC RANGE MAY BE ACCESSED AS
26637 ;EITHER AN AC OR A MEMORY LOCATION AND THAT EITHER REFERENCE REFERS TO THE
26638 ;SAME HARDWARE. EACH AC IS PRELOADED WITH ITS ADDRESS
26639 ;THEN THE CONTENTS OF EACH AC IS CHECKED FOR ITS ADDRESS.
26640 ;IF ANY AC DOES NOT CONTAIN ITS ADDRESS, THIS TEST FAILS.
26641
26642 000605 SN=SN+1
26643 000013 ZZ=ZZ-1
26644 044765 302 13 0 00 000013 CAIE ZZ,ZZ ;CHECK THAT EACH AC CONTAINS ITS OWN ADDRESS
26645 STOP^
26646 044766 254 04 0 00 044767 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
26647 044767 324 00 0 00 044770 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
26648 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4-3
DFKAA4 MAC 25-AUG-75 13:58 TEST OF AC HARDWARE AND INDEX REGISTERS SEQ 0583
26649 ;IN THE SUBTEST) TO LOOP ON ERROR^
26650 ;IN CASE OF FAILURE, LOOP TO C600 ADDRESS
26651
26652 ;**********
26653
26654
26655 ;THIS TEST VERIFIES THAT AN ADDRESS WITHIN THE AC RANGE MAY BE ACCESSED AS
26656 ;EITHER AN AC OR A MEMORY LOCATION AND THAT EITHER REFERENCE REFERS TO THE
26657 ;SAME HARDWARE. EACH AC IS PRELOADED WITH ITS ADDRESS
26658 ;THEN THE CONTENTS OF EACH AC IS CHECKED FOR ITS ADDRESS.
26659 ;IF ANY AC DOES NOT CONTAIN ITS ADDRESS, THIS TEST FAILS.
26660
26661 000606 SN=SN+1
26662 000012 ZZ=ZZ-1
26663 044770 302 12 0 00 000012 CAIE ZZ,ZZ ;CHECK THAT EACH AC CONTAINS ITS OWN ADDRESS
26664 STOP^
26665 044771 254 04 0 00 044772 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
26666 044772 324 00 0 00 044773 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
26667 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
26668 ;IN THE SUBTEST) TO LOOP ON ERROR^
26669 ;IN CASE OF FAILURE, LOOP TO C600 ADDRESS
26670
26671 ;**********
26672
26673
26674 ;THIS TEST VERIFIES THAT AN ADDRESS WITHIN THE AC RANGE MAY BE ACCESSED AS
26675 ;EITHER AN AC OR A MEMORY LOCATION AND THAT EITHER REFERENCE REFERS TO THE
26676 ;SAME HARDWARE. EACH AC IS PRELOADED WITH ITS ADDRESS
26677 ;THEN THE CONTENTS OF EACH AC IS CHECKED FOR ITS ADDRESS.
26678 ;IF ANY AC DOES NOT CONTAIN ITS ADDRESS, THIS TEST FAILS.
26679
26680 000607 SN=SN+1
26681 000011 ZZ=ZZ-1
26682 044773 302 11 0 00 000011 CAIE ZZ,ZZ ;CHECK THAT EACH AC CONTAINS ITS OWN ADDRESS
26683 STOP^
26684 044774 254 04 0 00 044775 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
26685 044775 324 00 0 00 044776 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
26686 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
26687 ;IN THE SUBTEST) TO LOOP ON ERROR^
26688 ;IN CASE OF FAILURE, LOOP TO C600 ADDRESS
26689
26690 ;**********
26691
26692
26693 ;THIS TEST VERIFIES THAT AN ADDRESS WITHIN THE AC RANGE MAY BE ACCESSED AS
26694 ;EITHER AN AC OR A MEMORY LOCATION AND THAT EITHER REFERENCE REFERS TO THE
26695 ;SAME HARDWARE. EACH AC IS PRELOADED WITH ITS ADDRESS
26696 ;THEN THE CONTENTS OF EACH AC IS CHECKED FOR ITS ADDRESS.
26697 ;IF ANY AC DOES NOT CONTAIN ITS ADDRESS, THIS TEST FAILS.
26698
26699 000610 SN=SN+1
26700 000010 ZZ=ZZ-1
26701 044776 302 10 0 00 000010 CAIE ZZ,ZZ ;CHECK THAT EACH AC CONTAINS ITS OWN ADDRESS
26702 STOP^
26703 044777 254 04 0 00 045000 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4-4
DFKAA4 MAC 25-AUG-75 13:58 TEST OF AC HARDWARE AND INDEX REGISTERS SEQ 0584
26704 045000 324 00 0 00 045001 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
26705 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
26706 ;IN THE SUBTEST) TO LOOP ON ERROR^
26707 ;IN CASE OF FAILURE, LOOP TO C600 ADDRESS
26708
26709 ;**********
26710
26711
26712 ;THIS TEST VERIFIES THAT AN ADDRESS WITHIN THE AC RANGE MAY BE ACCESSED AS
26713 ;EITHER AN AC OR A MEMORY LOCATION AND THAT EITHER REFERENCE REFERS TO THE
26714 ;SAME HARDWARE. EACH AC IS PRELOADED WITH ITS ADDRESS
26715 ;THEN THE CONTENTS OF EACH AC IS CHECKED FOR ITS ADDRESS.
26716 ;IF ANY AC DOES NOT CONTAIN ITS ADDRESS, THIS TEST FAILS.
26717
26718 000611 SN=SN+1
26719 000007 ZZ=ZZ-1
26720 045001 302 07 0 00 000007 CAIE ZZ,ZZ ;CHECK THAT EACH AC CONTAINS ITS OWN ADDRESS
26721 STOP^
26722 045002 254 04 0 00 045003 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
26723 045003 324 00 0 00 045004 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
26724 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
26725 ;IN THE SUBTEST) TO LOOP ON ERROR^
26726 ;IN CASE OF FAILURE, LOOP TO C600 ADDRESS
26727
26728 ;**********
26729
26730
26731 ;THIS TEST VERIFIES THAT AN ADDRESS WITHIN THE AC RANGE MAY BE ACCESSED AS
26732 ;EITHER AN AC OR A MEMORY LOCATION AND THAT EITHER REFERENCE REFERS TO THE
26733 ;SAME HARDWARE. EACH AC IS PRELOADED WITH ITS ADDRESS
26734 ;THEN THE CONTENTS OF EACH AC IS CHECKED FOR ITS ADDRESS.
26735 ;IF ANY AC DOES NOT CONTAIN ITS ADDRESS, THIS TEST FAILS.
26736
26737 000612 SN=SN+1
26738 000006 ZZ=ZZ-1
26739 045004 302 06 0 00 000006 CAIE ZZ,ZZ ;CHECK THAT EACH AC CONTAINS ITS OWN ADDRESS
26740 STOP^
26741 045005 254 04 0 00 045006 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
26742 045006 324 00 0 00 045007 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
26743 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
26744 ;IN THE SUBTEST) TO LOOP ON ERROR^
26745 ;IN CASE OF FAILURE, LOOP TO C600 ADDRESS
26746
26747 ;**********
26748
26749
26750 ;THIS TEST VERIFIES THAT AN ADDRESS WITHIN THE AC RANGE MAY BE ACCESSED AS
26751 ;EITHER AN AC OR A MEMORY LOCATION AND THAT EITHER REFERENCE REFERS TO THE
26752 ;SAME HARDWARE. EACH AC IS PRELOADED WITH ITS ADDRESS
26753 ;THEN THE CONTENTS OF EACH AC IS CHECKED FOR ITS ADDRESS.
26754 ;IF ANY AC DOES NOT CONTAIN ITS ADDRESS, THIS TEST FAILS.
26755
26756 000613 SN=SN+1
26757 000005 ZZ=ZZ-1
26758 045007 302 05 0 00 000005 CAIE ZZ,ZZ ;CHECK THAT EACH AC CONTAINS ITS OWN ADDRESS
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4-5
DFKAA4 MAC 25-AUG-75 13:58 TEST OF AC HARDWARE AND INDEX REGISTERS SEQ 0585
26759 STOP^
26760 045010 254 04 0 00 045011 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
26761 045011 324 00 0 00 045012 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
26762 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
26763 ;IN THE SUBTEST) TO LOOP ON ERROR^
26764 ;IN CASE OF FAILURE, LOOP TO C600 ADDRESS
26765
26766 ;**********
26767
26768
26769 ;THIS TEST VERIFIES THAT AN ADDRESS WITHIN THE AC RANGE MAY BE ACCESSED AS
26770 ;EITHER AN AC OR A MEMORY LOCATION AND THAT EITHER REFERENCE REFERS TO THE
26771 ;SAME HARDWARE. EACH AC IS PRELOADED WITH ITS ADDRESS
26772 ;THEN THE CONTENTS OF EACH AC IS CHECKED FOR ITS ADDRESS.
26773 ;IF ANY AC DOES NOT CONTAIN ITS ADDRESS, THIS TEST FAILS.
26774
26775 000614 SN=SN+1
26776 000004 ZZ=ZZ-1
26777 045012 302 04 0 00 000004 CAIE ZZ,ZZ ;CHECK THAT EACH AC CONTAINS ITS OWN ADDRESS
26778 STOP^
26779 045013 254 04 0 00 045014 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
26780 045014 324 00 0 00 045015 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
26781 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
26782 ;IN THE SUBTEST) TO LOOP ON ERROR^
26783 ;IN CASE OF FAILURE, LOOP TO C600 ADDRESS
26784
26785 ;**********
26786
26787
26788 ;THIS TEST VERIFIES THAT AN ADDRESS WITHIN THE AC RANGE MAY BE ACCESSED AS
26789 ;EITHER AN AC OR A MEMORY LOCATION AND THAT EITHER REFERENCE REFERS TO THE
26790 ;SAME HARDWARE. EACH AC IS PRELOADED WITH ITS ADDRESS
26791 ;THEN THE CONTENTS OF EACH AC IS CHECKED FOR ITS ADDRESS.
26792 ;IF ANY AC DOES NOT CONTAIN ITS ADDRESS, THIS TEST FAILS.
26793
26794 000615 SN=SN+1
26795 000003 ZZ=ZZ-1
26796 045015 302 03 0 00 000003 CAIE ZZ,ZZ ;CHECK THAT EACH AC CONTAINS ITS OWN ADDRESS
26797 STOP^
26798 045016 254 04 0 00 045017 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
26799 045017 324 00 0 00 045020 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
26800 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
26801 ;IN THE SUBTEST) TO LOOP ON ERROR^
26802 ;IN CASE OF FAILURE, LOOP TO C600 ADDRESS
26803
26804 ;**********
26805
26806
26807 ;THIS TEST VERIFIES THAT AN ADDRESS WITHIN THE AC RANGE MAY BE ACCESSED AS
26808 ;EITHER AN AC OR A MEMORY LOCATION AND THAT EITHER REFERENCE REFERS TO THE
26809 ;SAME HARDWARE. EACH AC IS PRELOADED WITH ITS ADDRESS
26810 ;THEN THE CONTENTS OF EACH AC IS CHECKED FOR ITS ADDRESS.
26811 ;IF ANY AC DOES NOT CONTAIN ITS ADDRESS, THIS TEST FAILS.
26812
26813 000616 SN=SN+1
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4-6
DFKAA4 MAC 25-AUG-75 13:58 TEST OF AC HARDWARE AND INDEX REGISTERS SEQ 0586
26814 000002 ZZ=ZZ-1
26815 045020 302 02 0 00 000002 CAIE ZZ,ZZ ;CHECK THAT EACH AC CONTAINS ITS OWN ADDRESS
26816 STOP^
26817 045021 254 04 0 00 045022 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
26818 045022 324 00 0 00 045023 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
26819 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
26820 ;IN THE SUBTEST) TO LOOP ON ERROR^
26821 ;IN CASE OF FAILURE, LOOP TO C600 ADDRESS
26822
26823 ;**********
26824
26825
26826 ;THIS TEST VERIFIES THAT AN ADDRESS WITHIN THE AC RANGE MAY BE ACCESSED AS
26827 ;EITHER AN AC OR A MEMORY LOCATION AND THAT EITHER REFERENCE REFERS TO THE
26828 ;SAME HARDWARE. EACH AC IS PRELOADED WITH ITS ADDRESS
26829 ;THEN THE CONTENTS OF EACH AC IS CHECKED FOR ITS ADDRESS.
26830 ;IF ANY AC DOES NOT CONTAIN ITS ADDRESS, THIS TEST FAILS.
26831
26832 000617 SN=SN+1
26833 000001 ZZ=ZZ-1
26834 045023 302 01 0 00 000001 CAIE ZZ,ZZ ;CHECK THAT EACH AC CONTAINS ITS OWN ADDRESS
26835 STOP^
26836 045024 254 04 0 00 045025 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
26837 045025 324 00 0 00 045026 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
26838 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
26839 ;IN THE SUBTEST) TO LOOP ON ERROR^
26840 ;IN CASE OF FAILURE, LOOP TO C600 ADDRESS
26841
26842 ;**********
26843
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 5
DFKAA4 MAC 25-AUG-75 13:58 TEST OF AC HARDWARE AND INDEX REGISTERS SEQ 0587
26844 000700 SN=700
26845 000000 ZZ=0
26846
26847 C700: REPEAT ^D15,<
26848 ;THIS TEST VERIFIES THAT THE INDEX REGISTERS ARE ACCESSABLE.
26849 ;FIRST, AN INDEX REGISTER IS PRELOADED WITH ITS ADDRESS; THEN,
26850 ;IT IS REFERENCED AS AN INDEX REGISTER. IF IT CONTAINS ITS ADDRESS, THIS TEST PASSES.
26851 ;THIS TEST IS REPEATED 15 TIMES IN ORDER TO TEST EACH INDEX REGISTER.
26852
26853 SN=SN+1
26854 ZZ=ZZ+1
26855 MOVEI ZZ,ZZ ;PRELOAD INDEX REGISTER WITH ITS ADDRESS
26856 CAIE ZZ,(ZZ) ;PASS IF INDEX REGISTER CONTAINS ITS ADDRESS
26857 STOP
26858
26859 ;**********
26860 >
26861
26862 ;THIS TEST VERIFIES THAT THE INDEX REGISTERS ARE ACCESSABLE.
26863 ;FIRST, AN INDEX REGISTER IS PRELOADED WITH ITS ADDRESS; THEN,
26864 ;IT IS REFERENCED AS AN INDEX REGISTER. IF IT CONTAINS ITS ADDRESS, THIS TEST PASSES.
26865 ;THIS TEST IS REPEATED 15 TIMES IN ORDER TO TEST EACH INDEX REGISTER.
26866
26867 000701 SN=SN+1
26868 000001 ZZ=ZZ+1
26869 045026 201 01 0 00 000001 MOVEI ZZ,ZZ ;PRELOAD INDEX REGISTER WITH ITS ADDRESS
26870 045027 302 01 0 01 000000 CAIE ZZ,(ZZ) ;PASS IF INDEX REGISTER CONTAINS ITS ADDRESS
26871 STOP^
26872 045030 254 04 0 00 045031 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
26873 045031 324 00 0 00 045032 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
26874 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
26875 ;IN THE SUBTEST) TO LOOP ON ERROR^
26876
26877 ;**********
26878
26879
26880 ;THIS TEST VERIFIES THAT THE INDEX REGISTERS ARE ACCESSABLE.
26881 ;FIRST, AN INDEX REGISTER IS PRELOADED WITH ITS ADDRESS; THEN,
26882 ;IT IS REFERENCED AS AN INDEX REGISTER. IF IT CONTAINS ITS ADDRESS, THIS TEST PASSES.
26883 ;THIS TEST IS REPEATED 15 TIMES IN ORDER TO TEST EACH INDEX REGISTER.
26884
26885 000702 SN=SN+1
26886 000002 ZZ=ZZ+1
26887 045032 201 02 0 00 000002 MOVEI ZZ,ZZ ;PRELOAD INDEX REGISTER WITH ITS ADDRESS
26888 045033 302 02 0 02 000000 CAIE ZZ,(ZZ) ;PASS IF INDEX REGISTER CONTAINS ITS ADDRESS
26889 STOP^
26890 045034 254 04 0 00 045035 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
26891 045035 324 00 0 00 045036 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
26892 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
26893 ;IN THE SUBTEST) TO LOOP ON ERROR^
26894
26895 ;**********
26896
26897
26898 ;THIS TEST VERIFIES THAT THE INDEX REGISTERS ARE ACCESSABLE.
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 5-1
DFKAA4 MAC 25-AUG-75 13:58 TEST OF AC HARDWARE AND INDEX REGISTERS SEQ 0588
26899 ;FIRST, AN INDEX REGISTER IS PRELOADED WITH ITS ADDRESS; THEN,
26900 ;IT IS REFERENCED AS AN INDEX REGISTER. IF IT CONTAINS ITS ADDRESS, THIS TEST PASSES.
26901 ;THIS TEST IS REPEATED 15 TIMES IN ORDER TO TEST EACH INDEX REGISTER.
26902
26903 000703 SN=SN+1
26904 000003 ZZ=ZZ+1
26905 045036 201 03 0 00 000003 MOVEI ZZ,ZZ ;PRELOAD INDEX REGISTER WITH ITS ADDRESS
26906 045037 302 03 0 03 000000 CAIE ZZ,(ZZ) ;PASS IF INDEX REGISTER CONTAINS ITS ADDRESS
26907 STOP^
26908 045040 254 04 0 00 045041 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
26909 045041 324 00 0 00 045042 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
26910 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
26911 ;IN THE SUBTEST) TO LOOP ON ERROR^
26912
26913 ;**********
26914
26915
26916 ;THIS TEST VERIFIES THAT THE INDEX REGISTERS ARE ACCESSABLE.
26917 ;FIRST, AN INDEX REGISTER IS PRELOADED WITH ITS ADDRESS; THEN,
26918 ;IT IS REFERENCED AS AN INDEX REGISTER. IF IT CONTAINS ITS ADDRESS, THIS TEST PASSES.
26919 ;THIS TEST IS REPEATED 15 TIMES IN ORDER TO TEST EACH INDEX REGISTER.
26920
26921 000704 SN=SN+1
26922 000004 ZZ=ZZ+1
26923 045042 201 04 0 00 000004 MOVEI ZZ,ZZ ;PRELOAD INDEX REGISTER WITH ITS ADDRESS
26924 045043 302 04 0 04 000000 CAIE ZZ,(ZZ) ;PASS IF INDEX REGISTER CONTAINS ITS ADDRESS
26925 STOP^
26926 045044 254 04 0 00 045045 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
26927 045045 324 00 0 00 045046 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
26928 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
26929 ;IN THE SUBTEST) TO LOOP ON ERROR^
26930
26931 ;**********
26932
26933
26934 ;THIS TEST VERIFIES THAT THE INDEX REGISTERS ARE ACCESSABLE.
26935 ;FIRST, AN INDEX REGISTER IS PRELOADED WITH ITS ADDRESS; THEN,
26936 ;IT IS REFERENCED AS AN INDEX REGISTER. IF IT CONTAINS ITS ADDRESS, THIS TEST PASSES.
26937 ;THIS TEST IS REPEATED 15 TIMES IN ORDER TO TEST EACH INDEX REGISTER.
26938
26939 000705 SN=SN+1
26940 000005 ZZ=ZZ+1
26941 045046 201 05 0 00 000005 MOVEI ZZ,ZZ ;PRELOAD INDEX REGISTER WITH ITS ADDRESS
26942 045047 302 05 0 05 000000 CAIE ZZ,(ZZ) ;PASS IF INDEX REGISTER CONTAINS ITS ADDRESS
26943 STOP^
26944 045050 254 04 0 00 045051 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
26945 045051 324 00 0 00 045052 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
26946 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
26947 ;IN THE SUBTEST) TO LOOP ON ERROR^
26948
26949 ;**********
26950
26951
26952 ;THIS TEST VERIFIES THAT THE INDEX REGISTERS ARE ACCESSABLE.
26953 ;FIRST, AN INDEX REGISTER IS PRELOADED WITH ITS ADDRESS; THEN,
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 5-2
DFKAA4 MAC 25-AUG-75 13:58 TEST OF AC HARDWARE AND INDEX REGISTERS SEQ 0589
26954 ;IT IS REFERENCED AS AN INDEX REGISTER. IF IT CONTAINS ITS ADDRESS, THIS TEST PASSES.
26955 ;THIS TEST IS REPEATED 15 TIMES IN ORDER TO TEST EACH INDEX REGISTER.
26956
26957 000706 SN=SN+1
26958 000006 ZZ=ZZ+1
26959 045052 201 06 0 00 000006 MOVEI ZZ,ZZ ;PRELOAD INDEX REGISTER WITH ITS ADDRESS
26960 045053 302 06 0 06 000000 CAIE ZZ,(ZZ) ;PASS IF INDEX REGISTER CONTAINS ITS ADDRESS
26961 STOP^
26962 045054 254 04 0 00 045055 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
26963 045055 324 00 0 00 045056 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
26964 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
26965 ;IN THE SUBTEST) TO LOOP ON ERROR^
26966
26967 ;**********
26968
26969
26970 ;THIS TEST VERIFIES THAT THE INDEX REGISTERS ARE ACCESSABLE.
26971 ;FIRST, AN INDEX REGISTER IS PRELOADED WITH ITS ADDRESS; THEN,
26972 ;IT IS REFERENCED AS AN INDEX REGISTER. IF IT CONTAINS ITS ADDRESS, THIS TEST PASSES.
26973 ;THIS TEST IS REPEATED 15 TIMES IN ORDER TO TEST EACH INDEX REGISTER.
26974
26975 000707 SN=SN+1
26976 000007 ZZ=ZZ+1
26977 045056 201 07 0 00 000007 MOVEI ZZ,ZZ ;PRELOAD INDEX REGISTER WITH ITS ADDRESS
26978 045057 302 07 0 07 000000 CAIE ZZ,(ZZ) ;PASS IF INDEX REGISTER CONTAINS ITS ADDRESS
26979 STOP^
26980 045060 254 04 0 00 045061 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
26981 045061 324 00 0 00 045062 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
26982 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
26983 ;IN THE SUBTEST) TO LOOP ON ERROR^
26984
26985 ;**********
26986
26987
26988 ;THIS TEST VERIFIES THAT THE INDEX REGISTERS ARE ACCESSABLE.
26989 ;FIRST, AN INDEX REGISTER IS PRELOADED WITH ITS ADDRESS; THEN,
26990 ;IT IS REFERENCED AS AN INDEX REGISTER. IF IT CONTAINS ITS ADDRESS, THIS TEST PASSES.
26991 ;THIS TEST IS REPEATED 15 TIMES IN ORDER TO TEST EACH INDEX REGISTER.
26992
26993 000710 SN=SN+1
26994 000010 ZZ=ZZ+1
26995 045062 201 10 0 00 000010 MOVEI ZZ,ZZ ;PRELOAD INDEX REGISTER WITH ITS ADDRESS
26996 045063 302 10 0 10 000000 CAIE ZZ,(ZZ) ;PASS IF INDEX REGISTER CONTAINS ITS ADDRESS
26997 STOP^
26998 045064 254 04 0 00 045065 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
26999 045065 324 00 0 00 045066 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
27000 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
27001 ;IN THE SUBTEST) TO LOOP ON ERROR^
27002
27003 ;**********
27004
27005
27006 ;THIS TEST VERIFIES THAT THE INDEX REGISTERS ARE ACCESSABLE.
27007 ;FIRST, AN INDEX REGISTER IS PRELOADED WITH ITS ADDRESS; THEN,
27008 ;IT IS REFERENCED AS AN INDEX REGISTER. IF IT CONTAINS ITS ADDRESS, THIS TEST PASSES.
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 5-3
DFKAA4 MAC 25-AUG-75 13:58 TEST OF AC HARDWARE AND INDEX REGISTERS SEQ 0590
27009 ;THIS TEST IS REPEATED 15 TIMES IN ORDER TO TEST EACH INDEX REGISTER.
27010
27011 000711 SN=SN+1
27012 000011 ZZ=ZZ+1
27013 045066 201 11 0 00 000011 MOVEI ZZ,ZZ ;PRELOAD INDEX REGISTER WITH ITS ADDRESS
27014 045067 302 11 0 11 000000 CAIE ZZ,(ZZ) ;PASS IF INDEX REGISTER CONTAINS ITS ADDRESS
27015 STOP^
27016 045070 254 04 0 00 045071 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
27017 045071 324 00 0 00 045072 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
27018 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
27019 ;IN THE SUBTEST) TO LOOP ON ERROR^
27020
27021 ;**********
27022
27023
27024 ;THIS TEST VERIFIES THAT THE INDEX REGISTERS ARE ACCESSABLE.
27025 ;FIRST, AN INDEX REGISTER IS PRELOADED WITH ITS ADDRESS; THEN,
27026 ;IT IS REFERENCED AS AN INDEX REGISTER. IF IT CONTAINS ITS ADDRESS, THIS TEST PASSES.
27027 ;THIS TEST IS REPEATED 15 TIMES IN ORDER TO TEST EACH INDEX REGISTER.
27028
27029 000712 SN=SN+1
27030 000012 ZZ=ZZ+1
27031 045072 201 12 0 00 000012 MOVEI ZZ,ZZ ;PRELOAD INDEX REGISTER WITH ITS ADDRESS
27032 045073 302 12 0 12 000000 CAIE ZZ,(ZZ) ;PASS IF INDEX REGISTER CONTAINS ITS ADDRESS
27033 STOP^
27034 045074 254 04 0 00 045075 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
27035 045075 324 00 0 00 045076 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
27036 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
27037 ;IN THE SUBTEST) TO LOOP ON ERROR^
27038
27039 ;**********
27040
27041
27042 ;THIS TEST VERIFIES THAT THE INDEX REGISTERS ARE ACCESSABLE.
27043 ;FIRST, AN INDEX REGISTER IS PRELOADED WITH ITS ADDRESS; THEN,
27044 ;IT IS REFERENCED AS AN INDEX REGISTER. IF IT CONTAINS ITS ADDRESS, THIS TEST PASSES.
27045 ;THIS TEST IS REPEATED 15 TIMES IN ORDER TO TEST EACH INDEX REGISTER.
27046
27047 000713 SN=SN+1
27048 000013 ZZ=ZZ+1
27049 045076 201 13 0 00 000013 MOVEI ZZ,ZZ ;PRELOAD INDEX REGISTER WITH ITS ADDRESS
27050 045077 302 13 0 13 000000 CAIE ZZ,(ZZ) ;PASS IF INDEX REGISTER CONTAINS ITS ADDRESS
27051 STOP^
27052 045100 254 04 0 00 045101 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
27053 045101 324 00 0 00 045102 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
27054 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
27055 ;IN THE SUBTEST) TO LOOP ON ERROR^
27056
27057 ;**********
27058
27059
27060 ;THIS TEST VERIFIES THAT THE INDEX REGISTERS ARE ACCESSABLE.
27061 ;FIRST, AN INDEX REGISTER IS PRELOADED WITH ITS ADDRESS; THEN,
27062 ;IT IS REFERENCED AS AN INDEX REGISTER. IF IT CONTAINS ITS ADDRESS, THIS TEST PASSES.
27063 ;THIS TEST IS REPEATED 15 TIMES IN ORDER TO TEST EACH INDEX REGISTER.
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 5-4
DFKAA4 MAC 25-AUG-75 13:58 TEST OF AC HARDWARE AND INDEX REGISTERS SEQ 0591
27064
27065 000714 SN=SN+1
27066 000014 ZZ=ZZ+1
27067 045102 201 14 0 00 000014 MOVEI ZZ,ZZ ;PRELOAD INDEX REGISTER WITH ITS ADDRESS
27068 045103 302 14 0 14 000000 CAIE ZZ,(ZZ) ;PASS IF INDEX REGISTER CONTAINS ITS ADDRESS
27069 STOP^
27070 045104 254 04 0 00 045105 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
27071 045105 324 00 0 00 045106 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
27072 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
27073 ;IN THE SUBTEST) TO LOOP ON ERROR^
27074
27075 ;**********
27076
27077
27078 ;THIS TEST VERIFIES THAT THE INDEX REGISTERS ARE ACCESSABLE.
27079 ;FIRST, AN INDEX REGISTER IS PRELOADED WITH ITS ADDRESS; THEN,
27080 ;IT IS REFERENCED AS AN INDEX REGISTER. IF IT CONTAINS ITS ADDRESS, THIS TEST PASSES.
27081 ;THIS TEST IS REPEATED 15 TIMES IN ORDER TO TEST EACH INDEX REGISTER.
27082
27083 000715 SN=SN+1
27084 000015 ZZ=ZZ+1
27085 045106 201 15 0 00 000015 MOVEI ZZ,ZZ ;PRELOAD INDEX REGISTER WITH ITS ADDRESS
27086 045107 302 15 0 15 000000 CAIE ZZ,(ZZ) ;PASS IF INDEX REGISTER CONTAINS ITS ADDRESS
27087 STOP^
27088 045110 254 04 0 00 045111 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
27089 045111 324 00 0 00 045112 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
27090 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
27091 ;IN THE SUBTEST) TO LOOP ON ERROR^
27092
27093 ;**********
27094
27095
27096 ;THIS TEST VERIFIES THAT THE INDEX REGISTERS ARE ACCESSABLE.
27097 ;FIRST, AN INDEX REGISTER IS PRELOADED WITH ITS ADDRESS; THEN,
27098 ;IT IS REFERENCED AS AN INDEX REGISTER. IF IT CONTAINS ITS ADDRESS, THIS TEST PASSES.
27099 ;THIS TEST IS REPEATED 15 TIMES IN ORDER TO TEST EACH INDEX REGISTER.
27100
27101 000716 SN=SN+1
27102 000016 ZZ=ZZ+1
27103 045112 201 16 0 00 000016 MOVEI ZZ,ZZ ;PRELOAD INDEX REGISTER WITH ITS ADDRESS
27104 045113 302 16 0 16 000000 CAIE ZZ,(ZZ) ;PASS IF INDEX REGISTER CONTAINS ITS ADDRESS
27105 STOP^
27106 045114 254 04 0 00 045115 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
27107 045115 324 00 0 00 045116 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
27108 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
27109 ;IN THE SUBTEST) TO LOOP ON ERROR^
27110
27111 ;**********
27112
27113
27114 ;THIS TEST VERIFIES THAT THE INDEX REGISTERS ARE ACCESSABLE.
27115 ;FIRST, AN INDEX REGISTER IS PRELOADED WITH ITS ADDRESS; THEN,
27116 ;IT IS REFERENCED AS AN INDEX REGISTER. IF IT CONTAINS ITS ADDRESS, THIS TEST PASSES.
27117 ;THIS TEST IS REPEATED 15 TIMES IN ORDER TO TEST EACH INDEX REGISTER.
27118
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 5-5
DFKAA4 MAC 25-AUG-75 13:58 TEST OF AC HARDWARE AND INDEX REGISTERS SEQ 0592
27119 000717 SN=SN+1
27120 000017 ZZ=ZZ+1
27121 045116 201 17 0 00 000017 MOVEI ZZ,ZZ ;PRELOAD INDEX REGISTER WITH ITS ADDRESS
27122 045117 302 17 0 17 000000 CAIE ZZ,(ZZ) ;PASS IF INDEX REGISTER CONTAINS ITS ADDRESS
27123 STOP^
27124 045120 254 04 0 00 045121 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
27125 045121 324 00 0 00 045122 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
27126 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
27127 ;IN THE SUBTEST) TO LOOP ON ERROR^
27128
27129 ;**********
27130
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6
DFKAA4 MAC 25-AUG-75 13:58 TEST OF AC HARDWARE AND INDEX REGISTERS SEQ 0593
27131 001000 SN=1000
27132 000000 ZZ=0
27133
27134 C1000: REPEAT ^D15,<
27135 ;THIS TEST VERIFIES THAT ALL INDEX REGISTERS INDEX CORRECTLY.
27136 ;FIRST, BOTH HALVES OF THE INDEX REGISTER ARE PRELOADED WITH ITS ADDRESS.
27137 ;THEN, THE INDEX REGISTER IS REFERENCED. IT IS THEN CHECKED FOR ITS ADDRESS IN BOTH HALVES
27138 .
27139 ;IF IT CONTAINS ITS ADDRESS IN BOTH HALVES THIS TEST PASSES.
27140 ;THIS TEST IS REPEATED 15 TIMES IN ORDER TO TEST EACH INDEX REGISTER
27141
27142 SN=SN+1
27143 ZZ=ZZ+1
27144 MOVEI ZZ,ZZ ;PRELOAD BOTH HALVES OF INDEX REG WITH ITS ADDRESS
27145 HRLI ZZ,ZZ ;PASS IF INDEX REGISTER CONTAINS ITS ADDRESS
27146 CAME ZZ,(ZZ) ;IN BOTH HALVES
27147 STOP
27148
27149 ;**********
27150 >
27151
27152 ;THIS TEST VERIFIES THAT ALL INDEX REGISTERS INDEX CORRECTLY.
27153 ;FIRST, BOTH HALVES OF THE INDEX REGISTER ARE PRELOADED WITH ITS ADDRESS.
27154 ;THEN, THE INDEX REGISTER IS REFERENCED. IT IS THEN CHECKED FOR ITS ADDRESS IN BOTH HALVES
27155 .
27156 ;IF IT CONTAINS ITS ADDRESS IN BOTH HALVES THIS TEST PASSES.
27157 ;THIS TEST IS REPEATED 15 TIMES IN ORDER TO TEST EACH INDEX REGISTER
27158
27159 001001 SN=SN+1
27160 000001 ZZ=ZZ+1
27161 045122 201 01 0 00 000001 MOVEI ZZ,ZZ ;PRELOAD BOTH HALVES OF INDEX REG WITH ITS ADDRESS
27162 045123 505 01 0 00 000001 HRLI ZZ,ZZ ;PASS IF INDEX REGISTER CONTAINS ITS ADDRESS
27163 045124 312 01 0 01 000000 CAME ZZ,(ZZ) ;IN BOTH HALVES
27164 STOP^
27165 045125 254 04 0 00 045126 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
27166 045126 324 00 0 00 045127 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
27167 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
27168 ;IN THE SUBTEST) TO LOOP ON ERROR^
27169
27170 ;**********
27171
27172
27173 ;THIS TEST VERIFIES THAT ALL INDEX REGISTERS INDEX CORRECTLY.
27174 ;FIRST, BOTH HALVES OF THE INDEX REGISTER ARE PRELOADED WITH ITS ADDRESS.
27175 ;THEN, THE INDEX REGISTER IS REFERENCED. IT IS THEN CHECKED FOR ITS ADDRESS IN BOTH HALVES
27176 .
27177 ;IF IT CONTAINS ITS ADDRESS IN BOTH HALVES THIS TEST PASSES.
27178 ;THIS TEST IS REPEATED 15 TIMES IN ORDER TO TEST EACH INDEX REGISTER
27179
27180 001002 SN=SN+1
27181 000002 ZZ=ZZ+1
27182 045127 201 02 0 00 000002 MOVEI ZZ,ZZ ;PRELOAD BOTH HALVES OF INDEX REG WITH ITS ADDRESS
27183 045130 505 02 0 00 000002 HRLI ZZ,ZZ ;PASS IF INDEX REGISTER CONTAINS ITS ADDRESS
27184 045131 312 02 0 02 000000 CAME ZZ,(ZZ) ;IN BOTH HALVES
27185 STOP^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6-1
DFKAA4 MAC 25-AUG-75 13:58 TEST OF AC HARDWARE AND INDEX REGISTERS SEQ 0594
27186 045132 254 04 0 00 045133 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
27187 045133 324 00 0 00 045134 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
27188 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
27189 ;IN THE SUBTEST) TO LOOP ON ERROR^
27190
27191 ;**********
27192
27193
27194 ;THIS TEST VERIFIES THAT ALL INDEX REGISTERS INDEX CORRECTLY.
27195 ;FIRST, BOTH HALVES OF THE INDEX REGISTER ARE PRELOADED WITH ITS ADDRESS.
27196 ;THEN, THE INDEX REGISTER IS REFERENCED. IT IS THEN CHECKED FOR ITS ADDRESS IN BOTH HALVES
27197 .
27198 ;IF IT CONTAINS ITS ADDRESS IN BOTH HALVES THIS TEST PASSES.
27199 ;THIS TEST IS REPEATED 15 TIMES IN ORDER TO TEST EACH INDEX REGISTER
27200
27201 001003 SN=SN+1
27202 000003 ZZ=ZZ+1
27203 045134 201 03 0 00 000003 MOVEI ZZ,ZZ ;PRELOAD BOTH HALVES OF INDEX REG WITH ITS ADDRESS
27204 045135 505 03 0 00 000003 HRLI ZZ,ZZ ;PASS IF INDEX REGISTER CONTAINS ITS ADDRESS
27205 045136 312 03 0 03 000000 CAME ZZ,(ZZ) ;IN BOTH HALVES
27206 STOP^
27207 045137 254 04 0 00 045140 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
27208 045140 324 00 0 00 045141 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
27209 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
27210 ;IN THE SUBTEST) TO LOOP ON ERROR^
27211
27212 ;**********
27213
27214
27215 ;THIS TEST VERIFIES THAT ALL INDEX REGISTERS INDEX CORRECTLY.
27216 ;FIRST, BOTH HALVES OF THE INDEX REGISTER ARE PRELOADED WITH ITS ADDRESS.
27217 ;THEN, THE INDEX REGISTER IS REFERENCED. IT IS THEN CHECKED FOR ITS ADDRESS IN BOTH HALVES
27218 .
27219 ;IF IT CONTAINS ITS ADDRESS IN BOTH HALVES THIS TEST PASSES.
27220 ;THIS TEST IS REPEATED 15 TIMES IN ORDER TO TEST EACH INDEX REGISTER
27221
27222 001004 SN=SN+1
27223 000004 ZZ=ZZ+1
27224 045141 201 04 0 00 000004 MOVEI ZZ,ZZ ;PRELOAD BOTH HALVES OF INDEX REG WITH ITS ADDRESS
27225 045142 505 04 0 00 000004 HRLI ZZ,ZZ ;PASS IF INDEX REGISTER CONTAINS ITS ADDRESS
27226 045143 312 04 0 04 000000 CAME ZZ,(ZZ) ;IN BOTH HALVES
27227 STOP^
27228 045144 254 04 0 00 045145 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
27229 045145 324 00 0 00 045146 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
27230 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
27231 ;IN THE SUBTEST) TO LOOP ON ERROR^
27232
27233 ;**********
27234
27235
27236 ;THIS TEST VERIFIES THAT ALL INDEX REGISTERS INDEX CORRECTLY.
27237 ;FIRST, BOTH HALVES OF THE INDEX REGISTER ARE PRELOADED WITH ITS ADDRESS.
27238 ;THEN, THE INDEX REGISTER IS REFERENCED. IT IS THEN CHECKED FOR ITS ADDRESS IN BOTH HALVES
27239 .
27240 ;IF IT CONTAINS ITS ADDRESS IN BOTH HALVES THIS TEST PASSES.
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6-2
DFKAA4 MAC 25-AUG-75 13:58 TEST OF AC HARDWARE AND INDEX REGISTERS SEQ 0595
27241 ;THIS TEST IS REPEATED 15 TIMES IN ORDER TO TEST EACH INDEX REGISTER
27242
27243 001005 SN=SN+1
27244 000005 ZZ=ZZ+1
27245 045146 201 05 0 00 000005 MOVEI ZZ,ZZ ;PRELOAD BOTH HALVES OF INDEX REG WITH ITS ADDRESS
27246 045147 505 05 0 00 000005 HRLI ZZ,ZZ ;PASS IF INDEX REGISTER CONTAINS ITS ADDRESS
27247 045150 312 05 0 05 000000 CAME ZZ,(ZZ) ;IN BOTH HALVES
27248 STOP^
27249 045151 254 04 0 00 045152 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
27250 045152 324 00 0 00 045153 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
27251 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
27252 ;IN THE SUBTEST) TO LOOP ON ERROR^
27253
27254 ;**********
27255
27256
27257 ;THIS TEST VERIFIES THAT ALL INDEX REGISTERS INDEX CORRECTLY.
27258 ;FIRST, BOTH HALVES OF THE INDEX REGISTER ARE PRELOADED WITH ITS ADDRESS.
27259 ;THEN, THE INDEX REGISTER IS REFERENCED. IT IS THEN CHECKED FOR ITS ADDRESS IN BOTH HALVES
27260 .
27261 ;IF IT CONTAINS ITS ADDRESS IN BOTH HALVES THIS TEST PASSES.
27262 ;THIS TEST IS REPEATED 15 TIMES IN ORDER TO TEST EACH INDEX REGISTER
27263
27264 001006 SN=SN+1
27265 000006 ZZ=ZZ+1
27266 045153 201 06 0 00 000006 MOVEI ZZ,ZZ ;PRELOAD BOTH HALVES OF INDEX REG WITH ITS ADDRESS
27267 045154 505 06 0 00 000006 HRLI ZZ,ZZ ;PASS IF INDEX REGISTER CONTAINS ITS ADDRESS
27268 045155 312 06 0 06 000000 CAME ZZ,(ZZ) ;IN BOTH HALVES
27269 STOP^
27270 045156 254 04 0 00 045157 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
27271 045157 324 00 0 00 045160 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
27272 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
27273 ;IN THE SUBTEST) TO LOOP ON ERROR^
27274
27275 ;**********
27276
27277
27278 ;THIS TEST VERIFIES THAT ALL INDEX REGISTERS INDEX CORRECTLY.
27279 ;FIRST, BOTH HALVES OF THE INDEX REGISTER ARE PRELOADED WITH ITS ADDRESS.
27280 ;THEN, THE INDEX REGISTER IS REFERENCED. IT IS THEN CHECKED FOR ITS ADDRESS IN BOTH HALVES
27281 .
27282 ;IF IT CONTAINS ITS ADDRESS IN BOTH HALVES THIS TEST PASSES.
27283 ;THIS TEST IS REPEATED 15 TIMES IN ORDER TO TEST EACH INDEX REGISTER
27284
27285 001007 SN=SN+1
27286 000007 ZZ=ZZ+1
27287 045160 201 07 0 00 000007 MOVEI ZZ,ZZ ;PRELOAD BOTH HALVES OF INDEX REG WITH ITS ADDRESS
27288 045161 505 07 0 00 000007 HRLI ZZ,ZZ ;PASS IF INDEX REGISTER CONTAINS ITS ADDRESS
27289 045162 312 07 0 07 000000 CAME ZZ,(ZZ) ;IN BOTH HALVES
27290 STOP^
27291 045163 254 04 0 00 045164 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
27292 045164 324 00 0 00 045165 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
27293 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
27294 ;IN THE SUBTEST) TO LOOP ON ERROR^
27295
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6-3
DFKAA4 MAC 25-AUG-75 13:58 TEST OF AC HARDWARE AND INDEX REGISTERS SEQ 0596
27296 ;**********
27297
27298
27299 ;THIS TEST VERIFIES THAT ALL INDEX REGISTERS INDEX CORRECTLY.
27300 ;FIRST, BOTH HALVES OF THE INDEX REGISTER ARE PRELOADED WITH ITS ADDRESS.
27301 ;THEN, THE INDEX REGISTER IS REFERENCED. IT IS THEN CHECKED FOR ITS ADDRESS IN BOTH HALVES
27302 .
27303 ;IF IT CONTAINS ITS ADDRESS IN BOTH HALVES THIS TEST PASSES.
27304 ;THIS TEST IS REPEATED 15 TIMES IN ORDER TO TEST EACH INDEX REGISTER
27305
27306 001010 SN=SN+1
27307 000010 ZZ=ZZ+1
27308 045165 201 10 0 00 000010 MOVEI ZZ,ZZ ;PRELOAD BOTH HALVES OF INDEX REG WITH ITS ADDRESS
27309 045166 505 10 0 00 000010 HRLI ZZ,ZZ ;PASS IF INDEX REGISTER CONTAINS ITS ADDRESS
27310 045167 312 10 0 10 000000 CAME ZZ,(ZZ) ;IN BOTH HALVES
27311 STOP^
27312 045170 254 04 0 00 045171 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
27313 045171 324 00 0 00 045172 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
27314 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
27315 ;IN THE SUBTEST) TO LOOP ON ERROR^
27316
27317 ;**********
27318
27319
27320 ;THIS TEST VERIFIES THAT ALL INDEX REGISTERS INDEX CORRECTLY.
27321 ;FIRST, BOTH HALVES OF THE INDEX REGISTER ARE PRELOADED WITH ITS ADDRESS.
27322 ;THEN, THE INDEX REGISTER IS REFERENCED. IT IS THEN CHECKED FOR ITS ADDRESS IN BOTH HALVES
27323 .
27324 ;IF IT CONTAINS ITS ADDRESS IN BOTH HALVES THIS TEST PASSES.
27325 ;THIS TEST IS REPEATED 15 TIMES IN ORDER TO TEST EACH INDEX REGISTER
27326
27327 001011 SN=SN+1
27328 000011 ZZ=ZZ+1
27329 045172 201 11 0 00 000011 MOVEI ZZ,ZZ ;PRELOAD BOTH HALVES OF INDEX REG WITH ITS ADDRESS
27330 045173 505 11 0 00 000011 HRLI ZZ,ZZ ;PASS IF INDEX REGISTER CONTAINS ITS ADDRESS
27331 045174 312 11 0 11 000000 CAME ZZ,(ZZ) ;IN BOTH HALVES
27332 STOP^
27333 045175 254 04 0 00 045176 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
27334 045176 324 00 0 00 045177 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
27335 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
27336 ;IN THE SUBTEST) TO LOOP ON ERROR^
27337
27338 ;**********
27339
27340
27341 ;THIS TEST VERIFIES THAT ALL INDEX REGISTERS INDEX CORRECTLY.
27342 ;FIRST, BOTH HALVES OF THE INDEX REGISTER ARE PRELOADED WITH ITS ADDRESS.
27343 ;THEN, THE INDEX REGISTER IS REFERENCED. IT IS THEN CHECKED FOR ITS ADDRESS IN BOTH HALVES
27344 .
27345 ;IF IT CONTAINS ITS ADDRESS IN BOTH HALVES THIS TEST PASSES.
27346 ;THIS TEST IS REPEATED 15 TIMES IN ORDER TO TEST EACH INDEX REGISTER
27347
27348 001012 SN=SN+1
27349 000012 ZZ=ZZ+1
27350 045177 201 12 0 00 000012 MOVEI ZZ,ZZ ;PRELOAD BOTH HALVES OF INDEX REG WITH ITS ADDRESS
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6-4
DFKAA4 MAC 25-AUG-75 13:58 TEST OF AC HARDWARE AND INDEX REGISTERS SEQ 0597
27351 045200 505 12 0 00 000012 HRLI ZZ,ZZ ;PASS IF INDEX REGISTER CONTAINS ITS ADDRESS
27352 045201 312 12 0 12 000000 CAME ZZ,(ZZ) ;IN BOTH HALVES
27353 STOP^
27354 045202 254 04 0 00 045203 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
27355 045203 324 00 0 00 045204 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
27356 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
27357 ;IN THE SUBTEST) TO LOOP ON ERROR^
27358
27359 ;**********
27360
27361
27362 ;THIS TEST VERIFIES THAT ALL INDEX REGISTERS INDEX CORRECTLY.
27363 ;FIRST, BOTH HALVES OF THE INDEX REGISTER ARE PRELOADED WITH ITS ADDRESS.
27364 ;THEN, THE INDEX REGISTER IS REFERENCED. IT IS THEN CHECKED FOR ITS ADDRESS IN BOTH HALVES
27365 .
27366 ;IF IT CONTAINS ITS ADDRESS IN BOTH HALVES THIS TEST PASSES.
27367 ;THIS TEST IS REPEATED 15 TIMES IN ORDER TO TEST EACH INDEX REGISTER
27368
27369 001013 SN=SN+1
27370 000013 ZZ=ZZ+1
27371 045204 201 13 0 00 000013 MOVEI ZZ,ZZ ;PRELOAD BOTH HALVES OF INDEX REG WITH ITS ADDRESS
27372 045205 505 13 0 00 000013 HRLI ZZ,ZZ ;PASS IF INDEX REGISTER CONTAINS ITS ADDRESS
27373 045206 312 13 0 13 000000 CAME ZZ,(ZZ) ;IN BOTH HALVES
27374 STOP^
27375 045207 254 04 0 00 045210 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
27376 045210 324 00 0 00 045211 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
27377 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
27378 ;IN THE SUBTEST) TO LOOP ON ERROR^
27379
27380 ;**********
27381
27382
27383 ;THIS TEST VERIFIES THAT ALL INDEX REGISTERS INDEX CORRECTLY.
27384 ;FIRST, BOTH HALVES OF THE INDEX REGISTER ARE PRELOADED WITH ITS ADDRESS.
27385 ;THEN, THE INDEX REGISTER IS REFERENCED. IT IS THEN CHECKED FOR ITS ADDRESS IN BOTH HALVES
27386 .
27387 ;IF IT CONTAINS ITS ADDRESS IN BOTH HALVES THIS TEST PASSES.
27388 ;THIS TEST IS REPEATED 15 TIMES IN ORDER TO TEST EACH INDEX REGISTER
27389
27390 001014 SN=SN+1
27391 000014 ZZ=ZZ+1
27392 045211 201 14 0 00 000014 MOVEI ZZ,ZZ ;PRELOAD BOTH HALVES OF INDEX REG WITH ITS ADDRESS
27393 045212 505 14 0 00 000014 HRLI ZZ,ZZ ;PASS IF INDEX REGISTER CONTAINS ITS ADDRESS
27394 045213 312 14 0 14 000000 CAME ZZ,(ZZ) ;IN BOTH HALVES
27395 STOP^
27396 045214 254 04 0 00 045215 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
27397 045215 324 00 0 00 045216 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
27398 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
27399 ;IN THE SUBTEST) TO LOOP ON ERROR^
27400
27401 ;**********
27402
27403
27404 ;THIS TEST VERIFIES THAT ALL INDEX REGISTERS INDEX CORRECTLY.
27405 ;FIRST, BOTH HALVES OF THE INDEX REGISTER ARE PRELOADED WITH ITS ADDRESS.
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6-5
DFKAA4 MAC 25-AUG-75 13:58 TEST OF AC HARDWARE AND INDEX REGISTERS SEQ 0598
27406 ;THEN, THE INDEX REGISTER IS REFERENCED. IT IS THEN CHECKED FOR ITS ADDRESS IN BOTH HALVES
27407 .
27408 ;IF IT CONTAINS ITS ADDRESS IN BOTH HALVES THIS TEST PASSES.
27409 ;THIS TEST IS REPEATED 15 TIMES IN ORDER TO TEST EACH INDEX REGISTER
27410
27411 001015 SN=SN+1
27412 000015 ZZ=ZZ+1
27413 045216 201 15 0 00 000015 MOVEI ZZ,ZZ ;PRELOAD BOTH HALVES OF INDEX REG WITH ITS ADDRESS
27414 045217 505 15 0 00 000015 HRLI ZZ,ZZ ;PASS IF INDEX REGISTER CONTAINS ITS ADDRESS
27415 045220 312 15 0 15 000000 CAME ZZ,(ZZ) ;IN BOTH HALVES
27416 STOP^
27417 045221 254 04 0 00 045222 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
27418 045222 324 00 0 00 045223 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
27419 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
27420 ;IN THE SUBTEST) TO LOOP ON ERROR^
27421
27422 ;**********
27423
27424
27425 ;THIS TEST VERIFIES THAT ALL INDEX REGISTERS INDEX CORRECTLY.
27426 ;FIRST, BOTH HALVES OF THE INDEX REGISTER ARE PRELOADED WITH ITS ADDRESS.
27427 ;THEN, THE INDEX REGISTER IS REFERENCED. IT IS THEN CHECKED FOR ITS ADDRESS IN BOTH HALVES
27428 .
27429 ;IF IT CONTAINS ITS ADDRESS IN BOTH HALVES THIS TEST PASSES.
27430 ;THIS TEST IS REPEATED 15 TIMES IN ORDER TO TEST EACH INDEX REGISTER
27431
27432 001016 SN=SN+1
27433 000016 ZZ=ZZ+1
27434 045223 201 16 0 00 000016 MOVEI ZZ,ZZ ;PRELOAD BOTH HALVES OF INDEX REG WITH ITS ADDRESS
27435 045224 505 16 0 00 000016 HRLI ZZ,ZZ ;PASS IF INDEX REGISTER CONTAINS ITS ADDRESS
27436 045225 312 16 0 16 000000 CAME ZZ,(ZZ) ;IN BOTH HALVES
27437 STOP^
27438 045226 254 04 0 00 045227 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
27439 045227 324 00 0 00 045230 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
27440 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
27441 ;IN THE SUBTEST) TO LOOP ON ERROR^
27442
27443 ;**********
27444
27445
27446 ;THIS TEST VERIFIES THAT ALL INDEX REGISTERS INDEX CORRECTLY.
27447 ;FIRST, BOTH HALVES OF THE INDEX REGISTER ARE PRELOADED WITH ITS ADDRESS.
27448 ;THEN, THE INDEX REGISTER IS REFERENCED. IT IS THEN CHECKED FOR ITS ADDRESS IN BOTH HALVES
27449 .
27450 ;IF IT CONTAINS ITS ADDRESS IN BOTH HALVES THIS TEST PASSES.
27451 ;THIS TEST IS REPEATED 15 TIMES IN ORDER TO TEST EACH INDEX REGISTER
27452
27453 001017 SN=SN+1
27454 000017 ZZ=ZZ+1
27455 045230 201 17 0 00 000017 MOVEI ZZ,ZZ ;PRELOAD BOTH HALVES OF INDEX REG WITH ITS ADDRESS
27456 045231 505 17 0 00 000017 HRLI ZZ,ZZ ;PASS IF INDEX REGISTER CONTAINS ITS ADDRESS
27457 045232 312 17 0 17 000000 CAME ZZ,(ZZ) ;IN BOTH HALVES
27458 STOP^
27459 045233 254 04 0 00 045234 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
27460 045234 324 00 0 00 045235 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6-6
DFKAA4 MAC 25-AUG-75 13:58 TEST OF AC HARDWARE AND INDEX REGISTERS SEQ 0599
27461 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
27462 ;IN THE SUBTEST) TO LOOP ON ERROR^
27463
27464 ;**********
27465
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 7
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INDEX REGISTER ADDRESSING SEQ 0600
27466 SUBTTL TEST OF INDEX REGISTER ADDRESSING
27467
27468 ;**********
27469
27470 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
27471 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
27472 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
27473 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A 0,
27474 ;THE FINAL RESULT IN AC3 SHOULD BE 0. IF C(AC3)=0, THIS TEST PASSES.
27475
27476 045235 476 00 0 00 000003 C1100: SETOM 3 ;PRELOAD AC3 WITH -1,,1
27477 045236 402 00 0 00 000001 SETZM 1 ;PRELOAD AC1 WITH 0
27478 045237 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER 2 WITH 1
27479 045240 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
27480 045241 332 00 0 00 000003 SKIPE 3 ;TEST INDEXING
27481 STOP^
27482 045242 254 04 0 00 045243 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
27483 045243 324 00 0 00 045244 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
27484 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
27485 ;IN THE SUBTEST) TO LOOP ON ERROR^
27486
27487 ;**********
27488
27489 001200 SN=1200
27490 000000 ZZ=0
27491
27492 C1200: REPEAT ^D18,<
27493 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
27494 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
27495 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
27496 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
27497 ;FLOATING 1. THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 1.
27498 ;IF C(AC3)=A FLOATING 1, THIS TEST PASSES.
27499
27500 SN=SN+1
27501 ZZ=ZZ+ZZ
27502 IFE ZZ,<ZZ=1>
27503 SETOM 3 ;PRELOAD AC3 WITH -1,,-1
27504 MOVEI 1,ZZ ;PRELOAD AC1 WITH FLOATING 1
27505 MOVEI 2,1 ;SETUP INDEX REGISTER
27506 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
27507 CAIE 3,ZZ ;TEST INDEXING
27508 STOP
27509
27510 ;**********
27511 >
27512
27513 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
27514 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
27515 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
27516 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
27517 ;FLOATING 1. THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 1.
27518 ;IF C(AC3)=A FLOATING 1, THIS TEST PASSES.
27519
27520 001201 SN=SN+1
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 7-1
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INDEX REGISTER ADDRESSING SEQ 0601
27521 000000 ZZ=ZZ+ZZ
27522 000001 IFE ZZ,<ZZ=1>
27523 045244 476 00 0 00 000003 SETOM 3 ;PRELOAD AC3 WITH -1,,-1
27524 045245 201 01 0 00 000001 MOVEI 1,ZZ ;PRELOAD AC1 WITH FLOATING 1
27525 045246 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
27526 045247 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
27527 045250 302 03 0 00 000001 CAIE 3,ZZ ;TEST INDEXING
27528 STOP^
27529 045251 254 04 0 00 045252 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
27530 045252 324 00 0 00 045253 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
27531 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
27532 ;IN THE SUBTEST) TO LOOP ON ERROR^
27533
27534 ;**********
27535
27536
27537 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
27538 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
27539 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
27540 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
27541 ;FLOATING 1. THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 1.
27542 ;IF C(AC3)=A FLOATING 1, THIS TEST PASSES.
27543
27544 001202 SN=SN+1
27545 000002 ZZ=ZZ+ZZ
27546 IFE ZZ,<ZZ=1>
27547 045253 476 00 0 00 000003 SETOM 3 ;PRELOAD AC3 WITH -1,,-1
27548 045254 201 01 0 00 000002 MOVEI 1,ZZ ;PRELOAD AC1 WITH FLOATING 1
27549 045255 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
27550 045256 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
27551 045257 302 03 0 00 000002 CAIE 3,ZZ ;TEST INDEXING
27552 STOP^
27553 045260 254 04 0 00 045261 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
27554 045261 324 00 0 00 045262 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
27555 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
27556 ;IN THE SUBTEST) TO LOOP ON ERROR^
27557
27558 ;**********
27559
27560
27561 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
27562 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
27563 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
27564 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
27565 ;FLOATING 1. THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 1.
27566 ;IF C(AC3)=A FLOATING 1, THIS TEST PASSES.
27567
27568 001203 SN=SN+1
27569 000004 ZZ=ZZ+ZZ
27570 IFE ZZ,<ZZ=1>
27571 045262 476 00 0 00 000003 SETOM 3 ;PRELOAD AC3 WITH -1,,-1
27572 045263 201 01 0 00 000004 MOVEI 1,ZZ ;PRELOAD AC1 WITH FLOATING 1
27573 045264 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
27574 045265 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
27575 045266 302 03 0 00 000004 CAIE 3,ZZ ;TEST INDEXING
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 7-2
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INDEX REGISTER ADDRESSING SEQ 0602
27576 STOP^
27577 045267 254 04 0 00 045270 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
27578 045270 324 00 0 00 045271 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
27579 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
27580 ;IN THE SUBTEST) TO LOOP ON ERROR^
27581
27582 ;**********
27583
27584
27585 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
27586 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
27587 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
27588 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
27589 ;FLOATING 1. THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 1.
27590 ;IF C(AC3)=A FLOATING 1, THIS TEST PASSES.
27591
27592 001204 SN=SN+1
27593 000010 ZZ=ZZ+ZZ
27594 IFE ZZ,<ZZ=1>
27595 045271 476 00 0 00 000003 SETOM 3 ;PRELOAD AC3 WITH -1,,-1
27596 045272 201 01 0 00 000010 MOVEI 1,ZZ ;PRELOAD AC1 WITH FLOATING 1
27597 045273 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
27598 045274 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
27599 045275 302 03 0 00 000010 CAIE 3,ZZ ;TEST INDEXING
27600 STOP^
27601 045276 254 04 0 00 045277 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
27602 045277 324 00 0 00 045300 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
27603 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
27604 ;IN THE SUBTEST) TO LOOP ON ERROR^
27605
27606 ;**********
27607
27608
27609 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
27610 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
27611 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
27612 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
27613 ;FLOATING 1. THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 1.
27614 ;IF C(AC3)=A FLOATING 1, THIS TEST PASSES.
27615
27616 001205 SN=SN+1
27617 000020 ZZ=ZZ+ZZ
27618 IFE ZZ,<ZZ=1>
27619 045300 476 00 0 00 000003 SETOM 3 ;PRELOAD AC3 WITH -1,,-1
27620 045301 201 01 0 00 000020 MOVEI 1,ZZ ;PRELOAD AC1 WITH FLOATING 1
27621 045302 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
27622 045303 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
27623 045304 302 03 0 00 000020 CAIE 3,ZZ ;TEST INDEXING
27624 STOP^
27625 045305 254 04 0 00 045306 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
27626 045306 324 00 0 00 045307 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
27627 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
27628 ;IN THE SUBTEST) TO LOOP ON ERROR^
27629
27630 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 7-3
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INDEX REGISTER ADDRESSING SEQ 0603
27631
27632
27633 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
27634 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
27635 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
27636 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
27637 ;FLOATING 1. THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 1.
27638 ;IF C(AC3)=A FLOATING 1, THIS TEST PASSES.
27639
27640 001206 SN=SN+1
27641 000040 ZZ=ZZ+ZZ
27642 IFE ZZ,<ZZ=1>
27643 045307 476 00 0 00 000003 SETOM 3 ;PRELOAD AC3 WITH -1,,-1
27644 045310 201 01 0 00 000040 MOVEI 1,ZZ ;PRELOAD AC1 WITH FLOATING 1
27645 045311 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
27646 045312 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
27647 045313 302 03 0 00 000040 CAIE 3,ZZ ;TEST INDEXING
27648 STOP^
27649 045314 254 04 0 00 045315 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
27650 045315 324 00 0 00 045316 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
27651 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
27652 ;IN THE SUBTEST) TO LOOP ON ERROR^
27653
27654 ;**********
27655
27656
27657 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
27658 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
27659 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
27660 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
27661 ;FLOATING 1. THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 1.
27662 ;IF C(AC3)=A FLOATING 1, THIS TEST PASSES.
27663
27664 001207 SN=SN+1
27665 000100 ZZ=ZZ+ZZ
27666 IFE ZZ,<ZZ=1>
27667 045316 476 00 0 00 000003 SETOM 3 ;PRELOAD AC3 WITH -1,,-1
27668 045317 201 01 0 00 000100 MOVEI 1,ZZ ;PRELOAD AC1 WITH FLOATING 1
27669 045320 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
27670 045321 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
27671 045322 302 03 0 00 000100 CAIE 3,ZZ ;TEST INDEXING
27672 STOP^
27673 045323 254 04 0 00 045324 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
27674 045324 324 00 0 00 045325 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
27675 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
27676 ;IN THE SUBTEST) TO LOOP ON ERROR^
27677
27678 ;**********
27679
27680
27681 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
27682 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
27683 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
27684 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
27685 ;FLOATING 1. THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 1.
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 7-4
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INDEX REGISTER ADDRESSING SEQ 0604
27686 ;IF C(AC3)=A FLOATING 1, THIS TEST PASSES.
27687
27688 001210 SN=SN+1
27689 000200 ZZ=ZZ+ZZ
27690 IFE ZZ,<ZZ=1>
27691 045325 476 00 0 00 000003 SETOM 3 ;PRELOAD AC3 WITH -1,,-1
27692 045326 201 01 0 00 000200 MOVEI 1,ZZ ;PRELOAD AC1 WITH FLOATING 1
27693 045327 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
27694 045330 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
27695 045331 302 03 0 00 000200 CAIE 3,ZZ ;TEST INDEXING
27696 STOP^
27697 045332 254 04 0 00 045333 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
27698 045333 324 00 0 00 045334 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
27699 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
27700 ;IN THE SUBTEST) TO LOOP ON ERROR^
27701
27702 ;**********
27703
27704
27705 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
27706 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
27707 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
27708 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
27709 ;FLOATING 1. THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 1.
27710 ;IF C(AC3)=A FLOATING 1, THIS TEST PASSES.
27711
27712 001211 SN=SN+1
27713 000400 ZZ=ZZ+ZZ
27714 IFE ZZ,<ZZ=1>
27715 045334 476 00 0 00 000003 SETOM 3 ;PRELOAD AC3 WITH -1,,-1
27716 045335 201 01 0 00 000400 MOVEI 1,ZZ ;PRELOAD AC1 WITH FLOATING 1
27717 045336 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
27718 045337 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
27719 045340 302 03 0 00 000400 CAIE 3,ZZ ;TEST INDEXING
27720 STOP^
27721 045341 254 04 0 00 045342 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
27722 045342 324 00 0 00 045343 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
27723 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
27724 ;IN THE SUBTEST) TO LOOP ON ERROR^
27725
27726 ;**********
27727
27728
27729 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
27730 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
27731 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
27732 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
27733 ;FLOATING 1. THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 1.
27734 ;IF C(AC3)=A FLOATING 1, THIS TEST PASSES.
27735
27736 001212 SN=SN+1
27737 001000 ZZ=ZZ+ZZ
27738 IFE ZZ,<ZZ=1>
27739 045343 476 00 0 00 000003 SETOM 3 ;PRELOAD AC3 WITH -1,,-1
27740 045344 201 01 0 00 001000 MOVEI 1,ZZ ;PRELOAD AC1 WITH FLOATING 1
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 7-5
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INDEX REGISTER ADDRESSING SEQ 0605
27741 045345 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
27742 045346 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
27743 045347 302 03 0 00 001000 CAIE 3,ZZ ;TEST INDEXING
27744 STOP^
27745 045350 254 04 0 00 045351 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
27746 045351 324 00 0 00 045352 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
27747 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
27748 ;IN THE SUBTEST) TO LOOP ON ERROR^
27749
27750 ;**********
27751
27752
27753 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
27754 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
27755 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
27756 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
27757 ;FLOATING 1. THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 1.
27758 ;IF C(AC3)=A FLOATING 1, THIS TEST PASSES.
27759
27760 001213 SN=SN+1
27761 002000 ZZ=ZZ+ZZ
27762 IFE ZZ,<ZZ=1>
27763 045352 476 00 0 00 000003 SETOM 3 ;PRELOAD AC3 WITH -1,,-1
27764 045353 201 01 0 00 002000 MOVEI 1,ZZ ;PRELOAD AC1 WITH FLOATING 1
27765 045354 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
27766 045355 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
27767 045356 302 03 0 00 002000 CAIE 3,ZZ ;TEST INDEXING
27768 STOP^
27769 045357 254 04 0 00 045360 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
27770 045360 324 00 0 00 045361 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
27771 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
27772 ;IN THE SUBTEST) TO LOOP ON ERROR^
27773
27774 ;**********
27775
27776
27777 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
27778 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
27779 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
27780 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
27781 ;FLOATING 1. THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 1.
27782 ;IF C(AC3)=A FLOATING 1, THIS TEST PASSES.
27783
27784 001214 SN=SN+1
27785 004000 ZZ=ZZ+ZZ
27786 IFE ZZ,<ZZ=1>
27787 045361 476 00 0 00 000003 SETOM 3 ;PRELOAD AC3 WITH -1,,-1
27788 045362 201 01 0 00 004000 MOVEI 1,ZZ ;PRELOAD AC1 WITH FLOATING 1
27789 045363 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
27790 045364 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
27791 045365 302 03 0 00 004000 CAIE 3,ZZ ;TEST INDEXING
27792 STOP^
27793 045366 254 04 0 00 045367 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
27794 045367 324 00 0 00 045370 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
27795 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 7-6
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INDEX REGISTER ADDRESSING SEQ 0606
27796 ;IN THE SUBTEST) TO LOOP ON ERROR^
27797
27798 ;**********
27799
27800
27801 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
27802 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
27803 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
27804 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
27805 ;FLOATING 1. THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 1.
27806 ;IF C(AC3)=A FLOATING 1, THIS TEST PASSES.
27807
27808 001215 SN=SN+1
27809 010000 ZZ=ZZ+ZZ
27810 IFE ZZ,<ZZ=1>
27811 045370 476 00 0 00 000003 SETOM 3 ;PRELOAD AC3 WITH -1,,-1
27812 045371 201 01 0 00 010000 MOVEI 1,ZZ ;PRELOAD AC1 WITH FLOATING 1
27813 045372 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
27814 045373 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
27815 045374 302 03 0 00 010000 CAIE 3,ZZ ;TEST INDEXING
27816 STOP^
27817 045375 254 04 0 00 045376 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
27818 045376 324 00 0 00 045377 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
27819 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
27820 ;IN THE SUBTEST) TO LOOP ON ERROR^
27821
27822 ;**********
27823
27824
27825 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
27826 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
27827 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
27828 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
27829 ;FLOATING 1. THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 1.
27830 ;IF C(AC3)=A FLOATING 1, THIS TEST PASSES.
27831
27832 001216 SN=SN+1
27833 020000 ZZ=ZZ+ZZ
27834 IFE ZZ,<ZZ=1>
27835 045377 476 00 0 00 000003 SETOM 3 ;PRELOAD AC3 WITH -1,,-1
27836 045400 201 01 0 00 020000 MOVEI 1,ZZ ;PRELOAD AC1 WITH FLOATING 1
27837 045401 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
27838 045402 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
27839 045403 302 03 0 00 020000 CAIE 3,ZZ ;TEST INDEXING
27840 STOP^
27841 045404 254 04 0 00 045405 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
27842 045405 324 00 0 00 045406 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
27843 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
27844 ;IN THE SUBTEST) TO LOOP ON ERROR^
27845
27846 ;**********
27847
27848
27849 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
27850 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 7-7
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INDEX REGISTER ADDRESSING SEQ 0607
27851 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
27852 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
27853 ;FLOATING 1. THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 1.
27854 ;IF C(AC3)=A FLOATING 1, THIS TEST PASSES.
27855
27856 001217 SN=SN+1
27857 040000 ZZ=ZZ+ZZ
27858 IFE ZZ,<ZZ=1>
27859 045406 476 00 0 00 000003 SETOM 3 ;PRELOAD AC3 WITH -1,,-1
27860 045407 201 01 0 00 040000 MOVEI 1,ZZ ;PRELOAD AC1 WITH FLOATING 1
27861 045410 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
27862 045411 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
27863 045412 302 03 0 00 040000 CAIE 3,ZZ ;TEST INDEXING
27864 STOP^
27865 045413 254 04 0 00 045414 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
27866 045414 324 00 0 00 045415 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
27867 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
27868 ;IN THE SUBTEST) TO LOOP ON ERROR^
27869
27870 ;**********
27871
27872
27873 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
27874 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
27875 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
27876 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
27877 ;FLOATING 1. THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 1.
27878 ;IF C(AC3)=A FLOATING 1, THIS TEST PASSES.
27879
27880 001220 SN=SN+1
27881 100000 ZZ=ZZ+ZZ
27882 IFE ZZ,<ZZ=1>
27883 045415 476 00 0 00 000003 SETOM 3 ;PRELOAD AC3 WITH -1,,-1
27884 045416 201 01 0 00 100000 MOVEI 1,ZZ ;PRELOAD AC1 WITH FLOATING 1
27885 045417 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
27886 045420 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
27887 045421 302 03 0 00 100000 CAIE 3,ZZ ;TEST INDEXING
27888 STOP^
27889 045422 254 04 0 00 045423 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
27890 045423 324 00 0 00 045424 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
27891 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
27892 ;IN THE SUBTEST) TO LOOP ON ERROR^
27893
27894 ;**********
27895
27896
27897 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
27898 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
27899 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
27900 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
27901 ;FLOATING 1. THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 1.
27902 ;IF C(AC3)=A FLOATING 1, THIS TEST PASSES.
27903
27904 001221 SN=SN+1
27905 200000 ZZ=ZZ+ZZ
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 7-8
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INDEX REGISTER ADDRESSING SEQ 0608
27906 IFE ZZ,<ZZ=1>
27907 045424 476 00 0 00 000003 SETOM 3 ;PRELOAD AC3 WITH -1,,-1
27908 045425 201 01 0 00 200000 MOVEI 1,ZZ ;PRELOAD AC1 WITH FLOATING 1
27909 045426 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
27910 045427 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
27911 045430 302 03 0 00 200000 CAIE 3,ZZ ;TEST INDEXING
27912 STOP^
27913 045431 254 04 0 00 045432 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
27914 045432 324 00 0 00 045433 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
27915 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
27916 ;IN THE SUBTEST) TO LOOP ON ERROR^
27917
27918 ;**********
27919
27920
27921 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
27922 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
27923 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
27924 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
27925 ;FLOATING 1. THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 1.
27926 ;IF C(AC3)=A FLOATING 1, THIS TEST PASSES.
27927
27928 001222 SN=SN+1
27929 400000 ZZ=ZZ+ZZ
27930 IFE ZZ,<ZZ=1>
27931 045433 476 00 0 00 000003 SETOM 3 ;PRELOAD AC3 WITH -1,,-1
27932 045434 201 01 0 00 400000 MOVEI 1,ZZ ;PRELOAD AC1 WITH FLOATING 1
27933 045435 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
27934 045436 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
27935 045437 302 03 0 00 400000 CAIE 3,ZZ ;TEST INDEXING
27936 STOP^
27937 045440 254 04 0 00 045441 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
27938 045441 324 00 0 00 045442 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
27939 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
27940 ;IN THE SUBTEST) TO LOOP ON ERROR^
27941
27942 ;**********
27943
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 8
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INDEX REGISTER ADDRESSING SEQ 0609
27944 001300 SN=1300
27945 000000 ZZ=0
27946
27947 C1300: REPEAT ^D18,<
27948 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
27949 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
27950 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
27951 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
27952 ;FLOATING 1, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 1.
27953 ;IF C(AC3)=A FLOATING 1, THIS TEST PASSES.
27954
27955 SN=SN+1
27956 ZZ=ZZ+ZZ
27957 IFE ZZ,<ZZ=1>
27958 SETOM 3 ;PRELOAD AC3 WITH -1,,-1
27959 MOVSI 1,ZZ ;PRELOAD AC1 WITH FLOATING 1
27960 MOVEI 2,1 ;SETUP INDEX REGISTER
27961 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
27962 CAME 3,[ZZ,,0] ;TEST INDEXING
27963 STOP
27964
27965 ;**********
27966 >
27967
27968 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
27969 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
27970 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
27971 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
27972 ;FLOATING 1, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 1.
27973 ;IF C(AC3)=A FLOATING 1, THIS TEST PASSES.
27974
27975 001301 SN=SN+1
27976 000000 ZZ=ZZ+ZZ
27977 000001 IFE ZZ,<ZZ=1>
27978 045442 476 00 0 00 000003 SETOM 3 ;PRELOAD AC3 WITH -1,,-1
27979 045443 205 01 0 00 000001 MOVSI 1,ZZ ;PRELOAD AC1 WITH FLOATING 1
27980 045444 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
27981 045445 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
27982 045446 312 03 0 00 070307 CAME 3,[ZZ,,0] ;TEST INDEXING
27983 STOP^
27984 045447 254 04 0 00 045450 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
27985 045450 324 00 0 00 045451 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
27986 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
27987 ;IN THE SUBTEST) TO LOOP ON ERROR^
27988
27989 ;**********
27990
27991
27992 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
27993 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
27994 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
27995 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
27996 ;FLOATING 1, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 1.
27997 ;IF C(AC3)=A FLOATING 1, THIS TEST PASSES.
27998
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 8-1
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INDEX REGISTER ADDRESSING SEQ 0610
27999 001302 SN=SN+1
28000 000002 ZZ=ZZ+ZZ
28001 IFE ZZ,<ZZ=1>
28002 045451 476 00 0 00 000003 SETOM 3 ;PRELOAD AC3 WITH -1,,-1
28003 045452 205 01 0 00 000002 MOVSI 1,ZZ ;PRELOAD AC1 WITH FLOATING 1
28004 045453 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
28005 045454 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
28006 045455 312 03 0 00 070310 CAME 3,[ZZ,,0] ;TEST INDEXING
28007 STOP^
28008 045456 254 04 0 00 045457 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
28009 045457 324 00 0 00 045460 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
28010 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
28011 ;IN THE SUBTEST) TO LOOP ON ERROR^
28012
28013 ;**********
28014
28015
28016 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
28017 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
28018 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
28019 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
28020 ;FLOATING 1, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 1.
28021 ;IF C(AC3)=A FLOATING 1, THIS TEST PASSES.
28022
28023 001303 SN=SN+1
28024 000004 ZZ=ZZ+ZZ
28025 IFE ZZ,<ZZ=1>
28026 045460 476 00 0 00 000003 SETOM 3 ;PRELOAD AC3 WITH -1,,-1
28027 045461 205 01 0 00 000004 MOVSI 1,ZZ ;PRELOAD AC1 WITH FLOATING 1
28028 045462 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
28029 045463 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
28030 045464 312 03 0 00 070311 CAME 3,[ZZ,,0] ;TEST INDEXING
28031 STOP^
28032 045465 254 04 0 00 045466 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
28033 045466 324 00 0 00 045467 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
28034 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
28035 ;IN THE SUBTEST) TO LOOP ON ERROR^
28036
28037 ;**********
28038
28039
28040 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
28041 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
28042 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
28043 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
28044 ;FLOATING 1, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 1.
28045 ;IF C(AC3)=A FLOATING 1, THIS TEST PASSES.
28046
28047 001304 SN=SN+1
28048 000010 ZZ=ZZ+ZZ
28049 IFE ZZ,<ZZ=1>
28050 045467 476 00 0 00 000003 SETOM 3 ;PRELOAD AC3 WITH -1,,-1
28051 045470 205 01 0 00 000010 MOVSI 1,ZZ ;PRELOAD AC1 WITH FLOATING 1
28052 045471 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
28053 045472 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 8-2
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INDEX REGISTER ADDRESSING SEQ 0611
28054 045473 312 03 0 00 070312 CAME 3,[ZZ,,0] ;TEST INDEXING
28055 STOP^
28056 045474 254 04 0 00 045475 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
28057 045475 324 00 0 00 045476 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
28058 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
28059 ;IN THE SUBTEST) TO LOOP ON ERROR^
28060
28061 ;**********
28062
28063
28064 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
28065 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
28066 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
28067 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
28068 ;FLOATING 1, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 1.
28069 ;IF C(AC3)=A FLOATING 1, THIS TEST PASSES.
28070
28071 001305 SN=SN+1
28072 000020 ZZ=ZZ+ZZ
28073 IFE ZZ,<ZZ=1>
28074 045476 476 00 0 00 000003 SETOM 3 ;PRELOAD AC3 WITH -1,,-1
28075 045477 205 01 0 00 000020 MOVSI 1,ZZ ;PRELOAD AC1 WITH FLOATING 1
28076 045500 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
28077 045501 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
28078 045502 312 03 0 00 070313 CAME 3,[ZZ,,0] ;TEST INDEXING
28079 STOP^
28080 045503 254 04 0 00 045504 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
28081 045504 324 00 0 00 045505 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
28082 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
28083 ;IN THE SUBTEST) TO LOOP ON ERROR^
28084
28085 ;**********
28086
28087
28088 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
28089 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
28090 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
28091 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
28092 ;FLOATING 1, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 1.
28093 ;IF C(AC3)=A FLOATING 1, THIS TEST PASSES.
28094
28095 001306 SN=SN+1
28096 000040 ZZ=ZZ+ZZ
28097 IFE ZZ,<ZZ=1>
28098 045505 476 00 0 00 000003 SETOM 3 ;PRELOAD AC3 WITH -1,,-1
28099 045506 205 01 0 00 000040 MOVSI 1,ZZ ;PRELOAD AC1 WITH FLOATING 1
28100 045507 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
28101 045510 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
28102 045511 312 03 0 00 070314 CAME 3,[ZZ,,0] ;TEST INDEXING
28103 STOP^
28104 045512 254 04 0 00 045513 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
28105 045513 324 00 0 00 045514 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
28106 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
28107 ;IN THE SUBTEST) TO LOOP ON ERROR^
28108
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 8-3
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INDEX REGISTER ADDRESSING SEQ 0612
28109 ;**********
28110
28111
28112 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
28113 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
28114 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
28115 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
28116 ;FLOATING 1, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 1.
28117 ;IF C(AC3)=A FLOATING 1, THIS TEST PASSES.
28118
28119 001307 SN=SN+1
28120 000100 ZZ=ZZ+ZZ
28121 IFE ZZ,<ZZ=1>
28122 045514 476 00 0 00 000003 SETOM 3 ;PRELOAD AC3 WITH -1,,-1
28123 045515 205 01 0 00 000100 MOVSI 1,ZZ ;PRELOAD AC1 WITH FLOATING 1
28124 045516 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
28125 045517 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
28126 045520 312 03 0 00 070315 CAME 3,[ZZ,,0] ;TEST INDEXING
28127 STOP^
28128 045521 254 04 0 00 045522 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
28129 045522 324 00 0 00 045523 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
28130 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
28131 ;IN THE SUBTEST) TO LOOP ON ERROR^
28132
28133 ;**********
28134
28135
28136 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
28137 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
28138 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
28139 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
28140 ;FLOATING 1, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 1.
28141 ;IF C(AC3)=A FLOATING 1, THIS TEST PASSES.
28142
28143 001310 SN=SN+1
28144 000200 ZZ=ZZ+ZZ
28145 IFE ZZ,<ZZ=1>
28146 045523 476 00 0 00 000003 SETOM 3 ;PRELOAD AC3 WITH -1,,-1
28147 045524 205 01 0 00 000200 MOVSI 1,ZZ ;PRELOAD AC1 WITH FLOATING 1
28148 045525 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
28149 045526 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
28150 045527 312 03 0 00 070316 CAME 3,[ZZ,,0] ;TEST INDEXING
28151 STOP^
28152 045530 254 04 0 00 045531 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
28153 045531 324 00 0 00 045532 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
28154 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
28155 ;IN THE SUBTEST) TO LOOP ON ERROR^
28156
28157 ;**********
28158
28159
28160 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
28161 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
28162 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
28163 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 8-4
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INDEX REGISTER ADDRESSING SEQ 0613
28164 ;FLOATING 1, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 1.
28165 ;IF C(AC3)=A FLOATING 1, THIS TEST PASSES.
28166
28167 001311 SN=SN+1
28168 000400 ZZ=ZZ+ZZ
28169 IFE ZZ,<ZZ=1>
28170 045532 476 00 0 00 000003 SETOM 3 ;PRELOAD AC3 WITH -1,,-1
28171 045533 205 01 0 00 000400 MOVSI 1,ZZ ;PRELOAD AC1 WITH FLOATING 1
28172 045534 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
28173 045535 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
28174 045536 312 03 0 00 070264 CAME 3,[ZZ,,0] ;TEST INDEXING
28175 STOP^
28176 045537 254 04 0 00 045540 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
28177 045540 324 00 0 00 045541 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
28178 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
28179 ;IN THE SUBTEST) TO LOOP ON ERROR^
28180
28181 ;**********
28182
28183
28184 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
28185 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
28186 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
28187 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
28188 ;FLOATING 1, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 1.
28189 ;IF C(AC3)=A FLOATING 1, THIS TEST PASSES.
28190
28191 001312 SN=SN+1
28192 001000 ZZ=ZZ+ZZ
28193 IFE ZZ,<ZZ=1>
28194 045541 476 00 0 00 000003 SETOM 3 ;PRELOAD AC3 WITH -1,,-1
28195 045542 205 01 0 00 001000 MOVSI 1,ZZ ;PRELOAD AC1 WITH FLOATING 1
28196 045543 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
28197 045544 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
28198 045545 312 03 0 00 070317 CAME 3,[ZZ,,0] ;TEST INDEXING
28199 STOP^
28200 045546 254 04 0 00 045547 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
28201 045547 324 00 0 00 045550 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
28202 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
28203 ;IN THE SUBTEST) TO LOOP ON ERROR^
28204
28205 ;**********
28206
28207
28208 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
28209 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
28210 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
28211 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
28212 ;FLOATING 1, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 1.
28213 ;IF C(AC3)=A FLOATING 1, THIS TEST PASSES.
28214
28215 001313 SN=SN+1
28216 002000 ZZ=ZZ+ZZ
28217 IFE ZZ,<ZZ=1>
28218 045550 476 00 0 00 000003 SETOM 3 ;PRELOAD AC3 WITH -1,,-1
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 8-5
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INDEX REGISTER ADDRESSING SEQ 0614
28219 045551 205 01 0 00 002000 MOVSI 1,ZZ ;PRELOAD AC1 WITH FLOATING 1
28220 045552 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
28221 045553 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
28222 045554 312 03 0 00 070320 CAME 3,[ZZ,,0] ;TEST INDEXING
28223 STOP^
28224 045555 254 04 0 00 045556 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
28225 045556 324 00 0 00 045557 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
28226 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
28227 ;IN THE SUBTEST) TO LOOP ON ERROR^
28228
28229 ;**********
28230
28231
28232 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
28233 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
28234 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
28235 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
28236 ;FLOATING 1, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 1.
28237 ;IF C(AC3)=A FLOATING 1, THIS TEST PASSES.
28238
28239 001314 SN=SN+1
28240 004000 ZZ=ZZ+ZZ
28241 IFE ZZ,<ZZ=1>
28242 045557 476 00 0 00 000003 SETOM 3 ;PRELOAD AC3 WITH -1,,-1
28243 045560 205 01 0 00 004000 MOVSI 1,ZZ ;PRELOAD AC1 WITH FLOATING 1
28244 045561 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
28245 045562 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
28246 045563 312 03 0 00 070321 CAME 3,[ZZ,,0] ;TEST INDEXING
28247 STOP^
28248 045564 254 04 0 00 045565 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
28249 045565 324 00 0 00 045566 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
28250 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
28251 ;IN THE SUBTEST) TO LOOP ON ERROR^
28252
28253 ;**********
28254
28255
28256 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
28257 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
28258 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
28259 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
28260 ;FLOATING 1, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 1.
28261 ;IF C(AC3)=A FLOATING 1, THIS TEST PASSES.
28262
28263 001315 SN=SN+1
28264 010000 ZZ=ZZ+ZZ
28265 IFE ZZ,<ZZ=1>
28266 045566 476 00 0 00 000003 SETOM 3 ;PRELOAD AC3 WITH -1,,-1
28267 045567 205 01 0 00 010000 MOVSI 1,ZZ ;PRELOAD AC1 WITH FLOATING 1
28268 045570 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
28269 045571 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
28270 045572 312 03 0 00 070322 CAME 3,[ZZ,,0] ;TEST INDEXING
28271 STOP^
28272 045573 254 04 0 00 045574 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
28273 045574 324 00 0 00 045575 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 8-6
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INDEX REGISTER ADDRESSING SEQ 0615
28274 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
28275 ;IN THE SUBTEST) TO LOOP ON ERROR^
28276
28277 ;**********
28278
28279
28280 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
28281 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
28282 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
28283 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
28284 ;FLOATING 1, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 1.
28285 ;IF C(AC3)=A FLOATING 1, THIS TEST PASSES.
28286
28287 001316 SN=SN+1
28288 020000 ZZ=ZZ+ZZ
28289 IFE ZZ,<ZZ=1>
28290 045575 476 00 0 00 000003 SETOM 3 ;PRELOAD AC3 WITH -1,,-1
28291 045576 205 01 0 00 020000 MOVSI 1,ZZ ;PRELOAD AC1 WITH FLOATING 1
28292 045577 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
28293 045600 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
28294 045601 312 03 0 00 070323 CAME 3,[ZZ,,0] ;TEST INDEXING
28295 STOP^
28296 045602 254 04 0 00 045603 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
28297 045603 324 00 0 00 045604 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
28298 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
28299 ;IN THE SUBTEST) TO LOOP ON ERROR^
28300
28301 ;**********
28302
28303
28304 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
28305 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
28306 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
28307 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
28308 ;FLOATING 1, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 1.
28309 ;IF C(AC3)=A FLOATING 1, THIS TEST PASSES.
28310
28311 001317 SN=SN+1
28312 040000 ZZ=ZZ+ZZ
28313 IFE ZZ,<ZZ=1>
28314 045604 476 00 0 00 000003 SETOM 3 ;PRELOAD AC3 WITH -1,,-1
28315 045605 205 01 0 00 040000 MOVSI 1,ZZ ;PRELOAD AC1 WITH FLOATING 1
28316 045606 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
28317 045607 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
28318 045610 312 03 0 00 070324 CAME 3,[ZZ,,0] ;TEST INDEXING
28319 STOP^
28320 045611 254 04 0 00 045612 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
28321 045612 324 00 0 00 045613 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
28322 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
28323 ;IN THE SUBTEST) TO LOOP ON ERROR^
28324
28325 ;**********
28326
28327
28328 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 8-7
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INDEX REGISTER ADDRESSING SEQ 0616
28329 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
28330 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
28331 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
28332 ;FLOATING 1, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 1.
28333 ;IF C(AC3)=A FLOATING 1, THIS TEST PASSES.
28334
28335 001320 SN=SN+1
28336 100000 ZZ=ZZ+ZZ
28337 IFE ZZ,<ZZ=1>
28338 045613 476 00 0 00 000003 SETOM 3 ;PRELOAD AC3 WITH -1,,-1
28339 045614 205 01 0 00 100000 MOVSI 1,ZZ ;PRELOAD AC1 WITH FLOATING 1
28340 045615 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
28341 045616 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
28342 045617 312 03 0 00 070325 CAME 3,[ZZ,,0] ;TEST INDEXING
28343 STOP^
28344 045620 254 04 0 00 045621 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
28345 045621 324 00 0 00 045622 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
28346 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
28347 ;IN THE SUBTEST) TO LOOP ON ERROR^
28348
28349 ;**********
28350
28351
28352 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
28353 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
28354 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
28355 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
28356 ;FLOATING 1, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 1.
28357 ;IF C(AC3)=A FLOATING 1, THIS TEST PASSES.
28358
28359 001321 SN=SN+1
28360 200000 ZZ=ZZ+ZZ
28361 IFE ZZ,<ZZ=1>
28362 045622 476 00 0 00 000003 SETOM 3 ;PRELOAD AC3 WITH -1,,-1
28363 045623 205 01 0 00 200000 MOVSI 1,ZZ ;PRELOAD AC1 WITH FLOATING 1
28364 045624 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
28365 045625 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
28366 045626 312 03 0 00 070326 CAME 3,[ZZ,,0] ;TEST INDEXING
28367 STOP^
28368 045627 254 04 0 00 045630 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
28369 045630 324 00 0 00 045631 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
28370 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
28371 ;IN THE SUBTEST) TO LOOP ON ERROR^
28372
28373 ;**********
28374
28375
28376 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
28377 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
28378 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
28379 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
28380 ;FLOATING 1, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 1.
28381 ;IF C(AC3)=A FLOATING 1, THIS TEST PASSES.
28382
28383 001322 SN=SN+1
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 8-8
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INDEX REGISTER ADDRESSING SEQ 0617
28384 400000 ZZ=ZZ+ZZ
28385 IFE ZZ,<ZZ=1>
28386 045631 476 00 0 00 000003 SETOM 3 ;PRELOAD AC3 WITH -1,,-1
28387 045632 205 01 0 00 400000 MOVSI 1,ZZ ;PRELOAD AC1 WITH FLOATING 1
28388 045633 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
28389 045634 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
28390 045635 312 03 0 00 070256 CAME 3,[ZZ,,0] ;TEST INDEXING
28391 STOP^
28392 045636 254 04 0 00 045637 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
28393 045637 324 00 0 00 045640 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
28394 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
28395 ;IN THE SUBTEST) TO LOOP ON ERROR^
28396
28397 ;**********
28398
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 9
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INDEX REGISTER ADDRESSING SEQ 0618
28399 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
28400 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
28401 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
28402 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH -1,,-1,
28403 ;THE FINAL RESULT IN AC3 SHOULD BE -1,,-1. IF C(AC3)=-1,,-1, THIS TEST PASSES.
28404
28405 045640 402 00 0 00 000003 C1400: SETZM 3 ;PRELOAD AC3 WITH 0
28406 045641 476 00 0 00 000001 SETOM 1 ;PRELOAD AC1 WITH -1,,-1
28407 045642 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
28408 045643 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
28409 045644 312 03 0 00 070254 CAME 3,[-1,,-1] ;TEST INDEXING
28410 STOP^
28411 045645 254 04 0 00 045646 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
28412 045646 324 00 0 00 045647 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
28413 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
28414 ;IN THE SUBTEST) TO LOOP ON ERROR^
28415
28416 ;**********
28417
28418 001500 SN=1500
28419 000000 ZZ=0
28420
28421 C1500: REPEAT ^D18,<
28422 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
28423 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
28424 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
28425 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
28426 ;FLOATING 0, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 0.
28427 ;IF C(AC3)=A FLOATING 0, THIS TEST PASSES.
28428
28429 SN=SN+1
28430 ZZ=<ZZ+ZZ+1>&777777
28431 IFE <ZZ-1>,<ZZ=777776>
28432 SETZM 3 ;PRELOAD AC3 WITH 0
28433 HRROI 1,ZZ ;PRELOAD AC1 WITH FLOATING 0
28434 MOVEI 2,1 ;SETUP INDEX REGISTER
28435 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
28436 CAME 3,[-1,,ZZ] ;TEST INDEXING
28437 STOP
28438
28439 ;**********
28440 >
28441
28442 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
28443 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
28444 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
28445 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
28446 ;FLOATING 0, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 0.
28447 ;IF C(AC3)=A FLOATING 0, THIS TEST PASSES.
28448
28449 001501 SN=SN+1
28450 000001 ZZ=<ZZ+ZZ+1>&777777
28451 777776 IFE <ZZ-1>,<ZZ=777776>
28452 045647 402 00 0 00 000003 SETZM 3 ;PRELOAD AC3 WITH 0
28453 045650 561 01 0 00 777776 HRROI 1,ZZ ;PRELOAD AC1 WITH FLOATING 0
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 9-1
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INDEX REGISTER ADDRESSING SEQ 0619
28454 045651 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
28455 045652 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
28456 045653 312 03 0 00 070333 CAME 3,[-1,,ZZ] ;TEST INDEXING
28457 STOP^
28458 045654 254 04 0 00 045655 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
28459 045655 324 00 0 00 045656 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
28460 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
28461 ;IN THE SUBTEST) TO LOOP ON ERROR^
28462
28463 ;**********
28464
28465
28466 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
28467 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
28468 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
28469 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
28470 ;FLOATING 0, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 0.
28471 ;IF C(AC3)=A FLOATING 0, THIS TEST PASSES.
28472
28473 001502 SN=SN+1
28474 777775 ZZ=<ZZ+ZZ+1>&777777
28475 IFE <ZZ-1>,<ZZ=777776>
28476 045656 402 00 0 00 000003 SETZM 3 ;PRELOAD AC3 WITH 0
28477 045657 561 01 0 00 777775 HRROI 1,ZZ ;PRELOAD AC1 WITH FLOATING 0
28478 045660 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
28479 045661 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
28480 045662 312 03 0 00 070334 CAME 3,[-1,,ZZ] ;TEST INDEXING
28481 STOP^
28482 045663 254 04 0 00 045664 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
28483 045664 324 00 0 00 045665 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
28484 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
28485 ;IN THE SUBTEST) TO LOOP ON ERROR^
28486
28487 ;**********
28488
28489
28490 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
28491 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
28492 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
28493 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
28494 ;FLOATING 0, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 0.
28495 ;IF C(AC3)=A FLOATING 0, THIS TEST PASSES.
28496
28497 001503 SN=SN+1
28498 777773 ZZ=<ZZ+ZZ+1>&777777
28499 IFE <ZZ-1>,<ZZ=777776>
28500 045665 402 00 0 00 000003 SETZM 3 ;PRELOAD AC3 WITH 0
28501 045666 561 01 0 00 777773 HRROI 1,ZZ ;PRELOAD AC1 WITH FLOATING 0
28502 045667 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
28503 045670 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
28504 045671 312 03 0 00 070335 CAME 3,[-1,,ZZ] ;TEST INDEXING
28505 STOP^
28506 045672 254 04 0 00 045673 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
28507 045673 324 00 0 00 045674 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
28508 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 9-2
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INDEX REGISTER ADDRESSING SEQ 0620
28509 ;IN THE SUBTEST) TO LOOP ON ERROR^
28510
28511 ;**********
28512
28513
28514 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
28515 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
28516 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
28517 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
28518 ;FLOATING 0, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 0.
28519 ;IF C(AC3)=A FLOATING 0, THIS TEST PASSES.
28520
28521 001504 SN=SN+1
28522 777767 ZZ=<ZZ+ZZ+1>&777777
28523 IFE <ZZ-1>,<ZZ=777776>
28524 045674 402 00 0 00 000003 SETZM 3 ;PRELOAD AC3 WITH 0
28525 045675 561 01 0 00 777767 HRROI 1,ZZ ;PRELOAD AC1 WITH FLOATING 0
28526 045676 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
28527 045677 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
28528 045700 312 03 0 00 070336 CAME 3,[-1,,ZZ] ;TEST INDEXING
28529 STOP^
28530 045701 254 04 0 00 045702 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
28531 045702 324 00 0 00 045703 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
28532 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
28533 ;IN THE SUBTEST) TO LOOP ON ERROR^
28534
28535 ;**********
28536
28537
28538 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
28539 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
28540 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
28541 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
28542 ;FLOATING 0, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 0.
28543 ;IF C(AC3)=A FLOATING 0, THIS TEST PASSES.
28544
28545 001505 SN=SN+1
28546 777757 ZZ=<ZZ+ZZ+1>&777777
28547 IFE <ZZ-1>,<ZZ=777776>
28548 045703 402 00 0 00 000003 SETZM 3 ;PRELOAD AC3 WITH 0
28549 045704 561 01 0 00 777757 HRROI 1,ZZ ;PRELOAD AC1 WITH FLOATING 0
28550 045705 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
28551 045706 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
28552 045707 312 03 0 00 070337 CAME 3,[-1,,ZZ] ;TEST INDEXING
28553 STOP^
28554 045710 254 04 0 00 045711 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
28555 045711 324 00 0 00 045712 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
28556 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
28557 ;IN THE SUBTEST) TO LOOP ON ERROR^
28558
28559 ;**********
28560
28561
28562 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
28563 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 9-3
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INDEX REGISTER ADDRESSING SEQ 0621
28564 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
28565 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
28566 ;FLOATING 0, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 0.
28567 ;IF C(AC3)=A FLOATING 0, THIS TEST PASSES.
28568
28569 001506 SN=SN+1
28570 777737 ZZ=<ZZ+ZZ+1>&777777
28571 IFE <ZZ-1>,<ZZ=777776>
28572 045712 402 00 0 00 000003 SETZM 3 ;PRELOAD AC3 WITH 0
28573 045713 561 01 0 00 777737 HRROI 1,ZZ ;PRELOAD AC1 WITH FLOATING 0
28574 045714 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
28575 045715 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
28576 045716 312 03 0 00 070340 CAME 3,[-1,,ZZ] ;TEST INDEXING
28577 STOP^
28578 045717 254 04 0 00 045720 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
28579 045720 324 00 0 00 045721 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
28580 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
28581 ;IN THE SUBTEST) TO LOOP ON ERROR^
28582
28583 ;**********
28584
28585
28586 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
28587 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
28588 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
28589 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
28590 ;FLOATING 0, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 0.
28591 ;IF C(AC3)=A FLOATING 0, THIS TEST PASSES.
28592
28593 001507 SN=SN+1
28594 777677 ZZ=<ZZ+ZZ+1>&777777
28595 IFE <ZZ-1>,<ZZ=777776>
28596 045721 402 00 0 00 000003 SETZM 3 ;PRELOAD AC3 WITH 0
28597 045722 561 01 0 00 777677 HRROI 1,ZZ ;PRELOAD AC1 WITH FLOATING 0
28598 045723 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
28599 045724 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
28600 045725 312 03 0 00 070341 CAME 3,[-1,,ZZ] ;TEST INDEXING
28601 STOP^
28602 045726 254 04 0 00 045727 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
28603 045727 324 00 0 00 045730 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
28604 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
28605 ;IN THE SUBTEST) TO LOOP ON ERROR^
28606
28607 ;**********
28608
28609
28610 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
28611 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
28612 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
28613 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
28614 ;FLOATING 0, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 0.
28615 ;IF C(AC3)=A FLOATING 0, THIS TEST PASSES.
28616
28617 001510 SN=SN+1
28618 777577 ZZ=<ZZ+ZZ+1>&777777
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 9-4
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INDEX REGISTER ADDRESSING SEQ 0622
28619 IFE <ZZ-1>,<ZZ=777776>
28620 045730 402 00 0 00 000003 SETZM 3 ;PRELOAD AC3 WITH 0
28621 045731 561 01 0 00 777577 HRROI 1,ZZ ;PRELOAD AC1 WITH FLOATING 0
28622 045732 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
28623 045733 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
28624 045734 312 03 0 00 070342 CAME 3,[-1,,ZZ] ;TEST INDEXING
28625 STOP^
28626 045735 254 04 0 00 045736 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
28627 045736 324 00 0 00 045737 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
28628 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
28629 ;IN THE SUBTEST) TO LOOP ON ERROR^
28630
28631 ;**********
28632
28633
28634 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
28635 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
28636 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
28637 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
28638 ;FLOATING 0, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 0.
28639 ;IF C(AC3)=A FLOATING 0, THIS TEST PASSES.
28640
28641 001511 SN=SN+1
28642 777377 ZZ=<ZZ+ZZ+1>&777777
28643 IFE <ZZ-1>,<ZZ=777776>
28644 045737 402 00 0 00 000003 SETZM 3 ;PRELOAD AC3 WITH 0
28645 045740 561 01 0 00 777377 HRROI 1,ZZ ;PRELOAD AC1 WITH FLOATING 0
28646 045741 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
28647 045742 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
28648 045743 312 03 0 00 070343 CAME 3,[-1,,ZZ] ;TEST INDEXING
28649 STOP^
28650 045744 254 04 0 00 045745 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
28651 045745 324 00 0 00 045746 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
28652 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
28653 ;IN THE SUBTEST) TO LOOP ON ERROR^
28654
28655 ;**********
28656
28657
28658 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
28659 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
28660 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
28661 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
28662 ;FLOATING 0, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 0.
28663 ;IF C(AC3)=A FLOATING 0, THIS TEST PASSES.
28664
28665 001512 SN=SN+1
28666 776777 ZZ=<ZZ+ZZ+1>&777777
28667 IFE <ZZ-1>,<ZZ=777776>
28668 045746 402 00 0 00 000003 SETZM 3 ;PRELOAD AC3 WITH 0
28669 045747 561 01 0 00 776777 HRROI 1,ZZ ;PRELOAD AC1 WITH FLOATING 0
28670 045750 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
28671 045751 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
28672 045752 312 03 0 00 070344 CAME 3,[-1,,ZZ] ;TEST INDEXING
28673 STOP^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 9-5
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INDEX REGISTER ADDRESSING SEQ 0623
28674 045753 254 04 0 00 045754 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
28675 045754 324 00 0 00 045755 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
28676 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
28677 ;IN THE SUBTEST) TO LOOP ON ERROR^
28678
28679 ;**********
28680
28681
28682 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
28683 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
28684 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
28685 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
28686 ;FLOATING 0, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 0.
28687 ;IF C(AC3)=A FLOATING 0, THIS TEST PASSES.
28688
28689 001513 SN=SN+1
28690 775777 ZZ=<ZZ+ZZ+1>&777777
28691 IFE <ZZ-1>,<ZZ=777776>
28692 045755 402 00 0 00 000003 SETZM 3 ;PRELOAD AC3 WITH 0
28693 045756 561 01 0 00 775777 HRROI 1,ZZ ;PRELOAD AC1 WITH FLOATING 0
28694 045757 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
28695 045760 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
28696 045761 312 03 0 00 070345 CAME 3,[-1,,ZZ] ;TEST INDEXING
28697 STOP^
28698 045762 254 04 0 00 045763 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
28699 045763 324 00 0 00 045764 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
28700 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
28701 ;IN THE SUBTEST) TO LOOP ON ERROR^
28702
28703 ;**********
28704
28705
28706 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
28707 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
28708 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
28709 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
28710 ;FLOATING 0, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 0.
28711 ;IF C(AC3)=A FLOATING 0, THIS TEST PASSES.
28712
28713 001514 SN=SN+1
28714 773777 ZZ=<ZZ+ZZ+1>&777777
28715 IFE <ZZ-1>,<ZZ=777776>
28716 045764 402 00 0 00 000003 SETZM 3 ;PRELOAD AC3 WITH 0
28717 045765 561 01 0 00 773777 HRROI 1,ZZ ;PRELOAD AC1 WITH FLOATING 0
28718 045766 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
28719 045767 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
28720 045770 312 03 0 00 070346 CAME 3,[-1,,ZZ] ;TEST INDEXING
28721 STOP^
28722 045771 254 04 0 00 045772 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
28723 045772 324 00 0 00 045773 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
28724 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
28725 ;IN THE SUBTEST) TO LOOP ON ERROR^
28726
28727 ;**********
28728
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 9-6
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INDEX REGISTER ADDRESSING SEQ 0624
28729
28730 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
28731 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
28732 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
28733 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
28734 ;FLOATING 0, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 0.
28735 ;IF C(AC3)=A FLOATING 0, THIS TEST PASSES.
28736
28737 001515 SN=SN+1
28738 767777 ZZ=<ZZ+ZZ+1>&777777
28739 IFE <ZZ-1>,<ZZ=777776>
28740 045773 402 00 0 00 000003 SETZM 3 ;PRELOAD AC3 WITH 0
28741 045774 561 01 0 00 767777 HRROI 1,ZZ ;PRELOAD AC1 WITH FLOATING 0
28742 045775 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
28743 045776 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
28744 045777 312 03 0 00 070347 CAME 3,[-1,,ZZ] ;TEST INDEXING
28745 STOP^
28746 046000 254 04 0 00 046001 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
28747 046001 324 00 0 00 046002 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
28748 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
28749 ;IN THE SUBTEST) TO LOOP ON ERROR^
28750
28751 ;**********
28752
28753
28754 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
28755 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
28756 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
28757 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
28758 ;FLOATING 0, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 0.
28759 ;IF C(AC3)=A FLOATING 0, THIS TEST PASSES.
28760
28761 001516 SN=SN+1
28762 757777 ZZ=<ZZ+ZZ+1>&777777
28763 IFE <ZZ-1>,<ZZ=777776>
28764 046002 402 00 0 00 000003 SETZM 3 ;PRELOAD AC3 WITH 0
28765 046003 561 01 0 00 757777 HRROI 1,ZZ ;PRELOAD AC1 WITH FLOATING 0
28766 046004 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
28767 046005 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
28768 046006 312 03 0 00 070350 CAME 3,[-1,,ZZ] ;TEST INDEXING
28769 STOP^
28770 046007 254 04 0 00 046010 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
28771 046010 324 00 0 00 046011 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
28772 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
28773 ;IN THE SUBTEST) TO LOOP ON ERROR^
28774
28775 ;**********
28776
28777
28778 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
28779 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
28780 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
28781 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
28782 ;FLOATING 0, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 0.
28783 ;IF C(AC3)=A FLOATING 0, THIS TEST PASSES.
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 9-7
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INDEX REGISTER ADDRESSING SEQ 0625
28784
28785 001517 SN=SN+1
28786 737777 ZZ=<ZZ+ZZ+1>&777777
28787 IFE <ZZ-1>,<ZZ=777776>
28788 046011 402 00 0 00 000003 SETZM 3 ;PRELOAD AC3 WITH 0
28789 046012 561 01 0 00 737777 HRROI 1,ZZ ;PRELOAD AC1 WITH FLOATING 0
28790 046013 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
28791 046014 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
28792 046015 312 03 0 00 070351 CAME 3,[-1,,ZZ] ;TEST INDEXING
28793 STOP^
28794 046016 254 04 0 00 046017 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
28795 046017 324 00 0 00 046020 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
28796 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
28797 ;IN THE SUBTEST) TO LOOP ON ERROR^
28798
28799 ;**********
28800
28801
28802 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
28803 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
28804 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
28805 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
28806 ;FLOATING 0, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 0.
28807 ;IF C(AC3)=A FLOATING 0, THIS TEST PASSES.
28808
28809 001520 SN=SN+1
28810 677777 ZZ=<ZZ+ZZ+1>&777777
28811 IFE <ZZ-1>,<ZZ=777776>
28812 046020 402 00 0 00 000003 SETZM 3 ;PRELOAD AC3 WITH 0
28813 046021 561 01 0 00 677777 HRROI 1,ZZ ;PRELOAD AC1 WITH FLOATING 0
28814 046022 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
28815 046023 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
28816 046024 312 03 0 00 070352 CAME 3,[-1,,ZZ] ;TEST INDEXING
28817 STOP^
28818 046025 254 04 0 00 046026 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
28819 046026 324 00 0 00 046027 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
28820 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
28821 ;IN THE SUBTEST) TO LOOP ON ERROR^
28822
28823 ;**********
28824
28825
28826 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
28827 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
28828 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
28829 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
28830 ;FLOATING 0, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 0.
28831 ;IF C(AC3)=A FLOATING 0, THIS TEST PASSES.
28832
28833 001521 SN=SN+1
28834 577777 ZZ=<ZZ+ZZ+1>&777777
28835 IFE <ZZ-1>,<ZZ=777776>
28836 046027 402 00 0 00 000003 SETZM 3 ;PRELOAD AC3 WITH 0
28837 046030 561 01 0 00 577777 HRROI 1,ZZ ;PRELOAD AC1 WITH FLOATING 0
28838 046031 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 9-8
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INDEX REGISTER ADDRESSING SEQ 0626
28839 046032 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
28840 046033 312 03 0 00 070353 CAME 3,[-1,,ZZ] ;TEST INDEXING
28841 STOP^
28842 046034 254 04 0 00 046035 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
28843 046035 324 00 0 00 046036 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
28844 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
28845 ;IN THE SUBTEST) TO LOOP ON ERROR^
28846
28847 ;**********
28848
28849
28850 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
28851 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
28852 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
28853 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
28854 ;FLOATING 0, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 0.
28855 ;IF C(AC3)=A FLOATING 0, THIS TEST PASSES.
28856
28857 001522 SN=SN+1
28858 377777 ZZ=<ZZ+ZZ+1>&777777
28859 IFE <ZZ-1>,<ZZ=777776>
28860 046036 402 00 0 00 000003 SETZM 3 ;PRELOAD AC3 WITH 0
28861 046037 561 01 0 00 377777 HRROI 1,ZZ ;PRELOAD AC1 WITH FLOATING 0
28862 046040 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
28863 046041 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
28864 046042 312 03 0 00 070354 CAME 3,[-1,,ZZ] ;TEST INDEXING
28865 STOP^
28866 046043 254 04 0 00 046044 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
28867 046044 324 00 0 00 046045 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
28868 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
28869 ;IN THE SUBTEST) TO LOOP ON ERROR^
28870
28871 ;**********
28872
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 10
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INDEX REGISTER ADDRESSING SEQ 0627
28873 001600 SN=1600
28874 000000 ZZ=0
28875
28876 C1600: REPEAT ^D18,<
28877 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
28878 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
28879 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
28880 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
28881 ;FLOATING 0, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 0.
28882 ;IF C(AC3)=A FLOATING 0, THIS TEST PASSES.
28883
28884 SN=SN+1
28885 ZZ=<ZZ+ZZ+1>&777777
28886 IFE <ZZ-1>,<ZZ=777776>
28887 SETZM 3 ;PRELOAD AC3 WITH 0
28888 HRLOI 1,ZZ ;PRELOAD AC1 WITH FLOATING 0
28889 MOVEI 2,1 ;SETUP INDEX REGISTER
28890 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
28891 CAME 3,[ZZ,,-1] ;TEST INDEXING
28892 STOP
28893
28894 ;**********
28895 >
28896
28897 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
28898 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
28899 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
28900 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
28901 ;FLOATING 0, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 0.
28902 ;IF C(AC3)=A FLOATING 0, THIS TEST PASSES.
28903
28904 001601 SN=SN+1
28905 000001 ZZ=<ZZ+ZZ+1>&777777
28906 777776 IFE <ZZ-1>,<ZZ=777776>
28907 046045 402 00 0 00 000003 SETZM 3 ;PRELOAD AC3 WITH 0
28908 046046 525 01 0 00 777776 HRLOI 1,ZZ ;PRELOAD AC1 WITH FLOATING 0
28909 046047 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
28910 046050 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
28911 046051 312 03 0 00 070355 CAME 3,[ZZ,,-1] ;TEST INDEXING
28912 STOP^
28913 046052 254 04 0 00 046053 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
28914 046053 324 00 0 00 046054 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
28915 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
28916 ;IN THE SUBTEST) TO LOOP ON ERROR^
28917
28918 ;**********
28919
28920
28921 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
28922 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
28923 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
28924 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
28925 ;FLOATING 0, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 0.
28926 ;IF C(AC3)=A FLOATING 0, THIS TEST PASSES.
28927
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 10-1
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INDEX REGISTER ADDRESSING SEQ 0628
28928 001602 SN=SN+1
28929 777775 ZZ=<ZZ+ZZ+1>&777777
28930 IFE <ZZ-1>,<ZZ=777776>
28931 046054 402 00 0 00 000003 SETZM 3 ;PRELOAD AC3 WITH 0
28932 046055 525 01 0 00 777775 HRLOI 1,ZZ ;PRELOAD AC1 WITH FLOATING 0
28933 046056 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
28934 046057 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
28935 046060 312 03 0 00 070356 CAME 3,[ZZ,,-1] ;TEST INDEXING
28936 STOP^
28937 046061 254 04 0 00 046062 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
28938 046062 324 00 0 00 046063 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
28939 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
28940 ;IN THE SUBTEST) TO LOOP ON ERROR^
28941
28942 ;**********
28943
28944
28945 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
28946 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
28947 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
28948 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
28949 ;FLOATING 0, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 0.
28950 ;IF C(AC3)=A FLOATING 0, THIS TEST PASSES.
28951
28952 001603 SN=SN+1
28953 777773 ZZ=<ZZ+ZZ+1>&777777
28954 IFE <ZZ-1>,<ZZ=777776>
28955 046063 402 00 0 00 000003 SETZM 3 ;PRELOAD AC3 WITH 0
28956 046064 525 01 0 00 777773 HRLOI 1,ZZ ;PRELOAD AC1 WITH FLOATING 0
28957 046065 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
28958 046066 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
28959 046067 312 03 0 00 070357 CAME 3,[ZZ,,-1] ;TEST INDEXING
28960 STOP^
28961 046070 254 04 0 00 046071 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
28962 046071 324 00 0 00 046072 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
28963 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
28964 ;IN THE SUBTEST) TO LOOP ON ERROR^
28965
28966 ;**********
28967
28968
28969 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
28970 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
28971 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
28972 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
28973 ;FLOATING 0, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 0.
28974 ;IF C(AC3)=A FLOATING 0, THIS TEST PASSES.
28975
28976 001604 SN=SN+1
28977 777767 ZZ=<ZZ+ZZ+1>&777777
28978 IFE <ZZ-1>,<ZZ=777776>
28979 046072 402 00 0 00 000003 SETZM 3 ;PRELOAD AC3 WITH 0
28980 046073 525 01 0 00 777767 HRLOI 1,ZZ ;PRELOAD AC1 WITH FLOATING 0
28981 046074 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
28982 046075 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 10-2
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INDEX REGISTER ADDRESSING SEQ 0629
28983 046076 312 03 0 00 070360 CAME 3,[ZZ,,-1] ;TEST INDEXING
28984 STOP^
28985 046077 254 04 0 00 046100 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
28986 046100 324 00 0 00 046101 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
28987 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
28988 ;IN THE SUBTEST) TO LOOP ON ERROR^
28989
28990 ;**********
28991
28992
28993 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
28994 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
28995 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
28996 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
28997 ;FLOATING 0, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 0.
28998 ;IF C(AC3)=A FLOATING 0, THIS TEST PASSES.
28999
29000 001605 SN=SN+1
29001 777757 ZZ=<ZZ+ZZ+1>&777777
29002 IFE <ZZ-1>,<ZZ=777776>
29003 046101 402 00 0 00 000003 SETZM 3 ;PRELOAD AC3 WITH 0
29004 046102 525 01 0 00 777757 HRLOI 1,ZZ ;PRELOAD AC1 WITH FLOATING 0
29005 046103 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
29006 046104 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
29007 046105 312 03 0 00 070361 CAME 3,[ZZ,,-1] ;TEST INDEXING
29008 STOP^
29009 046106 254 04 0 00 046107 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29010 046107 324 00 0 00 046110 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29011 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29012 ;IN THE SUBTEST) TO LOOP ON ERROR^
29013
29014 ;**********
29015
29016
29017 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
29018 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
29019 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
29020 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
29021 ;FLOATING 0, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 0.
29022 ;IF C(AC3)=A FLOATING 0, THIS TEST PASSES.
29023
29024 001606 SN=SN+1
29025 777737 ZZ=<ZZ+ZZ+1>&777777
29026 IFE <ZZ-1>,<ZZ=777776>
29027 046110 402 00 0 00 000003 SETZM 3 ;PRELOAD AC3 WITH 0
29028 046111 525 01 0 00 777737 HRLOI 1,ZZ ;PRELOAD AC1 WITH FLOATING 0
29029 046112 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
29030 046113 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
29031 046114 312 03 0 00 070362 CAME 3,[ZZ,,-1] ;TEST INDEXING
29032 STOP^
29033 046115 254 04 0 00 046116 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29034 046116 324 00 0 00 046117 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29035 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29036 ;IN THE SUBTEST) TO LOOP ON ERROR^
29037
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 10-3
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INDEX REGISTER ADDRESSING SEQ 0630
29038 ;**********
29039
29040
29041 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
29042 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
29043 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
29044 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
29045 ;FLOATING 0, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 0.
29046 ;IF C(AC3)=A FLOATING 0, THIS TEST PASSES.
29047
29048 001607 SN=SN+1
29049 777677 ZZ=<ZZ+ZZ+1>&777777
29050 IFE <ZZ-1>,<ZZ=777776>
29051 046117 402 00 0 00 000003 SETZM 3 ;PRELOAD AC3 WITH 0
29052 046120 525 01 0 00 777677 HRLOI 1,ZZ ;PRELOAD AC1 WITH FLOATING 0
29053 046121 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
29054 046122 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
29055 046123 312 03 0 00 070363 CAME 3,[ZZ,,-1] ;TEST INDEXING
29056 STOP^
29057 046124 254 04 0 00 046125 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29058 046125 324 00 0 00 046126 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29059 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29060 ;IN THE SUBTEST) TO LOOP ON ERROR^
29061
29062 ;**********
29063
29064
29065 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
29066 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
29067 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
29068 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
29069 ;FLOATING 0, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 0.
29070 ;IF C(AC3)=A FLOATING 0, THIS TEST PASSES.
29071
29072 001610 SN=SN+1
29073 777577 ZZ=<ZZ+ZZ+1>&777777
29074 IFE <ZZ-1>,<ZZ=777776>
29075 046126 402 00 0 00 000003 SETZM 3 ;PRELOAD AC3 WITH 0
29076 046127 525 01 0 00 777577 HRLOI 1,ZZ ;PRELOAD AC1 WITH FLOATING 0
29077 046130 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
29078 046131 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
29079 046132 312 03 0 00 070364 CAME 3,[ZZ,,-1] ;TEST INDEXING
29080 STOP^
29081 046133 254 04 0 00 046134 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29082 046134 324 00 0 00 046135 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29083 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29084 ;IN THE SUBTEST) TO LOOP ON ERROR^
29085
29086 ;**********
29087
29088
29089 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
29090 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
29091 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
29092 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 10-4
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INDEX REGISTER ADDRESSING SEQ 0631
29093 ;FLOATING 0, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 0.
29094 ;IF C(AC3)=A FLOATING 0, THIS TEST PASSES.
29095
29096 001611 SN=SN+1
29097 777377 ZZ=<ZZ+ZZ+1>&777777
29098 IFE <ZZ-1>,<ZZ=777776>
29099 046135 402 00 0 00 000003 SETZM 3 ;PRELOAD AC3 WITH 0
29100 046136 525 01 0 00 777377 HRLOI 1,ZZ ;PRELOAD AC1 WITH FLOATING 0
29101 046137 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
29102 046140 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
29103 046141 312 03 0 00 070365 CAME 3,[ZZ,,-1] ;TEST INDEXING
29104 STOP^
29105 046142 254 04 0 00 046143 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29106 046143 324 00 0 00 046144 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29107 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29108 ;IN THE SUBTEST) TO LOOP ON ERROR^
29109
29110 ;**********
29111
29112
29113 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
29114 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
29115 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
29116 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
29117 ;FLOATING 0, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 0.
29118 ;IF C(AC3)=A FLOATING 0, THIS TEST PASSES.
29119
29120 001612 SN=SN+1
29121 776777 ZZ=<ZZ+ZZ+1>&777777
29122 IFE <ZZ-1>,<ZZ=777776>
29123 046144 402 00 0 00 000003 SETZM 3 ;PRELOAD AC3 WITH 0
29124 046145 525 01 0 00 776777 HRLOI 1,ZZ ;PRELOAD AC1 WITH FLOATING 0
29125 046146 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
29126 046147 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
29127 046150 312 03 0 00 070366 CAME 3,[ZZ,,-1] ;TEST INDEXING
29128 STOP^
29129 046151 254 04 0 00 046152 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29130 046152 324 00 0 00 046153 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29131 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29132 ;IN THE SUBTEST) TO LOOP ON ERROR^
29133
29134 ;**********
29135
29136
29137 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
29138 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
29139 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
29140 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
29141 ;FLOATING 0, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 0.
29142 ;IF C(AC3)=A FLOATING 0, THIS TEST PASSES.
29143
29144 001613 SN=SN+1
29145 775777 ZZ=<ZZ+ZZ+1>&777777
29146 IFE <ZZ-1>,<ZZ=777776>
29147 046153 402 00 0 00 000003 SETZM 3 ;PRELOAD AC3 WITH 0
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 10-5
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INDEX REGISTER ADDRESSING SEQ 0632
29148 046154 525 01 0 00 775777 HRLOI 1,ZZ ;PRELOAD AC1 WITH FLOATING 0
29149 046155 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
29150 046156 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
29151 046157 312 03 0 00 070367 CAME 3,[ZZ,,-1] ;TEST INDEXING
29152 STOP^
29153 046160 254 04 0 00 046161 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29154 046161 324 00 0 00 046162 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29155 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29156 ;IN THE SUBTEST) TO LOOP ON ERROR^
29157
29158 ;**********
29159
29160
29161 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
29162 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
29163 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
29164 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
29165 ;FLOATING 0, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 0.
29166 ;IF C(AC3)=A FLOATING 0, THIS TEST PASSES.
29167
29168 001614 SN=SN+1
29169 773777 ZZ=<ZZ+ZZ+1>&777777
29170 IFE <ZZ-1>,<ZZ=777776>
29171 046162 402 00 0 00 000003 SETZM 3 ;PRELOAD AC3 WITH 0
29172 046163 525 01 0 00 773777 HRLOI 1,ZZ ;PRELOAD AC1 WITH FLOATING 0
29173 046164 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
29174 046165 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
29175 046166 312 03 0 00 070370 CAME 3,[ZZ,,-1] ;TEST INDEXING
29176 STOP^
29177 046167 254 04 0 00 046170 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29178 046170 324 00 0 00 046171 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29179 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29180 ;IN THE SUBTEST) TO LOOP ON ERROR^
29181
29182 ;**********
29183
29184
29185 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
29186 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
29187 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
29188 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
29189 ;FLOATING 0, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 0.
29190 ;IF C(AC3)=A FLOATING 0, THIS TEST PASSES.
29191
29192 001615 SN=SN+1
29193 767777 ZZ=<ZZ+ZZ+1>&777777
29194 IFE <ZZ-1>,<ZZ=777776>
29195 046171 402 00 0 00 000003 SETZM 3 ;PRELOAD AC3 WITH 0
29196 046172 525 01 0 00 767777 HRLOI 1,ZZ ;PRELOAD AC1 WITH FLOATING 0
29197 046173 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
29198 046174 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
29199 046175 312 03 0 00 070371 CAME 3,[ZZ,,-1] ;TEST INDEXING
29200 STOP^
29201 046176 254 04 0 00 046177 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29202 046177 324 00 0 00 046200 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 10-6
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INDEX REGISTER ADDRESSING SEQ 0633
29203 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29204 ;IN THE SUBTEST) TO LOOP ON ERROR^
29205
29206 ;**********
29207
29208
29209 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
29210 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
29211 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
29212 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
29213 ;FLOATING 0, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 0.
29214 ;IF C(AC3)=A FLOATING 0, THIS TEST PASSES.
29215
29216 001616 SN=SN+1
29217 757777 ZZ=<ZZ+ZZ+1>&777777
29218 IFE <ZZ-1>,<ZZ=777776>
29219 046200 402 00 0 00 000003 SETZM 3 ;PRELOAD AC3 WITH 0
29220 046201 525 01 0 00 757777 HRLOI 1,ZZ ;PRELOAD AC1 WITH FLOATING 0
29221 046202 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
29222 046203 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
29223 046204 312 03 0 00 070372 CAME 3,[ZZ,,-1] ;TEST INDEXING
29224 STOP^
29225 046205 254 04 0 00 046206 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29226 046206 324 00 0 00 046207 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29227 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29228 ;IN THE SUBTEST) TO LOOP ON ERROR^
29229
29230 ;**********
29231
29232
29233 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
29234 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
29235 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
29236 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
29237 ;FLOATING 0, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 0.
29238 ;IF C(AC3)=A FLOATING 0, THIS TEST PASSES.
29239
29240 001617 SN=SN+1
29241 737777 ZZ=<ZZ+ZZ+1>&777777
29242 IFE <ZZ-1>,<ZZ=777776>
29243 046207 402 00 0 00 000003 SETZM 3 ;PRELOAD AC3 WITH 0
29244 046210 525 01 0 00 737777 HRLOI 1,ZZ ;PRELOAD AC1 WITH FLOATING 0
29245 046211 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
29246 046212 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
29247 046213 312 03 0 00 070373 CAME 3,[ZZ,,-1] ;TEST INDEXING
29248 STOP^
29249 046214 254 04 0 00 046215 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29250 046215 324 00 0 00 046216 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29251 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29252 ;IN THE SUBTEST) TO LOOP ON ERROR^
29253
29254 ;**********
29255
29256
29257 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 10-7
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INDEX REGISTER ADDRESSING SEQ 0634
29258 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
29259 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
29260 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
29261 ;FLOATING 0, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 0.
29262 ;IF C(AC3)=A FLOATING 0, THIS TEST PASSES.
29263
29264 001620 SN=SN+1
29265 677777 ZZ=<ZZ+ZZ+1>&777777
29266 IFE <ZZ-1>,<ZZ=777776>
29267 046216 402 00 0 00 000003 SETZM 3 ;PRELOAD AC3 WITH 0
29268 046217 525 01 0 00 677777 HRLOI 1,ZZ ;PRELOAD AC1 WITH FLOATING 0
29269 046220 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
29270 046221 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
29271 046222 312 03 0 00 070374 CAME 3,[ZZ,,-1] ;TEST INDEXING
29272 STOP^
29273 046223 254 04 0 00 046224 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29274 046224 324 00 0 00 046225 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29275 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29276 ;IN THE SUBTEST) TO LOOP ON ERROR^
29277
29278 ;**********
29279
29280
29281 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
29282 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
29283 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
29284 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
29285 ;FLOATING 0, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 0.
29286 ;IF C(AC3)=A FLOATING 0, THIS TEST PASSES.
29287
29288 001621 SN=SN+1
29289 577777 ZZ=<ZZ+ZZ+1>&777777
29290 IFE <ZZ-1>,<ZZ=777776>
29291 046225 402 00 0 00 000003 SETZM 3 ;PRELOAD AC3 WITH 0
29292 046226 525 01 0 00 577777 HRLOI 1,ZZ ;PRELOAD AC1 WITH FLOATING 0
29293 046227 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
29294 046230 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
29295 046231 312 03 0 00 070375 CAME 3,[ZZ,,-1] ;TEST INDEXING
29296 STOP^
29297 046232 254 04 0 00 046233 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29298 046233 324 00 0 00 046234 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29299 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29300 ;IN THE SUBTEST) TO LOOP ON ERROR^
29301
29302 ;**********
29303
29304
29305 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
29306 ;IN THIS TEST, A MOVE INSTRUCTION USING INDEXING IS EXECUTED. THE MOVE INSTRUCTION
29307 ;SHOULD PLACE THE CONTENTS OF THE LOCATION SPECIFIED BY INDEX REGISTER 2 INTO AC3.
29308 ;SINCE INDEX REGISTER 2 WAS PRELOADED WITH A 1 AND AC1 WAS PRELOADED WITH A
29309 ;FLOATING 0, THE FINAL RESULT IN AC3 SHOULD BE A FLOATING 0.
29310 ;IF C(AC3)=A FLOATING 0, THIS TEST PASSES.
29311
29312 001622 SN=SN+1
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 10-8
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INDEX REGISTER ADDRESSING SEQ 0635
29313 377777 ZZ=<ZZ+ZZ+1>&777777
29314 IFE <ZZ-1>,<ZZ=777776>
29315 046234 402 00 0 00 000003 SETZM 3 ;PRELOAD AC3 WITH 0
29316 046235 525 01 0 00 377777 HRLOI 1,ZZ ;PRELOAD AC1 WITH FLOATING 0
29317 046236 201 02 0 00 000001 MOVEI 2,1 ;SETUP INDEX REGISTER
29318 046237 200 03 0 02 000000 MOVE 3,(2) ;*FWT FROM INDEXED LOCATION
29319 046240 312 03 0 00 070255 CAME 3,[ZZ,,-1] ;TEST INDEXING
29320 STOP^
29321 046241 254 04 0 00 046242 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29322 046242 324 00 0 00 046243 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29323 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29324 ;IN THE SUBTEST) TO LOOP ON ERROR^
29325
29326 ;**********
29327
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 11
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INDEX REGISTER ADDRESSING SEQ 0636
29328 ;VERIFY INDEXING WHERE 'E' IS NON-ZERO
29329
29330 001700 SN=1700
29331 777777 777777 ZZ=-1
29332 777777 777770 XX=-10
29333
29334 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
29335 ;IN THIS TEST, THE INDEX REG IS SET-UP WITH MOVEI ZZ+1,ZZ-XX,
29336 ;WHERE ZZ+1 IS THE INDEX REG. THE AC IS PRELOADED WITH ITS OWN ADDRESS, 0,,ZZ.
29337 ;CAIE IS USED TO TEST THE INDEXING OPERATION.
29338 ;IF THE RESULT IN C(AC)=XX+C(ZZ+1 - RIGHT), THIS TEST PASSES.
29339 ;XX+C(ZZ+1 - RIGHT) SHOULD = ZZ.
29340
29341 C1700: REPEAT ^D15,
29342 <SN=SN+1
29343 ZZ=ZZ+1
29344 XX=XX+3
29345 MOVEI ZZ+1,ZZ-XX ;SETUP INDEX REGISTER
29346 MOVEI ZZ,ZZ ;PRELOAD AC WITH 0,,ZZ
29347 CAIE ZZ,XX(ZZ+1) ;*TEST INDEXING
29348 STOP
29349
29350 ;**********
29351 >
29352 001701 SN=SN+1
29353 000000 ZZ=ZZ+1
29354 777777 777773 XX=XX+3
29355 046243 201 01 0 00 000005 MOVEI ZZ+1,ZZ-XX ;SETUP INDEX REGISTER
29356 046244 201 00 0 00 000000 MOVEI ZZ,ZZ ;PRELOAD AC WITH 0,,ZZ
29357 046245 302 00 0 01 777773 CAIE ZZ,XX(ZZ+1) ;*TEST INDEXING
29358 STOP^
29359 046246 254 04 0 00 046247 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29360 046247 324 00 0 00 046250 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29361 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29362 ;IN THE SUBTEST) TO LOOP ON ERROR^
29363
29364 ;**********
29365
29366 001702 SN=SN+1
29367 000001 ZZ=ZZ+1
29368 777777 777776 XX=XX+3
29369 046250 201 02 0 00 000003 MOVEI ZZ+1,ZZ-XX ;SETUP INDEX REGISTER
29370 046251 201 01 0 00 000001 MOVEI ZZ,ZZ ;PRELOAD AC WITH 0,,ZZ
29371 046252 302 01 0 02 777776 CAIE ZZ,XX(ZZ+1) ;*TEST INDEXING
29372 STOP^
29373 046253 254 04 0 00 046254 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29374 046254 324 00 0 00 046255 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29375 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29376 ;IN THE SUBTEST) TO LOOP ON ERROR^
29377
29378 ;**********
29379
29380 001703 SN=SN+1
29381 000002 ZZ=ZZ+1
29382 000001 XX=XX+3
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 11-1
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INDEX REGISTER ADDRESSING SEQ 0637
29383 046255 201 03 0 00 000001 MOVEI ZZ+1,ZZ-XX ;SETUP INDEX REGISTER
29384 046256 201 02 0 00 000002 MOVEI ZZ,ZZ ;PRELOAD AC WITH 0,,ZZ
29385 046257 302 02 0 03 000001 CAIE ZZ,XX(ZZ+1) ;*TEST INDEXING
29386 STOP^
29387 046260 254 04 0 00 046261 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29388 046261 324 00 0 00 046262 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29389 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29390 ;IN THE SUBTEST) TO LOOP ON ERROR^
29391
29392 ;**********
29393
29394 001704 SN=SN+1
29395 000003 ZZ=ZZ+1
29396 000004 XX=XX+3
29397 046262 201 04 0 00 777777 MOVEI ZZ+1,ZZ-XX ;SETUP INDEX REGISTER
29398 046263 201 03 0 00 000003 MOVEI ZZ,ZZ ;PRELOAD AC WITH 0,,ZZ
29399 046264 302 03 0 04 000004 CAIE ZZ,XX(ZZ+1) ;*TEST INDEXING
29400 STOP^
29401 046265 254 04 0 00 046266 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29402 046266 324 00 0 00 046267 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29403 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29404 ;IN THE SUBTEST) TO LOOP ON ERROR^
29405
29406 ;**********
29407
29408 001705 SN=SN+1
29409 000004 ZZ=ZZ+1
29410 000007 XX=XX+3
29411 046267 201 05 0 00 777775 MOVEI ZZ+1,ZZ-XX ;SETUP INDEX REGISTER
29412 046270 201 04 0 00 000004 MOVEI ZZ,ZZ ;PRELOAD AC WITH 0,,ZZ
29413 046271 302 04 0 05 000007 CAIE ZZ,XX(ZZ+1) ;*TEST INDEXING
29414 STOP^
29415 046272 254 04 0 00 046273 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29416 046273 324 00 0 00 046274 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29417 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29418 ;IN THE SUBTEST) TO LOOP ON ERROR^
29419
29420 ;**********
29421
29422 001706 SN=SN+1
29423 000005 ZZ=ZZ+1
29424 000012 XX=XX+3
29425 046274 201 06 0 00 777773 MOVEI ZZ+1,ZZ-XX ;SETUP INDEX REGISTER
29426 046275 201 05 0 00 000005 MOVEI ZZ,ZZ ;PRELOAD AC WITH 0,,ZZ
29427 046276 302 05 0 06 000012 CAIE ZZ,XX(ZZ+1) ;*TEST INDEXING
29428 STOP^
29429 046277 254 04 0 00 046300 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29430 046300 324 00 0 00 046301 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29431 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29432 ;IN THE SUBTEST) TO LOOP ON ERROR^
29433
29434 ;**********
29435
29436 001707 SN=SN+1
29437 000006 ZZ=ZZ+1
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 11-2
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INDEX REGISTER ADDRESSING SEQ 0638
29438 000015 XX=XX+3
29439 046301 201 07 0 00 777771 MOVEI ZZ+1,ZZ-XX ;SETUP INDEX REGISTER
29440 046302 201 06 0 00 000006 MOVEI ZZ,ZZ ;PRELOAD AC WITH 0,,ZZ
29441 046303 302 06 0 07 000015 CAIE ZZ,XX(ZZ+1) ;*TEST INDEXING
29442 STOP^
29443 046304 254 04 0 00 046305 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29444 046305 324 00 0 00 046306 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29445 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29446 ;IN THE SUBTEST) TO LOOP ON ERROR^
29447
29448 ;**********
29449
29450 001710 SN=SN+1
29451 000007 ZZ=ZZ+1
29452 000020 XX=XX+3
29453 046306 201 10 0 00 777767 MOVEI ZZ+1,ZZ-XX ;SETUP INDEX REGISTER
29454 046307 201 07 0 00 000007 MOVEI ZZ,ZZ ;PRELOAD AC WITH 0,,ZZ
29455 046310 302 07 0 10 000020 CAIE ZZ,XX(ZZ+1) ;*TEST INDEXING
29456 STOP^
29457 046311 254 04 0 00 046312 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29458 046312 324 00 0 00 046313 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29459 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29460 ;IN THE SUBTEST) TO LOOP ON ERROR^
29461
29462 ;**********
29463
29464 001711 SN=SN+1
29465 000010 ZZ=ZZ+1
29466 000023 XX=XX+3
29467 046313 201 11 0 00 777765 MOVEI ZZ+1,ZZ-XX ;SETUP INDEX REGISTER
29468 046314 201 10 0 00 000010 MOVEI ZZ,ZZ ;PRELOAD AC WITH 0,,ZZ
29469 046315 302 10 0 11 000023 CAIE ZZ,XX(ZZ+1) ;*TEST INDEXING
29470 STOP^
29471 046316 254 04 0 00 046317 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29472 046317 324 00 0 00 046320 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29473 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29474 ;IN THE SUBTEST) TO LOOP ON ERROR^
29475
29476 ;**********
29477
29478 001712 SN=SN+1
29479 000011 ZZ=ZZ+1
29480 000026 XX=XX+3
29481 046320 201 12 0 00 777763 MOVEI ZZ+1,ZZ-XX ;SETUP INDEX REGISTER
29482 046321 201 11 0 00 000011 MOVEI ZZ,ZZ ;PRELOAD AC WITH 0,,ZZ
29483 046322 302 11 0 12 000026 CAIE ZZ,XX(ZZ+1) ;*TEST INDEXING
29484 STOP^
29485 046323 254 04 0 00 046324 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29486 046324 324 00 0 00 046325 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29487 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29488 ;IN THE SUBTEST) TO LOOP ON ERROR^
29489
29490 ;**********
29491
29492 001713 SN=SN+1
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 11-3
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INDEX REGISTER ADDRESSING SEQ 0639
29493 000012 ZZ=ZZ+1
29494 000031 XX=XX+3
29495 046325 201 13 0 00 777761 MOVEI ZZ+1,ZZ-XX ;SETUP INDEX REGISTER
29496 046326 201 12 0 00 000012 MOVEI ZZ,ZZ ;PRELOAD AC WITH 0,,ZZ
29497 046327 302 12 0 13 000031 CAIE ZZ,XX(ZZ+1) ;*TEST INDEXING
29498 STOP^
29499 046330 254 04 0 00 046331 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29500 046331 324 00 0 00 046332 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29501 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29502 ;IN THE SUBTEST) TO LOOP ON ERROR^
29503
29504 ;**********
29505
29506 001714 SN=SN+1
29507 000013 ZZ=ZZ+1
29508 000034 XX=XX+3
29509 046332 201 14 0 00 777757 MOVEI ZZ+1,ZZ-XX ;SETUP INDEX REGISTER
29510 046333 201 13 0 00 000013 MOVEI ZZ,ZZ ;PRELOAD AC WITH 0,,ZZ
29511 046334 302 13 0 14 000034 CAIE ZZ,XX(ZZ+1) ;*TEST INDEXING
29512 STOP^
29513 046335 254 04 0 00 046336 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29514 046336 324 00 0 00 046337 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29515 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29516 ;IN THE SUBTEST) TO LOOP ON ERROR^
29517
29518 ;**********
29519
29520 001715 SN=SN+1
29521 000014 ZZ=ZZ+1
29522 000037 XX=XX+3
29523 046337 201 15 0 00 777755 MOVEI ZZ+1,ZZ-XX ;SETUP INDEX REGISTER
29524 046340 201 14 0 00 000014 MOVEI ZZ,ZZ ;PRELOAD AC WITH 0,,ZZ
29525 046341 302 14 0 15 000037 CAIE ZZ,XX(ZZ+1) ;*TEST INDEXING
29526 STOP^
29527 046342 254 04 0 00 046343 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29528 046343 324 00 0 00 046344 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29529 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29530 ;IN THE SUBTEST) TO LOOP ON ERROR^
29531
29532 ;**********
29533
29534 001716 SN=SN+1
29535 000015 ZZ=ZZ+1
29536 000042 XX=XX+3
29537 046344 201 16 0 00 777753 MOVEI ZZ+1,ZZ-XX ;SETUP INDEX REGISTER
29538 046345 201 15 0 00 000015 MOVEI ZZ,ZZ ;PRELOAD AC WITH 0,,ZZ
29539 046346 302 15 0 16 000042 CAIE ZZ,XX(ZZ+1) ;*TEST INDEXING
29540 STOP^
29541 046347 254 04 0 00 046350 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29542 046350 324 00 0 00 046351 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29543 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29544 ;IN THE SUBTEST) TO LOOP ON ERROR^
29545
29546 ;**********
29547
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 11-4
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INDEX REGISTER ADDRESSING SEQ 0640
29548 001717 SN=SN+1
29549 000016 ZZ=ZZ+1
29550 000045 XX=XX+3
29551 046351 201 17 0 00 777751 MOVEI ZZ+1,ZZ-XX ;SETUP INDEX REGISTER
29552 046352 201 16 0 00 000016 MOVEI ZZ,ZZ ;PRELOAD AC WITH 0,,ZZ
29553 046353 302 16 0 17 000045 CAIE ZZ,XX(ZZ+1) ;*TEST INDEXING
29554 STOP^
29555 046354 254 04 0 00 046355 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29556 046355 324 00 0 00 046356 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29557 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29558 ;IN THE SUBTEST) TO LOOP ON ERROR^
29559
29560 ;**********
29561
29562 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 11-5
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INDEX REGISTER ADDRESSING SEQ 0641
29563 002000 SN=2000
29564 777777 777777 ZZ=-1
29565 777777 777760 XX=-20
29566
29567 ;THIS TEST VERIFIES THAT INDEX REGISTER ADDRESSING FUNCTIONS CORRECTLY.
29568 ;IN THIS TEST, THE INDEX REG IS SET-UP WITH MOVEI ZZ+1,ZZ-XX,
29569 ;WHERE ZZ+1 IS THE INDEX REG. INDEXING IS TESTED BY LOADING
29570 ;THE AC VIA MOVEI ZZ,XX(ZZ+1), WHERE XX+C(ZZ+1)=ZZ.
29571 ;IF THE RESULT IN THE AC EQUALS 0,,ZZ, THIS TEST PASSES.
29572
29573 C2000: REPEAT ^D15,
29574 <SN=SN+1
29575 ZZ=ZZ+1
29576 XX=XX+5
29577 MOVEI ZZ+1,ZZ-XX ;SETUP INDEX REGISTER
29578 MOVEI ZZ,XX(ZZ+1) ;*TEST INDEXING
29579 CAIE ZZ,ZZ ;PASS IF C(AC)=0,,ADDRESS OF AC
29580 STOP
29581
29582 ;**********
29583 >
29584 002001 SN=SN+1
29585 000000 ZZ=ZZ+1
29586 777777 777765 XX=XX+5
29587 046356 201 01 0 00 000013 MOVEI ZZ+1,ZZ-XX ;SETUP INDEX REGISTER
29588 046357 201 00 0 01 777765 MOVEI ZZ,XX(ZZ+1) ;*TEST INDEXING
29589 046360 302 00 0 00 000000 CAIE ZZ,ZZ ;PASS IF C(AC)=0,,ADDRESS OF AC
29590 STOP^
29591 046361 254 04 0 00 046362 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29592 046362 324 00 0 00 046363 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29593 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29594 ;IN THE SUBTEST) TO LOOP ON ERROR^
29595
29596 ;**********
29597
29598 002002 SN=SN+1
29599 000001 ZZ=ZZ+1
29600 777777 777772 XX=XX+5
29601 046363 201 02 0 00 000007 MOVEI ZZ+1,ZZ-XX ;SETUP INDEX REGISTER
29602 046364 201 01 0 02 777772 MOVEI ZZ,XX(ZZ+1) ;*TEST INDEXING
29603 046365 302 01 0 00 000001 CAIE ZZ,ZZ ;PASS IF C(AC)=0,,ADDRESS OF AC
29604 STOP^
29605 046366 254 04 0 00 046367 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29606 046367 324 00 0 00 046370 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29607 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29608 ;IN THE SUBTEST) TO LOOP ON ERROR^
29609
29610 ;**********
29611
29612 002003 SN=SN+1
29613 000002 ZZ=ZZ+1
29614 777777 777777 XX=XX+5
29615 046370 201 03 0 00 000003 MOVEI ZZ+1,ZZ-XX ;SETUP INDEX REGISTER
29616 046371 201 02 0 03 777777 MOVEI ZZ,XX(ZZ+1) ;*TEST INDEXING
29617 046372 302 02 0 00 000002 CAIE ZZ,ZZ ;PASS IF C(AC)=0,,ADDRESS OF AC
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 11-6
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INDEX REGISTER ADDRESSING SEQ 0642
29618 STOP^
29619 046373 254 04 0 00 046374 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29620 046374 324 00 0 00 046375 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29621 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29622 ;IN THE SUBTEST) TO LOOP ON ERROR^
29623
29624 ;**********
29625
29626 002004 SN=SN+1
29627 000003 ZZ=ZZ+1
29628 000004 XX=XX+5
29629 046375 201 04 0 00 777777 MOVEI ZZ+1,ZZ-XX ;SETUP INDEX REGISTER
29630 046376 201 03 0 04 000004 MOVEI ZZ,XX(ZZ+1) ;*TEST INDEXING
29631 046377 302 03 0 00 000003 CAIE ZZ,ZZ ;PASS IF C(AC)=0,,ADDRESS OF AC
29632 STOP^
29633 046400 254 04 0 00 046401 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29634 046401 324 00 0 00 046402 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29635 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29636 ;IN THE SUBTEST) TO LOOP ON ERROR^
29637
29638 ;**********
29639
29640 002005 SN=SN+1
29641 000004 ZZ=ZZ+1
29642 000011 XX=XX+5
29643 046402 201 05 0 00 777773 MOVEI ZZ+1,ZZ-XX ;SETUP INDEX REGISTER
29644 046403 201 04 0 05 000011 MOVEI ZZ,XX(ZZ+1) ;*TEST INDEXING
29645 046404 302 04 0 00 000004 CAIE ZZ,ZZ ;PASS IF C(AC)=0,,ADDRESS OF AC
29646 STOP^
29647 046405 254 04 0 00 046406 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29648 046406 324 00 0 00 046407 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29649 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29650 ;IN THE SUBTEST) TO LOOP ON ERROR^
29651
29652 ;**********
29653
29654 002006 SN=SN+1
29655 000005 ZZ=ZZ+1
29656 000016 XX=XX+5
29657 046407 201 06 0 00 777767 MOVEI ZZ+1,ZZ-XX ;SETUP INDEX REGISTER
29658 046410 201 05 0 06 000016 MOVEI ZZ,XX(ZZ+1) ;*TEST INDEXING
29659 046411 302 05 0 00 000005 CAIE ZZ,ZZ ;PASS IF C(AC)=0,,ADDRESS OF AC
29660 STOP^
29661 046412 254 04 0 00 046413 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29662 046413 324 00 0 00 046414 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29663 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29664 ;IN THE SUBTEST) TO LOOP ON ERROR^
29665
29666 ;**********
29667
29668 002007 SN=SN+1
29669 000006 ZZ=ZZ+1
29670 000023 XX=XX+5
29671 046414 201 07 0 00 777763 MOVEI ZZ+1,ZZ-XX ;SETUP INDEX REGISTER
29672 046415 201 06 0 07 000023 MOVEI ZZ,XX(ZZ+1) ;*TEST INDEXING
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 11-7
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INDEX REGISTER ADDRESSING SEQ 0643
29673 046416 302 06 0 00 000006 CAIE ZZ,ZZ ;PASS IF C(AC)=0,,ADDRESS OF AC
29674 STOP^
29675 046417 254 04 0 00 046420 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29676 046420 324 00 0 00 046421 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29677 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29678 ;IN THE SUBTEST) TO LOOP ON ERROR^
29679
29680 ;**********
29681
29682 002010 SN=SN+1
29683 000007 ZZ=ZZ+1
29684 000030 XX=XX+5
29685 046421 201 10 0 00 777757 MOVEI ZZ+1,ZZ-XX ;SETUP INDEX REGISTER
29686 046422 201 07 0 10 000030 MOVEI ZZ,XX(ZZ+1) ;*TEST INDEXING
29687 046423 302 07 0 00 000007 CAIE ZZ,ZZ ;PASS IF C(AC)=0,,ADDRESS OF AC
29688 STOP^
29689 046424 254 04 0 00 046425 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29690 046425 324 00 0 00 046426 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29691 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29692 ;IN THE SUBTEST) TO LOOP ON ERROR^
29693
29694 ;**********
29695
29696 002011 SN=SN+1
29697 000010 ZZ=ZZ+1
29698 000035 XX=XX+5
29699 046426 201 11 0 00 777753 MOVEI ZZ+1,ZZ-XX ;SETUP INDEX REGISTER
29700 046427 201 10 0 11 000035 MOVEI ZZ,XX(ZZ+1) ;*TEST INDEXING
29701 046430 302 10 0 00 000010 CAIE ZZ,ZZ ;PASS IF C(AC)=0,,ADDRESS OF AC
29702 STOP^
29703 046431 254 04 0 00 046432 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29704 046432 324 00 0 00 046433 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29705 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29706 ;IN THE SUBTEST) TO LOOP ON ERROR^
29707
29708 ;**********
29709
29710 002012 SN=SN+1
29711 000011 ZZ=ZZ+1
29712 000042 XX=XX+5
29713 046433 201 12 0 00 777747 MOVEI ZZ+1,ZZ-XX ;SETUP INDEX REGISTER
29714 046434 201 11 0 12 000042 MOVEI ZZ,XX(ZZ+1) ;*TEST INDEXING
29715 046435 302 11 0 00 000011 CAIE ZZ,ZZ ;PASS IF C(AC)=0,,ADDRESS OF AC
29716 STOP^
29717 046436 254 04 0 00 046437 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29718 046437 324 00 0 00 046440 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29719 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29720 ;IN THE SUBTEST) TO LOOP ON ERROR^
29721
29722 ;**********
29723
29724 002013 SN=SN+1
29725 000012 ZZ=ZZ+1
29726 000047 XX=XX+5
29727 046440 201 13 0 00 777743 MOVEI ZZ+1,ZZ-XX ;SETUP INDEX REGISTER
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 11-8
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INDEX REGISTER ADDRESSING SEQ 0644
29728 046441 201 12 0 13 000047 MOVEI ZZ,XX(ZZ+1) ;*TEST INDEXING
29729 046442 302 12 0 00 000012 CAIE ZZ,ZZ ;PASS IF C(AC)=0,,ADDRESS OF AC
29730 STOP^
29731 046443 254 04 0 00 046444 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29732 046444 324 00 0 00 046445 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29733 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29734 ;IN THE SUBTEST) TO LOOP ON ERROR^
29735
29736 ;**********
29737
29738 002014 SN=SN+1
29739 000013 ZZ=ZZ+1
29740 000054 XX=XX+5
29741 046445 201 14 0 00 777737 MOVEI ZZ+1,ZZ-XX ;SETUP INDEX REGISTER
29742 046446 201 13 0 14 000054 MOVEI ZZ,XX(ZZ+1) ;*TEST INDEXING
29743 046447 302 13 0 00 000013 CAIE ZZ,ZZ ;PASS IF C(AC)=0,,ADDRESS OF AC
29744 STOP^
29745 046450 254 04 0 00 046451 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29746 046451 324 00 0 00 046452 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29747 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29748 ;IN THE SUBTEST) TO LOOP ON ERROR^
29749
29750 ;**********
29751
29752 002015 SN=SN+1
29753 000014 ZZ=ZZ+1
29754 000061 XX=XX+5
29755 046452 201 15 0 00 777733 MOVEI ZZ+1,ZZ-XX ;SETUP INDEX REGISTER
29756 046453 201 14 0 15 000061 MOVEI ZZ,XX(ZZ+1) ;*TEST INDEXING
29757 046454 302 14 0 00 000014 CAIE ZZ,ZZ ;PASS IF C(AC)=0,,ADDRESS OF AC
29758 STOP^
29759 046455 254 04 0 00 046456 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29760 046456 324 00 0 00 046457 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29761 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29762 ;IN THE SUBTEST) TO LOOP ON ERROR^
29763
29764 ;**********
29765
29766 002016 SN=SN+1
29767 000015 ZZ=ZZ+1
29768 000066 XX=XX+5
29769 046457 201 16 0 00 777727 MOVEI ZZ+1,ZZ-XX ;SETUP INDEX REGISTER
29770 046460 201 15 0 16 000066 MOVEI ZZ,XX(ZZ+1) ;*TEST INDEXING
29771 046461 302 15 0 00 000015 CAIE ZZ,ZZ ;PASS IF C(AC)=0,,ADDRESS OF AC
29772 STOP^
29773 046462 254 04 0 00 046463 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29774 046463 324 00 0 00 046464 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29775 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29776 ;IN THE SUBTEST) TO LOOP ON ERROR^
29777
29778 ;**********
29779
29780 002017 SN=SN+1
29781 000016 ZZ=ZZ+1
29782 000073 XX=XX+5
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 11-9
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INDEX REGISTER ADDRESSING SEQ 0645
29783 046464 201 17 0 00 777723 MOVEI ZZ+1,ZZ-XX ;SETUP INDEX REGISTER
29784 046465 201 16 0 17 000073 MOVEI ZZ,XX(ZZ+1) ;*TEST INDEXING
29785 046466 302 16 0 00 000016 CAIE ZZ,ZZ ;PASS IF C(AC)=0,,ADDRESS OF AC
29786 STOP^
29787 046467 254 04 0 00 046470 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29788 046470 324 00 0 00 046471 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29789 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29790 ;IN THE SUBTEST) TO LOOP ON ERROR^
29791
29792 ;**********
29793
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 12
DFKAA4 MAC 25-AUG-75 13:58 TEST OF EXCH INSTRUCTION SEQ 0646
29794 SUBTTL TEST OF EXCH INSTRUCTION
29795
29796 ;**********
29797
29798 ;THIS TEST VERIFIES THAT EXCH MOVES C(E) INTO AC AND
29799 ;MOVES C(AC) INTO E.
29800 ;IN THIS CASE, AC=E=0 AND C(AC)=C(E). HENCE, THE FINAL RESULT
29801 ;IN AC0 SHOULD BE 0. IF C(AC)=0, THE TEST PASSES.
29802
29803 046471 400 00 0 00 000000 C2100: SETZ ;PRELOAD AC,E WITH 0
29804 046472 250 00 0 00 000000 EXCH ;*EXCH SHOULD PLACE 0 INTO AC0
29805 046473 332 00 0 00 000000 SKIPE ;PASS IF C(AC0)=0
29806 STOP^
29807 046474 254 04 0 00 046475 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29808 046475 324 00 0 00 046476 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29809 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29810 ;IN THE SUBTEST) TO LOOP ON ERROR^
29811
29812 ;**********
29813
29814 ;THIS TEST VERIFIES THAT EXCH MOVES C(E) INTO AC AND
29815 ;MOVES C(AC) INTO E.
29816 ;IN THIS CASE, AC=E=-1,,-1 AND C(AC)=C(E). HENCE, THE FINAL RESULT
29817 ;IN AC0 SHOULD BE -1,,-1. IF C(AC)=-1,,-1, THE TEST PASSES.
29818
29819 046476 474 00 0 00 000000 C2200: SETO ;PRELOAD AC,E WITH -1,,-1
29820 046477 250 00 0 00 000000 EXCH ;*EXCH SHOULD PLACE -1,,-1 INTO AC0
29821 046500 312 00 0 00 070254 CAME [-1] ;PASS IF C(AC0)=-1,,-1
29822 STOP^
29823 046501 254 04 0 00 046502 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29824 046502 324 00 0 00 046503 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29825 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29826 ;IN THE SUBTEST) TO LOOP ON ERROR^
29827
29828 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 13
DFKAA4 MAC 25-AUG-75 13:58 TEST OF EXCH INSTRUCTION SEQ 0647
29829 ;THIS TEST VERIFIES THAT EXCH MOVES C(E) INTO AC AND
29830 ;MOVES C(AC) INTO E.
29831 ;IN THIS CASE, C(AC)=-1,,0 AND C(E)=0,,-1. HENCE, THE FINAL RESULT
29832 ;IN THE AC SHOULD BE 0,,-1 AND THE RESULT IN E SHOULD BE -1,,0,
29833 ;IF THESE RESULTS OCCUR, THE TEST PASSES.
29834
29835 046503 205 00 0 00 777777 C2400: MOVSI -1 ;PRELOAD AC WITH -1,,0
29836 046504 201 01 0 00 777777 MOVEI 1,-1 ;PRELOAD E WITH 0,,-1
29837 046505 250 00 0 00 000001 EXCH 1 ;*EXCH SHOULD PLACE 0,,-1 INTO THE AC AND -1,,0 INTO E
29838 046506 312 01 0 00 070331 CAME 1,[-1,,0] ;PASS IF C(E)=-1,,0
29839 STOP^
29840 046507 254 04 0 00 046510 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29841 046510 324 00 0 00 046511 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29842 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29843 ;IN THE SUBTEST) TO LOOP ON ERROR^
29844 046511 312 00 0 00 070330 C2410: CAME 0,[0,,-1] ;PASS IF C(AC)=0,,-1
29845 STOP^
29846 046512 254 04 0 00 046513 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29847 046513 324 00 0 00 046514 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29848 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29849 ;IN THE SUBTEST) TO LOOP ON ERROR^
29850
29851 ;**********
29852
29853 ;THIS TEST VERIFIES THAT EXCH MOVES C(E) INTO AC AND
29854 ;MOVES C(AC) INTO E.
29855 ;IN THIS CASE, C(AC)=0,,-1 AND C(E)=-1,,0. HENCE, THE FINAL RESULT
29856 ;IN THE AC SHOULD BE -1,,0 AND THE RESULT IN E SHOULD BE 0,,-1.
29857 ;IF THESE RESULTS OCCUR, THE TEST PASSES.
29858
29859 046514 201 00 0 00 777777 C2700: MOVEI -1 ;PRELOAD AC WITH 0,,-1
29860 046515 205 01 0 00 777777 MOVSI 1,-1 ;PRELOAD E WITH -1,,0
29861 046516 250 00 0 00 000001 EXCH 1 ;*EXCH SHOULD PLACE -1,,0 INTO THE AC AND 0,,-1 INTO E
29862 046517 302 01 0 00 777777 CAIE 1,-1 ;PASS IF C(E)=0,,-1
29863 STOP^
29864 046520 254 04 0 00 046521 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29865 046521 324 00 0 00 046522 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29866 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29867 ;IN THE SUBTEST) TO LOOP ON ERROR^
29868 046522 312 00 0 00 070331 C2710: CAME ,[XWD -1,0] ;PASS IF C(AC)=-1,,0
29869 STOP^
29870 046523 254 04 0 00 046524 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29871 046524 324 00 0 00 046525 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29872 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29873 ;IN THE SUBTEST) TO LOOP ON ERROR^
29874
29875 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 14
DFKAA4 MAC 25-AUG-75 13:58 TEST OF EXCH INSTRUCTION SEQ 0648
29876 ;THIS TEST IS A RELIABILITY CHECK OF EXCH.
29877 ;FIRST, AC, E ARE PRELOADED WITH 252525,,252525. THERE, EXCH IS
29878 ;EXECUTED 7 TIMES. THE AC IS THEN CHECKED FOR 252525,,252525.
29879 ;IF C(AC)=C(E)=252525,,252525, THIS TEST PASSES.
29880 ;IN THIS TEST AC=E=AC0
29881
29882 046525 200 00 0 00 070614 C3000: MOVE [252525252525] ;PRELOAD AC,E WITH 252525,,252525
29883 REPEAT 7,
29884 < EXCH ;*EXCH SHOULD PLACE 252525,,252525 INTO AC0>
29885 046526 250 00 0 00 000000 EXCH ;*EXCH SHOULD PLACE 252525,,252525 INTO AC0
29886 046527 250 00 0 00 000000 EXCH ;*EXCH SHOULD PLACE 252525,,252525 INTO AC0
29887 046530 250 00 0 00 000000 EXCH ;*EXCH SHOULD PLACE 252525,,252525 INTO AC0
29888 046531 250 00 0 00 000000 EXCH ;*EXCH SHOULD PLACE 252525,,252525 INTO AC0
29889 046532 250 00 0 00 000000 EXCH ;*EXCH SHOULD PLACE 252525,,252525 INTO AC0
29890 046533 250 00 0 00 000000 EXCH ;*EXCH SHOULD PLACE 252525,,252525 INTO AC0
29891 046534 250 00 0 00 000000 EXCH ;*EXCH SHOULD PLACE 252525,,252525 INTO AC0
29892 046535 312 00 0 00 070614 CAME [252525252525] ;PASS IF C(AC0)=252525,,252525
29893 STOP^
29894 046536 254 04 0 00 046537 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29895 046537 324 00 0 00 046540 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29896 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29897 ;IN THE SUBTEST) TO LOOP ON ERROR^
29898
29899 ;**********
29900 PAGE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 14-1
DFKAA4 MAC 25-AUG-75 13:58 TEST OF EXCH INSTRUCTION SEQ 0649
29901 ;THIS TEST VERIFIES THAT EXCH MOVES C(AC) INTO E AND C(E) INTO THE AC.
29902 ;IN THIS CASE, C(AC)=0 AND C(E)=-1,,-1. EXCH IS EXECUTED 7 TIMES; THEN,
29903 ;THE AC IS CHECKED FOR -1,,-1 AND E IS CHECKED FOR 0. IF EITHER OF THESE
29904 ;RESULTS ARE NOT FOUND, THIS TEST FAILS.
29905
29906 046540 400 00 0 00 000000 C3100: SETZ ;PRELOAD AC WITH 0
29907 046541 474 01 0 00 000000 SETO 1,0 ;PRELOAD E WITH -1,,-1
29908 REPEAT 7,
29909 < EXCH 1 ;*EXCH SHOULD EXCHANGE C(AC) AND C(E)>
29910 046542 250 00 0 00 000001 EXCH 1 ;*EXCH SHOULD EXCHANGE C(AC) AND C(E)
29911 046543 250 00 0 00 000001 EXCH 1 ;*EXCH SHOULD EXCHANGE C(AC) AND C(E)
29912 046544 250 00 0 00 000001 EXCH 1 ;*EXCH SHOULD EXCHANGE C(AC) AND C(E)
29913 046545 250 00 0 00 000001 EXCH 1 ;*EXCH SHOULD EXCHANGE C(AC) AND C(E)
29914 046546 250 00 0 00 000001 EXCH 1 ;*EXCH SHOULD EXCHANGE C(AC) AND C(E)
29915 046547 250 00 0 00 000001 EXCH 1 ;*EXCH SHOULD EXCHANGE C(AC) AND C(E)
29916 046550 250 00 0 00 000001 EXCH 1 ;*EXCH SHOULD EXCHANGE C(AC) AND C(E)
29917 046551 312 00 0 00 070254 CAME [-1] ;PASS IF C(AC)=-1,,-1
29918 STOP^
29919 046552 254 04 0 00 046553 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29920 046553 324 00 0 00 046554 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29921 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29922 ;IN THE SUBTEST) TO LOOP ON ERROR^
29923 046554 312 01 0 00 070253 C3110: CAME 1,[0] ;PASS IF C(E)=0
29924 STOP^
29925 046555 254 04 0 00 046556 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29926 046556 324 00 0 00 046557 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29927 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29928 ;IN THE SUBTEST) TO LOOP ON ERROR^
29929
29930 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 15
DFKAA4 MAC 25-AUG-75 13:58 TEST OF MOVEM INSTRUCTION SEQ 0650
29931 SUBTTL TEST OF MOVEM INSTRUCTION
29932
29933 ;THIS TEST VERIFIES THAT MOVEM PLACES C(AC) INTO E AND DOES NOT MODIFY C(AC)
29934 ;IN THIS CASE, C(AC)=-1,,-1 AND C(E)=0. HENCE, THE RESULT IN AC AND E SHOULD
29935 ;BE -1,,-1. IF C(AC) AND C(E)=-1,,-1, THIS TEST PASSES
29936
29937 046557 474 00 0 00 000000 C3200: SETO ;PRELOAD AC WITH -1,,-1
29938 046560 400 01 0 00 000000 SETZ 1,0 ;PRELOAD E WITH 0
29939 046561 202 00 0 00 000001 MOVEM 1 ;*MOVEM SHOULD PLACE -1,,-1 INTO E
29940 046562 312 01 0 00 070254 CAME 1,[-1] ;PASS IF C(E)=-1,,-1
29941 STOP^
29942 046563 254 04 0 00 046564 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29943 046564 324 00 0 00 046565 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29944 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29945 ;IN THE SUBTEST) TO LOOP ON ERROR^
29946 046565 312 00 0 00 070254 C3210: CAME 0,[-1] ;PASS IF C(AC)=-1,,-1
29947 STOP^
29948 046566 254 04 0 00 046567 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29949 046567 324 00 0 00 046570 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29950 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29951 ;IN THE SUBTEST) TO LOOP ON ERROR^
29952
29953 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 16
DFKAA4 MAC 25-AUG-75 13:58 TEST OF JFCL INSTRUCTION AND ARITHMETIC FLAGS SEQ 0651
29954 SUBTTL TEST OF JFCL INSTRUCTION AND ARITHMETIC FLAGS
29955
29956 ;**********
29957
29958 ;THIS TEST VERIFIES THAT JFCL 17,.+1 ALWAYS RETURNS TO THE NEXT SEQUENTIAL INSTRUCTION
29959 ;IF JFCL SKIPS THE NEXT INSTRUCTION, THIS TEST FAILS
29960
29961 046570 200 00 0 00 070615 C3300: MOVE [HALT .+3] ;THIS INSTRUCTION SHOULD NOT AFFECT THE TEST
29962 046571 255 17 0 00 046572 JFCL 17,.+1 ;*JFCL SHOULD RETURN TO NEXT SEQUENTIAL INSTRUCTION
29963 046572 304 00 0 00 000000 CAIA ;SKIP HALT INSTRUCTION IF JFCL PASSES
29964 STOP^
29965 046573 254 04 0 00 046574 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29966 046574 324 00 0 00 046575 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29967 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29968 ;IN THE SUBTEST) TO LOOP ON ERROR^
29969
29970 ;**********
29971
29972 ;THIS TEST VERIFIES THAT JFCL 17,.+1 ALWAYS CLEARS THE CRY0 FLAG.
29973 ;ADDI IS USED TO SET CRY0. THEN, JFCL 17,.+1 IS EXECUTED TO CLEAR CRY0.
29974 ;JFCL 4,.+2 IS EXECUTED TO DETERMINE WHETHER CRY0 WAS RESET BY THE PREVIOUS JFCL.
29975 ;THIS TEST FAILS IF JFCL 17,.+1 DID NOT CLEAR CRY0
29976
29977 046575 200 00 0 00 070254 C3400: MOVE [-1] ;PRELOAD AC WITH -1,,-1
29978 046576 271 00 0 00 000001 ADDI 1 ;SET CRY0 FLAG
29979 046577 255 17 0 00 046600 JFCL 17,.+1 ;*CLEAR ARITHMETIC FLAGS
29980 046600 255 04 0 00 046602 JFCL 4,.+2 ;PASS IF CRY0 WAS RESET BY PREVIOUS INSTRUCTION
29981 046601 334 00 0 00 000000 SKIPA ;SKIP HALT IF CRY0 WAS CLEARED
29982 STOP^
29983 046602 254 04 0 00 046603 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
29984 046603 324 00 0 00 046604 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
29985 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
29986 ;IN THE SUBTEST) TO LOOP ON ERROR^
29987
29988 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 17
DFKAA4 MAC 25-AUG-75 13:58 TEST OF JFCL INSTRUCTION AND ARITHMETIC FLAGS SEQ 0652
29989 ;THIS TEST VERIFIES THAT JFCL 17,.+1 ALWAYS CLEARS THE CRY1 FLAG.
29990 ;ADDI IS USED TO SET CRY1. THEN, JFCL 17,.+1 IS EXECUTED TO CLEAR CRY1.
29991 ;JFCL 4,.+2 IS EXECUTED TO DETERMINE WHETHER CRY1 WAS RESET BY THE PREVIOUS JFCL.
29992 ;THIS TEST FAILS IF JFCL 17,.+1 DID NOT CLEAR CRY1
29993
29994 046604 200 00 0 00 070254 C3500: MOVE [-1] ;PRELOAD AC WITH -1,,-1
29995 046605 271 00 0 00 000001 ADDI 1 ;SET CRY1 FLAG
29996 046606 255 17 0 00 046607 JFCL 17,.+1 ;*CLEAR ARITHMETIC FLAGS
29997 046607 255 02 0 00 046611 JFCL 2,.+2 ;PASS IF CRY1 WAS RESET BY PREVIOUS INSTRUCTION
29998 046610 334 00 0 00 000000 SKIPA ;SKIP HALT IF CRY1 WAS CLEARED
29999 STOP^
30000 046611 254 04 0 00 046612 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30001 046612 324 00 0 00 046613 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30002 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30003 ;IN THE SUBTEST) TO LOOP ON ERROR^
30004
30005 ;**********
30006
30007 ;THIS TEST VERIFIES THAT JFCL 17,.+1 ALWAYS CLEARS THE AROV FLAG.
30008 ;ADDI IS USED TO SET AROV. THEN, JFCL 17,.+1 IS EXECUTED TO CLEAR AROV.
30009 ;JFCL 4,.+2 IS EXECUTED TO DETERMINE WHETHER AROV WAS RESET BY THE PREVIOUS JFCL.
30010 ;THIS TEST FAILS IF JFCL 17,.+1 DID NOT CLEAR AROV
30011
30012 046613 205 00 0 00 400000 C3600: MOVSI 400000 ;PRELOAD AC WITH -1,,-1
30013 046614 270 00 0 00 070256 ADD [XWD 400000,0] ;SET AROV FLAG
30014 046615 255 17 0 00 046616 JFCL 17,.+1 ;*CLEAR ARITHMETIC FLAGS
30015 046616 255 10 0 00 046620 JFCL 10,.+2 ;PASS IF AROV WAS RESET BY PREVIOUS INSTRUCTION
30016 046617 334 00 0 00 000000 SKIPA ;SKIP HALT IF AROV WAS CLEARED
30017 STOP^
30018 046620 254 04 0 00 046621 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30019 046621 324 00 0 00 046622 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30020 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30021 ;IN THE SUBTEST) TO LOOP ON ERROR^
30022
30023 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 18
DFKAA4 MAC 25-AUG-75 13:58 TEST OF JFCL INSTRUCTION AND ARITHMETIC FLAGS SEQ 0653
30024 ;THIS TEST VERIFIES THAT JFCL 0, IS A NO-OP.
30025 ;IN THIS TEST, ADD IS USED TO SET CRY0. THEN JFCL 0,.+2 IS EXECUTED.
30026 ;IF JFCL 0,.+2 DOES NOT SKIP THE NEXT INSTRUCTION, THIS TEST PASSES
30027
30028 046622 205 00 0 00 400000 C3700: MOVSI 400000 ;PRELOAD AC WITH MOST NEGATIVE NUMBER
30029 046623 270 00 0 00 070254 ADD [-1] ;SET CRY0 FLAG
30030 046624 255 00 0 00 046626 JFCL .+2 ;*JFCL SHOULD RETURN TO NEXT SEQUENTIAL INSTRUCTION
30031 046625 334 00 0 00 000000 SKIPA ;PASS IF JFCL DID NOT SKIP
30032 STOP^
30033 046626 254 04 0 00 046627 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30034 046627 324 00 0 00 046630 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30035 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30036 ;IN THE SUBTEST) TO LOOP ON ERROR^
30037
30038 ;**********
30039
30040 ;THIS TEST VERIFIES THAT JFCL 0, IS A NO-OP.
30041 ;IN THIS TEST, ADD IS USED TO SET CRY1. THEN JFCL 0,.+2 IS EXECUTED.
30042 ;IF JFCL 0,.+2 DOES NOT SKIP THE NEXT INSTRUCTION, THIS TEST PASSES
30043
30044 046630 205 00 0 00 200000 C4000: MOVSI 200000 ;PRELOAD AC WITH MOST NEGATIVE NUMBER
30045 046631 270 00 0 00 070326 ADD [XWD 200000,0] ;SET CRY1 FLAG
30046 046632 255 00 0 00 046634 JFCL .+2 ;*JFCL SHOULD RETURN TO NEXT SEQUENTIAL INSTRUCTION
30047 046633 334 00 0 00 000000 SKIPA ;PASS IF JFCL DID NOT SKIP
30048 STOP^
30049 046634 254 04 0 00 046635 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30050 046635 324 00 0 00 046636 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30051 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30052 ;IN THE SUBTEST) TO LOOP ON ERROR^
30053
30054 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 19
DFKAA4 MAC 25-AUG-75 13:58 TEST OF JFCL INSTRUCTION AND ARITHMETIC FLAGS SEQ 0654
30055 ;THIS TEST VERIFIES THAT ADDI HAS THE ABILITY TO SET AN ARITHMETIC FLAG AND
30056 ;THAT 'JFCL 17,.+2' JUMPS WHENEVER ANY ARITHMETIC FLAG IS SET.
30057 ;IN THIS TEST, ADDI SHOULD SET CRY0 AND CRY1. THEN, JFCL SHOULD SKIP
30058 ;BECAUSE A FLAG WAS SET BY ADDI
30059 ;IF THIS TEST FAILS, ADDI COULD HAVE FAILED TO SET A FLAG OR
30060 ;JFCL COULD HAVE FAILED TO JUMP WHEN A FLAG WAS SET
30061
30062 046636 200 00 0 00 070254 C4100: MOVE [-1] ;PRELOAD AC WITH ALL ONES
30063 046637 271 00 0 00 000001 ADDI 1 ;*ADDI SHOULD SET CRY0/1 FLAGS
30064 046640 255 17 0 00 046642 JFCL 17,.+2 ;*JFCL SHOULD JUMP BECAUSE FLAGS ARE SET
30065 STOP^
30066 046641 254 04 0 00 046642 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30067 046642 324 00 0 00 046643 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30068 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30069 ;IN THE SUBTEST) TO LOOP ON ERROR^
30070
30071 ;**********
30072
30073 ;THIS TEST VERIFIES THAT CAI DOES NOT CLEAR ANY ARITHMETIC FLAGS.
30074 ;FIRST, CRY0 AND CRY1 ARE SET BY ADDI; THEN CAI IS EXECUTED.
30075 ;JFCL SHOULD JUMP BECAUSE FLAGS ARE SET. IF JFCL DOES NOT JUMP,
30076 ;THE FLAGS WERE CLEARED BY CAI. HENCE, CAI FAILED
30077
30078 046643 200 00 0 00 070254 C4200: MOVE [-1] ;PRELOAD AC WITH -1,,-1
30079 046644 271 00 0 00 000001 ADDI 1 ;SET CYR0/1 FLAGS
30080 046645 300 17 0 00 000017 CAI 17,17 ;*CAI SHOULD NOT CLEAR FLAGS
30081 046646 255 17 0 00 046650 JFCL 17,.+2 ;PASS IF CAI CLEARED FLAGS
30082 STOP^
30083 046647 254 04 0 00 046650 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30084 046650 324 00 0 00 046651 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30085 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30086 ;IN THE SUBTEST) TO LOOP ON ERROR^
30087
30088 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 20
DFKAA4 MAC 25-AUG-75 13:58 TEST OF JFCL INSTRUCTION AND ARITHMETIC FLAGS SEQ 0655
30089 ;THIS TEST VERIFIES THAT ADDI HAS THE ABILITY TO SET AN ARITHMETIC FLAG AND
30090 ;THAT 'JFCL 17,.+2' JUMPS WHENEVER ANY ARITHMETIC FLAG IS SET.
30091 ;IN THIS TEST, ADDI SHOULD SET CRY0 AND CRY1. THEN JFCL SHOULD SKIP
30092 ;BECAUSE A FLAG WAS SET BY ADDI
30093 ;IF THIS TEST FAILS, ADDI COULD HAVE FAILED TO SET A FLAG OR
30094 ;JFCL COULD HAVE FAILED TO JUMP WHEN A FLAG WAS SET
30095
30096 046651 200 00 0 00 070254 C4300: MOVE [-1] ;PRELOAD AC WITH ALL ONES
30097 046652 271 00 0 00 000001 ADDI 1 ;*ADDI SHOULD SET CRY1 FLAGS
30098 046653 255 02 0 00 046655 JFCL 2,.+2 ;*JFCL SHOULD JUMP BECAUSE CRY1 FLAG IS SET
30099 STOP^
30100 046654 254 04 0 00 046655 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30101 046655 324 00 0 00 046656 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30102 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30103 ;IN THE SUBTEST) TO LOOP ON ERROR^
30104
30105 ;**********
30106
30107 ;THIS TEST VERIFIES THAT ADDI HAS THE ABILITY TO SET AN ARITHMETIC FLAG AND
30108 ;THAT 'JFCL 17,.+2' JUMPS WHENEVER ANY ARITHMETIC FLAG IS SET.
30109 ;IN THIS TEST, ADDI SHOULD SET CRY0 AND CRY1. THEN, JFCL SHOULD SKIP
30110 ;BECAUSE A FLAG WAS SET BY ADDI
30111 ;IF THIS TEST FAILS, ADDI COULD HAVE FAILED TO SET A FLAG OR
30112 ;JFCL COULD HAVE FAILED TO JUMP WHEN A FLAG WAS SET
30113
30114 046656 200 00 0 00 070254 C4400: MOVE [-1] ;PRELOAD AC WITH ALL ONES
30115 046657 271 00 0 00 000001 ADDI 1 ;*ADDI SHOULD SET CRY0 FLAG
30116 046660 255 04 0 00 046662 JFCL 4,.+2 ;*JFCL SHOULD JUMP BECAUSE CRY0 FLAG IS SET
30117 STOP^
30118 046661 254 04 0 00 046662 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30119 046662 324 00 0 00 046663 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30120 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30121 ;IN THE SUBTEST) TO LOOP ON ERROR^
30122
30123 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 21
DFKAA4 MAC 25-AUG-75 13:58 TEST OF JFCL INSTRUCTION AND ARITHMETIC FLAGS SEQ 0656
30124 ;THIS TEST VERIFIES THAT ADDI HAS THE ABILITY TO SET AN ARITHMETIC FLAG AND
30125 ;THAT 'JFCL 17,.+2' JUMPS WHENEVER ANY ARITHMETIC FLAG IS SET.
30126 ;BECAUSE A FLAG WAS SET BY ADD
30127 ;IF THIS TEST FAILS, ADDI COULD HAVE FAILED TO SET A FLAG OR
30128 ;JFCL COULD HAVE FAILED TO JUMP WHEN A FLAG WAS SET
30129
30130 046663 205 00 0 00 400000 C4500: MOVSI 400000 ;PRELOAD AC WITH ALL ONES
30131 046664 270 00 0 00 070256 ADD [XWD 400000,0] ;*ADD SHOULD SET AROV FLAG
30132 046665 255 10 0 00 046667 JFCL 10,.+2 ;*JFCL SHOULD JUMP BECAUSE AROV FLAG IS SET
30133 STOP^
30134 046666 254 04 0 00 046667 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30135 046667 324 00 0 00 046670 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30136 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30137 ;IN THE SUBTEST) TO LOOP ON ERROR^
30138
30139 ;**********
30140
30141 ;THIS TEST VERIFIES THAT JFCL 17,.+1 ALWAYS CLEARS THE FLOATING OVERFLOW FLAG (FOV).
30142 ;FIRST JFCL 17,.+1 IS EXECUTED TO CLEAR FOV. THEN, JFCL 1,.+2 IS EXECUTED TO DETERMINE
30143 ;WHETHER FOV WAS CLEARED. IF FOV WAS CLEAR, THIS TEST PASSES
30144
30145 046670 255 17 0 00 046671 C4600: JFCL 17,.+1 ;*CLEAR ARITHMETIC FLAGS
30146 046671 255 01 0 00 046673 JFCL 1,.+2 ;PASS IF FOV WAS CLEARED
30147 046672 334 00 0 00 000000 SKIPA ;SKIP HALT IF TEST PASSED
30148 STOP^
30149 046673 254 04 0 00 046674 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30150 046674 324 00 0 00 046675 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30151 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30152 ;IN THE SUBTEST) TO LOOP ON ERROR^
30153
30154 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 22
DFKAA4 MAC 25-AUG-75 13:58 TEST OF JFCL INSTRUCTION AND ARITHMETIC FLAGS SEQ 0657
30155 ;THIS TEST VERIFIES THAT JFCL 13, DOES NOT RESET CRY0.
30156 ;FIRST CRY0 AND CRY1 ARE SET BY ADDI; THEN, JFCL 13,.+2 IS EXECUTED
30157 ;TO CLEAR ALL ARITHMETIC FLAGS EXCEPT CRY0.
30158 ;THIS TEST PASSES IF JFCL 13,.+1 DID NOT RESET CRY0.
30159
30160 046675 200 00 0 00 070254 C4700: MOVE [-1] ;RELOAD AC WITH -1,,-1
30161 046676 271 00 0 00 000001 ADDI 1 ;SET CRY0/1
30162 046677 255 13 0 00 046700 JFCL 13,.+1 ;*JFCL 13, SHOULD NOT RESET CRY0
30163 046700 255 04 0 00 046702 JFCL 4,.+2 ;FAIL IF CRY 0 WAS RESET
30164 STOP^
30165 046701 254 04 0 00 046702 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30166 046702 324 00 0 00 046703 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30167 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30168 ;IN THE SUBTEST) TO LOOP ON ERROR^
30169
30170 ;**********
30171
30172 ;THIS TEST VERIFIES THAT JFCL 15, DOES NOT RESET CRY1.
30173 ;FIRST CRY0 AND CRY1 ARE SET BY ADDI; THEN, JFCL15,.+2 IS EXECUTED
30174 ;TO CLEAR ALL ARITHMETIC FLAGS EXCEPT CRY1.
30175 ;THIS TEST PASSES IF JFCL 15,.+1 DID NOT RESET CRY1.
30176
30177 046703 200 00 0 00 070254 C5000: MOVE [-1] ;PRELOAD AC WITH -1,,-1
30178 046704 271 00 0 00 000001 ADDI 1 ;SET CRY0/1
30179 046705 255 15 0 00 046706 JFCL 15,.+1 ;*JFCL15, SHOULD NOT RESET CRY0
30180 046706 255 02 0 00 046710 JFCL 2,.+2 ;FAIL IF CRY1 WAS RESET
30181 STOP^
30182 046707 254 04 0 00 046710 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30183 046710 324 00 0 00 046711 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30184 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30185 ;IN THE SUBTEST) TO LOOP ON ERROR^
30186
30187 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 23
DFKAA4 MAC 25-AUG-75 13:58 TEST OF JFCL INSTRUCTION AND ARITHMETIC FLAGS SEQ 0658
30188 ;THIS TEST VERIFIES THAT JFCL 17, DOES NOT RESET AROV.
30189 ;FIRST AROV IS SET BY ADD; THEN, JFCL 17,.+2 IS EXECUTED
30190 ;TO CLEAR ALL ARITHMETIC FLAGS EXCEPT AROV.
30191 ;THIS TEST PASSES IF JFCL 17,.+1 DID NOT RESET AROV.
30192
30193 046711 205 00 0 00 400000 C5100: MOVSI 400000 ;PRELOAD AC WITH -1,,-1
30194 046712 270 00 0 00 070256 ADD [XWD 400000,0] ;SET AROV
30195 046713 255 07 0 00 046714 JFCL 7,.+1 ;*JFCL 17, SHOULD NOT RESET AROV
30196 046714 255 10 0 00 046716 JFCL 10,.+2 ;FAIL IF AROV WAS RESET
30197 STOP^
30198 046715 254 04 0 00 046716 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30199 046716 324 00 0 00 046717 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30200 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30201 ;IN THE SUBTEST) TO LOOP ON ERROR^
30202
30203 ;**********
30204
30205 ;THIS TEST VERIFIES THAT ADD OF 0 TO 0 WILL NOT SET AROV.
30206 ;FIRST, ALL FLAGS ARE RESET, THEN 0 IS ADDED TO 0 VIA ADD.
30207 ;AROV IS THEN CHECKED. IF AROV IS SET, THIS TEST FAILS.
30208
30209 046717 255 17 0 00 046720 C5200: JFCL 17,.+1 ;RESET ARITHMETIC FLAGS
30210 046720 400 00 0 00 000000 SETZ ;PRELOAD AC,E WITH 0
30211 046721 270 00 0 00 000000 ADD ;*ADD SHOULD NOT SET AROV
30212 046722 255 10 0 00 046724 JFCL 10,.+2 ;PASS IF AROV WAS RESET
30213 046723 334 00 0 00 000000 SKIPA ;SKIP HALT IF ADD PASSED
30214 STOP^
30215 046724 254 04 0 00 046725 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30216 046725 324 00 0 00 046726 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30217 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30218 ;IN THE SUBTEST) TO LOOP ON ERROR^
30219
30220 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 24
DFKAA4 MAC 25-AUG-75 13:58 TEST OF JFCL INSTRUCTION AND ARITHMETIC FLAGS SEQ 0659
30221 ;THIS TEST VERIFIES THAT ADD OF 0 TO 0 WILL NOT SET CRY0.
30222 ;FIRST, ALL FLAGS ARE RESET, THEN 0 IS ADDED TO 0 VIA ADD.
30223 ;CRY0 IS THEN CHECKED. IF CRY0 IS SET, THIS TEST FAILS.
30224
30225
30226 046726 400 00 0 00 000000 C5300: SETZ ;RESET ARITHMETIC FLAGS
30227 046727 255 17 0 00 046730 JFCL 17,.+1 ;PRELOAD AC,E WITH 0
30228 046730 270 00 0 00 000000 ADD ;*ADD SHOULD NOT SET CRY0
30229 046731 255 04 0 00 046733 JFCL 4,.+2 ;PASS IF CRY0 WAS RESET
30230 046732 334 00 0 00 000000 SKIPA ;SKIP HALT IF ADD PASSED
30231 STOP^
30232 046733 254 04 0 00 046734 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30233 046734 324 00 0 00 046735 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30234 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30235 ;IN THE SUBTEST) TO LOOP ON ERROR^
30236
30237 ;**********
30238
30239 ;THIS TEST VERIFIES THAT ADD OF 0 TO 0 WILL NOT SET CRY1.
30240 ;FIRST, ALL FLAGS ARE RESET, THEN 0 IS ADDED TO 0 VIA ADD.
30241 ;CRY1 IS THEN CHECKED. IF CRY1 IS SET, THIS TEST FAILS.
30242
30243 046735 400 00 0 00 000000 C5400: SETZ ;RESET ARITHMETIC FLAGS
30244 046736 255 17 0 00 046737 JFCL 17,.+1 ;PRELOAD AC,E WITH 0
30245 046737 270 00 0 00 000000 ADD ;*ADD SHOULD NOT SET CRY1
30246 046740 255 02 0 00 046742 JFCL 2,.+2 ;PASS IF CRY1 WAS RESET
30247 046741 334 00 0 00 000000 SKIPA ;SKIP HALT IF ADD PASSED
30248 STOP^
30249 046742 254 04 0 00 046743 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30250 046743 324 00 0 00 046744 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30251 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30252 ;IN THE SUBTEST) TO LOOP ON ERROR^
30253
30254 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 25
DFKAA4 MAC 25-AUG-75 13:58 TEST OF JFCL INSTRUCTION AND ARITHMETIC FLAGS SEQ 0660
30255 ;THIS TEST VERIFIES THAT THE 30X AND THE 31X INSTRUCTION GROUPS DO NOT AFFECT
30256 ;THE ARITHMETIC FLAGS. FIRST, THE FLAGS ARE CLEARED AND AC0 IS CLEARED; THEN, CAI
30257 ;AND CAM ARE EXECUTED. THE FLAGS ARE THEN CHECKED. IF ANY OF THE FLAGS ARE SET,
30258 ;THIS TEST FAILS AND CAI OR CAM IS CONSIDERED TO HAVE ERRONEOUSLY SET THE FLAGS
30259
30260 046744 255 17 0 00 046745 C5500: JFCL 17,.+1 ;CLEAR ALL FLAGS
30261 046745 400 00 0 00 000000 SETZ ;CLEAR AC,0
30262 046746 300 00 0 00 000000 CAI ;*CAI SHOULD NOT SET ANY ARITHMETIC FLAG
30263 046747 310 00 0 00 070254 CAM [-1] ;*CAM SHOULD NOT SET ANY ARITHMETIC FLAG
30264 046750 255 17 0 00 046752 JFCL 17,.+2 ;FAIL IF ANY FLAG WAS SET
30265 046751 334 00 0 00 000000 SKIPA ;SKIP HALT IF TEST PASSED
30266 STOP^
30267 046752 254 04 0 00 046753 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30268 046753 324 00 0 00 046754 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30269 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30270 ;IN THE SUBTEST) TO LOOP ON ERROR^
30271
30272 ;**********
30273
30274 ;THIS TEST VERIFIES THAT THE BOOLEAN INSTRUCTION GROUPS DO NOT AFFECT
30275 ;THE ARITHMETIC FLAGS. FIRST THE FLAGS ARE CLEARED AND AC0 IS CLEARED; THEN, XOR [0]
30276 ;AND XOR [-1] ARE EXECUTED. THE FLAGS ARE THEN CHECKED. IF ANY OF THE FLAGS ARE SET,
30277 ;THIS TEST FAILS AND XOR IS CONSIDERED TO HAVE ERRONEOUSLY SET THE FLAGS
30278
30279 046754 255 17 0 00 046755 C5600: JFCL 17,.+1 ;CLEAR ALL FLAGS
30280 046755 474 00 0 00 000000 SETO ;CLEAR AC,0
30281 046756 430 00 0 00 070253 XOR [0] ;*XOR SHOULD NOT SET ANY ARITHMETIC FLAG
30282 046757 430 00 0 00 070254 XOR [-1] ;*XOR SHOULD NOT SET ANY ARITHMETIC FLAG
30283 046760 255 17 0 00 046762 JFCL 17,.+2 ;FAIL IF ANY FLAG WAS SET
30284 046761 334 00 0 00 000000 SKIPA ;SKIP HALT IF TEST PASSED
30285 STOP^
30286 046762 254 04 0 00 046763 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30287 046763 324 00 0 00 046764 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30288 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30289 ;IN THE SUBTEST) TO LOOP ON ERROR^
30290
30291 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 26
DFKAA4 MAC 25-AUG-75 13:58 TEST OF JFCL INSTRUCTION AND ARITHMETIC FLAGS SEQ 0661
30292 ;THIS TEST VERIFIES THAT THE AOBJX INSTRUCTION GROUP DOES DO NOT AFFECT
30293 ;THE ARITHMETIC FLAGS. FIRST THE FLAGS ARE CLEARED AND AC0 IS CLEARED; THEN, AOBJN
30294 ;AND AOBJP ARE EXECUTED. THE FLAGS ARE THEN CHECKED. IF ANY OF THE FLAGS ARE SET,
30295 ;THIS TEST FAILS AND AOBJN OR AOBJP IS CONSIDERED TO HAVE ERRONEOUSLY SET THE FLAGS
30296
30297 046764 474 00 0 00 000000 C5700: SETO ;CLEAR ALL FLAGS
30298 046765 255 17 0 00 046766 JFCL 17,.+1 ;CLEAR AC,0
30299 046766 253 00 0 00 046767 AOBJN .+1 ;*AOBJN SHOULD NOT SET ANY ARITHMETIC ARITHMETIC
30300 046767 252 00 0 00 046770 AOBJP .+1 ;*AOBJP SHOULD NOT SET ANY ARITHMETIC FLAG
30301 046770 255 17 0 00 046772 JFCL 17,.+2 ;FAIL IF ANY FLAG WAS SET
30302 046771 334 00 0 00 000000 SKIPA ;SKIP HALT IF TST PASSED
30303 STOP^
30304 046772 254 04 0 00 046773 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30305 046773 324 00 0 00 046774 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30306 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30307 ;IN THE SUBTEST) TO LOOP ON ERROR^
30308
30309 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27
DFKAA4 MAC 25-AUG-75 13:58 TEST OF JFCL INSTRUCTION AND ARITHMETIC FLAGS SEQ 0662
30310 ;THIS TEST VERIFIES THAT SKIP DOES NOT AFFECT THE FLAGS.
30311 ;FIRST, THE ARITHMETIC FLAGS ARE CLEARED; THEN, SKIP IS EXECUTED.
30312 ;IF SKIP SETS AROV, CRYO, CRY1 OR FOV, THIS TEST FAILS.
30313
30314 046774 255 17 0 00 046775 C5701: JFCL 17,.+1 ;CLEAR ALL FLAGS
30315 046775 330 00 0 00 070254 SKIP 0,[-1] ;*SKIP SHOULD NOT SET ANY FLAGS
30316 046776 255 17 0 00 047000 JFCL 17,.+2 ;FAIL IF ANY FLAG IS SET
30317 046777 334 00 0 00 000000 SKIPA ;PASS IF NO FLAG IS SET
30318 STOP^
30319 047000 254 04 0 00 047001 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30320 047001 324 00 0 00 047002 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30321 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30322 ;IN THE SUBTEST) TO LOOP ON ERROR^
30323
30324 ;**********
30325
30326 ;THIS TEST VERIFIES THAT JUMP DOES NOT AFFECT THE FLAGS.
30327 ;FIRST, THE ARITHMETIC FLAGS ARE CLEARED; THEN, JUMP IS EXECUTED.
30328 ;IF JUMP SETS AROV, CRYO, CRY1 OR FOV, THIS TEST FAILS.
30329
30330 047002 255 17 0 00 047003 C5702: JFCL 17,.+1 ;CLEAR ALL FLAGS
30331 047003 320 00 0 00 070254 JUMP 0,[-1] ;*JUMP SHOULD NOT SET ANY FLAGS
30332 047004 255 17 0 00 047006 JFCL 17,.+2 ;FAIL IF ANY FLAG IS SET
30333 047005 334 00 0 00 000000 SKIPA ;PASS IF NO FLAG IS SET
30334 STOP^
30335 047006 254 04 0 00 047007 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30336 047007 324 00 0 00 047010 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30337 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30338 ;IN THE SUBTEST) TO LOOP ON ERROR^
30339
30340 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 28
DFKAA4 MAC 25-AUG-75 13:58 TEST OF JRST INSTRUCTION AND ARITHMETIC FLAGS SEQ 0663
30341 SUBTTL TEST OF JRST INSTRUCTION AND ARITHMETIC FLAGS
30342
30343 ;**********
30344
30345 ;THIS TEST VERIFIES THAT 'JRST, 0' DOES NOT SET ANY FLAGS.
30346 ;FIRST THE ARITHMETIC FLAGS ARE RESET; THEN, 'JRST 0,.+1' IS EXECUTED
30347 ;THE AROV,CRY0 AND CRY1 FLAGS ARE THEN CHECKED. IF ANY
30348 ;OF THESE FLAGS ARE SET, THIS TEST FAILS
30349
30350 047010 255 17 0 00 047011 C6000: JFCL 17,.+1 ;RESET ALL FLAGS
30351 047011 254 00 0 00 047012 JRST .+1 ;*JRST SHOULD NOT SET ANY FLAGS
30352 047012 255 16 0 00 047014 JFCL 16,.+2 ;PASS IF NO FLAGS ARE SET
30353 047013 334 00 0 00 000000 SKIPA ;SKIP HALT IF JRST PASSES
30354 STOP^
30355 047014 254 04 0 00 047015 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30356 047015 324 00 0 00 047016 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30357 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30358 ;IN THE SUBTEST) TO LOOP ON ERROR^
30359
30360 ;**********
30361
30362 ;THIS TEST VERIFIES THAT 'MOVE 2,2' DOES NOT SET ANY FLAGS.
30363 ;FIRST, THE ARITHMETIC FLAGS ARE RESET; THEN, 'MOVE 2,2' IS EXECUTED.
30364 ;THE FOV,AROV,CRY0 AND CRY1 FLAGS ARE THEN CHECKED. IF ANY
30365 ;OF THESE FLAGS ARE SET, THIS TEST FAILS
30366
30367 047016 255 17 0 00 047017 C6100: JFCL 17,.+1 ;RESET ALL FLAGS
30368 047017 200 02 0 00 000002 MOVE 2,2 ;*MOVE SHOULD NOT SET ANY FLAGS
30369 047020 255 17 0 00 047022 JFCL 17,.+2 ;PASS IF NO FLAGS ARE SET
30370 047021 334 00 0 00 000000 SKIPA ;SKIP HALT IF MOVE PASSED
30371 STOP^
30372 047022 254 04 0 00 047023 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30373 047023 324 00 0 00 047024 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30374 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30375 ;IN THE SUBTEST) TO LOOP ON ERROR^
30376
30377 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29
DFKAA4 MAC 25-AUG-75 13:58 TEST OF JRST INSTRUCTION AND ARITHMETIC FLAGS SEQ 0664
30378 ;THIS TEST VERIFIES THAT JRST 2,.+1(1) WILL SET THE ARITHMETIC FLAG
30379 ;SPECIFIED IN AC1. IN THIS CASE, AC1 SPECIFIES THE CRY0 FLAG.
30380 ;FIRST, ALL FLAGS ARE RESET; THEN AC1 IS SET TO SPECIFY CRY0.
30381 ;NEXT, JRST 2,.+1(1) IS EXECUTED TO SET CRY0. CRY0 IS THEN CHECKED. IF
30382 ;CRY0 IS SET, THIS TEST PASSES. OTHERWISE, JRST 2,.+1 IS FAULTY
30383
30384 047024 255 17 0 00 047025 C6200: JFCL 17,.+1 ;CLEAR ALL FLAGS
30385 SFLAG CRY0 ^;SET CRY0 FLAG
30386
30387 047025 205 01 0 00 200000 MOVSI 1,CRY0
30388 047026 255 17 0 00 047027 JFCL 17,.+1 ;RESET ALL FLAGS
30389 047027 254 02 0 01 047030 JRST 2,.+1(1) ;SET CRY0 FLAG
30390 047030 255 04 0 00 047032 JFCL 4,.+2 ;PASS IF CRY0 IS SET
30391 STOP^
30392 047031 254 04 0 00 047032 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30393 047032 324 00 0 00 047033 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30394 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30395 ;IN THE SUBTEST) TO LOOP ON ERROR^
30396
30397 ;**********
30398
30399 ;THIS TEST VERIFIES THAT JRST 2,.+(1) WILL SET THE ARITHMETIC FLAG
30400 ;SPECIFIED IN AC1. IN THIS CASE, AC1 CONTAIN 0. HENCE, JRST 2,.+1(1)
30401 ;SHOULD RESET THE ARITHMETIC FLAGS. FIRST, THE CRY0/1, FLAGS ARE SET BY ADDI;
30402 ;THEN THE FLAGS SHOULD BE CLEARED BY JRST 2,.+1. IF CRY1 WAS CLEARED, THE
30403 ;TEST PASSES. OTHERWISE, JRST 2,.+1 IS FAULTY
30404
30405 047033 200 00 0 00 070254 C6300: MOVE [-1] ;PRELOAD AC0 WITH -1,,-1
30406 047034 271 00 0 00 000001 ADDI 1 ;SET CRY0/1 FLAGS
30407 SFLAG 0 ^;RESET ALL ARITHMETIC FLAGS
30408
30409 047035 205 01 0 00 000000 MOVSI 1,0
30410 047036 255 17 0 00 047037 JFCL 17,.+1 ;RESET ALL FLAGS
30411 047037 254 02 0 01 047040 JRST 2,.+1(1) ;SET 0 FLAG
30412 047040 255 02 0 00 047042 JFCL 2,.+2 ;PASS IF CRY1 IS RESET
30413 047041 334 00 0 00 000000 SKIPA ;SKIP HALT INSTRUCTION IF TEST PASSED
30414 STOP^
30415 047042 254 04 0 00 047043 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30416 047043 324 00 0 00 047044 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30417 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30418 ;IN THE SUBTEST) TO LOOP ON ERROR^
30419
30420 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 30
DFKAA4 MAC 25-AUG-75 13:58 TEST OF JRST INSTRUCTION AND ARITHMETIC FLAGS SEQ 0665
30421
30422 ;THIS TEST VERIFIES THAT JRST 2,.+(1) WILL SET THE ARITHMETIC FLAG
30423 ;SPECIFIED IN AC1. IN THIS CASE, AC1 CONTAIN 0. HENCE, JRST 2,.+1(1)
30424 ;SHOULD RESET THE ARITHMETIC FLAGS. FIRST, THE CRY0/1, FLAGS ARE SET BY ADD
30425 ;THEN THE FLAGS SHOULD BE CLEARED BY JRST 2,.+1. IF AROV WAS CLEARED, THE
30426 ;TEST PASSES. OTHERWISE, JRST 2,.+1 IS FAULTY
30427
30428 047044 205 00 0 00 400000 C6400: MOVSI 400000 ;PRELOAD AC0 WITH -1,,-1
30429 047045 270 00 0 00 070254 ADD [-1] ;SET CRY0 AND AROV FLAGS
30430 SFLAG 0 ^;RESET ALL ARITHMETIC FLAGS
30431
30432 047046 205 01 0 00 000000 MOVSI 1,0
30433 047047 255 17 0 00 047050 JFCL 17,.+1 ;RESET ALL FLAGS
30434 047050 254 02 0 01 047051 JRST 2,.+1(1) ;SET 0 FLAG
30435 047051 255 10 0 00 047053 JFCL 10,.+2 ;PASS IF AROV IS RESET
30436 047052 334 00 0 00 000000 SKIPA ;SKIP HALT INSTRUCTION IF TEST PASSED
30437 STOP^
30438 047053 254 04 0 00 047054 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30439 047054 324 00 0 00 047055 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30440 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30441 ;IN THE SUBTEST) TO LOOP ON ERROR^
30442
30443 ;**********
30444
30445 ;THIS TEST VERIFIES THAT JRST 2,.+1(1) WILL SET THE ARITHMETIC FLAG
30446 ;SPECIFIED IN AC1. IN THIS CASE, AC1 SPECIFIES THE AROV FLAG.
30447 ;FIRST, ALL FLAGS ARE RESET; THEN AC1 SET TO SPECIFY AROV.
30448 ;NEXT, JRST 2,.+1(1) IS EXECUTED TO SET AROV. AROV IS THEN CHECKED. IF
30449 ;AROV IS SET, THIS TEST PASSES. OTHERWISE, JRST 2,.+1 IS FAULTY
30450
30451 047055 C6500: SFLAG AROV ^;SET AROV FLAG
30452
30453 047055 205 01 0 00 400000 MOVSI 1,AROV
30454 047056 255 17 0 00 047057 JFCL 17,.+1 ;RESET ALL FLAGS
30455 047057 254 02 0 01 047060 JRST 2,.+1(1) ;SET AROV FLAG
30456 047060 255 10 0 00 047062 JFCL 10,.+2 ;PASS IF AROV WAS SET
30457 STOP^
30458 047061 254 04 0 00 047062 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30459 047062 324 00 0 00 047063 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30460 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30461 ;IN THE SUBTEST) TO LOOP ON ERROR^
30462
30463 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 31
DFKAA4 MAC 25-AUG-75 13:58 TEST OF JRST INSTRUCTION AND ARITHMETIC FLAGS SEQ 0666
30464 ;THIS TEST VERIFIES THAT JRST 2,.+1(1) WILL SET THE ARITHMETIC FLAG
30465 ;SPECIFIED IN AC1. IN THIS CASE, AC1 SPECIFIES THE CRY1 FLAG.
30466 ;FIRST, ALL FLAGS ARE RESET; THEN AC1 SET TO SPECIFY CRY1.
30467 ;NEXT, JRST 2,.+1(1) IS EXECUTED TO SET CRY1. CRY1 IS THEN CHECKED. IF
30468 ;CRY1 IS SET, THIS TEST PASSES. OTHERWISE, JRST 2,.+1 IS FAULTY
30469
30470 047063 C6600: SFLAG CRY1 ^;SET CRY1 FLAG
30471
30472 047063 205 01 0 00 100000 MOVSI 1,CRY1
30473 047064 255 17 0 00 047065 JFCL 17,.+1 ;RESET ALL FLAGS
30474 047065 254 02 0 01 047066 JRST 2,.+1(1) ;SET CRY1 FLAG
30475 047066 255 02 0 00 047070 JFCL 2,.+2 ;PASS IF CRY1 WAS SET
30476 STOP^
30477 047067 254 04 0 00 047070 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30478 047070 324 00 0 00 047071 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30479 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30480 ;IN THE SUBTEST) TO LOOP ON ERROR^
30481
30482 ;**********
30483
30484 ;THIS TEST VERIFIES THAT JRST 2,.+1(1) WILL SET THE ARITHMETIC FLAG
30485 ;SPECIFIED IN AC1. IN THIS CASE, AC1 SPECIFIES THE FOV FLAG.
30486 ;FIRST, ALL FLAGS ARE RESET; THEN AC1 SET TO SPECIFY FOV.
30487 ;NEXT, JRST 2,.+1(1) IS EXECUTED TO SET FOV. FOV IS THEN CHECKED. IF
30488 ;FOV IS SET, THIS TEST PASSES. OTHERWISE, JRST 2,.+1 IS FAULTY
30489
30490 047071 C6700: SFLAG FOV ^;SET FOV FLAG
30491
30492 047071 205 01 0 00 040000 MOVSI 1,FOV
30493 047072 255 17 0 00 047073 JFCL 17,.+1 ;RESET ALL FLAGS
30494 047073 254 02 0 01 047074 JRST 2,.+1(1) ;SET FOV FLAG
30495 047074 255 01 0 00 047076 JFCL 1,.+2 ;PASS IF FOV WAS SET
30496 STOP^
30497 047075 254 04 0 00 047076 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30498 047076 324 00 0 00 047077 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30499 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30500 ;IN THE SUBTEST) TO LOOP ON ERROR^
30501
30502 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 32
DFKAA4 MAC 25-AUG-75 13:58 TEST OF JRST INSTRUCTION AND ARITHMETIC FLAGS SEQ 0667
30503 ;THIS TEST VERIFIES THAT JFCL 0, SHOULD NEVER JUMP.
30504 ;FIRST, FOV IS SET VIA JRST2, ;THEN JFCL 0,
30505 ;IS EXECUTED. IF JFCL 0, DOES NOT SKIP, THIS TEST PASSES
30506
30507 047077 C7000: SFLAG FOV ^;SET FOV FLAG
30508
30509 047077 205 01 0 00 040000 MOVSI 1,FOV
30510 047100 255 17 0 00 047101 JFCL 17,.+1 ;RESET ALL FLAGS
30511 047101 254 02 0 01 047102 JRST 2,.+1(1) ;SET FOV FLAG
30512 047102 255 00 0 00 047104 JFCL ,.+2 ;*JFCL SHOULD NOT JUMP
30513 047103 334 00 0 00 000000 SKIPA ;PASS IF JFCL DID NOT JUMP
30514 STOP^
30515 047104 254 04 0 00 047105 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30516 047105 324 00 0 00 047106 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30517 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30518 ;IN THE SUBTEST) TO LOOP ON ERROR^
30519
30520 ;**********
30521
30522 ;THIS TEST VERIFIES THAT JRST 2,.+1(1) WILL SET THE ARITHMETIC FLAG
30523 ;SPECIFIED IN AC1. IN THIS CASE, AC1 CONTAINS 0. HENCE, JRST 2,.+1(1)
30524 ;SHOULD RESET THE ARITHMETIC FLAGS. FIRST, THE CRY0, FLAG IS SET BY JRST 2,.+1(1)
30525 ;WITH C(AC1)=CRY0. THEN, THE FLAGS SHOULD BE CLEARED BY JRST 2,.+1 WITH C(AC1)=0.
30526 ;IF CRY0 WAS CLEARED, THE TEST PASSES. OTHERWISE, JRST 2,.+1 IS FAULTY
30527
30528 047106 C7100: SFLAG CRY0 ^;SET CRY0 FLAGS
30529
30530 047106 205 01 0 00 200000 MOVSI 1,CRY0
30531 047107 255 17 0 00 047110 JFCL 17,.+1 ;RESET ALL FLAGS
30532 047110 254 02 0 01 047111 JRST 2,.+1(1) ;SET CRY0 FLAG
30533 047111 400 01 0 00 000000 SETZ 1, ;SETUP MASK TO CLEAR ARITHMETIC FLAGS
30534 047112 254 02 0 01 047113 JRST 2,.+1(1) ;*RESET ARITHMETIC FLAGS
30535 047113 255 04 0 00 047115 JFCL 4,.+2 ;PASS IF CRY0 FLAG WAS RESET
30536 047114 334 00 0 00 000000 SKIPA ;SKIP HALT INSTRUCTION IF TEST PSSED
30537 STOP^
30538 047115 254 04 0 00 047116 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30539 047116 324 00 0 00 047117 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30540 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30541 ;IN THE SUBTEST) TO LOOP ON ERROR^
30542
30543 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 33
DFKAA4 MAC 25-AUG-75 13:58 TEST OF JRST INSTRUCTION AND ARITHMETIC FLAGS SEQ 0668
30544 ;THIS TEST VERIFIES THAT JRST 2,.+1(1) WILL SET THE ARITHMETIC FLAG
30545 ;SPECIFIED IN AC1. IN THIS CASE, AC1 CONTAINS 0. HENCE, JRST 2,.+1(1)
30546 ;SHOULD RESET THE ARITHMETIC FLAGS. FIRST, THE FOV, FLAG IS SET BY JRST 2,.+1(1)
30547 ;WITH C(AC1)=FOV. THEN, THE FLAGS SHOULD BE CLEARED BY JRST 2,.+1 WITH C(AC1)=0.
30548 ;IF FOV WAS CLEARED, THE TEST PASSES. OTHERWISE, JRST 2,.+1 IS FAULTY
30549
30550 047117 C7200: SFLAG FOV ^;SET FOV FLAG
30551
30552 047117 205 01 0 00 040000 MOVSI 1,FOV
30553 047120 255 17 0 00 047121 JFCL 17,.+1 ;RESET ALL FLAGS
30554 047121 254 02 0 01 047122 JRST 2,.+1(1) ;SET FOV FLAG
30555 047122 400 01 0 00 000000 SETZ 1, ;SETUP MASK TO CLEAR ARITHMETIC FLAGS,
30556 047123 254 02 0 01 047124 JRST 2,.+1(1) ;*RESET ARITHMETIC FLAGS
30557 047124 255 01 0 00 047126 JFCL 1,.+2 ;PASS IF FOV FLAG WAS RESET
30558 047125 334 00 0 00 000000 SKIPA ;SKIP HALT INSTRUCTION IF TEST PSSED
30559 STOP^
30560 047126 254 04 0 00 047127 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30561 047127 324 00 0 00 047130 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30562 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30563 ;IN THE SUBTEST) TO LOOP ON ERROR^
30564
30565 ;**********
30566
30567 ;THIS TEST VERIFIES THAT JRST 2,.+1(1) WILL SET THE ARITHMETIC FLAG
30568 ;SPECIFIED IN AC1. IN THIS CASE, AC1 CONTAINS 0. HENCE, JRST 2,.+1(1)
30569 ;SHOULD RESET THE ARITHMETIC FLAGS. FIRST, THE ARITHMETIC FLAGS ARE RESET BY
30570 ;JFCL 17,.+1. THEN, THE FLAGS SHOULD BE CLEARED BY JRST 2,.+1.
30571 ;IF ALL THE ARITHMETIC FLAGS WERE CLEARED,
30572 ;THE TEST PASSES. OTHERWISE, JRST 2,.+1 IS FAULTY
30573
30574 047130 255 17 0 00 047131 C7300: JFCL 17,.+1 ;CLEAR FLAGS
30575 047131 400 01 0 00 000000 SETZ 1, ;SETUP MASK TO CLEAR ARITMETIC FLAGS
30576 047132 254 02 0 01 047133 JRST 2,.+1(1) ;*RESET ARITHMETIC FLAGS
30577 047133 255 17 0 00 047135 JFCL 17,.+2 ;PASS IF ALL FLAGS ARE RESET
30578 047134 334 00 0 00 000000 SKIPA ;SKIP HALT INSTRUCTION IF TEST PASSED
30579 STOP^
30580 047135 254 04 0 00 047136 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30581 047136 324 00 0 00 047137 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30582 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30583 ;IN THE SUBTEST) TO LOOP ON ERROR^
30584
30585 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 34
DFKAA4 MAC 25-AUG-75 13:58 TEST OF JSP INSTRUCTION SEQ 0669
30586 SUBTTL TEST OF JSP INSTRUCTION
30587
30588 ;**********
30589
30590 ;THIS TEST VERIFIES THAT JSP ALWAYS STORES THE FLAGS AND PC IN THE AC.
30591 ;IN THIS CASE, THE FLAGS ARE RESET; THEN, JSP IS EXECUTED. THE AC IS THEN
30592 ;CHECKED FOR ITS CONTENTS NON-ZERO. IF C(AC)=0, IT INDICATES
30593 ;THAT NEITHER THE FLAGS NOR THE PC WAS SAVED. HENCE, THIS TEST FAILS.
30594
30595 047137 403 00 0 00 000001 C7400: SETZB 1 ;CLEAR AC AND SETUP MASK TO RESET FLAGS
30596 047140 254 02 0 01 047141 JRST 2,.+1(1) ;RESET FLAGS
30597 047141 265 00 0 00 047142 JSP .+1 ;*JSP SHOULD STORE FLAGS AND PC IN THE AC
30598 047142 336 00 0 00 000000 SKIPN ;PASS IF C(AC) IS NON-ZERO
30599 STOP ^;IT DID NOT STORE ANY FLAGS OR PC
30600
30601 047143 254 04 0 00 047144 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30602 047144 324 00 0 00 047145 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30603 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30604 ;IN THE SUBTEST) TO LOOP ON ERROR
30605
30606 ;**********
30607
30608 ;THIS TEST VERIFIES THAT JSP ALWAYS STORES THE PC IN THE RIGHT HALF OF THE AC.
30609 ;IN THIS CASE, THE AC IS CLEARED, THEN, JSP IS EXECUTED. THE RIGHT HALF OF
30610 ;THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO. IF C(AC RIGHT HALF)
30611 ;IS NON-ZERO, IT INDICATED THAT THE PC WAS SAVED; AND THIS TEST PASSES.
30612
30613 047145 400 00 0 00 000000 C7500: SETZ ;CLEAN AC
30614 047146 265 00 0 00 047147 JSP .+1 ;*JSP SHOULD STORE THE PC IN THE AC
30615 047147 606 00 0 00 777777 TRNN -1 ;PASS IF C(AC) IN NON-ZERO
30616 STOP^
30617 047150 254 04 0 00 047151 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30618 047151 324 00 0 00 047152 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30619 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30620 ;IN THE SUBTEST) TO LOOP ON ERROR^
30621
30622 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 35
DFKAA4 MAC 25-AUG-75 13:58 TEST OF JSP INSTRUCTION SEQ 0670
30623 ;THIS TEST VERIFIES THAT JSP ALWAYS STORES THE FLAGS IN THE LEFT HALF OF THE AC.
30624 ;FIST, THE AC IS CLEARED; THEN, SOME FLAGS ARE SET AND JSP IS EXECUTED.
30625 ;THE LEFT HALF OF THE AC IS CHECKED FOR ITS CONTENTS NON-ZERO TO DETERMINE
30626 ;WHETHER THE FLAGS WERE SAVED. IF C(AC-LEFT) IS NON-ZERO, THIS TEST PASSES
30627
30628 047152 402 00 0 00 000000 C7600: SETZM 0 ;CLEAR AC
30629 047153 205 01 0 00 740000 MOVSI 1,740000 ;SET UP MASK TO SET FLAGS
30630 047154 254 02 0 01 047155 JRST 2,.+1(1) ;SET SOME ARITHMETIC FLAGS
30631 047155 265 00 0 00 047156 JSP .+1 ;*JSP SHOULD STORE FLAGS IN THE AC
30632 047156 607 00 0 00 777777 TLNN -1 ;PASS IF C(AC) IS NON-ZERO
30633 STOP^
30634 047157 254 04 0 00 047160 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30635 047160 324 00 0 00 047161 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30636 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30637 ;IN THE SUBTEST) TO LOOP ON ERROR^
30638
30639 ;**********
30640
30641 ;THIS TEST VERIFIES THAT JSP ALWAYS STORES THE FLAGS IN THE LEFT HALF OF THE AC.
30642 ;FIRST, THE AC IS CLEARED; THEN, THE AROV FLAG IS SET AND JSP IS EXECUTED.
30643 ;THEN, THE AROV FLAG BIT OF
30644 ;THE LEFT HALF OF THE AC IS CHECKED FOR ITS CONTENTS NON-ZERO TO DETERMINE
30645 ;WHETHER THE AROV FLAG WAS SAVED. IF THE AROV FLAG BIT OF THE AC IS SET, THIS TEST PASSES
30646
30647 047161 402 00 0 00 000000 C7700: SETZM 0 ;CLEAR THE AC
30648 SFLAG AROV ^;SET AROV FLAG
30649
30650 047162 205 01 0 00 400000 MOVSI 1,AROV
30651 047163 255 17 0 00 047164 JFCL 17,.+1 ;RESET ALL FLAGS
30652 047164 254 02 0 01 047165 JRST 2,.+1(1) ;SET AROV FLAG
30653 047165 265 00 0 00 047166 JSP .+1 ;*JSP SHOULD SAVE THE FLAGS IN THE AC-LEFT
30654 047166 607 00 0 00 400000 TLNN AROV ;PASS IF AROV WAS SAVED
30655 STOP^
30656 047167 254 04 0 00 047170 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30657 047170 324 00 0 00 047171 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30658 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30659 ;IN THE SUBTEST) TO LOOP ON ERROR^
30660
30661 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 36
DFKAA4 MAC 25-AUG-75 13:58 TEST OF JSP INSTRUCTION SEQ 0671
30662 ;THIS TEST VERIFIES THAT JSP ALWAYS STORES THE FLAGS IN THE LEFT HALF OF THE AC.
30663 ;FIRST, THE AC IS CLEARED; THEN, THE CRY0 FLAG IS SET AND JSP IS EXECUTED.
30664 ;THEN, THE CRY0 FLAG BIT OF
30665 ;THE LEFT HALF OF THE AC IS CHECKED FOR ITS CONTENTS NON-ZERO TO DETERMINE
30666 ;WHETHER THE CRY0 FLAG WAS SAVED. IF THE CRY0 FLAG BIT OF THE AC IS SET, THIS TEST PASSES
30667
30668 047171 402 00 0 00 000000 C10000: SETZM 0 ;CLEAR THE AC
30669 SFLAG CRY0 ^;SET CRY0 FLAG
30670
30671 047172 205 01 0 00 200000 MOVSI 1,CRY0
30672 047173 255 17 0 00 047174 JFCL 17,.+1 ;RESET ALL FLAGS
30673 047174 254 02 0 01 047175 JRST 2,.+1(1) ;SET CRY0 FLAG
30674 047175 265 00 0 00 047176 JSP .+1 ;*JSP SHOULD SAVE THE FLAGS IN THE AC-LEFT
30675 047176 607 00 0 00 200000 TLNN CRY0 ;PASS IF CRY0 WAS SAVED
30676 STOP^
30677 047177 254 04 0 00 047200 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30678 047200 324 00 0 00 047201 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30679 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30680 ;IN THE SUBTEST) TO LOOP ON ERROR^
30681
30682 ;**********
30683
30684 ;THIS TEST VERIFIES THAT JSP ALWAYS STORES THE FLAGS IN THE LEFT HALF OF THE AC.
30685 ;FIRST, THE AC IS CLEARED; THEN, THE CRY1 FLAG IS SET AND JSP IS EXECUTED.
30686 ;THEN, THE CRY1 FLAG BIT OF
30687 ;THE LEFT HALF OF THE AC IS CHECKED FOR ITS CONTENTS NON-ZERO TO DETERMINE
30688 ;WHETHER THE FLAG WAS SAVED. IF THE CRY1 FLAG BIT OF THE AC IS SET, THIS TEST PASSES
30689
30690 047201 400 00 0 00 000000 C10100: SETZ ;CLEAR AC
30691 SFLAG CRY1 ^;SET CRY1 FLAG
30692
30693 047202 205 01 0 00 100000 MOVSI 1,CRY1
30694 047203 255 17 0 00 047204 JFCL 17,.+1 ;RESET ALL FLAGS
30695 047204 254 02 0 01 047205 JRST 2,.+1(1) ;SET CRY1 FLAG
30696 047205 265 00 0 00 047206 JSP .+1 ;*JSP SHOULD SAVE THE FLAGS IN THE AC-LEFT
30697 047206 607 00 0 00 100000 TLNN CRY1 ;PASS IF AROV WAS SAVED
30698 STOP^
30699 047207 254 04 0 00 047210 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30700 047210 324 00 0 00 047211 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30701 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30702 ;IN THE SUBTEST) TO LOOP ON ERROR^
30703
30704 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 37
DFKAA4 MAC 25-AUG-75 13:58 TEST OF JSP INSTRUCTION SEQ 0672
30705 ;THIS TEST VERIFIES THAT JSP ALWAYS STORES THE FLAGS IN THE LEFT HALF OF THE AC.
30706 ;FRIST, THE AC IS CLEARED; THEN, THE FOV FLAG IS SET AND JSP IS EXECUTED.
30707 ;THEN, THE FOV FLAG BIT OF THE LEFT HALF OF THE AC IS CHECKED FOR
30708 ;ITS CONTENTS NON-ZERO TO DETERMINE WHETHER THE FOV FLAG WAS SAVED.
30709 ;IF THE FOV FLAG BIT OF THE AC IS SET, THIS TEST PASSES
30710
30711 047211 400 00 0 00 000000 C10200: SETZ ;CLEAR THE AC
30712 SFLAG FOV ^;SET FOV FLAG
30713
30714 047212 205 01 0 00 040000 MOVSI 1,FOV
30715 047213 255 17 0 00 047214 JFCL 17,.+1 ;RESET ALL FLAGS
30716 047214 254 02 0 01 047215 JRST 2,.+1(1) ;SET FOV FLAG
30717 047215 265 00 0 00 047216 JSP .+1 ;*JSP SHOULD SAVE THE FLAGS IN THE AC-LEFT
30718 047216 607 00 0 00 040000 TLNN FOV ;PASS IF FOV WAS SAVED
30719 STOP^
30720 047217 254 04 0 00 047220 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30721 047220 324 00 0 00 047221 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30722 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30723 ;IN THE SUBTEST) TO LOOP ON ERROR^
30724
30725 ;**********
30726
30727 ;THIS TEST VERIFIES THAT JSP WILL STORE ONLY FLAGS THAT EXIST.
30728 ;I.E. RESET FLAGS WILL NOT BE SET IN THE AC. ONLY FLAGS THAT ARE
30729 ;CLEARABLE BY JRSTF WILL BE CHECKED HERE. FIRST ALL CLEARABLE
30730 ;FLAGS ARE RESET BY JRSTF; THEN JSP IS EXECUTED. THE AC IS THEN CHECKED.
30731 ;IF ANY CLEARABLE FLAGS ARE SET IN THE AC, THIS TEST FAILS.
30732
30733 047221 C10300: SFLAG 0 ^;CLEAR ALL CLEARABLE FLAGS
30734
30735 047221 205 01 0 00 000000 MOVSI 1,0
30736 047222 255 17 0 00 047223 JFCL 17,.+1 ;RESET ALL FLAGS
30737 047223 254 02 0 01 047224 JRST 2,.+1(1) ;SET 0 FLAG
30738 047224 265 00 0 00 047225 JSP .+1 ;*JSP SHOULD NOT STORE CLEARABLE FALGS
30739 047225 603 00 0 00 761777 TLNE 761777 ;FAIL IF ANY CLEARABLE FLAG IS SET
30740 STOP^
30741 047226 254 04 0 00 047227 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30742 047227 324 00 0 00 047230 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30743 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30744 ;IN THE SUBTEST) TO LOOP ON ERROR^
30745
30746 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 38
DFKAA4 MAC 25-AUG-75 13:58 TEST OF JSP INSTRUCTION SEQ 0673
30747 ;THIS TEST VERIFIES THAT JSP ALWAYS JUMPS.
30748 ;IN THIS TEST, JSP .+2 IS EXECUTED. IF JSP JUMPS, THE TEST PASSES;
30749 ;OTHERWISE, THIS TEST HALTS
30750
30751 047230 265 00 0 00 047232 C10400: JSP .+2 ;*JSP SHOULD ALWAYS JUMP
30752 STOP^
30753 047231 254 04 0 00 047232 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30754 047232 324 00 0 00 047233 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30755 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30756 ;IN THE SUBTEST) TO LOOP ON ERROR^
30757
30758 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 39
DFKAA4 MAC 25-AUG-75 13:58 TEST JRST INSTRUCTION SEQ 0674
30759 SUBTTL TEST JRST INSTRUCTION
30760
30761 ;**********
30762
30763 ;THIS TEST VERIFIES THAT JRST ALWAYS JUMPS.
30764 ;IN THIS TEST, JRST .+2 IS EXECUTED. IF JRST JUMPS, THE TEST PASSES;
30765 ;OTHERWISE, THIS TEST HALTS
30766
30767 047233 254 00 0 00 047235 C10500: JRST .+2 ;*JRST 0, SHOULD ALWAYS JUMP
30768 STOP^
30769 047234 254 04 0 00 047235 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30770 047235 324 00 0 00 047236 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30771 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30772 ;IN THE SUBTEST) TO LOOP ON ERROR^
30773
30774 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 40
DFKAA4 MAC 25-AUG-75 13:58 TEST OF AOBJX INSTRUCTIONS SEQ 0675
30775 SUBTTL TEST OF AOBJX INSTRUCTIONS
30776
30777 ;**********
30778
30779 ;THIS TEST VERIFIES THAT AOBJN ALWAYS ADDS 1 TO BOTH HALVES OF THE AC.
30780 ;FIRST, THE AC IS CLEARED; THEN, AOBJN IS EXECUTED AND THE AC IS CHECKED
30781 ;FOR 1,,1. IF C(AC)=1,,1, THIS TEST PASSES.
30782
30783 047236 400 00 0 00 000000 C11200: SETZ ;CLEAR THE AC
30784 047237 253 00 0 00 047240 AOBJN .+1 ;*AOBJN SHOULD ADD 1 TO BOTH HALVES OF THE AC
30785 047240 312 00 0 00 070251 CAME [XWD 1,1] ;PASS IF C(AC)=1,,1
30786 STOP^
30787 047241 254 04 0 00 047242 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30788 047242 324 00 0 00 047243 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30789 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30790 ;IN THE SUBTEST) TO LOOP ON ERROR^
30791
30792 ;**********
30793
30794 ;THIS TEST VERIFIES THAT AOBJP ALWAYS ADDS 1 TO BOTH HALVES OF THE AC.
30795 ;FIRST, THE AC IS CLEARED; THEN AOBJP IS EXECUTED AND THE AC IS CHECKED
30796 ;FOR 1,,1. IF C(AC)=1,,1, THIS TEST PASSES.
30797
30798 047243 200 00 0 00 070502 C11300: MOVE [XWD 377777,377777] ;PRELOAD AC WITH 377777,,377777
30799 047244 252 00 0 00 047245 AOBJP .+1 ;*AOBJP SHOULD ADD, TO BOTH HALVES OF THE AC
30800 047245 312 00 0 00 070460 CAME [XWD 400000,400000] ;PASS IF C(AC)=400000,400000
30801 STOP^
30802 047246 254 04 0 00 047247 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30803 047247 324 00 0 00 047250 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30804 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30805 ;IN THE SUBTEST) TO LOOP ON ERROR^
30806
30807 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 41
DFKAA4 MAC 25-AUG-75 13:58 TEST OF AOBJX INSTRUCTIONS SEQ 0676
30808 ;THIS TEST VERIFIES THAT AOBJN WILL NOT JUMP WHEN C(AC) IS POSITIVE
30809 ;FIRST, THE AC IS CLEARED; AND AOBJN IS EXECUTED. AOBJN SHOULD NOT JUMP
30810 ;BECAUSE C(AC) IS POSITIVE. IF AOBJN JUMPS, THIS TEST FAILS
30811
30812 047250 400 00 0 00 000000 C11400: SETZ ;CLEAR THE AC
30813 047251 253 00 0 00 047253 AOBJN .+2 ;*AOBJN SHOULD NOT JUMP WHEN C(AC) IS POSITIVE
30814 047252 334 00 0 00 000000 SKIPA ;PASS IF AOBJN DOES NOT JUMP
30815 STOP^
30816 047253 254 04 0 00 047254 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30817 047254 324 00 0 00 047255 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30818 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30819 ;IN THE SUBTEST) TO LOOP ON ERROR^
30820
30821 ;**********
30822
30823 ;THIS TEST VERIFIES THAT AOBJP WILL JUMP WHEN C(AC) IS POSITIVE
30824 ;FIRST, THE AC IS CLEARED; AND AOBJP IS EXECUTED. AOBJP SHOULD JUMP
30825 ;BECAUSE C(AC) IS POSITIVE. IF AOBJP DOES NOT JUMP, THIS TEST FAILS
30826
30827 047255 400 00 0 00 000000 C11500: SETZ ;CLEAR THE AC
30828 047256 252 00 0 00 047260 AOBJP .+2 ;*AOBJP SHOULD JUMP BECAUSE C(AC) IS POSITIVE
30829 STOP^
30830 047257 254 04 0 00 047260 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30831 047260 324 00 0 00 047261 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30832 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30833 ;IN THE SUBTEST) TO LOOP ON ERROR^
30834
30835 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 42
DFKAA4 MAC 25-AUG-75 13:58 TEST OF AOBJX INSTRUCTIONS SEQ 0677
30836 ;THIS TEST VERIFIES THAT AOBJN WILL JUMP WHEN C(AC) IS NEGATIVE
30837 ;FIRST, THE AC IS PRELOADED WITH 400000,,0; AND AOBJN IS EXECUTED. AOBJN SHOULD JUMP
30838 ;BECAUSE C(AC) IS NEGATIVE. IF AOBJN DOES NOT JUMP, THIS TEST FAILS
30839
30840 047261 200 00 0 00 070460 C11600: MOVE [XWD 400000,400000] ;PRELOAD AC WITH 400000,,400000
30841 047262 253 00 0 00 047264 AOBJN .+2 ;*AOBJN SHOULD JUMP BECAUSE C(AC) IS NEGATIVE
30842 STOP^
30843 047263 254 04 0 00 047264 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30844 047264 324 00 0 00 047265 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30845 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30846 ;IN THE SUBTEST) TO LOOP ON ERROR^
30847
30848 ;**********
30849
30850 ;THIS TEST VERIFIES THAT AOBJP WILL NOT JUMP WHEN C(AC) IS NEGATIVE. FIRST,
30851 ;THE AC IS PRELOADED WITH 400000,,0; AND AOBJP IS EXECUTED. AOBJP SHOULD NOT JUMP
30852 ;BECAUSE C(AC) IS NEGATIVE. IF AOBJP JUMPS, THIS TEST FAILS
30853
30854 047265 200 00 0 00 070460 C11700: MOVE [XWD 400000,400000] ;PRELOAD AC WITH 400000,,400000
30855 047266 252 00 0 00 047270 AOBJP .+2 ;*AOBJP SHOULD NOT JUMP BECAUSE C(AC) IS NEGATIVE
30856 047267 334 00 0 00 000000 SKIPA ;PASS IF AOBJP DOES NOT JUMP
30857 STOP^
30858 047270 254 04 0 00 047271 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30859 047271 324 00 0 00 047272 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30860 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30861 ;IN THE SUBTEST) TO LOOP ON ERROR^
30862
30863 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 43
DFKAA4 MAC 25-AUG-75 13:58 TEST OF AOBJX INSTRUCTIONS SEQ 0678
30864 ;THIS TEST VERIFIES THAT THERE IS NO CARRY FROM BIT 18 TO BIT 17 OF THE AC ON AOBJN.
30865 ;THE AC IS PRELOADED WITH -1,,-1; THEN AOBJN IS EXECUTED. AOBJN SHOULD ADD ONE
30866 ;TO BOTH HALVES OF THE AC WITHOUT GENERATING A CARRY FROM BIT 18 TO BIT 17. IF NO
30867 ;CARRY WAS GENERATED, THIS TEST PASSES
30868
30869 047272 474 00 0 00 000000 C12000: SETO ;PRELOAD AC WITH -1,, -1
30870 047273 253 00 0 00 047274 AOBJN .+1 ;*AOBJN SHOULD NOT GENERATE A CARRY FROM BIT 18 TO 17
30871 047274 332 00 0 00 000000 SKIPE ;PASS IF C(AC)=0 (NO CARRY WAS GENERATED)
30872 STOP^
30873 047275 254 04 0 00 047276 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30874 047276 324 00 0 00 047277 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30875 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30876 ;IN THE SUBTEST) TO LOOP ON ERROR^
30877
30878 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 44
DFKAA4 MAC 25-AUG-75 13:58 TEST SETTING OF ARITHMETIC FLAGS VIA MOVNX AND MOVMX SEQ 0679
30879 SUBTTL TEST SETTING OF ARITHMETIC FLAGS VIA MOVNX AND MOVMX
30880
30881 ;THIS TEST VERIFIES THAT MOVNI SETS CRY0 AND CRY1 FLAGS ONLY WHEN THE DATA IS 0.
30882 ;FIRST, THE ARITHMETIC FLAGS ARE RESET; THEN, MOVNI IS EXECUTED WITH DATA OF ZEROS.
30883 ;THE ARITHMETIC FLAGS ARE CHECKED.
30884 ; CRY0/1 ARE SET AND AROV AND FOV RESET, THIS TEST PASSES.
30885
30886 047277 255 17 0 00 047300 C12100: JFCL 17,.+1 ;CLEAR FLAGS
30887 047300 211 00 0 00 000000 MOVNI 0 ;* MOVNI 0 SHOULD SET CRY0/1
30888 047301 255 04 0 00 047303 JCRY0 .+2 ;PASS IF CRY0 IS SET
30889 STOP^
30890 047302 254 04 0 00 047303 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30891 047303 324 00 0 00 047304 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30892 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30893 ;IN THE SUBTEST) TO LOOP ON ERROR^
30894 047304 255 02 0 00 047306 JCRY1 .+2 ;PASS IF CRY1 IS SET
30895 STOP^
30896 047305 254 04 0 00 047306 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30897 047306 324 00 0 00 047307 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30898 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30899 ;IN THE SUBTEST) TO LOOP ON ERROR^
30900 047307 255 10 0 00 047311 JOV .+2 ;PASS IF AROV RESET
30901 047310 334 00 0 00 000000 SKIPA
30902 STOP^
30903 047311 254 04 0 00 047312 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30904 047312 324 00 0 00 047313 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30905 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30906 ;IN THE SUBTEST) TO LOOP ON ERROR^
30907 047313 255 01 0 00 047315 JFOV .+2 ;PASS IF FOV RESET
30908 047314 334 00 0 00 000000 SKIPA
30909 STOP^
30910 047315 254 04 0 00 047316 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30911 047316 324 00 0 00 047317 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30912 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30913 ;IN THE SUBTEST) TO LOOP ON ERROR^
30914
30915 ;**********
30916
30917 ;THIS TEST VERIFIES THAT MOVN WILL NOT SET ARITHMETIC FLAGS WHEN THE DATA IS -1,,-1.
30918 ;FIRST, THE FLAGS ARE RESET; THEN, MOVN [-1,,-1] IS EXECUTED.
30919 ;THE ARITHMETIC FLAGS ARE CHECKED.
30920 ;IF ANY ARITHMETIC FLAG IS SET, THIS TEST FAILS.
30921
30922 047317 255 17 0 00 047320 C12200: JFCL 17,.+1 ;CLEAR FLAGS
30923 047320 210 00 0 00 070254 MOVN [-1] ;*MOVN [-1,,-1] SHOULD SET ARITHMETIC FLAGS
30924 047321 255 17 0 00 047323 JFCL 17,.+2 ;FAIL IF AN ARITHMETIC FLAG IS SET
30925 047322 334 00 0 00 000000 SKIPA ;SKIP HALT INSTRUCTION IF MOVN PASSED.
30926 STOP^
30927 047323 254 04 0 00 047324 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30928 047324 324 00 0 00 047325 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30929 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30930 ;IN THE SUBTEST) TO LOOP ON ERROR^
30931
30932 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 45
DFKAA4 MAC 25-AUG-75 13:58 TEST SETTING OF ARITHMETIC FLAGS VIA MOVNX AND MOVMX SEQ 0680
30933 ;THIS TEST VERIFIES THAT MOVN WILL SET THE AROV AND
30934 ;CRY1 FLAGS ONLY WHEN THE DATA IS 400000,,0
30935 ;FIRST, THE FLAGS ARE RESET; THEN, MOVN [400000,,0] IS EXECUTED.
30936 ;THE ARITHMETIC FLAGS ARE CHECKED.
30937 ;IF AROV AND CRY1 ARE SET AND CRY0 AND FOV ARE RESET, THIS TEST PASSES.
30938
30939 047325 255 17 0 00 047326 C12300: JFCL 17,.+1 ;CLEAR ARITHMETIC FLAGS
30940 047326 210 00 0 00 070256 MOVN [XWD 400000,0] ;*MOVN [400000,,0] SHOULD SET AROV AND CRY1 ONLY
30941 047327 255 10 0 00 047331 JOV .+2 ;PASS IF AROV IS SET
30942 STOP^
30943 047330 254 04 0 00 047331 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30944 047331 324 00 0 00 047332 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30945 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30946 ;IN THE SUBTEST) TO LOOP ON ERROR^
30947 047332 255 02 0 00 047334 JCRY1 .+2 ;PASS IF CRY0 IS SET
30948 STOP^
30949 047333 254 04 0 00 047334 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30950 047334 324 00 0 00 047335 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30951 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30952 ;IN THE SUBTEST) TO LOOP ON ERROR^
30953 047335 255 04 0 00 047337 JCRY0 .+2 ;PASS IF CRY0 IS RESET
30954 047336 334 00 0 00 000000 SKIPA
30955 STOP^
30956 047337 254 04 0 00 047340 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30957 047340 324 00 0 00 047341 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30958 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30959 ;IN THE SUBTEST) TO LOOP ON ERROR^
30960 047341 255 01 0 00 047343 JFOV .+2 ;PASS IF FOV IS RESET
30961 047342 334 00 0 00 000000 SKIPA
30962 STOP^
30963 047343 254 04 0 00 047344 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30964 047344 324 00 0 00 047345 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30965 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30966 ;IN THE SUBTEST) TO LOOP ON ERROR^
30967
30968 ;**********
30969
30970 ;THIS TEST VERIFIES THAT MOVM WILL SET THE AROV AND
30971 ;CRY1 FLAGS ONLY WHEN THE DATA IS 400000,,0
30972 ;FIRST, THE FLAGS ARE RESET; THEN, MOVM [400000,,0] IS EXECUTED.
30973 ;THE ARITHMETIC FLAGS ARE CHECKED.
30974 ;IF AROV AND CRY1 ARE SET AND CRY0 AND FOV ARE RESET, THIS TEST PASSES.
30975
30976 047345 255 17 0 00 047346 C12301: JFCL 17,.+1 ;CLEAR ARITHMETIC FLAGS
30977 047346 214 00 0 00 070256 MOVM [XWD 400000,0] ;*MOVM [400000,,0] SHOULD SET AROV AND CRY1 ONLY
30978 047347 255 10 0 00 047351 JOV .+2 ;PASS IF AROV IS SET
30979 STOP^
30980 047350 254 04 0 00 047351 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30981 047351 324 00 0 00 047352 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30982 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30983 ;IN THE SUBTEST) TO LOOP ON ERROR^
30984 047352 255 02 0 00 047354 JCRY1 .+2 ;PASS IF CRY0 IS SET
30985 STOP^
30986 047353 254 04 0 00 047354 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30987 047354 324 00 0 00 047355 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 45-1
DFKAA4 MAC 25-AUG-75 13:58 TEST SETTING OF ARITHMETIC FLAGS VIA MOVNX AND MOVMX SEQ 0681
30988 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30989 ;IN THE SUBTEST) TO LOOP ON ERROR^
30990 047355 255 04 0 00 047357 JCRY0 .+2 ;PASS IF CRY0 IS RESET
30991 047356 334 00 0 00 000000 SKIPA
30992 STOP^
30993 047357 254 04 0 00 047360 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
30994 047360 324 00 0 00 047361 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
30995 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
30996 ;IN THE SUBTEST) TO LOOP ON ERROR^
30997 047361 255 01 0 00 047363 JFOV .+2 ;PASS IF FOV IS RESET
30998 047362 334 00 0 00 000000 SKIPA
30999 STOP^
31000 047363 254 04 0 00 047364 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31001 047364 324 00 0 00 047365 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31002 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31003 ;IN THE SUBTEST) TO LOOP ON ERROR^
31004
31005 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 46
DFKAA4 MAC 25-AUG-75 13:58 TEST OF AOS AND SOS INSTRUCTIONS SEQ 0682
31006 SUBTTL TEST OF AOS AND SOS INSTRUCTIONS
31007
31008 ;**********
31009
31010 ;THIS TEST VERIFIES THAT AOS ADDS 1 TO MEMORY AND DOES NOT SKIP.
31011 ;FIRST, E IS CLEARED; THEN, AOS IS EXECUTED. NEXT E IS CHECKED FOR 1.
31012 ;IF C(E) IS NOT 1 OR AOS SKIPPED, THIS TEST FAILS
31013
31014 047365 400 00 0 00 000000 C12600: SETZ ;CLEAR E
31015 047366 350 00 0 00 000000 AOS ;*AOS SHOULD ADD 1 TO C(E) AND NOT SKIP
31016 047367 302 00 0 00 000001 CAIE 1 ;PASS IF C(E)=0,,1 ANDAOS DID NOT SKIP
31017 STOP^
31018 047370 254 04 0 00 047371 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31019 047371 324 00 0 00 047372 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31020 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31021 ;IN THE SUBTEST) TO LOOP ON ERROR^
31022
31023 ;**********
31024
31025 ;THIS TEST VERIFIES THAT AOS ADDS 1 TO MEMORY AND DOES NOT SKIP.
31026 ;FIRST, E IS PRELOADED WITH -1,,-1; THEN, AOS IS EXECUTED. NEXT E IS CHECKED FOR 0.
31027 ;IF C(E) IS NOT 0 OR AOS SKIPPED, THIS TEST FAILS
31028
31029 047372 474 00 0 00 000000 C12700: SETO ;PRELOAD E WITH -1,,-1
31030 047373 350 00 0 00 000000 AOS ;*AOS SHOULD ADD 1 TO C(E) AND NOT SKIP
31031 047374 302 00 0 00 000000 CAIE ;PASS IF C(E)=0,,0 AND AOS DID NOT SKIP
31032 STOP^
31033 047375 254 04 0 00 047376 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31034 047376 324 00 0 00 047377 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31035 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31036 ;IN THE SUBTEST) TO LOOP ON ERROR^
31037
31038 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 47
DFKAA4 MAC 25-AUG-75 13:58 TEST OF AOS AND SOS INSTRUCTIONS SEQ 0683
31039 ;THIS TEST VERIFIES THAT SOS SUBTRACTS 1 FROM MEMORY AND DOES NOT SKIP.
31040 ;FIRST, E IS CLEARED; THEN, SOS IS EXECUTED. NEXT E IS CHECKED FOR -1,,-1.
31041 ;IF C(E) IS NOT -1,,-1 OR SOS SKIPPED, THIS TEST FAILS
31042
31043 047377 400 00 0 00 000000 C13100: SETZ ;CLEAR E
31044 047400 370 00 0 00 000000 SOS ;*SOS SHOULD SUBTRACT 1 FROM C(E) AND NOT SKIP
31045 047401 312 00 0 00 070254 CAME [-1] ;PASS IF C(E)=-1,,-1 AND SOS DID NOT SKIP
31046 STOP^
31047 047402 254 04 0 00 047403 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31048 047403 324 00 0 00 047404 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31049 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31050 ;IN THE SUBTEST) TO LOOP ON ERROR^
31051
31052 ;**********
31053
31054 ;THIS TEST VERIFIES THAT SOS SUBTRACTS 1 FROM MEMORY AND DOES NOT SKIP.
31055 ;FIRST, E IS PRELOADED WITH A; THEN, SOS IS EXECUTED. NEXT E IS CHECKED FOR 0.
31056 ;IF C(E) IS NOT 0 OR SOS SKIPPED, THIS TEST FAILS
31057
31058 047404 201 00 0 00 000001 C13200: MOVEI 1 ;PRELOAD E WITH 1
31059 047405 370 00 0 00 000000 SOS ;*SOS SHOULD SUBTRACT 1 FROM C(E) AND DID NOT SKIP
31060 047406 302 00 0 00 000000 CAIE 0 ;PASS IF C(E)=0 AND SOS DID NOT SKIP
31061 STOP^
31062 047407 254 04 0 00 047410 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31063 047410 324 00 0 00 047411 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31064 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31065 ;IN THE SUBTEST) TO LOOP ON ERROR^
31066
31067 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 48
DFKAA4 MAC 25-AUG-75 13:58 TEST OF AOS AND SOS INSTRUCTIONS SEQ 0684
31068 ;THIS TEST VERIFIES THAT SOS SETS CRY0/1 FLAGS IF C(E) IS A NON-ZERO NUMBER OTHER
31069 ;THAN 400000,,0. IN THIS CASE, C(E)=1. FIRST THE FLAGS ARE RESET; THEN
31070 ;SOS IS EXECUTED. THE FLAGS ARE CHECKED. IF CRY0 AND CRY1 ARE SET
31071 ;AND AROV AND FOV ARE RESET, THIS TEST PASSES.
31072
31073 047411 255 17 0 00 047412 C13300: JFCL 17,.+1 ;RESET ARITHMETIC FLAGS
31074 047412 201 00 0 00 000001 MOVEI 1 ;PRELOAD E WITH 1
31075 047413 370 00 0 00 000000 SOS ;*SOS SHOULD SET CRY0/1
31076 047414 255 04 0 00 047416 JCRY0 .+2 ;PASS IF CRY0 IS SET
31077 STOP^
31078 047415 254 04 0 00 047416 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31079 047416 324 00 0 00 047417 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31080 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31081 ;IN THE SUBTEST) TO LOOP ON ERROR^
31082 047417 255 02 0 00 047421 JCRY1 .+2 ;PASS IF CRY1 IS SET
31083 STOP^
31084 047420 254 04 0 00 047421 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31085 047421 324 00 0 00 047422 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31086 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31087 ;IN THE SUBTEST) TO LOOP ON ERROR^
31088 047422 255 10 0 00 047424 JOV .+2 ;PASS IF AROV IS RESET
31089 047423 334 00 0 00 000000 SKIPA
31090 STOP^
31091 047424 254 04 0 00 047425 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31092 047425 324 00 0 00 047426 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31093 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31094 ;IN THE SUBTEST) TO LOOP ON ERROR^
31095 047426 255 01 0 00 047430 JFOV .+2 ;PASS IF FOV IS RESET
31096 047427 334 00 0 00 000000 SKIPA
31097 STOP^
31098 047430 254 04 0 00 047431 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31099 047431 324 00 0 00 047432 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31100 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31101 ;IN THE SUBTEST) TO LOOP ON ERROR^
31102
31103 ;**********
31104
31105 ;THIS TEST VERIFIES THAT AOS SETS CRY0 AND CRY1 FLAG IF C(E) IS -1,,-1
31106 ;FIRST THE FLAGS ARE RESET; THEN
31107 ;AOS IS EXECUTED. THE FLAGS ARE CHECKED.
31108 ;IF CRY0 AND CRY1 ARE SET AND AROV AND FOV ARE RESET, THIS TEST PASSES.
31109
31110 047432 255 17 0 00 047433 C13400: JFCL 17,.+1 ;RESET ARITHMETIC FLAGS
31111 047433 474 00 0 00 000000 SETO ;PRELOAD E WITH 1
31112 047434 350 00 0 00 000000 AOS ;*AOS SHOULD SET CRY0 AND CRY1
31113 047435 255 04 0 00 047437 JCRY0 .+2 ;PASS IF CRY0 IS SET
31114 STOP^
31115 047436 254 04 0 00 047437 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31116 047437 324 00 0 00 047440 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31117 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31118 ;IN THE SUBTEST) TO LOOP ON ERROR^
31119 047440 255 02 0 00 047442 JCRY1 .+2 ;PASS IF CRY1 IS SET
31120 STOP^
31121 047441 254 04 0 00 047442 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31122 047442 324 00 0 00 047443 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 48-1
DFKAA4 MAC 25-AUG-75 13:58 TEST OF AOS AND SOS INSTRUCTIONS SEQ 0685
31123 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31124 ;IN THE SUBTEST) TO LOOP ON ERROR^
31125 047443 255 10 0 00 047445 JOV .+2 ;PASS IF AROV IS RESET
31126 047444 334 00 0 00 000000 SKIPA
31127 STOP^
31128 047445 254 04 0 00 047446 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31129 047446 324 00 0 00 047447 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31130 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31131 ;IN THE SUBTEST) TO LOOP ON ERROR^
31132 047447 255 01 0 00 047451 JFOV .+2 ;PASS IF FOV IS RESET
31133 047450 334 00 0 00 000000 SKIPA
31134 STOP^
31135 047451 254 04 0 00 047452 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31136 047452 324 00 0 00 047453 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31137 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31138 ;IN THE SUBTEST) TO LOOP ON ERROR^
31139
31140 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 49
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INTERACTION OF JFCL, JRST, AND JSP WITH ARITHMETIC FLAGS SEQ 0686
31141 SUBTTL TEST OF INTERACTION OF JFCL, JRST, AND JSP WITH ARITHMETIC FLAGS
31142
31143 ;**********
31144
31145 ;THIS TEST VERIFIES THAT JFCL 1, WILL ALWAYS CLEAR FOV FLAG.
31146 ;FIRST, FOV IS SET VIA JRST 2, ;THEN JFCL 1,.+1 IS EXECUTED TO CLEAR FOV.
31147 ;IF FOV WAS CLEARED, THIS TEST PASSES.
31148
31149 047453 C13600: SFLAG FOV ^;SET FOV FLAG
31150
31151 047453 205 01 0 00 040000 MOVSI 1,FOV
31152 047454 255 17 0 00 047455 JFCL 17,.+1 ;RESET ALL FLAGS
31153 047455 254 02 0 01 047456 JRST 2,.+1(1) ;SET FOV FLAG
31154 047456 255 01 0 00 047457 JFCL 1,.+1 ;*JFCL SHOULD RESET FOV
31155 047457 255 01 0 00 047461 JFCL 1,.+2 ;PASS IF FOV IS RESET
31156 047460 334 00 0 00 000000 SKIPA ;SKIP HALT IF JFCL 1,.+1 PASSED
31157 STOP^
31158 047461 254 04 0 00 047462 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31159 047462 324 00 0 00 047463 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31160 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31161 ;IN THE SUBTEST) TO LOOP ON ERROR^
31162
31163 ;**********
31164
31165 ;THIS TEST VERIFIES THAT JRST 2, CAN SET FXU AND JSP CAN SAVE FXU IN THE AC.
31166 ;FIRST, FXU IS SET VIA JRST 2, ;THEN, JSP IS EXECUTED. THE AC IS CHECKED
31167 ;FOR FXU. IF FXU IS SET, THIS TEST PASSES; OTHERWISE, EITHER JRST 2, OR JSP FAILED.
31168
31169 047463 C13700: SFLAG FXU ^;*SET FXU FLAG
31170
31171 047463 205 01 0 00 000100 MOVSI 1,FXU
31172 047464 255 17 0 00 047465 JFCL 17,.+1 ;RESET ALL FLAGS
31173 047465 254 02 0 01 047466 JRST 2,.+1(1) ;SET FXU FLAG
31174 047466 265 00 0 00 047467 JSP .+1 ;*STORE FXU FLAG IN AC
31175 047467 607 00 0 00 000100 TLNN FXU ;PASS IF FXU IS SET IN THE AC
31176 STOP^
31177 047470 254 04 0 00 047471 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31178 047471 324 00 0 00 047472 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31179 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31180 ;IN THE SUBTEST) TO LOOP ON ERROR^
31181
31182 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 50
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INTERACTION OF JFCL, JRST, AND JSP WITH ARITHMETIC FLAGS SEQ 0687
31183 ;THIS TEST VERIFIES THAT JRST 2, CAN RESET FXU AND JSP CAN SAVE FXU IN THE AC.
31184 ;FIRST, FXU IS SET; THEN, FXU IS RESET VIA JRST 2,. NEXT, JSP IS EXECUTED; AND
31185 ;THE AC IS CHECKED FOR FXU RESET. IF FXU IS RESET IN THE AC, THIS TEST PASSES;
31186 ;OTHERWISE, JRST 2, FAILED TO CLEAR FXU OR JSP STORED FXU INCORECTLY.
31187
31188 047472 C14000: SFLAG FXU ^;SET FXU FLAG
31189
31190 047472 205 01 0 00 000100 MOVSI 1,FXU
31191 047473 255 17 0 00 047474 JFCL 17,.+1 ;RESET ALL FLAGS
31192 047474 254 02 0 01 047475 JRST 2,.+1(1) ;SET FXU FLAG
31193 SFLAG ^;*RESET FXU FLAG
31194
31195 047475 205 01 0 00 000000 MOVSI 1,
31196 047476 255 17 0 00 047477 JFCL 17,.+1 ;RESET ALL FLAGS
31197 047477 254 02 0 01 047500 JRST 2,.+1(1) ;SET FLAG
31198 047500 265 00 0 00 047501 JSP .+1 ;*STORE FXU FLAG IN THE AC
31199 047501 603 00 0 00 000100 TLNE FXU ;PASS IF FXU IS RESET IN THE AC
31200 STOP^
31201 047502 254 04 0 00 047503 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31202 047503 324 00 0 00 047504 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31203 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31204 ;IN THE SUBTEST) TO LOOP ON ERROR^
31205
31206 ;**********
31207
31208 ;THIS TEST VERIFIES THAT JRST 2, CAN SET DCK AND JSP CAN SAVE DCK IN THE AC.
31209 ;FIRST, DCK IS SET VIA JRST 2, ;THEN JSP IS EXECUTED. THE AC IS CHECKED
31210 ;FOR DCK. IF DCK IS SET, THIS TEST PASSES, OTHERWISE JRST 2, OR JSP FAILED.
31211
31212 047504 C14100: SFLAG DCK ^;*SET DCK FLAG
31213
31214 047504 205 01 0 00 000040 MOVSI 1,DCK
31215 047505 255 17 0 00 047506 JFCL 17,.+1 ;RESET ALL FLAGS
31216 047506 254 02 0 01 047507 JRST 2,.+1(1) ;SET DCK FLAG
31217 047507 265 00 0 00 047510 JSP .+1 ;*STORE FXU FLAG IN AC
31218 047510 607 00 0 00 000040 TLNN DCK ;PASS IF FXU IS SET IN THE AC
31219 STOP^
31220 047511 254 04 0 00 047512 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31221 047512 324 00 0 00 047513 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31222 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31223 ;IN THE SUBTEST) TO LOOP ON ERROR^
31224
31225 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 51
DFKAA4 MAC 25-AUG-75 13:58 TEST OF INTERACTION OF JFCL, JRST, AND JSP WITH ARITHMETIC FLAGS SEQ 0688
31226 ;THIS TEST VERIFIES THAT JRST 2, CAN RESET DCK AND JSP CAN SAVE DCK IN THE AC.
31227 ;FIRST, FXU IS SET; THEN, DCK IS RESET VIA JRST 2,. NEXT, JSP IS EXPECTED; AND
31228 ;THE AC IS CHECKED FOR DCK RESET. IF DCK IS RESET IN THE AC, THIS TEST PASSES;
31229 ;OTHERWISE, JRST 2, FAILED TO CLEAR DCK OR JSP STORED DCK INCORRECTLY.
31230
31231 047513 C14200: SFLAG DCK ^;SET DCK FLAG
31232
31233 047513 205 01 0 00 000040 MOVSI 1,DCK
31234 047514 255 17 0 00 047515 JFCL 17,.+1 ;RESET ALL FLAGS
31235 047515 254 02 0 01 047516 JRST 2,.+1(1) ;SET DCK FLAG
31236 SFLAG ^;*RESET DCK FLAG
31237
31238 047516 205 01 0 00 000000 MOVSI 1,
31239 047517 255 17 0 00 047520 JFCL 17,.+1 ;RESET ALL FLAGS
31240 047520 254 02 0 01 047521 JRST 2,.+1(1) ;SET FLAG
31241 047521 265 00 0 00 047522 JSP .+1 ;*STORE DCK FLAG IN THE AC
31242 047522 603 00 0 00 000040 TLNE DCK ;PASS IF DCK IS RESET IN THE AC
31243 STOP^
31244 047523 254 04 0 00 047524 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31245 047524 324 00 0 00 047525 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31246 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31247 ;IN THE SUBTEST) TO LOOP ON ERROR^
31248
31249 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 52
DFKAA4 MAC 25-AUG-75 13:58 TEST OF JUMPX INSTRUCTIONS SEQ 0689
31250 SUBTTL TEST OF JUMPX INSTRUCTIONS
31251
31252 ;**********
31253
31254 ;THIS TEST VERIFIES THAT JUMPL IS DATA DEPENDENT. IT WILL JUMP IF AND ONLY IF
31255 ;C(AC) IS NEGATIVE. IN THIS TEST, THE AC CONTAINS -1,,-1. HENCE,
31256 ;JUMPL SHOULD JUMP. IF JUMPL JUMPS, THIS TEST PASSES.
31257
31258 047525 474 00 0 00 000000 C14500: SETO ;PRELOAD AC WITH -1,,-1
31259 047526 321 00 0 00 047530 JUMPL .+2 ;*JUMPL SHOULD JUMP BECAUSE C(AC) IS NEGATIVE
31260 STOP^
31261 047527 254 04 0 00 047530 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31262 047530 324 00 0 00 047531 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31263 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31264 ;IN THE SUBTEST) TO LOOP ON ERROR^
31265
31266 ;**********
31267
31268 ;THIS TEST VERIFIES THAT JUMPL IS DATA DEPENDENT. IT WILL JUMP IF AND ONLY IF
31269 ;C(AC) IS NEGATIVE. IN THIS TEST, THE AC CONTAINS 0. HENCE,
31270 ;JUMPL SHOULD NOT JUMP. IF JUMPL DOES NOT JUMP, THIS TEST PASSES.
31271
31272 047531 400 00 0 00 000000 C14600: SETZ ;PRELOAD AC WITH 0
31273 047532 321 00 0 00 047534 JUMPL .+2 ;*JUMPL SHOULD NOT JUMP
31274 047533 334 00 0 00 000000 SKIPA ;PASS IF JUMPL DOES NOT JUMP
31275 STOP^
31276 047534 254 04 0 00 047535 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31277 047535 324 00 0 00 047536 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31278 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31279 ;IN THE SUBTEST) TO LOOP ON ERROR^
31280
31281 ;**********
31282
31283 ;THIS TEST VERIFIES THAT JUMPE IS DATA DEPENDENT. IT WILL JUMP IF AND ONLY IF
31284 ;C(AC)=0. IN THIS TEST, THE AC CONTAINS 0. HENCE,
31285 ;JUMPE SHOULD JUMP. IF JUMPE JUMPS, THIS TEST PASSES.
31286
31287 047536 400 00 0 00 000000 C14700: SETZ ;PRELOAD AC WITH 0
31288 047537 322 00 0 00 047541 JUMPE .+2 ;*JUMPE SHOULD JUMP
31289 STOP^
31290 047540 254 04 0 00 047541 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31291 047541 324 00 0 00 047542 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31292 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31293 ;IN THE SUBTEST) TO LOOP ON ERROR^
31294
31295 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 53
DFKAA4 MAC 25-AUG-75 13:58 TEST OF JUMPX INSTRUCTIONS SEQ 0690
31296 ;THIS TEST VERIFIES THAT JUMPN IS DATA DEPENDENT. IT WILL JUMP IF AND ONLY IF
31297 ;C(AC) IS NON-ZERO. IN THIS TEST, THE AC CONTAINS 1. HENCE,
31298 ;JUMPN SHOULD JUMP. IF JUMPN JUMPS, THIS TEST PASSES.
31299
31300 047542 201 00 0 00 000001 C15000: MOVEI 1 ;PRELOAD AC WITH 1
31301 047543 326 00 0 00 047545 JUMPN .+2 ;*JUMPN SHOULD JUMP
31302 STOP^
31303 047544 254 04 0 00 047545 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31304 047545 324 00 0 00 047546 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31305 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31306 ;IN THE SUBTEST) TO LOOP ON ERROR^
31307
31308 ;**********
31309
31310 ;THIS TEST VERIFIES THAT JUMPE IS DATA DEPENDENT. IT WILL JUMP IF AND ONLY IF
31311 ;C(AC)=0. IN THIS TEST, THE AC CONTAINS 2. HENCE,
31312 ;JUMPL SHOULD NOT JUMP. IF JUMPE DOES NOT JUMP, THIS TEST PASSES.
31313
31314 047546 201 00 0 00 000002 C15100: MOVEI 2 ;PRELOAD AC WITH 2
31315 047547 322 00 0 00 047551 JUMPE .+2 ;*JUMPE SHOULD NOT JUMP
31316 047550 334 00 0 00 000000 SKIPA ;PASS IF JUMPE DID NOT JUMP
31317 STOP^
31318 047551 254 04 0 00 047552 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31319 047552 324 00 0 00 047553 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31320 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31321 ;IN THE SUBTEST) TO LOOP ON ERROR^
31322
31323 ;**********
31324
31325 ;THIS TEST VERIFIES THAT JUMPN IS DATA DEPENDENT. IT WILL JUMP IF AND ONLY IF
31326 ;C(AC) IS NON-ZERO. IN THIS TEST, THE AC CONTAINS 0. HENCE,
31327 ;JUMPN SHOULD NOT JUMP. IF JUMPN DOES NOT JUMP, THIS TEST PASSES.
31328
31329 047553 400 00 0 00 000000 C15200: SETZ ;PRELOAD AC WITH 0
31330 047554 326 00 0 00 047556 JUMPN .+2 ;*JUMPN SHOULD NOT JUMP
31331 047555 334 00 0 00 000000 SKIPA ;PASS IF JUMPN DID NOT JUMP
31332 STOP^
31333 047556 254 04 0 00 047557 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31334 047557 324 00 0 00 047560 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31335 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31336 ;IN THE SUBTEST) TO LOOP ON ERROR^
31337
31338 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 54
DFKAA4 MAC 25-AUG-75 13:58 TEST OF JUMPX INSTRUCTIONS SEQ 0691
31339 ;THIS TEST VERIFIES THAT JUMPG IS DATA DEPENDENT. IT WILL JUMP IF AND ONLY IF
31340 ;C(AC) IS GREATER THAN 0. IN THIS TEST, THE AC CONTAINS 1. HENCE,
31341 ;JUMPG SHOULD JUMP. IF JUMPG JUMPS, THIS TEST PASSES.
31342
31343 047560 201 00 0 00 000001 C15300: MOVEI 1 ;PRELOAD AC WITH 1
31344 047561 327 00 0 00 047563 JUMPG .+2 ;*JUMPG SHOULD JUMP
31345 STOP^
31346 047562 254 04 0 00 047563 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31347 047563 324 00 0 00 047564 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31348 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31349 ;IN THE SUBTEST) TO LOOP ON ERROR^
31350
31351 ;**********
31352
31353 ;THIS TEST VERIFIES THAT JUMPG IS DATA DEPENDENT. IT WILL JUMP IF AND ONLY IF
31354 ;C(AC) IS GREATER THAN 0. IN THIS TEST, THE AC CONTAINS -1,,0. HENCE,
31355 ;JUMPG SHOULD NOT JUMP. IF JUMPG DOES NOT JUMP, THIS TEST PASSES.
31356
31357 047564 205 00 0 00 777777 C15400: MOVSI -1 ;PRELOAD AC WITH -1,,0
31358 047565 327 00 0 00 047567 JUMPG .+2 ;*JUMPG SHOULD NOT JUMP
31359 047566 334 00 0 00 000000 SKIPA ;PASS IF JUMPG DID NOT JUMP
31360 STOP^
31361 047567 254 04 0 00 047570 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31362 047570 324 00 0 00 047571 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31363 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31364 ;IN THE SUBTEST) TO LOOP ON ERROR^
31365
31366 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 55
DFKAA4 MAC 25-AUG-75 13:58 TEST OF AOJ AND SOJ INSTRUCTIONS SEQ 0692
31367 SUBTTL TEST OF AOJ AND SOJ INSTRUCTIONS
31368
31369 ;**********
31370
31371 ;THIS TEST VERIFIES THAT AOJ ADDS 1 TO THE AC AND DOES NOT JUMP.
31372 ;FIRST, THE AC IS PRELOADED WITH 0; THEN, AOJ IS EXECUTED. NEXT, THE
31373 ;AC IS CHECKED FOR 1. IF C(AC) IS NOT 1 OR AOJ SKIPPED, THIS TEST FAILS.
31374
31375 047571 400 00 0 00 000000 C15500: SETZ ;PRELOAD AC WITH 0
31376 047572 340 00 0 00 047574 AOJ .+2 ;*AOJ SHOULD ADD 1 TO THE AC AND NOT JUMP
31377 047573 302 00 0 00 000001 CAIE 1 ;PASS IF C(AC)=1 AND AOJ DID NOT JUMP
31378 STOP^
31379 047574 254 04 0 00 047575 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31380 047575 324 00 0 00 047576 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31381 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31382 ;IN THE SUBTEST) TO LOOP ON ERROR^
31383
31384 ;**********
31385
31386 ;THIS TEST VERIFIES THAT AOJ ADDS 1 TO THE AC AND DOES NOT JUMP.
31387 ;FIRST, THE AC IS PRELOADED WITH -1,,-1; THEN, AOJ IS EXECUTED. NEXT, THE
31388 ;AC IS CHECKED FOR 0. IF C(AC) IS NOT 0 OR AOJ SKIPPED, THIS TEST FAILS.
31389
31390 047576 474 00 0 00 000000 C15600: SETO ;PRELOAD AC WITH 0
31391 047577 340 00 0 00 047601 AOJ .+2 ;*AOJ SHOULD ADD 1 TO THE AC AND NOT JUMP
31392 047600 302 00 0 00 000000 CAIE 0 ;PASS IF C(AC)=1 AND AOJ DID NOT JUMP
31393 STOP^
31394 047601 254 04 0 00 047602 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31395 047602 324 00 0 00 047603 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31396 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31397 ;IN THE SUBTEST) TO LOOP ON ERROR^
31398
31399 ;**********
31400
31401 ;THIS TEST VERIFIES THAT SOJ SUBTRACTS 1 FROM THE AC AND DOES NOT JUMP.
31402 ;FIRST, THE AC IS PRELOADED WITH 0; THEN, SOJ IS EXECUTED. NEXT, THE
31403 ;AC IS CHECKED FOR -1,,-1. IF C(AC) IS NOT -1,,-1 OR SOJ SKIPPED, THIS TEST FAILS.
31404
31405 047603 400 00 0 00 000000 C15700: SETZ ;PRELOAD AC WITH 0
31406 047604 360 00 0 00 047606 SOJ .+2 ;*SOJ SHOULD SUBTRACT 1 FROM THE AC AND NOT JUMP
31407 047605 312 00 0 00 070254 CAME [-1] ;PASS IF C(AC)=-1,,-1 AND SOJ DID NOT JUMP
31408 STOP^
31409 047606 254 04 0 00 047607 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31410 047607 324 00 0 00 047610 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31411 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31412 ;IN THE SUBTEST) TO LOOP ON ERROR^
31413
31414 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 56
DFKAA4 MAC 25-AUG-75 13:58 TEST OF AOJ AND SOJ INSTRUCTIONS SEQ 0693
31415 ;THIS TEST VERIFIES THAT SOJ SUBTRACTS 1 FROM THE AC AND DOES NOT JUMP.
31416 ;FIRST, THE AC IS PRELOADED WITH -1,,-1; THEN, SOJ IS EXECUTED. NEXT, THE
31417 ;AC IS CHECKED FOR -1,,-2. IF C(AC) IS NOT -1,,-2 OR SOJ SKIPPED, THIS TEST FAILS.
31418
31419 047610 474 00 0 00 000000 C16000: SETO ;PRELOAD AC WITH -1,,-1
31420 047611 360 00 0 00 047613 SOJ .+2 ;*SOJ SHOULD SUBTRACT 1 FROM THE AC AND NOT JUMP
31421 047612 312 00 0 00 070333 CAME [-2] ;PASS IF C(AC)=-1,,-2 AND SOJ DID NOT JUMP
31422 STOP^
31423 047613 254 04 0 00 047614 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31424 047614 324 00 0 00 047615 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31425 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31426 ;IN THE SUBTEST) TO LOOP ON ERROR^
31427
31428 ;**********
31429
31430 ;THIS TEST VERIFIES THAT SOJ SUBTRACTS 1 FROM THE AC AND DOES NOT JUMP.
31431 ;FIRST, THE AC IS PRELOADED WITH 0,,1; THEN, SOJ IS EXECUTED. NEXT, THE
31432 ;AC IS CHECKED FOR 0. IF C(AC) IS NOT 0 OR SOJ SKIPPED, THIS TEST FAILS.
31433
31434 047615 201 00 0 00 000001 C16100: MOVEI 1 ;PRELOAD AC WITH 1
31435 047616 360 00 0 00 047620 SOJ .+2 ;*SOJ SHOULD SUBTRACT 1 FROM THE AC AND NOT JUMP
31436 047617 302 00 0 00 000000 CAIE 0 ;PASS IF C(AC)=0 AND SOJ DID NOT JUMP
31437 STOP^
31438 047620 254 04 0 00 047621 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31439 047621 324 00 0 00 047622 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31440 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31441 ;IN THE SUBTEST) TO LOOP ON ERROR^
31442
31443 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 57
DFKAA4 MAC 25-AUG-75 13:58 TEST OF AOJ AND SOJ INSTRUCTIONS SEQ 0694
31444 ;THIS TEST VERIFIES THAT SOJ AC, FOLLOWED BY AOJ AC, HAS NO NET EFFECT ON C(AC).
31445 ;IN THIS CASE, THE AC IS PRELOADED WITH 0; THEN, SOJ AC, FOLLOWED BY AOJ.
31446 ;AC, IS REPEATED 7 TIMES. THE AC IS THEN CHECKED FOR ITS ORIGINAL CONTENTS, 0.
31447 ;IF C(AC)=0, THIS TEST PASSES; OTHERWISE AOJ OR SOJ FAILED.
31448
31449 000017 C16200: AC=17
31450 047622 400 17 0 00 000000 SETZ AC, ;PRELOAD AC WITH 0
31451 REPEAT ^D10,<
31452 SOJ AC,. ;*SOJ SHOULD SUBTRACT 1 FROM THE AC
31453 AOJ AC,. ;*AOJ SHOULD ADD 1 TO THE AC>
31454
31455 047623 360 17 0 00 047623 SOJ AC,. ;*SOJ SHOULD SUBTRACT 1 FROM THE AC
31456 047624 340 17 0 00 047624 AOJ AC,. ;*AOJ SHOULD ADD 1 TO THE AC
31457
31458 047625 360 17 0 00 047625 SOJ AC,. ;*SOJ SHOULD SUBTRACT 1 FROM THE AC
31459 047626 340 17 0 00 047626 AOJ AC,. ;*AOJ SHOULD ADD 1 TO THE AC
31460
31461 047627 360 17 0 00 047627 SOJ AC,. ;*SOJ SHOULD SUBTRACT 1 FROM THE AC
31462 047630 340 17 0 00 047630 AOJ AC,. ;*AOJ SHOULD ADD 1 TO THE AC
31463
31464 047631 360 17 0 00 047631 SOJ AC,. ;*SOJ SHOULD SUBTRACT 1 FROM THE AC
31465 047632 340 17 0 00 047632 AOJ AC,. ;*AOJ SHOULD ADD 1 TO THE AC
31466
31467 047633 360 17 0 00 047633 SOJ AC,. ;*SOJ SHOULD SUBTRACT 1 FROM THE AC
31468 047634 340 17 0 00 047634 AOJ AC,. ;*AOJ SHOULD ADD 1 TO THE AC
31469
31470 047635 360 17 0 00 047635 SOJ AC,. ;*SOJ SHOULD SUBTRACT 1 FROM THE AC
31471 047636 340 17 0 00 047636 AOJ AC,. ;*AOJ SHOULD ADD 1 TO THE AC
31472
31473 047637 360 17 0 00 047637 SOJ AC,. ;*SOJ SHOULD SUBTRACT 1 FROM THE AC
31474 047640 340 17 0 00 047640 AOJ AC,. ;*AOJ SHOULD ADD 1 TO THE AC
31475
31476 047641 360 17 0 00 047641 SOJ AC,. ;*SOJ SHOULD SUBTRACT 1 FROM THE AC
31477 047642 340 17 0 00 047642 AOJ AC,. ;*AOJ SHOULD ADD 1 TO THE AC
31478
31479 047643 360 17 0 00 047643 SOJ AC,. ;*SOJ SHOULD SUBTRACT 1 FROM THE AC
31480 047644 340 17 0 00 047644 AOJ AC,. ;*AOJ SHOULD ADD 1 TO THE AC
31481
31482 047645 360 17 0 00 047645 SOJ AC,. ;*SOJ SHOULD SUBTRACT 1 FROM THE AC
31483 047646 340 17 0 00 047646 AOJ AC,. ;*AOJ SHOULD ADD 1 TO THE AC
31484 047647 332 00 0 00 000017 SKIPE AC ;PASS IF C(AC) IS UNCHANGED. I.E. C(AC)=0
31485 STOP^
31486 047650 254 04 0 00 047651 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31487 047651 324 00 0 00 047652 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31488 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31489 ;IN THE SUBTEST) TO LOOP ON ERROR^
31490
31491 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 58
DFKAA4 MAC 25-AUG-75 13:58 TEST OF AOJ AND SOJ INSTRUCTIONS SEQ 0695
31492 ;THIS TEST VERIFIES THAT SOJ SETS CRY0/1 FLAGS IF C(E) IS A NON-ZERO NUMBER OTHER
31493 ;THAN 400000,,0. IN THIS CASE, C(E)=1. FIRST THE FLAGS ARE RESET; THEN
31494 ;SOJ IS EXECUTED. THE FLAGS ARE CHECKED. IF CRY0 AND CRY1 ARE SET
31495 ;AND AROV AND FOV ARE RESET, THIS TEST PASSES.
31496
31497 047652 255 17 0 00 047653 C16201: JFCL 17,.+1 ;RESET ARITHMETIC FLAGS
31498 047653 201 00 0 00 000001 MOVEI 1 ;PRELOAD E WITH 1
31499 047654 360 00 0 00 000000 SOJ ;*SOJ SHOULD SET CRY0/1
31500 047655 255 04 0 00 047657 JCRY0 .+2 ;PASS IF CRY0 IS SET
31501 STOP^
31502 047656 254 04 0 00 047657 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31503 047657 324 00 0 00 047660 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31504 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31505 ;IN THE SUBTEST) TO LOOP ON ERROR^
31506 047660 255 02 0 00 047662 JCRY1 .+2 ;PASS IF CRY1 IS SET
31507 STOP^
31508 047661 254 04 0 00 047662 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31509 047662 324 00 0 00 047663 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31510 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31511 ;IN THE SUBTEST) TO LOOP ON ERROR^
31512 047663 255 10 0 00 047665 JOV .+2 ;PASS IF AROV IS RESET
31513 047664 334 00 0 00 000000 SKIPA
31514 STOP^
31515 047665 254 04 0 00 047666 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31516 047666 324 00 0 00 047667 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31517 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31518 ;IN THE SUBTEST) TO LOOP ON ERROR^
31519 047667 255 01 0 00 047671 JFOV .+2 ;PASS IF FOV IS RESET
31520 047670 334 00 0 00 000000 SKIPA
31521 STOP^
31522 047671 254 04 0 00 047672 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31523 047672 324 00 0 00 047673 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31524 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31525 ;IN THE SUBTEST) TO LOOP ON ERROR^
31526
31527 ;**********
31528
31529 ;THIS TEST VERIFIES THAT AOJ SETS CRY0 AND CRY1 FLAG IF C(E) IS -1,,-1
31530 ;FIRST THE FLAGS ARE RESET; THEN
31531 ;AOJ IS EXECUTED. THE FLAGS ARE CHECKED.
31532 ;IF CRY0 AND CRY1 ARE SET AND AROV AND FOV ARE RESET, THIS TEST PASSES.
31533
31534 047673 255 17 0 00 047674 C16202: JFCL 17,.+1 ;RESET ARITHMETIC FLAGS
31535 047674 474 00 0 00 000000 SETO ;PRELOAD E WITH 1
31536 047675 340 00 0 00 000000 AOJ ;*AOJ SHOULD SET CRY0 AND CRY1
31537 047676 255 04 0 00 047700 JCRY0 .+2 ;PASS IF CRY0 IS SET
31538 STOP^
31539 047677 254 04 0 00 047700 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31540 047700 324 00 0 00 047701 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31541 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31542 ;IN THE SUBTEST) TO LOOP ON ERROR^
31543 047701 255 02 0 00 047703 JCRY1 .+2 ;PASS IF CRY1 IS SET
31544 STOP^
31545 047702 254 04 0 00 047703 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31546 047703 324 00 0 00 047704 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 58-1
DFKAA4 MAC 25-AUG-75 13:58 TEST OF AOJ AND SOJ INSTRUCTIONS SEQ 0696
31547 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31548 ;IN THE SUBTEST) TO LOOP ON ERROR^
31549 047704 255 10 0 00 047706 JOV .+2 ;PASS IF AROV IS RESET
31550 047705 334 00 0 00 000000 SKIPA
31551 STOP^
31552 047706 254 04 0 00 047707 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31553 047707 324 00 0 00 047710 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31554 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31555 ;IN THE SUBTEST) TO LOOP ON ERROR^
31556 047710 255 01 0 00 047712 JFOV .+2 ;PASS IF FOV IS RESET
31557 047711 334 00 0 00 000000 SKIPA
31558 STOP^
31559 047712 254 04 0 00 047713 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31560 047713 324 00 0 00 047714 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31561 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31562 ;IN THE SUBTEST) TO LOOP ON ERROR^
31563
31564 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 59
DFKAA4 MAC 25-AUG-75 13:58 TEST OF MEMORY, BOTH AND SELF MODE INSTRUCTIONS SEQ 0697
31565 SUBTTL TEST OF MEMORY, BOTH AND SELF MODE INSTRUCTIONS
31566
31567 ;**********
31568
31569 ;THIS TEST VERIFIES THAT ADDM DOES NOT MODIFY C(AC)
31570 ;BOTH AC AND E ARE PRELOADED WITH -1,,-1. THEN ADDM IS EXECUTED.
31571 ;THIS TEST PASSES IF C(AC) ARE UNCHANGED
31572
31573 047714 477 00 0 00 000001 C16400: SETOB 1 ;PRELOAD AC, E WITH -1,,-1
31574 047715 272 00 0 00 000001 ADDM 1 ;*ADDM SHOULD NOT AFFECT C(AC)
31575 047716 312 00 0 00 070254 CAME [-1] ;PASS IF C(AC) IS UNMODIFIED BY ADDM
31576 STOP^
31577 047717 254 04 0 00 047720 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31578 047720 324 00 0 00 047721 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31579 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31580 ;IN THE SUBTEST) TO LOOP ON ERROR^
31581
31582 ;**********
31583
31584 ;THIS TEST VERIFIES THAT HRREM DOES NOT MODIFY C(AC)
31585 ;THE AC IS PRELOADED WITH 0,,-1. THEN HRRM IS EXECUTED.
31586 ;THIS TEST PASSES IF C(AC) ARE UNCHANGED
31587
31588 047721 201 00 0 00 777777 C16500: MOVEI -1 ;PRELOAD AC WITH 0,,-1
31589 047722 572 00 0 00 000001 HRREM 1 ;*HRRM SHOULD NOT AFFECT C(AC)
31590 047723 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC) IS UNMODIFIED BY HRRM
31591 STOP^
31592 047724 254 04 0 00 047725 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31593 047725 324 00 0 00 047726 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31594 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31595 ;IN THE SUBTEST) TO LOOP ON ERROR^
31596
31597 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 60
DFKAA4 MAC 25-AUG-75 13:58 TEST OF MEMORY, BOTH AND SELF MODE INSTRUCTIONS SEQ 0698
31598 ;THIS TEST VERIFIES THAT MOVSM DOES NOT MODIFY C(AC)
31599 ;THE AC IS PRELOADED WITH 0,,-1. THEN MOVSM IS EXECUTED.
31600 ;THIS TEST PASSES IF C(AC) ARE UNCHANGED
31601
31602 047726 201 00 0 00 777777 C16600: MOVEI -1 ;PRELOAD AC WITH 0,,-1
31603 047727 206 00 0 00 000001 MOVSM 1 ;*MOVSM SHOULD NOT AFFECT C(AC)
31604 047730 302 00 0 00 777777 CAIE -1 ;PASS IF C(AC) IS UNMODIFIED BY MOVSM
31605 STOP^
31606 047731 254 04 0 00 047732 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31607 047732 324 00 0 00 047733 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31608 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31609 ;IN THE SUBTEST) TO LOOP ON ERROR^
31610
31611 ;**********
31612
31613 ;THIS TEST VERIFIES THAT XORM DOES NOT MODIFY C(AC)
31614 ;BOTH AC AND E ARE PRELOADED WITH -1,,-1. THEN XORM IS EXECUTED.
31615 ;THIS TEST PASSES IF C(AC) ARE UNCHANGED
31616
31617 047733 477 00 0 00 000001 C16700: SETOB 1 ;PRELOAD AC, E WITH -1,,-1
31618 047734 432 00 0 00 000001 XORM 1 ;*XORM SHOULD NOT AFFECT C(AC)
31619 047735 312 00 0 00 070254 CAME [-1] ;PASS IF C(AC) IS UNMODIFIED BY XORM
31620 STOP^
31621 047736 254 04 0 00 047737 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31622 047737 324 00 0 00 047740 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31623 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31624 ;IN THE SUBTEST) TO LOOP ON ERROR^
31625
31626 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 61
DFKAA4 MAC 25-AUG-75 13:58 TEST OF MEMORY, BOTH AND SELF MODE INSTRUCTIONS SEQ 0699
31627 ;THIS TEST VERIFIES THAT ADDB ADDS C(AC) TO C(E) AND PLACES THE
31628 ;RESULT IN BOTH AC AND E. IN THIS TEST, BOTH AC AND E ARE PRELOADED
31629 ;WITH -1,,-1, THEN, ADDB IS EXECUTED. C(AC) IS THEN COMPARED TO C(E);
31630 ;AND C(AC) IS THEN COMPARED TO -2. IF BOTH OF THESE COMPARISONS SUCCEED, THIS
31631 ;TEST PASSES; OTHERWISE, ADDB FAILED
31632
31633 047740 477 00 0 00 000001 C17000: SETOB 1 ;PRELOAD AC, E WITH -1,,-1
31634 047741 273 00 0 00 000001 ADDB 1 ;*ADDB SHOULD ADD C(AC) TO C(E) AND PLACE RESULT
31635 ;INTO BOTH AC AND E
31636 047742 312 00 0 00 000001 CAME 1 ;PASS IF C(AC)=C(E)
31637 STOP^
31638 047743 254 04 0 00 047744 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31639 047744 324 00 0 00 047745 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31640 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31641 ;IN THE SUBTEST) TO LOOP ON ERROR^
31642 047745 312 00 0 00 070333 CAME [-2] ;PASS IF C(AC)=-2
31643 STOP^
31644 047746 254 04 0 00 047747 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31645 047747 324 00 0 00 047750 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31646 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31647 ;IN THE SUBTEST) TO LOOP ON ERROR^
31648
31649 ;**********
31650
31651 ;THIS TEST VERIFIES THAT ADDM ADDS C(AC) TO C(E) AND PLACES THE RESULT IN E
31652 ;IN THIS CASE, AC, E ARE BOTH PRELOADED WITH -1; THEN, ADDM IS EXECUTED.
31653 ;E IS THEN CHECKED FOR -2. IF C(E)=-2, THIS TEST PASSES; OTHERWISE, ADDM FAILED
31654
31655 047750 477 00 0 00 000001 C17100: SETOB 1 ;PRELOAD AC, E WITH -1,,-1
31656 047751 272 00 0 00 000001 ADDM 1 ;*ADDM SHOULD ADD C(AC) TO C(E)
31657 047752 312 01 0 00 070333 CAME 1,[-2] ;PASS IF C(E)=-2
31658 STOP^
31659 047753 254 04 0 00 047754 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31660 047754 324 00 0 00 047755 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31661 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31662 ;IN THE SUBTEST) TO LOOP ON ERROR^
31663
31664 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 62
DFKAA4 MAC 25-AUG-75 13:58 TEST OF MEMORY, BOTH AND SELF MODE INSTRUCTIONS SEQ 0700
31665 ;THIS TEST VERIFIES THAT HLLOS PLACES ONES ON THE RIGHT HALF OF E
31666 ;BUT DOES NOT AFFECT THE LEFT HALF OF E. IN THIS CASE,
31667 ;E IS PRELOADED WITH 0; THE, HLLOS IS EXECUTED. THE RESULT
31668 ;IN E SHOULD BE 0,,-1. IF C(E)=0,,-1, THIS TEST PASSES
31669
31670 047755 402 00 0 00 000001 C17200: SETZM 1 ;PRELOAD E WITH 0
31671 047756 523 00 0 00 000001 HLLOS 1 ;*HLLOS SHOULD PLACE 0,,-1 INTO E
31672 047757 302 01 0 00 777777 CAIE 1,-1 ;PASS IF C(E)=0,,-1
31673 STOP^
31674 047760 254 04 0 00 047761 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31675 047761 324 00 0 00 047762 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31676 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31677 ;IN THE SUBTEST) TO LOOP ON ERROR^
31678
31679 ;**********
31680
31681 ;THIS TEST VERIFIES THAT MOVSS SWAPS BOTHS HALVES OF E AND
31682 ;PLACES THE RESULT IN E. IN THIS CASE, E IS PRELOADED WITH
31683 ;-1,,0; THEN, MOVSS IS EXECUTED. THE RESULT IN E SHOULD BE 0,,-1.
31684 ;IF C(E)=0,,-1, THIS TEST PASSES
31685
31686 047762 205 01 0 00 777777 C17300: MOVSI 1,-1 ;PRELOAD E WITH -1,,0
31687 047763 207 00 0 00 000001 MOVSS 1 ;*MOVSS SHOULD PLACE 0,,-1 INTO E
31688 047764 302 01 0 00 777777 CAIE 1,-1 ;PASS IF C(E)=0,,-1
31689 STOP^
31690 047765 254 04 0 00 047766 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31691 047766 324 00 0 00 047767 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31692 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31693 ;IN THE SUBTEST) TO LOOP ON ERROR^
31694
31695 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 63
DFKAA4 MAC 25-AUG-75 13:58 TEST OF MEMORY, BOTH AND SELF MODE INSTRUCTIONS SEQ 0701
31696 ;THIS TEST VERIFIES THAT AOS ADDS ONE TO MEMORY BUT DOES NOT SKIP
31697 ;FIRST, E IS PRELOADED WITH -1,-1; THEN, AOS IS EXECUTED. NEXT, E IS CHECKED FOR 0.
31698 ;IF C(E) IS NOT 0 OR AOS SKIPPED, THIS TEST FAILS
31699
31700 047767 477 00 0 00 000001 C17400: SETOB 1 ;PRELOAD E WITH -1,,-1
31701 047770 350 00 0 00 000001 AOS 1 ;*AOS SHOULD ADD TO C(E) AND NOT SKIP
31702 047771 302 01 0 00 000000 CAIE 1,0 ;PASS IF C(E)=0,,0 AND AOS DID NOT SKIP
31703 STOP^
31704 047772 254 04 0 00 047773 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31705 047773 324 00 0 00 047774 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31706 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31707 ;IN THE SUBTEST) TO LOOP ON ERROR^
31708
31709 ;**********
31710
31711 ;THIS TEST VERIFIES THAT HRLM PLACES C(AC-RIGHT) INTO E-LEFT AND DOES
31712 ;NOT MODIFY E-RIGHT. IN THIS CASE, AC IS PRELOADED WITH 0 AND E IS PRELOADED
31713 ;WITH -1,,-1. THEN, HRLM IS EXECUTED. E IS THEN CHECKED FOR 0,,-1. IF
31714 ;C(E)=0,,-1, THIS TEST PASSES
31715
31716 047774 400 00 0 00 000000 C17500: SETZ ;PRELOAD AC WITH 0
31717 047775 474 01 0 00 000000 SETO 1, ;PRELOAD E WITH -1,,-1
31718 047776 506 00 0 00 000001 HRLM 1 ;*HRLM SHOULD PLACE 0,,-1 INTO E
31719 047777 302 01 0 00 777777 CAIE 1,-1 ;PASS IF C(E)=0,,-1
31720 STOP^
31721 050000 254 04 0 00 050001 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31722 050001 324 00 0 00 050002 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31723 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31724 ;IN THE SUBTEST) TO LOOP ON ERROR^
31725
31726 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 64
DFKAA4 MAC 25-AUG-75 13:58 TEST OF MEMORY, BOTH AND SELF MODE INSTRUCTIONS SEQ 0702
31727 ;THIS TEST VERIFIES THAT HRRS DOES NOT MODIFY E
31728 ;E IS PRELOADED WITH 0 AND AC IS PRELOADED WITH -1,,-1.
31729 ;HRRS IS EXECUTED; THEN E IS CHECKED. IF C(E) DOES
31730 ;NOT CHANGE, THIS TEST PASSES
31731
31732 050002 474 00 0 00 000000 C17600: SETO ;PRELOAD AC WITH -1,,-1
31733 050003 400 01 0 00 000000 SETZ 1, ;PRELOAD E WITH 0,,0
31734 050004 543 00 0 00 000001 HRRS 1 ;*HRRS SHOULD PLACE 0,,0 INTO E
31735 050005 332 00 0 00 000001 SKIPE 1
31736 STOP^
31737 050006 254 04 0 00 050007 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31738 050007 324 00 0 00 050010 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31739 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31740 ;IN THE SUBTEST) TO LOOP ON ERROR^
31741
31742 ;**********
31743
31744 ;THIS TEST VERIFIES THAT HRRZM PLACES C(AC-RIGHT) INTO E-RIGHT AND PLACES
31745 ;ZEROS INTO E-LEFT. IN THIS CASE, AC=E=AC1 AND C(AC)=C(E)=-1,,0. HRRZM
31746 ;IS EXECUTED AND AC1 IS CHECKED FOR 0. IF AC1=0, THIS TEST PASSES.
31747
31748 050010 474 00 0 00 000000 C17700: SETO ;PRELOAD AC0 WITH -1,,-1
31749 050011 205 01 0 00 777777 MOVSI 1,-1 ;PRELOAD AC1 WITH -1,,0
31750 050012 552 01 0 00 000001 HRRZM 1,1 ;*HRRZM SHOULD PLACE 0 INTO AC1
31751 050013 332 00 0 00 000001 SKIPE 1 ;PASS IF C(AC1)=0
31752 STOP^
31753 050014 254 04 0 00 050015 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31754 050015 324 00 0 00 050016 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31755 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31756 ;IN THE SUBTEST) TO LOOP ON ERROR^
31757
31758 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 65
DFKAA4 MAC 25-AUG-75 13:58 TEST OF MEMORY, BOTH AND SELF MODE INSTRUCTIONS SEQ 0703
31759 ;THIS TEST VERIFIES THAT JFCL 17,.+1 NEVER JUMPS AND DOES NOT MODIFY C(AC0).
31760 ;FIRST, AC0 IS PRELOADED; THEN, JFCL IS EXECUTED. IF AC0 IS MODIFIED
31761 ;OR JFCL SKIPS, THIS TEST FAILS
31762
31763 050016 400 00 0 00 000000 C20000: SETZ ;CLEAR AC0
31764 050017 255 17 0 00 050020 JFCL 17,.+1 ;*JFCL SHOULD NOT JUMP OR MODIFY C(AC0).
31765 050020 332 00 0 00 000000 SKIPE ;PASS IF C(AC0)=0 AND JFCL DID NOT JUMP
31766 STOP^
31767 050021 254 04 0 00 050022 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31768 050022 324 00 0 00 050023 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31769 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31770 ;IN THE SUBTEST) TO LOOP ON ERROR^
31771
31772 ;**********
31773
31774 ;THIS TEST VERIFIES THAT XORM PERFORMS THE LOGICAL EXCLUSIVE OR FUNCTION
31775 ;BETWEEN C(AC) AND C(E) AND PLACES THE RESULT INTO E
31776 ;IN THIS CASE, AC AND E ARE PRELOADED WITH -1,,-1; THEN, XORM IS
31777 ;EXECUTED. IF THE RESULT IN E IS 0, THE TEST PASSES
31778
31779 050023 477 00 0 00 000001 C20100: SETOB 1 ;PRELOAD AC,E WITH -1,,-1
31780 050024 432 00 0 00 000001 XORM 1 ;*XORM SHOULD PLACE 0 INTO E
31781 050025 302 01 0 00 000000 CAIE 1,0 ;PASS IF C(E)=0
31782 STOP^
31783 050026 254 04 0 00 050027 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31784 050027 324 00 0 00 050030 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31785 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31786 ;IN THE SUBTEST) TO LOOP ON ERROR^
31787
31788 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 66
DFKAA4 MAC 25-AUG-75 13:58 TEST OF MEMORY, BOTH AND SELF MODE INSTRUCTIONS SEQ 0704
31789 ;THIS TEST VERIFIES THAT SETZB PLACES ZEROS INTO BOTH AC AND E.
31790 ;AFTER SETZB IS EXECUTED, BOTH AC AND E ARE CHECKED
31791 ;FOR 0. IF EITHER AC OR E CONTAINS ANY ONES, THIS TEST FAILS
31792
31793 050030 403 00 0 00 000001 C20200: SETZB 1 ;*SETZB SHOULD PLACE ZEROES IN BOTH AC AND E
31794 050031 316 00 0 00 070253 CAMN [0] ;FAIL IF C(AC) IS NON-ZERO
31795 050032 312 00 0 00 000001 CAME 1 ;FAIL IF C(E) IS NON-ZERO
31796 STOP^
31797 050033 254 04 0 00 050034 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31798 050034 324 00 0 00 050035 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31799 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31800 ;IN THE SUBTEST) TO LOOP ON ERROR^
31801
31802 ;**********
31803
31804 ;THIS TEST VERIFIES THAT SETAB PLACES C(AC) INTO BOTH AC AND E.
31805 ;FIRST, AC IS PRELOADED WITH -1,,-1 AND E IS PRELOADED WITH 0;
31806 ;THEN, SETAB IS EXECUTED. BOTH AC AND E ARE CHECKED FOR -1,,-1
31807 ;IF EITHER AC OR E CONTAIN ANY ZEROS, THIS TEST FAILS.
31808
31809 050035 400 01 0 00 000000 C20300: SETZ 1, ;PRELOAD E WITH 0
31810 050036 474 00 0 00 000000 SETO ;PRELOAD AC WITH -1,,-1
31811 050037 427 00 0 00 000001 SETAB 1 ;*SETAB SHOULD PLACE -1,,-1 INTO BOTH AC AND E
31812 050040 316 00 0 00 070254 CAMN [-1] ;FAIL IF C(AC) IS NOT -1,-1
31813 050041 312 00 0 00 000001 CAME 1 ;FAIL IF C(E) IS NOT -1,,-1
31814 STOP^
31815 050042 254 04 0 00 050043 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31816 050043 324 00 0 00 050044 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31817 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31818 ;IN THE SUBTEST) TO LOOP ON ERROR^
31819
31820 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 67
DFKAA4 MAC 25-AUG-75 13:58 XCT INSTRUCTION - BASIC TESTS SEQ 0705
31821 SUBTTL XCT INSTRUCTION - BASIC TESTS
31822
31823 ;**********
31824
31825 ;THIS TEST VERIFIES THAT XCT WILL EXECUTE THE INSTRUCTION SPECIFIED BY C(E)
31826 ;IN THIS CASE, C(E) SPECIFIES A MOVEI INSTRUCTION
31827 ;AFTER EXECUTING MOVEI, CONTROL SHOULD RETURN TO
31828 ;THE NEXT SEQUENTIAL INSTRUCTION FOLLOWING XCT.
31829 ;THIS TEST PASSES IF CONTROL RETURNS TO THE NEXT SEQUENTIAL INSTRUCTION FOLLOWING XCT
31830
31831 050044 403 00 0 00 000001 C20400: SETZB 1 ;CLEAR AC0 AND AC1
31832 050045 256 00 0 00 070616 XCT [MOVEI 1,.+2] ;*XCT SHOULD RETURN CONTROL TO NEXT INSTRUCTION
31833 050046 334 00 0 00 000000 SKIPA
31834 STOP^
31835 050047 254 04 0 00 050050 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31836 050050 324 00 0 00 050051 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31837 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31838 ;IN THE SUBTEST) TO LOOP ON ERROR^
31839
31840 ;**********
31841
31842 ;THIS TEST VERIFIES THAT XCT WILL EXECUTE THE INSTRUCTION SPECIFIED BY C(E)
31843 ;IN THIS CASE, C(E) SPECIFIES A MOVEI INSTRUCTION.
31844 ;AFTER EXECUTING MOVEI, THE AC SPECIFIED BY MOVEI IS CHECKED FOR
31845 ;0,,1 (THE EXPECTED RESULT). IF C(AC)=0,,1, THIS TEST PASSES
31846
31847 050051 403 00 0 00 000001 C20500: SETZB 1 ;CLEAR AC
31848 050052 256 00 0 00 070617 XCT [MOVEI 1,1] ;*XCT OF MOVEI SHOULD PLACE 1 IN THE AC
31849 050053 302 01 0 00 000001 CAIE 1,1 ;PASS IF C(AC)=1
31850 STOP^
31851 050054 254 04 0 00 050055 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31852 050055 324 00 0 00 050056 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31853 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31854 ;IN THE SUBTEST) TO LOOP ON ERROR^
31855
31856 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 68
DFKAA4 MAC 25-AUG-75 13:58 XCT INSTRUCTION - BASIC TESTS SEQ 0706
31857 ;THIS TEST VERIFIES THAT A NEST OF XCT INSTRUCTIONS WILL EXECUTE
31858 ;THE INSTRUCTION SPECIFIED BY THE MOST NESTED XCT AND RETURN CONTROL TO
31859 ;THE NEXT SEQUENTIAL INSTRUCTION FOLLOWING THE FIRST XCT.
31860 ;IN THIS CASE, THE EXECUTED INSTRUCTION IS MOVEI. AFTER EXECUTING THE MOVEI,
31861 ;C(AC) IS CHECKED FOR 0,,-1 (THE EXPECTED RESULT). IF C(AC)=0,,-1, THIS TEST PASSES
31862
31863 050056 403 00 0 00 000001 C20600: SETZB 1 ;CLEAR AC
31864 050057 256 00 0 00 070624 XCT [XCT[XCT[XCT[XCT[MOVEI 1,-1]]]]] ;*NESTED XCT OF MOVEI
31865 ;SHOULD PLACE 0,,-1 INTO AC
31866 050060 302 01 0 00 777777 CAIE 1,-1 ;PASS IF C(AC)=0,,-1
31867 STOP^
31868 050061 254 04 0 00 050062 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31869 050062 324 00 0 00 050063 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31870 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31871 ;IN THE SUBTEST) TO LOOP ON ERROR^
31872
31873 ;**********
31874
31875 ;THIS TEST VERIFIES THAT XCT WILL NOT MODIFY AN AC WHICH IS NOT SPECIFIED BY THE
31876 ;EXECUTED INSTRUCTION. IN THIS CASE, AC0 IS CLEARED AND THEN CHECKED FOR ZERO AFTER
31877 ;THE XCT INSTRUCTION IS EXECUTED. AC0 SHOULD NOT BE MODIFIED.
31878
31879 050063 403 00 0 00 000001 C20700: SETZB 1 ;CLEAR AC0,AC1
31880 050064 256 00 0 00 070625 XCT [MOVE 1,[-1]] ;*XCT SHOULD NOT MODIFY AC0
31881 050065 332 00 0 00 000000 SKIPE ;PASS IF AC0 WAS NOT MODIFIED
31882 STOP^
31883 050066 254 04 0 00 050067 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31884 050067 324 00 0 00 050070 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31885 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31886 ;IN THE SUBTEST) TO LOOP ON ERROR^
31887
31888 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 69
DFKAA4 MAC 25-AUG-75 13:58 XCT INSTRUCTION - BASIC TESTS SEQ 0707
31889 ;THIS TEST VERIFIES THAT XCT OF SKIPA SHOULD RETURN CONTROL TO THE
31890 ;SECOND SEQUENTIAL INSTRUCTION FOLLOWING XCT
31891
31892 050070 256 00 0 00 070626 C21000: XCT [SKIPA] ;XCT OF SKIPA SHOULD RETURN CONTROL TO .+2
31893 STOP^
31894 050071 254 04 0 00 050072 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31895 050072 324 00 0 00 050073 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31896 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31897 ;IN THE SUBTEST) TO LOOP ON ERROR^
31898
31899 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 70
DFKAA4 MAC 25-AUG-75 13:58 INDIRECT ADDRESSING - BASIC TESTS SEQ 0708
31900 SUBTTL INDIRECT ADDRESSING - BASIC TESTS
31901
31902 ;**********
31903
31904 ;THIS TEST VERIFIES THAT INDIRECT ADDRESSING WORKS WHEN BOTH E AND @E
31905 ;ARE WITHIN THE AC RANGE.
31906 ;THE INSTRUCTION SPECIFYING INDIRECT ADDRESSING IS A MOVE.
31907 ;AFTER MOVE IS EXECUTED, C(AC) IS CHECKED FOR 0,
31908 ;THE INITIAL CONTENTS OF THE INDIRECT ADDRESS
31909
31910 050073 476 00 0 00 000001 C21100: SETOM 1 ;PRELOAD AC WITH -1,,-1
31911 050074 201 07 0 00 000003 MOVEI 7,3 ;SETUP DIRECT ADDRESS WITH INDIRECT ADDRESS
31912 050075 402 00 0 00 000003 SETZM 3 ;PRELOAD INDIRECT ADDRESS WITH 0
31913 050076 200 01 1 00 000007 MOVE 1,@7 ;*FWT FROM INDIRECT ADDRESSS SHOULD
31914 ;PLACE 0 INTO THE AC
31915 050077 332 00 0 00 000001 SKIPE 1 ;PASS IF C(AC)=0
31916 STOP^
31917 050100 254 04 0 00 050101 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31918 050101 324 00 0 00 050102 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31919 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31920 ;IN THE SUBTEST) TO LOOP ON ERROR^
31921
31922 ;**********
31923
31924 ;THIS TEST VERIFIES THAT INDIRECT ADDRESSING WORKS WHEN BOTH E AND @E
31925 ;ARE WITHIN THE AC RANGE.
31926 ;THE INSTRUCTION SPECIFYING INDIRECT ADDRESSING IS A MOVE.
31927 ;AFTER MOVE IS EXECUTED, C(AC) IS CHECKED FOR -1,,-1,
31928 ;THE INITIAL CONTENTS OF THE INDIRECT ADDRESS
31929
31930 050102 402 00 0 00 000001 C21200: SETZM 1 ;PRELOAD AC WITH -1,,-1
31931 050103 201 07 0 00 000003 MOVEI 7,3 ;SETUP DIRECT ADDRESS WITH INDIRECT ADDRESS
31932 050104 476 00 0 00 000003 SETOM 3 ;PRELOAD INDIRECT ADDRESS WITH -1,,-1
31933 050105 200 01 1 00 000007 MOVE 1,@7 ;*FWT FROM INDIRECT ADDRESS SHOULD
31934 ;PLACE -1,,-1 INTO THE AC
31935 050106 312 01 0 00 070254 CAME 1,[-1,,-1] ;PASS IF C(AC)=-1,,-1
31936 STOP^
31937 050107 254 04 0 00 050110 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31938 050110 324 00 0 00 050111 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31939 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31940 ;IN THE SUBTEST) TO LOOP ON ERROR^
31941
31942 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 71
DFKAA4 MAC 25-AUG-75 13:58 INDIRECT ADDRESSING - BASIC TESTS SEQ 0709
31943 ;THIS TEST VERIFIES THAT INDIRECT ADDRESSING WORKS WHEN BOTH E AND @E
31944 ;ARE WITHIN THE AC RANGE.
31945 ;THE INSTRUCTION SPECIFYING INDIRECT ADDRESSING IS A MOVE.
31946 ;AFTER MOVE IS EXECUTED, C(AC) IS CHECKED FOR 707070,,707070,
31947 ;THE INITIAL CONTENTS OF THE INDIRECT ADDRESS
31948
31949 050111 402 00 0 00 000001 C21300: SETZM 1 ;PRELOAD AC WITH 0
31950 050112 201 07 0 00 000003 MOVEI 7,3 ;SETUP DIRECT ADDRESS WITH INDIRECT ADDRESS
31951 050113 200 03 0 00 070332 MOVE 3,[707070,,707070] ;PRELOAD INDIRECT ADDRESS WITH 707070,,707070
31952 050114 200 01 1 00 000007 MOVE 1,@7 ;*FWT FROM INDIRECT ADDRESS SHOULD
31953 ;PLACE 707070,,707070 INTO THE AC
31954 050115 312 01 0 00 070332 CAME 1,[707070,,707070] ;PASS IF C(AC)=707070,,707070
31955 STOP^
31956 050116 254 04 0 00 050117 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31957 050117 324 00 0 00 050120 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31958 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31959 ;IN THE SUBTEST) TO LOOP ON ERROR^
31960
31961 ;**********
31962
31963 ;THIS TEST VERIFIES THAT INDIRECT ADDRESSING WORKS WHEN E IS WITHIN THE AC RANGE
31964 ;AND @E IS BEYOND THE AC RANGE.
31965 ;THE INSTRUCTION SPECIFYING INDIRECT ADDRESSING IS A MOVE.
31966 ;AFTER MOVE IS EXECUTED, C(AC) IS CHECKED FOR 707070,,707070,
31967 ;THE INITIAL CONTENTS OF THE INDIRECT ADDRESS
31968
31969 050120 254 00 0 00 050122 C21400: JRST .+2
31970 050121 707070 707070 XWD 707070,707070 ;INDIRECT ADDRESS AND ITS DATA
31971 050122 402 00 0 00 000001 SETZM 1 ;PRELOAD AC WITH 0
31972 050123 201 07 0 00 050121 MOVEI 7,C21400+1 ;SETUP DIRECT ADDRESS WITH INDIRECT ADDRESS
31973 050124 200 01 1 00 000007 MOVE 1,@7 ;*FWT FROM INDIRECT ADDRESS SHOULD
31974 ;PLACE 707070,,707070 INTO AC
31975 050125 312 01 0 00 050121 CAME 1,C21400+1 ;PASS IF C(AC)=707070,,707070
31976 STOP^
31977 050126 254 04 0 00 050127 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31978 050127 324 00 0 00 050130 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31979 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
31980 ;IN THE SUBTEST) TO LOOP ON ERROR^
31981
31982 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 72
DFKAA4 MAC 25-AUG-75 13:58 INDIRECT ADDRESSING - BASIC TESTS SEQ 0710
31983 ;THIS TEST VERIFIES THAT INDIRECT ADDRESSING WORKS WHEN BOTH E AND @E
31984 ;ARE BEYOND THE AC RANGE.
31985 ;THE INSTRUCTION SPECIFYING INDIRECT ADDRESSING IS A MOVE.
31986 ;AFTER MOVE IS EXECUTED, C(AC) IS CHECKED FOR 202020,,202020,
31987 ;THE INITIAL CONTENTS OF THE INDIRECT ADDRESS
31988
31989 050130 254 00 0 00 050133 C21500: JRST .+3
31990 050131 000000 050132 .+1 ;DIRECT ADDRESS AND ITS DATA
31991 050132 202020 202020 XWD 202020,202020 ;INDIRECT ADDRESS AND ITS DATA
31992 050133 402 00 0 00 000001 SETZM 1 ;PRELOAD AC WITH 0
31993 050134 200 01 1 00 050131 MOVE 1,@C21500+1 ;*FWT FROM INDIRECT ADDRESS SHOULD
31994 ;PLACE 202020,,202020 INTO AC
31995 050135 312 01 0 00 050132 CAME 1,C21500+2 ;PASS IF C(AC)=202020,,202020
31996 STOP^
31997 050136 254 04 0 00 050137 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
31998 050137 324 00 0 00 050140 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
31999 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32000 ;IN THE SUBTEST) TO LOOP ON ERROR^
32001
32002 ;**********
32003
32004 ;THIS TEST VERIFIES THAT INDIRECT ADDRESSING WORKS WHEN BOTH E AND @E
32005 ;ARE BEYOND THE AC RANGE.
32006 ;THE INSTRUCTION SPECIFYING INDIRECT ADDRESSING IS A CAME.
32007
32008 050140 254 00 0 00 050143 C21600: JRST .+3
32009 050141 000000 050142 .+1 ;DIRECT ADDRESS AND ITS DATA
32010 050142 272727 272727 XWD 272727,272727 ;INDIRECT ADDRESS AND ITS DATA
32011 050143 200 01 0 00 050142 MOVE 1,C21600+2 ;PRELOAD AC
32012 050144 312 01 1 00 050141 CAME 1,@C21600+1 ;*CAME OF DATA FROM INDIRECT ADDRESS - NON-AC RANGE
32013 STOP^
32014 050145 254 04 0 00 050146 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32015 050146 324 00 0 00 050147 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32016 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32017 ;IN THE SUBTEST) TO LOOP ON ERROR^
32018
32019 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 73
DFKAA4 MAC 25-AUG-75 13:58 INDIRECT ADDRESSING - BASIC TESTS SEQ 0711
32020 ;THIS TEST VERIFIES THAT INDIRECT ADDRESSING WORKS WHEN E IS WITHIN THE AC RANGE
32021 ;AND @E IS BEYOND THE AC RANGE.
32022 ;THE INSTRUCTION SPECIFYING INDIRECT ADDRESSING IS A CAME.
32023
32024 050147 254 00 0 00 050151 C21700: JRST .+2
32025 050150 252525 252525 XWD 252525,252525 ;INDIRECT ADDRESS AND ITS DATA
32026 050151 201 07 0 00 050150 MOVEI 7,C21700+1 ;SETUP DIRECT ADDRESS WITH INDIRECT ADDRESS
32027 050152 200 01 0 00 050150 MOVE 1,C21700+1 ;SETUP AC
32028 050153 312 01 1 00 000007 CAME 1,@7 ;*CAME IF DATA FROM INDIRECT ADDRESS - AC RANGE
32029 STOP^
32030 050154 254 04 0 00 050155 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32031 050155 324 00 0 00 050156 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32032 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32033 ;IN THE SUBTEST) TO LOOP ON ERROR^
32034
32035 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 74
DFKAA4 MAC 25-AUG-75 13:58 TEST INDIRECT ADDRESSING WITH INDEXING SEQ 0712
32036 SUBTTL TEST INDIRECT ADDRESSING WITH INDEXING
32037
32038 ;SETUP INDEX REGISTERS
32039
32040 050156 201 01 0 00 777774 MOVEI 1,-4
32041 050157 201 03 0 00 000002 MOVEI 3,2
32042 050160 201 04 0 00 000010 MOVEI 4,10
32043 050161 201 05 0 00 000001 MOVEI 5,1
32044 050162 201 06 0 00 000005 MOVEI 6,5
32045 050163 201 07 0 00 000007 MOVEI 7,7
32046 050164 201 10 0 00 000004 MOVEI 10,4
32047 050165 201 11 0 00 777772 MOVEI 11,-6
32048 050166 201 12 0 00 000005 MOVEI 12,5
32049 050167 201 13 0 00 000002 MOVEI 13,2
32050
32051 050170 254 00 0 00 050221 JRST C22000 ;RESUME TEST
32052
32053 ;INDIRECT ADDRESSING/INDEXING TEST TABLE
32054
32055 ;;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;;
32056
32057 ;DO NOT MODIFY THIS TABLE OR TESTS C21700 THRU C22600 INDEPENDENTLY !
32058
32059 ;;;;;;;;;; ;;;;;;;;;; ;;;;;;;;;;
32060
32061 050171 000003 050174 E217: E217A(3)
32062 050172 000020 050177 E220: @E220A
32063 050173 220220 220220 E220B: 220220,,220220
32064 050174 000020 050201 E217A: @E221A ;E221-4
32065 050175 221221 221221 E221B: 221221,,221221
32066 050176 217217 217217 E222A: 217217,,217217 ;E217A+2
32067 050177 000000 050173 E220A: E220B
32068 050200 000000 050200 E221: E221
32069 050201 000000 050175 E221A: E221B
32070 050202 000000 050200 E222: E221
32071 050203 223223 223223 E223A: 223223,,223223
32072 050204 000004 050204 E224A: E224A(4) ;E223-6
32073 050205 222222 222222 222222,,222222 ;E222A+7
32074 050206 000000 050206 E225: E225
32075 050207 000007 050176 E222A(7) ;E222+5
32076 050210 000020 050213 @E225A ;E225+2
32077 050211 225225 225225 E225B: 225225,,225225
32078 050212 000000 050212 E223: E223
32079 050213 000000 050211 E225A: E225B
32080 050214 224224 224224 224224,,224224 ;E224A+10
32081 050215 226226 226226 E226B: 226226,,226226
32082 050216 000000 050203 E223A ;E223+4
32083 050217 000025 050217 E226A: @E226A(5) ;E223+5
32084 050220 000000 050215 E226B ;E226A+1
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 75
DFKAA4 MAC 25-AUG-75 13:58 TEST INDIRECT ADDRESSING WITH INDEXING SEQ 0713
32085 ;THIS TEST VERIFIES THAT INDIRECT ADDRESSING IN COMBINATION WITH INDEXING FUNCTIONS CORRECT
32086 LY.
32087 ;IN THIS CASE, MOVE 2,@E217 IS TESTED WHERE C(E217)=E217A(3) AND C(3)=0,,2.
32088 ;HENCE, THE RESULT IN THE AC SHOULD BE C(E217A+2)=217217,,217217
32089
32090 050221 476 00 0 00 000002 C22000: SETOM 2 ;INITIALIZE AC
32091 050222 200 02 1 00 050171 MOVE 2,@E217 ;TEST INDIRECT ADDRESSING WITH INDEXING
32092 050223 312 02 0 00 050176 CAME 2,E217A+2 ;PASS IF C(AC)=217217,,217217
32093 STOP^
32094 050224 254 04 0 00 050225 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32095 050225 324 00 0 00 050226 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32096 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32097 ;IN THE SUBTEST) TO LOOP ON ERROR^
32098
32099 ;**********
32100
32101 ;THIS TEST VERIFIES THAT INDIRECT ADDRESSING IN COMBINATION WITH INDEXING FUNCTIONS CORRECT
32102 LY.
32103 ;IN THIS CASE, MOVE 2,@E220 IS TESTED WHERE C(E220)=@E220A AND C(E220A)=E220B.
32104 ;HENCE, THE RESULT IN THE AC SHOULD BE C(E220B)=220220,,220220
32105
32106 050226 402 00 0 00 000002 C22100: SETZM 2 ;INITIALIZE AC
32107 050227 200 02 1 00 050172 MOVE 2,@E220 ;TEST INDIRECT ADDRESSING WITH INDEXING
32108 050230 312 02 0 00 050173 CAME 2,E220B ;PASS IF C(AC)=220220,,220220
32109 STOP^
32110 050231 254 04 0 00 050232 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32111 050232 324 00 0 00 050233 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32112 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32113 ;IN THE SUBTEST) TO LOOP ON ERROR^
32114
32115 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 76
DFKAA4 MAC 25-AUG-75 13:58 TEST INDIRECT ADDRESSING WITH INDEXING SEQ 0714
32116 ;THIS TEST VERIFIES THAT INDIRECT ADDRESSING IN COMBINATION WITH INDEXING FUNCTIONS CORRECT
32117 LY.
32118 ;IN THIS CASE,E221(1) 2,@E217 IS TESTED WHERE C(1)=-4 AND E221-4=E217A
32119 ;HENCE, THE RESULT IN THE AC SHOULD BE C(E217A)=@E221A=20,,E221A
32120
32121 050233 476 00 0 00 000002 C22200: SETOM 2 ;INITIALIZE AC
32122 050234 200 02 0 01 050200 MOVE 2,E221(1) ;TEST INDIRECT ADDRESSING WITH INDEXING
32123 050235 312 02 0 00 050174 CAME 2,E217A ;PASS IF C(AC)=@E221A=20,,E221A
32124 STOP^
32125 050236 254 04 0 00 050237 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32126 050237 324 00 0 00 050240 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32127 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32128 ;IN THE SUBTEST) TO LOOP ON ERROR^
32129
32130 ;**********
32131
32132 ;THIS TEST VERIFIES THAT INDIRECT ADDRESSING IN COMBINATION WITH INDEXING FUNCTIONS CORRECT
32133 LY.
32134 ;IN THIS CASE, MOVE 2,E222(6) IS TESTED WHERE C(6)=5
32135 ;HENCE, THE RESULT IN THE AC SHOULD BE C(E222+5)=E222A(7)=7,,E222A
32136
32137 050240 402 00 0 00 000002 C22300: SETZM 2 ;INITIALIZE AC
32138 050241 200 02 0 06 050202 MOVE 2,E222(6) ;TEST INDIRECT ADDRESSING WITH INDEXING
32139 050242 312 02 0 00 050207 CAME 2,E222+5 ;PASS IF C(AC)=E222A(7)=7,,E222A
32140 STOP^
32141 050243 254 04 0 00 050244 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32142 050244 324 00 0 00 050245 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32143 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32144 ;IN THE SUBTEST) TO LOOP ON ERROR^
32145
32146 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 77
DFKAA4 MAC 25-AUG-75 13:58 TEST INDIRECT ADDRESSING WITH INDEXING SEQ 0715
32147 ;THIS TEST VERIFIES THAT INDIRECT ADDRESSING IN COMBINATION WITH INDEXING FUNCTIONS CORRECT
32148 LY.
32149 ;IN THIS CASE, MOVE 2,@E223(10) IS TESTED WHERE C(10)=4 AND C(E223+4)=E223A
32150 ;HENCE, THE RESULT IN THE AC SHOULD BE C(E223A)=223223,,223223
32151
32152 050245 476 00 0 00 000002 C22400: SETOM 2 ;INITIALIZE AC
32153 050246 200 02 1 10 050212 MOVE 2,@E223(10) ;TEST INDIRECT ADDRESSING WITH INDEXING
32154 050247 312 02 0 00 050203 CAME 2,E223A ;PASS IF C(AC)=223223,,223223
32155 STOP^
32156 050250 254 04 0 00 050251 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32157 050251 324 00 0 00 050252 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32158 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32159 ;IN THE SUBTEST) TO LOOP ON ERROR^
32160
32161 ;**********
32162
32163 ;THIS TEST VERIFIES THAT INDIRECT ADDRESSING IN COMBINATION WITH INDEXING FUNCTIONS CORRECT
32164 LY.
32165 ;IN THIS CASE, MOVE 2,@E223(11) IS TESTED WHERE C(11)=-6, C(E223-6)=E224A(4) AND C(4)=10
32166 ;HENCE, THE RESULT IN THE AC SHOULD BE C(E224A+10)=224224,,224224
32167
32168 050252 402 00 0 00 000002 C22500: SETZM 2 ;INITIALIZE AC
32169 050253 200 02 1 11 050212 MOVE 2,@E223(11) ;TEST INDIRECT ADDRESSING WITH INDEXING
32170 050254 312 02 0 00 050214 CAME 2,E224A+10 ;PASS IF C(AC)=224224,,224224
32171 STOP^
32172 050255 254 04 0 00 050256 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32173 050256 324 00 0 00 050257 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32174 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32175 ;IN THE SUBTEST) TO LOOP ON ERROR^
32176
32177 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 78
DFKAA4 MAC 25-AUG-75 13:58 TEST INDIRECT ADDRESSING WITH INDEXING SEQ 0716
32178 ;THIS TEST VERIFIES THAT INDIRECT ADDRESSING IN COMBINATION WITH INDEXING FUNCTIONS CORRECT
32179 LY.
32180 ;IN THIS CASE, MOVE 2,@E225(13) IS TESTED WHERE C(13)=2, C(E225+2)=@E225A
32181 ;AND C(E225A)=E225B
32182 ;HENCE, THE RESULT IN THE AC SHOULD BE C(E225B)=225225,,225225
32183
32184 050257 476 00 0 00 000002 C22600: SETOM 2 ;INITIALIZE AC
32185 050260 200 02 1 13 050206 MOVE 2,@E225(13) ;TEST INDIRECT ADDRESSING WITH INDEXING
32186 050261 312 02 0 00 050211 CAME 2,E225B ;PASS IF C(AC)=225225,,225225
32187 STOP^
32188 050262 254 04 0 00 050263 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32189 050263 324 00 0 00 050264 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32190 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32191 ;IN THE SUBTEST) TO LOOP ON ERROR^
32192
32193 ;**********
32194
32195 ;THIS TEST VERIFIES THAT INDIRECT ADDRESSING IN COMBINATION WITH INDEXING FUNCTIONS CORRECT
32196 LY.
32197 ;IN THIS CASE, MOVE 2,@E223(12) IS TESTED WHERE C(12)=5, C(E223+5)=@E226A(5),
32198 ;C(5)=1 AND C(E226A+1)=E226B
32199 ;HENCE, THE RESULT IN THE AC SHOULD BE C(E226B)=226226,,226226
32200
32201 050264 402 00 0 00 000002 C22700: SETZM 2 ;INITIALIZE AC
32202 050265 200 02 1 12 050212 MOVE 2,@E223(12) ;TEST INDIRECT ADDRESSING WITH INDEXING
32203 050266 312 02 0 00 050215 CAME 2,E226B ;PASS IF C(AC)=226226,,226226
32204 STOP^
32205 050267 254 04 0 00 050270 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32206 050270 324 00 0 00 050271 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32207 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32208 ;IN THE SUBTEST) TO LOOP ON ERROR^
32209
32210 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 1
DFKAA5 MAC 25-AUG-75 14:00 TEST OF JSR INSTRUCTION SEQ 0717
32211 SUBTTL TEST OF JSR INSTRUCTION
32212
32213 ;**********
32214
32215 ;THIS TEST VERIFIES THAT JSR STORES THE FLAGS AND PC IN LOCATION E.
32216 ;IN THIS CASE, E IS CLEARED, CRY0 IS SET AND JSR IS EXECUTED.
32217 ;NEXT, E IS CHECKED FOR ITS CONTENTS NON-ZERO. IF C(E) IS NON-ZERO,
32218 ;THIS TEST PASSES.
32219
32220 050271 C23000: SFLAG CRY0 ^;SET CRY0 FLAG
32221
32222 050271 205 01 0 00 200000 MOVSI 1,CRY0
32223 050272 255 17 0 00 050273 JFCL 17,.+1 ;RESET ALL FLAGS
32224 050273 254 02 0 01 050274 JRST 2,.+1(1) ;SET CRY0 FLAG
32225 050274 402 00 0 00 050276 SETZM .+2 ;PRELOAD E WITH 0
32226 050275 264 00 0 00 050276 JSR .+1 ;*JSR SHOULD PLACE FLAGS AND PC INTO AC
32227 050276 000000 000000 0 ;E: PRESET TO 0, SHOULD RECEIVE FLAGS AND PC FROM JSR
32228 050277 336 00 0 00 050276 SKIPN .-1 ;PASS IF C(E) IS NON-ZERO.
32229 STOP^
32230 050300 254 04 0 00 050301 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32231 050301 324 00 0 00 050302 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32232 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32233 ;IN THE SUBTEST) TO LOOP ON ERROR^
32234
32235 ;**********
32236
32237 ;THIS TEST VERIFIES THAT JSR IGNORES THE AC FIELD;
32238 ;HENCE, IT DOES NOT MODIFY THE SPECIFIED AC.
32239 ;IN THIS CASE, CRY0 IS SET. THE AC IS PRELOADED WITH -1,,-1 AND JSR IS EXECUTED.
32240 ;THE AC IS THEN CHECKED. IF C(AC)=-1,,-1, THIS TEST PASSES.
32241
32242 050302 C23100: SFLAG CRY0 ^;SET CRY0
32243
32244 050302 205 01 0 00 200000 MOVSI 1,CRY0
32245 050303 255 17 0 00 050304 JFCL 17,.+1 ;RESET ALL FLAGS
32246 050304 254 02 0 01 050305 JRST 2,.+1(1) ;SET CRY0 FLAG
32247 050305 474 01 0 00 000000 SETO 1, ;PRELOAD AC WITH -1,,-1
32248 050306 264 01 0 00 050307 JSR 1,.+1 ;*JSR SHOULD NOT MODIFY THE AC
32249 050307 000000 000000 0 ;STORE PC + FLAGS HERE
32250 050310 312 01 0 00 070254 CAME 1,[-1] ;PASS IF C(AC)=-1,,-1
32251 STOP^
32252 050311 254 04 0 00 050312 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32253 050312 324 00 0 00 050313 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32254 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32255 ;IN THE SUBTEST) TO LOOP ON ERROR^
32256
32257 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 2
DFKAA5 MAC 25-AUG-75 14:00 TEST OF JSR INSTRUCTION SEQ 0718
32258 ;THIS TEST VERIFIES THAT JSR STORES THE FLAGS IN E-LEFT HALF.
32259 ;IN THIS TEST, CRY0 IS SET, E IS CLEARED AND JSR IS EXECUTED.
32260 ;NEXT, C(E-LEFT) ARE PLACED INTO AC0 AND AC0 IS CHECKED FOR ITS CONTENTS NON-ZERO.
32261 ;IF C(AC0) ARE NON-ZERO, THIS TEST PASSES.
32262
32263 050313 C23200: SFLAG CRY0 ^;SET CRY0
32264
32265 050313 205 01 0 00 200000 MOVSI 1,CRY0
32266 050314 255 17 0 00 050315 JFCL 17,.+1 ;RESET ALL FLAGS
32267 050315 254 02 0 01 050316 JRST 2,.+1(1) ;SET CRY0 FLAG
32268 050316 402 00 0 00 050320 SETZM .+2 ;CLEAR E
32269 050317 264 00 0 00 050320 JSR .+1 ;*JSR SHOULD STORE FLAGS IN E
32270 050320 000000 000000 0 ;STORE FLAGS HERE (CRY0 MAKES THIS A MOVE INST)
32271 050321 510 00 0 00 050320 HLLZ .-1 ;PUT FLAGS INTO AC0
32272 050322 336 00 0 00 000000 SKIPN ;PASS IF C(AC0) NON-ZERO
32273 STOP^
32274 050323 254 04 0 00 050324 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32275 050324 324 00 0 00 050325 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32276 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32277 ;IN THE SUBTEST) TO LOOP ON ERROR^
32278
32279 ;**********
32280
32281 ;THIS TEST VERIFIES THAT JSR TRANSFERS CONTROL TO E+1.
32282 ;IN THIS CASE, CRY0 IS SET AND E AND AC0 CLEARED; THEN, JSR IS EXECUTED.
32283 ;IF JSR RESUMES CONTROL AT E INSTEAD OF E+1, AC0 WILL BE MODIFIED;
32284 ;HENCE, THE TEST WILL FAIL WHEN AC0 IS CHECKED FOR 0 BECAUSE
32285 ;C(E) IS DECODED AS A MOVE INSTRUCTION.
32286
32287 050325 C23300: SFLAG CRY0 ^;SET CRY0
32288
32289 050325 205 01 0 00 200000 MOVSI 1,CRY0
32290 050326 255 17 0 00 050327 JFCL 17,.+1 ;RESET ALL FLAGS
32291 050327 254 02 0 01 050330 JRST 2,.+1(1) ;SET CRY0 FLAG
32292 050330 403 00 0 00 050332 SETZB .+2 ;CLEAR AC0 AND E
32293 050331 264 00 0 00 050332 JSR .+1 ;*JSR SHOULD RESUME CONTROL AT E+1
32294 050332 000000 000000 0 ;STORE FLAGS HERE (CRY0 MAKES THIS A MOVE INST)
32295 050333 332 00 0 00 000000 SKIPE 0 ;PASS IF C(AC0)=0
32296 STOP^
32297 050334 254 04 0 00 050335 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32298 050335 324 00 0 00 050336 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32299 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32300 ;IN THE SUBTEST) TO LOOP ON ERROR^
32301
32302 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 3
DFKAA5 MAC 25-AUG-75 14:00 TEST OF JSR INSTRUCTION SEQ 0719
32303 ;THIS TEST VERIFIES THAT JSR JUMPS TO E+1
32304 ;IN THIS CASE, AC0 IS CLEARED AND CRY0 IS SET; THEN, JSR .+2 IS EXECUTED.
32305 ;IF JSR DID NOT JUMP, ONES ARE LOADED WITH AC0; AND THE TEST FAILS.
32306 ;OTHERWISE, AC0 REMAINS CLEAR AND THE TEST PASSES
32307
32308 050336 C23400: SFLAG CRY0 ^;SET CRY0
32309
32310 050336 205 01 0 00 200000 MOVSI 1,CRY0
32311 050337 255 17 0 00 050340 JFCL 17,.+1 ;RESET ALL FLAGS
32312 050340 254 02 0 01 050341 JRST 2,.+1(1) ;SET CRY0 FLAG
32313 050341 400 00 0 00 000000 SETZ ;CLEAR AC0
32314 050342 264 00 0 00 050344 JSR .+2 ;*JSR SHOULD JUMP
32315 050343 474 00 0 00 000000 SETO ;LOAD AC0 WITH ONES IF JSR FAILED TO JUMP
32316 050344 000000 000000 0 ;STORE FLAGS HERE
32317 050345 332 00 0 00 000000 SKIPE ;PASS IF JSR JUMPED CORRECTLY
32318 STOP^
32319 050346 254 04 0 00 050347 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32320 050347 324 00 0 00 050350 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32321 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32322 ;IN THE SUBTEST) TO LOOP ON ERROR^
32323
32324 ;**********
32325
32326 ;THIS TEST VERIFIES THAT JSR STORES THE PC IN E - RIGHT HALF. THE PC
32327 ;IS ONE GREATER THAN THE LOCATION OF THE JSR INSTRUCTION.
32328 ;THIS TEST WILL FAIL IF JSR STORES E INSTEAD OF PC IN E - RIGHT HALF.
32329 ;IN CASE OF FAILURE, AR PC EN AT ET2 WAS FAULTY.
32330
32331 050350 C23500: SFLAG 0 ^;CLEAR ALL FLAGS
32332
32333 050350 205 01 0 00 000000 MOVSI 1,0
32334 050351 255 17 0 00 050352 JFCL 17,.+1 ;RESET ALL FLAGS
32335 050352 254 02 0 01 050353 JRST 2,.+1(1) ;SET 0 FLAG
32336 050353 264 00 0 00 050355 JSR .+2 ;*JSR SHOULD STORE PC+1 IN E - RIGHT
32337 050354 254 04 0 00 050354 HALT . ;JSR SHOULD SKIP OVER THIS HALT
32338 050355 000000 000000 0 ;STORE FLAGS AND PC HERE
32339 050356 550 00 0 00 050355 HRRZ .-1 ;PUT STORED CONTENTS OF E - RIGHT INTO AC0
32340 050357 306 00 0 00 050355 CAIN .-2 ;FAIL IF C(AC0)=E
32341 STOP^
32342 050360 254 04 0 00 050361 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32343 050361 324 00 0 00 050362 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32344 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32345 ;IN THE SUBTEST) TO LOOP ON ERROR^
32346
32347 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4
DFKAA5 MAC 25-AUG-75 14:00 TEST OF JSR INSTRUCTION SEQ 0720
32348 ;THIS TEST VERIFIES THAT JSR STORES THE PC IN E - RIGHT HALF. THE PC
32349 ;IS ONE GREATER THAN THE LOCATION OF THE JSR INSTRUCTION.
32350 ;THIS TEST WILL PASS IF JSR STORES PC IN E - RIGHT HALF.
32351
32352 050362 264 00 0 00 050364 C23600: JSR .+2 ;*JSR SHOULD STORE PC+1 IN E - RIGHT
32353 050363 254 04 0 00 050363 HALT . ;JSR SHOULD SKIP OVER THIS HALT
32354 050364 000000 000000 0 ;STORE FLAGS AND PC HERE
32355 050365 550 00 0 00 050364 HRRZ .-1 ;PUT STORED CONTENTS OF E - RIGHT INTO AC0
32356 050366 302 00 0 00 050363 CAIE C23600+1 ;PASS IF C(AC0)=C23600+1 [PC]
32357 STOP^
32358 050367 254 04 0 00 050370 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32359 050370 324 00 0 00 050371 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32360 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32361 ;IN THE SUBTEST) TO LOOP ON ERROR^
32362
32363 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 5
DFKAA5 MAC 25-AUG-75 14:00 TEST OF JSA INSTRUCTION SEQ 0721
32364 SUBTTL TEST OF JSA INSTRUCTION
32365
32366 ;**********
32367
32368 ;THIS TEST VERIFIES THAT JSA JUMPS TO LOCATION E+1.
32369 ;IN THIS TEST, AC1 IS CLEARED AND A CAM 0,0 IS LOADED
32370 ;INTO THE AC OF THE JSA INSTRUCTION.
32371 ;IF JSA DOES NOT JUMP, AC1 WILL BE LOADED WITH ONES. AC1 IS CHECKED FOR ZEROS.
32372 ;IF C(AC1)=0, THE TEST PASSES; OTHERWISE, THIS TEST FAILS BECAUSE JSA DID NOT JUMP.
32373
32374 050371 400 01 0 00 000000 C23700: SETZ 1, ;CLEAR AC1
32375 050372 200 00 0 00 070627 MOVE [CAM] ;LOAD CAM INTO AC0
32376 050373 266 00 0 00 050375 JSA .+2 ;*JSA SHOULD JUMP TO E+1
32377 050374 474 00 0 00 000001 SETO 1 ;JSA SHOULD JUMP OVER THIS INSTRUCTION
32378 050375 000000 000000 0 ;PASS IF JSA JUMPED
32379 050376 332 00 0 00 000001 SKIPE 1
32380 STOP^
32381 050377 254 04 0 00 050400 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32382 050400 324 00 0 00 050401 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32383 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32384 ;IN THE SUBTEST) TO LOOP ON ERROR^
32385
32386 ;**********
32387
32388 ;THIS TEST VERIFIES THAT JSA JUMPS TO LOCATION E+1.
32389 ;IN THIS TEST, AC1 IS CLEARED AND A MOVEI 1,1234 IS LOADED
32390 ;INTO THE AC OF THE JSA INSTRUCTION.
32391 ;IF JSA DOES NOT JUMP, AC1 WILL BE LOADED WITH 0,,1234. AC1 IS CHECKED FOR ZEROS.
32392 ;IF C(AC1)=0, THE TEST PASSES; OTHERWISE, THIS TEST FAILS BECAUSE JSA DID NOT JUMP.
32393
32394 050401 400 01 0 00 000000 C24000: SETZ 1, ;CLEAR AC1
32395 050402 200 00 0 00 070630 MOVE [MOVEI 1,1234] ;LOAD MOVEI 1,1234 INTO AC
32396 050403 266 00 0 00 050404 JSA .+1 ;*JSA SHOULD JUMP TO E+1
32397 050404 000000 000000 0 ;JSA SHOULD JUMP OVER THIS LOCATION
32398 050405 306 01 0 00 001234 CAIN 1,1234 ;FAIL IF JSA DID NOT JUMP OVER PREVIOUS INSTRUCTION
32399 STOP^
32400 050406 254 04 0 00 050407 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32401 050407 324 00 0 00 050410 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32402 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32403 ;IN THE SUBTEST) TO LOOP ON ERROR^
32404
32405 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6
DFKAA5 MAC 25-AUG-75 14:00 TEST OF JSA INSTRUCTION SEQ 0722
32406 ;THIS TEST VERIFIES THAT JSA LOADS PC OF LOC OF JSA+1 INTO AC RIGHT.
32407 ;THIS TEST WILL FAIL IF JSA LOADS E INTO AC RIGHT INSTEAD OF PC.
32408
32409 050410 266 00 0 00 050412 C24100: JSA .+2 ;*JSA SHOULD LOAD PC INTO AC RIGHT
32410 050411 254 04 0 00 050411 HALT . ;JSA SHOULD JUMP OVER THIS LOCATION
32411 050412 000000 000000 0 ;JSA SHOULD JUMP OVER THIS LOCATION
32412 050413 552 00 0 00 000001 HRRZM 1 ;PUT C(AC-RIGHT) INTO AC1
32413 050414 306 01 0 00 050412 CAIN 1,.-2 ;FAIL IF E WAS LOADED INTO AC-RIGHT INSTEAD OF PC
32414 STOP^
32415 050415 254 04 0 00 050416 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32416 050416 324 00 0 00 050417 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32417 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32418 ;IN THE SUBTEST) TO LOOP ON ERROR^
32419
32420 ;**********
32421
32422 ;THIS TEST VERIFIES THAT JSA PLACES C(AC) INTO E
32423 ;THIS TEST WILL FAIL IF EITHER 0,,E OR 0,,PC IS LOADED
32424 ;INTO E INSTEAD OF C(AC)
32425
32426 050417 403 00 0 00 050421 C24200: SETZB .+2 ;CLEAR AC,E
32427 050420 266 00 0 00 050421 JSA .+1 ;*JSA SHOULD LOAD C(AC) [ZEROS] INTO E
32428 050421 000000 000000 0 ;JSA SHOULD PLACE ZEROS HERE
32429 050422 200 01 0 00 050421 MOVE 1,.-1 ;SAVE C(AC)
32430 050423 306 01 0 00 050421 CAIN 1,.-2 ;FAIL IF JSA LOADED 0,,E OR 0,,PC INTO E
32431 STOP^
32432 050424 254 04 0 00 050425 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32433 050425 324 00 0 00 050426 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32434 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32435 ;IN THE SUBTEST) TO LOOP ON ERROR^
32436
32437 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 7
DFKAA5 MAC 25-AUG-75 14:00 TEST OF JSA INSTRUCTION SEQ 0723
32438 ;THIS TEST VERIFIES THAT JSA PLACES PC INTO AC-RIGHT
32439 ;THIS TEST WILL FAIL IF PC IS NOT LOADED INTO AC-RIGHT
32440
32441 050426 201 00 0 00 777777 C24300: MOVEI -1 ;PRELOAD AC WITH 0,,-1
32442 050427 266 00 0 00 050430 JSA .+1 ;*JSA SHOULD PLACE E,,PC INTO THE AC
32443 050430 000000 000000 0 ;JSA SHOULD PLACE C(AC) HERE
32444 050431 606 00 0 00 777777 TRNN -1 ;FAIL IF AR LT AR RT EN FAILED
32445 STOP^
32446 050432 254 04 0 00 050433 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32447 050433 324 00 0 00 050434 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32448 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32449 ;IN THE SUBTEST) TO LOOP ON ERROR^
32450
32451 ;**********
32452
32453 ;THIS TEST VERIFIES THAT JSA PLACES THE PC OF THE LOCATION OF JSA+1 IN AC-RIGHT
32454 ;THIS TEST FAILS IF A PC WAS NOT LOADED INTO AC RIGHT
32455
32456 050434 400 00 0 00 000000 C24400: SETZ ;CLEAR AC
32457 050435 266 00 0 00 050436 JSA .+1 ;*JSA SHOULD LOAD PC INTO AC - RIGHT
32458 050436 000000 000000 0 ;JSA SHOULD PLACE C(AC) HERE
32459 050437 606 00 0 00 777777 TRNN -1 ;PASS IF AC - RIGHT IS NON-ZERO
32460 STOP^
32461 050440 254 04 0 00 050441 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32462 050441 324 00 0 00 050442 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32463 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32464 ;IN THE SUBTEST) TO LOOP ON ERROR^
32465
32466 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 8
DFKAA5 MAC 25-AUG-75 14:00 TEST OF JSA INSTRUCTION SEQ 0724
32467 ;THIS TEST VERIFIES THAT JSA PLACES IN AC-LEFT
32468 ;THIS TEST FAILS IF JSA LOADS PC INSTEAD OF E INTO AC-LEFT
32469
32470 050442 266 00 0 00 050444 C24500: JSA .+2 ;*JSA SHOULD LOAD E INTO AC-LEFT
32471 050443 254 04 0 00 050443 HALT . ;JSA SHOULD JUMP OVER THIS INSTRUCTION
32472 050444 000000 000000 0 ;E:
32473 050445 556 00 0 00 000001 HLRZM 1 ;SAVE C(AC - LEFT)
32474 050446 306 01 0 00 050443 CAIN 1,.-3 ;FAIL IF JSA LOADED PC INSTEAD OF E INTO AC-LEFT
32475 STOP^
32476 050447 254 04 0 00 050450 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32477 050450 324 00 0 00 050451 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32478 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32479 ;IN THE SUBTEST) TO LOOP ON ERROR^
32480
32481 ;**********
32482
32483 ;THIS TEST VERIFIES THAT JSA LOADS E,,PC INTO THE AC
32484 ;FIRST, THE AC IS PRELOADED WITH -1,,-1; THEN, JSA IS EXECUTED.
32485 ;THE AC IS CHECKED FOR E,,PC. IF C(AC)=E,,PC, THIS TEST PASSES
32486
32487 050451 474 00 0 00 000000 C24600: SETO ;PRELOAD AC WITH -1,,-1
32488 050452 266 00 0 00 050454 JSA .+2 ;*JSA SHOULD PLACE E,,PC INTO THE AC
32489 050453 254 04 0 00 050453 HALT . ;JSA SHOULD JUMP OVER HERE, PC:
32490 050454 000000 000000 0 ;JSA SHOULD STORE C(AC) HERE, E:
32491 050455 312 00 0 00 070631 CAME [XWD .-1,.-2] ;PASS IF C(AC)=E,,PC
32492 STOP^
32493 050456 254 04 0 00 050457 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32494 050457 324 00 0 00 050460 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32495 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32496 ;IN THE SUBTEST) TO LOOP ON ERROR^
32497
32498 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 9
DFKAA5 MAC 25-AUG-75 14:00 TEST OF JSA INSTRUCTION SEQ 0725
32499 ;THIS TEST VERIFIES THAT JSA LOADS E,,PC INTO THE AC
32500 ;FIRST, THE AC IS PRELOADED WITH 0 JSA IS EXECUTED.
32501 ;THE AC IS CHECKED FOR E,,PC. IF C(AC)=E,,PC, THIS TEST PASSES
32502
32503 050460 400 00 0 00 000000 C24700: SETZ ;PRELOAD AC WITH 0
32504 050461 266 00 0 00 050463 JSA .+2 ;*JSA SHOULD PLACE E,,PC INTO THE AC
32505 050462 254 04 0 00 050462 HALT . ;JSA SHOULD JUMP OVER HERE, PC:
32506 050463 000000 000000 0 ;JSA SHOULD STORE C(AC) HERE, E:
32507 050464 312 00 0 00 070632 CAME [XWD .-1,.-2] ;PASS IF C(AC)=E,,PC
32508 STOP^
32509 050465 254 04 0 00 050466 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32510 050466 324 00 0 00 050467 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32511 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32512 ;IN THE SUBTEST) TO LOOP ON ERROR^
32513
32514 ;**********
32515
32516 ;THIS TEST VERIFIES THAT JSA LOADS C(AC) INTO E.
32517 ;AC IS FIRST CLEARED AND E IS PRELOADED WITH ONES;
32518 ;THEN JSA IS EXECUTED. E IS CHECKED FOR ZEROS. IF C(E)=0,
32519 ;THIS TEST PASSES.
32520
32521 050467 400 00 0 00 000000 C25000: SETZ ;CLEAR AC
32522 050470 476 00 0 00 050472 SETOM .+2 ;PRELOAD E WITH -1,,-1
32523 050471 266 00 0 00 050472 JSA .+1 ;*JSA SHOULD PLACE C(AC) INTO E
32524 050472 000000 000000 0 ;E: SHOULD GET C(AC) FROM JSA
32525 050473 332 00 0 00 050472 SKIPE .-1 ;PASS IF C(E)=0
32526 STOP^
32527 050474 254 04 0 00 050475 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32528 050475 324 00 0 00 050476 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32529 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32530 ;IN THE SUBTEST) TO LOOP ON ERROR^
32531
32532 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 10
DFKAA5 MAC 25-AUG-75 14:00 TEST OF JSA INSTRUCTION SEQ 0726
32533 ;THIS TEST VERIFIES THAT JSA LOADS C(AC) INTO E.
32534 ;AC IS FIRST PRELOADED WITH -1,,-1 AND E IS CLEARED;
32535 ;THEN, JSA IS EXECUTED. E IS CHECKED FOR -1,,-1. IF C(E)=-1,,-1,
32536 ;THIS TEST PASSES.
32537
32538 050476 477 00 0 00 000001 C25100: SETOB 1 ;PRELOAD AC -1,,-1
32539 050477 402 00 0 00 050501 SETZM .+2 ;PRELOAD E WITH 0
32540 050500 266 00 0 00 050501 JSA .+1 ;*JSA SHOULD PLACE C(AC) INTO E
32541 050501 000000 000000 0 ;E: SHOULD GET C(AC) FROM JSA
32542 050502 312 01 0 00 050501 CAME 1,.-1 ;PASS IF C(E)=-1,,-1
32543 STOP^
32544 050503 254 04 0 00 050504 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32545 050504 324 00 0 00 050505 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32546 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32547 ;IN THE SUBTEST) TO LOOP ON ERROR^
32548
32549 ;**********
32550
32551 ;THIS TEST VERIFIES THAT JSA LOADS C(AC) INTO E.
32552 ;AC IS FIRST CLEARED AND E IS PRELOADED WITH ONES;
32553 ;THEN JSA IS EXECUTED. E IS CHECKED FOR ZEROS. IF C(E)=0,
32554 ;THIS TEST PASSES.
32555
32556 050505 201 00 0 00 777777 C25200: MOVEI -1 ;PRELOAD AC WITH 0,,-1
32557 050506 266 00 0 00 050507 JSA .+1 ;*JSA SHOULD PLACE C(AC) INTO E
32558 050507 000000 000000 0 ;E: SHOULD GET C(AC) FROM JSA
32559 050510 200 01 0 00 050507 MOVE 1,.-1 ;PASS IF C(E)=0,,-1
32560 050511 302 01 0 00 777777 CAIE 1,-1
32561 STOP^
32562 050512 254 04 0 00 050513 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32563 050513 324 00 0 00 050514 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32564 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32565 ;IN THE SUBTEST) TO LOOP ON ERROR^
32566
32567 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 11
DFKAA5 MAC 25-AUG-75 14:00 TEST OF JSA INSTRUCTION SEQ 0727
32568 ;THIS TEST VERIFIES THAT JSA DOES NOT MODIFY AC+1
32569 ;IN THIS TEST, AC+1 IS PRELOADED WITH -1,,-1; THEN JSA IS EXECUTED
32570 ;AC+1 IS THEN CHECKED FOR ITS ORIGINAL CONTENTS, -1,,-1.
32571 ;IF C(AC+1)=-1,,-1, THIS TEST PASSES
32572
32573 050514 476 00 0 00 000001 C25300: SETOM 1 ;PRELOAD AC+1 WITH -1,,-1
32574 050515 266 00 0 00 050516 JSA .+1 ;*JSA SHOULD NOT MODIFY AC+1
32575 050516 310 00 0 00 000000 CAM ;JSA SHOULD JUMP OVER THIS, E:PC:
32576 050517 312 01 0 00 070254 CAME 1,[-1] ;PASS IF AC+1 WAS NOT MODIFIED BY JSA
32577 STOP^
32578 050520 254 04 0 00 050521 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32579 050521 324 00 0 00 050522 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32580 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32581 ;IN THE SUBTEST) TO LOOP ON ERROR^
32582
32583 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 12
DFKAA5 MAC 25-AUG-75 14:00 TEST OF JRA INSTRUCTION SEQ 0728
32584 SUBTTL TEST OF JRA INSTRUCTION
32585
32586 ;**********
32587
32588 ;THIS TEST VERIFIES THAT JRA TRANSFERS CONTROL TO LOCATION E
32589 ;THIS TEST FAILS IF JRA DOES NOT JUMP TO E.
32590
32591 050522 200 00 0 00 070633 C25400: MOVE [JRST .+4] ;PRELOAD AC0 WITH JRST .+4
32592 050523 205 01 0 00 050525 MOVSI 1,.+2 ;PRELOAD AC WITH E,,0
32593 050524 267 01 0 00 050525 JRA 1,.+1 ;*JRA SHOULD JUMP TO NEXT INSTRUCTION
32594 050525 334 00 0 00 000000 SKIPA ;PASS IF JRA JUMPS TO E
32595 STOP^
32596 050526 254 04 0 00 050527 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32597 050527 324 00 0 00 050530 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32598 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32599 ;IN THE SUBTEST) TO LOOP ON ERROR^
32600
32601 ;**********
32602
32603 ;THIS TEST VERIFIES THAT JRA TRANSFERS CONTROL TO LOCATION E
32604 ;THIS TEST FAILS IF JRA DOES NOT JUMP TO E.
32605
32606 050530 205 00 0 00 050533 C25500: MOVSI .+3 ;PRELOAD AC WITH E+1
32607 050531 267 00 0 00 050532 JRA .+1 ;*JRA SHOULD JUMP TO NEXT SEQUENTIAL INSTRUCTION
32608 050532 334 00 0 00 000000 SKIPA ;PASS IF JRA JUMPS TO E
32609 STOP^
32610 050533 254 04 0 00 050534 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32611 050534 324 00 0 00 050535 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32612 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32613 ;IN THE SUBTEST) TO LOOP ON ERROR^
32614
32615 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 13
DFKAA5 MAC 25-AUG-75 14:00 TEST OF JRA INSTRUCTION SEQ 0729
32616 ;THIS TEST VERIFIES THAT JRA TRANSFERS CONTROL TO LOCATION E
32617 ;THIS TEST FAILS IF JRA DOES NOT JUMP TO E.
32618
32619 050535 403 00 0 00 000001 C25600: SETZB 1 ;PRELOAD AC0, AC1 WITH ZEROS
32620 050536 267 00 0 00 050540 JRA .+2 ;*JRA SHOULD JUMP OVER NEXT SEQUENTIAL INSTRUCTION
32621 050537 474 01 0 00 000000 SETO 1, ;LOAD AC1 WITH ONES IF JRA DOES NOT JUMP
32622 050540 332 00 0 00 000001 SKIPE 1 ;PASS IF JRA JUMPED
32623 STOP^
32624 050541 254 04 0 00 050542 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32625 050542 324 00 0 00 050543 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32626 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32627 ;IN THE SUBTEST) TO LOOP ON ERROR^
32628
32629 ;**********
32630
32631 ;THIS TEST VERIFIES THAT JRA PLACES C(C(AC-LEFT)) INTO THE AC AND JUMPS TO E
32632 ;THIS TEST FAILS IF JRA JUMPS TO E+1 OR DOES NOT LOAD THE AC CORRECTLY.
32633
32634 050543 400 00 0 00 000000 C25700: SETZ ;CLEAR AC
32635 050544 267 00 0 00 050545 JRA .+1 ;*JRA SHOULD PLACE 0 INTO THE AC AND JUMP .+1
32636 050545 332 00 0 00 000000 SKIPE ;PASS IF AC WAS LOADED CORRECTLY
32637 ;AND JRA JUMPED CORRECTLY.
32638 STOP^
32639 050546 254 04 0 00 050547 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32640 050547 324 00 0 00 050550 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32641 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32642 ;IN THE SUBTEST) TO LOOP ON ERROR^
32643
32644 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 14
DFKAA5 MAC 25-AUG-75 14:00 TEST OF JRA INSTRUCTION SEQ 0730
32645 ;THIS TEST VERIFIES THAT JRA PLACES C(C(AC-LEFT)) INTO THE AC
32646 ;FIRST, THE AC IS PRELOADED WITH 1,,2 AND AC1 AND AC2 ARE
32647 ;INITIALIZED WITH THEIR RESPECTIVE ADDRESSES; JRA IS EXECUTED, AND
32648 ;THE AC IS CHECKED FOR 0,,1, THE ORIGINAL C(C(AC-LEFT)). IF C(AC)=0,,1,
32649 ;THIS TEST PASSES
32650
32651 050550 200 00 0 00 070634 C26200: MOVE [XWD 1,2] ;PRELOAD AC WITH 1,,2
32652 050551 201 01 0 00 000001 MOVEI 1,1 ;INITIALIZE AC1 WITH 0,,1
32653 050552 201 02 0 00 000002 MOVEI 2,2 ;INITIALIZE AC2 WITH 0,,2
32654 050553 267 00 0 00 050554 JRA .+1 ;*JRA SHOULD PLACE 0,,1 INTO THE AC
32655 050554 302 00 0 00 000001 CAIE 1 ;PASS IF C(AC)=0,,1
32656 STOP^
32657 050555 254 04 0 00 050556 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32658 050556 324 00 0 00 050557 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32659 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32660 ;IN THE SUBTEST) TO LOOP ON ERROR^
32661
32662 ;**********
32663
32664 ;THIS TEST VERIFIES THAT JRA CAN RESTORE AC0 FROM AC0 WHEN AC0 IS THE
32665 ;SPECIFIED AC AND C(AC0-LEFT)=0.
32666 ;FIRST, AC0 IS PRELOADED AND JRA IS EXECUTED. THEN, AC0 IS CHECKED FOR
32667 ;ITS INITIAL CONTENTS. IF THE RESULT IN AC0, IS CORRECT, THIS TEST PASSES.
32668
32669 050557 551 00 0 00 070635 C26300: HRRZI [135531,,246642] ;PRELOAD AC0 WITH 0,, LITERAL ADDRESS
32670 050560 267 00 0 00 050561 JRA .+1 ;*JRA SHOULD PLACE C(AC0) INTO AC0
32671 050561 302 00 0 00 070635 CAIE [135531,,246642] ;PASS IF JRA PLACED C(AC0) INTO AC0
32672 STOP^
32673 050562 254 04 0 00 050563 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32674 050563 324 00 0 00 050564 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32675 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32676 ;IN THE SUBTEST) TO LOOP ON ERROR^
32677
32678 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 15
DFKAA5 MAC 25-AUG-75 14:00 TEST OF JRA INSTRUCTION SEQ 0731
32679 ;THIS TEST VERIFIES THAT JRA CAN RESOTRE AC0 FROM MEMORY WHEN AC0 IS THE
32680 ;SPECIFIED AC.
32681 ;FIRST, AC0 IS PRELOADED WITH [LITERAL ADDRESS ,,0] AND JRA IS EXECUTED. THEN,
32682 ;AC0 IS CHECKED FOR THE SPECIFIED LITERAL, 135246,,246135. IF
32683 ;C(AC0)=135246,,246135, THE TEST PASSES.
32684
32685 050564 515 00 0 00 070636 C26400: HRLZI [135246,,246135] ;PRELOAD AC0 WITH [LITERAL ADDRESS ,,0]
32686 050565 267 00 0 00 050566 JRA .+1 ;*JRA SHOULD PLACE 135246,,246135 INTO AC0
32687 050566 312 00 0 00 070636 CAME [135246,,246135];PASS IF C(AC0)=135246,,246135
32688 STOP^
32689 050567 254 04 0 00 050570 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32690 050570 324 00 0 00 050571 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32691 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32692 ;IN THE SUBTEST) TO LOOP ON ERROR^
32693
32694 ;**********
32695
32696 ;THIS TEST VERIFIES THAT JRA CAN RESOTRE AC0 FROM MEMORY WHEN AC0 IS THE
32697 ;SPECIFIED AC.
32698 ;FIRST, AC0 IS PRELOADED WITH [-1,, ADDRESS OF JCA INSTRUCTION] AND JRA IS EXECUTED.
32699 ;THEN, AC0 IS CHECKED FOR THE JRA INSTRUCTION. IF
32700 ;C(AC0)= THE JRA INSTRUCTION, THE TEST PASSES.
32701
32702 050571 525 00 0 00 050572 C26500: HRLOI .+1 ;PRELOAD AC WITH -1,, ADDRESS OF JRA INSTRUCTION
32703 050572 267 00 0 00 050573 JRA .+1 ;*JRA SHOULD PLACE ITSELF INTO AC0
32704 050573 312 00 0 00 050572 CAME .-1 ;PASS IF AC CONTAINS JRA INSTRUCTION
32705 STOP^
32706 050574 254 04 0 00 050575 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32707 050575 324 00 0 00 050576 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32708 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32709 ;IN THE SUBTEST) TO LOOP ON ERROR^
32710
32711 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 16
DFKAA5 MAC 25-AUG-75 14:00 TESTS OF BIS FLAG SEQ 0732
32712 SUBTTL TESTS OF BIS FLAG
32713
32714 ;**********
32715
32716 ;THIS TEST VERIFIES THAT JRST 2, CAN CLEAR BIS
32717 ;FIRST, BIS IS SET VIA JRST 2, ;THEN, BIS IS CLEARED VIA JRST 2,.
32718 ;THE FLAGS ARE SAVED AND BIS IS CHECKED. THIS TEST PASSES IF BIS IS RESET;
32719 ;OTHERWISE JRST 2, FAILED TO RESET BIS.
32720
32721 050576 C26600: SFLAG BIS ^;SET BIS FLAG
32722
32723 050576 205 01 0 00 020000 MOVSI 1,BIS
32724 050577 255 17 0 00 050600 JFCL 17,.+1 ;RESET ALL FLAGS
32725 050600 254 02 0 01 050601 JRST 2,.+1(1) ;SET BIS FLAG
32726 SFLAG ^;*RESET BIS FLAG
32727
32728 050601 205 01 0 00 000000 MOVSI 1,
32729 050602 255 17 0 00 050603 JFCL 17,.+1 ;RESET ALL FLAGS
32730 050603 254 02 0 01 050604 JRST 2,.+1(1) ;SET FLAG
32731 050604 265 00 0 00 050605 JSP .+1 ;SAVE FLAGS
32732 050605 603 00 0 00 020037 TLNE BIS+37 ;PASS IF BIS FLAG IS RESET
32733 STOP^
32734 050606 254 04 0 00 050607 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32735 050607 324 00 0 00 050610 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32736 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32737 ;IN THE SUBTEST) TO LOOP ON ERROR^
32738
32739 ;**********
32740
32741 ;THIS TEST VERIFIES THAT JRST 2, CAN SET BIS.
32742 ;FIRST, BIS IS SET VIA JRST 2, AND THE FLAGS ARE SAVED.
32743 ;BIS IS THEN CHECKED. IF BIS IS SET, THIS TEST PASSES.
32744
32745 050610 C26700: SFLAG BIS ^;*SET BIS FLAG VIA JRST
32746
32747 050610 205 01 0 00 020000 MOVSI 1,BIS
32748 050611 255 17 0 00 050612 JFCL 17,.+1 ;RESET ALL FLAGS
32749 050612 254 02 0 01 050613 JRST 2,.+1(1) ;SET BIS FLAG
32750 050613 265 00 0 00 050614 JSP .+1 ;SAVE FLAGS
32751 050614 607 00 0 00 020000 TLNN BIS ;PASS IF BIS FLAG IS SET
32752 STOP^
32753 050615 254 04 0 00 050616 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32754 050616 324 00 0 00 050617 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32755 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32756 ;IN THE SUBTEST) TO LOOP ON ERROR^
32757
32758 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 17
DFKAA5 MAC 25-AUG-75 14:00 TESTS OF BIS FLAG SEQ 0733
32759 ;THIS TEST VERIFIES THAT JSR ALWAYS RESETS BIS.
32760 ;FIRST BIS IS SET; THEN JSR IS EXECUTED. THE FLAGS ARE
32761 ;THEN SAVED AND CHECKED. IF BIS WAS RESET VIA JSR, THIS TEST PASSES.
32762
32763 050617 C27000: SFLAG BIS ^;SET BIS
32764
32765 050617 205 01 0 00 020000 MOVSI 1,BIS
32766 050620 255 17 0 00 050621 JFCL 17,.+1 ;RESET ALL FLAGS
32767 050621 254 02 0 01 050622 JRST 2,.+1(1) ;SET BIS FLAG
32768 050622 264 00 0 00 050623 JSR .+1 ;*JSR SHOULD RESET BIS
32769 050623 000000 000000 0 ;JSR SAVES FLAGS HERE
32770 050624 265 00 0 00 050625 JSP .+1 ;SAVE FLAGS
32771 050625 603 00 0 00 020000 TLNE BIS ;PASS IF BIS FLAG IS RESET
32772 STOP^
32773 050626 254 04 0 00 050627 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32774 050627 324 00 0 00 050630 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32775 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32776 ;IN THE SUBTEST) TO LOOP ON ERROR^
32777
32778 ;**********
32779
32780 ;THIS TEST VERIFIES THAT JSP ALWAYS RESETS BIS.
32781 ;FIRST BIS IS SET; THEN JSP IS EXECUTED. THE FLAGS ARE
32782 ;THEN SAVED AND CHECKED. IF BIS WAS RESET VIA JSP, THIS TEST PASSES.
32783
32784 050630 C27001: SFLAG BIS ^;SET BIS
32785
32786 050630 205 01 0 00 020000 MOVSI 1,BIS
32787 050631 255 17 0 00 050632 JFCL 17,.+1 ;RESET ALL FLAGS
32788 050632 254 02 0 01 050633 JRST 2,.+1(1) ;SET BIS FLAG
32789 050633 265 00 0 00 050634 JSP .+1 ;*JSP SHOULD RESET BIS
32790 050634 265 00 0 00 050635 JSP .+1 ;SAVE FLAGS
32791 050635 603 00 0 00 020000 TLNE BIS ;PASS IF BIS FLAG IS RESET
32792 STOP^
32793 050636 254 04 0 00 050637 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32794 050637 324 00 0 00 050640 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32795 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32796 ;IN THE SUBTEST) TO LOOP ON ERROR^
32797
32798 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 18
DFKAA5 MAC 25-AUG-75 14:00 TESTS OF BIS FLAG SEQ 0734
32799 ;THIS TEST VERIFIES THAT THE BITS IN POSITIONS 8, 9 AND 10 ARE CLEARABLE.
32800 ;FIRST, THE ARITHMETIC FLAGS ARE CLEARED;
32801 ;THEN, BITS 8, 9 AND 10 OF THE PC-WORD IS EXAMINED.
32802 ;IF ANY OF THESE BITS ARE SET, THIS TEST FAILS BECAUSE THEY SHOULD BE CLEAR.
32803
32804 050640 C27100: SFLAG ^;CLEAR ARITHMETIC FLAGS
32805
32806 050640 205 01 0 00 000000 MOVSI 1,
32807 050641 255 17 0 00 050642 JFCL 17,.+1 ;RESET ALL FLAGS
32808 050642 254 02 0 01 050643 JRST 2,.+1(1) ;SET FLAG
32809 050643 265 00 0 00 050644 JSP .+1 ;SAVE FLAGS
32810 050644 603 00 0 00 001600 TLNE 1600 ;PASS IF THESE BITS ARE CLEAR
32811 STOP^
32812 050645 254 04 0 00 050646 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32813 050646 324 00 0 00 050647 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32814 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32815 ;IN THE SUBTEST) TO LOOP ON ERROR^
32816
32817 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 19
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL FWT INSTRUCTIONS SEQ 0735
32818 SUBTTL TEST OF MSCL FWT INSTRUCTIONS
32819
32820 ;**********
32821
32822 ;THIS TEST VERIFIES THAT MOVEM PLACES C(AC) INTO E AND DOES
32823 ;NOT MODIFY C(AC).
32824 ;IN THIS CASE, C(AC)=252525,,252525 ANS C(E)=707070,,707070.
32825 ;HENCE, THE RESULT IN E SHOULD BE 252525,,252525.
32826 ;THE AC IS CHECKED FOR 252525,,252525. IF ANY OTHER NUMBER IS
32827 ;FOUND IN THE AC, IT WAS CLOBBERED BY MOVEM, AND THIS TEST FAILS.
32828 ;E IS CHECKED FOR 252525,,252525. IF ANY OTHER NUMBER IS FOUND
32829 ;IN E, IT WAS UPDATED INCORRECTLY BY MOVEM.
32830
32831 050647 200 00 0 00 070614 C50000: MOVE [252525,,252525] ;PRELOAD AC WITH 252525,,252525
32832 050650 200 01 0 00 070332 MOVE 1,[707070,,707070] ;PRELOAD E WITH 707070,,707070
32833 050651 202 00 0 00 000001 MOVEM 0,1 ;*MOVEM SHOULD PLACE 252525,,252525
32834 ;INTO E AND NOT AFFECT THE AC
32835 050652 312 00 0 00 070614 CAME 0,[252525,,252525] ;PASS IF C(AC) IS NOT CLOBBERED
32836 STOP^
32837 050653 254 04 0 00 050654 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32838 050654 324 00 0 00 050655 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32839 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32840 ;IN THE SUBTEST) TO LOOP ON ERROR^
32841 050655 312 01 0 00 070614 CAME 1,[252525,,252525] ;PASS IF E WAS UPDATED CORRECTLY
32842 STOP^
32843 050656 254 04 0 00 050657 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32844 050657 324 00 0 00 050660 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32845 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32846 ;IN THE SUBTEST) TO LOOP ON ERROR^
32847
32848 ;**********
32849
32850 ;THIS TEST VERIFIES THAT MOVES PLACES C(E) INTO THE AC IF AC IS NON-ZERO.
32851 ;IN THIS CASE, C(AC)=707070,,707070 AND C(E)=123456,,123456. HENCE, BOTH
32852 ;THE AC AND E SHOULD CONTAIN 123456,,123456 AFTER MOVES IS EXECUTED.
32853 ;BOTH AC AND E ARE CHECKED FOR 123456,,123456. IF EITHER AC OR E
32854 ;CONTAIN A DIFFERENT RESULT, THIS TEST FAILS
32855
32856 050660 200 02 0 00 070332 C50100: MOVE 2,[707070,,707070] ;PRELOAD AC WITH 707070,,707070
32857 050661 200 01 0 00 070637 MOVE 1,[123456,,123456] ;PRELOAD E WITH 123456,,123456
32858 050662 203 02 0 00 000001 MOVES 2,1 ;*MOVES SHOULD PLACE 123456,,123456
32859 ;INTO BOTH AC AND E
32860 050663 312 02 0 00 070637 CAME 2,[123456,,123456] ;PASS IF C(AC)=123456,,123456
32861 STOP^
32862 050664 254 04 0 00 050665 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32863 050665 324 00 0 00 050666 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32864 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32865 ;IN THE SUBTEST) TO LOOP ON ERROR^
32866 050666 312 01 0 00 070637 CAME 1,[123456,,123456] ;PASS IF C(E)=123456,,123456
32867 STOP^
32868 050667 254 04 0 00 050670 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32869 050670 324 00 0 00 050671 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32870 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32871 ;IN THE SUBTEST) TO LOOP ON ERROR^
32872
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 19-1
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL FWT INSTRUCTIONS SEQ 0736
32873 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 20
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL FWT INSTRUCTIONS SEQ 0737
32874 ;THIS TEST VERIFIES THAT MOVES IS A NO-OP IF AC=0
32875 ;IN THIS CASE, C(AC)=-1,,-1 AND C(E)=707070,,707070
32876 ;AFTER MOVES IS EXECUTED, AC AND E ARE CHECKED FOR THEIR ORIGINAL DATA.
32877 ;IF EITHER C(AC) OR C(E) CHANGED AS A RESULT OF MOVES, THIS TEST FAILS.
32878
32879 050671 200 01 0 00 070332 C50110: MOVE 1,[707070,,707070] ;PRELOAD E WITH 707070,,707070
32880 050672 474 00 0 00 000000 SETO ;PRELOAD AC WITH -1,,-1
32881 050673 203 00 0 00 000001 MOVES 0,1 ;*MOVES SHOULD FUNCTION AS A NO-OP
32882 050674 312 00 0 00 070254 CAME 0,[-1,,-1] ;PASS IF C(AC) WAS NOT MODIFIED
32883 STOP^
32884 050675 254 04 0 00 050676 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32885 050676 324 00 0 00 050677 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32886 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32887 ;IN THE SUBTEST) TO LOOP ON ERROR^
32888 050677 312 01 0 00 070332 CAME 1,[707070,,707070] ;PASS IF C(E) WAS NOT MODIFIED
32889 STOP^
32890 050700 254 04 0 00 050701 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32891 050701 324 00 0 00 050702 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32892 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32893 ;IN THE SUBTEST) TO LOOP ON ERROR^
32894
32895 ;**********
32896
32897 ;THIS TEST VERIFIES THAT MOVSI LOADS THE WORD E,0 INTO THE AC.
32898 ;IN THIS CASE, C(AC)=707070,,707070 AND E=0,,-1.
32899 ;HENCE, THE RESULT IN THE AC SHOULD BE -1,,0.
32900 ;THE AC IS CHECKED FOR -1,,0. IF C(AC)=-1,,0, THIS TEST PASSES.
32901
32902 050702 200 01 0 00 070332 C50200: MOVE 1,[707070,,707070] ;PRELOAD AC WITH 707070,,707070
32903 050703 205 01 0 00 777777 MOVSI 1,-1 ;*MOVSI SHOULD PLACE -1,,0 INTO THE AC
32904 050704 312 01 0 00 070331 CAME 1,[-1,,0] ;PASS IF C(AC)=1,,0
32905 STOP^
32906 050705 254 04 0 00 050706 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32907 050706 324 00 0 00 050707 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32908 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32909 ;IN THE SUBTEST) TO LOOP ON ERROR^
32910
32911 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 21
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL FWT INSTRUCTIONS SEQ 0738
32912 ;THIS TEST VERIFIES THAT MOVNM PLACES THE NEGATIVE OF C(AC)
32913 ;INTO E. IN THIS CASE, C(AC)=-1,,-1 AND C(E)=-1,,-3.
32914 ;HENCE, THE RESULT IN THE AC SHOULD BE -1,,-1 AND THE RESULT
32915 ;IN E SHOULD BE 0,,1
32916
32917 050707 474 01 0 00 000000 C50300: SETO 1, ;PRELOAD AC WITH -1,,-1
32918 050710 200 02 0 00 070334 MOVE 2,[-1,,-3] ;PRELOAD E WITH -1,,-3
32919 050711 212 01 0 00 000002 MOVNM 1,2 ;*MOVNM SHOULD PLACE 0,,1 INTO E
32920 ;AND NOT AFFTECT C(AC)
32921 050712 312 01 0 00 070254 CAME 1,[-1] ;PASS IF C(AC)=-1,,-1
32922 STOP^
32923 050713 254 04 0 00 050714 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32924 050714 324 00 0 00 050715 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32925 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32926 ;IN THE SUBTEST) TO LOOP ON ERROR^
32927 050715 302 02 0 00 000001 CAIE 2,1 ;PASS IF C(E)=0,,1
32928 STOP^
32929 050716 254 04 0 00 050717 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32930 050717 324 00 0 00 050720 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32931 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32932 ;IN THE SUBTEST) TO LOOP ON ERROR^
32933
32934 ;**********
32935
32936 ;THIS TEST VERIFIES THAT MOVNM PLACES THE NEGATIVE OF C(AC)
32937 ;INTO E. IN THIS CASE, C(AC)=-1,,-1 AND C(E)=-1,,-3.
32938 ;HENCE, THE RESULT IN THE AC SHOULD BE -1,,-1 AND THE RESULT
32939 ;IN E SHOULD BE 0,,1
32940
32941 050720 474 01 0 00 000000 C50301: SETO 1, ;PRELOAD AC WITH -1,,-1
32942 050721 200 02 0 00 070334 MOVE 2,[-1,,-3] ;PRELOAD E WITH -1,,-3
32943 050722 202 02 0 00 050734 MOVEM 2,E50301
32944 050723 212 01 0 00 050734 MOVNM 1,E50301 ;*MOVNM SHOULD PLACE 0,,1 INTO E
32945 ;AND NOT AFFTECT C(AC)
32946 050724 312 01 0 00 070254 CAME 1,[-1] ;PASS IF C(AC)=-1,,-1
32947 STOP^
32948 050725 254 04 0 00 050726 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32949 050726 324 00 0 00 050727 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32950 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32951 ;IN THE SUBTEST) TO LOOP ON ERROR^
32952 050727 200 02 0 00 050734 MOVE 2,E50301
32953 050730 302 02 0 00 000001 CAIE 2,1 ;PASS IF C(E)=0,,1
32954 STOP^
32955 050731 254 04 0 00 050732 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32956 050732 324 00 0 00 050733 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32957 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32958 ;IN THE SUBTEST) TO LOOP ON ERROR^
32959
32960 050733 334 00 0 00 000000 SKIPA ;GO TO NEXT TEST
32961 050734 000000 000000 E50301: 0 ;TESTED MEMORY LOCATION
32962
32963 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 22
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL FWT INSTRUCTIONS SEQ 0739
32964 ;THIS TEST VERIFIES THAT MOVNS PLACES THE NEGATIVE OF C(E) INTO E
32965 ;AND INTO THE AC IF THE AC IS NON-ZERO. IN THIS CASE, AC=0,
32966 ;C(AC)=0 AND C(E)=0,,1
32967 ;HENCE, THE RESULT IN THE AC SHOULD BE 0
32968 ;AND THE RESULT IN E SHOULD BE -1,,-1
32969
32970 050735 400 00 0 00 000000 C50400: SETZ ;CLEAR AC
32971 050736 201 02 0 00 000001 MOVEI 2,1 ;PRELOAD E WITH 0,,1
32972 050737 213 00 0 00 000002 MOVNS 0,2 ;*MOVNS SHOULD PLACE -1,,-1 INTO E
32973 ;AND SHOULD NOT AFFECT THE AC
32974 050740 332 00 0 00 000000 SKIPE ;PASS IF THE AC IS UNALTERED
32975 STOP^
32976 050741 254 04 0 00 050742 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32977 050742 324 00 0 00 050743 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32978 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32979 ;IN THE SUBTEST) TO LOOP ON ERROR^
32980 050743 312 02 0 00 070254 CAME 2,[-1] ;PASS IF C(E)=-1,,-1
32981 STOP^
32982 050744 254 04 0 00 050745 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
32983 050745 324 00 0 00 050746 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
32984 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
32985 ;IN THE SUBTEST) TO LOOP ON ERROR^
32986
32987 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 23
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL FWT INSTRUCTIONS SEQ 0740
32988 ;THIS TEST VERIFIES THAT MOVNS PLACES THE NEGATIVE OF C(E) INTO E
32989 ;AND INTO THE AC IF THE AC IS NON-ZO. IN THIS CASE, AC=0,
32990 ;C(AC)=0 AND C(E)=0,,1
32991 ;HENCE, THE RESULT IN THE AC SHOULD BE 0
32992 ;AND THE RESULT IN E SHOULD BE -1,,-1
32993
32994 050746 400 00 0 00 000000 C50401: SETZ ;CLEAR AC
32995 050747 201 02 0 00 000001 MOVEI 2,1 ;PRELOAD E WITH 0,,1
32996 050750 202 02 0 00 050762 MOVEM 2,E50401
32997 050751 213 00 0 00 050762 MOVNS 0,E50401 ;*MOVNS SHOULD PLACE -1,,-1 INTO E
32998 ;AND SHOULD NOT AFFECT THE AC
32999 050752 332 00 0 00 000000 SKIPE ;PASS IF THE AC IS UNALTERED
33000 STOP^
33001 050753 254 04 0 00 050754 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33002 050754 324 00 0 00 050755 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33003 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33004 ;IN THE SUBTEST) TO LOOP ON ERROR^
33005 050755 200 02 0 00 050762 MOVE 2,E50401
33006 050756 312 02 0 00 070254 CAME 2,[-1] ;PASS IF C(E)=-1,,-1
33007 STOP^
33008 050757 254 04 0 00 050760 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33009 050760 324 00 0 00 050761 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33010 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33011 ;IN THE SUBTEST) TO LOOP ON ERROR^
33012
33013 050761 334 00 0 00 000000 SKIPA ;GO TO NEXT TEST
33014 050762 000000 000000 E50401: 0 ;TESTED MEMORY LOCATION
33015
33016 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 24
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL FWT INSTRUCTIONS SEQ 0741
33017 ;THIS TEST VERIFIES THAT MOVNS PLACES THE NEGATIVE OF C(E) INTO E
33018 ;AND INTO THE AC IF THE AC IS NON-ZERO. IN THIS CASE, AC=1,
33019 ;C(AC=0 AND C(E)=3
33020 ;HENCE, THE RESULT IN THE AC SHOULD BE -1,,3
33021 ;AND THE RESULT IN E SHOULD BE -1,,3.
33022
33023 050763 400 01 0 00 000000 C50410: SETZ 1, ;CLEAR AC
33024 050764 201 02 0 00 000003 MOVEI 2,3 ;PRELOAD WITH 0,,3
33025 050765 213 01 0 00 000002 MOVNS 1,2 ;*MOVNS SHOULD PLACE -1,,-3 INTO E
33026 ;AND -1,,-3 INTO THE AC
33027 050766 312 01 0 00 070334 CAME 1,[-1,,-3] ;PASS IF C(AC)=-1,,-3
33028 STOP^
33029 050767 254 04 0 00 050770 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33030 050770 324 00 0 00 050771 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33031 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33032 ;IN THE SUBTEST) TO LOOP ON ERROR^
33033 050771 312 02 0 00 070334 CAME 2,[-1,,-3] ;PASS IF C(E)=-1,,-3
33034 STOP^
33035 050772 254 04 0 00 050773 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33036 050773 324 00 0 00 050774 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33037 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33038 ;IN THE SUBTEST) TO LOOP ON ERROR^
33039
33040 ;**********
33041
33042 ;THIS TEST VERIFIES THAT MOVMI MOVES THE WORD 0,,E INTO THE AC.
33043 ;IN THIS CASE, C(AC)=0 AND E=0,,-2. HENCE, THE RESULT IN THE AC
33044 ;SHOULD BE 0,,-2.
33045
33046 050774 400 01 0 00 000000 C50500: SETZ 1, ;CLEAR AC
33047 050775 215 01 0 00 777776 MOVMI 1,-2 ;*MOVMI SHOULD PLACE 0,,-2 INTO AC
33048 050776 302 01 0 00 777776 CAIE 1,-2 ;PASS IF C(AC)=0,,-2
33049 STOP^
33050 050777 254 04 0 00 051000 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33051 051000 324 00 0 00 051001 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33052 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33053 ;IN THE SUBTEST) TO LOOP ON ERROR^
33054
33055 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 25
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL FWT INSTRUCTIONS SEQ 0742
33056 ;THIS TEST VERIFIES THAT MOVM MOVES THE MAGNITUDE OF C(E) NTO THE AC.
33057 ;IN THIS CASE, C(AC)=0 AND C(E)=-1,,-2. HENCE, THE RESULT IN THE AC
33058 ;SHOULD BE 0,,2.
33059
33060 051001 400 01 0 00 000000 C50501: SETZ 1, ;CLEAR AC
33061 051002 200 03 0 00 070333 MOVE 3,[-2] ;PRELOAD E WITH -1,,-2
33062 051003 214 01 0 00 000003 MOVM 1,3 ;*MOVM SHOULD PLACE 0,,2 INTO AC
33063 051004 302 01 0 00 000002 CAIE 1,2 ;PASS IF C(AC)=0,,2
33064 STOP^
33065 051005 254 04 0 00 051006 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33066 051006 324 00 0 00 051007 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33067 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33068 ;IN THE SUBTEST) TO LOOP ON ERROR^
33069
33070 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 26
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL FWT INSTRUCTIONS SEQ 0743
33071 ;THIS TEST VERIFIES THAT MOVMM PLACES THE MAGNITUDE OF C(AC)
33072 ;INTO E. IN THIS CASE, C(AC)=-1,,-2 AND C(E)=0. HENCE, THE
33073 ;RESULT IN E SHOULD BE 0,,2 AND C(AC) SHOULD REMAIN UNCHANGED.
33074
33075 051007 200 01 0 00 070333 C50600: MOVE 1,[-1,,-2] ;PRELOAD AC WITH -1,,-2
33076 051010 400 02 0 00 000000 SETZ 2, ;CLEAR E
33077 051011 216 01 0 00 000002 MOVMM 1,2 ;*MOVMM SHOULD PLACE 0,,2 INTO E
33078 ;AND SHOULD NOT CHANGE C(AC)
33079 051012 312 01 0 00 070333 CAME 1,[-1,,-2] ;PASS IF C(AC) IS NOT ALTERED
33080 STOP^
33081 051013 254 04 0 00 051014 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33082 051014 324 00 0 00 051015 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33083 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33084 ;IN THE SUBTEST) TO LOOP ON ERROR^
33085 051015 302 02 0 00 000002 CAIE 2,2 ;PASS IF C(E)=0,,2
33086 STOP^
33087 051016 254 04 0 00 051017 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33088 051017 324 00 0 00 051020 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33089 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33090 ;IN THE SUBTEST) TO LOOP ON ERROR^
33091
33092 ;**********
33093
33094 ;THIS TEST VERIFIES THAT MONMS PLACES THE MAGNITUDE OF C(E) INTO E
33095 ;AND INTO THE AC IF THE AC IS NON-ZERO. IN THIS CASE, AC=0, C(AC)=0
33096 ;AND C(E)=-1,,-2.
33097 ;HENCE, THE RESULT IN THE AC SHOULD BE 0 AND THE RESULT IN
33098 ;E SHOULD BE 0,,2.
33099
33100 051020 400 00 0 00 000000 C50700: SETZ ;CLEAR AC
33101 051021 200 02 0 00 070333 MOVE 2,[-1,,-2] ;PRELOAD E WITH -1,,-1
33102 051022 217 00 0 00 000002 MOVMS 0,2 ;*MOVMS SHOULD PLACE 0,,1 INTO E
33103 ;AND SHOULD NOT CHANGE C(AC)
33104 051023 332 00 0 00 000000 SKIPE ;PASS IF C(AC) IS UNALTERED
33105 STOP^
33106 051024 254 04 0 00 051025 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33107 051025 324 00 0 00 051026 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33108 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33109 ;IN THE SUBTEST) TO LOOP ON ERROR^
33110 051026 302 02 0 00 000002 CAIE 2,2 ;PASS IF C(E)=0,,2
33111 STOP^
33112 051027 254 04 0 00 051030 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33113 051030 324 00 0 00 051031 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33114 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33115 ;IN THE SUBTEST) TO LOOP ON ERROR^
33116
33117 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL FWT INSTRUCTIONS SEQ 0744
33118 ;THIS TEST VERIFIES THAT MOVMS PLACES THE MAGNITUDE OF C(E) INTO E
33119 ;AND INTO THE AC IF THE AC IS NON-ZERO. IN THIS CASE, AC=1, C(AC)=-1,,-1
33120 ;AND C(E)=-1,,-2.
33121 ;HENCE, THE RESULT IN THE AC SHOULD BE 0,,2 AND THE RESULT
33122 ;IN E SHOULD BE 0,,2.
33123
33124 051031 474 01 0 00 000000 C50710: SETO 1, ;PRELOAD AC WITH -1,,-1
33125 051032 200 02 0 00 070333 MOVE 2,[-1,,-2] ;PRELOAD E WITH -1,,-2
33126 051033 217 01 0 00 000002 MOVMS 1,2 ;*MOVMS SHOULD PLACE 0,,2 INTO E
33127 ;AND SHOULD PLACE 0,,2 INTO THE AC
33128 051034 302 01 0 00 000002 CAIE 1,2 ;PASS IF C(AC)=0,,2
33129 STOP^
33130 051035 254 04 0 00 051036 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33131 051036 324 00 0 00 051037 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33132 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33133 ;IN THE SUBTEST) TO LOOP ON ERROR^
33134 051037 302 02 0 00 000002 CAIE 2,2 ;PASS IF C(E)=0,,2
33135 STOP^
33136 051040 254 04 0 00 051041 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33137 051041 324 00 0 00 051042 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33138 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33139 ;IN THE SUBTEST) TO LOOP ON ERROR^
33140
33141 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 28
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL ADD/SUB INSTRUCTIONS SEQ 0745
33142 SUBTTL TEST OF MSCL ADD/SUB INSTRUCTIONS
33143
33144 ;**********
33145
33146 ;THIS TEST VERIFIES THAT SUBI SUBTRACTS THE WORD 0,,E FROM C(AC)
33147 ;AND PLACES THE RESULT INTO THE AC. IN THIS CASE, C(AC)=70 AND
33148 ;E=0,,2. HENCE, THE RESULT IN THE AC SHOULD BE 66.
33149
33150 051042 201 01 0 00 000070 C51000: MOVEI 1,70 ;PRELOAD AC WITH 70
33151 051043 275 01 0 00 000002 SUBI 1,2 ;*SUBI SHOULD PLACE 66 INTO AC
33152 051044 302 01 0 00 000066 CAIE 1,66 ;PASS IF C(AC)=66
33153 STOP^
33154 051045 254 04 0 00 051046 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33155 051046 324 00 0 00 051047 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33156 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33157 ;IN THE SUBTEST) TO LOOP ON ERROR^
33158
33159 ;**********
33160
33161 ;THIS TEST VERIFIES THAT SUBM SUBTRACTS C(E) FROM C(AC) AND
33162 ;PLACES THE RESULT INTO E. THE AC IS UNAFFECTED. IN THIS CASE,
33163 ;C(AC)=100 AND C(E)=37. HENCE, THE RESULTS IN AC AND
33164 ;E SHOULD BE 0,,100 AND 0,,41 RESPECTIVELY.
33165
33166 051047 201 01 0 00 000100 C51100: MOVEI 1,100 ;PRELOAD AC WITH 0,,100
33167 051050 201 02 0 00 000037 MOVEI 2,37 ;PRELOAD E WITH 0,,37
33168 051051 276 01 0 00 000002 SUBM 1,2 ;*SUBM SHOULD PLACE
33169 ;0,,41 INTO E AND NOT CHANGE C(AC)
33170 051052 302 01 0 00 000100 CAIE 1,100 ;PASS IF C(AC) IS UNCHANGED
33171 STOP^
33172 051053 254 04 0 00 051054 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33173 051054 324 00 0 00 051055 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33174 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33175 ;IN THE SUBTEST) TO LOOP ON ERROR^
33176 051055 302 02 0 00 000041 CAIE 2,41 ;PASS IF C(E)=0,,41
33177 STOP^
33178 051056 254 04 0 00 051057 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33179 051057 324 00 0 00 051060 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33180 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33181 ;IN THE SUBTEST) TO LOOP ON ERROR^
33182
33183 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL ADD/SUB INSTRUCTIONS SEQ 0746
33184 ;THIS TEST VERIFIES THAT SUBM SUBTRACTS C(E) FROM C(AC) AND
33185 ;PLACES THE RESULT INTO E. THE AC IS UNAFFECTED. IN THIS CASE,
33186 ;C(AC)=100 AND C(E)=37. HENCE, THE RESULTS IN AC AND
33187 ;E SHOULD BE 0,,100 AND 0,,41 RESPECTIVELY.
33188
33189 051060 201 01 0 00 000100 C51101: MOVEI 1,100 ;PRELOAD AC WITH 0,,100
33190 051061 201 02 0 00 000037 MOVEI 2,37 ;PRELOAD E WITH 0,,37
33191 051062 202 02 0 00 051074 MOVEM 2,E51101
33192 051063 276 01 0 00 051074 SUBM 1,E51101 ;*SUBM SHOULD PLACE
33193 ;0,,41 INTO E AND NOT CHANGE C(AC)
33194 051064 302 01 0 00 000100 CAIE 1,100 ;PASS IF C(AC) IS UNCHANGED
33195 STOP^
33196 051065 254 04 0 00 051066 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33197 051066 324 00 0 00 051067 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33198 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33199 ;IN THE SUBTEST) TO LOOP ON ERROR^
33200 051067 200 02 0 00 051074 MOVE 2,E51101
33201 051070 302 02 0 00 000041 CAIE 2,41 ;PASS IF C(E)=0,,41
33202 STOP^
33203 051071 254 04 0 00 051072 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33204 051072 324 00 0 00 051073 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33205 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33206 ;IN THE SUBTEST) TO LOOP ON ERROR^
33207
33208 051073 334 00 0 00 000000 SKIPA ;GO TO NEXT TEST
33209 051074 000000 000000 E51101: 0 ;TEST WORD MEMORY
33210
33211 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 30
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL ADD/SUB INSTRUCTIONS SEQ 0747
33212 ;THIS TEST VERIFIES THAT SUBB SUBTRACTS C(E) FROM C(AC) AND
33213 ;PLACES THE RESULT INTO BOTH AC AND E. IN THIS CASE,
33214 ;C(AC)=0,,100 AND C(E)=0,,37. HENCE, THE RESULT IN BOTH
33215 ;AC AND E SHOULD BE 0,,41.
33216
33217 051075 201 01 0 00 000100 C51200: MOVEI 1,100 ;PRELOAD AC WITH 0,,100
33218 051076 201 02 0 00 000037 MOVEI 2,37 ;PRELOAD E WITH O,,37
33219 051077 277 01 0 00 000002 SUBB 1,2 ;*SUBB SHOULD PLACE 0,,41 INTO BOTH AC AND E
33220 051100 302 01 0 00 000041 CAIE 1,41 ;PASS IF C(AC)=0,,41
33221 STOP^
33222 051101 254 04 0 00 051102 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33223 051102 324 00 0 00 051103 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33224 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33225 ;IN THE SUBTEST) TO LOOP ON ERROR^
33226 051103 302 02 0 00 000041 CAIE 2,41 ;PASS IF C(E)=0,,41
33227 STOP^
33228 051104 254 04 0 00 051105 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33229 051105 324 00 0 00 051106 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33230 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33231 ;IN THE SUBTEST) TO LOOP ON ERROR^
33232
33233 ;**********
33234
33235 ;THIS TEST VERIFIES THAT SUBB SUBTRACTS C(E) FROM C(AC) AND
33236 ;PLACES THE RESULT INTO BOTH AC AND E. IN THIS CASE,
33237 ;C(AC)=0,,100 AND C(E)=0,,37. HENCE, THE RESULT IN BOTH
33238 ;AC AND E SHOULD BE 0,,41.
33239
33240 051106 201 01 0 00 000100 C51201: MOVEI 1,100 ;PRELOAD AC WITH 0,,100
33241 051107 201 02 0 00 000037 MOVEI 2,37 ;PRELOAD E WITH O,,37
33242 051110 202 02 0 00 051122 MOVEM 2,E51201
33243 051111 277 01 0 00 051122 SUBB 1,E51201 ;*SUBB SHOULD PLACE 0,,41 INTO BOTH AC AND E
33244 051112 302 01 0 00 000041 CAIE 1,41 ;PASS IF C(AC)=0,,41
33245 STOP^
33246 051113 254 04 0 00 051114 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33247 051114 324 00 0 00 051115 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33248 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33249 ;IN THE SUBTEST) TO LOOP ON ERROR^
33250 051115 200 02 0 00 051122 MOVE 2,E51201
33251 051116 302 02 0 00 000041 CAIE 2,41 ;PASS IF C(E)=0,,41
33252 STOP^
33253 051117 254 04 0 00 051120 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33254 051120 324 00 0 00 051121 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33255 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33256 ;IN THE SUBTEST) TO LOOP ON ERROR^
33257
33258 051121 334 00 0 00 000000 SKIPA ;GO TO NEXT TEST
33259 051122 000000 000000 E51201: 0 ;TEST WORD MEMORY
33260
33261 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 31
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL CAIX INSTRUCTIONS SEQ 0748
33262 SUBTTL TEST OF MSCL CAIX INSTRUCTIONS
33263
33264 ;**********
33265
33266 ;THIS TEST VERIFIES THAT CAIL COMPARES C(AC) WITH E AND
33267 ;SKIPS THE NEXT INSTRUCTION IF C(AC) IS LESS THAN E.
33268 ;IN THIS CASE, C(AC)=0,,1 AND E=0,,2
33269 ;HENCE, CAIL SHOULD SKIP THE NEXT INSTRUCTION.
33270 ;IF CAIL SKIPS THE NEXT INSTRUCTION, THIS TEST PASSES
33271
33272 051123 201 01 0 00 000001 C51300: MOVEI 1,1 ;PRELOAD AC WITH 0,,1
33273 051124 301 01 0 00 000002 CAIL 1,2 ;*CAIL SHOULD SKIP THE NEXT INSTRUCTION
33274 STOP^
33275 051125 254 04 0 00 051126 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33276 051126 324 00 0 00 051127 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33277 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33278 ;IN THE SUBTEST) TO LOOP ON ERROR^
33279
33280 ;**********
33281
33282 ;THIS TEST VERIFIES THAT CAIL COMPARES C(AC) WITH E AND
33283 ;SKIPS THE NEXT INSTRUCTION IF C(AC) IS LESS THAN E.
33284 ;IN THIS CASE, C(AC)=0,,2 AND E=0,,2.
33285 ;HENCE, CAIL SHOULD NOT SKIP THE NEXT INSTRUCTION.
33286 ;IF CAIL DOES NOT SKIP THE NEXT INSTRUCTION, THIS TEST PASSES.
33287
33288 051127 201 01 0 00 000002 C51310: MOVEI 1,2 ;PRELOAD AC WITH 0,,2
33289 051130 301 01 0 00 000002 CAIL 1,2 ;*CAIL SHOULD NOT SKIP THE NEXT INSTRUCTION
33290 051131 334 00 0 00 000000 SKIPA ;PASS IF CAIL DOES NOT SKIP
33291 STOP^
33292 051132 254 04 0 00 051133 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33293 051133 324 00 0 00 051134 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33294 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33295 ;IN THE SUBTEST) TO LOOP ON ERROR^
33296
33297 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 32
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL CAIX INSTRUCTIONS SEQ 0749
33298 ;THIS TEST VERIFIES THAT CAIL COMPARES C(AC) WITH E AND
33299 ;SKIPS THE NEXT INSTRUCTION IF C(AC) IS LESS THAN E
33300 ;IN THIS CASE, C(AC)=0,,3 AND E=0,,2
33301 ;HENCE, CAIL SHOULD NOT SKIP THE NEXT INSTRUCTION.
33302 ;IF CAIL DOES NOT SKIP THE NEXT INSTRUCTION, THIS TEST PASSES.
33303
33304 051134 201 01 0 00 000003 C51320: MOVEI 1,3 ;PRELOAD AC WITH 0,,3
33305 051135 301 01 0 00 000002 CAIL 1,2 ;*CAIL SHOULD SKIP THE NEXT INSTRUCTION
33306 051136 334 00 0 00 000000 SKIPA ;PASS IF CAIL DOES NOT SKIP
33307 STOP^
33308 051137 254 04 0 00 051140 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33309 051140 324 00 0 00 051141 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33310 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33311 ;IN THE SUBTEST) TO LOOP ON ERROR^
33312
33313 ;**********
33314
33315 ;THIS TEST VERIFIES THAT CAILE COMPARES C(AC) WITH E AND
33316 ;SKIPS THE NEXT INSTRUCTION IF C(AC) IS LESS THAN OR EQUAL TO E
33317 ;IN THIS CASE, C(AC)=-1,,-1 AND E=0
33318 ;HENCE, CAILE SHOULD SKIP THE NEXT INSTRUCTION
33319 ;IF CAILE SKIPS THE NEXT INSTRUCTION, THE TEST PASSES
33320
33321 051141 474 01 0 00 000000 C51400: SETO 1, ;PRELOAD AC WITH -1,,-1
33322 051142 303 01 0 00 000000 CAILE 1,0 ;*CAILE SHOULD SKIP THE NEXT INSTRUCTION
33323 STOP^
33324 051143 254 04 0 00 051144 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33325 051144 324 00 0 00 051145 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33326 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33327 ;IN THE SUBTEST) TO LOOP ON ERROR^
33328
33329 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 33
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL CAIX INSTRUCTIONS SEQ 0750
33330 ;THIS TEST VERIFIES THAT CAILE COMPARES C(AC) WITH E AND
33331 ;SKIPS THE NEXT INSTRUCTION IF C(AC) IS LESS THAN OR EQUAL TO E
33332 ;IN THIS CASE, C(AC)=0 AND E=0
33333 ;HENCE, CAILE SHOULD SKIP THE NEXT INSTRUCTION.
33334 ;IF CAILE SKIPS THE NEXT INSTRUCTION, THIS TEST PASSES.
33335
33336 051145 400 01 0 00 000000 C51410: SETZ 1, ;PRELOAD AC WITH 0
33337 051146 303 01 0 00 000000 CAILE 1,0 ;*CAILE SHOULD SKIP THE NEXT INSTRUCTION.
33338 STOP^
33339 051147 254 04 0 00 051150 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33340 051150 324 00 0 00 051151 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33341 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33342 ;IN THE SUBTEST) TO LOOP ON ERROR^
33343
33344 ;**********
33345
33346 ;THIS TEST VERIFIES THAT CAILE COMPARES C(AC) WITH E AND
33347 ;SKIPS THE NEXT INSTRUCTION IF C(AC) IS LESS THAN OR EQUAL TO E
33348 ;IN THIS CASE, C(AC)=0,,1 AND E=0
33349 ;HENCE, CAILE SHOULD NOT SKIP THE NEXT INSTRUCTION.
33350 ;IF CAILE DOES NOT SKIP THE NEXT INSTRUCTION, THE TEST PASSES
33351
33352 051151 201 01 0 00 000001 C51420: MOVEI 1,1 ;PRELOAD AC WITH 0,,1
33353 051152 303 01 0 00 000000 CAILE 1,0 ;*CAILE SHOULD NOT SKIP THE NEXT INSTRUCTION
33354 051153 334 00 0 00 000000 SKIPA ;PASS IF CAILE DOES NOT SKIP
33355 STOP^
33356 051154 254 04 0 00 051155 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33357 051155 324 00 0 00 051156 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33358 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33359 ;IN THE SUBTEST) TO LOOP ON ERROR^
33360
33361 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 34
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL CAIX INSTRUCTIONS SEQ 0751
33362 ;THIS TEST VERIFIES THAT CAIA COMPARES C(AC) WITH E AND ALWAYS
33363 ;SKIPS THE NEXT INSTRUCTION
33364 ;IN THIS CASE, C(AC)=-1,,-1 AND E=0
33365 ;HENCE, CAIA SHOULD SKIP THE NEXT INSTRUCTION
33366 ;IF CAIA SKIPS THE NEXT INSTRUCTION, THIS TEST PASSES
33367
33368 051156 474 01 0 00 000000 C51500: SETO 1, ;PRELOAD AC WITH -1,,-1
33369 051157 304 01 0 00 000000 CAIA 1,0 ;*CAIA SHOULD SKIP THE NEXT INSTRUCTION
33370 STOP^
33371 051160 254 04 0 00 051161 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33372 051161 324 00 0 00 051162 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33373 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33374 ;IN THE SUBTEST) TO LOOP ON ERROR^
33375
33376 ;**********
33377
33378 ;THIS TEST VERIFIES THAT CAIA COMPARES C(AC) WITH E AND ALWAYS
33379 ;SKIPS THE NEXT INSTRUCTION
33380 ;IN THIS CASE, C(AC)=0 AND E=0
33381 ;HENCE, CAIA SHOULD SKIP THE NEXT INSTRUCTION.
33382 ;IF CAIA SKIPS THE NEXT INSTRUCTION, THIS TEST PASSES
33383
33384 051162 400 01 0 00 000000 C51510: SETZ 1, ;PRELOAD AC WITH 0
33385 051163 304 01 0 00 000000 CAIA 1,0 ;*CAIA SHOULD SKIP THE NEXT INSTRUCTION
33386 STOP^
33387 051164 254 04 0 00 051165 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33388 051165 324 00 0 00 051166 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33389 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33390 ;IN THE SUBTEST) TO LOOP ON ERROR^
33391
33392 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 35
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL CAIX INSTRUCTIONS SEQ 0752
33393 ;THIS TEST VERIFIES THAT CAIA COMPARES C(AC) WITH E AND ALWAYS
33394 ;SKIPS THE NEXT INSTRUCTION
33395 ;IN THIS CASE, C(AC)=0,,1 AND E=0
33396 ;HENCE, CAIA SHOULD SKIP THE NEXT INSTRUCTION.
33397 ;IF CAIA SKIPS THE NEXT INSTRUCTION, THIS TEST PASSES.
33398
33399 051166 201 01 0 00 000001 C51520: MOVEI 1,1 ;PRELOAD AC WITH 0,,1
33400 051167 304 01 0 00 000000 CAIA 1,0 ;*CAIA SHOULD SKIP THE NEXT INSTRUCTION
33401 STOP^
33402 051170 254 04 0 00 051171 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33403 051171 324 00 0 00 051172 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33404 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33405 ;IN THE SUBTEST) TO LOOP ON ERROR^
33406
33407 ;**********
33408
33409 ;THIS TEST VERIFIES THAT CAIGE COMPARES C(AC) WITH E AND
33410 ;SKIPS THE NEXT INSTRUCTION IF C(AC) IS GREATER THAN OR EQUAL TO E.
33411 ;IN THIS CASE, C(AC)=0,,5 AND E=0,,6
33412 ;HENCE, CAIGE SHOULD NOT SKIP THE NEXT INSTRUCTION.
33413 ;IF CAIGE DOES NOT SKIP THE NEXT INSTRUCTION, THIS TEST PASSES
33414
33415 051172 201 02 0 00 000005 C51600: MOVEI 2,5 ;PRELOAD AC WITH 0,,5
33416 051173 305 02 0 00 000006 CAIGE 2,6 ;*CAIGE SHOULD NOT SKIP THE NEXT INSTRUCTION
33417 051174 334 00 0 00 000000 SKIPA ;PASS IF CAIGE DOES NOT SKIP
33418 STOP^
33419 051175 254 04 0 00 051176 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33420 051176 324 00 0 00 051177 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33421 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33422 ;IN THE SUBTEST) TO LOOP ON ERROR^
33423
33424 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 36
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL CAIX INSTRUCTIONS SEQ 0753
33425 ;THIS TEST VERIFIES THAT CAIGE COMPARES C(AC) WITH E AND
33426 ;SKIPS THE NEXT INSTRUCTION IF C(AC) IS GREATER THAN OR EQUAL TO E
33427 ;IN THIS CASE, C(AC)=0,,6 AND E=0,,6
33428 ;HENCE, CAIGE SHOULD SKIP THE NEXT INSTRUCTION.
33429 ;IF CAIGE SKIPS THE NEXT INSTRUCTION, THIS TEST PASSES.
33430
33431 051177 201 02 0 00 000006 C51610: MOVEI 2,6 ;PRELOAD AC WITH 0,,6
33432 051200 305 00 0 00 000000 CAIGE ;*CAIGE SHOULD SKIP THE NEXT INSTRUCTION
33433 STOP^
33434 051201 254 04 0 00 051202 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33435 051202 324 00 0 00 051203 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33436 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33437 ;IN THE SUBTEST) TO LOOP ON ERROR^
33438
33439 ;**********
33440
33441 ;THIS TEST VERIFIES THAT CAIGE COMPARES C(AC) WITH E AND
33442 ;SKIPS THE NEXT INSTRUCTION IF C(AC) IS GREATER THAN OR EQUAL TO E.
33443 ;IN THIS CASE, C(AC)=0,,7 AND E=0,,6
33444 ;HENCE, CAIGE SHOULD SKIP THE NEXT INSTRUCTION.
33445 ;IF CAIGE SKIPS THE NEXT INSTRUCTION, THIS TEST PASSES
33446
33447 051203 201 02 0 00 000007 C51620: MOVEI 2,7 ;PRELOAD AC WITH 0,,7
33448 051204 305 02 0 00 000006 CAIGE 2,6 ;*CAIGE SHOULD SKIP THE NEXT INSTRUCTION
33449 STOP^
33450 051205 254 04 0 00 051206 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33451 051206 324 00 0 00 051207 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33452 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33453 ;IN THE SUBTEST) TO LOOP ON ERROR^
33454
33455 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 37
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL CAIX INSTRUCTIONS SEQ 0754
33456 ;THIS TEST VERIRIES THAT CAIN COMPARES C(AC) WITH E AND
33457 ;SKIPS THE NEXT INSTRUCTION IF C(AC) IS NOT EQUAL TO E.
33458 ;IN THIS CASE, C(AC)=0 AND E=0,,1
33459 ;HENCE, CAIN SHOULD SKIP THE NEXT INSTRUCTION.
33460 ;IF CAIN SKIPS THE NEXT INSTRUCTION, THIS TEST PASSES.
33461
33462 051207 400 06 0 00 000000 C51700: SETZ 6, ;PRELOAD AC WITH 0
33463 051210 306 06 0 00 000001 CAIN 6,1 ;*CAIN SHOULD SKIP THE NEXT INSTRUCTION
33464 STOP^
33465 051211 254 04 0 00 051212 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33466 051212 324 00 0 00 051213 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33467 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33468 ;IN THE SUBTEST) TO LOOP ON ERROR^
33469
33470 ;**********
33471
33472 ;THIS TEST VERIFIES THAT CAIN COMPARES C(AC) WITH E AND
33473 ;SKIPS THE NEXT INSTRUCTION IF C(AC) IS NOT EQUAL TO E.
33474 ;IN THIS CASE, C(AC)=0,,1 AND E=0,,1
33475 ;HENCE, CAIN SHOULD NOT SKIP THE NEXT INSTRUCTION.
33476 ;IF CAIN DOES NOT SKIP THE NEXT INSTRUCTION, THIS TEST PASSES
33477
33478 051213 200 06 0 00 000001 C51710: MOVE 6,1 ;PRELOAD AC WITH 0,,1
33479 051214 306 06 0 00 000001 CAIN 6,1 ;*CAIN SHOULD NOT SKIP THE NEXT INSTRUCTION
33480 051215 334 00 0 00 000000 SKIPA ;PASS IF CAIN SKIPS
33481 STOP^
33482 051216 254 04 0 00 051217 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33483 051217 324 00 0 00 051220 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33484 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33485 ;IN THE SUBTEST) TO LOOP ON ERROR^
33486
33487 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 38
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL CAIX INSTRUCTIONS SEQ 0755
33488 ;THIS TEST VERIFIES THAT CAIN COMPARES C(AC) WITH E AND
33489 ;SKIPS THE NEXT INSTRUCTION IF C(AC) IS NOT EQUAL TO E.
33490 ;IN THIS CASE, C(AC)=0,,2 AND E=0,,1
33491 ;HENCE, CAIN SHOULD SKIP THE NEXT INSTRUCTION.
33492 ;IF CAIN SKIPS THE NEXT INSTRUCTION, THIS TEST PASSES
33493
33494 051220 201 06 0 00 000002 C51720: MOVEI 6,2 ;PRELOAD AC WITH
33495 051221 306 06 0 00 000001 CAIN 6,1 ;*CAIN SHOULD SKIP THE NEXT INSTRUCTION
33496 STOP^
33497 051222 254 04 0 00 051223 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33498 051223 324 00 0 00 051224 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33499 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33500 ;IN THE SUBTEST) TO LOOP ON ERROR^
33501
33502 ;**********
33503
33504 ;THIS TEST VERIFIES THAT CAIG COMPARES C(AC) WITH E AND
33505 ;SKIPS THE NEXT INSTRUCTION IF C(AC) IS GREATER THAN E.
33506 ;IN THIS CASE, C(AC)=0,,2 AND E=0,,3.
33507 ;HENCE, CAIG SHOULD NOT SKIP THE NEXT INSTRUCTION.
33508 ;IF CAIG DOES NOT SKIP THE NEXT INSTRUCTION, THIS TEST PASSES
33509
33510 051224 201 11 0 00 000002 C52000: MOVEI 11,2 ;PRELOAD AC WITH 0,,2
33511 051225 307 11 0 00 000003 CAIG 11,3 ;*CAIG SHOULD NOT SKIP THE NEXT INSTRUCTION
33512 051226 334 00 0 00 000000 SKIPA ;PASS IF CAIG DID NOT SKIP
33513 STOP^
33514 051227 254 04 0 00 051230 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33515 051230 324 00 0 00 051231 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33516 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33517 ;IN THE SUBTEST) TO LOOP ON ERROR^
33518
33519 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 39
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL CAIX INSTRUCTIONS SEQ 0756
33520 ;THIS TEST VERIFIES THAT CAIG COMPARES C(AC) WITH E AND
33521 ;SKIPS THE NEXT INSTRUCTION IF C(AC) IS GREATER THAN E.
33522 ;IN THIS CASE, C(AC)=0,,3 AND E=0,,3.
33523 ;HENCE, CAIG SHOULD NOT SKIP THE NEXT INSTRUCTION.
33524 ;IF CAIG DOES NOT SKIP THE NEXT INSTRUCTION, THE TEST PASSES.
33525
33526 051231 201 11 0 00 000003 C52010: MOVEI 11,3 ;PRELOAD AC WITH 0,,3
33527 051232 307 11 0 00 000003 CAIG 11,3 ;*CAIG SHOULD NOT SKIP THE NEXT INSTRUCTION
33528 051233 334 00 0 00 000000 SKIPA ;PASS IF CAIG DID NOT SKIP
33529 STOP^
33530 051234 254 04 0 00 051235 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33531 051235 324 00 0 00 051236 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33532 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33533 ;IN THE SUBTEST) TO LOOP ON ERROR^
33534
33535 ;**********
33536
33537 ;THIS TEST VERIFIES THAT CAIG COMPARES C(AC) WITH E AND
33538 ;SKIPS THE NEXT INSTRUCTION IF C(AC) IS GREATER THAN E.
33539 ;IN THIS CASE, C(AC)=0,,4 AND E=0,,3.
33540 ;HENCE, CAIG SHOULD SKIP THE NEXT INSTRUCTION.
33541 ;IF CAIG SKIPS THE NEXT INSTRUCTION, THIS TEST PASSES.
33542
33543 051236 201 11 0 00 000004 C52020: MOVEI 11,4 ;PRELOAD AC WITH 0,,4
33544 051237 307 11 0 00 000003 CAIG 11,3 ;*CAIG SHOULD SKIP THE NEXT INSTRUCTION
33545 STOP^
33546 051240 254 04 0 00 051241 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33547 051241 324 00 0 00 051242 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33548 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33549 ;IN THE SUBTEST) TO LOOP ON ERROR^
33550
33551 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 40
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL CAMX INSTRUCTIONS SEQ 0757
33552 SUBTTL TEST OF MSCL CAMX INSTRUCTIONS
33553
33554 ;**********
33555
33556 ;THIS TEST VERIFIES THAT CAMLE COMPARES C(AC) WITH C(E) AND
33557 ;SKIPS THE NEXT INSTRUCTION IF C(AC) IS LESS THAT OR EQUAL TO C(E).
33558 ;IN THIS CASE, C(AC)=-1,,-1 AND C(E)=0
33559 ;HENCE, CAMLE SHOULD SKIP THE NEXT INSTRUCTION.
33560 ;IF CAMLE SKIPS THE NEXT INSTRUCTION, THIS TEST PASSES.
33561
33562 051242 474 01 0 00 000000 C52100: SETO 1, ;PRELOAD AC WITH -1,,-1
33563 051243 400 02 0 00 000000 SETZ 2, ;PRELOAD E WITH 0
33564 051244 313 01 0 00 000002 CAMLE 1,2 ;*CAMLE SHOULD SKIP THE NEXT INSTRUCTION
33565 STOP^
33566 051245 254 04 0 00 051246 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33567 051246 324 00 0 00 051247 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33568 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33569 ;IN THE SUBTEST) TO LOOP ON ERROR^
33570
33571 ;**********
33572
33573 ;THIS TEST VERIFIES THAT CAMLE COMPARES C(AC) WITH C(E) AND
33574 ;SKIPS THE NEXT INSTRUCTION IF C(AC) IS LESS THAN OR EQUAL TO C(E).
33575 ;IN THIS CASE, C(AC)=0 AND C(E)=0
33576 ;HENCE, CAMLE SHOULD SKIP THE NEXT INSTRUCTION.
33577 ;IF CAMLE SKIPS THE NEXT INSTRUCTION, THIS TEST PASSES
33578
33579 051247 400 01 0 00 000000 C52110: SETZ 1, ;CLEAR AC
33580 051250 313 01 0 00 070253 CAMLE 1,[0] ;*CAMLE SHOULD SKIP THE NEXT INSTRUCTION
33581 STOP^
33582 051251 254 04 0 00 051252 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33583 051252 324 00 0 00 051253 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33584 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33585 ;IN THE SUBTEST) TO LOOP ON ERROR^
33586
33587 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 41
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL CAMX INSTRUCTIONS SEQ 0758
33588 ;THIS TEST VERIFIES THAT CAMLE COMPARES C(AC) WITH C(E) AND
33589 ;SKIPS THE NEXT INSTRUCTION IF C(AC) IS LESS THAN OR EQUAL TO C(E).
33590 ;IN THIS CASE, C(AC)=0,,1 AND C(E)=0
33591 ;HENCE, CAMLE SHOULD NOT SKIP THE NEXT INSTRUCTION.
33592 ;IF CAMLE DOES NOT SKIP THE NEXT INSTRUCTION, THIS TEST PASSES.
33593
33594 051253 201 01 0 00 000001 C52120: MOVEI 1,1 ;PRELOAD AC WITH 0,,1
33595 051254 400 02 0 00 000000 SETZ 2, ;PRELOAD E WITH 0
33596 051255 313 01 0 00 000002 CAMLE 1,2 ;*CAMLE SHOULD NOT SKIP THE NEXT INSTRUCTION
33597 051256 334 00 0 00 000000 SKIPA ;PASS IF CAMLE DOES NOT SKIP
33598 STOP^
33599 051257 254 04 0 00 051260 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33600 051260 324 00 0 00 051261 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33601 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33602 ;IN THE SUBTEST) TO LOOP ON ERROR^
33603
33604 ;**********
33605
33606 ;THIS TEST VERIFIES THAT CAMG COMPARES C(AC) WITH C(E) AND
33607 ;SKIPS THE NEXT INSTRUCTION IF C(AC) IS GREATER THAN C(E).
33608 ;IN THIS CASE, C(AC)=-1,,-2 AND C(E)=-1,,-2.
33609 ;HENCE, CAMG SHOULD NOT SKIP THE NEXT INSTRUCTION.
33610 ;IF CAMG DOES NOT SKIP THE NEXT INSTRUCTION, THIS TEST PASSES.
33611
33612 051261 561 10 0 00 777776 C52200: HRROI 10,-2 ;PRELOAD AC WITH -1,,-2
33613 051262 317 10 0 00 070254 CAMG 10,[-1,,-1] ;*CAMG SHOULD NOT SKIP THE NEXT INSTRUCTION.
33614 051263 334 00 0 00 000000 SKIPA ;PASS IF CAMG DOES NOT SKIP
33615 STOP^
33616 051264 254 04 0 00 051265 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33617 051265 324 00 0 00 051266 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33618 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33619 ;IN THE SUBTEST) TO LOOP ON ERROR^
33620
33621 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 42
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL CAMX INSTRUCTIONS SEQ 0759
33622 ;THIS TEST VERIFIES THAT CAMG COMPARES C(AC) WITH C(E) AND
33623 ;SKIPS THE NEXT INSTRUCTION IF C(AC) IS GREATER THAN C(E).
33624 ;IN THIS CASE, C(AC)=-1,,-1 AND C(E)=-1,,-1.
33625 ;HENCE, CAMG SHOULD NOT SKIP THE NEXT INSTRUCTION.
33626 ;IF CAMG DOES NOT SKIP THE NEXT INSTRUCTION, THIS TEST PASSES.
33627 051266 474 10 0 00 000000 C52210: SETO 10, ;PRELOAD AC WITH -1,,-1.
33628 051267 317 10 0 00 070254 CAMG 10,[-1,,-1] ;*CAMG SHOULD NOT SKIP THE NEXT INSTRUCTION
33629 051270 334 00 0 00 000000 SKIPA ;PASS IF CAMG DOES NOT SKIP
33630 STOP^
33631 051271 254 04 0 00 051272 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33632 051272 324 00 0 00 051273 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33633 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33634 ;IN THE SUBTEST) TO LOOP ON ERROR^
33635
33636 ;**********
33637
33638 ;THIS TEST VERIFIES THAT CAMG COMPARES C(AC) WITH C(E) AND
33639 ;SKIPS THE NEXT INSTRUCTION IF C(AC) IS GREATER THAN C(E).
33640 ;IN THIS CASE, C(AC)=0 AND C(E)=-1,,-1.
33641 ;HENCE, CAMG SHOULD SKIP THE NEXT INSTRUCTION.
33642 ;IF CAMG SKIPS THE NEXT INSTRUCTION, THIS TEST PASSES.
33643
33644 051273 400 10 0 00 000000 C52220: SETZ 10, ;PRELOAD AC WITH 0
33645 051274 317 10 0 00 070254 CAMG 10,[-1,,-1] ;*CAMG SHOULD SKIP THE NEXT INSTRUCTION
33646 STOP^
33647 051275 254 04 0 00 051276 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33648 051276 324 00 0 00 051277 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33649 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33650 ;IN THE SUBTEST) TO LOOP ON ERROR^
33651
33652 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 43
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL JUMPX INSTRUCTIONS SEQ 0760
33653 SUBTTL TEST OF MSCL JUMPX INSTRUCTIONS
33654
33655 ;**********
33656
33657 ;THIS TEST VERIFIES THAT JUMPLE COMPARES C(AC) WITH 0 AND
33658 ;JUMPS TO THE LOCATION SPECIFIED BY E IF C(AC) IS LESS THAN OR
33659 ;EQUAL TO 0. IN THIS CASE, C(AC)=-1,,-1. HENCE, JUMPLE SHOULD JUMP.
33660
33661 051277 474 17 0 00 000000 C52300: SETO 17, ;PRELOAD AC WITH -1,,-1
33662 051300 323 17 0 00 051302 JUMPLE 17,.+2 ;*JUMPLE SHOULD JUMP
33663 STOP^
33664 051301 254 04 0 00 051302 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33665 051302 324 00 0 00 051303 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33666 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33667 ;IN THE SUBTEST) TO LOOP ON ERROR^
33668
33669 ;**********
33670
33671 ;THIS TEST VERIFIES THAT JUMPLE COMPARES C(AC) WITH 0 AND
33672 ;JUMPS TO THE LOCATION SPECIFIED BY E IF C(AC) IS LESS THAN OR
33673 ;EQUAL TO 0. IN THIS CASE, C(AC)=0. HENCE, JUMPLE SHOULD JUMP.
33674
33675 051303 400 17 0 00 000000 C52310: SETZ 17, ;PRELOAD AC WITH 0
33676 051304 323 17 0 00 051306 JUMPLE 17,.+2 ;*JUMPLE SHOULD JUMP
33677 STOP^
33678 051305 254 04 0 00 051306 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33679 051306 324 00 0 00 051307 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33680 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33681 ;IN THE SUBTEST) TO LOOP ON ERROR^
33682
33683 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 44
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL JUMPX INSTRUCTIONS SEQ 0761
33684 ;THIS TEST VERIFIES THAT JUMPLE COMPARES C(AC) WITH 0 AND JUMPS
33685 ;TO THE LOCATION SPECIFIED BY E IF C(AC) IS LESS THAN OR EQUAL TO
33686 ;0. IN THIS CASE, C(AC)=0,,1. HENCE, JUMPLE SHOULD NOT JUMP.
33687
33688 051307 201 17 0 00 000001 C52320: MOVEI 17,1 ;PRELOAD AC WITH 0,,1
33689 051310 320 17 0 00 051312 JUMP 17,.+2 ;*JUMPLE SHOULD NOT JUMP
33690 051311 334 00 0 00 000000 SKIPA ;PASS IF JUMPLE DOES NOT JUMP
33691 STOP^
33692 051312 254 04 0 00 051313 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33693 051313 324 00 0 00 051314 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33694 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33695 ;IN THE SUBTEST) TO LOOP ON ERROR^
33696
33697 ;**********
33698
33699 ;THIS TEST VERIFIES THAT JUMPGE COMPARES C(AC) WITH 0 AND JUMPS TO
33700 ;THE LOCATION SPECIFIED BY E IF C(AC) IS GREATER THAN OR EQUAL TO 0.
33701 ;IN THIS CASE, C(AC)=-1,,-1. HENCE, JUMPGE SHOULD NOT JUMP.
33702
33703 051314 474 16 0 00 000000 C52400: SETO 16, ;PRELOAD AC WITH -1,,-1
33704 051315 325 16 0 00 051317 JUMPGE 16,.+2 ;*JUMPGE SHOULD NOT JUMP
33705 051316 334 00 0 00 000000 SKIPA ;PASS IF JUMPGE DOES NOT JUMP
33706 STOP^
33707 051317 254 04 0 00 051320 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33708 051320 324 00 0 00 051321 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33709 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33710 ;IN THE SUBTEST) TO LOOP ON ERROR^
33711
33712 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 45
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL JUMPX INSTRUCTIONS SEQ 0762
33713 ;THIS TEST VERIFIES THAT JUMPGE COMPARES C(AC) WITH O AND JUMPS TO
33714 ;THE LOCATION SPECIFIED BY E IF C(AC) IS GREATER THAN OR EQUAL TO 0.
33715 ;IN THIS CASE, C(AC)=0. HENCE, JUMPGE SHOULD JUMP.
33716
33717 051321 400 16 0 00 000000 C52410: SETZ 16, ;PRELOAD AC WITH 0
33718 051322 325 16 0 00 051324 JUMPGE 16,.+2 ;*JUMPGE SHOULD JUMP
33719 STOP^
33720 051323 254 04 0 00 051324 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33721 051324 324 00 0 00 051325 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33722 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33723 ;IN THE SUBTEST) TO LOOP ON ERROR^
33724
33725 ;**********
33726
33727 ;THIS TEST VERIFIES THAT JUMPGE COMPARES C(AC) WITH 0 AND JUMPS TO
33728 ;THE LOCATION SPECIFIED BY E IF C(AC) IS GREATER THAN OR EQUAL TO 0.
33729 ;IN THIS CASE, C(AC)=0,,1. HENCE, JUMPGE SHOULD JUMP.
33730
33731 051325 201 16 0 00 000001 C52420: MOVEI 16,1 ;PRELOAD AC WITH 0,,1
33732 051326 325 16 0 00 051330 JUMPGE 16,.+2 ;*JUMPGE SHOULD JUMP
33733 STOP^
33734 051327 254 04 0 00 051330 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33735 051330 324 00 0 00 051331 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33736 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33737 ;IN THE SUBTEST) TO LOOP ON ERROR^
33738
33739 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 46
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL AOJX INSTRUCTIONS SEQ 0763
33740 SUBTTL TEST OF MSCL AOJX INSTRUCTIONS
33741
33742 ;**********
33743
33744 ;THIS TEST VERIFIES THAT AOJL INCREMENTS C(AC) BY 0,,1 AND PLACES
33745 ;THE RESULT BACK INTO THE AC. THE RESULT IN THE AC IS COMPARED
33746 ;TO 0 AND THE PROGRAM JUMPS TO THE LOCATION SPECIFIED BY E IF C(AC)
33747 ;IS LESS THAN 0. IN THIS CASE, C(AC)=-1,,-2 BEFORE INCREMENTING.
33748 ;HENCE, AOJL SHOULD JUMP.
33749
33750 051331 561 15 0 00 777776 C52500: HRROI 15,-2 ;PRELOAD AC WITH -1,,-2
33751 051332 341 15 0 00 051334 AOJL 15,.+2 ;*AOJL SHOULD ADD 0,,1 TO C(AC) AND JUMP
33752 STOP^
33753 051333 254 04 0 00 051334 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33754 051334 324 00 0 00 051335 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33755 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33756 ;IN THE SUBTEST) TO LOOP ON ERROR^
33757 051335 312 15 0 00 070254 CAME 15,[-1] ;PASS IF C(AC) INCREMENTED CORRECTLY
33758 STOP^
33759 051336 254 04 0 00 051337 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33760 051337 324 00 0 00 051340 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33761 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33762 ;IN THE SUBTEST) TO LOOP ON ERROR^
33763
33764 ;**********
33765
33766 ;THIS TEST VERIFIES THAT AOJL INCREMENTS C(AC) BY 0,,1 AND
33767 ;PLACES THE RESULT BACK INTO THE AC. THE RESULT IN THE AC IS
33768 ;COMPARED TO 0 AND THE PROGRAM JUMPS TO THE LOCATION
33769 ;SPECIFIED BY E IF C(AC) IS LESS THAN 0.
33770 ;IN THIS CASE, C(AC) IS -1,,-1 BEFORE INCREMENTING
33771 ;HENCE, AOJ SHOULD NOT JUMP
33772
33773 051340 474 15 0 00 000000 C52510: SETO 15, ;PRELOAD AC WITH
33774 051341 341 15 0 00 051343 AOJL 15,.+2 ;*AOJL SHOULD ADD 0,,1 TO C(AC)
33775 ;AND NOT JUMP
33776 051342 334 00 0 00 000000 SKIPA ;PASS IF AOJL DID NOT JUMP
33777 STOP^
33778 051343 254 04 0 00 051344 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33779 051344 324 00 0 00 051345 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33780 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33781 ;IN THE SUBTEST) TO LOOP ON ERROR^
33782 051345 302 15 0 00 000000 CAIE 15,0 ;PASS IF C(AC) INCREMENTED CORRECTLY
33783 STOP^
33784 051346 254 04 0 00 051347 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33785 051347 324 00 0 00 051350 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33786 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33787 ;IN THE SUBTEST) TO LOOP ON ERROR^
33788
33789 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 47
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL AOJX INSTRUCTIONS SEQ 0764
33790 ;THIS TEST VERIFIES THAT AOJL INCREMENTS C(AC) BY 0,,1 AND
33791 ;PLACES THE RESULT BACK INTO THE AC. THE RESULT IN THE AC IS
33792 ;COMPARED TO 0 AND THE PROGRAM JUMPS TO THE LOCATION
33793 ;SPECIFIED BY E IF C(AC) IS 0 BEFORE INCREMENTING
33794 ;HENCE, AOJL SHOULD NOT JUMP
33795
33796 051350 400 15 0 00 000000 C52520: SETZ 15, ;PRELOAD AC WITH 0
33797 051351 341 15 0 00 051353 AOJL 15,.+2 ;*AOJL SHOULD ADD 0,,1 TO C(AC)
33798 ;AND NOT JUMP
33799 051352 334 00 0 00 000000 SKIPA ;PASS IF AOJL DID NOT JUMP
33800 STOP^
33801 051353 254 04 0 00 051354 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33802 051354 324 00 0 00 051355 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33803 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33804 ;IN THE SUBTEST) TO LOOP ON ERROR^
33805 051355 302 15 0 00 000001 CAIE 15,1 ;PASS IF C(AC) INCREMENTED CORRECTLY
33806 STOP^
33807 051356 254 04 0 00 051357 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33808 051357 324 00 0 00 051360 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33809 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33810 ;IN THE SUBTEST) TO LOOP ON ERROR^
33811
33812 ;**********
33813
33814 ;THIS TEST VERIFIES THAT AOJE INCREMENTS C(AC) BY 0,,1 AND
33815 ;PLACES THE RESULT BACK INTO THE AC. THE RESULT IN THE AC IS
33816 ;COMPARED TO 0 AND THE PROGRAM JUMPS TO THE LOCATION
33817 ;SPECIFIED BY E IF C(AC) IS EQUAL TO 0
33818 ;IN THIS CASE, C(AC) IS -1,,-2 BEFORE INCREMENTING
33819 ;HENCE, AOJE SHOULD NOT JUMP
33820
33821 051360 561 14 0 00 777776 C52600: HRROI 14,-2 ;PRELOAD AC WITH -1,,-2
33822 051361 342 14 0 00 051363 AOJE 14,.+2 ;*AOJE SHOULD ADD 0,,1 TO C(AC)
33823 ;AND NOT JUMP
33824 051362 334 00 0 00 000000 SKIPA ;PASS IF AOJE DID NOT JUMP
33825 STOP^
33826 051363 254 04 0 00 051364 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33827 051364 324 00 0 00 051365 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33828 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33829 ;IN THE SUBTEST) TO LOOP ON ERROR^
33830 051365 312 14 0 00 070254 CAME 14,[-1] ;PASS IF C(AC) INCREMENTED CORRECTLY
33831 STOP^
33832 051366 254 04 0 00 051367 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33833 051367 324 00 0 00 051370 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33834 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33835 ;IN THE SUBTEST) TO LOOP ON ERROR^
33836
33837 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 48
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL AOJX INSTRUCTIONS SEQ 0765
33838 ;THIS TEST VERIFIES THAT AOJE INCREMENTS C(AC) BY 0,,1 AND
33839 ;PLACES THE RESULT BACK INTO THE AC. THE RESULT IN THE AC IS
33840 ;COMPARED TO 0 AND THE PROGRAM JUMPS TO THE LOCATION
33841 ;SPECIFIED BY E IF C(AC) IS EQUAL TO 0.
33842 ;IN THIS CASE, C(AC) IS -1,,-1 BEFORE INCREMENTING.
33843 ;HENCE, AOJE SHOULD JUMP
33844
33845 051370 474 14 0 00 000000 C52610: SETO 14, ;PRELOAD AC WITH -1,,-1
33846 051371 342 14 0 00 051373 AOJE 14,.+2 ;*AOJ SHOULD ADD 0,,1 TO C(AC)
33847 ;AND JUMP
33848 STOP^
33849 051372 254 04 0 00 051373 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33850 051373 324 00 0 00 051374 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33851 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33852 ;IN THE SUBTEST) TO LOOP ON ERROR^
33853 051374 302 14 0 00 000000 CAIE 14,0 ;PASS IF C(AC) INCREMENTED CORRECTLY
33854 STOP^
33855 051375 254 04 0 00 051376 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33856 051376 324 00 0 00 051377 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33857 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33858 ;IN THE SUBTEST) TO LOOP ON ERROR^
33859
33860 ;**********
33861
33862 ;THIS TEST VERIFIES THAT AOJE INCREMENTS C(AC) BY 0,,1 AND
33863 ;PLACES THE RESULT BACK INTO THE AC. THE RESULT IN THE AC IS
33864 ;COMPARED TO 0 AND THE PROGRAM JUMPS TO THE LOCATION
33865 ;SPECIFIED BY E IF C(AC) IS EQUAL TO 0.
33866 ;IN THIS CASE, C(AC) IS 0 BEFORE INCREMENTING
33867 ;HENCE, AOJE SHOULD NOT JUMP
33868
33869 051377 400 14 0 00 000000 C52620: SETZ 14, ;PRELOAD AC WITH 0
33870 051400 342 14 0 00 051402 AOJE 14,.+2 ;*AOJE SHOULD ADD 0,11 TO C(AC)
33871 ;AND NOT JUMP
33872 051401 334 00 0 00 000000 SKIPA ;PASS IF AOJE DID NOT JUMP
33873 STOP^
33874 051402 254 04 0 00 051403 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33875 051403 324 00 0 00 051404 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33876 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33877 ;IN THE SUBTEST) TO LOOP ON ERROR^
33878 051404 302 14 0 00 000001 CAIE 14,1 ;PASS IF C(AC) INCREMENTED CORRECTLY
33879 STOP^
33880 051405 254 04 0 00 051406 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33881 051406 324 00 0 00 051407 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33882 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33883 ;IN THE SUBTEST) TO LOOP ON ERROR^
33884
33885 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 49
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL AOJX INSTRUCTIONS SEQ 0766
33886 ;THIS TEST VERIFIES THAT AOJLE INCREMENTS C(AC) BY 0,,1 AND
33887 ;PLACES THE RESULT BACK INTO TLE$EC. THE RESULT IN THE AC IS
33888 ;COMPARED TO 0 AND THE PROGRAM JUMPS TO THE LOCATION
33889 ;SPECIFIED BY E IF C(AC) IS LESS THAN OR EQUAL TO 0.
33890 ;IN THIS CASE, C(AC) IS -1,,-1 BEFORE INCREMENTING
33891 ;HENCE, AOJLE SHOULD
33892
33893 051407 561 13 0 00 777776 C52700: HRROI 13,-2 ;PRELOAD AC WITH -1,,-2
33894 051410 343 13 0 00 051412 AOJLE 13,.+2 ;*AOJLE SHOULD ADD 0,,1 TO C(AC)
33895 ;AND JUMP
33896 STOP^
33897 051411 254 04 0 00 051412 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33898 051412 324 00 0 00 051413 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33899 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33900 ;IN THE SUBTEST) TO LOOP ON ERROR^
33901 051413 312 13 0 00 070254 CAME 13,[-1] ;PASS IF C(AC) INCREMENTED CORRECTLY
33902 STOP^
33903 051414 254 04 0 00 051415 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33904 051415 324 00 0 00 051416 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33905 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33906 ;IN THE SUBTEST) TO LOOP ON ERROR^
33907
33908 ;**********
33909
33910 ;THIS TEST VERIFIES THAT AOJLE INCREMENTS C(AC) BY 0,,1 AND
33911 ;PLACES THE RESULT BACK INTO THE AC. THE RESULT IN THE AC IS
33912 ;COMPARED TO 0 AND THE PROGRAM JUMPS TO THE LOCATION
33913 ;SPECIFIED BY E IF C(AC) IS LESS THAN OR EQUAL TO 0
33914 ;IN THIS CASE, C(AC) IS -1,,-1 BEFORE INCREMENTING
33915 ;HENCE, AOJLE SHOULD JUMP.
33916
33917 051416 474 13 0 00 000000 C52710: SETO 13, ;PRELOAD AC WITH -1,,-1
33918 051417 343 13 0 00 051421 AOJLE 13,.+2 ;*AOJLE SHOULD ADD 0,,1 TO C(AC)
33919 ;AND JUMP
33920 STOP^
33921 051420 254 04 0 00 051421 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33922 051421 324 00 0 00 051422 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33923 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33924 ;IN THE SUBTEST) TO LOOP ON ERROR^
33925 051422 302 13 0 00 000000 CAIE 13,0 ;PASS IF C(AC) INCREMENTED CORRECTLY
33926 STOP^
33927 051423 254 04 0 00 051424 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33928 051424 324 00 0 00 051425 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33929 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33930 ;IN THE SUBTEST) TO LOOP ON ERROR^
33931
33932 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 50
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL AOJX INSTRUCTIONS SEQ 0767
33933 ;THIS TEST VERIFIES THAT AOJLE INCREMENTS C(AC) BY 0,,1 AND
33934 ;PLACES THE RESULT BACK INTO THE AC. THE RESULT IN THE AC IS
33935 ;COMPARED TO 0 AND THE PROGRAM JUMPS TO THE LOCATION
33936 ;SPECIFIED BY E IF C(AC) IS LESS THAN OR EQUAL TO 0.
33937 ;IN THIS CASE, C(AC) IS 0
33938 ;HENCE, AOJLE SHOULD NOT JUMP.
33939
33940 051425 400 13 0 00 000000 C52720: SETZ 13, ;PRELOAD AC WITH 0
33941 051426 343 13 0 00 051430 AOJLE 13,.+2 ;*AOJLE SHOULD ADD 0,,1 TO C(AC)
33942 ;AND NOT JUMP
33943 051427 334 00 0 00 000000 SKIPA ;PASS IF AOJLE DID NOT JUMP
33944 STOP^
33945 051430 254 04 0 00 051431 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33946 051431 324 00 0 00 051432 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33947 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33948 ;IN THE SUBTEST) TO LOOP ON ERROR^
33949 051432 302 13 0 00 000001 CAIE 13,1 ;PASS IF C(AC) INCREMENTED CORRECTLY
33950 STOP^
33951 051433 254 04 0 00 051434 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33952 051434 324 00 0 00 051435 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33953 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33954 ;IN THE SUBTEST) TO LOOP ON ERROR^
33955
33956 ;**********
33957
33958 ;THIS TEST VERIFIES THAT AOJA INCREMENTS C(AC) BY 0,,1 AND
33959 ;PLACES THE RESULT BACK INTO THE AC. THE RESULT IN THE AC IS
33960 ;COMPARED TO 0 AND THE PROGRAM ALWAYS JUMPS TO THE LOCATION
33961 ;SPECIFIED BY E.
33962 ;IN THIS CASE, C(AC) IS -1,,-2 BEFORE INCREMENTING
33963 ;HENCE, AOJA SHOULD JUMP
33964
33965 051435 561 12 0 00 777776 C53000: HRROI 12,-2 ;PRELOAD AC WITH -1,,-2
33966 051436 344 12 0 00 051440 AOJA 12,.+2 ;*AOJA SHOULD ADD 0,,1 TO C(AC)
33967 ;AND JUMP
33968 STOP^
33969 051437 254 04 0 00 051440 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33970 051440 324 00 0 00 051441 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33971 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33972 ;IN THE SUBTEST) TO LOOP ON ERROR^
33973 051441 312 12 0 00 070254 CAME 12,[-1] ;PASS IF C(AC) INCREMENTED CORRECTLY
33974 STOP^
33975 051442 254 04 0 00 051443 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33976 051443 324 00 0 00 051444 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33977 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33978 ;IN THE SUBTEST) TO LOOP ON ERROR^
33979
33980 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 51
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL AOJX INSTRUCTIONS SEQ 0768
33981 ;THIS TEST VERIFIES THAT AOJA INCREMENTS C(AC) BY 0,,1 AND
33982 ;PLACES THE RESULT BACK INTO AC. THE RESULT IN THE AC IS
33983 ;COMPARED TO 0 AND THE PROGRAM ALWAYS JUMPS TO THE LOCATION
33984 ;SPECIFIED BY E.
33985 ;IN THIS CASE, C(AC) IS -1,,-1 BEFORE INCREMENTING
33986 ;HENCE, AOJA SHOULD JUMP
33987
33988 051444 474 12 0 00 000000 C53010: SETO 12, ;PRELOAD AC WITH -1,,-1
33989 051445 344 12 0 00 051447 AOJA 12,.+2 ;*AOJA SHOULD ADD 0,,1 TO C(AC)
33990 ;AND JUMP
33991 STOP^
33992 051446 254 04 0 00 051447 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33993 051447 324 00 0 00 051450 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
33994 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
33995 ;IN THE SUBTEST) TO LOOP ON ERROR^
33996 051450 302 12 0 00 000000 CAIE 12,0 ;PASS IF C(AC) INCREMENTED CORRECTLY
33997 STOP^
33998 051451 254 04 0 00 051452 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
33999 051452 324 00 0 00 051453 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34000 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34001 ;IN THE SUBTEST) TO LOOP ON ERROR^
34002
34003 ;**********
34004
34005 ;THIS TEST VERIFIES THAT AOJA INCREMENTS C(AC) BY 0,,1 AND
34006 ;PLACES THE RESULT BACK INTO THE AC. THE RESULT IN THE AC IS
34007 ;COMPARED TO 0 AND THE PROGRAM ALWAYS JUMPS TO THE LOCATION
34008 ;SPECIFIED BY E.
34009 ;IN THIS CASE, C(AC) IS 0 BEFORE INCREMENTING
34010 ;HENCE, AOJA SHOULD JUMP
34011
34012 051453 400 12 0 00 000000 C53020: SETZ 12, ;PRELOAD AC WITH 0
34013 051454 344 12 0 00 051456 AOJA 12,.+2 ;*AOJA SHOULD ADD 0,,1 TO C(AC)
34014 ;AND JUMP
34015 STOP^
34016 051455 254 04 0 00 051456 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34017 051456 324 00 0 00 051457 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34018 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34019 ;IN THE SUBTEST) TO LOOP ON ERROR^
34020 051457 302 12 0 00 000001 CAIE 12,1 ;PASS IF C(AC) INCREMENTED CORRECTLY
34021 STOP^
34022 051460 254 04 0 00 051461 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34023 051461 324 00 0 00 051462 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34024 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34025 ;IN THE SUBTEST) TO LOOP ON ERROR^
34026
34027 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 52
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL AOJX INSTRUCTIONS SEQ 0769
34028 ;THIS TEST VERIFIES THAT AOJGE INCREMENTS C(AC) BY 0,,1 AND
34029 ;PLACES THE RESULT BACK INTO THE AC. THE RESULT IN THE AC IS
34030 ;COMPARED TO 0 AND THE PROGRAM JUMPS TO THE LOCATION
34031 ;SPECIFIED BY E IF C(AC) IS GREATER THAN OR EQUAL TO 0
34032 ;IN THIS CASE, C(AC) IS -1,,-2 BEFORE INCREMENTING
34033 ;HENCE, AOJGE SHOULD NOT JUMP
34034
34035 051462 561 11 0 00 777776 C53100: HRROI 11,-2 ;PRELOAD AC WITH -1,,-2
34036 051463 345 11 0 00 051465 AOJGE 11,.+2 ;*AOJGE SHOULD ADD 0,,1 TO C(AC)
34037 ;AND NOT JUMP
34038 051464 334 00 0 00 000000 SKIPA ;PASS IF AOJGE DID NOT JUMP
34039 STOP^
34040 051465 254 04 0 00 051466 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34041 051466 324 00 0 00 051467 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34042 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34043 ;IN THE SUBTEST) TO LOOP ON ERROR^
34044 051467 312 11 0 00 070254 CAME 11,[-1] ;PASS IF C(AC) INCREMENTED CORRECTLY
34045 STOP^
34046 051470 254 04 0 00 051471 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34047 051471 324 00 0 00 051472 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34048 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34049 ;IN THE SUBTEST) TO LOOP ON ERROR^
34050
34051 ;**********
34052
34053 ;THIS TEST VERIFIES THAT AOJGE INCREMENTS C(AC) BY 0,,1 AND
34054 ;PLACES THE RESULT BACK INTO THE AC. THE RESULT IN THE AC IS
34055 ;COMPARED TO 0 AND THE PROGRAM JUMPS TO THE LOCATION
34056 ;SPECIFIED BY E IF C(AC) IS GREATER THAN OR EQUAL TO 0.
34057 ;IN THIS CASE, C(AC) IS -1,,-1 BEFORE INCREMENTING
34058 ;HENCE, AOJ SHOULD JUMP
34059
34060 051472 474 11 0 00 000000 C53110: SETO 11, ;PRELOAD AC WITH -1,,-1
34061 051473 345 11 0 00 051475 AOJGE 11,.+2 ;*AOJGE SHOULD ADD 0,,1 TO C(AC)
34062 ;AND JUMP
34063 STOP^
34064 051474 254 04 0 00 051475 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34065 051475 324 00 0 00 051476 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34066 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34067 ;IN THE SUBTEST) TO LOOP ON ERROR^
34068 051476 302 11 0 00 000000 CAIE 11,0 ;PASS IF C(AC) INCREMENTED CORRECTLY
34069 STOP^
34070 051477 254 04 0 00 051500 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34071 051500 324 00 0 00 051501 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34072 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34073 ;IN THE SUBTEST) TO LOOP ON ERROR^
34074
34075 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 53
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL AOJX INSTRUCTIONS SEQ 0770
34076 ;THIS TEST VERIFIES THAT AOJGE INCREMENTS C(AC) BY 0,,1 AND
34077 ;PLACES THE RESULT BACK INTO AC. THE RESULT IN THE AC IS
34078 ;COMPARED TO 0 AND THE PROGRAM JUMPS TO THE LOCATION
34079 ;SPECIFIED BY E IF C(AC) IS GREATER THAN OR EQUAL TO 0
34080 ;IN THIS CASE, C(AC) IS 0 BEFORE INCREMENTING
34081 ;HENCE, AOJGE SHOULD JUMP
34082
34083 051501 400 11 0 00 000000 C53120: SETZ 11, ;PRELOAD AC WITH 0
34084 051502 345 11 0 00 051504 AOJGE 11,.+2 ;*AOJGE SHOULD ADD 0,,1 TO C(AC)
34085 ;AND JUMP
34086 STOP^
34087 051503 254 04 0 00 051504 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34088 051504 324 00 0 00 051505 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34089 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34090 ;IN THE SUBTEST) TO LOOP ON ERROR^
34091 051505 302 11 0 00 000001 CAIE 11,1 ;PASS IF C(AC) INCREMENTED CORRECTLY
34092 STOP^
34093 051506 254 04 0 00 051507 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34094 051507 324 00 0 00 051510 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34095 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34096 ;IN THE SUBTEST) TO LOOP ON ERROR^
34097
34098 ;**********
34099
34100 ;THIS TEST VERIFIES THAT AOJN INCREMENTS C(AC) BY 0,,1 AND
34101 ;PLACES THE RESULT BACK INTO THE AC. THE RESULT IN THE AC IS
34102 ;COMPARED TO 0 AND THE PROGRAM JUMPS TO THE LOCATION
34103 ;SPECIFIED BY E IF C(AC) IS NOT EQUAL TO 0.
34104 ;IN THIS CASE, C(AC) IS -1,,-2 BEFORE INCREMENTING
34105 ;HENCE, AOJN SHOULD JUMP
34106
34107 051510 561 10 0 00 777776 C53200: HRROI 10,-2 ;PRELOAD AC WITH -1,,-2
34108 051511 346 10 0 00 051513 AOJN 10,.+2 ;*AOJN SHOULD ADD 0,,1 TO C(AC)
34109 ;AND JUMP
34110 STOP^
34111 051512 254 04 0 00 051513 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34112 051513 324 00 0 00 051514 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34113 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34114 ;IN THE SUBTEST) TO LOOP ON ERROR^
34115 051514 312 10 0 00 070254 CAME 10,[-1] ;PASS IF C(AC) INCREMENTED CORRECTLY
34116 STOP^
34117 051515 254 04 0 00 051516 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34118 051516 324 00 0 00 051517 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34119 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34120 ;IN THE SUBTEST) TO LOOP ON ERROR^
34121
34122 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 54
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL AOJX INSTRUCTIONS SEQ 0771
34123 ;THIS TEST VERIFIES THAT AOJN INCREMENTS C(AC) BY 0,,1 AND
34124 ;PLACES THE RESULT BACK INTO THE AC. THE RESULT IN THE AC IS
34125 ;COMPARED TO 0 AND THE PROGRAM JUMPS TO THE LOCATION
34126 ;SPECIFIED BY E IF C(AC) IS NOT EQUAL TO 0.
34127 ;IN THIS CASE, C(AC) IS -1,,-1 BEFORE INCREMENTING
34128 ;HENCE, AOJ SHOULD NOT JUMP.
34129
34130 051517 474 10 0 00 000000 C53210: SETO 10, ;PRELOAD AC WITH -1,,-1
34131 051520 346 10 0 00 051522 AOJN 10,.+2 ;*AOJN SHOULD ADD 0,,1 TO C(AC)
34132 ;AND NOT JUMP
34133 051521 334 00 0 00 000000 SKIPA ;PASS IF AOJN DID NOT JUMP
34134 STOP^
34135 051522 254 04 0 00 051523 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34136 051523 324 00 0 00 051524 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34137 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34138 ;IN THE SUBTEST) TO LOOP ON ERROR^
34139 051524 302 10 0 00 000000 CAIE 10,0 ;PASS IF C(AC) INCREMENTED CORRRECTLY
34140 STOP^
34141 051525 254 04 0 00 051526 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34142 051526 324 00 0 00 051527 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34143 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34144 ;IN THE SUBTEST) TO LOOP ON ERROR^
34145
34146 ;**********
34147
34148 ;THIS TEST VERIFIES THAT AOJN INCREMENTS C(AC) BY 0,,1 AND
34149 ;PLACES THE RESULT BACK INTO THE AC. THE RESULT IN THE AC IS
34150 ;COMPARED TO 0 AND THE PROGRAM JUMPS TO THE LOCATION
34151 ;SPECIFIED BY E IF C(AC) IS NOT EQUAL TO 0.
34152 ;IN THIS CASE, C(AC) IS 0 BEFORE INCREMENTING
34153 ;HENCE, AOJN SHOULD JUMP.
34154
34155 051527 400 10 0 00 000000 C53220: SETZ 10, ;PRELOAD AC WITH 0
34156 051530 346 10 0 00 051532 AOJN 10,.+2 ;*AOJN SHOULD ADD 0,,1 TO C(AC)
34157 ;AND JUMP
34158 STOP^
34159 051531 254 04 0 00 051532 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34160 051532 324 00 0 00 051533 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34161 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34162 ;IN THE SUBTEST) TO LOOP ON ERROR^
34163 051533 302 10 0 00 000001 CAIE 10,1 ;PASS IF C(AC) INCREMENTED CORRECTLY
34164 STOP^
34165 051534 254 04 0 00 051535 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34166 051535 324 00 0 00 051536 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34167 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34168 ;IN THE SUBTEST) TO LOOP ON ERROR^
34169
34170 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 55
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL AOJX INSTRUCTIONS SEQ 0772
34171 ;THIS TEST VERIFIES THAT AOJG INCREMENTS C(AC) BY 0,,1 AND
34172 ;PLACES THE RESULT BACK INTO THE AC. THE REAULT IN THE AC IS
34173 ;COMPARED TO 0 AND THE PROGRAM JUMPS TO THE LOCATION
34174 ;SPECIFIED BY E IF C(AC) IS GREATER THAN 0
34175 ;IN THIS CASE, C(AC) IS -1,,-2 BEFORE INC
34176 ;HENCE, AOJG SHOULD NOT JUMP
34177
34178 051536 561 07 0 00 777776 C53300: HRROI 7,-2 ;PRELOAD AC WITH -1,,-2
34179 051537 347 07 0 00 051541 AOJG 7,.+2 ;*AOJG SHOULD ADD 0,11 TO C(AC)
34180 ;AND NOT JUMP
34181 051540 334 00 0 00 000000 SKIPA ;PASS IF AOJG DID NOT JUMP
34182 STOP^
34183 051541 254 04 0 00 051542 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34184 051542 324 00 0 00 051543 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34185 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34186 ;IN THE SUBTEST) TO LOOP ON ERROR^
34187 051543 312 07 0 00 070254 CAME 7,[-1] ;PASS IF C(AC) INCREMENTED CORRECTLY
34188 STOP^
34189 051544 254 04 0 00 051545 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34190 051545 324 00 0 00 051546 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34191 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34192 ;IN THE SUBTEST) TO LOOP ON ERROR^
34193
34194 ;**********
34195
34196 ;THIS TEST VERIFIES THAT AOJG INCREMENTS C(AC) BY 0,,1 AND
34197 ;PLACES THE RESULT BACK INTO THE AC. THE RESULT IN THE AC IS
34198 ;COMPARED TO 0 AND THE PROGRAM JUMPS TO THE LOCATION
34199 ;SPECIFIED BY E IF C(AC) IS GREATER THAN 0.
34200 ;IN THIS CASE, C(AC) IS -1,,-1 BEFORE INCREMENTING
34201 ;HENCE, AOJG SHOULD NOT JUMP.
34202
34203 051546 474 07 0 00 000000 C53310: SETO 7, ;PRELOAD AC WITH -1,,-1
34204 051547 347 07 0 00 051551 AOJG 7,.+2 ;*AOJG SHOULD ADD 0,,1 TO C(AC)
34205 ;AND NOT JUMP
34206 051550 334 00 0 00 000000 SKIPA ;PASS IF AOJG DID NOT JUMP
34207 STOP^
34208 051551 254 04 0 00 051552 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34209 051552 324 00 0 00 051553 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34210 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34211 ;IN THE SUBTEST) TO LOOP ON ERROR^
34212 051553 302 07 0 00 000000 CAIE 7,0 ;PASS IF C(AC) INCREMENTED CORRECTLY
34213 STOP^
34214 051554 254 04 0 00 051555 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34215 051555 324 00 0 00 051556 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34216 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34217 ;IN THE SUBTEST) TO LOOP ON ERROR^
34218
34219 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 56
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL AOJX INSTRUCTIONS SEQ 0773
34220 ;THIS TEST VERIFIES THAT AOJG INCREMENTS C(AC) BY 0,,1 AND
34221 ;PLACES THE RESULT BACK INTO THE AC. THE RESULT IN THE AC IS
34222 ;COMPARED TO 0 AND THE PROGRAM JUMPS TO THE LOCATION
34223 ;SPECIFIED BY E IF C(AC) IS GREATER THAN 0.
34224 ;IN THIS CASE, C(AC) IS 0 BEFORE INCREMENTING
34225 ;HENCE, AOJG SHOULD JUMP
34226
34227 051556 400 07 0 00 000000 C53320: SETZ 7, ;PRELOAD AC WITH 0
34228 051557 347 07 0 00 051561 AOJG 7,.+2 ;*AOJG SHOULD ADD 0,,1 TO C(AC)
34229 ;AND JUMP
34230 STOP^
34231 051560 254 04 0 00 051561 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34232 051561 324 00 0 00 051562 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34233 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34234 ;IN THE SUBTEST) TO LOOP ON ERROR^
34235 051562 302 07 0 00 000001 CAIE 7,1 ;PASS IF C(AC) INCREMENTED CORRECTLY
34236 STOP^
34237 051563 254 04 0 00 051564 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34238 051564 324 00 0 00 051565 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34239 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34240 ;IN THE SUBTEST) TO LOOP ON ERROR^
34241
34242 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 57
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL AOSX INSTRUCTIONS SEQ 0774
34243 SUBTTL TEST OF MSCL AOSX INSTRUCTIONS
34244
34245 ;**********
34246
34247 ;THIS TEST VERIFIES THAT AOSL INCREMENTS C(E) BY 0,,1 AND PLACES
34248 ;THE RESULT INTO E. THE RESULT IN E IS COMPARED TO 0 AND SKIPS
34249 ;THE NEXT INSTRUCTION IF C(E) IS LESS THAN 0
34250 ;IF THE AC IS NON-ZERO, THE RESULT IS ALSO PLACED INTO THE AC.
34251 ;IN THIS CASE, AC=6, C(AC)=707070,,707070 AND C(E)=-1,,-2
34252 ;BEFORE INCREMENTING. HENCE, AOSL SHOULD SKIP ; AND THE
34253 ;FINAL RESULTS IN AC AND E SHOULD BE -1,,-1 AND -1,,-1
34254 ;RESPECTIVELY.
34255
34256 051565 200 06 0 00 070332 C53400: MOVE 6,[707070,,707070] ;PRELOAD AC WITH 707070,,707070
34257 051566 561 07 0 00 777776 HRROI 7,-2 ;PRELOAD E WITH -1,,-2
34258 051567 351 06 0 00 000007 AOSL 6,7 ;*AOSL SHOULD ADD 0,,1 TO C(E),
34259 ;UPDATE AC AND SKIP
34260 STOP^
34261 051570 254 04 0 00 051571 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34262 051571 324 00 0 00 051572 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34263 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34264 ;IN THE SUBTEST) TO LOOP ON ERROR^
34265 051572 312 07 0 00 070254 CAME 7,[-1] ;PASS IF E INCREMENTED CORRECTLY
34266 STOP^
34267 051573 254 04 0 00 051574 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34268 051574 324 00 0 00 051575 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34269 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34270 ;IN THE SUBTEST) TO LOOP ON ERROR^
34271 051575 312 06 0 00 070254 CAME 6,[-1] ;PASS IF AC WAS UPDATED IF AC NON-ZERO
34272 STOP^
34273 051576 254 04 0 00 051577 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34274 051577 324 00 0 00 051600 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34275 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34276 ;IN THE SUBTEST) TO LOOP ON ERROR^
34277
34278 ;**********
34279
34280 ;THIS TEST VERIFIES THAT AOSL INCREMENTS C(E) BY 0,,1 AND PLACES
34281 ;THE RESULT INTO E. THE RESULT IN E IS COMPARED TO 0 AND SKIPS
34282 ;THE NEXT INSTRUCTION IF C(E) IS LESS THAN 0
34283 ;IF THE AC IS NON-ZERO, THE RESULT IS ALSO PLACED INTO THE AC.
34284 ;IN THIS CASE, AC=6, C(AC)=707070,,707070 AND C(E)=-1,,-2
34285 ;BEFORE INCREMENTING. HENCE, AOSL SHOULD SKIP ; AND THE
34286 ;FINAL RESULTS IN AC AND E SHOULD BE -1,,-1 AND -1,,-1
34287 ;RESPECTIVELY.
34288
34289 051600 200 06 0 00 070332 C53401: MOVE 6,[707070,,707070] ;PRELOAD AC WITH 707070,,707070
34290 051601 561 07 0 00 777776 HRROI 7,-2 ;PRELOAD E WITH -1,,-2
34291 051602 202 07 0 00 051616 MOVEM 7,E53401
34292 051603 351 06 0 00 051616 AOSL 6,E53401 ;*AOSL SHOULD ADD 0,,1 TO C(E),
34293 ;UPDATE AC AND SKIP
34294 STOP^
34295 051604 254 04 0 00 051605 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34296 051605 324 00 0 00 051606 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34297 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 57-1
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL AOSX INSTRUCTIONS SEQ 0775
34298 ;IN THE SUBTEST) TO LOOP ON ERROR^
34299 051606 200 07 0 00 051616 MOVE 7,E53401
34300 051607 312 07 0 00 070254 CAME 7,[-1] ;PASS IF E INCREMENTED CORRECTLY
34301 STOP^
34302 051610 254 04 0 00 051611 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34303 051611 324 00 0 00 051612 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34304 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34305 ;IN THE SUBTEST) TO LOOP ON ERROR^
34306 051612 312 06 0 00 070254 CAME 6,[-1] ;PASS IF AC WAS UPDATED IF AC NON-ZERO
34307 STOP^
34308 051613 254 04 0 00 051614 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34309 051614 324 00 0 00 051615 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34310 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34311 ;IN THE SUBTEST) TO LOOP ON ERROR^
34312
34313 051615 334 00 0 00 000000 SKIPA ;GO TO NEXT TEST
34314 051616 000000 000000 E53401: 0 ;TEST WORD MEMORY
34315
34316 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 58
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL AOSX INSTRUCTIONS SEQ 0776
34317 ;THIS TEST VERIFIES THAT AOSL INCREMENTS C(E) BY 0,,1 AND PLACES
34318 ;THE RESULT INTO E. THE RESULT IN E IS COMPARED TO 0 AND SKIPS
34319 ;THE NEXT INSTRUCTION IF C(E) ISLESS THAN 0
34320 ;IF THE AC IS NON-ZERO, THE RESULT IS ALSO PLACED INTO THE AC.
34321 ;IN THIS CASE, AC=6, C(AC)=707070,,707070 AND C(E)=-1,,-1
34322 ;BEFORE INCREMENTING. HENCE, AOSL SHOULD NOT SKIP; AND THE
34323 ;FINAL RESULTS IN AC AND E SHOULD BE 0 AND 0
34324 ;RESPECTIVELY.
34325
34326 051617 200 06 0 00 070332 C53410: MOVE 6,[707070,,707070] ;PRELOAD AC WITH 707070,,707070
34327 051620 474 07 0 00 000000 SETO 7, ;PRELOAD E WITH -1,,-1
34328 051621 351 06 0 00 000007 AOSL 6,7 ;*AOSL SHOULD ADD 00,1 TO C(E)
34329 ;UPDATE AC AND NOT SKIP
34330 051622 334 00 0 00 000000 SKIPA ;PASS IF AOSL DID NOT SKIP
34331 STOP^
34332 051623 254 04 0 00 051624 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34333 051624 324 00 0 00 051625 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34334 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34335 ;IN THE SUBTEST) TO LOOP ON ERROR^
34336 051625 312 07 0 00 070253 CAME 7,[0] ;PASS IF E INCREMENTED CORRECTLY
34337 STOP^
34338 051626 254 04 0 00 051627 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34339 051627 324 00 0 00 051630 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34340 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34341 ;IN THE SUBTEST) TO LOOP ON ERROR^
34342 051630 312 06 0 00 070253 CAME 6,[0] ;PASS IF AC WAS UPDATED IF AC NON-ZERO
34343 STOP^
34344 051631 254 04 0 00 051632 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34345 051632 324 00 0 00 051633 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34346 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34347 ;IN THE SUBTEST) TO LOOP ON ERROR^
34348
34349 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 59
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL AOSX INSTRUCTIONS SEQ 0777
34350 ;THIS TEST VERIFIES THAT AOSL INCREMENTS C(E) BY 0,,1 AND PLACES
34351 ;THE RESULT INTO E. THE RESULT IN E IS COMPARED TO 0 AND SKIPS
34352 ;THE NEXT INSTRUCTION IF C(E) IS LESS THAN 0.
34353 ;IF THE AC IS NON-ZERO, THE RESULT IS ALSO PLACED INTO THE AC.
34354 ;IN THIS CASE, AC=6, C(AC)=707070,,707070 AND C(E)=0
34355 ;BEFORE INCREMENTING. HENCE, AOSL SHOULD NOT SKIP; AND THE
34356 ;FINAL RESULTS IN AC AND E SHOULD BE 0,,1 AND 0,,1
34357 ;RESPECTIVELY
34358
34359 051633 200 06 0 00 070332 C53420: MOVE 6,[707070,,707070] ;PRELOAD AC WITH 707070,,707070
34360 051634 400 07 0 00 000000 SETZ 7, ;PRELOAD E WITH 0
34361 051635 351 06 0 00 000007 AOSL 6,7 ;*AOSL SHOULD ADD 0,,1 TO C(E).
34362 ;UPDATE AC AND NOT SKIP
34363 051636 334 00 0 00 000000 SKIPA ;PASS IF AOSL DID NOT SKIP
34364 STOP^
34365 051637 254 04 0 00 051640 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34366 051640 324 00 0 00 051641 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34367 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34368 ;IN THE SUBTEST) TO LOOP ON ERROR^
34369 051641 312 07 0 00 070265 CAME 7,[1] ;PASS IF E INCREMENTED CORRECTLY
34370 STOP^
34371 051642 254 04 0 00 051643 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34372 051643 324 00 0 00 051644 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34373 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34374 ;IN THE SUBTEST) TO LOOP ON ERROR^
34375 051644 312 06 0 00 070265 CAME 6,[1] ;PASS IF AC WAS UPDATED IF AC NON-ZERO
34376 STOP^
34377 051645 254 04 0 00 051646 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34378 051646 324 00 0 00 051647 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34379 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34380 ;IN THE SUBTEST) TO LOOP ON ERROR^
34381
34382 ;**********
34383
34384 ;THIS TEST VERIFIES THAT AOSE INCREMENTS C(E) BY 0,,1 AND PLACES
34385 ;THE RESULT INTO E. THE RESULT IN E IS COMPARED TO 0 AND SKIPS
34386 ;THE NEXT INSTRUCTION IF C(E) IS EQUAL TO 0.
34387 ;IF THE AC IS NON-ZERO, THE RESULT IS ALSO PLACED INTO THE AC.
34388 ;IN THIS CASE, AC=5, C(AC)=707070,,707070AND C(E)=-1,,-2
34389 ;BEFORE INCREMENTING. HENCE, AOSE SHOULD NOT SKIP; AND THE
34390 ;FINAL RESULTS IN AC AND E SHOULD BE -1,,-1 AND -1,,-1
34391 ;RESPECTIVELY.
34392
34393 051647 200 05 0 00 070332 C53500: MOVE 5,[707070,,707070] ;PRELOAD AC WITH 707070,,707070
34394 051650 561 06 0 00 777776 HRROI 6,-2 ;PRELOAD E WITH -1,,-2
34395 051651 352 05 0 00 000006 AOSE 5,6 ;*AOSE SHOULD ADD 0,,1 TO C(E),
34396 ;UPDATE AC AND NOT SKIP
34397 051652 334 00 0 00 000000 SKIPA ;PASS IF AOSE DID NOT SKIP
34398 STOP^
34399 051653 254 04 0 00 051654 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34400 051654 324 00 0 00 051655 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34401 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34402 ;IN THE SUBTEST) TO LOOP ON ERROR^
34403 051655 312 06 0 00 070254 CAME 6,[-1] ;PASS IF E INCREMENTED CORRECTLY
34404 STOP^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 59-1
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL AOSX INSTRUCTIONS SEQ 0778
34405 051656 254 04 0 00 051657 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34406 051657 324 00 0 00 051660 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34407 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34408 ;IN THE SUBTEST) TO LOOP ON ERROR^
34409 051660 312 05 0 00 070254 CAME 5,[-1] ;PASS IF AC WAS UPDATED IF AC NON-ZERO
34410 STOP^
34411 051661 254 04 0 00 051662 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34412 051662 324 00 0 00 051663 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34413 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34414 ;IN THE SUBTEST) TO LOOP ON ERROR^
34415
34416 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 60
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL AOSX INSTRUCTIONS SEQ 0779
34417 ;THIS TEST VERIFIES THAT AOSE INCREMENTS C(E) BY 0,,1 AND PLACES
34418 ;THE RESULT INTO E. THE RESULT IN E IS COMPARED TO 0 AND SKIPS
34419 ;THE NEXT INSTRUCTION IF C(E) IS EQUAL TO 0
34420 ;IF THE AC IS NON-ZERO, THE RESULT IS ALSO PLACED INTO THE AC.
34421 ;IN THIS CASE, AC=5, C(AC)=707070,,707070 AND C(E)=-1,,-1
34422 ;BEFORE INCREMENTING. HENCE, AOSE SHOULD SKIP; AND THE
34423 ;FINAL RESULTS IN AC AND E SHOULD BE 0 AND 0
34424 ;RESPECTIVELY.
34425
34426 051663 200 05 0 00 070332 C53510: MOVE 5,[707070,,707070] ;PRELOAD AC WITH 707070,,707070
34427 051664 474 06 0 00 000000 SETO 6, ;PRELOAD E WITH -1,,-1
34428 051665 352 05 0 00 000006 AOSE 5,6 ;*AOSE SHOULD ADD 0,,1 TO C(E),
34429 ;UPDATE AC AND SKIP
34430 STOP^
34431 051666 254 04 0 00 051667 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34432 051667 324 00 0 00 051670 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34433 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34434 ;IN THE SUBTEST) TO LOOP ON ERROR^
34435 051670 312 06 0 00 070253 CAME 6,[0] ;PASS IF E INCREMENTED CORRECTLY
34436 STOP^
34437 051671 254 04 0 00 051672 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34438 051672 324 00 0 00 051673 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34439 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34440 ;IN THE SUBTEST) TO LOOP ON ERROR^
34441 051673 312 05 0 00 070253 CAME 5,[0] ;PASS IF AC WAS UPDATED IF AC NON-ZERO
34442 STOP^
34443 051674 254 04 0 00 051675 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34444 051675 324 00 0 00 051676 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34445 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34446 ;IN THE SUBTEST) TO LOOP ON ERROR^
34447
34448 ;**********
34449
34450 ;THIS TEST VERIFIES THAT AOSE INCREMENTS C(E) BY 0,,1 AND PLACES
34451 ;THE RESULT INTO E. THE RESULT IN E IS COMPARED TO 0 AND SKIPS
34452 ;THE NEXT INSTRUCTION IF C(E) IS EQUAL TO 0
34453 ;IF THE AC IS NON-ZERO, THE RESULT IS ALSO PLACED INTO THE AC.
34454 ;IN THIS CASE, AC=5, C(AC)=707070,,707070 AND C(AC)=0
34455 ;BEFORE INCREMENTING. HENCE, AOSE SHOULD NOT SKIP; AND THE
34456 ;FINAL RESULTS IN AC AND E SHOULD BE 0,,1 AND 0,,1
34457 ;RESPECTIVELY.
34458
34459 051676 200 05 0 00 070332 C53520: MOVE 5,[707070,,707070] ;PRELOAD AC WITH 707070,,707070
34460 051677 400 06 0 00 000000 SETZ 6, ;PRELOAD E WITH 0
34461 051700 352 05 0 00 000006 AOSE 5,6 ;*AOSE SHOULD ADD 0,,1 TO C(E),
34462 ;UPDATE AC AND NOT SKIP
34463 051701 334 00 0 00 000000 SKIPA ;PASS IF AOSE DID NOT SKIP
34464 STOP^
34465 051702 254 04 0 00 051703 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34466 051703 324 00 0 00 051704 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34467 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34468 ;IN THE SUBTEST) TO LOOP ON ERROR^
34469 051704 312 06 0 00 070265 CAME 6,[1] ;PASS IF E INCREMENTED CORRECTLY
34470 STOP^
34471 051705 254 04 0 00 051706 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 60-1
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL AOSX INSTRUCTIONS SEQ 0780
34472 051706 324 00 0 00 051707 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34473 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34474 ;IN THE SUBTEST) TO LOOP ON ERROR^
34475 051707 312 05 0 00 070265 CAME 5,[1] ;PASS IF AC WAS UPDATED IF AC NON-ZERO
34476 STOP^
34477 051710 254 04 0 00 051711 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34478 051711 324 00 0 00 051712 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34479 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34480 ;IN THE SUBTEST) TO LOOP ON ERROR^
34481
34482 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 61
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL AOSX INSTRUCTIONS SEQ 0781
34483 ;THIS TEST VERIFIES THAT AOSLE INCREMENTS C(E) BY 0,,1 AND PLACES
34484 ;THE RESULT INTO E. THE RESULT IN E IS COMPARED TO 0 AND SKIPS
34485 ;THE NEXT INSTRUCTION IF C(E) IS LESS THAN OR EQUAL TO0
34486 ;IF THE AC IS NON-ZERO, THE RESULT IS ALSO PLACED INTO THE AC.
34487 ;IN THIS CASE, AC=4, C(AC)=707070,,707070 AND C(E)=-1,,-2
34488 ;BEFORE INCREMENTING. HENCE, AOSLE SHOULD SKIP; AND THE
34489 ;FINAL RESULTS IN AC AND E SHOULD BE -1,,-1 AND -1,,-1
34490 ;RESPECTIVELY.
34491
34492 051712 200 04 0 00 070332 C53600: MOVE 4,[707070,,707070] ;PRELOAD AC WITH 707070,,707070
34493 051713 561 05 0 00 777776 HRROI 5,-2 ;PRELOAD E WITH -1,,-2
34494 051714 353 04 0 00 000005 AOSLE 4,5 ;*AOSLE SHOULD ADD 0,,1 TO C(E),
34495 ;UPDATE AC AND SKIP ZERO
34496 STOP^
34497 051715 254 04 0 00 051716 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34498 051716 324 00 0 00 051717 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34499 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34500 ;IN THE SUBTEST) TO LOOP ON ERROR^
34501 051717 312 05 0 00 070254 CAME 5,[-1] ;PASS IF E INCREMENTED CORRECTLY
34502 STOP^
34503 051720 254 04 0 00 051721 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34504 051721 324 00 0 00 051722 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34505 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34506 ;IN THE SUBTEST) TO LOOP ON ERROR^
34507 051722 312 04 0 00 070254 CAME 4,[-1] ;PASS IF AC WAS UPDATED IF AC NON-ZERO
34508 STOP^
34509 051723 254 04 0 00 051724 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34510 051724 324 00 0 00 051725 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34511 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34512 ;IN THE SUBTEST) TO LOOP ON ERROR^
34513
34514 ;**********
34515
34516 ;THIS TEST VERIFIES THAT AOSLE INCREMENTS C(E) BY 0,,1 AND PLACES
34517 ;THE RESULT INTO E. THE RESULT IN E IS COMPARED TO 0 AND SKIPS
34518 ;THE NEXT INSTRUCTION IF C(E) IS LESS THAN OR EQUAL TO 0.
34519 ;IF THE AC IS NON-ZERO, THE RESULT IS ALSO PLACED INTO THE AC.
34520 ;IN THIS CASE, AC=4, C(AC)=707070,,707070 AND C(E)=-1,,-1
34521 ;BEFORE INCREMENTING. HENCE, AOSLE SHOULD SKIP; AND THE
34522 ;FINAL RESULTS IN AC AND E SHOULD BE 0 AND 0
34523 ;RESPECTIVELY.
34524
34525 051725 200 04 0 00 070332 C53610: MOVE 4,[707070,,707070] ;PRELOAD AC WITH 707070,,707070
34526 051726 476 05 0 00 000000 SETOM 5, ;PRELOAD E WITH -1,,-1
34527 051727 353 04 0 00 000005 AOSLE 4,5 ;*AOSLE SHOULD ADD 0,,1 TO C(E)
34528 ;UPDATE AC AND SKIP
34529 STOP^
34530 051730 254 04 0 00 051731 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34531 051731 324 00 0 00 051732 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34532 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34533 ;IN THE SUBTEST) TO LOOP ON ERROR^
34534 051732 312 05 0 00 070253 CAME 5,[0] ;PASS IF E INCREMENTED CORRECTLY
34535 STOP^
34536 051733 254 04 0 00 051734 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34537 051734 324 00 0 00 051735 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 61-1
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL AOSX INSTRUCTIONS SEQ 0782
34538 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34539 ;IN THE SUBTEST) TO LOOP ON ERROR^
34540 051735 312 04 0 00 070253 CAME 4,[0] ;PASS IF AC WAS UPDATED IF AC NON-ZERO
34541 STOP^
34542 051736 254 04 0 00 051737 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34543 051737 324 00 0 00 051740 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34544 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34545 ;IN THE SUBTEST) TO LOOP ON ERROR^
34546
34547 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 62
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL AOSX INSTRUCTIONS SEQ 0783
34548 ;THIS TEST VERIFIES THAT AOSLE INCREMENTS C(E) BY 0,,1 AND PLACES
34549 ;THE RESULT INTO E. THE RESULT IN E IS COMPARED TO 0 AND SKIPS
34550 ;THE NEXT INSTRUCTION IF C(E) IS LESS THAN OR EQUAL TO 0
34551 ;IF THE AC IS NON-ZERO, THE RESULT IS ALSO PLACED INTO THE AC.
34552 ;IN THIS CASE, AC=4, C(AC)=707070,,707070 AND C(E)=0
34553 ;BEFORE INCREMENTING. HENCE, AOSLE SHOULD NOT SKIP ; AND THE
34554 ;FINAL RESULTS IN AC AND E SHOULD BE 0,,1 AND 0,,1
34555 ;RESPECTIVELY.
34556
34557 051740 200 04 0 00 070332 C53620: MOVE 4,[707070,,707070] ;PRELOAD AC WITH 707070,,707070
34558 051741 400 00 0 00 000005 SETZ 5 ;PRELOAD E WITH 0
34559 051742 353 04 0 00 000005 AOSLE 4,5 ;*AOSLE SHOULD ADD 0,,1 TO C(E)
34560 ;UPDATE AC AND NOT SKIP
34561 051743 334 00 0 00 000000 SKIPA ;PASS IF AOSLE DID NOT SKIP
34562 STOP^
34563 051744 254 04 0 00 051745 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34564 051745 324 00 0 00 051746 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34565 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34566 ;IN THE SUBTEST) TO LOOP ON ERROR^
34567 051746 312 05 0 00 070265 CAME 5,[1] ;PASS IF E INCREMENTED CORRECTLY
34568 STOP^
34569 051747 254 04 0 00 051750 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34570 051750 324 00 0 00 051751 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34571 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34572 ;IN THE SUBTEST) TO LOOP ON ERROR^
34573 051751 312 04 0 00 070265 CAME 4,[1] ;PASS IF AC WAS UPDATED IF AC NON-ZERO
34574 STOP^
34575 051752 254 04 0 00 051753 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34576 051753 324 00 0 00 051754 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34577 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34578 ;IN THE SUBTEST) TO LOOP ON ERROR^
34579
34580 ;**********
34581
34582 ;THIS TEST VERIFIES THAT AOSA INCREMENTS C(E) BY 0,,1 AND PLACES
34583 ;THE RESULT INTO E. THE RESULT IN E IS COMPARED TO 0 AND ALWAYS SKIPS
34584 ;THE NEXT INSTRUCTION.
34585 ;IF THE AC IS NON-ZERO, THE RESULT IS ALSO PLACED INTO THE AC.
34586 ;IN THIS CASE, AC=3, C(AC)=707070,,707070 AND C(E)=-1,,-2
34587 ;BEFORE INCREMENTING. HENCE, AOSA SHOULD SKIP ; AND THE
34588 ;FINAL RESULTS IN AC AND E SHOULD BE -1,,-1 AND -1,,-1
34589 ;RESPECTIVELY.
34590
34591 051754 200 03 0 00 070332 C53700: MOVE 3,[707070,,707070] ;PRELOAD AC WITH 707070,,707070
34592 051755 561 04 0 00 777776 HRROI 4,-2 ;PRELOAD E WITH -1,,-2
34593 051756 354 03 0 00 000004 AOSA 3,4 ;*AOSA SHOULD ADD 0,,1 TO C(E),
34594 ;UPDATE AC AND SKIP
34595 STOP^
34596 051757 254 04 0 00 051760 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34597 051760 324 00 0 00 051761 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34598 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34599 ;IN THE SUBTEST) TO LOOP ON ERROR^
34600 051761 312 04 0 00 070254 CAME 4,[-1] ;PASS IF E INCREMENTED CORRECTLY
34601 STOP^
34602 051762 254 04 0 00 051763 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 62-1
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL AOSX INSTRUCTIONS SEQ 0784
34603 051763 324 00 0 00 051764 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34604 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34605 ;IN THE SUBTEST) TO LOOP ON ERROR^
34606 051764 312 03 0 00 070254 CAME 3,[-1] ;PASS IF AC WAS UPDATED IF AC NON-ZERO
34607 STOP^
34608 051765 254 04 0 00 051766 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34609 051766 324 00 0 00 051767 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34610 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34611 ;IN THE SUBTEST) TO LOOP ON ERROR^
34612
34613 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 63
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL AOSX INSTRUCTIONS SEQ 0785
34614 ;THIS TEST VERIFIES THAT AOSA INCREMENTS C(E) BY 0,,1 AND PLACES
34615 ;THE RESULT INTO E. THE RESULT IN E IS COMPARED TO 0 AND ALWAYS SKIPS
34616 ;THE NEXT INSTRUCTION.
34617 ;IF THE AC IS NON-ZERO, THE RESULT IS ALSO PLACED INTO THE AC.
34618 ;;IN THIS CASE, AC=3, C(AC)=707070,,707070 AND C(E)=-1,,-1
34619 ;BEFORE INCREMENTING. HENCE, AOSA SHOULD SKIP AND THE
34620 ;FINAL RESULTS IN AC AND E SHOULD BE 0 AND 0
34621 ;RESPECTIVELY
34622
34623 051767 200 03 0 00 070332 C53710: MOVE 3,[707070,,707070] ;PRELOAD AC WITH 707070,,707070
34624 051770 474 04 0 00 000000 SETO 4, ;PRELOAD E WITH -1,,-1
34625 051771 354 03 0 00 000004 AOSA 3,4 ;*AOSA SHOULD ADD 0,,1 TO C(E),
34626 ;UPDATE AC AND SKIP
34627 STOP^
34628 051772 254 04 0 00 051773 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34629 051773 324 00 0 00 051774 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34630 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34631 ;IN THE SUBTEST) TO LOOP ON ERROR^
34632 051774 312 04 0 00 070253 CAME 4,[0] ;PASS IF E INCREMENTED CORRECTLY
34633 STOP^
34634 051775 254 04 0 00 051776 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34635 051776 324 00 0 00 051777 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34636 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34637 ;IN THE SUBTEST) TO LOOP ON ERROR^
34638 051777 312 03 0 00 070253 CAME 3,[0] ;PASS IF AC WAS UPDATED IF AC NON-ZERO
34639 STOP^
34640 052000 254 04 0 00 052001 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34641 052001 324 00 0 00 052002 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34642 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34643 ;IN THE SUBTEST) TO LOOP ON ERROR^
34644
34645 ;**********
34646
34647 ;THIS TEST VERIFIES THAT AOS INCREMENTS C(E) BY 0,,1 AND PLACES
34648 ;THE RESULT INTO E. THE RESULT IN E IS COMPARED TO 0 AND ALWAYS SKIPS
34649 ;THE NEXT INSTRUCTION.
34650 ;IF THE AC IS NON-ZERO, THE RESULT IS ALSO PLACED INTO THE AC.
34651 ;IN THIS CASE, AC=3, C(AC)=707070,,707070 AND C(E)=0
34652 ;BEFORE INCREMENTING. HENCE, AOSA SHOULD SKIP ; AND THE
34653 ;FINAL RESULTS IN AC AND E SHOULD BE 0,,1 AND 0,,1
34654 ;RESPECTIVELY
34655
34656 052002 200 03 0 00 070332 C53720: MOVE 3,[707070,,707070] ;PRELOAD AC WITH 707070,,707070
34657 052003 400 04 0 00 000000 SETZ 4, ;PRELOAD E WITH 0
34658 052004 354 03 0 00 000004 AOSA 3,4 ;*AOSA SHOULD ADD 0,,1 TO C(E),
34659 ;UPDATE AC AND SKIP
34660 STOP^
34661 052005 254 04 0 00 052006 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34662 052006 324 00 0 00 052007 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34663 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34664 ;IN THE SUBTEST) TO LOOP ON ERROR^
34665 052007 312 04 0 00 070265 CAME 4,[1] ;PASS IF E INCREMENTED CORRECTLY
34666 STOP^
34667 052010 254 04 0 00 052011 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34668 052011 324 00 0 00 052012 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 63-1
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL AOSX INSTRUCTIONS SEQ 0786
34669 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34670 ;IN THE SUBTEST) TO LOOP ON ERROR^
34671 052012 312 03 0 00 070265 CAME 3,[1] ;PASS IF AC WAS UPDATED IF AC NON-ZERO
34672 STOP^
34673 052013 254 04 0 00 052014 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34674 052014 324 00 0 00 052015 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34675 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34676 ;IN THE SUBTEST) TO LOOP ON ERROR^
34677
34678 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 64
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL AOSX INSTRUCTIONS SEQ 0787
34679 ;THIS TEST VERIFIES THAT AOSGE INCREMENTS C(E) BY 0,,1 AND PLACES
34680 ;THE RESULT INTO E. THE RESULT IN E IS COMPARED TO 0 AND SKIPS
34681 ;THE NEXT INSTRUCTION IF C(E) IS GREATER THAN OR EQUAL TO 0
34682 ;IF THE AC IS NON-ZERO, THE RESULT IS ALSO PLACED INTO THE AC.
34683 ;IN THIS CASE, AC=2, C(AC)=707070,,707070 AND C(E)=-1,,-2
34684 ;BEFORE INCREMENTING. HENCE, AOSGE SHOULD NOT SKIP; AND THE
34685 ;FINAL RESULTS IN AC AND E SHOULD BE -1,,-1 AND -1,,-1
34686 ;RESPECTIVELY
34687
34688 052015 200 02 0 00 070332 C54000: MOVE 2,[707070,,707070] ;PRELOAD AC WITH 707070,,707070
34689 052016 561 03 0 00 777776 HRROI 3,-2 ;PRELOAD E WITH -1,,-2
34690 052017 355 02 0 00 000003 AOSGE 2,3 ;*AOSGE SHOULD ADD 0,,1 TO C(E),
34691 ;UPDATE AC AND NOT SKIP
34692 052020 334 00 0 00 000000 SKIPA ;PASS IF AOSGE DID NOT SKIP
34693 STOP^
34694 052021 254 04 0 00 052022 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34695 052022 324 00 0 00 052023 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34696 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34697 ;IN THE SUBTEST) TO LOOP ON ERROR^
34698 052023 312 03 0 00 070254 CAME 3,[-1] ;PASS IF E INCREMENTED CORRECTLY
34699 STOP^
34700 052024 254 04 0 00 052025 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34701 052025 324 00 0 00 052026 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34702 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34703 ;IN THE SUBTEST) TO LOOP ON ERROR^
34704 052026 312 02 0 00 070254 CAME 2,[-1] ;PASS IF AC WAS UPDATED IF AC NON-ZERO
34705 STOP^
34706 052027 254 04 0 00 052030 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34707 052030 324 00 0 00 052031 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34708 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34709 ;IN THE SUBTEST) TO LOOP ON ERROR^
34710
34711 ;**********
34712
34713 ;THIS TEST VERIFIES THAT AOSGE INCREMENTS C(E) BY 0,,1 AND PLACES
34714 ;THE RESULT INTO E. THE RESULT IN E IS COMPARED TO 0 AND SKIPS
34715 ;THE NEXT INSTRUCTION IF C(E) IS GREATER THAN OR EQUAL TO 0
34716 ;IF THE AC IS NON-ZERO, THE RESULT IS ALSO PLACED INTO THE AC.
34717 ;IN THIS CASE, AC=2, C(AC)=707070,,707070 AND C(E)=-1,,-1
34718 ;BEFORE INCREMENTING. HENCE, AOSGE SHOULD SKIP; AND THE
34719 ;FINAL RESULTS IN AC AND E SHOULD BE 0 AND 0
34720 ;RESPECTIVELY
34721
34722 052031 200 02 0 00 070332 C54010: MOVE 2,[707070,,707070] ;PRELOAD AC WITH 707070,,707070
34723 052032 474 03 0 00 000000 SETO 3, ;PRELOAD E WITH 0
34724 052033 355 02 0 00 000003 AOSGE 2,3 ;*AOSGE SHOULD ADD 0,,1 TO C(E),
34725 ;UPDATE AC AND SKIP
34726 STOP^
34727 052034 254 04 0 00 052035 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34728 052035 324 00 0 00 052036 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34729 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34730 ;IN THE SUBTEST) TO LOOP ON ERROR^
34731 052036 312 03 0 00 070253 CAME 3,[0] ;PASS IF E INCREMENTED CORRECTLY
34732 STOP^
34733 052037 254 04 0 00 052040 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 64-1
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL AOSX INSTRUCTIONS SEQ 0788
34734 052040 324 00 0 00 052041 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34735 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34736 ;IN THE SUBTEST) TO LOOP ON ERROR^
34737 052041 312 02 0 00 070253 CAME 2,[0] ;PASS IF AC WAS UPDATED IF AC NON-ZERO
34738 STOP^
34739 052042 254 04 0 00 052043 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34740 052043 324 00 0 00 052044 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34741 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34742 ;IN THE SUBTEST) TO LOOP ON ERROR^
34743
34744 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 65
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL AOSX INSTRUCTIONS SEQ 0789
34745 ;THIS TEST VERIFIES THAT AOSGE INCREMENTS C(E) BY 0,,1 AND PLACES
34746 ;THE RESULT INTO E. THE RESULT IN E IS COMPARED TO 0 AND SKIPS
34747 ;THE NEXT INSTRUCTION IF C(E) IS GREATER THAN OR EQUAL TO 0
34748 ;IF THE AC IS NON-ZERO, THE RESULT IS ALSO PLACED INTO THE AC.
34749 ;IN THIS CASE, AC=2, C(AC)=707070,,707070 AND C(E)=0
34750 ;BEFORE INCREMENTING. HENCE, AOSGE SHOULD SKIP; AND THE
34751 ;FINAL RESULTS IN AC AND E SHOULD BE 0,,1 AND 0,,1
34752 ;RESPECTIVELY
34753
34754 052044 200 02 0 00 070332 C54020: MOVE 2,[707070,,707070] ;PRELOAD AC WITH 707070,,707070
34755 052045 400 03 0 00 000000 SETZ 3, ;PRELOAD E WITH 0
34756 052046 355 02 0 00 000003 AOSGE 2,3 ;*AOSGE SHOULD ADD 0,,1 TO C(E),
34757 ;UPDATE AC AND SKIP
34758 STOP^
34759 052047 254 04 0 00 052050 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34760 052050 324 00 0 00 052051 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34761 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34762 ;IN THE SUBTEST) TO LOOP ON ERROR^
34763 052051 312 03 0 00 070265 CAME 3,[1] ;PASS IF E INCREMENTED CORRECTLY
34764 STOP^
34765 052052 254 04 0 00 052053 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34766 052053 324 00 0 00 052054 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34767 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34768 ;IN THE SUBTEST) TO LOOP ON ERROR^
34769 052054 312 02 0 00 070265 CAME 2,[1] ;PASS IF AC WAS UPDATED IF AC NON-ZERO
34770 STOP^
34771 052055 254 04 0 00 052056 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34772 052056 324 00 0 00 052057 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34773 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34774 ;IN THE SUBTEST) TO LOOP ON ERROR^
34775
34776 ;**********
34777
34778 ;THIS TEST VERIFIES THAT AOSN INCREMENTS C(E) BY 0,,1 AND PLACES
34779 ;THE RESULT INTO E. THE RESULT IN E IS COMPARED TO 0 AND SKIPS
34780 ;THE NEXT INSTRUCTION IF C(E) IS NON-ZERO.
34781 ;IF THE AC IS NON-ZERO, THE RESULT IS ALSO PLACED INTO THE AC.
34782 ;IN THIS CASE, AC=1, C(AC)=707070,,707070 AND C(E)=-1,,-2
34783 ;BEFORE INCREMENTING. HENCE, AOSN SHOULD NOT SKIP; AND THE
34784 ;FINAL RESULTS IN AC AND E SHOULD BE -1,,-1 AND -1,,-1
34785 ;RESPECTIVELY
34786
34787 052057 200 01 0 00 070332 C54100: MOVE 1,[707070,,707070] ;PRELOAD AC WITH 707070,,707070
34788 052060 561 02 0 00 777776 HRROI 2,-2 ;PRELOAD E WITH -1,,-2
34789 052061 356 01 0 00 000002 AOSN 1,2 ;*AOSN SHOULD ADD 0,,1 TO C(E),
34790 ;UPDATE AC AND SKIP
34791 STOP^
34792 052062 254 04 0 00 052063 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34793 052063 324 00 0 00 052064 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34794 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34795 ;IN THE SUBTEST) TO LOOP ON ERROR^
34796 052064 312 02 0 00 070254 CAME 2,[-1] ;PASS IF E INCREMENTED CORRECTLY
34797 STOP^
34798 052065 254 04 0 00 052066 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34799 052066 324 00 0 00 052067 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 65-1
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL AOSX INSTRUCTIONS SEQ 0790
34800 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34801 ;IN THE SUBTEST) TO LOOP ON ERROR^
34802 052067 312 01 0 00 070254 CAME 1,[-1] ;PASS IF AC WAS UPDATED IF AC NON-ZERO
34803 STOP^
34804 052070 254 04 0 00 052071 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34805 052071 324 00 0 00 052072 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34806 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34807 ;IN THE SUBTEST) TO LOOP ON ERROR^
34808
34809 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 66
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL AOSX INSTRUCTIONS SEQ 0791
34810 ;THIS TEST VERIFIES THAT AOSN INCREMENTS C(E) BY 0,,1 AND PLACES
34811 ;THE RESULT INTO E. THE RESULT IN E IS COMPARED TO 0 AND SKIPS
34812 ;THE NEXT INSTRUCTION IF C(E) IS NON-ZERO
34813 ;IF THE AC IS NON-ZERO, THE RESULT IS ALSO PLACED INTO THE AC.
34814 ;IN THIS CASE, AC=1, C(AC)=707070,,707070 AND C(E)=-1,,-1
34815 ;BEFORE INCREMENTING. HENCE, AOSN SHOULD NOT SKIP; AND THE
34816 ;FINAL RESULTS IN AC AND E SHOULD BE 0 AND 0
34817 ;RESPECTIVELY
34818
34819 052072 200 01 0 00 070332 C54110: MOVE 1,[707070,,707070] ;PRELOAD AC WITH 707070,,707070
34820 052073 474 02 0 00 000000 SETO 2, ;PRELOAD E WITH -1,,-1
34821 052074 356 01 0 00 000002 AOSN 1,2 ;*AOSN SHOULD ADD 0,,1 TO C(E),
34822 ;UPDATE AC AND NOT SKIP
34823 052075 334 00 0 00 000000 SKIPA ;PASS IF AOSN DID NOT SKIP
34824 STOP^
34825 052076 254 04 0 00 052077 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34826 052077 324 00 0 00 052100 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34827 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34828 ;IN THE SUBTEST) TO LOOP ON ERROR^
34829 052100 312 02 0 00 070253 CAME 2,[0] ;PASS IF E INCREMENTED CORRECTLY
34830 STOP^
34831 052101 254 04 0 00 052102 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34832 052102 324 00 0 00 052103 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34833 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34834 ;IN THE SUBTEST) TO LOOP ON ERROR^
34835 052103 312 01 0 00 070253 CAME 1,[0] ;PASS IF AC WAS UPDATED IF AC NON-ZERO
34836 STOP^
34837 052104 254 04 0 00 052105 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34838 052105 324 00 0 00 052106 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34839 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34840 ;IN THE SUBTEST) TO LOOP ON ERROR^
34841
34842 ;**********
34843
34844 ;THIS TEST VERIFIES THAT AOSN INCREMENTS C(E) BY 0,,1 AND PLACES
34845 ;THE RESULT INTO E. THE RESULT IN E IS COMPARED TO 0 AND SKIPS
34846 ;THE NEXT INSTRUCTION IF C(E) IS NON-ZERO
34847 ;IF THE AC IS NON-ZERO, THE RESULT IS ALSO PLACED INTO THE AC.
34848 ;IN THIS CASE, AC=1, C(AC)=707070,,707070 AND C(E)=0
34849 ;BEFORE INCREMENTING. HENCE, AOSN SHOULD SKIP; AND THE
34850 ;FINAL RESULTS IN AC AND E SHOULD BE 0,,1 AND 0,,1
34851 ;RESPECTIVELY
34852
34853 052106 200 01 0 00 070332 C54120: MOVE 1,[707070,,707070] ;PRELOAD AC WITH 707070,,707070
34854 052107 400 02 0 00 000000 SETZ 2, ;PRELOAD E WITH 0
34855 052110 356 01 0 00 000002 AOSN 1,2 ;*AOSN SHOULD ADD 0,,1 TO C(E),
34856 ;UPDATE AC AND SKIP
34857 STOP^
34858 052111 254 04 0 00 052112 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34859 052112 324 00 0 00 052113 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34860 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34861 ;IN THE SUBTEST) TO LOOP ON ERROR^
34862 052113 312 02 0 00 070265 CAME 2,[1] ;PASS IF E INCREMENTED CORRECTLY
34863 STOP^
34864 052114 254 04 0 00 052115 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 66-1
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL AOSX INSTRUCTIONS SEQ 0792
34865 052115 324 00 0 00 052116 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34866 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34867 ;IN THE SUBTEST) TO LOOP ON ERROR^
34868 052116 312 01 0 00 070265 CAME 1,[1] ;PASS IF AC WAS UPDATED IF AC NON-ZERO
34869 STOP^
34870 052117 254 04 0 00 052120 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34871 052120 324 00 0 00 052121 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34872 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34873 ;IN THE SUBTEST) TO LOOP ON ERROR^
34874
34875 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 67
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL AOSX INSTRUCTIONS SEQ 0793
34876 ;THIS TEST VERIFIES THAT AOSG INCREMENTS C(E) BY 0,,1 AND PLACES
34877 ;THE RESULT INTO E. THE RESULT IN E IS COMPARED TO 0 AND SKIPS
34878 ;THE NEST INSTRUCTION IF C(E) IS GREATER THAN 0
34879 ;IF THE AC IS NON-ZERO, THE RESULT IS ALSO PLACED INTO THE AC.
34880 ;IN THIS CASE, AC=0, C(AC)=707070,,707070 AND C(E)=-1,,-2
34881 ;BEFORE INCREMENTING. HENCE, AOSG SHOULD NOT SKIP; AND THE
34882 ;FINAL RESULTS IN AC AND E SHOULD BE 707070,,707070 AND -1,,-1
34883 ;RESPECTIVELY
34884
34885 052121 200 00 0 00 070332 C54200: MOVE 0,[707070,,707070] ;PRELOAD AC WITH 707070,,707070
34886 052122 561 01 0 00 777776 HRROI 1,-2 ;PRELOAD E WITH -1,,-2
34887 052123 357 00 0 00 000001 AOSG 0,1 ;*AOSG SHOULD ADD 0,,1 TO C(E),
34888 ;AND NOT SKIP
34889 052124 334 00 0 00 000000 SKIPA ;PASS IF AOSG DID NOT SKIP
34890 STOP^
34891 052125 254 04 0 00 052126 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34892 052126 324 00 0 00 052127 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34893 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34894 ;IN THE SUBTEST) TO LOOP ON ERROR^
34895 052127 312 01 0 00 070254 CAME 1,[-1] ;PASS IF E INCREMENTED CORRECTLY
34896 STOP^
34897 052130 254 04 0 00 052131 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34898 052131 324 00 0 00 052132 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34899 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34900 ;IN THE SUBTEST) TO LOOP ON ERROR^
34901 052132 312 00 0 00 070332 CAME 0,[707070,,707070] ;PASS IF C(AC) WAS NOT MODIFIED
34902 STOP^
34903 052133 254 04 0 00 052134 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34904 052134 324 00 0 00 052135 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34905 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34906 ;IN THE SUBTEST) TO LOOP ON ERROR^
34907
34908 ;**********
34909
34910 ;THIS TEST VERIFIES THAT AOSG INCREMENTS C(E) BY 0,,1 AND PLACES
34911 ;THE RESULT INTO E. THE RESULT IN E IS COMPARED TO 0 AND SKIPS
34912 ;THE NEXT INSTRUCTION IF C(E) IS GREATER THAN 0
34913 ;IF THE AC IS NON-ZERO, THE RESULT IS ALSO PLACED INTO THE AC.
34914 ;IN THIS CASE, AC=0, C(AC)=707070,,707070 AND C(E)=-1,,-1
34915 ;BEFORE INCREMENTING. HENCE, AOSG SHOULD NOT SKIP; AND THE
34916 ;FINAL RESULTS IN AC AND E SHOULD BE 707070,,707070 AND 0
34917 ;RESPECTIVELY
34918
34919 052135 200 00 0 00 070332 C54210: MOVE 0,[707070,,707070] ;PRELOAD AC WITH 707070,,707070
34920 052136 474 01 0 00 000000 SETO 1, ;PRELOAD E WITH -1,,-1
34921 052137 357 00 0 00 000001 AOSG 0,1 ;*AOSG SHOULD ADD 0,,1 TO C(E),
34922 ;AND NOT SKIP
34923 052140 334 00 0 00 000000 SKIPA ;PASS IF AOSG DID NOT SKIP
34924 STOP^
34925 052141 254 04 0 00 052142 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34926 052142 324 00 0 00 052143 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34927 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34928 ;IN THE SUBTEST) TO LOOP ON ERROR^
34929 052143 312 01 0 00 070253 CAME 1,[0] ;PASS IF E INCREMENTED CORRECTLY
34930 STOP^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 67-1
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL AOSX INSTRUCTIONS SEQ 0794
34931 052144 254 04 0 00 052145 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34932 052145 324 00 0 00 052146 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34933 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34934 ;IN THE SUBTEST) TO LOOP ON ERROR^
34935 052146 312 00 0 00 070332 CAME 0,[707070,,707070] ;PASS IF C(AC) WAS NOT MODIFIED
34936 STOP^
34937 052147 254 04 0 00 052150 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34938 052150 324 00 0 00 052151 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34939 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34940 ;IN THE SUBTEST) TO LOOP ON ERROR^
34941
34942 ;***********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 68
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL AOSX INSTRUCTIONS SEQ 0795
34943 ;THIS TEST VERIFIES THAT AOSG INCREMENTS C(E) BY 0,,1 AND PLACES
34944 ;THE RESULT INTO E. THE RESULT IN E IS COMPARED TO 0 AND SKIPS
34945 ;THE NEXT INSTRUCTION IF C(E) IS GREATER THAN 0
34946 ;IF THE AC IS NON-ZERO, THE RESULT IS ALSO PLACED INTO THE AC.
34947 ;IN THIS CASE, AC=0, C(AC)=707070,,707070 AND C(E)=0
34948 ;BEFORE INCREMENTING. HENCE, AOSG SHOULD SKIP; AND THE
34949 ;FINAL RESULTS IN AC AND E SHOULD BE 707070,,707070 AND 0,,1
34950 ;RESPECTIVELY
34951
34952 052151 200 00 0 00 070332 C54220: MOVE 0,[707070,,707070] ;PRELOAD AC WITH 707070,,707070
34953 052152 400 01 0 00 000000 SETZ 1, ;PRELOAD E WITH 0
34954 052153 357 00 0 00 000001 AOSG 0,1 ;*AOSG SHOULD ADD 0,,1 TO C(E),
34955 ;AND SKIP
34956 STOP^
34957 052154 254 04 0 00 052155 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34958 052155 324 00 0 00 052156 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34959 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34960 ;IN THE SUBTEST) TO LOOP ON ERROR^
34961 052156 312 01 0 00 070265 CAME 1,[1] ;PASS IF E INCREMENTED CORRECTLY
34962 STOP^
34963 052157 254 04 0 00 052160 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34964 052160 324 00 0 00 052161 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34965 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34966 ;IN THE SUBTEST) TO LOOP ON ERROR^
34967 052161 312 00 0 00 070332 CAME 0,[707070,,707070] ;PASS IF C(AC) WAS NOT MODIFIED
34968 STOP^
34969 052162 254 04 0 00 052163 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34970 052163 324 00 0 00 052164 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34971 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34972 ;IN THE SUBTEST) TO LOOP ON ERROR^
34973
34974 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 69
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL SOJX INSTRUCTIONS SEQ 0796
34975 SUBTTL TEST OF MSCL SOJX INSTRUCTIONS
34976
34977 ;**********
34978
34979 ;THIS TEST VERIFIES THAT SOJL DECREMENTS C(AC) BY 0,,1 AND
34980 ;PLACES THE RESTULT BACK INTO THE AC. THE RESULT IN THE AC IS
34981 ;COMPARED TO 0 AND THE PROGRAM JUMPS TO THE LOCATION
34982 ;SPECIFIED BY E IF C(AC) IS LESS THAN 0.
34983 ;IN THIS CASE, C(AC)=0 BEFORE DECREMENTING. HENCE, SOJL
34984 ;SHOULD JUMP AND THE RESULT IN THE AC SHOULD BE -1,,-1
34985
34986 052164 201 17 0 00 000000 C54300: MOVEI 17,0 ;PRELOAD AC WITH 0
34987 052165 361 17 0 00 052167 SOJL 17,.+2 ;*SOJL SHOULD SUBTRACT 0,,1 FROM C(AC)
34988 ;AND JUMP
34989 STOP^
34990 052166 254 04 0 00 052167 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34991 052167 324 00 0 00 052170 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34992 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34993 ;IN THE SUBTEST) TO LOOP ON ERROR^
34994 052170 312 17 0 00 070254 CAME 17,[-1] ;PASS IF C(AC) DECREMENTED CORRECTLY
34995 STOP^
34996 052171 254 04 0 00 052172 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
34997 052172 324 00 0 00 052173 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
34998 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
34999 ;IN THE SUBTEST) TO LOOP ON ERROR^
35000
35001 ;***********
35002
35003 ;THIS TEST VERIFIES THAT SOJL DECREMENTS C(AC) BY 0,,1 AND
35004 ;PLACES THE RESULT BACK INTO THE AC. THE RESULT IN THE AC IS
35005 ;COMPARED TO 0 AND THE PROGRAM JUMPS TO THE LOCATION
35006 ;SPECIFIED BY E IF C(AC) IS LESS THAN 0.
35007 ;IN THIS CASE, C(AC)=0,,1 BEFORE DECREMENTING. HENCE, SOJL
35008 ;SHOULD NOT JUMP AND THE RESULT IN THE AC SHOULD BE 0.
35009
35010 052173 201 17 0 00 000001 C54310: MOVEI 17,1 ;PRELOAD AC WITH 0,,1
35011 052174 361 17 0 00 052176 SOJL 17,.+2 ;*SOJL SHOULD SUBTRACT 0,,1 FROM C(AC)
35012 052175 334 00 0 00 000000 SKIPA ;PASS IF SOJL DID NOT JUMP
35013 STOP^
35014 052176 254 04 0 00 052177 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35015 052177 324 00 0 00 052200 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35016 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35017 ;IN THE SUBTEST) TO LOOP ON ERROR^
35018 052200 312 17 0 00 070253 CAME 17,[0] ;PASS IF C(AC) DECREMENTED CORRECTLY
35019 STOP^
35020 052201 254 04 0 00 052202 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35021 052202 324 00 0 00 052203 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35022 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35023 ;IN THE SUBTEST) TO LOOP ON ERROR^
35024
35025 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 70
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL SOJX INSTRUCTIONS SEQ 0797
35026 ;THIS TEST VERIFIES THAT SOJL DECREMENTS C(AC) BY 0,,1 AND
35027 ;PLACES THE RESULT BACK INTO THE AC. THE RESULT IN THE AC IS
35028 ;COMPARED TO 0 AND THE PROGRAM JUMPS TO THE LOCATION
35029 ;SPECIFIED BY E IF C(AC) IS LESS THAN 0
35030 ;IN THIS CASE, C(AC)=0,,2 BEFORE DECREMENTING. HENCE, SOJ
35031 ;SHOULD JUMP AND THE RESULT IN THE AC SHOULD BE 0,,1
35032
35033 052203 201 17 0 00 000002 C54320: MOVEI 17,2 ;PRELOAD AC WITH 0,,2
35034 052204 361 17 0 00 052206 SOJL 17,.+2 ;*SOJ SHOULD SUBTRACT 0,,1 FROM C(AC)
35035 ;AND NOT JUMP.
35036 052205 334 00 0 00 000000 SKIPA ;PASS IF SOJL DID NOT JUMP
35037 STOP^
35038 052206 254 04 0 00 052207 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35039 052207 324 00 0 00 052210 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35040 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35041 ;IN THE SUBTEST) TO LOOP ON ERROR^
35042 052210 312 17 0 00 070265 CAME 17,[1] ;PASS IF C(AC) DECREMENTED CORRECTLY
35043 STOP^
35044 052211 254 04 0 00 052212 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35045 052212 324 00 0 00 052213 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35046 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35047 ;IN THE SUBTEST) TO LOOP ON ERROR^
35048
35049 ;**********
35050
35051 ;THIS TEST VERIFIES THAT SOJE DECREMENTS C(AC) BY 0,,1 AND
35052 ;PLACES THE RESULT BACK INTO THE AC. THE RESULT IN THE AC IS
35053 ;COMPARED TO 0 AND THE PROGRAM JUMPS TO THE LOCATION
35054 ;SPECIFIED BY E IF C(AC) IS EQUAL TO 0.
35055 ;IN THIS CASE, C(AC)=0 BEFORE DECREMENTING. HENCE, SOJE
35056 ;SHOULD NOT JUMP AND THE RESULT IN THE AC SHOULD BE -1,,-1
35057
35058 052213 201 16 0 00 000000 C54400: MOVEI 16,0 ;PRELOAD AC WITH 0
35059 052214 362 16 0 00 052216 SOJE 16,.+2 ;*SOJE SHOULD SUBTRACT 0,,1 FROM C(AC)
35060 ;AND NOT JUMP.
35061 052215 334 00 0 00 000000 SKIPA ;PASS IF SOJE DID NOT JUMP
35062 STOP^
35063 052216 254 04 0 00 052217 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35064 052217 324 00 0 00 052220 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35065 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35066 ;IN THE SUBTEST) TO LOOP ON ERROR^
35067 052220 312 16 0 00 070254 CAME 16,[-1] ;PASS IF C(AC) DECREMENTED CORRECTLY
35068 STOP^
35069 052221 254 04 0 00 052222 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35070 052222 324 00 0 00 052223 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35071 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35072 ;IN THE SUBTEST) TO LOOP ON ERROR^
35073
35074 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 71
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL SOJX INSTRUCTIONS SEQ 0798
35075 ;THIS TEST VERIFIES THAT SOJE DECREMENTS C(AC) BY 0,,1 AND
35076 ;PLACES THE RESULT BACK INTO THE AC. THE RESULT IN THE AC IS
35077 ;COMPARED TO 0 AND THE PROGRAM JUMPS TO THE LOCATION
35078 ;SPECIFIED BY E IF C(AC) IS EQUAL TO 0
35079 ;IN THIS CASE, C(AC)=0,,1 BEFORE DECREMENTING. HENCE, SOJ
35080 ;SHOULD JUMP AND THE RESULT IN THE AC SHOULD BE 0
35081
35082 052223 201 16 0 00 000001 C54410: MOVEI 16,1 ;PRELOAD AC WITH 0,,1
35083 052224 362 16 0 00 052226 SOJE 16,.+2 ;*SOJE SHOULD SUBTRACT 0,,1 FROM C(AC)
35084 ;AND JUMP
35085 STOP^
35086 052225 254 04 0 00 052226 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35087 052226 324 00 0 00 052227 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35088 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35089 ;IN THE SUBTEST) TO LOOP ON ERROR^
35090 052227 312 16 0 00 070253 CAME 16,[0] ;PASS IF C(AC) DECREMENTED CORRECTLY
35091 STOP^
35092 052230 254 04 0 00 052231 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35093 052231 324 00 0 00 052232 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35094 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35095 ;IN THE SUBTEST) TO LOOP ON ERROR^
35096
35097 ;**********
35098
35099 ;THIS TEST VERIFIES THAT SOJE DECREMENTS C(AC) BY 0,,1 AND
35100 ;PLACES THE RESULT BACK INTO THE AC. THE RESULT IN THE AC IS
35101 ;COMPARED TO 0 AND THE PROGRAM JUMPS TO THE LOCATION
35102 ;SPECIFIED BY E IF C(AC) IS EQUAL TO 0.
35103 ;IN THIS CASE, C(AC)=0,,2 BEFORE DECREMENTING. HENCE, SOJE
35104 ;SHOULD NOT JUMP AND THE RESULT IN THE AC SHOULD BE 0,,1
35105
35106 052232 201 16 0 00 000002 C54420: MOVEI 16,2 ;PRELOAD AC WITH 0,,2
35107 052233 362 16 0 00 052235 SOJE 16,.+2 ;*SOJ SHOULD SUBTRACT 0,,1 FROM C(AC)
35108 ;AND NOT JUMP.
35109 052234 334 00 0 00 000000 SKIPA ;PASS IF SOJE DID NOT JUMP
35110 STOP^
35111 052235 254 04 0 00 052236 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35112 052236 324 00 0 00 052237 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35113 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35114 ;IN THE SUBTEST) TO LOOP ON ERROR^
35115 052237 312 16 0 00 070265 CAME 16,[1] ;PASS IF C(AC) DECREMENTED CORRECTLY
35116 STOP^
35117 052240 254 04 0 00 052241 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35118 052241 324 00 0 00 052242 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35119 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35120 ;IN THE SUBTEST) TO LOOP ON ERROR^
35121
35122 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 72
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL SOJX INSTRUCTIONS SEQ 0799
35123 ;THIS TEST VERIFIES THAT SOJLE DECREMENTS C(AC) BY 0,,1 AND
35124 ;PLACES THE RESULT BACK INTO THE AC. THE RESULT IN THE AC IS
35125 ;COMPARED TO 0 AND THE PROGRAM JUMPS TO THE LOCATION
35126 ;SPECIFIED BY E IF C(AC) IS LESS THAN OR EQUAL TO 0
35127 ;IN THIS CASE, C(AC)=0 BEFORE DECREMENTING. HENCE, SOJLE
35128 ;SHOULD JUMP AND THE RESULT IN THE AC SHOULD BE -1,,-1
35129
35130 052242 201 15 0 00 000000 C54500: MOVEI 15,0 ;PRELOAD AC WITH 0
35131 052243 363 15 0 00 052245 SOJLE 15,.+2 ;*SOJLE SHOULD SUBTRACT 0,,1 FROM C(AC)
35132 ;AND JUMP
35133 STOP^
35134 052244 254 04 0 00 052245 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35135 052245 324 00 0 00 052246 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35136 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35137 ;IN THE SUBTEST) TO LOOP ON ERROR^
35138 052246 312 15 0 00 070254 CAME 15,[-1] ;PASS IF C(AC) DECREMENTED CORRECTLY
35139 STOP^
35140 052247 254 04 0 00 052250 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35141 052250 324 00 0 00 052251 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35142 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35143 ;IN THE SUBTEST) TO LOOP ON ERROR^
35144
35145 ;**********
35146
35147 ;THIS TEST VERIFIES THAT SOJLE DECREMENTS C(AC) BY 0,,1 AND
35148 ;PLACES THE RESULT BACK INTO THE AC. THE RESULT IN THE AC IS
35149 ;COMPARED TO 0 AND THE PROGRAM JUMPS TO THE LOCATION
35150 ;SPECIFIED BY E IF C(AC) IS LESS THAN OR EQUALTO 0.
35151 ;IN THIS CASE, C(AC)=0,,1 BEFORE DECREMENTING. HENCE, SOJLE
35152 ;SHOULD JUMP AND THE RESULT IN THE AC SHOULD BE 0
35153
35154 052251 201 15 0 00 000001 C54510: MOVEI 15,1 ;PRELOAD AC WITH 0,,1
35155 052252 363 15 0 00 052254 SOJLE 15,.+2 ;*SOJLE SHOULD SUBTRACT 0,,1 FROM C(AC)
35156 ;AND JUMP
35157 STOP^
35158 052253 254 04 0 00 052254 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35159 052254 324 00 0 00 052255 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35160 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35161 ;IN THE SUBTEST) TO LOOP ON ERROR^
35162 052255 312 15 0 00 070253 CAME 15,[0] ;PASS IF C(AC) DECREMENTED CORRECTLY
35163 STOP^
35164 052256 254 04 0 00 052257 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35165 052257 324 00 0 00 052260 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35166 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35167 ;IN THE SUBTEST) TO LOOP ON ERROR^
35168
35169 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 73
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL SOJX INSTRUCTIONS SEQ 0800
35170 ;THIS TEST VERIFIES THAT SOJLE DECREMENTS C(AC) BY 0,,1 AND
35171 ;PLACES THE RESULT BACK INTO THE AC. THE RESULT IN THE AC IS
35172 ;COMPARED TO 0 AND THE PROGRAM JUMPS TO THE LOCATION
35173 ;SPECIFIED BY E IF C(AC) IS LESS THAN OR EQUAL TO 0.
35174 ;IN THIS CASE, C(AC)=0,,2 BEFORE DECREMENTING. HENCE, SOJLE
35175 ;SHOULD NOT JUMP AND THE RESULT IN THE AC SHOULD BE 0,,1
35176
35177 052260 201 15 0 00 000002 C54520: MOVEI 15,2 ;PRELOAD AC WITH 0,,2
35178 052261 363 15 0 00 052263 SOJLE 15,.+2 ;*SOJLE SHOULD SUBTRACT 0,,1 FROM C(AC)
35179 ;AND NOT JUMP
35180 052262 334 00 0 00 000000 SKIPA ;PASS IF SOJLE DID NOT JUMP
35181 STOP^
35182 052263 254 04 0 00 052264 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35183 052264 324 00 0 00 052265 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35184 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35185 ;IN THE SUBTEST) TO LOOP ON ERROR^
35186 052265 312 15 0 00 070265 CAME 15,[1] ;PASS IF C(AC) DECREMENTED CORRECTLY
35187 STOP^
35188 052266 254 04 0 00 052267 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35189 052267 324 00 0 00 052270 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35190 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35191 ;IN THE SUBTEST) TO LOOP ON ERROR^
35192
35193 ;**********
35194
35195 ;THIS TEST VERIFIES THAT SOJA DECREMENTS C(AC) BY 0,,1 AND
35196 ;PLACES THE RESULT INTO THE AC. THE RESULT IN THE AC IS
35197 ;COMPARED TO 0 AND THE PROGRAM ALWAYS JUMPS TO THE LOCATION
35198 ;SPECIFIED BY E
35199 ;IN THIS CASE, C(AC)=0 BEFORE DECREMENTING. HENCE, SOJA
35200 ;SHOULD JUMP AND THE RESULT IN THE AC SHOULD BE -1,,-1
35201
35202 052270 201 14 0 00 000000 C54600: MOVEI 14,0 ;PRELOAD AC WITH 0
35203 052271 364 14 0 00 052273 SOJA 14,.+2 ;*SOJ SHOULD SUBTRACT 0,,1 FROM C(AC)
35204 ;AND JUMP
35205 STOP^
35206 052272 254 04 0 00 052273 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35207 052273 324 00 0 00 052274 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35208 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35209 ;IN THE SUBTEST) TO LOOP ON ERROR^
35210 052274 312 14 0 00 070254 CAME 14,[-1] ;PASS IF C(AC) DECREMENTED CORRECTLY
35211 STOP^
35212 052275 254 04 0 00 052276 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35213 052276 324 00 0 00 052277 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35214 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35215 ;IN THE SUBTEST) TO LOOP ON ERROR^
35216
35217 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 74
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL SOJX INSTRUCTIONS SEQ 0801
35218 ;THIS TEST VERIFIES THAT SOJA DECREMENTS C(AC) BY 0,,1 AND
35219 ;PLACES THE RESULT BACK INTO THE AC. THE RESULT IN THE AC IS
35220 ;COMPARED TO 0 AND THE PROGRAM ALWAYS JUMPS TO THE LOCATION
35221 ;SPECIFIED BY E
35222 ;IN THIS CASE, C(AC)=0,,1 BEFORE DECREMENTING. HENCE, SOJA
35223 ;SHOULD JUMP AND THE RESULT IN THE AC SHOULD BE 0
35224
35225 052277 201 14 0 00 000001 C54610: MOVEI 14,1 ;PRELOAD AC WITH 0,,1
35226 052300 364 14 0 00 052302 SOJA 14,.+2 ;*SOJA SHOULD SUBTRACT 0,,1 FROM C(AC)
35227 ;AND JUMP
35228 STOP^
35229 052301 254 04 0 00 052302 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35230 052302 324 00 0 00 052303 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35231 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35232 ;IN THE SUBTEST) TO LOOP ON ERROR^
35233 052303 312 14 0 00 070253 CAME 14,[0] ;PASS IF C(AC) DECREMENTED CORRECTLY
35234 STOP^
35235 052304 254 04 0 00 052305 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35236 052305 324 00 0 00 052306 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35237 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35238 ;IN THE SUBTEST) TO LOOP ON ERROR^
35239
35240 ;**********
35241
35242 ;THIS TEST VERIFIES THAT SOJA DECREMENTS C(AC) BY 0,,1 AND
35243 ;PLACES THE RESULT BACK INTO THE AC. THE RESULT IN THE AC IS
35244 ;COMPARED TO 0 AND THE PROGRAM ALWAYS JUMPS TO THE LOCATION
35245 ;SPECIFIED BY E
35246 ;IN THIS CASE, C(AC)=0,,2 BEFORE DECREMENTING. HENCE, SOJA
35247 ;SHOULD JUMP AND THE RESULT IN THE AC SHOULD BE 0,,1
35248
35249 052306 201 14 0 00 000002 C54620: MOVEI 14,2 ;PRELOAD AC WITH 0,,2
35250 052307 364 14 0 00 052311 SOJA 14,.+2 ;*SOJA SHOULD SUBTRACT 0,,1 FROM C(AC)
35251 ;AND JUMP
35252 STOP^
35253 052310 254 04 0 00 052311 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35254 052311 324 00 0 00 052312 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35255 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35256 ;IN THE SUBTEST) TO LOOP ON ERROR^
35257 052312 312 14 0 00 070265 CAME 14,[1] ;PASS IF C(AC) DECREMENTED CORRECTLY
35258 STOP^
35259 052313 254 04 0 00 052314 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35260 052314 324 00 0 00 052315 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35261 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35262 ;IN THE SUBTEST) TO LOOP ON ERROR^
35263
35264 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 75
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL SOJX INSTRUCTIONS SEQ 0802
35265 ;THIS TEST VERIFIES THAT SOJGE DECREMENTS C(AC) BY 0,,1 AND
35266 ;PLACES THE RESULT BACK INTO THE AC. THE RESULT IN THE AC IS
35267 ;COMPARED TO 0 AND THE PROGRAM JUMPS TO THE LOCATION
35268 ;SPECIFIED BY E IF C(AC) IS GREATER THAN OR EQUAL TO 0
35269 ;IN THIS CASE, C(AC)=0 BEFORE DECREMENTING. HENCE, SOJGE
35270 ;SHOULD NOT JUMP AND THE RESULT IN THE AC SHOULD BE -1,,-1
35271
35272 052315 201 13 0 00 000000 C54700: MOVEI 13,0 ;PRELOAD A C WITH 0
35273 052316 365 13 0 00 052320 SOJGE 13,.+2 ;*SOJGE SHOULD SUBTRACT 0,,1 FROM C(AC)
35274 ;AND NOT JUMP
35275 052317 334 00 0 00 000000 SKIPA ;PASS IF SOJGE DID NOT JUMP
35276 STOP^
35277 052320 254 04 0 00 052321 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35278 052321 324 00 0 00 052322 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35279 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35280 ;IN THE SUBTEST) TO LOOP ON ERROR^
35281 052322 312 13 0 00 070254 CAME 13,[-1] ;PASS IF C(AC) DECREMENTED CORRECTLY
35282 STOP^
35283 052323 254 04 0 00 052324 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35284 052324 324 00 0 00 052325 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35285 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35286 ;IN THE SUBTEST) TO LOOP ON ERROR^
35287
35288 ;**********
35289
35290 ;THIS TEST VERIFIES THAT SOJGE DECREMENTS C(AC) BY 0,,1 AND
35291 ;PLACES THE RESULT BACK INTO THE AC. THE RESULT IN THE AC IS
35292 ;COMPARED TO 0 AND THE PROGRAM JUMPS TO THE LOCATION
35293 ;SPECIFIED BY E IF C(AC) IS GREATER THAN OR EQUAL TO 0
35294 ;IN THIS CASE, C(AC)=0,,1 BEFORE DECREMENTING. HENCE, SOJGE
35295 ;SHOULD JUMP AND THE RESULT IN THE AC SHOULD BE 0
35296
35297 052325 201 13 0 00 000001 C54710: MOVEI 13,1 ;PRELOAD AC WITH 0,,1
35298 052326 365 13 0 00 052330 SOJGE 13,.+2 ;*SOJ SHOULD SUBTRACT 0,,1 FROM C(AC)
35299 ;AND JUMP
35300 STOP^
35301 052327 254 04 0 00 052330 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35302 052330 324 00 0 00 052331 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35303 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35304 ;IN THE SUBTEST) TO LOOP ON ERROR^
35305 052331 312 13 0 00 070253 CAME 13,[0] ;PASS IF C(AC) DECREMENTED CORRECTLY
35306 STOP^
35307 052332 254 04 0 00 052333 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35308 052333 324 00 0 00 052334 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35309 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35310 ;IN THE SUBTEST) TO LOOP ON ERROR^
35311
35312 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 76
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL SOJX INSTRUCTIONS SEQ 0803
35313 ;THIS TEST VERIRIES THAT SOJGE DECREMENTS C(AC) BY 0,,1 AND PLACES THE
35314 ;PLACES THE RESULT BACK INTO THE AC. THE RESULT IN THE AC IS COMPARED
35315 ;TO 0 AND THE PROGRAM JUMPS TO THE LOCATION SPECIFIED BY E IF C(AC IS
35316 ;GREATER THAN OR EQUAL TO 0. IN THIS CASE, C(AC = 0,,2 BEFORE
35317 ;DECREMENTING. HENCE, SOJGE SHOULD JUMP AND THE RESULT IN THE AC SHOULD
35318 ;BE 0,,1.
35319
35320 052334 201 13 0 00 000002 C54720: MOVEI 13,2 ;PRELOAD AC WITH 0,,2
35321 052335 365 13 0 00 052337 SOJGE 13,.+2 ;*SOJGE SHOULD SUBTRACT0,,1 FROM C(AC)
35322 ;AND JUMP.
35323 STOP^
35324 052336 254 04 0 00 052337 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35325 052337 324 00 0 00 052340 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35326 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35327 ;IN THE SUBTEST) TO LOOP ON ERROR^
35328 052340 312 13 0 00 070265 CAME 13,[1] ;PASS IF C(AC) DECREMENTED CORRECTLY
35329 STOP^
35330 052341 254 04 0 00 052342 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35331 052342 324 00 0 00 052343 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35332 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35333 ;IN THE SUBTEST) TO LOOP ON ERROR^
35334
35335 ;**********
35336
35337 ;THIS TEST VERIFIES THAT SOJN DECREMENTS C(AC) BY 0,,1 AND
35338 ;PLACES THE RESULT BACK INTO THE AC. THE RESULT IN THE AC IS
35339 ;COMPARED TO 0 AND THE PROGRAM JUMPS TO THE LOCATION
35340 ;SPECIFIED BY E IF C(AC) IS NON-ZERO.
35341 ;IN THIS CASE, C(AC)=0 BEFORE DECREMENTING. HENCE,SOJN
35342 ;SHOULD JUMP AND THE RESULT IN THE AC SHOULD BE -1,,-1.
35343
35344 052343 201 12 0 00 000000 C55000: MOVEI 12,0 ;PRELOAD AC WITH 0
35345 052344 366 12 0 00 052346 SOJN 12,.+2 ;*SOJN SHOULD SUBTRACT 0,,1 FROM C(AC)
35346 ;AND JUMP.
35347 STOP^
35348 052345 254 04 0 00 052346 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35349 052346 324 00 0 00 052347 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35350 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35351 ;IN THE SUBTEST) TO LOOP ON ERROR^
35352 052347 312 12 0 00 070254 CAME 12,[-1] ;PASS IF C(AC) DECREMENTED CORRECTLY
35353 STOP^
35354 052350 254 04 0 00 052351 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35355 052351 324 00 0 00 052352 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35356 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35357 ;IN THE SUBTEST) TO LOOP ON ERROR^
35358
35359 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 77
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL SOJX INSTRUCTIONS SEQ 0804
35360 ;THIS TEST VERIRIES THAT SOJN DECREMENTS C(AC) BY 0,,1 AND
35361 ;PLACES THE RESULT BACK INTO THE AC. THE RESULT IN THE AC IS
35362 ;COMPARED TO 0 AND THE PROGRAM JUMPS TO THE LOCATION SPECIFIED
35363 ;BY E IF C(AC) IS NON-ZERO.
35364 ;IN THIS CASE, C(AC) = 0,,1 BEFORE DECREMENTING. HENCE, SOJN
35365 ;SHOULD NOT JUMP AND THE RESULT IN THE AC SHOULD BE 0.
35366
35367 052352 201 12 0 00 000001 C55010: MOVEI 12,1 ;PRELOAD AC WITH 0,,1
35368 052353 366 12 0 00 052355 SOJN 12,.+2 ;*SOJN SHOULD SUBTRACT 0,,1 FROM C(AC)
35369 ;AND NOT JUMP.
35370 052354 334 00 0 00 000000 SKIPA ;PASS IF SOJN DID NOT JUMP
35371 STOP^
35372 052355 254 04 0 00 052356 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35373 052356 324 00 0 00 052357 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35374 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35375 ;IN THE SUBTEST) TO LOOP ON ERROR^
35376 052357 312 12 0 00 070253 CAME 12,[0] ;PASS IF C(AC) DECREMENTED CORRECTLY
35377 STOP^
35378 052360 254 04 0 00 052361 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35379 052361 324 00 0 00 052362 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35380 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35381 ;IN THE SUBTEST) TO LOOP ON ERROR^
35382
35383 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 78
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL SOJX INSTRUCTIONS SEQ 0805
35384 ;THIS TEST VERIFIES THAT SOJN DECREMENTS C(AC) BY 0,,1 AND
35385 ;PLACES THE RESULT BACK INTO THE AC. THE RESULT IN THE AC IS
35386 ;COMPARED TO 0 AND THE PROGRAM JUMPS TO THE LOCATION
35387 ;SPECIFIED BY E IF C(AC) IS NON-ZERO.
35388 ;IN THIS CASE, C(AC)=0,,2 BEFORE DECREMENTING. HENCE, SOJN
35389 ;SHOULD JUMP AND THE RESULT IN THE AC SHOULD BE 0,,1.
35390
35391 052362 201 12 0 00 000002 C55020: MOVEI 12,2 ;PRELOAD AC WITH 0,,2
35392 052363 366 12 0 00 052365 SOJN 12,.+2 ;*SOJN SHOULD SUBTRACT 0,,1 FROM C(AC)
35393 ;AND JUMP.
35394 STOP^
35395 052364 254 04 0 00 052365 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35396 052365 324 00 0 00 052366 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35397 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35398 ;IN THE SUBTEST) TO LOOP ON ERROR^
35399 052366 312 12 0 00 070265 CAME 12,[1] ;PASS IF C(AC) DECREMENTED CORRECTLY
35400 STOP^
35401 052367 254 04 0 00 052370 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35402 052370 324 00 0 00 052371 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35403 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35404 ;IN THE SUBTEST) TO LOOP ON ERROR^
35405
35406 ;**********
35407
35408 ;THIS TEST VERIFIES THAT SOJG DECREMENTS C(AC) BY 0,,1 AND
35409 ;PLACES THE RESULT BACK INTO THE AC. THE RESULT IN THE AC IS
35410 ;COMPARED TO 0 AND THE PROGRAM JUMPS TO THE LOCATION
35411 ;SPECIFIED BY E IF C(AC) IS GREATER THAN 0.
35412 ;IN THIS CASE, C(AC) = 0 BEFORE DECREMENTING. HENCE, SOJG
35413 ;SHOULD NOT JUMP AND THE RESULT IN THE AC SHOULD BE -1,,-1.
35414
35415 052371 201 11 0 00 000000 C55100: MOVEI 11,0 ;PRELOAD AC WITH 0
35416 052372 367 11 0 00 052374 SOJG 11,.+2 ;*SOJG SHOULD SUBTRACT 0,,1 FROM C(AC)
35417 ;AND NOT JUMP.
35418 052373 334 00 0 00 000000 SKIPA ;PASS IF SOJG DID NOT JUMP
35419 STOP^
35420 052374 254 04 0 00 052375 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35421 052375 324 00 0 00 052376 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35422 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35423 ;IN THE SUBTEST) TO LOOP ON ERROR^
35424 052376 312 11 0 00 070254 CAME 11,[-1] ;PASS IF C(AC) DECREMENTED CORRECTLY
35425 STOP^
35426 052377 254 04 0 00 052400 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35427 052400 324 00 0 00 052401 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35428 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35429 ;IN THE SUBTEST) TO LOOP ON ERROR^
35430
35431 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 79
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL SOJX INSTRUCTIONS SEQ 0806
35432 ;THIS TEST VERIRIES THAT SOJG DECREMENTS C(AC) BY 0,,1 AND
35433 ;PLACES THE RESULT BACK INTO THE AC. THE RESULT IN THE AC IS
35434 ;COMPARED TO 0 AND THE PROGRAM JUMPS TO THE LOCATION
35435 ;SPECIFIED BY E IF C(AC) IS GREATER THAN 0.
35436 ;IN THIS CASE, C(AC)=0,,1 BEFORE DECREMENTING. HENCE, SOJG
35437 ;SHOULD NOT JUMP AND THE RESULT IN THE AC SHOULD BE 0.
35438
35439 052401 201 11 0 00 000001 C55110: MOVEI 11,1 ;PRELOAD AC WITH 0,,1
35440 052402 367 11 0 00 052404 SOJG 11,.+2 ;*SOJG SHOULD SUBTRACT 0,,1 FROM C(AC)
35441 ;AND NOT JUMP.
35442 052403 334 00 0 00 000000 SKIPA ;PASS IF SOJG DID NOT JUMP
35443 STOP^
35444 052404 254 04 0 00 052405 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35445 052405 324 00 0 00 052406 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35446 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35447 ;IN THE SUBTEST) TO LOOP ON ERROR^
35448 052406 312 11 0 00 070253 CAME 11,[0] ;PASS IF C(AC) DECREMENTED CORRECTLY
35449 STOP^
35450 052407 254 04 0 00 052410 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35451 052410 324 00 0 00 052411 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35452 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35453 ;IN THE SUBTEST) TO LOOP ON ERROR^
35454
35455 ;**********
35456
35457 ;THIS TEST VERIFIES THAT SOJG DECREMENTS C(AC) BY 0,,1 AND
35458 ;PLACES THE RESULT BACK INTO THE AC. THE RESULT IN THE AC IS
35459 ;COMPARED TO 0 AND THE PROGRAM JUMPS TO THE LOCATION
35460 ;SPECIFIED BY E IF C(AC) IS GREATER THAN 0.
35461 ;IN THIS CASE, C(AC)=0,,2 BEFORE DECREMENTING. HENCE, SOJG
35462 ;SHOULD JUMP AND THE RESULT IN THE AC SHOULD BE 0,,1.
35463
35464 052411 201 11 0 00 000002 C55120: MOVEI 11,2 ;PRELOAD AC WITH 0,,2
35465 052412 367 11 0 00 052414 SOJG 11,.+2 ;*SOJG SHOULD SUBTRACT O,,1 FROM C(AC)
35466 ;AND JUMP.
35467 STOP^
35468 052413 254 04 0 00 052414 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35469 052414 324 00 0 00 052415 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35470 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35471 ;IN THE SUBTEST) TO LOOP ON ERROR^
35472 052415 312 11 0 00 070265 CAME 11,[1] ;PASS IF C(AC) DECREMENTED CORRECTLY
35473 STOP^
35474 052416 254 04 0 00 052417 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35475 052417 324 00 0 00 052420 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35476 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35477 ;IN THE SUBTEST) TO LOOP ON ERROR^
35478
35479 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 80
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL SOSX INSTRUCTIONS SEQ 0807
35480 SUBTTL TEST OF MSCL SOSX INSTRUCTIONS
35481
35482 ;**********
35483
35484 ;THIS TEST VERIFIES THAT SOSL DECREMENTS C(E) BY 0,,1 AND PLACES
35485 ;THE RESULT INTO E. THE RESULT IN E IS COMPARED TO 0 AND SKIPS
35486 ;THE NEXT INSTRUCTION IF C(E) IS LESS THAN 0.
35487 ;IF THE AC IS NON-ZERO, THE RESULT IS ALSO PLACED INTO THE AC.
35488 ;IN THIS CASE, AC=0, C(AC)=707070,,707070 AND C(E)=0
35489 ;BEFORE INCREMENTING. HENCE, SOSL SHOULD SKIP; AND THE
35490 ;FINAL RESULTS IN AC AND E SHOULD BE 707070,,707070 AND -1,,-1
35491 ;RESPECTIVELY.
35492
35493 052420 200 00 0 00 070332 C55200: MOVE 0,[707070,,707070] ;PRELOAD AC WITH 707070,,707070
35494 052421 201 01 0 00 000000 MOVEI 1,0 ;PRELOAD E WITH 0
35495 052422 371 00 0 00 000001 SOSL 0,1 ;*SOSL SHOULD SUBTRACT 0,,1 FROM C(E)
35496 ;AND SKIP
35497 STOP^
35498 052423 254 04 0 00 052424 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35499 052424 324 00 0 00 052425 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35500 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35501 ;IN THE SUBTEST) TO LOOP ON ERROR^
35502 052425 312 01 0 00 070254 CAME 1,[-1] ;PASS IF E DECREMENTED CORRECTLY
35503 STOP^
35504 052426 254 04 0 00 052427 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35505 052427 324 00 0 00 052430 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35506 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35507 ;IN THE SUBTEST) TO LOOP ON ERROR^
35508 052430 312 00 0 00 070332 CAME 0,[707070,,707070] ;PASS IF C(AC) WAS NOT MODIFIED
35509 STOP^
35510 052431 254 04 0 00 052432 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35511 052432 324 00 0 00 052433 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35512 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35513 ;IN THE SUBTEST) TO LOOP ON ERROR^
35514
35515 ;**********
35516
35517 ;THIS TEST VERIFIES THAT SOSL DECREMENTS C(E) BY 0,,1 AND PLACES
35518 ;THE RESULT INTO E. THE RESULT IN E IS COMPARED TO 0 AND SKIPS
35519 ;THE NEXT INSTRUCTION IF C(E) IS LESS THAN 0.
35520 ;IF THE AC IS NON-ZERO, THE RESULT IS ALSO PLACED INTO THE AC.
35521 ;IN THIS CASE, AC=0, C(AC)=707070,,707070 AND C(E)=0,,1
35522 ;BEFORE INCREMENTING. HENCE, SOSL SHOULD NOT SKIP; AND THE
35523 ;FINAL RESULTS IN AC AND E SHOULD BE 707070,,707070 AND 0
35524 ;RESPECTIVELY.
35525
35526 052433 200 00 0 00 070332 C55210: MOVE 0,[707070,,707070] ;PRELOAD AC WITH 707070,,707070
35527 052434 201 01 0 00 000001 MOVEI 1,1 ;PRELOAD E WITH 0,,1
35528 052435 371 00 0 00 000001 SOSL 0,1 ;*SOSL SHOULD SUBTRACT 0,,1 FROM C(E),
35529 ;AND NOT SKIP.
35530 052436 334 00 0 00 000000 SKIPA ;PASS IF SOSL DID NOT SKIP
35531 STOP^
35532 052437 254 04 0 00 052440 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35533 052440 324 00 0 00 052441 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35534 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 80-1
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL SOSX INSTRUCTIONS SEQ 0808
35535 ;IN THE SUBTEST) TO LOOP ON ERROR^
35536 052441 312 01 0 00 070253 CAME 1,[0] ;PASS IF E DECREMENTED CORRECTLY
35537 STOP^
35538 052442 254 04 0 00 052443 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35539 052443 324 00 0 00 052444 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35540 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35541 ;IN THE SUBTEST) TO LOOP ON ERROR^
35542 052444 312 00 0 00 070332 CAME 0,[707070,,707070] ;PASS IF C(AC) WAS NOT MODIFIED
35543 STOP^
35544 052445 254 04 0 00 052446 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35545 052446 324 00 0 00 052447 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35546 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35547 ;IN THE SUBTEST) TO LOOP ON ERROR^
35548
35549 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 81
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL SOSX INSTRUCTIONS SEQ 0809
35550 ;THIS TEST VERIFIES THAT SOSL DECREMENTS C(E) BY 0,,1 AND PLACES
35551 ;THE RESULT INTO E. THE RESULT IN E IS COMPARED TO 0 AND SKIPS
35552 ;THE NEXT INSTRUCTION IF C(E) IS LESS THAN 0.
35553 ;IF THE AC IS NON-ZERO, THE RESULT IS ALSO PLACED INTO THE AC.
35554 ;IN THIS CASE, AC=0, C(AC)=707070,,707070 AND C(E)=0,,1
35555 ;BEFORE INCREMENTING. HENCE, SOSL SHOULD NOT SKIP; AND THE
35556 ;FINAL RESULTS IN AC AND E SHOULD BE 707070,,707070 AND 0
35557 ;RESPECTIVELY.
35558
35559 052447 200 00 0 00 070332 C55211: MOVE 0,[707070,,707070] ;PRELOAD AC WITH 707070,,707070
35560 052450 201 01 0 00 000001 MOVEI 1,1 ;PRELOAD E WITH 0,,1
35561 052451 202 01 0 00 052466 MOVEM 1,E55211
35562 052452 371 00 0 00 052466 SOSL 0,E55211 ;*SOSL SHOULD SUBTRACT 0,,1 FROM C(E),
35563 ;AND NOT SKIP.
35564 052453 334 00 0 00 000000 SKIPA ;PASS IF SOSL DID NOT SKIP
35565 STOP^
35566 052454 254 04 0 00 052455 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35567 052455 324 00 0 00 052456 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35568 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35569 ;IN THE SUBTEST) TO LOOP ON ERROR^
35570 052456 200 01 0 00 052466 MOVE 1,E55211
35571 052457 312 01 0 00 070253 CAME 1,[0] ;PASS IF E DECREMENTED CORRECTLY
35572 STOP^
35573 052460 254 04 0 00 052461 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35574 052461 324 00 0 00 052462 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35575 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35576 ;IN THE SUBTEST) TO LOOP ON ERROR^
35577 052462 312 00 0 00 070332 CAME 0,[707070,,707070] ;PASS IF C(AC) WAS NOT MODIFIED
35578 STOP^
35579 052463 254 04 0 00 052464 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35580 052464 324 00 0 00 052465 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35581 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35582 ;IN THE SUBTEST) TO LOOP ON ERROR^
35583
35584 052465 334 00 0 00 000000 SKIPA ;GO TO NEXT TEST
35585 052466 000000 000000 E55211: 0 ;TEST WORD MEMORY
35586
35587 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 82
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL SOSX INSTRUCTIONS SEQ 0810
35588 ;THIS TEST VERIFIES THAT SOS DECREMENTS C(E) BY 0,,1 AND PLACES
35589 ;THE RESULT INTO E. THE RESULT IN E IS COMPARED TO 0 AND SKIPS
35590 ;THE NEXT INSTRUCTION IF C(E) IS LESS THAN 0.
35591 ;IF THE AC IS NON-ZERO, THE RESULT IS ALSO PLACED INTO THE AC.
35592 ;IN THIS CASE, AC=0, C(AC)=707070,,707070 AND C(E) 0,,2
35593 ;BEFORE INCREMENTING. HENCE, SOSL SHOULD NOT SKIP; AND THE
35594 ;FINAL RESULTS IN AC AND E SHOULD BE 707070,,707070 AND 0,,1
35595 ;RESPECTIVELY.
35596
35597 052467 200 00 0 00 070332 C55220: MOVE 0,[707070,,707070] ;PRELOAD AC WITH 707070,,707070
35598 052470 201 01 0 00 000002 MOVEI 1,2 ;PRELOAD E WITH 0,,2
35599 052471 371 00 0 00 000001 SOSL 0,1 ;*SOSL SHOULD SUBTRACT 0,,1 FROM C(E),
35600 ;AND NOT SKIP
35601
35602 052472 334 00 0 00 000000 SKIPA ;PASS IF SOSL DID NOT SKIP
35603 STOP^
35604 052473 254 04 0 00 052474 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35605 052474 324 00 0 00 052475 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35606 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35607 ;IN THE SUBTEST) TO LOOP ON ERROR^
35608 052475 312 01 0 00 070265 CAME 1,[1] ;PASS IF E DECREMENTED CORRECTLY
35609 STOP^
35610 052476 254 04 0 00 052477 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35611 052477 324 00 0 00 052500 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35612 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35613 ;IN THE SUBTEST) TO LOOP ON ERROR^
35614 052500 312 00 0 00 070332 CAME 0,[707070,,707070] ;PASS IF AC WAS UPDATED IF AC NON-ZERO
35615 STOP^
35616 052501 254 04 0 00 052502 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35617 052502 324 00 0 00 052503 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35618 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35619 ;IN THE SUBTEST) TO LOOP ON ERROR^
35620
35621 ;**********
35622
35623 ;THIS TEST VERIFIES THAT SOSE DECREMENTS C(E) BY 0,,1 AND PLACES
35624 ;THE RESULT INTO E. THE RESULT IN E IS COMPARED TO 0 AND SKIPS
35625 ;THE NEXT INSTRUCTION IF C(E) IS EQUAL TO 0
35626 ;IF THE AC IS NON-ZERO, THE RESULT IS ALSO PLACED INTO THE AC.
35627 ;IN THIS CASE, AC=10, C(AC)=707070,,707070 AND C(E)=0
35628 ;BEFORE INCREMENTING. HENCE, SOSE SHOULD NOT SKIP ; AND THE
35629 ;FINAL RESULTS IN AC AND E SHOULD BE -1,,-1 AND -1,,-1
35630 ;RESPECTIVELY.
35631
35632 052503 200 10 0 00 070332 C55300: MOVE 10,[707070,,707070] ;PRELOAD AC WITH 707070,,707070
35633 052504 201 11 0 00 000000 MOVEI 11,0 ;PRELOAD E WITH 0
35634 052505 372 10 0 00 000011 SOSE 10,11 ;*SOSE SHOULD SUBTRACT 0,,1 FROM C(E),
35635 ;UPDATE AC AND NOT SKIP
35636
35637 052506 334 00 0 00 000000 SKIPA ;PASS IF SOSE DID NOT SKIP
35638 STOP^
35639 052507 254 04 0 00 052510 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35640 052510 324 00 0 00 052511 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35641 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35642 ;IN THE SUBTEST) TO LOOP ON ERROR^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 82-1
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL SOSX INSTRUCTIONS SEQ 0811
35643 052511 312 11 0 00 070254 CAME 11,[-1] ;PASS IF E DECREMENTED CORRECTLY
35644 STOP^
35645 052512 254 04 0 00 052513 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35646 052513 324 00 0 00 052514 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35647 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35648 ;IN THE SUBTEST) TO LOOP ON ERROR^
35649 052514 312 10 0 00 070254 CAME 10,[-1] ;PASS IF AC WAS UPDATED IF AC NON-ZERO
35650 STOP^
35651 052515 254 04 0 00 052516 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35652 052516 324 00 0 00 052517 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35653 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35654 ;IN THE SUBTEST) TO LOOP ON ERROR^
35655
35656 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 83
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL SOSX INSTRUCTIONS SEQ 0812
35657 ;THIS TEST VERIFIES THAT SOSE DECREMENTS C(E) BY 0,,1 AND PLACES
35658 ;THE RESULT INTO E. THE RESULT IN E IS COMPARED TO 0 AND SKIPS
35659 ;THE NEXT INSTRUCTION IF C(E) IS EQUAL TO 0
35660 ;IF THE AC IS NON-ZERO, THE RESULT IS ALSO PLACED INTO THE AC.
35661 ;IN THIS CASE, AC=10, C(AC)=707070,,707070 AND C(E)=0,,1
35662 ;BEFORE INCREMENTING. HENCE, SOSE SHOULD SKIP ; AND THE
35663 ;FINAL RESULTS IN AC AND E SHOULD BE 707070,,707070 AND 0
35664 ;RESPECTIVELY.
35665
35666 052517 200 10 0 00 070332 C55310: MOVE 10,[707070,,707070] ;PRELOAD AC WITH 707070,,707070
35667 052520 201 11 0 00 000001 MOVEI 11,1 ;PRELOAD E WITH 0,,1
35668 052521 372 10 0 00 000011 SOSE 10,11 ;*SOS SHOULD SUBTRACT 0,,1 FROM C(E)
35669 ;UPDATE AC AND SKIP
35670 STOP^
35671 052522 254 04 0 00 052523 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35672 052523 324 00 0 00 052524 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35673 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35674 ;IN THE SUBTEST) TO LOOP ON ERROR^
35675 052524 312 11 0 00 070253 CAME 11,[0] ;PASS IF E DECREMENTED CORRECTLY
35676 STOP^
35677 052525 254 04 0 00 052526 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35678 052526 324 00 0 00 052527 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35679 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35680 ;IN THE SUBTEST) TO LOOP ON ERROR^
35681 052527 312 10 0 00 070253 CAME 10,[0] ;PASS IF AC WAS UPDATED IF AC NON-ZERO
35682 STOP^
35683 052530 254 04 0 00 052531 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35684 052531 324 00 0 00 052532 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35685 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35686 ;IN THE SUBTEST) TO LOOP ON ERROR^
35687
35688 ;**********
35689
35690 ;THIS TEST VERIFIES THAT SOSE DECREMENTS C(E) BY 0,11 AND PLACES
35691 ;THE RESULT INTO E. THE RESULT IN E IS COMPARED TO 0 AND SKIPS
35692 ;THE NEXT INSTRUCTION IF C(E) IS EQUAL TO 0.
35693 ;IF THE AC IS NON-ZERO, THE RESULT IS ALSO PLACED INTO THE AC.
35694 ;IN THIS CASE, AC=10, C(AC)=707070,,707070 AND C(E)=0,,2
35695 ;BEFORE INCREMENTING. HENCE, SOSE SHOULD NOT SKIP ; AND THE
35696 ;FINAL RESULTS IN AC AND E SHOULD BE 0,,1 AND 0,,1
35697 ;RESPECTIVELY.
35698
35699 052532 200 10 0 00 070332 C55320: MOVE 10,[707070,,707070] ;PRELOAD AC WITH 707070,,707070
35700 052533 201 11 0 00 000002 MOVEI 11,2 ;PRELOAD E WITH 0,,2
35701 052534 372 10 0 00 000011 SOSE 10,11 ;*SOSE SHOULD SUBTRACT 0,,1 FROM C(E),
35702 ;UPDATE AC AND NOT SKIP
35703
35704 052535 334 00 0 00 000000 SKIPA ;PASS IF SOSE DID NOT SKIP
35705 STOP^
35706 052536 254 04 0 00 052537 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35707 052537 324 00 0 00 052540 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35708 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35709 ;IN THE SUBTEST) TO LOOP ON ERROR^
35710 052540 312 11 0 00 070265 CAME 11,[1] ;PASS IF E DECREMENTED CORRECTLY
35711 STOP^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 83-1
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL SOSX INSTRUCTIONS SEQ 0813
35712 052541 254 04 0 00 052542 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35713 052542 324 00 0 00 052543 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35714 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35715 ;IN THE SUBTEST) TO LOOP ON ERROR^
35716 052543 312 10 0 00 070265 CAME 10,[1] ;PASS IF AC WAS UPDATED IF AC NON-ZERO
35717 STOP^
35718 052544 254 04 0 00 052545 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35719 052545 324 00 0 00 052546 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35720 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35721 ;IN THE SUBTEST) TO LOOP ON ERROR^
35722
35723 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 84
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL SOSX INSTRUCTIONS SEQ 0814
35724 ;THIS TEST VERIFIES THAT SOSLE DECREMENTS C(E) BY 0,,1 AND PLACES
35725 ;THE RESULT INTO E. THE RESULT IN E IS COMPARED TO 0 AND SKIPS
35726 ;THE NEXT INSTRUCTION IF C(E) IS LESS THAN OR EQUAL TO 0.
35727 ;IF THE AC IS NON-ZERO, THE RESULT IS ALSO PLACED INTO THE AC.
35728 ;IN THIS CASE, AC=7, C(AC)=707070,,707070 AND C(E)=0
35729 ;BEFORE INCREMENTING. HENCE, SOSLE SHOULD SKIP ; AND THE
35730 ;FINAL RESULTS IN AC AND E SHOULD BE -1,,-1 AND -1,,-1
35731 ;RESPECTIVELY.
35732
35733 052546 200 07 0 00 070332 C55400: MOVE 7,[707070,,707070] ;PRELOAD AC WITH 707070,,707070
35734 052547 201 10 0 00 000000 MOVEI 10,0 ;PRELOAD E WITH 0
35735 052550 373 07 0 00 000010 SOSLE 7,10 ;*SOSLE SHOULD SUBTRACT 0,,1 FROM C(E),
35736 ;UPDATE AC AND SKIP
35737 STOP^
35738 052551 254 04 0 00 052552 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35739 052552 324 00 0 00 052553 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35740 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35741 ;IN THE SUBTEST) TO LOOP ON ERROR^
35742 052553 312 10 0 00 070254 CAME 10,[-1] ;PASS IF E DECREMENTED CORRECTLY
35743 STOP^
35744 052554 254 04 0 00 052555 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35745 052555 324 00 0 00 052556 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35746 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35747 ;IN THE SUBTEST) TO LOOP ON ERROR^
35748 052556 312 07 0 00 070254 CAME 7,[-1] ;PASS IF AC WAS UPDATED IF AC NON-ZERO
35749 STOP^
35750 052557 254 04 0 00 052560 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35751 052560 324 00 0 00 052561 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35752 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35753 ;IN THE SUBTEST) TO LOOP ON ERROR^
35754
35755 ;**********
35756
35757 ;THIS TEST VERIFIES THAT SOSLE DECREMENTS C(E) BY 0,,1 AND PLACES
35758 ;THE RESULT INTO E. THE RESULT IN E IS COMPARED TO 0 AND SKIPS
35759 ;THE NEXT INSTRUCTION IF C(E) IS LESS THAN OR EQUAL TO 0.
35760 ;IF THE AC IS NON-ZERO, THE RESULT IS ALSO PLACED INTO THE AC.
35761 ;IN THIS CASE, AC=7, C(AC)=070707,,070707 AND C(E)=0,,1
35762 ;BEFORE INCREMENTING. HENCE, SOSLE SHOULD SKIP ; AND THE
35763 ;FINAL RESULTS IN AC AND E SHOULD BE 0 AND 0
35764 ;RESPECTIVELY.
35765
35766 052561 200 07 0 00 070332 C55410: MOVE 7,[707070,,707070] ;PRELOAD AC WITH 707070,,707070
35767 052562 201 10 0 00 000001 MOVEI 10,1 ;PRELOAD E WITH 0,,1
35768 052563 373 07 0 00 000010 SOSLE 7,10 ;*SOSLE SHOULD SUBTRACT 0,,1 FROM C(E),
35769 ;UPDATE AC AND SKIP
35770 STOP^
35771 052564 254 04 0 00 052565 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35772 052565 324 00 0 00 052566 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35773 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35774 ;IN THE SUBTEST) TO LOOP ON ERROR^
35775 052566 312 10 0 00 070253 CAME 10,[0] ;PASS IF E DECREMENTED CORRECTLY
35776 STOP^
35777 052567 254 04 0 00 052570 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35778 052570 324 00 0 00 052571 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 84-1
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL SOSX INSTRUCTIONS SEQ 0815
35779 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35780 ;IN THE SUBTEST) TO LOOP ON ERROR^
35781 052571 312 07 0 00 070253 CAME 7,[0] ;PASS IF AC WAS UPDATED IF AC NON-ZERO
35782 STOP^
35783 052572 254 04 0 00 052573 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35784 052573 324 00 0 00 052574 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35785 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35786 ;IN THE SUBTEST) TO LOOP ON ERROR^
35787
35788 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 85
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL SOSX INSTRUCTIONS SEQ 0816
35789 ;THIS TEST VERIFIES THAT SOSLE DECREMENTS C(E) BY 0,,1 AND PLACES
35790 ;THE RESULT INTO E. THE RESULT IN E IS COMPARED TO 0 AND SKIPS
35791 ;THE NEXT INSTRUCTION IF C(E) IS LESS THAN OR EQUAL TO 0.
35792 ;IF THE AC IS NON-ZERO, THE RESULT IS ALSO PLACED INTO THE AC.
35793 ;IN THIS CASE, AC=7, C(AC)=707070,,707070 AND C(E)=0,,2
35794 ;BEFORE INCREMENTING. HENCE, SOSLE SHOULD NOT SKIP; AND THE
35795 ;FINAL RESULTS IN AC AND E SHOULD BE 0,,1 AND 0,,1
35796 ;RESPECTIVELY.
35797
35798 052574 200 07 0 00 070332 C55420: MOVE 7,[707070,,707070] ;PRELOAD AC WITH 707070,,707070
35799 052575 201 10 0 00 000002 MOVEI 10,2 ;PRELOAD E WITH 0,,2
35800 052576 373 07 0 00 000010 SOSLE 7,10 ;*SOSLE SHOULD SUBTRACT 0,,1 FROM C(E),
35801 ;UPDATE AC AND NOT SKIP
35802 052577 334 00 0 00 000000 SKIPA ;PASS IF SOSLE DID NOT SKIP
35803 STOP^
35804 052600 254 04 0 00 052601 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35805 052601 324 00 0 00 052602 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35806 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35807 ;IN THE SUBTEST) TO LOOP ON ERROR^
35808 052602 312 10 0 00 070265 CAME 10,[1] ;PASS IF E DECREMENTED CORRECTLY
35809 STOP^
35810 052603 254 04 0 00 052604 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35811 052604 324 00 0 00 052605 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35812 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35813 ;IN THE SUBTEST) TO LOOP ON ERROR^
35814 052605 312 07 0 00 070265 CAME 7,[1] ;PASS IF AC WAS UPDATED IF AC NON-ZERO
35815 STOP^
35816 052606 254 04 0 00 052607 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35817 052607 324 00 0 00 052610 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35818 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35819 ;IN THE SUBTEST) TO LOOP ON ERROR^
35820
35821 ;**********
35822
35823 ;THIS TEST VERIFIES THAT SOSA DECREMENTS C(E) BY 0,,1 AND PLACES
35824 ;THE RESULT INTO E. THE RESULT IN E IS COMPARED TO 0 AND ALWAYS SKIPS
35825 ;THE NEXT INSTRUCTION.
35826 ;IF THE AC IS NON-ZERO, THE RESULT IS ALSO PLACED INTO THE AC.
35827 ;IN THIS CASE, AC=6, C(AC)=707070,,707070 AND C(E)=0
35828 ;BEFORE INCREMENTING. HENCE, SOSA SHOULD SKIP ; AND THE
35829 ;FINAL RESULTS IN AC AND E SHOULD BE -1,,-1 AND -1,,-1
35830 ;RESPECTIVELY.
35831
35832 052610 200 06 0 00 070332 C55500: MOVE 6,[707070,,707070] ;PRELOAD AC WITH 707070,,707070
35833 052611 201 07 0 00 000000 MOVEI 7,0 ;PRELOAD E WITH 0
35834 052612 374 06 0 00 000007 SOSA 6,7 ;*SOSA SHOULD SUBTRACT 0,,1 FROM C(E),
35835 ;UPDATE AC AND SKIP
35836 STOP^
35837 052613 254 04 0 00 052614 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35838 052614 324 00 0 00 052615 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35839 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35840 ;IN THE SUBTEST) TO LOOP ON ERROR^
35841 052615 312 07 0 00 070254 CAME 7,[-1] ;PASS IF E DECREMENTED CORRECTLY
35842 STOP^
35843 052616 254 04 0 00 052617 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 85-1
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL SOSX INSTRUCTIONS SEQ 0817
35844 052617 324 00 0 00 052620 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35845 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35846 ;IN THE SUBTEST) TO LOOP ON ERROR^
35847 052620 312 06 0 00 070254 CAME 6,[-1] ;PASS IF AC WAS UPDATED IF AC NON-ZERO
35848 STOP^
35849 052621 254 04 0 00 052622 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35850 052622 324 00 0 00 052623 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35851 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35852 ;IN THE SUBTEST) TO LOOP ON ERROR^
35853
35854 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 86
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL SOSX INSTRUCTIONS SEQ 0818
35855 ;THIS TEST VERIFIES THAT SOSA DECREMENTS C(E) BY 0,,1 AND PLACES
35856 ;THE RESULT INTO E. THE RESULT IN E IS COMPARED TO 0 AND ALWAYS SKIPS
35857 ;THE NEXT INSTRUCTION.
35858 ;IF THE AC IS NON-ZERO, THE RESULT IS ALSO PLACED INTO THEAC.
35859 ;IN THIS CASE, AC=6, C(AC)=707070,,707070 AND C(E)=0,,1
35860 ;BEFORE INCREMENTING. HENCE, SOSA SHOULD BE 0 AND 0
35861 ;RESPECTIVELY.
35862
35863 052623 200 06 0 00 070332 C55510: MOVE 6,[707070,,707070] ;PRELOAD AC WITH 707070,,707070
35864 052624 201 07 0 00 000001 MOVEI 7,1 ;PRELOAD E WITH 0,,1
35865 052625 374 06 0 00 000007 SOSA 6,7 ;*SOSA SHOULD SUBTRACT 0,,1 FROM C(E),
35866 ;UPDATE AC AND SKIP
35867 STOP^
35868 052626 254 04 0 00 052627 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35869 052627 324 00 0 00 052630 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35870 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35871 ;IN THE SUBTEST) TO LOOP ON ERROR^
35872 052630 312 07 0 00 070253 CAME 7,[0] ;PASS IF E DECREMENTED CORRECTLY
35873 STOP^
35874 052631 254 04 0 00 052632 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35875 052632 324 00 0 00 052633 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35876 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35877 ;IN THE SUBTEST) TO LOOP ON ERROR^
35878 052633 312 06 0 00 070253 CAME 6,[0] ;PASS IF AC WAS UPDATED IF AC NON-ZERO
35879 STOP^
35880 052634 254 04 0 00 052635 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35881 052635 324 00 0 00 052636 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35882 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35883 ;IN THE SUBTEST) TO LOOP ON ERROR^
35884
35885 ;**********
35886
35887 ;THIS TEST VERIFIES THAT SOSA DECREMENTS C(E) BY 0,,1 AND PLACES
35888 ;THE RESULT INTO E. THE RESULT IN E IS COMPARED TO 0 AND ALWAYS SKIPS
35889 ;THE NEXT INSTRUCTION.
35890 ;IF THE AC IS NON-ZERO, THE RESULT IS ALSO PLACED INTO THE AC.
35891 ;IN THIS CASE, AC=6, C(AC)=707070,,707070 AND C(E)=0,,2
35892 ;BEFORE INCREMENTING. HENCE, SOSA SHOULD SKIP ; AND THE
35893 ;FINAL RESULTS IN AC AND E SHOULD BE 0,,1 AND 0,,1
35894 ;RESPECTIVELY.
35895
35896 052636 200 06 0 00 070332 C55520: MOVE 6,[707070,,707070] ;PRELOAD AC WITH 707070,,707070
35897 052637 201 07 0 00 000002 MOVEI 7,2 ;PRELOAD E WITH 0,,2
35898 052640 374 06 0 00 000007 SOSA 6,7 ;*SOSA SHOULD SUBTRACT 0,,1 FROM C(E),
35899 ;UPDATE AC AND SKIP
35900 STOP^
35901 052641 254 04 0 00 052642 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35902 052642 324 00 0 00 052643 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35903 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35904 ;IN THE SUBTEST) TO LOOP ON ERROR^
35905 052643 312 07 0 00 070265 CAME 7,[1] ;PASS IF E DECREMENTED CORRECTLY
35906 STOP^
35907 052644 254 04 0 00 052645 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35908 052645 324 00 0 00 052646 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35909 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 86-1
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL SOSX INSTRUCTIONS SEQ 0819
35910 ;IN THE SUBTEST) TO LOOP ON ERROR^
35911 052646 312 06 0 00 070265 CAME 6,[1] ;PASS IF AC WAS UPDATED IF AC NON-ZERO
35912 STOP^
35913 052647 254 04 0 00 052650 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35914 052650 324 00 0 00 052651 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35915 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35916 ;IN THE SUBTEST) TO LOOP ON ERROR^
35917
35918 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 87
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL SOSX INSTRUCTIONS SEQ 0820
35919 ;THIS TEST VERIFIES THAT SOSGE DECREMENTS C(E) BY 0,,1 AND PLACES
35920 ;THE RESULT INTO E. THE RESULT IN E IS COMPARED TO 0 AND SKIPS
35921 ;THE NEXT INSTRUCTION IF C(E) IS GREATER THAN OR EQUAL TO 0.
35922 ;IF THE AC IS NON-ZERO, THE RESULT IS ALSO PLACED INTO THE AC.
35923 ;IN THIS CASE, AC=5, C(AC)=707070,,707070 AND C(E)=0
35924 ;BEFORE INCREMENTING. HENCE, SOSGE SHOULD NOT SKIP ; AND THE
35925 ;FINAL RESULTS IN AC AND E SHOULD BE -1,,-1 AND -1,,-1
35926 ;RESPECTIVELY.
35927
35928 052651 200 05 0 00 070332 C55600: MOVE 5,[707070,,707070] ;PRELOAD AC WITH 707070,,707070
35929 052652 201 06 0 00 000000 MOVEI 6,0 ;PRELOAD E WITH 0
35930 052653 375 05 0 00 000006 SOSGE 5,6 ;*SOSGE SHOULD SUBTRACT 0,,1 FROM C(E),
35931 ;UPDATE AC AND NOT SKIP
35932 052654 334 00 0 00 000000 SKIPA ;PASS IF SOSGE DID NOT SKIP
35933 STOP^
35934 052655 254 04 0 00 052656 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35935 052656 324 00 0 00 052657 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35936 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35937 ;IN THE SUBTEST) TO LOOP ON ERROR^
35938 052657 312 06 0 00 070254 CAME 6,[-1] ;PASS IF E DECREMENTED CORRECTLY
35939 STOP^
35940 052660 254 04 0 00 052661 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35941 052661 324 00 0 00 052662 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35942 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35943 ;IN THE SUBTEST) TO LOOP ON ERROR^
35944 052662 312 05 0 00 070254 CAME 5,[-1] ;PASS IF AC WAS UPDATED IF AC NON-ZERO
35945 STOP^
35946 052663 254 04 0 00 052664 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35947 052664 324 00 0 00 052665 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35948 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35949 ;IN THE SUBTEST) TO LOOP ON ERROR^
35950
35951 ;**********
35952
35953 ;THIS TEST VERIFIES THAT SOSGE DECREMENTS C(E) BY 0,,1 AND PLACES
35954 ;THE RESULT INTO E. THE RESULT IN E IS COMPARED TO 0 AND SKIPS
35955 ;THE NEXT INSTRUCTION IF C(E) IS GREATER THAN OR EQUAL TO 0.
35956 ;IF THE AC IS NON-ZERO, THE RESULT IS ALSO PLACED INTO THE AC.
35957 ;IN THIS CASE, AC=5, C(AC)=707070,,707070 AND C(E)=0,,1
35958 ;BEFORE INCREMENTING. HENCE, SOSGE SHOULD SKIP ; AND THE
35959 ;FINAL RESULTS IN ACAND E SHOULD BE 0 AND 0
35960 ;RESPECTIVELY.
35961
35962 052665 200 05 0 00 070332 C55610: MOVE 5,[707070,,707070] ;PRELOAD AC WITH 707070,,707070
35963 052666 201 06 0 00 000001 MOVEI 6,1 ;PRELOAD E WITH 0,,1
35964 052667 375 05 0 00 000006 SOSGE 5,6 ;*SOSGE SHOULD SUBTRACT 0,,1 FROM C(E),
35965 ;UPDATE AC AND SKIP
35966 STOP^
35967 052670 254 04 0 00 052671 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35968 052671 324 00 0 00 052672 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35969 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35970 ;IN THE SUBTEST) TO LOOP ON ERROR^
35971 052672 312 06 0 00 070253 CAME 6,[0] ;PASS IF E DECREMENTED CORRECTLY
35972 STOP^
35973 052673 254 04 0 00 052674 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 87-1
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL SOSX INSTRUCTIONS SEQ 0821
35974 052674 324 00 0 00 052675 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35975 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35976 ;IN THE SUBTEST) TO LOOP ON ERROR^
35977 052675 312 05 0 00 070253 CAME 5,[0] ;PASS IF AC WAS UPDATED IF AC NON-ZERO
35978 STOP^
35979 052676 254 04 0 00 052677 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
35980 052677 324 00 0 00 052700 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
35981 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
35982 ;IN THE SUBTEST) TO LOOP ON ERROR^
35983
35984 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 88
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL SOSX INSTRUCTIONS SEQ 0822
35985 ;THIS TEST VERIFIES THAT SOSGE DECREMENTS C(E) BY 0,,1 AND PLACES
35986 ;THE RESULT INTO E. THE RESULT IN E IS COMPARED TO 0 AND SKIPS
35987 ;THE NEXT INSTRUCTION IF C(E) IS GREATER THAN OR EQUAL TO 0
35988 ;IF THE AC IS NON-ZERO, THE RESULT IS ALSO PLACED INTO THE AC.
35989 ;IN THIS CASE, AC=5, C(AC)=707070,,707070 AND C(E)=0,,2
35990 ;BEFORE INCREMENTING. HENCE, SOSGE SHOULD SKIP ; AND THE
35991 ;FINAL RESULTS IN AC AND E SHOULD BE 0,,1 AND 0,,1
35992 ;RESPECTIVELY.
35993
35994 052700 200 05 0 00 070332 C55620: MOVE 5,[707070,,707070] ;PRELOAD AC WITH 707070,,707070
35995 052701 201 06 0 00 000002 MOVEI 6,2 ;PRELOAD E WITH 0,,2
35996 052702 375 05 0 00 000006 SOSGE 5,6 ;*SOSGE SHOULD SUBTRACT 0,,1 FROM C(E),
35997 ;UPDATE AC AND SKIP
35998 STOP^
35999 052703 254 04 0 00 052704 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36000 052704 324 00 0 00 052705 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36001 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36002 ;IN THE SUBTEST) TO LOOP ON ERROR^
36003 052705 312 06 0 00 070265 CAME 6,[1] ;PASS IF E DECREMENTED CORRECTLY
36004 STOP^
36005 052706 254 04 0 00 052707 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36006 052707 324 00 0 00 052710 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36007 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36008 ;IN THE SUBTEST) TO LOOP ON ERROR^
36009 052710 312 05 0 00 070265 CAME 5,[1] ;PASS IF AC WAS UPDATED IF AC NON-ZERO
36010 STOP^
36011 052711 254 04 0 00 052712 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36012 052712 324 00 0 00 052713 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36013 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36014 ;IN THE SUBTEST) TO LOOP ON ERROR^
36015
36016 ;**********
36017
36018 ;THIS TEST VERIFIES SOSN DECREMENTS C(E) BY 0,,1 AND PLACES
36019 ;THE RESULT INTO E. THE RESULT IN E IS COMPARED TO 0 AND SKIPS
36020 ;THE NEXT INSTRUCTION IF C(E) IS NON-ZERO
36021 ;IF THE AC IS NON-ZERO, THE RESULT IS ALSO PLACED INTO THE AC.
36022 ;IN THIS CASE, AC=4, C(AC)=707070,,707070 AND C(E)=0
36023 ;BEFORE INCREMENTING. HENCE, SOSN SHOULD SKIP ; AND THE
36024 ;FINAL RESULTS IN AC AND E SHOULD BE -1,,-1 AND -1,,-1
36025 ;RESPECTIVELY.
36026
36027 052713 200 04 0 00 070332 C55700: MOVE 4,[707070,,707070] ;PRELOAD AC WITH 707070,,707070
36028 052714 201 05 0 00 000000 MOVEI 5,0 ;PRELOAD E WITH 0
36029 052715 376 04 0 00 000005 SOSN 4,5 ;*SOSN SHOULD SUBTRACT 0,,1 FROM C(E),
36030 ;UPDATE AC AND SKIP
36031 STOP^
36032 052716 254 04 0 00 052717 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36033 052717 324 00 0 00 052720 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36034 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36035 ;IN THE SUBTEST) TO LOOP ON ERROR^
36036 052720 312 05 0 00 070254 CAME 5,[-1] ;PASS IF E DECREMENTED CORRECTLY
36037 STOP^
36038 052721 254 04 0 00 052722 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36039 052722 324 00 0 00 052723 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 88-1
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL SOSX INSTRUCTIONS SEQ 0823
36040 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36041 ;IN THE SUBTEST) TO LOOP ON ERROR^
36042 052723 312 04 0 00 070254 CAME 4,[-1] ;PASS IF AC WAS UPDATED IF AC NON-ZERO
36043 STOP^
36044 052724 254 04 0 00 052725 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36045 052725 324 00 0 00 052726 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36046 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36047 ;IN THE SUBTEST) TO LOOP ON ERROR^
36048
36049 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 89
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL SOSX INSTRUCTIONS SEQ 0824
36050 ;THIS TEST VERIFIES THAT SOSN DECREMENTS C(E) BY 0,,1 AND PLACES
36051 ;THE RESULT INTO E. THE RESULT IN E IS COMPARED TO 0 AND SKIPS
36052 ;THE NEXT INSTRUCTION IF C(E) IS NON-ZERO
36053 ;IF THE AC IS NON-ZERO, THE RESULT IS ALSO PLACED INTO THE AC
36054 ;IN THIS CASE, AC=4, C(AC)=707070,,707070 AND C(E)=0,,1
36055 ;BEFORE INCREMENTING. HENCE, SOSN SHOULD NOT SKIP ; AND THE
36056 ;FINAL RESULTS IN AC AND E SHOULD BE 0 AND 0
36057 ;RESPECTIVELY.
36058
36059 052726 200 04 0 00 070332 C55710: MOVE 4,[707070,,707070] ;PRELOAD AC WITH 707070,,707070
36060 052727 201 05 0 00 000001 MOVEI 5,1 ;PRELOAD E WITH 0,,1
36061 052730 376 04 0 00 000005 SOSN 4,5 ;*SOSN SHOULD SUBTRACT 0,,1 FROM C(E),
36062 ;UPDATE AC AND NOT SKIP
36063 052731 334 00 0 00 000000 SKIPA ;PASS IF SOSN DID NOT SKIP
36064 STOP^
36065 052732 254 04 0 00 052733 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36066 052733 324 00 0 00 052734 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36067 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36068 ;IN THE SUBTEST) TO LOOP ON ERROR^
36069 052734 312 05 0 00 070253 CAME 5,[0] ;PASS IF E DECREMENTED CORRECTLY
36070 STOP^
36071 052735 254 04 0 00 052736 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36072 052736 324 00 0 00 052737 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36073 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36074 ;IN THE SUBTEST) TO LOOP ON ERROR^
36075 052737 312 04 0 00 070253 CAME 4,[0] ;PASS IF AC WAS UPDATED IF AC NON-ZERO
36076 STOP^
36077 052740 254 04 0 00 052741 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36078 052741 324 00 0 00 052742 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36079 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36080 ;IN THE SUBTEST) TO LOOP ON ERROR^
36081
36082 ;**********
36083
36084 ;THIS TEST VERIFIES THAT SOSN DECREMENTS C(E) BY 0,,1 AND PLACES
36085 ;THE RESULT INTO E. THE RESULT IN E IS COMPARED TO 0 AND SKIPS
36086 ;THE NEXT INSTRUCTION IF C(E) IS NON-ZERO
36087 ;IF THE AC IS NON-ZERO, THE RESULT IS ALSO PLACED INTO THE AC.
36088 ;INtTHIS CASE, AC=4, C(AC)=707070,,707070 AND C(E)=0,,2
36089 ;BEFORE INCREMENTING. HENCE, SOSN SHOULD SKIP ; AND THE
36090 ;FINAL RESULTS IN AC AND E SHOULD BE 0,,1 AND 0,,1
36091 ;RESPECTIVELY
36092
36093 052742 200 04 0 00 070332 C55720: MOVE 4,[707070,,707070] ;PRELOAD AC WITH 707070,,707070
36094 052743 201 05 0 00 000002 MOVEI 5,2 ;PRELOAD E WITH 0,,2
36095 052744 376 04 0 00 000005 SOSN 4,5 ;*SOSN SHOULD SUBTRACT 0,,1 FROM C(E),
36096 ;UPDATE AC AND SKIP
36097 STOP^
36098 052745 254 04 0 00 052746 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36099 052746 324 00 0 00 052747 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36100 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36101 ;IN THE SUBTEST) TO LOOP ON ERROR^
36102 052747 312 05 0 00 070265 CAME 5,[1] ;PASS IF E DECREMENTED CORRECTLY
36103 STOP^
36104 052750 254 04 0 00 052751 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 89-1
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL SOSX INSTRUCTIONS SEQ 0825
36105 052751 324 00 0 00 052752 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36106 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36107 ;IN THE SUBTEST) TO LOOP ON ERROR^
36108 052752 312 04 0 00 070265 CAME 4,[1] ;PASS IF ACWAS UPDATED IF AC NON-ZERO
36109 STOP^
36110 052753 254 04 0 00 052754 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36111 052754 324 00 0 00 052755 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36112 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36113 ;IN THE SUBTEST) TO LOOP ON ERROR^
36114
36115 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 90
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL SOSX INSTRUCTIONS SEQ 0826
36116 ;THIS TEST VERIFIESTHAT SOSG DECREMENTS C(E) BY 0,,1 AND PLACES
36117 ;THE RESULT INTO E. THE RESULT IN E IS COMPARED TO 0 AND SKIPS
36118 ;THE NEXT INSTRUCTION IF C(E) IS GREATER THAN 0
36119 ;IF THE AC IS NON-ZERO, THE RESULT IS ALSO PLACED INTO THE AC.
36120 ;IN THIS CASE, AC=3, C(AC)=707070,,707070 AND C(E)=0
36121 ;BEFORE INCREMENTING. HENCE, SOSG SHOULD NOT SKIP ; AND THE
36122 ;FINAL RESULTS IN AC AND E SHOULD BE -1,,-1 AND -1,,-1
36123 ;RESPECTIVELY.
36124
36125 052755 200 03 0 00 070332 C56000: MOVE 3,[707070,,707070] ;PRELOAD AC WITH 707070,,707070
36126 052756 201 04 0 00 000000 MOVEI 4,0 ;PRELOAD E WITH 0
36127 052757 377 03 0 00 000004 SOSG 3,4 ;*SOSG SHOULD SUBTRACT 0,,1 FROM C(E),
36128 ;UPDATE AC AND NOT SKIP
36129 052760 334 00 0 00 000000 SKIPA ;PASS IF SOSG DID NOT SKIP
36130 STOP^
36131 052761 254 04 0 00 052762 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36132 052762 324 00 0 00 052763 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36133 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36134 ;IN THE SUBTEST) TO LOOP ON ERROR^
36135 052763 312 04 0 00 070254 CAME 4,[-1] ;PASS IF E DECREMENTED CORRECTLY
36136 STOP^
36137 052764 254 04 0 00 052765 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36138 052765 324 00 0 00 052766 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36139 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36140 ;IN THE SUBTEST) TO LOOP ON ERROR^
36141 052766 312 03 0 00 070254 CAME 3,[-1] ;PASS IF AC WAS UPDATED IF AC NON-ZERO
36142 STOP^
36143 052767 254 04 0 00 052770 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36144 052770 324 00 0 00 052771 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36145 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36146 ;IN THE SUBTEST) TO LOOP ON ERROR^
36147
36148 ;**********
36149
36150 ;THIS TEST VERIFIES THAT SOSG DECREMENTS C(E) BY 0,,1 AND PLACES
36151 ;THE RESULT INTO E. THE RESULT IN E IS COMPARED TO 0 AND SKIPS
36152 ;THE NEXT INSTRUCTION IF C(E) IS GREATER THAN 0.
36153 ;IF THE AC IS NON-ZERO, THE RESULT IS ALSO PLACED INTO THE AC.
36154 ;IN THIS CASE, AC=3, C(AC)=707070,,707070 AND C(E)=0,,1
36155 ;BEFORE INCREMENTING. HENCE, SOSG SHOULD NOT SKIP ; AND THE
36156 ;FINAL RESULTS IN AC AND E SHOULD BE 0 AND 0
36157 ;RESPECTIVELY.
36158
36159 052771 200 03 0 00 070332 C56010: MOVE 3,[707070,,707070] ;PRELOAD AC WITH 707070,,707070
36160 052772 201 04 0 00 000001 MOVEI 4,1 ;PRELOAD E WITH 0,,1
36161 052773 377 03 0 00 000004 SOSG 3,4 ;*SOSG SHOULD SUBTRACT 0,,1 FROM C(E),
36162 ;UPDATE AC AND NOT SKIP
36163 052774 334 00 0 00 000000 SKIPA ;PASS IF SOSG DID NOT SKIP
36164 STOP^
36165 052775 254 04 0 00 052776 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36166 052776 324 00 0 00 052777 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36167 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36168 ;IN THE SUBTEST) TO LOOP ON ERROR^
36169 052777 312 04 0 00 070253 CAME 4,[0] ;PASS IF E DECREMENTED CORRECTLY
36170 STOP^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 90-1
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL SOSX INSTRUCTIONS SEQ 0827
36171 053000 254 04 0 00 053001 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36172 053001 324 00 0 00 053002 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36173 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36174 ;IN THE SUBTEST) TO LOOP ON ERROR^
36175 053002 312 03 0 00 070253 CAME 3,[0] ;PASS IF AC WAS UPDATED IS AC NON-ZERO
36176 STOP^
36177 053003 254 04 0 00 053004 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36178 053004 324 00 0 00 053005 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36179 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36180 ;IN THE SUBTEST) TO LOOP ON ERROR^
36181
36182 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 91
DFKAA5 MAC 25-AUG-75 14:00 TEST OF MSCL SOSX INSTRUCTIONS SEQ 0828
36183 ;THIS TEST VERIFIES THAT SOSG DECREMENTS C(E) BY 0,,1 AND PLACES
36184 ;THE RESULT INTO E. THE RESULT IN E IS COMPARED TO 0 AND SKIPS
36185 ;THE NEXT INSTRUCTION IF C(E) IS GREATER THAN 0
36186 ;IF THE AC IS NON-ZERO, THE RESULT IS ALSO PLACED INTO THE AC.
36187 ;IN THIS CASE, AC=3, C(AC)=707070,,707070 AND C(E)=0,,2
36188 ;BEFORE INCREMENTING. HENCE, SOSG SHOULD SKIP ; AND THE
36189 ;FINAL RESULTS IN AC AND E SHOULD BE 0,,1 AND 011,
36190 ;RESPECTIVELY.
36191
36192 053005 200 03 0 00 070332 C56020: MOVE 3,[707070,,707070] ;PRELOAD AC WITH 707070,,707070
36193 053006 201 04 0 00 000002 MOVEI 4,2 ;PRELOAD E WITH 0,,2
36194 053007 377 03 0 00 000004 SOSG 3,4 ;*SOSG SHOULD SUBTRACT 0,,1 FROM C(E),
36195 ;UPDATE AC AND SKIP
36196 STOP^
36197 053010 254 04 0 00 053011 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36198 053011 324 00 0 00 053012 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36199 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36200 ;IN THE SUBTEST) TO LOOP ON ERROR^
36201 053012 312 04 0 00 070265 CAME 4,[1] ;PASS IF E DECREMENTED CORRECTLY
36202 STOP^
36203 053013 254 04 0 00 053014 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36204 053014 324 00 0 00 053015 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36205 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36206 ;IN THE SUBTEST) TO LOOP ON ERROR^
36207 053015 312 03 0 00 070265 CAME 3,[1] ;PASS IF AC WAS UPDATED IF AC NON-ZERO
36208 STOP^
36209 053016 254 04 0 00 053017 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36210 053017 324 00 0 00 053020 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36211 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36212 ;IN THE SUBTEST) TO LOOP ON ERROR^
36213
36214 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 1
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0829
36215 SUBTTL TEST OF MSCL BOOLEAN INSTRUCTIONS
36216
36217 ;**********
36218
36219 ;THIS TEST VERIFIES THAT SETZI CLEARS THE AC AND DOES NOT AFFECT E.
36220 ;FIRST, AC AND E ARE PRELOADED WITH -1,,-1, THEN, SETZI IS EXECUTED.
36221 ;AC IS THEN CHECKED FOR 0 AND E IS CHECKED FOR -1,,-1
36222
36223 053020 474 01 0 00 000000 C56100: SETO 1, ;PRELOAD AC WITH -1,,-1
36224 053021 474 02 0 00 000000 SETO 2, ;PRELOAD E WITH -1,,-1
36225 053022 401 01 0 00 000002 SETZI 1,2 ;*SETZI SHOULD CLEAR THE AC
36226 053023 332 00 0 00 000001 SKIPE 1 ;PASS IF C(AC)=0
36227 STOP^
36228 053024 254 04 0 00 053025 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36229 053025 324 00 0 00 053026 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36230 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36231 ;IN THE SUBTEST) TO LOOP ON ERROR^
36232 053026 312 02 0 00 070254 CAME 2,[-1] ;PASS IF C(E)=-1,,-1
36233 STOP^
36234 053027 254 04 0 00 053030 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36235 053030 324 00 0 00 053031 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36236 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36237 ;IN THE SUBTEST) TO LOOP ON ERROR^
36238
36239 ;**********
36240
36241 ;THIS TEST VERIFIES THAT SETZM CLEARS C(E) AND DOES NOT AFFECT C(AC)
36242 ;FIRST, AC AND E ARE PRELOADED WITH -1,,-1; THEN SETZM IS EXECUTED.
36243 ;AC IS THEN CHECKED FOR -1,,-1 AND E IS CHECKED FOR 0.
36244
36245 053031 474 01 0 00 000000 C56200: SETO 1, ;PRELOAD AC WITH -1,,-1
36246 053032 474 02 0 00 000000 SETO 2, ;PRELOAD E WITH -1,,-1
36247 053033 402 01 0 00 000002 SETZM 1,2 ;*SETZM SHOULD CLEAR E
36248 053034 312 01 0 00 070254 CAME 1,[-1] ;PASS IF C(AC)=-1,,-1
36249 STOP^
36250 053035 254 04 0 00 053036 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36251 053036 324 00 0 00 053037 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36252 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36253 ;IN THE SUBTEST) TO LOOP ON ERROR^
36254 053037 332 00 0 00 000002 SKIPE 2 ;PASS IF C(E)=0
36255 STOP^
36256 053040 254 04 0 00 053041 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36257 053041 324 00 0 00 053042 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36258 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36259 ;IN THE SUBTEST) TO LOOP ON ERROR^
36260
36261 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 2
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0830
36262 ;THIS TEST VERIFIES THAT SETOI PLACES ALL ONES INTO THE AC.
36263 ;FIRST, THE AC AND E ARE CLEARED; THEN, SETOI IS EXECUTED.
36264 ;AC AND E ARE CHECKED FOR -1,,-1 AND 0 RESPECTIVELY
36265
36266 053042 403 01 0 00 000002 C56300: SETZB 1,2 ;CLEAR AC,E
36267 053043 475 01 0 00 000002 SETOI 1,2 ;*SETOI SHOULD PLACE -1,,-1 INTO THE AC
36268 053044 312 01 0 00 070254 CAME 1,[-1] ;PASS IF C(AC)=-1,,-1
36269 STOP^
36270 053045 254 04 0 00 053046 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36271 053046 324 00 0 00 053047 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36272 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36273 ;IN THE SUBTEST) TO LOOP ON ERROR^
36274 053047 332 00 0 00 000002 SKIPE 2 ;PASS IF C(E)=0
36275 STOP^
36276 053050 254 04 0 00 053051 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36277 053051 324 00 0 00 053052 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36278 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36279 ;IN THE SUBTEST) TO LOOP ON ERROR^
36280
36281 ;**********
36282
36283 ;THIS TEST VERIFIES THAT SETOM PLACES ALL ONES INTO E
36284 ;FIRST, THE AC AND E ARE CLEARED, THEN SETOM IS EXECUTED.
36285 ;AC AND E ARE THEN CHECKED FOR 0 AND -1,,-1 RESPECTIVELY.
36286
36287 053052 403 01 0 00 000002 C56400: SETZB 1,2 ;CLEAR AC,E
36288 053053 476 01 0 00 000002 SETOM 1,2 ;*SETOM SHOULD PLACE -1,,-1 INTO E
36289 053054 332 00 0 00 000001 SKIPE 1 ;PASS IF C(AC)=0
36290 STOP^
36291 053055 254 04 0 00 053056 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36292 053056 324 00 0 00 053057 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36293 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36294 ;IN THE SUBTEST) TO LOOP ON ERROR^
36295 053057 312 02 0 00 070254 CAME 2,[-1] ;PASS IF C(E)=-1,,-1
36296 STOP^
36297 053060 254 04 0 00 053061 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36298 053061 324 00 0 00 053062 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36299 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36300 ;IN THE SUBTEST) TO LOOP ON ERROR^
36301
36302 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 3
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0831
36303 ;THIS TEST VERIFIES THAT SETOB PLACES ALL ONES INTO BOTH AC AND E.
36304 ;FIRST, BOTH AC AND E ARE CLEARED; THEN, SETOB IS EXECUTED.
36305 ;AC AND E ARE BOTH CHECKED FOR -1,,-1
36306
36307 053062 403 01 0 00 000002 C56500: SETZB 1,2 ;CLEAR AC,E
36308 053063 477 01 0 00 000002 SETOB 1,2 ;*SETOB SHOULD PUT -1,,-1 INTO BOTH AC AND E
36309 053064 312 01 0 00 070254 CAME 1,[-1] ;PASS IF C(AC)=-1,,-1
36310 STOP^
36311 053065 254 04 0 00 053066 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36312 053066 324 00 0 00 053067 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36313 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36314 ;IN THE SUBTEST) TO LOOP ON ERROR^
36315 053067 312 02 0 00 070254 CAME 2,[-1] ;PASS IF C(E)=-1,,-1
36316 STOP^
36317 053070 254 04 0 00 053071 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36318 053071 324 00 0 00 053072 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36319 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36320 ;IN THE SUBTEST) TO LOOP ON ERROR^
36321
36322 ;**********
36323
36324 ;THIS TEST VERIFIES THAT ANDI PLACES THE LOGICAL AND FUNCTION
36325 ;OF C(AC) AND 0,,E INTO THE AC.
36326 ;IN THIS CASE, C(AC)=777000,,707070 AND E=0,,123123.
36327 ;HENCE, THE RESULT IN THE AC SHOULD BE 0,,103103
36328
36329 053072 200 01 0 00 070640 C56600: MOVE 1,[777000,,707070] ;PRELOAD AC WITH 777000,,707070
36330 053073 405 01 0 00 123123 ANDI 1,123123 ;*ANDI SHOULD PLACE 0,,103103 INTO THE AC
36331 053074 302 01 0 00 103020 CAIE 1,103020 ;PASS IF C(AC)=103103
36332 STOP^
36333 053075 254 04 0 00 053076 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36334 053076 324 00 0 00 053077 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36335 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36336 ;IN THE SUBTEST) TO LOOP ON ERROR^
36337
36338 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0832
36339 ;THIS TEST VERIFIES THAT ANDM PLACES THE LOGICAL AND FUNCTION OF
36340 ;C(AC) AND C(E) INTO E.
36341 ;IN THIS CASE, C(AC)=777000,,000777 AND C(E)=123456,,123456.
36342 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 777000,,000777 AND
36343 ;123000,,00456 RESPECTIVELY
36344
36345 053077 200 01 0 00 070641 C56700: MOVE 1,[777000,,777] ;PRELOAD E WITH 777000,,000777
36346 053100 200 02 0 00 070637 MOVE 2,[123456,,123456] ;PRELOAD AC WITH 123456,,123456
36347 053101 406 02 0 00 000001 ANDM 2,1 ;*ANDM SHOULD PLACE 123000,,000456 INTO E
36348 053102 312 02 0 00 070637 CAME 2,[123456,,123456] ;PASS IF C(AC) NOT MODIFIED
36349 STOP^
36350 053103 254 04 0 00 053104 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36351 053104 324 00 0 00 053105 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36352 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36353 ;IN THE SUBTEST) TO LOOP ON ERROR^
36354 053105 312 01 0 00 070642 CAME 1,[123000,,000456] ;PASS IF C(E)=123000,,000456
36355 STOP^
36356 053106 254 04 0 00 053107 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36357 053107 324 00 0 00 053110 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36358 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36359 ;IN THE SUBTEST) TO LOOP ON ERROR^
36360
36361 ;**********
36362
36363 ;THIS TEST VERIFIES THAT ANDM PLACES THE LOGICAL AND FUNCTION OF
36364 ;C(AC) AND C(E) INTO E.
36365 ;IN THIS CASE, C(AC)=777000,,000777 AND C(E)=123456,,123456.
36366 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 777000,,000777 AND
36367 ;123000,,00456 RESPECTIVELY
36368
36369 053110 200 01 0 00 070641 C56701: MOVE 1,[777000,,777] ;PRELOAD E WITH 777000,,000777
36370 053111 202 01 0 00 053124 MOVEM 1,E56701
36371 053112 200 02 0 00 070637 MOVE 2,[123456,,123456] ;PRELOAD AC WITH 123456,,123456
36372 053113 406 02 0 00 053124 ANDM 2,E56701 ;*ANDM SHOULD PLACE 123000,,000456 INTO E
36373 053114 312 02 0 00 070637 CAME 2,[123456,,123456] ;PASS IF C(AC) NOT MODIFIED
36374 STOP^
36375 053115 254 04 0 00 053116 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36376 053116 324 00 0 00 053117 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36377 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36378 ;IN THE SUBTEST) TO LOOP ON ERROR^
36379 053117 200 01 0 00 053124 MOVE 1,E56701
36380 053120 312 01 0 00 070642 CAME 1,[123000,,000456] ;PASS IF C(E)=123000,,000456
36381 STOP^
36382 053121 254 04 0 00 053122 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36383 053122 324 00 0 00 053123 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36384 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36385 ;IN THE SUBTEST) TO LOOP ON ERROR^
36386
36387 053123 334 00 0 00 000000 SKIPA ;GO TO NEXT TEST
36388 053124 000000 000000 E56701: 0 ;TEST WORD MEMORY
36389
36390 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 5
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0833
36391 ;THIS TEST VERIFIES THAT ANDCB PLACES THE LOGICAL AND FUNCTION OF
36392 ;C(AC) AND C(E) INTO BOTH AC AND E
36393 ;IN THIS CASE, C(AC)=-1,,0 AND C(E)=121212,,-1
36394 ;HENCE, THE RESULT IN BOTH AC AND E SHOULD BE 121212,,0,
36395
36396 053125 561 03 0 00 000000 C57000: HRROI 3,0 ;PRELOAD AC WITH -1,,0
36397 053126 525 06 0 00 121212 HRLOI 6,121212 ;PRELOAD E WITH 121212,,-1
36398 053127 407 03 0 00 000006 ANDB 3,6 ;*ANDB SHOULD PLACE 121212,,0 INTO BOTH AC AND E
36399 053130 312 03 0 00 070643 CAME 3,[121212,,0] ;PASS IF C(AC)=121212,,0
36400 STOP^
36401 053131 254 04 0 00 053132 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36402 053132 324 00 0 00 053133 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36403 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36404 ;IN THE SUBTEST) TO LOOP ON ERROR^
36405 053133 312 06 0 00 070643 CAME 6,[121212,,0] ;PASS IF C(E)=121212,,0
36406 STOP^
36407 053134 254 04 0 00 053135 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36408 053135 324 00 0 00 053136 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36409 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36410 ;IN THE SUBTEST) TO LOOP ON ERROR^
36411
36412 ;**********
36413
36414 ;THIS TEST VERIFIES THAT ANDCB PLACES THE LOGICAL AND FUNCTION OF
36415 ;C(AC) AND C(E) INTO BOTH AC AND E
36416 ;IN THIS CASE, C(AC)=-1,,0 AND C(E)=121212,,-1
36417 ;HENCE, THE RESULT IN BOTH AC AND E SHOULD BE 121212,,0,
36418
36419 053136 561 03 0 00 000000 C57001: HRROI 3,0 ;PRELOAD AC WITH -1,,0
36420 053137 525 06 0 00 121212 HRLOI 6,121212 ;PRELOAD E WITH 121212,,-1
36421 053140 202 06 0 00 053152 MOVEM 6,E57001
36422 053141 407 03 0 00 053152 ANDB 3,E57001 ;*ANDB SHOULD PLACE 121212,,0 INTO BOTH AC AND E
36423 053142 312 03 0 00 070643 CAME 3,[121212,,0] ;PASS IF C(AC)=121212,,0
36424 STOP^
36425 053143 254 04 0 00 053144 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36426 053144 324 00 0 00 053145 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36427 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36428 ;IN THE SUBTEST) TO LOOP ON ERROR^
36429 053145 200 06 0 00 053152 MOVE 6,E57001
36430 053146 312 06 0 00 070643 CAME 6,[121212,,0] ;PASS IF C(E)=121212,,0
36431 STOP^
36432 053147 254 04 0 00 053150 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36433 053150 324 00 0 00 053151 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36434 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36435 ;IN THE SUBTEST) TO LOOP ON ERROR^
36436
36437 053151 334 00 0 00 000000 SKIPA ;GO TO NEXT TEST
36438 053152 000000 000000 E57001: 0 ;TEST WORD MEMORY
36439
36440 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0834
36441 ;THIS TEST VERIFIES THAT ANDCAI PLACES THE LOGICAL AND FUNCTION
36442 ;OF THE WORD 0,E AND THE COMPLEMENT OF C(AC) INTO THE AC
36443 ;IN THIS CASE, C(AC)=777,000,,707070 AND E=0,135246
36444 ;HENCE, THE RESULT IN THE AC SHOULD BE 0,,030206
36445
36446 053153 200 05 0 00 070640 C57100: MOVE 5,[777000,,707070] ;PRELOAD AC WITH 777000,,707070
36447 053154 411 05 0 00 135246 ANDCAI 5,135246 ;*ANDCAI SHOULD PLACE 0,,30206 INTO THE AC
36448 053155 302 05 0 00 030206 CAIE 5,030206 ;PASS IF C(AC)=030206
36449 STOP^
36450 053156 254 04 0 00 053157 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36451 053157 324 00 0 00 053160 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36452 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36453 ;IN THE SUBTEST) TO LOOP ON ERROR^
36454
36455 ;**********
36456
36457 ;THIS TEST VERIFIES THAT ANDCAM PLACES THE LOGICAL AND FUNCTION OF
36458 ;C(E) AND THE COMPLEMENT OF C(AC) INTO E.
36459 ;IN THIS CASE, C(AC)=000767,,-1 AND C(E)=777350,,-2
36460 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 000767,,-1 AND
36461 ;777010,,0 RESPECTIVELY.
36462
36463 053160 525 04 0 00 000767 C57200: HRLOI 4,767 ;PRELOAD AC WITH 000767,,-1
36464 053161 200 06 0 00 070644 MOVE 6,[777350,,-2] ;PRELOAD E WITH 777350,,-2
36465 053162 412 04 0 00 000006 ANDCAM 4,6 ;*ANDCAM SHOULD PLACE 777010,,0
36466 ;INTO E
36467 053163 312 04 0 00 070645 CAME 4,[767,,-1] ;PASS IF C(AC) IS UNCHANGED
36468 STOP^
36469 053164 254 04 0 00 053165 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36470 053165 324 00 0 00 053166 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36471 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36472 ;IN THE SUBTEST) TO LOOP ON ERROR^
36473 053166 312 06 0 00 070646 CAME 6,[777010,,0] ;PASS IF C(E)=777010,,0
36474 STOP^
36475 053167 254 04 0 00 053170 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36476 053170 324 00 0 00 053171 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36477 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36478 ;IN THE SUBTEST) TO LOOP ON ERROR^
36479
36480 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 7
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0835
36481 ;THIS TEST VERIFIES THAT ANDCAB PLACES THE LOGICAN AND FUNCTION OF
36482 ;C(E) AND THE COMPLEMENT OF C(AC) INTO BOTH AC AND E.
36483 ;IN THIS CASE, C(AC)=000777,,770077 AND C(E)=123456,246123
36484 ;HENCE, THE RESULT IN BOTH AC AND E SHOULD BE 123000,,006100
36485
36486 053171 200 01 0 00 070647 C57300: MOVE 1,[000777,,770077] ;PRELOAD AC WITH 000777,770077
36487 053172 200 02 0 00 070650 MOVE 2,[123456,,246123] ;PRELOAD E WITH 123456,246123
36488 053173 413 01 0 00 000002 ANDCAB 1,2 ;*ANDCAB SHOULD PLACE 123000,006100
36489 ;INTO BOTH AC AND E
36490 053174 312 01 0 00 070651 CAME 1,[123000,,006100] ;PASS IF C(AC)=123000,006100
36491 STOP^
36492 053175 254 04 0 00 053176 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36493 053176 324 00 0 00 053177 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36494 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36495 ;IN THE SUBTEST) TO LOOP ON ERROR^
36496 053177 312 02 0 00 070651 CAME 2,[123000,,006100] ;PASS IF C(E)=123000,006100
36497 STOP^
36498 053200 254 04 0 00 053201 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36499 053201 324 00 0 00 053202 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36500 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36501 ;IN THE SUBTEST) TO LOOP ON ERROR^
36502
36503 ;**********
36504
36505 ;THIS TEST VERIFIES THAT SETMI MOVES THE WORD 0,,E INTO THE AC
36506 ;IN THIS CASE, C(AC)=-1,,-1 AND E=0,,123456. HENCE, THE RESULT
36507 ;IN THE AC SHOULD BE 0,,123456
36508
36509 053202 474 05 0 00 000000 C57400: SETO 5, ;PRELOAD AC WITH -1,,-1
36510 053203 415 05 0 00 123456 SETMI 5,123456 ;*SETMI SHOULD PLACE 0,,123456 INTO THE AC
36511 053204 302 05 0 00 123456 CAIE 5,123456 ;PASS IF C(AC)=0,123456
36512 STOP^
36513 053205 254 04 0 00 053206 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36514 053206 324 00 0 00 053207 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36515 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36516 ;IN THE SUBTEST) TO LOOP ON ERROR^
36517
36518 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 8
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0836
36519 ;THIS TEST VERIFIES THAT SETMM IS A NO-OP. HENCE, IT SHOULD
36520 ;NOT MODIFY AC OR E.
36521 ;IN THIS CASE, C(AC)=0 AND C(E)=-1,,-1; AND NEITHER SHOULD NOT BE CHANGED
36522
36523 053207 400 16 0 00 000000 C57500: SETZ 16, ;CLEAR C(AC)
36524 053210 474 17 0 00 000000 SETO 17, ;PRELOAD E WITH -1,,-1
36525 053211 416 16 0 00 000017 SETMM 16,17 ;*SETMM IS A NO-OP
36526 053212 332 00 0 00 000016 SKIPE 16 ;PASS IF C(AC) UNCHANGED
36527 STOP^
36528 053213 254 04 0 00 053214 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36529 053214 324 00 0 00 053215 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36530 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36531 ;IN THE SUBTEST) TO LOOP ON ERROR^
36532 053215 312 17 0 00 070254 CAME 17,[-1] ;PASS IF C(E) UNCHANGED
36533 STOP^
36534 053216 254 04 0 00 053217 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36535 053217 324 00 0 00 053220 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36536 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36537 ;IN THE SUBTEST) TO LOOP ON ERROR^
36538
36539 ;**********
36540
36541 ;THIS TEST VERIFIES THAT SETMB PLACES C(E) INTO THE AC
36542 ;IN THIS CASE, C(AC)=-1,,-1 AND C(E)=100,,-200 HENCE, THE RESULT
36543 ;IN BOTH AC AND E SHOULD BE 000100,,-200.
36544
36545 053220 474 00 0 00 000000 C57600: SETO 0, ;CLEAR AC
36546 053221 200 01 0 00 070652 MOVE 1,[100,,-200] ;PRELOAD E WITH 100,,-200
36547 053222 417 00 0 00 000001 SETMB 0,1 ;*SETMB SHOULD PLACE 100,,-200 INTO THE AC
36548 053223 312 00 0 00 070652 CAME 0,[100,,-200] ;PASS IF C(AC)=100,,-200
36549 STOP^
36550 053224 254 04 0 00 053225 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36551 053225 324 00 0 00 053226 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36552 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36553 ;IN THE SUBTEST) TO LOOP ON ERROR^
36554 053226 312 01 0 00 070652 CAME 1,[100,,-200] ;PASS IF C(E)=100,,-200
36555 STOP^
36556 053227 254 04 0 00 053230 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36557 053230 324 00 0 00 053231 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36558 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36559 ;IN THE SUBTEST) TO LOOP ON ERROR^
36560
36561 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 9
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0837
36562 ;THIS TEST VERIFIES THAT ANDCMI PLACES THE LOGICAL AND FUNCTION
36563 ;OF C(AC) AND THE COMPLEMENT OF THE WORD 0,,E INTO THE AC.
36564 ;IN THIS CASE, C(AC)=123456,,246135 AND E=0,,717273.
36565 ;HENCE, THE RESULT IN THE AC SHOULD BE 123456,,040104.
36566
36567 053231 200 15 0 00 070653 C57700: MOVE 15,[123456,,246135] ;PRELOAD AC WITH 123456,,246135
36568 053232 421 15 0 00 717273 ANDCMI 15,717273 ;*ANDCMI SHOULD PLACE 123456,,040104
36569 ;INTO THE AC
36570 053233 312 15 0 00 070654 CAME 15,[123456,,040104] ;PASS IF C(AC)=123456,,040104
36571 STOP^
36572 053234 254 04 0 00 053235 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36573 053235 324 00 0 00 053236 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36574 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36575 ;IN THE SUBTEST) TO LOOP ON ERROR^
36576
36577 ;**********
36578
36579 ;THIS TEST VERIFIES THAT ANDCMM PLACES THE LOGICAL AND FUNCTION OF
36580 ;C(AC) AND THE COMPLEMENT OF C(E) INTO E.
36581 ;IN THIS CASE,C(AC)=12321,,456654 AND C(E)= 770077,,007770
36582 ;HENCE, THE RESULT IN E SHOULD BE 003300,,450004
36583
36584 053236 200 14 0 00 070655 C60000: MOVE 14,[123321,,456654] ;PRELOAD AC WITH 123321,,456654
36585 053237 200 15 0 00 070656 MOVE 15,[770077,,007770] ;PRELOAD E WITH 77007770
36586 053240 422 14 0 00 000015 ANDCMM 14,15 ;*ANDCMM SHOULD PLACE 003300,,450004 INTO THE AC
36587 053241 312 14 0 00 070655 CAME 14,[123321,,456654] ;PASS IF C(AC) UNCHANGED
36588 STOP^
36589 053242 254 04 0 00 053243 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36590 053243 324 00 0 00 053244 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36591 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36592 ;IN THE SUBTEST) TO LOOP ON ERROR^
36593 053244 312 15 0 00 070657 CAME 15,[3300,,450004] ;PASS IF C(E) = 003300,,450004
36594 STOP^
36595 053245 254 04 0 00 053246 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36596 053246 324 00 0 00 053247 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36597 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36598 ;IN THE SUBTEST) TO LOOP ON ERROR^
36599
36600 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 10
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0838
36601 ;THIS TEST VERIFIES THAT ANDCMB PLACES THE LOGICAL AND FUNCTION OF
36602 ;C(AC) AND THE COMPLEMENT OF C(E) INTO BOTH AC AND E.
36603 ;IN THIS CASE, C(AC)123456,,663322 AND C(E) = 777000,,700770
36604 ;HENCE, THE RESULT IN BOTH AC AND E SHOULD BE 000456,,063002
36605
36606 053247 200 13 0 00 070660 C60100: MOVE 13,[123456,,663322] ;PRELOAD AC WITH 123456,,663322
36607 053250 200 14 0 00 070661 MOVE 14,[777000,,700770] ;PRELOAD E WITH 777000,,700770
36608 053251 423 13 0 00 000014 ANDCMB 13,14 ;*ANDCMB SHOULD PLACE 000456,,063002
36609 ;INTO BOTH AC AND E
36610 053252 312 13 0 00 070662 CAME 13,[456,,63002] ;PASS IF C(AC)=000456,,063002
36611 STOP^
36612 053253 254 04 0 00 053254 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36613 053254 324 00 0 00 053255 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36614 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36615 ;IN THE SUBTEST) TO LOOP ON ERROR^
36616 053255 312 14 0 00 070662 CAME 14,[456,,63002] ;PASS IF C(E)=000456,,063002
36617 STOP^
36618 053256 254 04 0 00 053257 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36619 053257 324 00 0 00 053260 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36620 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36621 ;IN THE SUBTEST) TO LOOP ON ERROR^
36622
36623 ;**********
36624
36625
36626 ;THIS TEST VERIFIES THAT SETA IS A NO-OP. IT AFFECTS NEITHER
36627 ;AC OR E. IN THIS CASE, C(AC)=123456,,777776 AND C(E)=010203,,123450.
36628 ;SETA SHOULD NOT MODIFY C(AC) OR C(E)
36629
36630 053260 200 12 0 00 070663 C60200: MOVE 12,[123456,,777776] ;PRELOAD AC WITH 123456,,-2
36631 053261 200 13 0 00 070664 MOVE 13,[010203,,123450] ;PRELOAD E WITH 010203,,123450
36632 053262 424 12 0 00 000013 SETA 12,13 ;*SETA IS A NO-OP
36633 053263 312 12 0 00 070663 CAME 12,[123456,,-2] ;PASS IF C(AC) UNCHANGED
36634 STOP^
36635 053264 254 04 0 00 053265 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36636 053265 324 00 0 00 053266 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36637 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36638 ;IN THE SUBTEST) TO LOOP ON ERROR^
36639 053266 312 13 0 00 070664 CAME 13,[010203,,123450] ;PASS IF C(E) UNCHANGED
36640 STOP^
36641 053267 254 04 0 00 053270 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36642 053270 324 00 0 00 053271 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36643 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36644 ;IN THE SUBTEST) TO LOOP ON ERROR^
36645
36646 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 11
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0839
36647 ;THIS TEST VERIFIES THAT SETAI IS A NO-OP. IT DOES NOT AFFECT THE AC.
36648 ;IN THIS CASE, C(AC)=123456,,777776 AND E=0,,123450
36649 ;SETA SHOULD NOT MODIFY C(AC)
36650
36651 053271 200 12 0 00 070663 C60300: MOVE 12,[123456,,777776] ;PRELOAD AC WITH 123456,,-2
36652 053272 425 12 0 00 123450 SETAI 12,123450 ;*SETAI IS A NO-OP
36653 053273 312 12 0 00 070663 CAME 12,[123456,,-2] ;PASS IF C(AC) UNCHANGED
36654 STOP^
36655 053274 254 04 0 00 053275 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36656 053275 324 00 0 00 053276 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36657 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36658 ;IN THE SUBTEST) TO LOOP ON ERROR^
36659
36660 ;**********
36661
36662 ;THIS TEST VERIFIES THAT SETAM PLACES C(AC) INTO E.
36663 ;IN THIS CASE, C(AC)=123456,,0 AND C(E)=-1,,-1. HENCE, THE
36664 ;RESULT IN E SHOULD BE 123456,,0
36665
36666 053276 515 11 0 00 123456 C60400: HRLZI 11,123456 ;PRELOAD AC WITH 123456,,0
36667 053277 474 12 0 00 000000 SETO 12, ;PRELOAD E WITH -1,,-1
36668 053300 426 11 0 00 000012 SETAM 11,12 ;SETAM SHOULD PLACE 123456,,0 INTO E
36669 053301 312 11 0 00 070377 CAME 11,[123456,,0] ;PASS IF C(AC) UNCHANGED
36670 STOP^
36671 053302 254 04 0 00 053303 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36672 053303 324 00 0 00 053304 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36673 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36674 ;IN THE SUBTEST) TO LOOP ON ERROR^
36675 053304 312 12 0 00 070377 CAME 12,[123456,,0] ;PASS IF C(E)=123456,,0
36676 STOP^
36677 053305 254 04 0 00 053306 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36678 053306 324 00 0 00 053307 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36679 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36680 ;IN THE SUBTEST) TO LOOP ON ERROR^
36681
36682 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 12
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0840
36683 ;THIS TEST VERIFIES THAT XORI PLACES THE LOGICAL EXCLUSIVE OR FUNCTION
36684 ;OF C(AC) AND THE WORD 0,,E INTO THE AC.
36685 ;IN THIS CASE, C(AC)=000777,,123456 AND E=0,,434431
36686 ;HENCE, THE RESULT IN THE AC SHOULD BE 000777,,517067.
36687
36688 053307 200 10 0 00 070665 C60500: MOVE 10,[777,,123456] ;PRELOAD AC WITH 000777,,123456
36689 053310 431 10 0 00 434431 XORI 10,434431 ;*XORI SHOULD PLACE 000777,,517067 INTO THE AC
36690 053311 312 10 0 00 070666 CAME 10,[777,,517067] ;PASS IF C(AC)=000777,,517067
36691 STOP^
36692 053312 254 04 0 00 053313 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36693 053313 324 00 0 00 053314 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36694 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36695 ;IN THE SUBTEST) TO LOOP ON ERROR^
36696
36697 ;**********
36698
36699 ;THIS TEST VERIFIES THAT XORB PLACES THE LOGICAL EXCLUSIVE OR FUNCTION
36700 ;OF C(AC) AND C(E) INTO BOTH AC AND E.
36701 ;IN THIS CASE, C(AC)=707077,,555666 AND C(E)=123456,,765432
36702 ;HENCE, THE RESULT IN BOTH AC AND E SHOULD BE 624421,,230254
36703
36704 053314 200 07 0 00 070667 C60600: MOVE 7,[707077,,555666] ;PRELOAD AC WITH 707077,,555666
36705 053315 200 10 0 00 070376 MOVE 10,[123456,,765432] ;PRELOAD E WITH 123456,,765432
36706 053316 433 07 0 00 000010 XORB 7,10 ;*XORB SHOULD PLACE 624421,,230254
36707 ;INTO BOTH AC AND E
36708 053317 312 07 0 00 070670 CAME 7,[624421,,230254] ;PASS IF C(AC)=624421,,230254
36709 STOP^
36710 053320 254 04 0 00 053321 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36711 053321 324 00 0 00 053322 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36712 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36713 ;IN THE SUBTEST) TO LOOP ON ERROR^
36714 053322 312 10 0 00 070670 CAME 10,[624421,,230254] ;PASS IF C(E)=624421,,230254
36715 STOP^
36716 053323 254 04 0 00 053324 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36717 053324 324 00 0 00 053325 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36718 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36719 ;IN THE SUBTEST) TO LOOP ON ERROR^
36720
36721 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 13
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0841
36722 ;THIS TEST VERIFIES THAT IORI PLACES THE INCLUSIVE OR FUNCTION
36723 ;OF C(AC) AND THE WORD 0,,E INTO THE AC.
36724 ;IN THIS CASE, C(AC)=707070,,123456 AND E=0,,765567
36725 ;HENCE, THE RESULT IN THE AC SHOULD BE 707070,,767577
36726
36727 053325 200 06 0 00 070671 C60700: MOVE 6,[707070,,123456] ;PRELOAD AC WITH 707070,,123456
36728 053326 435 06 0 00 765567 IORI 6,765567 ;*IORI SHOULD PLACE 707070,,767577 INTO THE AC
36729 053327 312 06 0 00 070672 CAME 6,[707070,,767577] ;PASS IF C(AC)=707070,,767577
36730 STOP^
36731 053330 254 04 0 00 053331 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36732 053331 324 00 0 00 053332 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36733 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36734 ;IN THE SUBTEST) TO LOOP ON ERROR^
36735
36736 ;**********
36737
36738 ;THIS TEST VERIFIES THAT IORM PLACES THE INCLUSIVE OR FUNCTION
36739 ;OF C(AC) AND C(E) INTO E.
36740 ;IN THIS CASE, C(AC)=123456,,777666 AND C(E)=777001,,123470
36741 ;HENCE, THE RESULT IN E SHOULD BE 777457,,777676
36742
36743 053332 200 05 0 00 070673 C61000: MOVE 5,[123456,,777666] ;PRELOAD AC WITH 123456,777666
36744 053333 200 06 0 00 070674 MOVE 6,[777001,,123470] ;PRELOAD E WITH 777001,,123470
36745 053334 436 05 0 00 000006 IORM 5,6 ;*IORM SHOULD PLACE
36746 ;777457,777676 INTO E
36747 053335 312 05 0 00 070673 CAME 5,[123456,,777666] ;PASS IF C(AC) UNMODIFIED
36748 STOP^
36749 053336 254 04 0 00 053337 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36750 053337 324 00 0 00 053340 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36751 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36752 ;IN THE SUBTEST) TO LOOP ON ERROR^
36753 053340 312 06 0 00 070675 CAME 6,[777457,,777676] ;PASS IF C(E)=777457,777676
36754 STOP^
36755 053341 254 04 0 00 053342 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36756 053342 324 00 0 00 053343 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36757 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36758 ;IN THE SUBTEST) TO LOOP ON ERROR^
36759
36760 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 14
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0842
36761 ;THIS TEST VERIFIES THAT IORB PLACES THE INCLUSIVE OR FUNCTION
36762 ;OF C(AC) AND C(E) INTO E.
36763 ;IN THIS CASE, C(AC)=123456,,777666 AND C(E)=777001,,123470
36764 ;HENCE, THE RESULT IN BOTH AC AND E SHOULD BE 777457,,777676
36765
36766 053343 200 05 0 00 070673 C61100: MOVE 5,[123456,,777666] ;PRELOAD AC WITH 123456,777666
36767 053344 200 06 0 00 070674 MOVE 6,[777001,,123470] ;PRELOAD E WITH 777001,,123470
36768 053345 437 05 0 00 000006 IORB 5,6 ;*IORB SHOULD PLACE
36769 ;777457,,777676 INTO
36770 053346 312 05 0 00 070675 CAME 5,[777457,,777676] ;PASS IF C(AC)=777457,,777676
36771 STOP^
36772 053347 254 04 0 00 053350 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36773 053350 324 00 0 00 053351 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36774 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36775 ;IN THE SUBTEST) TO LOOP ON ERROR^
36776 053351 312 06 0 00 070675 CAME 6,[777457,,777676] ;PASS IF C(E)=777457,,777676
36777 STOP^
36778 053352 254 04 0 00 053353 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36779 053353 324 00 0 00 053354 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36780 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36781 ;IN THE SUBTEST) TO LOOP ON ERROR^
36782
36783 ;**********
36784
36785 ;THIS TEST VERIFIES THAT ANDCBI PLACES THE LOGICAL AND FUNCTION
36786 ;OF THE COMPLEMENTS OF BOTH C(AC) AND THE WORD 0,,E INTO THE AC
36787 ;IN THIS CASE, C(AC)=777000,,123456 AND E=0,,706050.
36788 ;HENCE, THE RESULT IN THE AC SHOULD BE 000777,,050321.
36789
36790 053354 200 04 0 00 070676 C61200: MOVE 4,[777000,,123456] ;PRELOAD AC WITH 777000,,123456
36791 053355 441 04 0 00 706050 ANDCBI 4,706050 ;*ANDCBI SHOULD PLACE 000777,,050321
36792 ;INTO THE AC
36793 053356 312 04 0 00 070677 CAME 4,[777,,50321] ;PASS IF C(AC)=000777,,050321
36794 STOP^
36795 053357 254 04 0 00 053360 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36796 053360 324 00 0 00 053361 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36797 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36798 ;IN THE SUBTEST) TO LOOP ON ERROR^
36799
36800 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 15
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0843
36801 ;THIS TEST VERIFIES THAT ANDCBM PLACES THE LOGICAL AND FUNCTION
36802 ;OF THE COMPLEMENTS OF BOTH C(AC) AND C(E) INTO
36803 ;IN THE CASE, C(AC)=777007,,771100 AND C(E)=063202,,123477
36804 ;HENCE, THE RESULT IN E SHOULD BE 000570,,004200
36805
36806 053361 200 03 0 00 070700 C61300: MOVE 3,[777007,,771100] ;PRELOAD AC WITH 777007,,771100
36807 053362 200 04 0 00 070701 MOVE 4,[63202,,123477] ;PRELOAD E WITH 063202,,123477
36808 053363 442 03 0 00 000004 ANDCBM 3,4 ;*ANDCBM SHOULD PLACE
36809 ;000570,,004200 INTO E.
36810 053364 312 03 0 00 070700 CAME 3,[777007,,771100] ;PASS IF C(AC) IS UNCHANGED
36811 STOP^
36812 053365 254 04 0 00 053366 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36813 053366 324 00 0 00 053367 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36814 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36815 ;IN THE SUBTEST) TO LOOP ON ERROR^
36816 053367 312 04 0 00 070702 CAME 4,[570,,4200] ;PASS IF C(E)=000570,,004200
36817 STOP^
36818 053370 254 04 0 00 053371 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36819 053371 324 00 0 00 053372 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36820 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36821 ;IN THE SUBTEST) TO LOOP ON ERROR^
36822
36823 ;**********
36824
36825 ;THIS TEST VERIFIES THAT ANDCBB PLACES THE LOGICAL AND FUNCTION
36826 ;OF THE COMPLEMENTS OF BOTH C(AC) AND C(E) INTO BOTH AC AND E
36827 ;IN THIS CASE, C(AC)=777007,,771100 AND C(E)=063202,,123477
36828 ;HENCE, THE RESULT IN BOTH AC AND E SHOULD BE 000570,,004200
36829
36830 053372 200 03 0 00 070700 C61400: MOVE 3,[777007,,771100] ;PRELOAD WITH 777007,,771100
36831 053373 200 04 0 00 070701 MOVE 4,[63202,,123477] ;PRELOAD E WITH 063202,,123477
36832 053374 443 03 0 00 000004 ANDCBB 3,4 ;*ANDCBB SHOULD PLACE
36833 ;000570,,004200 INTO BOTH AC AND E
36834 053375 312 03 0 00 070702 CAME 3,[570,,4200] ;PASS IF C(AC)=000570,,004200
36835 STOP^
36836 053376 254 04 0 00 053377 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36837 053377 324 00 0 00 053400 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36838 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36839 ;IN THE SUBTEST) TO LOOP ON ERROR^
36840 053400 312 04 0 00 070702 CAME 4,[570,,4200] ;PASS IF C(E)=000570,,004200
36841 STOP^
36842 053401 254 04 0 00 053402 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36843 053402 324 00 0 00 053403 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36844 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36845 ;IN THE SUBTEST) TO LOOP ON ERROR^
36846
36847 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 16
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0844
36848 ;THIS TEST VERIFIES THAT EQVI PLACES THE LOGICAL EQUIVALENCE FUNCTION
36849 ;OF C(AC) AND THE WORD 0,,E INTO THE AC
36850 ;IN THIS CASE, C(AC)=707070,,123426 AND E=0,,123363
36851 ;HENCE, THE RESULT IN THE AC SHOULD BE 070707,,777032
36852
36853 053403 200 02 0 00 070703 C61500: MOVE 2,[707070,,123426] ;PRELOAD AC WITH 707070,,123426
36854 053404 445 02 0 00 123363 EQVI 2,123363 ;*EQVI SHOULD PLACE
36855 ;070707,,777032 INTO THE AC
36856 053405 312 02 0 00 070704 CAME 2,[70707,,777032] ;PASS IF C(AC)=070707,,777032
36857 STOP^
36858 053406 254 04 0 00 053407 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36859 053407 324 00 0 00 053410 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36860 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36861 ;IN THE SUBTEST) TO LOOP ON ERROR^
36862
36863 ;**********
36864
36865 ;THIS TEST VERIFIES THAT EQVM PLACES THE LOGICAL EQUIVALENCE FUNCTION
36866 ;OF C(AC) AND C(E) INTO E.
36867 ;IN THIS CASE, C(AC)= 123456,,123457 AND C(E) = 707633,,121212
36868 ;HENCE, THE RESULT IN E SHOULD BE 153512,,775132
36869
36870 053410 200 01 0 00 070705 C61600: MOVE 1,[123456,,123457] ;PRELOAD AC WITH 123456,,123457
36871 053411 200 02 0 00 070706 MOVE 2,[707633,,121212] ;PRELOAD AC WITH 707633,,121212
36872 053412 446 01 0 00 000002 EQVM 1,2 ;*EQVM SHOULD PLACE 153512,,775132 INTO E.
36873 053413 312 01 0 00 070705 CAME 1,[123456,,123457] ;PASS IF C(AC) UNCHANGED
36874 STOP^
36875 053414 254 04 0 00 053415 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36876 053415 324 00 0 00 053416 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36877 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36878 ;IN THE SUBTEST) TO LOOP ON ERROR^
36879 053416 312 02 0 00 070707 CAME 2,[153512,,775132];PASS IF C(E) = 153512,,775132
36880 STOP^
36881 053417 254 04 0 00 053420 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36882 053420 324 00 0 00 053421 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36883 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36884 ;IN THE SUBTEST) TO LOOP ON ERROR^
36885
36886 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 17
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0845
36887 ;THIS TEST VERIFIES THAT EQVB PLACES THE LOGICAL EQUIVALENCE FUNCTION
36888 ;OF C(AC)AND C(E) INTO BOTH AC AND E.
36889 ;IN THIS CASE, C(AC) = 123456,,123457 AND C(E) = 707633,,121212
36890 ;HENSE, THE RSULT IN BOTH AC AND E SHOULD BE 153512,,775132
36891
36892 053421 200 01 0 00 070705 C61700: MOVE 1,[123456,,123457] ;PRELOAD AC WITH 123456,,12345
36893 053422 200 02 0 00 070706 MOVE 2,[707633,,121212] ;PRELOAD AC WITH 707633,,121212
36894 053423 447 01 0 00 000002 EQVB 1,2 ;*EQVB SHOULD PLACE 153512,,775132
36895 ;INTO BOTHE AC AND E.
36896 053424 312 01 0 00 070707 CAME 1,[153512,,775132] ;PASS IC C(AC)=153512,,775132
36897 STOP^
36898 053425 254 04 0 00 053426 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36899 053426 324 00 0 00 053427 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36900 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36901 ;IN THE SUBTEST) TO LOOP ON ERROR^
36902 053427 312 02 0 00 070707 CAME 2,[153512,,775132] ;PASS IF C(E)=153512,,775132
36903 STOP^
36904 053430 254 04 0 00 053431 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36905 053431 324 00 0 00 053432 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36906 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36907 ;IN THE SUBTEST) TO LOOP ON ERROR^
36908
36909 ;**********
36910
36911 ;THIS TEST VERIFIES THAT SETCAI PLACES THE COMPLEMENT OF C(AC)
36912 ;INTO THE AC.
36913 ;IN THIS CASE, C(AC)=777000,,123456 AND E=0,,707070
36914 ;HENCE, THE RESULT IN THE AC SHOULD BE 000777,,654321
36915
36916 053432 200 00 0 00 070676 C62000: MOVE 0,[777000,,123456] ;PRELOAD AC WITH 777000,,123456
36917 053433 451 00 0 00 707070 SETCAI 0,707070 ;*SETCAI SHOULD PLACE 000777,,654321
36918 ;INTO THE AC
36919 053434 312 00 0 00 070710 CAME 0,[777,,654321] ;PASS IF C(AC)=000777,,654321
36920 STOP^
36921 053435 254 04 0 00 053436 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36922 053436 324 00 0 00 053437 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36923 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36924 ;IN THE SUBTEST) TO LOOP ON ERROR^
36925
36926 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 18
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0846
36927 ;THIS TEST VERIFIES THAT SETCAM PLACES THE COMPLEMENT OF C(AC)
36928 ;INTO E.
36929 ;IN THIS CASE, C(AC)=123456,,765432 AND C(E)=-1,,-1.
36930 ;HENCE, THE RESULT IN E SHOULD BE 654321,,012345
36931
36932 053437 200 17 0 00 070376 C62100: MOVE 17,[123456,,765432] ;PRELOAD AC WITH 123456,,765432
36933 053440 474 00 0 00 000000 SETO 0, ;PRELOAD E WITH -1,,-1
36934 053441 452 17 0 00 000000 SETCAM 17,0 ;*SETCAM SHOULD PLACE
36935 ;654321,,012345 INTO E
36936 053442 312 17 0 00 070376 CAME 17,[123456,,765432] ;PASS IF C(AC) IS UNCHANGED
36937 STOP^
36938 053443 254 04 0 00 053444 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36939 053444 324 00 0 00 053445 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36940 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36941 ;IN THE SUBTEST) TO LOOP ON ERROR^
36942 053445 312 00 0 00 070711 CAME 0,[654321,,12345] ;PASS IF C(E)=654321,,012345
36943 STOP^
36944 053446 254 04 0 00 053447 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36945 053447 324 00 0 00 053450 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36946 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36947 ;IN THE SUBTEST) TO LOOP ON ERROR^
36948
36949 ;**********
36950
36951 ;THIS TEST VERIFIES THAT SETCAB PLACES THE COMPLEMENT OF C(AC)
36952 ;INTO BOTH AC AND E.
36953 ;IN THIS CASE, C(AC)=123456,,765432 AND C(E)=-1,,-1.
36954 ;HENCE, THE RESULT IN BOTH AC AND E SHOULD BE 654321,,012345
36955
36956 053450 200 17 0 00 070376 C62200: MOVE 17,[123456,,765432] ;PRELOAD AC WITH 123456,,76543
36957 053451 474 00 0 00 000000 SETO 0, ;PRELOAD E WITH -1,,-1
36958 053452 453 17 0 00 000000 SETCAB 17,0 ;*SETCAB SHOULD PLACE
36959 ;654321,,012345 INTO BOTH AC AND E
36960 053453 312 17 0 00 070711 CAME 17,[654321,,12345] ;PASS IF C(AC)=654321,,012345
36961 STOP^
36962 053454 254 04 0 00 053455 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36963 053455 324 00 0 00 053456 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36964 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36965 ;IN THE SUBTEST) TO LOOP ON ERROR^
36966 053456 312 00 0 00 070711 CAME 0,[654321,,12345] ;PASS IF C(E)=654321,,012345
36967 STOP^
36968 053457 254 04 0 00 053460 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36969 053460 324 00 0 00 053461 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36970 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36971 ;IN THE SUBTEST) TO LOOP ON ERROR^
36972
36973 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 19
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0847
36974 ;THIS TEST VERIFIES THAT ORCAI PLACES THE INCLUSIVE OR FUNCTION
36975 ;OF THE WORD 0,,E AND THE COMPLEMENT OF C(AC) INTO THE AC.
36976 ;IN THIS CASE, C(AC)=777000,,123477 AND E=0,,765401
36977 ;HENCE, THE RESULT IN THE AC SHOULD BE 000777,,775701
36978
36979 053461 200 16 0 00 070712 C62300: MOVE 16,[777000,,123477] ;PRELOAD AC WITH 777000,,123477
36980 053462 455 16 0 00 765401 ORCAI 16,765401 ;*ORCAI SHOULD PLACE 000777,,767477
36981 ;INTO THE AC
36982 053463 312 16 0 00 070713 CAME 16,[777,,775701] ;PASS IF C(AC)=000777,,775701
36983 STOP^
36984 053464 254 04 0 00 053465 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
36985 053465 324 00 0 00 053466 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
36986 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
36987 ;IN THE SUBTEST) TO LOOP ON ERROR^
36988
36989 ;**********
36990
36991 ;THIS TEST VERIFIES THAT ORCAM PLACES THE INCLUSIVE OR FUNCTION
36992 ;OF C(E) AND THE COMPLEMENT OF C(AC) INTO
36993 ;IN THIS CASE, C(AC)=777000,,123477 AND C(E)=707070,,707072
36994 ;HENCE, THE RESULT IN E SHOULD BE 707777,,757372
36995
36996 053466 200 15 0 00 070712 C62400: MOVE 15,[777000,,123477] ;PRELOAD AC WITH 777000,,123477
36997 053467 200 16 0 00 070714 MOVE 16,[707070,,707072] ;PRELOAD E WITH 707070,,707072
36998 053470 456 15 0 00 000016 ORCAM 15,16 ;*ORCAM SHOULD PLACE 707777,,757372
36999 ;INTO E
37000 053471 312 15 0 00 070712 CAME 15,[777000,,123477] ;PASS IF C(AC) IS UNCHANGED
37001 STOP^
37002 053472 254 04 0 00 053473 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37003 053473 324 00 0 00 053474 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37004 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37005 ;IN THE SUBTEST) TO LOOP ON ERROR^
37006 053474 312 16 0 00 070715 CAME 16,[707777,,757372] ;PASS IF C(E)=707777,,757372
37007 STOP^
37008 053475 254 04 0 00 053476 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37009 053476 324 00 0 00 053477 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37010 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37011 ;IN THE SUBTEST) TO LOOP ON ERROR^
37012
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 20
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0848
37013 ;**********
37014 ;THIS TEST VERIFIES THAT ORCAB PLACES THE INCLUSIVE OR FUNCTION
37015 ;OF C(E) AND THE COMPLEMENT OF C(AC) INTO BOTH AC AND E.
37016 ;IN THIS CASE, C(AC)=777000,,123477 AND C(E)=707070,,707072
37017 ;HENCE, THE RESULT IN BOTH AC AND E SHOULD BE 707777,,757372
37018
37019 053477 200 15 0 00 070712 C62500: MOVE 15,[777000,,123477] ;PRELOAD AC WITH 777000,,123477
37020 053500 200 16 0 00 070714 MOVE 16,[707070,,707072] ;PRELOAD E WITH 707070,,707072
37021 053501 457 15 0 00 000016 ORCAB 15,16 ;*ORCAB SHOULD PLACE 707777,,757372
37022 ;INTO BOTHE AC AND E
37023 053502 312 15 0 00 070715 CAME 15,[707777,,757372] ;PASS IF C(AC)=707777,,757372
37024 STOP^
37025 053503 254 04 0 00 053504 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37026 053504 324 00 0 00 053505 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37027 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37028 ;IN THE SUBTEST) TO LOOP ON ERROR^
37029 053505 312 16 0 00 070715 CAME 16,[707777,,757372] ;PASS IF C(E)=707777,,757372
37030 STOP^
37031 053506 254 04 0 00 053507 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37032 053507 324 00 0 00 053510 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37033 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37034 ;IN THE SUBTEST) TO LOOP ON ERROR^
37035
37036 ;**********
37037
37038 ;THIS TEST VERIFIES THAT SETCMI PLACES THE COMPLEMENT OF THE
37039 ;WORD 0,,E INTO THE AC
37040 ;IN THIS CASE, C(AC)=777000,,123456 AND E=0,,707070
37041 ;HENCE, THE RESULT IN THE AC SHOULD BE -1,,070707
37042
37043 053510 200 00 0 00 070676 C62600: MOVE 0,[777000,,123456] ;PRELOAD AC WITH 777000,,123456
37044 053511 461 00 0 00 707070 SETCMI 0,707070 ;*SETCMI SHOULD PLACE -1,,070707
37045 ;INTO THE AC
37046 053512 312 00 0 00 070716 CAME 0,[-1,,070707] ;PASS IF C(AC)=-1,,070707
37047 STOP^
37048 053513 254 04 0 00 053514 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37049 053514 324 00 0 00 053515 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37050 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37051 ;IN THE SUBTEST) TO LOOP ON ERROR^
37052
37053 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 21
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0849
37054 ;THIS TEST VERIFIES THAT SETCMM PLACES THE COMPLEMENT OF C(E)
37055 ;INTO E.
37056 ;IN THIS CASE, C(E)=123456,,765432 AND C(AC)=-1,,-1.
37057 ;HENCE, THE RESULT IN E SHOULD BE 654321,,012345
37058
37059 053515 200 17 0 00 070376 C62700: MOVE 17,[123456,,765432] ;PRELOAD E WITH 123456,,76543
37060 053516 474 00 0 00 000000 SETO 0, ;PRELOAD AC WITH -1,,-1
37061 053517 462 00 0 00 000017 SETCMM 0,17 ;*SETCMM SHOULD PLACE
37062 ;654321,012345 INTO E
37063 053520 312 00 0 00 070254 CAME 0,[-1] ;PASS IF C(AC) UNCHANGED
37064 STOP^
37065 053521 254 04 0 00 053522 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37066 053522 324 00 0 00 053523 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37067 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37068 ;IN THE SUBTEST) TO LOOP ON ERROR^
37069 053523 312 17 0 00 070711 CAME 17,[654321,,12345] ;PASS IF C(E)=654321,,012345
37070 STOP^
37071 053524 254 04 0 00 053525 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37072 053525 324 00 0 00 053526 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37073 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37074 ;IN THE SUBTEST) TO LOOP ON ERROR^
37075
37076 ;**********
37077
37078 ;THIS TEST VERIFIES THAT SETCMB PLACES THE COMPLEMENT OF C(E)
37079 ;INTO BOTH AC AND E.
37080 ;IN THIS CASE, C(E)=123456,,765432 AND C(AC)=-1,,-1.
37081 ;HENCE, THE RESULT IN BOTH AC AND E SHOULD BE 654321,,012345
37082
37083 053526 200 17 0 00 070376 C63000: MOVE 17,[123456,,765432] ;PRELOAD E WITH 123456,,76543
37084 053527 474 00 0 00 000000 SETO 0, ;PRELOAD AC WITH -1,,-1
37085 053530 463 00 0 00 000017 SETCMB 0,17 ;*SETCMB SHOULD PLACE
37086 ;654321,,012345 INTO BOTH AC AND E
37087 053531 312 00 0 00 070711 CAME 0,[654321,,12345] ;PASS IF C(AC)=654321,,012345
37088 STOP^
37089 053532 254 04 0 00 053533 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37090 053533 324 00 0 00 053534 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37091 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37092 ;IN THE SUBTEST) TO LOOP ON ERROR^
37093 053534 312 17 0 00 070711 CAME 17,[654321,,12345] ;PASS IF C(E)=654321,,012345
37094 STOP^
37095 053535 254 04 0 00 053536 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37096 053536 324 00 0 00 053537 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37097 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37098 ;IN THE SUBTEST) TO LOOP ON ERROR^
37099
37100 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 22
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0850
37101 ;THIS TEST VERIFIES THAT ORCMI PLACES THE INCLUSIVE OR FUNCTION
37102 ;OF C(AC) AND THE COMPLEMENT OF THE WORD 0,,E INTO THE AC.
37103 ;IN THIS CASE, C(AC)=777000,,123477 AND E=0,,765401
37104 ;HENCE, THE RESULT IN THE AC SHOULD BE -1,,133777
37105
37106 053537 200 16 0 00 070712 C63100: MOVE 16,[777000,,123477] ;PRELOAD AC WITH 777000,,123477
37107 053540 465 16 0 00 765401 ORCMI 16,765401 ;*ORCMI SHOULD PLACE -1,,133777
37108 ;INTO THE AC
37109 053541 312 16 0 00 070717 CAME 16,[-1,,133777] ;PASS IF C(AC)=-1,,133777
37110 STOP^
37111 053542 254 04 0 00 053543 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37112 053543 324 00 0 00 053544 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37113 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37114 ;IN THE SUBTEST) TO LOOP ON ERROR^
37115
37116 ;**********
37117
37118 ;THIS TEST VERIFIES THAT ORCMM PLACES THE INCLUSIVE OR FUNCTION
37119 ;OF C(AC) AND THE COMPLEMENT OC C(E) INTO
37120 ;IN THIS CASE, C(E)=777000,,123477 AND C (AC)=707070,,707072
37121 ;HENCE, THE RESULT IN E SHOULD BE 707777,,757372
37122
37123 053544 200 15 0 00 070712 C63200: MOVE 15,[777000,,123477] ;PRELOAD E WITH 777000,,123477
37124 053545 200 16 0 00 070714 MOVE 16,[707070,,707072] ;PRELOAD AC WITH 707070,,707072
37125 053546 466 16 0 00 000015 ORCMM 16,15 ;*ORCMM SHOULD PLACE 707777,,757372
37126 ;INTO E
37127 053547 312 16 0 00 070714 CAME 16,[707070,,707072] ;PASS IF C(AC) IS UNCHANGED
37128 STOP^
37129 053550 254 04 0 00 053551 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37130 053551 324 00 0 00 053552 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37131 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37132 ;IN THE SUBTEST) TO LOOP ON ERROR^
37133 053552 312 15 0 00 070715 CAME 15,[707777,,757372] ;PASS IF C(E)=707777,,757372
37134 STOP^
37135 053553 254 04 0 00 053554 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37136 053554 324 00 0 00 053555 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37137 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37138 ;IN THE SUBTEST) TO LOOP ON ERROR^
37139
37140 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 23
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0851
37141 ;THIS TEST VERIFIES THAT ORCMB PLACES THE INCLUSIVE OR FUNCTION
37142 ;OF C(AC) AND THE COMPLEMENT OF C(E) INTO BOTH AC AND E.
37143 ;IN THIS CASE, C(E)=777000,,123477 AND C(AC)=707070,,707072
37144 ;HENCE, THE RESULT IN BOTH AC AND E SHOULD BE 707777,,757372
37145
37146 053555 200 15 0 00 070712 C63300: MOVE 15,[777000,,123477] ;PRELOAD E WITH 777000,,123477
37147 053556 200 16 0 00 070714 MOVE 16,[707070,,707072] ;PRELOAD AC WITH 707070,,707072
37148 053557 467 16 0 00 000015 ORCMB 16,15 ;*ORCMB SHOULD PLACE 707777,,757372
37149 ;INTO BOTH AC AND E
37150 053560 312 16 0 00 070715 CAME 16,[707777,,757372] ;PASS IF C(AC)=707777,,757372
37151 STOP^
37152 053561 254 04 0 00 053562 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37153 053562 324 00 0 00 053563 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37154 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37155 ;IN THE SUBTEST) TO LOOP ON ERROR^
37156 053563 312 15 0 00 070715 CAME 15,[707777,,757372] ;PASS OF C(E)=707777,,757372
37157 STOP^
37158 053564 254 04 0 00 053565 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37159 053565 324 00 0 00 053566 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37160 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37161 ;IN THE SUBTEST) TO LOOP ON ERROR^
37162
37163 ;**********
37164
37165 ;THIS TEST VERIFIES THAT ORCBI PLACES THE LOGICAL INCLUSIVE OR
37166 ;FUNCTION OF THE COMPLEMENTS OF BOTH C(AC) AND THE WORD 0,,E INTO THE AC.
37167 ;IN THIS CASE, C(AC)=707070,,070706 AND E=0,,770011.
37168 ;HENCE, THE RESULT IN THE AC SHOULD BE -1,,707777
37169
37170 053566 200 15 0 00 070720 C63400: MOVE 15,[707070,,070706] ;PRELOAD AC WITH 707070,,070706
37171 053567 471 15 0 00 770011 ORCBI 15,770011 ;*ORCBI SHOULD PLACE -1,,707777 INTO THE AC
37172 053570 312 15 0 00 070721 CAME 15,[-1,,707777] ;PASS IF C(AC)=-1,707777
37173 STOP^
37174 053571 254 04 0 00 053572 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37175 053572 324 00 0 00 053573 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37176 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37177 ;IN THE SUBTEST) TO LOOP ON ERROR^
37178
37179 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 24
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL BOOLEAN INSTRUCTIONS SEQ 0852
37180 ;THIS TEST VERIFIES THAT ORCBM PLACES THE LOGICAL INCLUSIVE OR
37181 ;FUNCTION OF THE COMPLEMENTS OF BOTH C(AC) AND C(E) INTO
37182 ;IN THIS CASE, C(AC)=123456,,770077 AND C(E)=777001,,123324
37183 ;HENCE, THE RESULT IN E SHOULD BE 654777,,657753
37184
37185 053573 200 14 0 00 070722 C63500: MOVE 14,[123456,,770077] ;PRELOAD AC WITH 123456,,770077
37186 053574 200 15 0 00 070723 MOVE 15,[777001,,123324] ;PRELOAD E WITH 777001,,123324
37187 053575 472 14 0 00 000015 ORCBM 14,15 ;*ORCBM SHOULD PLACE 654777,,657753
37188 ;INTO E
37189 053576 312 14 0 00 070722 CAME 14,[123456,,770077] ;PASS IF C(AC) IS UNCHANGED
37190 STOP^
37191 053577 254 04 0 00 053600 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37192 053600 324 00 0 00 053601 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37193 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37194 ;IN THE SUBTEST) TO LOOP ON ERROR^
37195 053601 312 15 0 00 070724 CAME 15,[654777,,657753] ;PASS IF C(E)=654777,,657753
37196 STOP^
37197 053602 254 04 0 00 053603 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37198 053603 324 00 0 00 053604 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37199 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37200 ;IN THE SUBTEST) TO LOOP ON ERROR^
37201
37202 ;**********
37203
37204 ;THIS TEST VERIFIES THAT ORCBB PLACES THE LOGICAL INCLUSIVE OR
37205 ;FUNCTIONOF THE COMPLEMENTS OF BOTH C(AC) AND C(E) INTO BOTH AC AND E
37206 ;IN THIS CASE, C(AC)=123456,,770077 AND C(E)=777001,,657753
37207
37208 053604 200 14 0 00 070722 C63600: MOVE 14,[123456,,770077] ;PRELOAD AC WITH 123456,,770077
37209 053605 200 15 0 00 070723 MOVE 15,[777001,,123324] ;PRELOAD E WITH 777001,,123324
37210 053606 473 14 0 00 000015 ORCBB 14,15 ;*ORCBB SHOULD PLACE 654777,,657753
37211 ;INTO BOTH AC AND E
37212 053607 312 14 0 00 070724 CAME 14,[654777,,657753] ;PASS IF C(AC)=654777,,657753
37213 STOP^
37214 053610 254 04 0 00 053611 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37215 053611 324 00 0 00 053612 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37216 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37217 ;IN THE SUBTEST) TO LOOP ON ERROR^
37218 053612 312 15 0 00 070724 CAME 15,[654777,,657753] ;PASS IF C(E)=654777,,657753
37219 STOP^
37220 053613 254 04 0 00 053614 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37221 053614 324 00 0 00 053615 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37222 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37223 ;IN THE SUBTEST) TO LOOP ON ERROR^
37224
37225 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 25
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL HWT INSTRUCTIONS SEQ 0853
37226 SUBTTL TEST OF MSCL HWT INSTRUCTIONS
37227
37228 ;**********
37229
37230 ;THIS TEST VERIFIES THAT HLLI CLEARS AC LEFT
37231 ;IN THIS CASE, C(AC)=707070,,123456 AND E=777000
37232 ;HENCE, THE RESULT IN THE AC SHOULD BE 0,,123456
37233
37234 053615 200 17 0 00 070671 C63700: MOVE 17,[707070,,123456] ;PRELOAD AC WITH 707070,,123456
37235 053616 501 17 0 00 777000 HLLI 17,777000 ;*HLLI SHOULD PLACE 0,,123456 INTO THHE AC
37236 053617 302 17 0 00 123456 CAIE 17,123456 ;PASS IF C(AC)=0,,123456
37237 STOP^
37238 053620 254 04 0 00 053621 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37239 053621 324 00 0 00 053622 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37240 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37241 ;IN THE SUBTEST) TO LOOP ON ERROR^
37242
37243 ;**********
37244
37245 ;THIS TEST VERIFIES THAT HLLS PLACES C(E) INTO THE AC IF AC IS NON-ZERO
37246 ;AND IS A NO-OP IF AC=0
37247 ;IN THIS CASE, AC=0, C(AC)=-1,,-1 AND C(E)=123456,,765432
37248 ;HENCE, THE RESULTS IN AC AND E SHOULD BE -1,,-1
37249 ;AND 123456,,765432 RESPECTIVELY
37250
37251 053622 474 00 0 00 000000 C64000: SETO 0 ;PRELOAD AC WITH -1,,-1
37252 053623 200 02 0 00 070376 MOVE 2,[123456,,765432] ;PRELOAD E WITH 123456,,765432
37253 053624 503 00 0 00 000002 HLLS 0,2 ;*HLLS SHOULD NOT AFFECT AC OR E
37254 053625 312 00 0 00 070254 CAME 0,[-1] ;PASS IF C(AC) UNCHANGED
37255 STOP^
37256 053626 254 04 0 00 053627 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37257 053627 324 00 0 00 053630 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37258 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37259 ;IN THE SUBTEST) TO LOOP ON ERROR^
37260 053630 312 02 0 00 070376 CAME 2,[123456,,765432] ;PASS IF C(C) IS UNCHANGED
37261 STOP^
37262 053631 254 04 0 00 053632 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37263 053632 324 00 0 00 053633 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37264 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37265 ;IN THE SUBTEST) TO LOOP ON ERROR^
37266
37267 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 26
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL HWT INSTRUCTIONS SEQ 0854
37268 ;THIS TEST VERIFIES THAT HLLS PLACES C(E) INTO THE AC IF AC IS NON-ZERO?
37269 ;AND IS A NO-OP IF AC=0
37270 ;IN THIS CASE, AC=1, C(AC)=1,,-1 AND C(E)=123456,,765432
37271 ;HENCE, THE RESULTS IN AC AND E WHOULD BE 123456,,765432
37272 ;AND 123456,,765432 RESPECTVIELY
37273
37274 053633 474 01 0 00 000000 C64010: SETO 1, ;PRELOAD AC WITH -1,,-1
37275 053634 200 02 0 00 070376 MOVE 2,[123456,,765432] ;PRELOAD E WITH 123456,,765432
37276 053635 503 01 0 00 000002 HLLS 1,2 ;*HLLS SHOULD PLACE 123456,,765432 INTO THE AC
37277 053636 312 01 0 00 070376 CAME 1,[123456,,765432] ;PASS IF C(AC)=123456,,765432
37278 STOP^
37279 053637 254 04 0 00 053640 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37280 053640 324 00 0 00 053641 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37281 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37282 ;IN THE SUBTEST) TO LOOP ON ERROR^
37283 053641 312 02 0 00 070376 CAME 2,[123456,,765432] ;PASS IF C(C) IS UNCHANGED
37284 STOP^
37285 053642 254 04 0 00 053643 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37286 053643 324 00 0 00 053644 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37287 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37288 ;IN THE SUBTEST) TO LOOP ON ERROR^
37289
37290 ;**********
37291
37292 ;THIS TEST VERIFIES THAT HRLS PLACES C(E-RIGHT) INTO E-LEFT, BUT
37293 ;DOES NOT AFFECT E-RIGHT. IF AC IS NON-ZERO, THE RESULT IN E
37294 ;IS ALSO PLACED INTO THE AC.
37295 ;IN THIS CASE, AC=0, C(AC)=1,,-1 AND C(E)=123456,707070
37296 ;HENCE, THE RESULTS IN AC AND E RESPECTIVELY SHOULD BE -1,,-1
37297 ;AND 707070,,707070.
37298
37299 053644 474 00 0 00 000000 C64100: SETO 0, ;PRELOAD AC WITH -1,,-1
37300 053645 200 03 0 00 070725 MOVE 3,[123456,,707070] ;PRELOAD E WITH 123456,,707070
37301 053646 507 00 0 00 000003 HRLS 0,3 ;*HRLS SHOULD PLACE 707070,,707070
37302 ;INTO E.
37303 053647 312 00 0 00 070254 CAME 0,[-1] ;PASS IF C(AC) UNCHANGED
37304 STOP^
37305 053650 254 04 0 00 053651 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37306 053651 324 00 0 00 053652 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37307 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37308 ;IN THE SUBTEST) TO LOOP ON ERROR^
37309 053652 312 03 0 00 070332 CAME 3,[707070,,707070] ;PASS IF C(E)=707070,,707070
37310 STOP^
37311 053653 254 04 0 00 053654 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37312 053654 324 00 0 00 053655 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37313 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37314 ;IN THE SUBTEST) TO LOOP ON ERROR^
37315
37316 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL HWT INSTRUCTIONS SEQ 0855
37317 ;THIS TEST VERIFIES THAT HRLS PLACES C(E-RIGHT) INTO E-LEFT, BUT
37318 ;DOES NOT AFFECT E-RIGHT. IF AC IS NON-ZERO, THE RESULT IN E
37319 ;IS ALSO PLACED INTO THE AC.
37320 ;IN THIS CASE, AC=1, C(AC)=-1,,-1 AND C(E)=123456,,707070
37321 ;HENCE, THE RESULTS IN AC AND E RESPECTIVELY SHOULD BE 707070,,707070
37322 ;AND 707070,,707070.
37323
37324 053655 474 01 0 00 000000 C64110: SETO 1, ;PRELOAD AC WITH -1,,-1
37325 053656 200 03 0 00 070725 MOVE 3,[123456,,707070] ;PRELOAD E WITH 123456,,707070
37326 053657 507 01 0 00 000003 HRLS 1,3 ;*HRLS SHOULD PLACE 707070,,707070
37327 ;INTO BOTH AC AND E.
37328 053660 312 01 0 00 070332 CAME 1,[707070,,707070] ;PASS IF C(AC)=707070,,707070
37329 STOP^
37330 053661 254 04 0 00 053662 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37331 053662 324 00 0 00 053663 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37332 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37333 ;IN THE SUBTEST) TO LOOP ON ERROR^
37334 053663 312 03 0 00 070332 CAME 3,[707070,,707070] ;PASS IF C(E)=707070,,707070
37335 STOP^
37336 053664 254 04 0 00 053665 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37337 053665 324 00 0 00 053666 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37338 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37339 ;IN THE SUBTEST) TO LOOP ON ERROR^
37340
37341 ;**********
37342
37343 ;THIS TEST VERIFIES THAN HLLZM PLACES C(AC-LEFT) INTO E-LEFT AND
37344 ;PLACES 0 INTO E-RIGHT
37345 ;IN THIS CASE, C(AC)=123456,,123422 AND C(E)=707070,717171
37346 ;HENCE, THE RESULT IN E SHOULD BE 123456,,0
37347
37348 053666 200 01 0 00 070726 C64200: MOVE 1,[123456,,123422] ;PRELOAD AC WITH 123456,,123422
37349 053667 200 02 0 00 070727 MOVE 2,[707070,,717171] ;PRELOAD AC WITH 707070,,717171
37350 053670 512 01 0 00 000002 HLLZM 1,2 ;*HLLZM SHOULD PLACE 123456,,0 INTO E
37351 053671 312 01 0 00 070726 CAME 1,[123456,,123422] ;PASS IF C(AC) UNCHANGED
37352 STOP^
37353 053672 254 04 0 00 053673 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37354 053673 324 00 0 00 053674 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37355 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37356 ;IN THE SUBTEST) TO LOOP ON ERROR^
37357 053674 312 02 0 00 070377 CAME 2,[123456,,0] ;PASS IF C(E)=123456,,0
37358 STOP^
37359 053675 254 04 0 00 053676 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37360 053676 324 00 0 00 053677 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37361 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37362 ;IN THE SUBTEST) TO LOOP ON ERROR^
37363
37364 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 28
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL HWT INSTRUCTIONS SEQ 0856
37365 ;THIS TEST VERIFIES THAT HLLZS CLEARS THE RIGHT HALF OF E, BUT DOESN'T
37366 ;AFFECT THE LEFT HALF OF E. IF AC IS NON-ZERO, THE RESULT IN E IS
37367 ;ALSO PLACED INTO THE AC.
37368 ;IN THIS CASE, AC=0, C(AC)=-1,,-1 AND C(E)=123456,,707070
37369 ;HENCE, THE RESULTS IN AC AND E SHOULD BE -1,,-1
37370 ;AND 123456,,0 RESPECTIVELY
37371
37372 053677 474 00 0 00 000000 C64300: SETO 0, ;PRELOAD AC WITH -1,,-1
37373 053700 200 17 0 00 070725 MOVE 17,[123456,,707070] ;PRELOAD E WITH 123456,,707070
37374 053701 513 00 0 00 000017 HLLZS 0,17 ;*HLLZS SHOULD PLACE 123456,,0 INTO E.
37375 053702 312 00 0 00 070254 CAME 0,[-1] ;PASS IF C(AC) UNCHANGED
37376 STOP^
37377 053703 254 04 0 00 053704 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37378 053704 324 00 0 00 053705 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37379 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37380 ;IN THE SUBTEST) TO LOOP ON ERROR^
37381 053705 312 17 0 00 070377 CAME 17,[123456,,0] ;PASS IF C(E)=123456,,0
37382 STOP^
37383 053706 254 04 0 00 053707 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37384 053707 324 00 0 00 053710 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37385 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37386 ;IN THE SUBTEST) TO LOOP ON ERROR^
37387
37388
37389 ;**********
37390
37391 ;THIS TEST VERIFIES THAT HLLZS CLEARS THE RIGHT HALF OF E, BUT DOESN'T
37392 ;AFFECT THE LEFT HALF OF E. IF AC IS NON-ZERO, THE RESULT IN E IS
37393 ;ALSO PLACED INTO THE AC.
37394 ;IN THIS CASE, AC=1, C(AC)=-1,,-1 AND C(E)=123456,,707070
37395 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 123456,,0
37396 ;AND 123456,,0 RESPECTIVELY.
37397
37398 053710 474 01 0 00 000000 C64310: SETO 1, ;PRELOAD AC WITH -1,,-1
37399 053711 200 17 0 00 070725 MOVE 17,[123456,,707070] ;PRELOAD E WITH 123456,,707070
37400 053712 513 01 0 00 000017 HLLZS 1,17 ;*HLLZS SHOULD PLACE 123456,,0 INTO
37401 ;BOTH AC AND E
37402 053713 312 01 0 00 070377 CAME 1,[123456,,0] ;PASS IF C(AC)=123456,,0
37403 STOP^
37404 053714 254 04 0 00 053715 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37405 053715 324 00 0 00 053716 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37406 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37407 ;IN THE SUBTEST) TO LOOP ON ERROR^
37408 053716 312 17 0 00 070377 CAME 17,[123456,,0] ;PASS IF C(E)=123456,,0
37409 STOP^
37410 053717 254 04 0 00 053720 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37411 053720 324 00 0 00 053721 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37412 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37413 ;IN THE SUBTEST) TO LOOP ON ERROR^
37414
37415 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL HWT INSTRUCTIONS SEQ 0857
37416 ;THIS TEST VERIFIES THAT HRLZM PLACES C(AC-RIGHT) INTO E-LEFT AND
37417 ;PLACES O INTO E-RIGHT.
37418 ;IN THIS CASE, C(AC)=123456,,123422 AND C(E)=707070,,717171
37419 ;HENCE, THE RESULT IN E SHOULD BE 123422,,0
37420
37421 053721 200 01 0 00 070726 C64400: MOVE 1,[123456,,123422] ;PRELOAD AC WITH 123456,,123422
37422 053722 200 02 0 00 070727 MOVE 2,[707070,,717171] ;PRELOAD AC WITH 707070,,717171
37423 053723 516 01 0 00 000002 HRLZM 1,2 ;*HRLZM SHOULD PLACE 123422,,0 INTO E
37424 053724 312 01 0 00 070726 CAME 1,[123456,,123422] ;PASS IF C(AC) UNCHANGED
37425 STOP^
37426 053725 254 04 0 00 053726 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37427 053726 324 00 0 00 053727 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37428 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37429 ;IN THE SUBTEST) TO LOOP ON ERROR^
37430 053727 312 02 0 00 070730 CAME 2,[123422,,0] ;PASS IF C(E)=123422,,0
37431 STOP^
37432 053730 254 04 0 00 053731 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37433 053731 324 00 0 00 053732 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37434 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37435 ;IN THE SUBTEST) TO LOOP ON ERROR^
37436
37437 ;**********
37438
37439 ;THIS TEST VERIFIES THAT HRLZS PLACES C(E-RIGHT) INTO E-LEFT AND
37440 ;CLEARS E-RIGHT. IF AC IS NON-ZERO, THE RESULT IN E IS ALSO
37441 ;PLACED INTO THE AC.
37442 ;IN THIS CASE, AC=0, C(AC)=-1,,-1 AND C(E)=123456,,707076
37443 ;HENCE, THE RESULTS IN AC AND E RESPECTIVELY SHOULD BE -1,,-1
37444 ;AND 707076,,0
37445
37446 053732 474 00 0 00 000000 C64500: SETO 0, ;PRELOAD AC WITH -1,,-1
37447 053733 200 16 0 00 070731 MOVE 16,[123456,,707076] ;PRELOAD E WITH 123456,,707076
37448 053734 517 00 0 00 000016 HRLZS 0,16 ;*HRLZS SHOULD PLACE 707076,,0
37449 ;INTO E.
37450 053735 312 00 0 00 070254 CAME 0,[-1] ;PASS IF C(AC) UNCHANGED
37451 STOP^
37452 053736 254 04 0 00 053737 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37453 053737 324 00 0 00 053740 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37454 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37455 ;IN THE SUBTEST) TO LOOP ON ERROR^
37456 053740 312 16 0 00 070732 CAME 16,[707076,,0] ;PASS IF C(AC)=707076,,0
37457 STOP^
37458 053741 254 04 0 00 053742 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37459 053742 324 00 0 00 053743 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37460 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37461 ;IN THE SUBTEST) TO LOOP ON ERROR^
37462
37463 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 30
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL HWT INSTRUCTIONS SEQ 0858
37464 ;THIS TEST VERIFIES THAT HRLZS PLACES C(E-RIGHT) INTO E-LEFT AND
37465 ;CLEARS E-RIGHT. IF AC IS NON-ZERO, THE RESULT IN E IS ALSO
37466 ;PLACED INTO THE AC.
37467 ;IN THIS CASE, AC=1, C(AC)=-1,,-1 AND C(E)=123456,,707076
37468 ;HENCE, THE RESULTS IN AC AND E RESPECTIVELY SHOULD BE 707076,,0
37469 ;AND 707076,,0
37470
37471 053743 474 01 0 00 000000 C64510: SETO 1, ;PRELOAD AC WITH -1,,-1
37472 053744 200 16 0 00 070731 MOVE 16,[123456,,707076] ;PRELOAD E WITH 123456,,707076
37473 053745 517 01 0 00 000016 HRLZS 1,16 ;*HRLZS SHOULD PLACE 707076,,0
37474 ;INTO BOTH AC AND E.
37475 053746 312 01 0 00 070732 CAME 1,[707076,,0] ;PASS IF C(AC)=707076,,0
37476 STOP^
37477 053747 254 04 0 00 053750 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37478 053750 324 00 0 00 053751 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37479 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37480 ;IN THE SUBTEST) TO LOOP ON ERROR^
37481 053751 312 16 0 00 070732 CAME 16,[707076,,0] ;PASS IF C(AC)=707076,,0
37482 STOP^
37483 053752 254 04 0 00 053753 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37484 053753 324 00 0 00 053754 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37485 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37486 ;IN THE SUBTEST) TO LOOP ON ERROR^
37487
37488 ;**********
37489
37490 ;THIS TEST VERIFIES THAT HLLOM PLACES C(AC-LEFT) INTO E-LEFT AND
37491 ;PLACES -1 INTO E-RIGHT.
37492 ;IN THIS CASE, C(AC)=123456,,123422 AND C(E)=707070,,717171
37493 ;HENCE, THE RESULT IN E SHOULD BE 123456,,-1.
37494
37495 053754 200 01 0 00 070726 C64600: MOVE 1,[123456,,123422] ;PRELOAD AC WITH 123456,,123422
37496 053755 200 02 0 00 070727 MOVE 2,[707070,,717171] ;PRELOAD AC WITH 707070,,717171
37497 053756 522 01 0 00 000002 HLLOM 1,2 ;*HLLOM SHOULD PLACE 123456,,-1 INTO E
37498 053757 312 01 0 00 070726 CAME 1,[123456,,123422] ;PASS IF C(AC) UNCHANGED
37499 STOP^
37500 053760 254 04 0 00 053761 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37501 053761 324 00 0 00 053762 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37502 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37503 ;IN THE SUBTEST) TO LOOP ON ERROR^
37504 053762 312 02 0 00 070733 CAME 2,[123456,,-1] ;PASS IF C(E)=123456,,-1
37505 STOP^
37506 053763 254 04 0 00 053764 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37507 053764 324 00 0 00 053765 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37508 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37509 ;IN THE SUBTEST) TO LOOP ON ERROR^
37510
37511 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 31
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL HWT INSTRUCTIONS SEQ 0859
37512 ;THIS TEST VERIFIES THAT HRLO, C(E-RIGHT) INTO AC=LEFT AND
37513 ;PLACES -1 INTO AC-RIGHT. IN THIS CASE, C(AC)=123456,,135724 AND
37514 ;C(E)=765432,,246135. HENCE, THE RESULT IN THE AC SHOULD BE 246135,,-1
37515
37516 053765 200 15 0 00 070734 C64700: MOVE 15,[123456,,135724] ;PRELOAD AC WITH 123456,,135724
37517 053766 200 16 0 00 070735 MOVE 16,[765432,,246135] ;PRELOAD E WITH 765432,,246135
37518 053767 524 15 0 00 000016 HRLO 15,16 ;*HRLO SHOULD PLACE 246135,,-1 INTO AC
37519 053770 312 15 0 00 070736 CAME 15,[246135,,-1] ;PASS IF C(AC)=246135,,-1
37520 STOP^
37521 053771 254 04 0 00 053772 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37522 053772 324 00 0 00 053773 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37523 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37524 ;IN THE SUBTEST) TO LOOP ON ERROR^
37525 053773 312 16 0 00 070735 CAME 16,[765432,,246135] ;PASS IF C(E) UNCHANGED
37526 STOP^
37527 053774 254 04 0 00 053775 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37528 053775 324 00 0 00 053776 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37529 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37530 ;IN THE SUBTEST) TO LOOP ON ERROR^
37531
37532 ;**********
37533
37534 ;THIS TEST VERIFIES THAT HRLOI PLACES 0,,E INTO AC-LEFT AND
37535 ;PLACES ONES INTO AC-RIGHT. IN THIS CASE, C(AC)=0 AND E=0,,123456.
37536 ;HENCE, THE RESULT IN THE AC SHOULD BE 123456,,-1
37537
37538 053776 400 14 0 00 000000 C65000: SETZ 14, ;CLEAR AC
37539 053777 525 14 0 00 123456 HRLOI 14,123456 ;*HRLOI SHOULD PLACE 123456,,-1 INTO THE AC
37540 054000 312 14 0 00 070733 CAME 14,[123456,,-1] ;PASS IF C(AC)=123456,,-1
37541 STOP^
37542 054001 254 04 0 00 054002 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37543 054002 324 00 0 00 054003 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37544 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37545 ;IN THE SUBTEST) TO LOOP ON ERROR^
37546
37547 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 32
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL HWT INSTRUCTIONS SEQ 0860
37548 ;THIS TEST VERIFIES THAT HRLOM PLACES C(AC-RIGHT) INTO E-LEFT
37549 ;AND PLACES -1 INTO E-RIGHT. IN THIS CASE, C(E)=0 AND C(AC)=123123,,456765
37550 ;HENCE, THE RESULT IN E SHOULD BE 456765,,-1.
37551
37552 054003 402 00 0 00 000014 C65100: SETZM 14 ;CLEAR E
37553 054004 200 13 0 00 070737 MOVE 13,[123123,,456765] ;PRELOAD AC WITH 123123,,456765
37554 054005 526 13 0 00 000014 HRLOM 13,14 ;*HRLOM SHOULD PLACE 456765,,-1 INTO E
37555 054006 312 13 0 00 070737 CAME 13,[123123,,456765] ;PASS IF C(AC) UNCHANGED
37556
37557 STOP^
37558 054007 254 04 0 00 054010 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37559 054010 324 00 0 00 054011 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37560 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37561 ;IN THE SUBTEST) TO LOOP ON ERROR^
37562 054011 312 14 0 00 070740 CAME 14,[456765,,-1] ;PASS IF C(E)=456765,,-1
37563 STOP^
37564 054012 254 04 0 00 054013 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37565 054013 324 00 0 00 054014 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37566 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37567 ;IN THE SUBTEST) TO LOOP ON ERROR^
37568
37569 ;**********
37570
37571
37572 ;THIS TEST VERIFIES THAT HRLOS PLACES C(E-RIGHT) INTO E-LEFT AND
37573 ;PLACES -1 INTO E-RIGHT. IF AC IS NON-ZERO, THE RESULT IN E IS ALOS
37574 ;PLACED INTO THE AC.
37575 ;IN THIS CASE, AC=0, C(AC)=0 AND C(E)=123456,,707076
37576 ;HENCE, THE RESULTS IN AC AND E RESPECTIVELY SHOULD BE 0
37577 ;AND 707076,,0
37578
37579 054014 400 00 0 00 000000 C65200: SETZ 0, ;PRELOAD AC WITH 0
37580 054015 200 16 0 00 070731 MOVE 16,[123456,,707076] ;PRELOAD E WITH 123456,,707076
37581 054016 527 00 0 00 000016 HRLOS 0,16 ;*HRLZS SHOULD PLACE 707076,,-1
37582 ;INTO E.
37583 054017 312 00 0 00 070253 CAME 0,[0] ;PASS IF C(AC) UNCHANGED
37584 STOP^
37585 054020 254 04 0 00 054021 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37586 054021 324 00 0 00 054022 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37587 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37588 ;IN THE SUBTEST) TO LOOP ON ERROR^
37589 054022 312 16 0 00 070741 CAME 16,[707076,,-1] ;PASS IF C(AC)=707076,,-1
37590 STOP^
37591 054023 254 04 0 00 054024 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37592 054024 324 00 0 00 054025 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37593 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37594 ;IN THE SUBTEST) TO LOOP ON ERROR^
37595
37596 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 33
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL HWT INSTRUCTIONS SEQ 0861
37597 ;THIS TEST VERIFIES THAT HRLOS PLACES C(E-RIGHT) INTO E-LEFT AND
37598 ;PLACES -1 INTO E-RIGHT. IF AC IS NON-ZERO, THE RESULT IN E IS ALSO
37599 ;PLACED INTO THE AC.
37600 ;IN THIS CASE, AC=1, C(AC)=0 AND C(E)=123456,,707076
37601 ;HENCE, THE RESULTS IN AC AND E RESPECTIVELY SHOULD BE 707076,,-1
37602 ;AND 707076,,-1
37603
37604 054025 400 01 0 00 000000 C65210: SETZ 1, ;PRELOAD AC WITH 0
37605 054026 200 16 0 00 070731 MOVE 16,[123456,,707076] ;PRELOAD E WITH 123456,,707076
37606 054027 527 01 0 00 000016 HRLOS 1,16 ;*HRLZS SHOULD PLACE 707076,,-1
37607 ;INTO BOTH AC AND E
37608 054030 312 01 0 00 070741 CAME 1,[707076,,-1] ;PASS IF C(AC)=707076,,-1
37609 STOP^
37610 054031 254 04 0 00 054032 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37611 054032 324 00 0 00 054033 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37612 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37613 ;IN THE SUBTEST) TO LOOP ON ERROR^
37614 054033 312 16 0 00 070741 CAME 16,[707076,,-1] ;PASS IF C(AC)=707076,,-1
37615 STOP^
37616 054034 254 04 0 00 054035 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37617 054035 324 00 0 00 054036 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37618 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37619 ;IN THE SUBTEST) TO LOOP ON ERROR^
37620
37621 ;**********
37622
37623 ;THIS TEST VERIFIES THAT HLLEM PLACES C(AC-LEFT) INTO E-LEFT
37624 ;AND PLACES BIT 0 OF THE AC INTO BITS 18 THRU 35 OF E. IN THIS CASE,
37625 ;C(AC)=123456,,707076 AND C(E)=-1,,-1. HENCE, THE RESULT IN E
37626 ;SHOULD BE 123456,,0.
37627
37628 054036 200 12 0 00 070731 C65300: MOVE 12,[123456,,707076] ;PRELOAD AC WITH 123456,,707076
37629 054037 476 00 0 00 000013 SETOM 13 ;PRELOAD E WITH -1,,-1
37630 054040 532 12 0 00 000013 HLLEM 12,13 ;*HLLEM SHOULD PLACE 123456,,0 INTO E
37631 054041 312 12 0 00 070731 CAME 12,[123456,,707076] ;PASS IF C(AC) UNCHANGED
37632 STOP^
37633 054042 254 04 0 00 054043 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37634 054043 324 00 0 00 054044 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37635 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37636 ;IN THE SUBTEST) TO LOOP ON ERROR^
37637 054044 312 13 0 00 070377 CAME 13,[123456,,0] ;PASS IF C(E)=123456,,0
37638 STOP^
37639 054045 254 04 0 00 054046 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37640 054046 324 00 0 00 054047 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37641 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37642 ;IN THE SUBTEST) TO LOOP ON ERROR^
37643
37644 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 34
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL HWT INSTRUCTIONS SEQ 0862
37645 ;THIS TEST VERIFIES THAT HLLES PLACES C(E-LEFT) INTO E-LEFT AND
37646 ;PLACES BIT 0 OF E INTO BITS 18 THRU 35 OF E. IF AC IS NON-ZERO
37647 ;THE RESULT IN E IS ALSO PLACED INTO THE AC.
37648 ;IN THIS CASE, AC=0, C(AC)=0 AND C(E)=765432,,0.
37649 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 0
37650 ;AND 765432,,-1 RESPECTIVELY.
37651
37652 054047 400 00 0 00 000000 C65400: SETZ 0, ;CLEAR AC
37653 054050 515 02 0 00 765432 HRLZI 2,765432 ;PRELOAD E WITH 765432,,0
37654 054051 533 00 0 00 000002 HLLES 0,2 ;*HLLES SHOULD PLACE 765432,,-1
37655 ;INTO E
37656 054052 312 00 0 00 070253 CAME 0,[0] ;PASS IF C(AC) UNCHANGED
37657 STOP^
37658 054053 254 04 0 00 054054 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37659 054054 324 00 0 00 054055 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37660 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37661 ;IN THE SUBTEST) TO LOOP ON ERROR^
37662 054055 312 02 0 00 070742 CAME 2,[765432,,-1] ;PASS IF C(E)=765432,,-1
37663 STOP^
37664 054056 254 04 0 00 054057 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37665 054057 324 00 0 00 054060 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37666 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37667 ;IN THE SUBTEST) TO LOOP ON ERROR^
37668
37669 ;**********
37670
37671 ;THIS TEST VERIFIES THAT HLLES PLACES C(E-LEFT) INTO E-LEFT AND
37672 ;PLACES BIT 0 OF E INTO BITS 18 THRU 35 OF E. IF AC IS NON-ZERO,
37673 ;THE RESULT IN E IS ALSO PLACED INTO THE AC.
37674 ;IN THIS CASE, AC=1, C(AC)=0 AND C(E)=765432,,0
37675 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 765432,,-1
37676 ;AND 765432,,-1 RESPECTIVELY
37677
37678 054060 400 01 0 00 000000 C65410: SETZ 1, ;CLEAR AC
37679 054061 515 02 0 00 765432 HRLZI 2,765432 ;PRELOAD E WITH 765432,,0
37680 054062 533 01 0 00 000002 HLLES 1,2 ;*HLLES SHOULD PLACE 765432,,-1
37681 ;INTO BOTH AC AND E
37682 054063 312 01 0 00 070742 CAME 1,[765432,,-1] ;PASS IF C(AC)=765432,,-1
37683 STOP^
37684 054064 254 04 0 00 054065 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37685 054065 324 00 0 00 054066 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37686 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37687 ;IN THE SUBTEST) TO LOOP ON ERROR^
37688 054066 312 02 0 00 070742 CAME 2,[765432,,-1] ;PASS IF C(E)=765432,,-1
37689 STOP^
37690 054067 254 04 0 00 054070 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37691 054070 324 00 0 00 054071 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37692 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37693 ;IN THE SUBTEST) TO LOOP ON ERROR^
37694
37695 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 35
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL HWT INSTRUCTIONS SEQ 0863
37696 ;THIS TEST VERIFIES THAT HLLEM PLACES C(AC-RIGHT) INTO E-LEFT
37697 ;AND PLACES BIT 18 OF THE AC INTO BITS 18 THRU 35 OF E. IN THIS CASE,
37698 ;C(AC)=365432,123456 AND C(E)=-1,,-1. HENCE, THE RESULT IN E
37699 ;SHOULD BE 365432,,0.
37700
37701 054071 200 12 0 00 070743 C65500: MOVE 12,[365432,,123456] ;PRELOAD AC WITH 365432,,123456
37702 054072 476 00 0 00 000013 SETOM 13 ;PRELOAD E WITH -1,,-1
37703 054073 532 12 0 00 000013 HLLEM 12,13 ;*HLLEM SHOULD PLACE 365432,,0 INTO E
37704 054074 312 12 0 00 070743 CAME 12,[365432,,123456] ;PASS IF C(AC) UNCHANGED
37705 STOP^
37706 054075 254 04 0 00 054076 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37707 054076 324 00 0 00 054077 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37708 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37709 ;IN THE SUBTEST) TO LOOP ON ERROR^
37710 054077 312 13 0 00 070744 CAME 13,[365432,,0] ;PASS IF C(E)=365432,,0
37711 STOP^
37712 054100 254 04 0 00 054101 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37713 054101 324 00 0 00 054102 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37714 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37715 ;IN THE SUBTEST) TO LOOP ON ERROR^
37716
37717 ;**********
37718
37719 ;THIS TEST VERIFIES THAT HRLES PLACES C(E-RIGHT) INTO E-LEFT AND
37720 ;PLACES BIT 18 OF E INTO BITS 18 THRU 35 OF E. IF AC IS NON-ZERO,
37721 ;THE RESULT IN E IS ALSO PLACED INTO THE AC.
37722 ;IN THIS CASE, AC=0, C(AC)=0 AND C(E)=0,,765432
37723 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 0
37724 ;AND 765432,,-1 RESPECTIVELY
37725
37726 054102 400 00 0 00 000000 C65600: SETZ 0, ;CLEAR AC
37727 054103 551 02 0 00 765432 HRRZI 2,765432 ;PRELOAD E WITH 0,,765432
37728 054104 537 00 0 00 000002 HRLES 0,2 ;*HLLES SHOULD PLACE 765432,,-1
37729 ;INTO
37730 054105 312 00 0 00 070253 CAME 0,[0] ;PASS IF C(AC) UNCHANGED
37731 STOP^
37732 054106 254 04 0 00 054107 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37733 054107 324 00 0 00 054110 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37734 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37735 ;IN THE SUBTEST) TO LOOP ON ERROR^
37736 054110 312 02 0 00 070742 CAME 2,[765432,,-1] ;PASS IF C(E)=765432,,-1
37737 STOP^
37738 054111 254 04 0 00 054112 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37739 054112 324 00 0 00 054113 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37740 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37741 ;IN THE SUBTEST) TO LOOP ON ERROR^
37742
37743 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 36
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL HWT INSTRUCTIONS SEQ 0864
37744 ;THIS TEST VERIFIES THAT HRLES PLACES C(E-RIGHT) INTO E-LEFT AND
37745 ;PLACES BIT 18 OF E INTO BITS 18 THRU 35 OF E. IF AC IS NON-ZERO,
37746 ;THE RESULT IN E IS ALSO PLACED INTO THE AC.
37747 ;IN THIS CASE, AC=1, C(AC)=0 AND C(E)=0,,765432
37748 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 765432,,-1
37749 ;AND 765432,,-1 RESPECTIVELY.
37750
37751 054113 400 01 0 00 000000 C65610: SETZ 1, ;CLEAR AC
37752 054114 551 02 0 00 765432 HRRZI 2,765432 ;PRELOAD E WITH 0,765432
37753 054115 537 01 0 00 000002 HRLES 1,2 ;*HLLES SHOULD PLACE 765432,,-1
37754 ;INTO BOTH AC AND E
37755 054116 312 01 0 00 070742 CAME 1,[765432,,-1] ;PASS IF C(AC)=765442,,-1
37756 STOP^
37757 054117 254 04 0 00 054120 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37758 054120 324 00 0 00 054121 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37759 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37760 ;IN THE SUBTEST) TO LOOP ON ERROR^
37761 054121 312 02 0 00 070742 CAME 2,[765432,,-1] ;PASS IF C(E)=765432,,-1
37762 STOP^
37763 054122 254 04 0 00 054123 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37764 054123 324 00 0 00 054124 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37765 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37766 ;IN THE SUBTEST) TO LOOP ON ERROR^
37767
37768
37769 ;**********
37770
37771 ;THIS TEST VERIFIES THAT HLRM SHOULD PLACE C(AC-LEFT) INTO E-RIGHT
37772 ;AND NOT AFFECT E-LEFT. IN THIS CASE, C(AC)=123456,,701234
37773 ;AND C(E)=0. HENCE, THE RESULT IN E SHOULD BE 0,,123456
37774
37775 054124 200 11 0 00 070745 C65700: MOVE 11,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
37776 054125 402 00 0 00 000012 SETZM 12 ;CLEAR E
37777 054126 546 11 0 00 000012 HLRM 11,12 ;*HLRM SHOULD PLACE 0,,123456 INTO E
37778 054127 312 11 0 00 070745 CAME 11,[123456,,701234] ;PASS IF C(AC) UNCHANGE
37779 STOP^
37780 054130 254 04 0 00 054131 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37781 054131 324 00 0 00 054132 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37782 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37783 ;IN THE SUBTEST) TO LOOP ON ERROR^
37784 054132 302 12 0 00 123456 CAIE 12,123456 ;PASS IF C(E)=0,,123456
37785 STOP^
37786 054133 254 04 0 00 054134 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37787 054134 324 00 0 00 054135 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37788 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37789 ;IN THE SUBTEST) TO LOOP ON ERROR^
37790
37791 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 37
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL HWT INSTRUCTIONS SEQ 0865
37792 ;THIS TEST VERIFIES THAT HLRS PLACES C(E-LEFT) INTO E-RIGHT AND
37793 ;DOES NOT AFFECT E-LEFT. IF AC IS NON-ZERO, THE RESULT IN E
37794 ;IS ALSO PLACED INTO THE AC.
37795 ;IN THIS CASE, AC=0, C(AC)=0 AND C(E)=123123,,246135
37796 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 0
37797 ;AND 123123,,123123 RESPECTIVELY.
37798
37799 054135 400 00 0 00 000000 C66000: SETZ 0, ;CLEAR AC
37800 054136 200 12 0 00 070746 MOVE 12,[123123,,246135] ;PRELOAD E WITH 123123,,246135
37801 054137 547 00 0 00 000012 HLRS 0,12 ;*HLRS SHOULD PLACE 123123,,123123
37802 ;INTO E.
37803 054140 312 00 0 00 070253 CAME 0,[0] ;PASS IF C(AC) UNCHANGED
37804 STOP^
37805 054141 254 04 0 00 054142 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37806 054142 324 00 0 00 054143 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37807 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37808 ;IN THE SUBTEST) TO LOOP ON ERROR^
37809 054143 312 12 0 00 070747 CAME 12,[123123,,123123] ;PASS IF C(E)=123123,,123123
37810 STOP^
37811 054144 254 04 0 00 054145 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37812 054145 324 00 0 00 054146 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37813 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37814 ;IN THE SUBTEST) TO LOOP ON ERROR^
37815
37816
37817 ;**********
37818
37819 ;THIS TEST VERIFIES THAT HLRS PLACES C(E-LEFT) INTO E-RIGHT AND
37820 ;DOES NOT AFFECT E-LEFT. IF AC IS NON-ZERO, THE RESULT IN E
37821 ;IS ALSO PLACED INTO THE AC.
37822 ;IN THIS CASE, AC=1, C(AC)=0 AND C(E)=123123,,246135
37823 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 123123,,123123
37824 ;AND 123123,,123123 RESPECTIVELY.
37825
37826 054146 400 01 0 00 000000 C66010: SETZ 1, ;CLEAR AC
37827 054147 200 12 0 00 070746 MOVE 12,[123123,,246135] ;PRELOAD E WITH 123123,,246135
37828 054150 547 01 0 00 000012 HLRS 1,12 ;*HLRS SHOULD PLACE 123123,,123123
37829 ;INTO BOTH AC AND E.
37830 054151 312 01 0 00 070747 CAME 1,[123123,,123123] ;PASS IF C(AC)=123123,,123123
37831 STOP^
37832 054152 254 04 0 00 054153 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37833 054153 324 00 0 00 054154 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37834 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37835 ;IN THE SUBTEST) TO LOOP ON ERROR^
37836 054154 312 12 0 00 070747 CAME 12,[123123,,123123] ;PASS IF C(E)=123123,,123123
37837 STOP^
37838 054155 254 04 0 00 054156 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37839 054156 324 00 0 00 054157 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37840 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37841 ;IN THE SUBTEST) TO LOOP ON ERROR^
37842
37843 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 38
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL HWT INSTRUCTIONS SEQ 0866
37844 ;THIS TEST VERIFIES THAT HRRZS CLEARS THE LEFT HALF OF E, BUT DOES NOT
37845 ;AFFECT THE RIGHT HALF OF E. IF AC IS NON-ZERO, THE RESULT IN E IS
37846 ;ALSO PLACED INTO THE AC.
37847 ;IN THIS CASE, AC = 0, C(AC) = -1,,-1 AND C(E) = 123456,,701234
37848 ;HENCE, THE RESULTS IN AC AND E SHOULD BE -1,,-1 AND 0,,701234
37849 ;RESPECTIVELY.
37850
37851 054157 474 00 0 00 000000 C66100: SETO 0 ;PRELOAD AC WITH -1,,-1
37852 054160 200 17 0 00 070745 MOVE 17,[123456,,701234] ;PRELOAD E WITH 123456,,701234
37853 054161 553 00 0 00 000017 HRRZS 0,17 ;HRRZS SHOULD PLACE 0,,701234 INTO E
37854 054162 312 00 0 00 070254 CAME 0,[-1] ;PASS IF C(AC) UNCHANGED
37855 STOP^
37856 054163 254 04 0 00 054164 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37857 054164 324 00 0 00 054165 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37858 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37859 ;IN THE SUBTEST) TO LOOP ON ERROR^
37860 054165 302 17 0 00 701234 CAIE 17,701234 ;PASS IF C(E) = 0,,701234
37861 STOP^
37862 054166 254 04 0 00 054167 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37863 054167 324 00 0 00 054170 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37864 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37865 ;IN THE SUBTEST) TO LOOP ON ERROR^
37866
37867 ;**********
37868
37869 ;THIS TEST VERIFIES THAT HRRZS CLEARS THE LEFT HALF OF E, BUT DOES NOT
37870 ;AFFECT THE RIGHT HALF OF E. IF AC IS NON-ZERO, THE RESULT IN E IS
37871 ;ALSO PLACED INTO THE AC.
37872 ;IN THIS CASE, AC = 1, C(AC) = -1,,-1 AND C(E) = 123456,,701234
37873 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 0,,701234 AND 0,,701234
37874 ;RESPECTIVELY.
37875
37876 054170 474 01 0 00 000000 C66110: SETO 1, ;PRELOAD AC WITH -1,,-1
37877 054171 200 17 0 00 070745 MOVE 17,[123456,,701234] ;PRELOAD E WITH 123456,,701234
37878 054172 553 01 0 00 000017 HRRZS 1,17 ;HRRZS SHOULD PLACE 0,,701234 INTO
37879 ;BOTH AC AND E
37880 054173 302 01 0 00 701234 CAIE 1,701234 ;PASS IF C(AC) = 0,,701234
37881 STOP^
37882 054174 254 04 0 00 054175 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37883 054175 324 00 0 00 054176 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37884 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37885 ;IN THE SUBTEST) TO LOOP ON ERROR^
37886 054176 302 17 0 00 701234 CAIE 17,701234 ;PASS IF C(E) = 0,,701234
37887 STOP^
37888 054177 254 04 0 00 054200 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37889 054200 324 00 0 00 054201 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37890 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37891 ;IN THE SUBTEST) TO LOOP ON ERROR^
37892
37893 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 39
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL HWT INSTRUCTIONS SEQ 0867
37894 ;THIS TEST VERIFIES THAT HLRZI CLEARS THE AC
37895 ;IN THIS CASE, C(AC) = -1,,-1 AND E = 0,,-1. HENCE, THE
37896 ;RESULT IN THE AC SHOULD BE 0.
37897
37898 054201 474 00 0 00 000007 C66200: SETO 7 ;PRELOAD AC WITH -1,,-1
37899 054202 555 07 0 00 777777 HLRZI 7,-1 ;*HLRZI SHOULD CLEAR THE AC
37900 054203 332 00 0 00 000007 SKIPE 7 ;PASS IF C(AC) = 0
37901 STOP^
37902 054204 254 04 0 00 054205 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37903 054205 324 00 0 00 054206 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37904 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37905 ;IN THE SUBTEST) TO LOOP ON ERROR^
37906
37907 ;**********
37908
37909 ;THIS TEST VERIFIES THAT HLRZM PLACES C(AC-LEFT) INTO E-RIGHT AND
37910 ;PLACES 0 INTO E-LEFT.
37911 ;IN THIS CASE, C(AC) = 123456,,123422 AND C(E) = 707070,,717171
37912 ;HENCE, THE RESULT IN E SHOULD BE 0,,123456.
37913
37914 054206 200 01 0 00 070726 C66300: MOVE 1,[123456,,123422] ;PRELOAD AC WITH 123456,,123422
37915 054207 200 02 0 00 070727 MOVE 2,[707070,,717171] ;PRELOAD AC WITH 707070,,717171
37916 054210 556 01 0 00 000002 HLRZM 1,2 ;*HLRZM SHOULD PLACE 0,,123456 INTO E.
37917 054211 312 01 0 00 070726 CAME 1,[123456,,123422] ;PASS IF C(AC) UNCHANGED
37918 STOP^
37919 054212 254 04 0 00 054213 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37920 054213 324 00 0 00 054214 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37921 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37922 ;IN THE SUBTEST) TO LOOP ON ERROR^
37923 054214 302 02 0 00 123456 CAIE 2,123456 ;PASS IF C(E) = 0,,123456
37924 STOP^
37925 054215 254 04 0 00 054216 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37926 054216 324 00 0 00 054217 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37927 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37928 ;IN THE SUBTEST) TO LOOP ON ERROR^
37929
37930 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 40
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL HWT INSTRUCTIONS SEQ 0868
37931 ;THIS TEST VERIFIES THAT HLRZM PLACES C(AC-LEFT) INTO E-RIGHT AND
37932 ;PLACES 0 INTO E-LEFT.
37933 ;IN THIS CASE, C(AC) = 123456,,123422 AND C(E) = 707070,,717171
37934 ;HENCE, THE RESULT IN E SHOULD BE 0,,123456.
37935
37936 054217 200 01 0 00 070726 C66301: MOVE 1,[123456,,123422] ;PRELOAD AC WITH 123456,,123422
37937 054220 200 02 0 00 070727 MOVE 2,[707070,,717171] ;PRELOAD AC WITH 707070,,717171
37938 054221 202 02 0 00 054233 MOVEM 2,E66301
37939 054222 556 01 0 00 054233 HLRZM 1,E66301 ;*HLRZM SHOULD PLACE 0,,123456 INTO E.
37940 054223 312 01 0 00 070726 CAME 1,[123456,,123422] ;PASS IF C(AC) UNCHANGED
37941 STOP^
37942 054224 254 04 0 00 054225 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37943 054225 324 00 0 00 054226 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37944 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37945 ;IN THE SUBTEST) TO LOOP ON ERROR^
37946 054226 200 02 0 00 054233 MOVE 2,E66301
37947 054227 302 02 0 00 123456 CAIE 2,123456 ;PASS IF C(E) = 0,,123456
37948 STOP^
37949 054230 254 04 0 00 054231 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37950 054231 324 00 0 00 054232 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37951 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37952 ;IN THE SUBTEST) TO LOOP ON ERROR^
37953
37954 054232 334 00 0 00 000000 SKIPA ;GO TO NEXT TEST
37955 054233 000000 000000 E66301: 0 ;TEST WORD MEMORY
37956
37957 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 41
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL HWT INSTRUCTIONS SEQ 0869
37958 ;THIS TEST VERIFIES THAT HLRZS PLACES C(E-LEFT) INTO E-RIGHT AND
37959 ;PLACES 0 INTO E-LEFT. IF AC IS NON-ZERO, THE RESULT IN E IS
37960 ;ALSO PLACED INTO THE AC.
37961 ;IN THIS CASE, AC = 0, C(AC) = -1,,-1 AND C(E) = 123456,,701234.
37962 ;HENCE, THE RESULTS IN AC AND E SHOULD BE -1,,-1 AND 0,,123456
37963 ;RESPECTIVELY.
37964
37965 054234 474 00 0 00 000000 C66400: SETO 0, ;PRELOAD AC WITH -1,,-1
37966 054235 200 07 0 00 070745 MOVE 7,[123456,,701234] ;PRELOAD E WITH 123456,,701234
37967 054236 557 00 0 00 000007 HLRZS 0,7 ;*HLRZS SHOULD PLACE 0,,123456 INTO E
37968 054237 312 00 0 00 070254 CAME 0,[-1] ;PASS IF C(AC) IS UNCHANGED
37969 STOP^
37970 054240 254 04 0 00 054241 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37971 054241 324 00 0 00 054242 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37972 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37973 ;IN THE SUBTEST) TO LOOP ON ERROR^
37974 054242 302 07 0 00 123456 CAIE 7,123456 ;PASS IF C(E) = 0,,123456
37975 STOP^
37976 054243 254 04 0 00 054244 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37977 054244 324 00 0 00 054245 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37978 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37979 ;IN THE SUBTEST) TO LOOP ON ERROR^
37980
37981 ;**********
37982
37983 ;THIS TEST VERIFIES THAT HLRZS PLACES C(E-LEFT) INTO E-RIGHT AND
37984 ;PLACES 0 INTO E-LEFT. IF AC IS NON-ZERO, THE RESULT IN E
37985 ;IS ALSO PLACED INTO THE AC.
37986 ;IN THIS CASE, AC = 6, C(AC) = -1,,-1 AND C(E) = 123456,,701234.
37987 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 0,,123456 AND 0123456
37988 ;RESPECTIVELY.
37989
37990 054245 474 06 0 00 000000 C66410: SETO 6, ;PRELOAD AC WITH -1,,-1
37991 054246 200 07 0 00 070745 MOVE 7,[123456,,701234] ;PRELOAD E WITH 123456,,701234
37992 054247 557 06 0 00 000007 HLRZS 6,7 ;*HLRZS SHOULD PLACE 0,,123456 INTO
37993 ;BOTH AC AND E
37994 054250 302 06 0 00 123456 CAIE 6,123456 ;PASS IF C(AC) = 0,,123456
37995 STOP^
37996 054251 254 04 0 00 054252 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
37997 054252 324 00 0 00 054253 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
37998 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
37999 ;IN THE SUBTEST) TO LOOP ON ERROR^
38000 054253 302 07 0 00 123456 CAIE 7,123456 ;PASS IF C(E) = 0,,123456
38001 STOP^
38002 054254 254 04 0 00 054255 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38003 054255 324 00 0 00 054256 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38004 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38005 ;IN THE SUBTEST) TO LOOP ON ERROR^
38006
38007 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 42
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL HWT INSTRUCTIONS SEQ 0870
38008 ;THIS TEST VERIFIES THAT HLRZS PLACES C(E-LEFT) INTO E-RIGHT AND
38009 ;PLACES 0 INTO E-LEFT. IF AC IS NON-ZERO, THE RESULT IN E
38010 ;IS ALSO PLACED INTO THE AC.
38011 ;IN THIS CASE, AC = 6, C(AC) = -1,,-1 AND C(E) = 123456,,701234.
38012 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 0,,123456 AND 0123456
38013 ;RESPECTIVELY.
38014
38015 054256 474 06 0 00 000000 C66411: SETO 6, ;PRELOAD AC WITH -1,,-1
38016 054257 200 07 0 00 070745 MOVE 7,[123456,,701234] ;PRELOAD E WITH 123456,,701234
38017 054260 202 07 0 00 054272 MOVEM 7,E66411
38018 054261 557 06 0 00 054272 HLRZS 6,E66411 ;*HLRZS SHOULD PLACE 0,,123456 INTO
38019 ;BOTH AC AND E
38020 054262 302 06 0 00 123456 CAIE 6,123456 ;PASS IF C(AC) = 0,,123456
38021 STOP^
38022 054263 254 04 0 00 054264 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38023 054264 324 00 0 00 054265 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38024 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38025 ;IN THE SUBTEST) TO LOOP ON ERROR^
38026 054265 200 07 0 00 054272 MOVE 7,E66411
38027 054266 302 07 0 00 123456 CAIE 7,123456 ;PASS IF C(E) = 0,,123456
38028 STOP^
38029 054267 254 04 0 00 054270 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38030 054270 324 00 0 00 054271 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38031 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38032 ;IN THE SUBTEST) TO LOOP ON ERROR^
38033
38034 054271 334 00 0 00 000000 SKIPA ;GO TO NEXT TEST
38035 054272 000000 000000 E66411: 0 ;TEST WORD MEMORY
38036
38037 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 43
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL HWT INSTRUCTIONS SEQ 0871
38038 ;THIS TEST VERIFIES THAT HRROM PLACES C(AC-RIGHT) INTO E-RIGHT AND
38039 ;PLACES -1 INTO E-LEFT. IN THIS CASE, C(AC) = 123456,,701234 AND
38040 ;C(E) = 0. HENCE, THE RESULT IN E SHOULD BE -1,,601234.
38041
38042 054273 200 05 0 00 070745 C66500: MOVE 5,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
38043 054274 402 00 0 00 000006 SETZM 6 ;CLEAR E
38044 054275 562 05 0 00 000006 HRROM 5,6 ;*HRROM SHOULD PLACE -1,,701234 INTO E
38045 054276 312 05 0 00 070745 CAME 5,[123456,,701234] ;PASS IF C(AC) UNCHANGED
38046 STOP^
38047 054277 254 04 0 00 054300 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38048 054300 324 00 0 00 054301 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38049 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38050 ;IN THE SUBTEST) TO LOOP ON ERROR^
38051 054301 312 06 0 00 070750 CAME 6,[-1,,701234] ;PASS IF C(E) = -1,,701234
38052 STOP^
38053 054302 254 04 0 00 054303 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38054 054303 324 00 0 00 054304 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38055 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38056 ;IN THE SUBTEST) TO LOOP ON ERROR^
38057
38058
38059 ;**********
38060
38061 ;THIS TEST VERIFIES THAT HRROS PLACES -1 INTO THE LEFT HALF OF E, BUT DOES NOT
38062 ;AFFECT THE RIGHT HALF OF E. IF AC IS NON-ZERO THE RESULT IN E IS
38063 ;ALSO PLACED INTO THE AC.
38064 ;IN THIS CASE, AC=0, C(AC)=0 AND C(E)=123456,,701234
38065 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 0
38066 ;AND -1,,701234 RESPECTIVELY.
38067
38068 054304 400 00 0 00 000000 C66600: SETZ 0 ;PRELOAD AC WITH 0
38069 054305 200 17 0 00 070745 MOVE 17,[123456,,701234] ;PRELOAD E WITH 123456,,701234
38070 054306 563 00 0 00 000017 HRROS 0,17 ;HRROS SHOULD PLACE -1,,701234 INTO E
38071 054307 312 00 0 00 070253 CAME 0,[0] ;PASS IF C(AC) IS UNCHANGED
38072 STOP^
38073 054310 254 04 0 00 054311 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38074 054311 324 00 0 00 054312 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38075 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38076 ;IN THE SUBTEST) TO LOOP ON ERROR^
38077 054312 312 17 0 00 070750 CAME 17,[-1,,701234] ;PASS IF C(E)=-1,,701234
38078 STOP^
38079 054313 254 04 0 00 054314 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38080 054314 324 00 0 00 054315 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38081 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38082 ;IN THE SUBTEST) TO LOOP ON ERROR^
38083
38084 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 44
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL HWT INSTRUCTIONS SEQ 0872
38085 ;THIS TEST VERIFIES THAT HRROS PLACES -1 INTO THE LEFT HALF OF E, BUT DOES NOT
38086 ;AFFECT THE RIGHT HALF OF E. IF AC IS NON-ZERO THE RESULT IN E IS
38087 ;ALSO PLACED INTO THE AC.
38088 ;IN THIS CASE, AC=16, C(AC)=0 AND C(E)=123456,,701234
38089 ;HENCE, THE RESULTS IN AC AND E SHOULD BE -1,,701234
38090 ;AND -1,,701234 RESPECTIVELY.
38091
38092 054315 400 16 0 00 000000 C66610: SETZ 16, ;PRELOAD AC WITH 0
38093 054316 200 17 0 00 070745 MOVE 17,[123456,,701234] ;PRELOAD E WITH 123456,,701234
38094 054317 563 16 0 00 000017 HRROS 16,17 ;*HRROS SHOULD PLACE -1,,701234 INTO
38095 ;BOTH AC AND E
38096 054320 312 16 0 00 070750 CAME 16,[-1,,701234] ;PASS IF C(AC)=-1,,701234
38097 STOP^
38098 054321 254 04 0 00 054322 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38099 054322 324 00 0 00 054323 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38100 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38101 ;IN THE SUBTEST) TO LOOP ON ERROR^
38102 054323 312 17 0 00 070750 CAME 17,[-1,,701234] ;PASS IF C(E)=-1,,701234
38103 STOP^
38104 054324 254 04 0 00 054325 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38105 054325 324 00 0 00 054326 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38106 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38107 ;IN THE SUBTEST) TO LOOP ON ERROR^
38108
38109 ;**********
38110
38111 ;THIS TEST VERIFIES THAT HLRO PLACES C(E-LEFT) INTO AC-RIGHT AND
38112 ;PLACES -1 INTO AC-LEFT. IN THIS CASE, C(AC)=0
38113 ;C(E)=765432,,107654. HENCE, THE RESULT IN THE AC SHOULD BE -1,,765432.
38114
38115 054326 400 04 0 00 000000 C66700: SETZ 4, ;CLEAR AC
38116 054327 200 05 0 00 070751 MOVE 5,[765432,,107654] ;PRELOAD E WITH 765432,,107654
38117 054330 564 04 0 00 000005 HLRO 4,5 ;*HLRO SHOULD PLACE -1,,765432 INTO THE AC
38118 054331 312 04 0 00 070752 CAME 4,[-1,,765432] ;PASS IF C(AC)=-1,,765432
38119 STOP^
38120 054332 254 04 0 00 054333 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38121 054333 324 00 0 00 054334 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38122 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38123 ;IN THE SUBTEST) TO LOOP ON ERROR^
38124 054334 312 05 0 00 070751 CAME 5,[765432,,107654] ;PASS IF C(E) IS UNCHANGED
38125 STOP^
38126 054335 254 04 0 00 054336 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38127 054336 324 00 0 00 054337 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38128 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38129 ;IN THE SUBTEST) TO LOOP ON ERROR^
38130
38131 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 45
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL HWT INSTRUCTIONS SEQ 0873
38132 ;THIS TEST VERIFIES THAT HLROI PLACES -1,,0 INTO THE AC.
38133 ;IN THIS CASE, C(AC)=123456,,765432 AND E=070707. HENCE, THE
38134 ;RESULT IN THE AC SHOULD BE -1,,0
38135
38136 054337 200 03 0 00 070376 C67000: MOVE 3,[123456,,765432] ;PRELOAD AC WITH 123456,,765432
38137 054340 565 03 0 00 070707 HLROI 3,070707 ;*HLROI SHOULD PLACE -1,,0 INTO THE AC
38138 054341 312 03 0 00 070331 CAME 3,[-1,,0] ;PASS IF C(AC)=-1,,0
38139 STOP^
38140 054342 254 04 0 00 054343 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38141 054343 324 00 0 00 054344 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38142 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38143 ;IN THE SUBTEST) TO LOOP ON ERROR^
38144
38145 ;**********
38146
38147 ;THIS TEST VERIFIES THAT HLROM PLACES C(AC-LEFT) INTO E RIGHT AND
38148 ;PLACES -1 INTO E-LEFT
38149 ;IN THIS CASE, C(AC)=123456,,123422 AND C(E)=707070,,717171
38150 ;HENCE, THE RESULT IN E SHOULD BE -1,,123456
38151
38152 054344 200 01 0 00 070726 C67100: MOVE 1,[123456,,123422] ;PRELOAD AC WITH 123456,,123422
38153 054345 200 02 0 00 070727 MOVE 2,[707070,,717171] ;PRELOAD AC WITH 707070,,717171
38154 054346 566 01 0 00 000002 HLROM 1,2 ;*HLROM SHOULD PLACE -1,,123456 INTO E
38155 054347 312 01 0 00 070726 CAME 1,[123456,,123422] ;PASS IF C(AC) UNCHANGED
38156 STOP^
38157 054350 254 04 0 00 054351 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38158 054351 324 00 0 00 054352 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38159 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38160 ;IN THE SUBTEST) TO LOOP ON ERROR^
38161 054352 312 02 0 00 070753 CAME 2,[-1,,123456] ;PASS IF C(E)=-1,,123456
38162 STOP^
38163 054353 254 04 0 00 054354 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38164 054354 324 00 0 00 054355 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38165 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38166 ;IN THE SUBTEST) TO LOOP ON ERROR^
38167
38168 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 46
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL HWT INSTRUCTIONS SEQ 0874
38169 ;THIS TEST VERIFIES THAT HLROS PLACES C(E-LEFT) INTO E-RIGHT AND
38170 ;PLACES -1 INTO E-LEFT. IF AC IS NON-ZERO, THE RESULT IN E
38171 ;IS ALSO PLACED INTO THE AC.
38172 ;IN THIS CASE, AC=0, C(AC)=0 AND C(E)=123456,,701234.
38173 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 0
38174 ;AND -1,,123456 RESPECTIVELY
38175
38176 054355 400 00 0 00 000000 C67200: SETZ 0 ;PRELOAD AC WITH 0
38177 054356 200 07 0 00 070745 MOVE 7,[123456,,701234] ;PRELOAD E WITH 123456,,701234
38178 054357 567 00 0 00 000007 HLROS 0,7 ;*HLROS SHOULD PLACE -1,,123456 INTO E
38179 ;
38180 054360 302 00 0 00 000000 CAIE 0,0 ;PASS IF C(AC) IS UNCHANGED
38181 STOP^
38182 054361 254 04 0 00 054362 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38183 054362 324 00 0 00 054363 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38184 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38185 ;IN THE SUBTEST) TO LOOP ON ERROR^
38186 054363 312 07 0 00 070753 CAME 7,[-1,,123456] ;PASS IF C(E)=-1,,123456
38187 STOP^
38188 054364 254 04 0 00 054365 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38189 054365 324 00 0 00 054366 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38190 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38191 ;IN THE SUBTEST) TO LOOP ON ERROR^
38192
38193 ;**********
38194
38195 ;THIS TEST VERIFIES THAT HLROS PLACES C(E-LEFT) INTO E-RIGHT AND
38196 ;PLACES -1 INTO E-LEFT. IF AC IS NON-ZERO, THE RESULT IN E
38197 ;IS ALSO PLACED INTO THE AC.
38198 ;IN THIS CASE, AC=1, C(AC)=0 AND C(E)=123456,,701234.
38199 ;HENCE, THE RESULT IN AC AND E SHOULD BE -1,,123456
38200 ;AND -1,,123456 RESPECTIVELY.
38201
38202 054366 400 01 0 00 000000 C67210: SETZ 1, ;PRELOAD AC WITH 0
38203 054367 200 07 0 00 070745 MOVE 7,[123456,,701234] ;PRELOAD E WITH 123456,,701234
38204 054370 567 01 0 00 000007 HLROS 1,7 ;*HLROS SHOULD PLACE -1,,123456 INTO
38205 ;BOTH AC AND E
38206 054371 312 01 0 00 070753 CAME 1,[-1,,123456] ;PASS IF C(AC)=-1,,123456
38207 STOP^
38208 054372 254 04 0 00 054373 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38209 054373 324 00 0 00 054374 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38210 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38211 ;IN THE SUBTEST) TO LOOP ON ERROR^
38212 054374 312 07 0 00 070753 CAME 7,[-1,,123456] ;PASS IF C(E)=-1,,123456
38213 STOP^
38214 054375 254 04 0 00 054376 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38215 054376 324 00 0 00 054377 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38216 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38217 ;IN THE SUBTEST) TO LOOP ON ERROR^
38218
38219 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 47
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL HWT INSTRUCTIONS SEQ 0875
38220 ;THIS TEST VERIFIES THAT HRRES PLACES C(E-RIGHT) INTO E-RIGHT
38221 ;AND PLACES BIT 18 OF E INTO BITS 0 THRU 17 OF E. IF AC IS NON-ZERO,
38222 ;THE RESULT IN E IS ALSO PLACED INTO THE AC.
38223 ;IN THIS CASE, AC=0, C(AC)=0 AND C(E)=123456,,701234
38224 ;HENCE, THE RESULT IN AC AND E SHOULD BE 0
38225 ;AND -1,,701234 RESPECTIVELY.
38226
38227 054377 400 00 0 00 000000 C67300: SETZ 0, ;PRELOAD AC WITH 0
38228 054400 200 03 0 00 070745 MOVE 3,[123456,,701234] ;PRELOAD WITH 123456,,701234
38229 054401 573 00 0 00 000003 HRRES 0,3 ;HRRES SHOULD PLACE -1,,701234 INTO E
38230
38231 054402 332 00 0 00 000000 SKIPE ;PASS IF C(AC) IS UNCHANGED
38232 STOP^
38233 054403 254 04 0 00 054404 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38234 054404 324 00 0 00 054405 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38235 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38236 ;IN THE SUBTEST) TO LOOP ON ERROR^
38237 054405 312 03 0 00 070750 CAME 3,[-1,,701234] ;PASS IF C(E)=-1,,701234
38238 STOP^
38239 054406 254 04 0 00 054407 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38240 054407 324 00 0 00 054410 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38241 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38242 ;IN THE SUBTEST) TO LOOP ON ERROR^
38243
38244 ;**********
38245
38246 ;THIS TEST VERIFIES THAT HRRES, PLACES C(E-RIGHT) INTO E-RIGHT
38247 ;AND PLACES BIT 18 OF E INTO BITS 0 THRU 17 OF E. IF AC IS NON-ZERO,
38248 ;THE RESULT IN E IS ALSO PLACED INTO THE AC.
38249 ;IN THIS CASE, AC=1, C(AC)=0 AND C(E)=123456,,701234.
38250 ;HENCE, THE RESULTS IN AC AND E SHOULD BE -1,,701234
38251 ;AND -1,,701234 RESPECTIVELY.
38252
38253 054410 400 01 0 00 000000 C67310: SETZ 1, ;PRELOAD AC WITH 0
38254 054411 200 03 0 00 070745 MOVE 3,[123456,,701234] ;PRELOAD WITH 123456,,701234
38255 054412 573 01 0 00 000003 HRRES 1,3 ;HRRES SHOULD PLACE -1,,701234 INTO
38256 ;BOTH AC AND E
38257 054413 312 01 0 00 070750 CAME 1,[-1,,701234] ;PASS IF C(AC)=-1,,701234
38258 STOP^
38259 054414 254 04 0 00 054415 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38260 054415 324 00 0 00 054416 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38261 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38262 ;IN THE SUBTEST) TO LOOP ON ERROR^
38263 054416 312 03 0 00 070750 CAME 3,[-1,,701234] ;PASS IF C(E)=-1,,701234
38264 STOP^
38265 054417 254 04 0 00 054420 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38266 054420 324 00 0 00 054421 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38267 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38268 ;IN THE SUBTEST) TO LOOP ON ERROR^
38269
38270 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 48
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL HWT INSTRUCTIONS SEQ 0876
38271 ;THIS TEST VERIFIES THAT HLRES PLACES C(E-LEFT) INTO E-RIGHT
38272 ;AND PLACES BIT 0 OF E INTO BITS 0 THRU 17 OF E. IF AC IS
38273 ;NON-ZERO, THE RESULT IN E IS ALSO PLACED INTO THE AC.
38274 ;IN THIS CASE, AC=0, C(AC)=-1,,-1 AND C(E) 123456,,701234
38275 ;HENCE, THE RESULTS IN AC AND E SHOULD BE -1,,-1
38276 ;AND 0,,123456 RESPECTIVELY.
38277
38278 054421 474 00 0 00 000000 C67400: SETO 0, ;PRELOAD AC WITH -1,,-1
38279 054422 200 07 0 00 070745 MOVE 7,[123456,,701234] ;PRELOAD E WITH 123456,,701234
38280 054423 577 00 0 00 000007 HLRES 0,7 ;*HLRES SHOULD PLACE 0,,123456 INTO E
38281
38282 054424 312 00 0 00 070254 CAME 0,[-1] ;PASS IF C(AC) IS UNCHANGED
38283 STOP^
38284 054425 254 04 0 00 054426 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38285 054426 324 00 0 00 054427 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38286 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38287 ;IN THE SUBTEST) TO LOOP ON ERROR^
38288 054427 302 07 0 00 123456 CAIE 7,123456 ;PASS IF C(E)=0,,123456
38289 STOP^
38290 054430 254 04 0 00 054431 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38291 054431 324 00 0 00 054432 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38292 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38293 ;IN THE SUBTEST) TO LOOP ON ERROR^
38294
38295 ;**********
38296
38297 ;THIS TEST VERIFIES THAT HLRES PLACES C(E-LEFT) INTO E-RIGHT
38298 ;AND PLACES BIT 0 OF E INTO BITS 0 THRU 17 OF E. IF AC IS
38299 ;NON-ZERO, THE RESULT IN E IS ALSO PLACED INTO THE AC.
38300 ;IN THIS CASE, AC=1, C(AC)=-1,,-1 AND C(E) 123456,,701234.
38301 ;HENCE, THE RESULTS IN AC AND E SHOULD BE 0,,123456
38302 ;AND 0,,123456 RESPECTIVELY.
38303
38304 054432 474 01 0 00 000000 C67410: SETO 1, ;PRELOAD AC WITH -1,,-1
38305 054433 200 07 0 00 070745 MOVE 7,[123456,,701234] ;PRELOAD E WITH 123456,,701234
38306 054434 577 01 0 00 000007 HLRES 1,7 ;*HLRES SHOULD PLACE 0,,123456 INTO
38307 ;BOTH AC AND E
38308 054435 302 01 0 00 123456 CAIE 1,123456 ;PASS IF C(AC)=0,,123456
38309 STOP^
38310 054436 254 04 0 00 054437 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38311 054437 324 00 0 00 054440 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38312 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38313 ;IN THE SUBTEST) TO LOOP ON ERROR^
38314 054440 302 07 0 00 123456 CAIE 7,123456 ;PASS IF C(E)=0,,123456
38315 STOP^
38316 054441 254 04 0 00 054442 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38317 054442 324 00 0 00 054443 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38318 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38319 ;IN THE SUBTEST) TO LOOP ON ERROR^
38320
38321 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 49
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0877
38322 SUBTTL TEST OF MSCL LOGICAL TEST INSTRUCTIONS
38323
38324 ;**********
38325
38326 ;THIS TEST VERIFIES THAT TRNE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
38327 ;IF AND ONLY IF ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO.
38328 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3
38329 ;HENCE, TRNE SHOULD SKIP THE NEXT INSTRUCTION. THE AC IS ALSO
38330 ;CHECKED FOR NO MODIFICATION.
38331
38332 054443 200 17 0 00 070745 C67500: MOVE 17,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
38333 054444 602 17 0 00 000003 TRNE 17,3 ;*TRNE SHOULD SKIP THE NEXT INSTRUCTION
38334 STOP^
38335 054445 254 04 0 00 054446 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38336 054446 324 00 0 00 054447 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38337 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38338 ;IN THE SUBTEST) TO LOOP ON ERROR^
38339 054447 312 17 0 00 070745 CAME 17,[123456,,701234] ;PASS IF C AC) UNCHANGED
38340 STOP^
38341 054450 254 04 0 00 054451 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38342 054451 324 00 0 00 054452 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38343 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38344 ;IN THE SUBTEST) TO LOOP ON ERROR^
38345
38346 ;**********
38347
38348 ;THIS TEST VERIFIES THAT TRNE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
38349 ;IF AND ONLY IF ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO.
38350 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300
38351 ;HENCE, TRNE SHOULD NOT SKIP THE NEXT INSTRUCTION. THE AC IS ALSO
38352 ;CHECKED FOR NO MODIFICATION.
38353
38354 054452 200 16 0 00 070745 C67510: MOVE 16,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
38355 054453 602 16 0 00 000300 TRNE 16,300 ;*TRNE SHOULD NOT SKIP THE NEXT INSTRUCTION
38356 054454 334 00 0 00 000000 SKIPA ;PASS IF TRNE DID NOT SKIP
38357 STOP^
38358 054455 254 04 0 00 054456 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38359 054456 324 00 0 00 054457 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38360 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38361 ;IN THE SUBTEST) TO LOOP ON ERROR^
38362 054457 312 16 0 00 070745 CAME 16,[123456,,701234] ;PASS IF C(AC) UNCHANGED
38363 STOP^
38364 054460 254 04 0 00 054461 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38365 054461 324 00 0 00 054462 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38366 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38367 ;IN THE SUBTEST) TO LOOP ON ERROR^
38368
38369 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 50
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0878
38370 ;THIS TEST VERIFIES THAT TLNE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
38371 ;IF AND ONLY IF ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO.
38372 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300
38373 ;HENCE, TLNE SHOULD SKIP THE NEXT INSTRUCTION, THE AC IS ALSO
38374 ;CHECKED FOR NO MODIFICATION.
38375
38376 054462 200 15 0 00 070745 C67600: MOVE 15,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
38377 054463 603 15 0 00 000300 TLNE 15,300 ;*TLNE CHOULD SKIP
38378 STOP^
38379 054464 254 04 0 00 054465 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38380 054465 324 00 0 00 054466 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38381 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38382 ;IN THE SUBTEST) TO LOOP ON ERROR^
38383 054466 312 15 0 00 070745 CAME 15,[123456,,701234] ;PASS IF C(AC) IS UNCHANGED
38384 STOP^
38385 054467 254 04 0 00 054470 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38386 054470 324 00 0 00 054471 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38387 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38388 ;IN THE SUBTEST) TO LOOP ON ERROR^
38389
38390 ;**********
38391
38392 ;THIS TEST VERIFIES THAT TLNE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
38393 ;IF AND ONLY IF ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO
38394 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3.
38395 ;HENCE, TLNE SHOULD NOT SKIP THE NEXT INSTRUCTION, THE AC IS ALSO
38396 ;CHECKED FOR NO MODIFICATION
38397
38398 054471 200 14 0 00 070745 C67610: MOVE 14,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
38399 054472 603 14 0 00 000003 TLNE 14,3 ;*TLNE SHOULD NOT SKIP
38400 054473 334 00 0 00 000000 SKIPA ;PASS IF TLNE DID NOT SKIP
38401 STOP^
38402 054474 254 04 0 00 054475 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38403 054475 324 00 0 00 054476 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38404 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38405 ;IN THE SUBTEST) TO LOOP ON ERROR^
38406 054476 312 14 0 00 070745 CAME 14,[123456,,701234] ;PASS IF C(AC) UNCHANGED
38407 STOP^
38408 054477 254 04 0 00 054500 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38409 054500 324 00 0 00 054501 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38410 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38411 ;IN THE SUBTEST) TO LOOP ON ERROR^
38412
38413 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 51
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0879
38414 ;THIS TEST VERIFIES THAT TRNA ALWAYS SKIPS THE NEXT SEQUENTIAL
38415 ;INSTRUCTION. HENCE, TRNA IS INDEPENDENT OF BOTH C(A) AND E
38416 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3.
38417 ;HENCE, TRNA SHOULD SKIP THENEXT INSTRUCTION AND NOT ALTER C(AC).
38418
38419 054501 200 13 0 00 070745 C67700: MOVE 13,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
38420 054502 604 13 0 00 000003 TRNA 13,3 ;*TRNA SHOULD ALWAYS SKIP
38421 STOP^
38422 054503 254 04 0 00 054504 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38423 054504 324 00 0 00 054505 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38424 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38425 ;IN THE SUBTEST) TO LOOP ON ERROR^
38426 054505 312 13 0 00 070745 CAME 13,[123456,,701234] ;PASS IFC(AC) UNCHANGED
38427 STOP^
38428 054506 254 04 0 00 054507 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38429 054507 324 00 0 00 054510 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38430 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38431 ;IN THE SUBTEST) TO LOOP ON ERROR^
38432
38433 ;**********
38434
38435 ;THIS TEST VERIFhES THAT TRNA ALWAYS SKIPS THE NEXT SEQUENTIAL
38436 ;INSTRUCTION. HENCE, TRNA IS INDEPENDENT OF BOTH C(A) AND E.
38437 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300
38438 ;HENCE, TRNA SHOULD SKIP THE NEXT INSTRUCTION AND NOT ALTER C(AC).
38439
38440 054510 200 12 0 00 070745 C67710: MOVE 12,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
38441 054511 604 12 0 00 000300 TRNA 12,300 ;*TRNA SHOQLD ALWAYS SKIP
38442 STOP^
38443 054512 254 04 0 00 054513 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38444 054513 324 00 0 00 054514 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38445 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38446 ;IN THE SUBTEST) TO LOOP ON ERROR^
38447 054514 312 12 0 00 070745 CAME 12,[123456,,701234] ;PASS IF C(AC) UNCHANGED
38448 STOP^
38449 054515 254 04 0 00 054516 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38450 054516 324 00 0 00 054517 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38451 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38452 ;IN THE SUBTEST) TO LOOP ON ERROR^
38453
38454 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 52
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0880
38455 ;THIS TEST VERIFIaS THAT TLNA ALWAYS SKIPS THE NEXT SEQUENTIAL
38456 ;INSTRUCTION. HENCE, TLNA IS INDEPENDENt OF BOTH C(AC) AND E.
38457 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3.
38458 ;HENCE, TLNA SHOULD SKIP THE NEXT INSTRUCTION AND NOT ALTER C(AC).
38459
38460 054517 200 11 0 00 070745 C70000: MOVE 11,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
38461 054520 605 11 0 00 000003 TLNA 11,3 ;*TLNA SHOULD ALWAYS SKIP
38462 STOP^
38463 054521 254 04 0 00 054522 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38464 054522 324 00 0 00 054523 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38465 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38466 ;IN THE SUBTEST) TO LOOP ON ERROR^
38467 054523 312 11 0 00 070745 CAME 11,[123456,,701234] ;PASS IF C(AC) UNCHANGED
38468 STOP^
38469 054524 254 04 0 00 054525 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38470 054525 324 00 0 00 054526 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38471 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38472 ;IN THE SUBTEST) TO LOOP ON ERROR^
38473
38474 ;**********
38475
38476 ;THIS TEST VERIFIES THAT TLNA ALWAYS SKIPS THE NEXT SEQUENTIAL
38477 ;INSTRUCTION. HENCE, TLNA IS INDEPENDENT OF BOTH C(AC) AND E.
38478 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300.
38479 ;HENCE, TLNA SHOULD SKIP THE NEXT INSTRUCTION AND NOT ALTER C(AC).
38480
38481 054526 200 10 0 00 070745 C70010: MOVE 10,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
38482 054527 605 10 0 00 000300 TLNA 10,300 ;*TLNA SHOULD ALWAYS SKIP
38483 STOP^
38484 054530 254 04 0 00 054531 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38485 054531 324 00 0 00 054532 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38486 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38487 ;IN THE SUBTEST) TO LOOP ON ERROR^
38488 054532 312 10 0 00 070745 CAME 10,[123456,,701234] ;PASS IF C(AC) UNCHANGED
38489 STOP^
38490 054533 254 04 0 00 054534 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38491 054534 324 00 0 00 054535 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38492 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38493 ;IN THE SUBTEST) TO LOOP ON ERROR^
38494
38495 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 53
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0881
38496 ;THIS TEST VERIFIES THAT TRNN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
38497 ;IF AND ONLY IF NOT ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN
38498 ;E ARE ZERO. IN THIS CASE, C(AC)=123456,,701234 AND E=300.
38499 ;HENCE, TRNN SHOULD SKIP THE NEXT INSTRUCTION AND NOT ALTER C(AC).
38500
38501 054535 200 07 0 00 070745 C70100: MOVE 7,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
38502 054536 606 07 0 00 000300 TRNN 7,300 ;*TRNN SHOULD SKIP
38503 SToP^
38504 054537 254 04 0 00 054540 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38505 054540 324 00 0 00 054541 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38506 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38507 ;IN THE SUBTEST) TO LOOP ON ERROR^
38508 054541 312 07 0 00 070745 CAME 7,[123456,,701234] ;PASS IF C(AC) UNCHANGED
38509 STOP^
38510 054542 254 04 0 00 054543 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38511 054543 324 00 0 00 054544 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38512 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38513 ;IN THE SUBTEST) TO LOOP ON ERROR^
38514
38515 ;**********
38516
38517 ;THIS TEST VERIFIES THAT TRNN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
38518 ;IF AND ONLY IF NOT ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN
38519 ;E ARE ZERO. IN THIS CASE, C(AC)=123456,,701234 AND E=3.
38520 ;HENCE, TRNN SHoULD NOT SKIP THE NEXT INSTRUCTION AND NOT ALTER C(AC).
38521
38522 054544 200 06 0 00 070745 C70110: MOVE 6,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
38523 054545 606 06 0 00 000003 TRNN 6,3 ;*TRNN SHOULD NOT SKIP
38524 054546 334 00 0 00 000000 SKIPA ;PASS IF TRNN DID NOT SKIP
38525 STOP^
38526 054547 254 04 0 00 054550 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38527 054550 324 00 0 00 054551 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38528 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38529 ;IN THE SUBTEST) TO LOOP ON ERROR^
38530 054551 312 06 0 00 070745 CAME 6,[123456,,701234] ;PASS IF C(AC) UNCHANGED
38531 STOP^
38532 054552 254 04 0 00 054553 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38533 054553 324 00 0 00 054554 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38534 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38535 ;IN THE SUBTEST) TO LOOP ON ERROR^
38536
38537 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 54
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0882
38538 ;THIS TEST VERIFIES THAT TLNN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
38539 ;IF AND ONLY IF NOT ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO.
38540 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3.
38541 ;HENCE, TLNN SHOULD SKIP THE NEXT INSTRUCTION AND NOT ALTER C(AC).
38542
38543 054554 200 05 0 00 070745 C70200: MOVE 5,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
38544 054555 607 05 0 00 000003 TLNN 5,3 ;*TLNN SHOULD SKIP
38545 STOP^
38546 054556 254 04 0 00 054557 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38547 054557 324 00 0 00 054560 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38548 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38549 ;IN THE SUBTEST) TO LOOP ON ERROR^
38550 054560 312 05 0 00 070745 CAME 5,[123456,,701234] ;PASS IF C(AC) UNCHANGED
38551 STOP^
38552 054561 254 04 0 00 054562 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38553 054562 324 00 0 00 054563 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38554 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38555 ;IN THE SUBTEST) TO LOOP ON ERROR^
38556
38557 ;**********
38558
38559 ;THIS TEST VERIFIES thAT TLNN SkIPS THE NEXT SEQUENTIAL INSTRUcTION
38560 ;IF AND ONLY IF NOT ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO.
38561 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300.
38562 ;HENCE, TLNN SHOULD NOT SKIP THE NEXT INSTRUCTION AND NOT ALTER C(AC).
38563
38564 054563 200 04 0 00 070745 C70210: MOVE 4,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
38565 054564 607 04 0 00 000300 TLNN 4,300 ;*TLNN SHOULD NOT SKIP
38566 054565 334 00 0 00 000000 SKIPA ;PASS IF TLNN DOES NOT SKIP
38567 STOP^
38568 054566 254 04 0 00 054567 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38569 054567 324 00 0 00 054570 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38570 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38571 ;IN THE SUBTEST) TO LOOP ON ERROR^
38572 054570 312 04 0 00 070745 CAME 4,[123456,,701234] ;PASS IF C(AC) UNCHANGED
38573 STOP^
38574 054571 254 04 0 00 054572 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38575 054572 324 00 0 00 054573 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38576 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38577 ;IN THE SUBTEST) TO LOOP ON ERROR^
38578
38579 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 55
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0883
38580 ;THIS TEST VERIFIES THAT TSNE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
38581 ;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN C(E) WITH
38582 ;BOTH HALVES SNAPPED ARE ZERO. NEITHER AC NOR E ARE AFFECTED.
38583 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321
38584 ;HENCE, TSNE SHOULD SKIP THE NEXT INSTRUCtION AND
38585 ;BOTH C(AC) AND C(E) SHOULD BE UNMODIFIED.
38586
38587 054573 200 03 0 00 070745 C70300: MOVE 3,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
38588 054574 200 04 0 00 070754 MOVE 4,[76543,,654321] ;PRELOAD E WITH 076543,,654321
38589 054575 613 03 0 00 000004 TSNE 3,4 ;*TSNE SHOULD SKIP
38590 STOP^
38591 054576 254 04 0 00 054577 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38592 054577 324 00 0 00 054600 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38593 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38594 ;IN THE SUBTEST) TO LOOP ON ERROR^
38595 054600 312 03 0 00 070745 CAME 3,[123456,,701234] ;PASS IF C(AC) UNCHANGED
38596 STOP^
38597 054601 254 04 0 00 054602 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38598 054602 324 00 0 00 054603 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38599 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38600 ;IN THE SUBTEST) TO LOOP ON ERROR^
38601 054603 312 04 0 00 070754 CAME 4,[76543,,654321] ;PASS IF C(E) UNCHANGED
38602 STOP^
38603 054604 254 04 0 00 054605 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38604 054605 324 00 0 00 054606 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38605 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38606 ;IN THE SUBTEST) TO LOOP ON ERROR^
38607
38608 ;**********
38609
38610 ;THIS TEST VERIFIES THAT TSNE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
38611 ;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN C(E) WITH
38612 ;BOTH HALVES SNAPPED ARE ZERO. NEITHER AC NOR E ARE AFFECTED.
38613 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654323
38614 ;HENCE, TSNE SHOULD NOT SKIP THE NEXT INSTRUCTION AND
38615 ;BOTH C(AC) AND C(E) SHOULD BE UNMODIFIED.
38616
38617 054606 200 02 0 00 070745 C70310: MOVE 2,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
38618 054607 200 03 0 00 070755 MOVE 3,[76543,,654323] ;PRELOAD E WITH 076543,,654323
38619 054610 613 02 0 00 000003 TSNE 2,3 ;*TSNE SHOULD NOT SKIP
38620 054611 334 00 0 00 000000 SKIPA ;PASS IF TSOE DId NOT SKIP
38621 STOP^
38622 054612 254 04 0 00 054613 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38623 054613 324 00 0 00 054614 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38624 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38625 ;IN THE SUBTEST) TO LOOP ON ERROR^
38626 054614 312 02 0 00 070745 CAME 2,[123456,,701234] ;PASS IF C(AC) UNCHANGED
38627 STOP^
38628 054615 254 04 0 00 054616 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38629 054616 324 00 0 00 054617 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38630 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38631 ;IN THE SUBTEST) TO LOOP ON ERROR^
38632 054617 312 03 0 00 070755 CAME 3,[76543,,654323] ;PASS IF C(E) UNCHANGED
38633 STOP^
38634 054620 254 04 0 00 054621 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 55-1
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0884
38635 054621 324 00 0 00 054622 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38636 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38637 ;IN THE SUBTEST) TO LOOP ON ERROR^
38638
38639 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 56
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0885
38640 ;THIS TEST VERIFIES THAT TSNA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRUCTION
38641 ;NEITHER AC NOR E ARE AFFECTED.
38642 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321
38643 ;HENCE, TSNA SHOULD SKIP THE NEXT INSTRUCTION AND
38644 ;BOTH C(AC) AND C(E) SHOULD BE UNMODIFIED
38645
38646 054622 200 01 0 00 070745 C70400: MOVE 1,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
38647 054623 200 02 0 00 070754 MOVE 2,[76543,,654321] ;PRELOAD E WITH 076543,,654321
38648 054624 615 01 0 00 000002 TSNA 1,2 ;*TSNA SHOULD SKIP
38649 STOP^
38650 054625 254 04 0 00 054626 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38651 054626 324 00 0 00 054627 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38652 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38653 ;IN THE SUBTEST) TO LOOP ON ERROR^
38654 054627 312 01 0 00 070745 CAME 1,[123456,,701234] ;PASS IF C(AC) UNCHANGED
38655 STOP^
38656 054630 254 04 0 00 054631 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38657 054631 324 00 0 00 054632 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38658 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38659 ;IN THE SUBTEST) TO LOOP ON ERROR^
38660 054632 312 02 0 00 070754 CAME 2,[76543,,654321] ;PASS IF C(E) UNCHANGED
38661 STOP^
38662 054633 254 04 0 00 054634 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38663 054634 324 00 0 00 054635 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38664 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38665 ;IN THE SUBTEST) TO LOOP ON ERROR^
38666
38667 ;**********
38668
38669 ;THIS TEST VERIFIES THAT TSNA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRUCTION
38670 ;NEITHER AC NOR E ARE EFFECTED.
38671 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654323
38672 ;HENCE, TSNA SHOULD SKIP THE NEXT INSTRUCTION AND
38673 ;BOTH C(AC) AND C(E) SHOULD BE UNMODIFIED
38674
38675 054635 200 00 0 00 070745 C70410: MOVE 0,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
38676 054636 200 01 0 00 070755 MOVE 1,[76543,,654323] ;PRELOAD E WITH 076543,,654323
38677 054637 615 00 0 00 000001 TSNA 0,1 ;*TSNA SHOULD SKIP
38678 STOP^
38679 054640 254 04 0 00 054641 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38680 054641 324 00 0 00 054642 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38681 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38682 ;IN THE SUBTEST) TO LOOP ON ERROR^
38683 054642 312 01 0 00 070755 CAME 1,[76543,,654323] ;PASS IF C(E) UNCHANGED
38684 STOP^
38685 054643 254 04 0 00 054644 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38686 054644 324 00 0 00 054645 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38687 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38688 ;IN THE SUBTEST) TO LOOP ON ERROR^
38689
38690 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 57
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0886
38691 ;THIS TEST VERIFIES THAT TSNN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
38692 ;IF AND ONLY IF NOT ALL HITS IN THE AC CORRESPONDING TO 1'S IN C(E) WITH
38693 ;BOTH HALVES SWAPPED ARE ZERO. NEITHER AC NOR E ARE AFFECTED.
38694 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076547,,654321
38695 ;HENCE, TSNN SHOULD SKIP THE NEXT INSTRUCTION AND
38696 ;BOTH C(AC) AND C(E) SHOULD BE UNMODIFIED
38697
38698 054645 200 17 0 00 070745 C70500: MOVE 17,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
38699 054646 200 00 0 00 070756 MOVE 0,[76547,,654321] ;PRELOAD E WITH 076547,,654321
38700 054647 617 17 0 00 000000 TSNN 17,0 ;*TSNN SHOULD SKIP
38701 STOP^
38702 054650 254 04 0 00 054651 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38703 054651 324 00 0 00 054652 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38704 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38705 ;IN THE SUBTEST) TO LOOP ON ERROR^
38706 054652 312 17 0 00 070745 CAME 17,[123456,,701234] ;PASS IF C(AC) UNCHANGED
38707 STOP^
38708 054653 254 04 0 00 054654 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38709 054654 324 00 0 00 054655 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38710 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38711 ;IN THE SUBTEST) TO LOOP ON ERROR^
38712 054655 312 00 0 00 070756 CAME 0,[76547,,654321] ;PASS IF C(E) UNCHANGED
38713 STOP^
38714 054656 254 04 0 00 054657 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38715 054657 324 00 0 00 054660 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38716 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38717 ;IN THE SUBTEST) TO LOOP ON ERROR^
38718
38719 ;**********
38720
38721 ;THIS TEST VERIFIES THAT TSNN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
38722 ;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN C(E) WITH
38723 ;BOTH HALVES SWAPPED ARE ZERO. NEITHER AC NOR E ARE AFFECTED.
38724 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321
38725 ;HENCE, TSNN SHOULD NOT SKIP THE NEXT INSTRUCTION AND
38726 ;BOTH C(AC) AND C(E) SHOULD BE UNMODIFIED
38727
38728 054660 200 16 0 00 070745 C70510: MOVE 16,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
38729 054661 200 17 0 00 070754 MOVE 17,[76543,,654321] ;PRELOAD E WITH 076543,,654321
38730 054662 617 16 0 00 000017 TSNN 16,17 ;*TSNN SHOULD NOT SKIP
38731 054663 334 00 0 00 000000 SKIPA ;PASS IF TSNN DID NOT SKIP
38732 STOP^
38733 054664 254 04 0 00 054665 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38734 054665 324 00 0 00 054666 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38735 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38736 ;IN THE SUBTEST) TO LOOP ON ERROR^
38737 054666 312 16 0 00 070745 CAME 16,[123456,,701234] ;PASS IF C(AC) UNCHANGED
38738 STOP^
38739 054667 254 04 0 00 054670 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38740 054670 324 00 0 00 054671 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38741 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38742 ;IN THE SUBTEST) TO LOOP ON ERROR^
38743 054671 312 17 0 00 070754 CAME 17,[76543,,654321] ;PASS IF C(E) UNCHANGED
38744 STOP^
38745 054672 254 04 0 00 054673 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 57-1
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0887
38746 054673 324 00 0 00 054674 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38747 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38748 ;IN THE SUBTEST) TO LOOP ON ERROR^
38749
38750 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 58
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0888
38751 ;THIS TEST VERIFIES THAT TRZ CHANGES ALL BITS IN THE AC-RIGHT WHICH
38752 ;CORRESPOND TO 1'S IN E TO ZERO AND DOES NOT SKIP.
38753 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3
38754 ;HENCE, THE RESULT IN THE AC SHOULD BE 123456,,701234
38755
38756 054674 200 15 0 00 070745 C70600: MOVE 15,[123456,,701234] ;PRELOAD AC WITH 123456,,701234]
38757 054675 620 12 0 00 000003 TRZ 12,3 ;*TRZ SHOULD PLACE 123456,,701234 INTO
38758 ;THE AC AND NOT SKIP
38759 054676 334 00 0 00 000000 SKIPA ;PASS IF TRZ DOES NOT SKIP
38760 STOP^
38761 054677 254 04 0 00 054700 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38762 054700 324 00 0 00 054701 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38763 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38764 ;IN THE SUBTEST) TO LOOP ON ERROR^
38765 054701 312 15 0 00 070745 CAME 15,[123456,,701234] ;PASS IF C(AC)=123456,,701234
38766 STOP^
38767 054702 254 04 0 00 054703 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38768 054703 324 00 0 00 054704 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38769 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38770 ;IN THE SUBTEST) TO LOOP ON ERROR^
38771
38772 ;**********
38773
38774 ;THIS TEST VERIFIES THAT TRZ CHANGES ALL BITS IN THE AC-RIGHT WHICH
38775 ;CORRESPOND TO 1'S IN E TO ZERO AND DOES NOT SKIP.
38776 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300
38777 ;HENCE, THE RESULT IN THE AC SHOULD BE 123456,,701034
38778
38779 054704 200 14 0 00 070745 C70610: MOVE 14,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
38780 054705 620 14 0 00 000300 TRZ 14,300 ;*TRZ SHOULD PLACE 123456,,701234 INTO
38781 ;THE ACAND NOT SKIP
38782 054706 334 00 0 00 000000 SKIPA ;PASS IF TRX DOES NOT SKIP
38783 STOP^
38784 054707 254 04 0 00 054710 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38785 054710 324 00 0 00 054711 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38786 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38787 ;IN THE SUBTEST) TO LOOP ON ERROR^
38788 054711 312 14 0 00 070757 CAME 14,[123456,,701034] ;PASS IF C(AC)=123456,,701034
38789 STOP^
38790 054712 254 04 0 00 054713 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38791 054713 324 00 0 00 054714 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38792 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38793 ;IN THE SUBTEST) TO LOOP ON ERROR^
38794
38795 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 59
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0889
38796 ;THIS TEST VERIFIES THAT TLZ CHANGES ALL BITS IN THE AC-LEFT WHICH
38797 ;CORRESPOND TO 1'S IN E TO ZERO AND DOES NOT SKIP.
38798 ;IN THIS CACE, C(AC)=123456,,701234 AND E=300
38799 ;HENCE, THE RESULT IN THE AC SHOUL BE 123456,,701234
38800
38801 054714 200 13 0 00 070745 C70700: MOVE 13,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
38802 054715 621 13 0 00 000300 TLZ 13,300 ;*TLZ SHOULD PLACE 123456,,701234 INTO
38803 ;THE AC AND NOT SKIP
38804 054716 334 00 0 00 000000 SKIPA ;PASS IF TLZ DOES NOT SKIP
38805 STOP^
38806 054717 254 04 0 00 054720 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38807 054720 324 00 0 00 054721 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38808 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38809 ;IN THE SUBTEST) TO LOOP ON ERROR^
38810 054721 312 13 0 00 070745 CAME 13,[123456,,701234] ;PASS IF C(AC)=123456,,701234
38811 STOP^
38812 054722 254 04 0 00 054723 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38813 054723 324 00 0 00 054724 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38814 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38815 ;IN THE SUBTEST) TO LOOP ON ERROR^
38816
38817 ;**********
38818
38819 ;THIS TEST VERIFIES THAT TLZ CHANGES ALL BITS IN THE AC-LEFT WHICH
38820 ;CORRSPOND TO 1'S IN E TO ZERO AND DOES NOT SKIP.
38821 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3
38822 ;HENCE, THE RESULT IN THE AC SHOULD BE 123454,,701234
38823
38824 054724 200 12 0 00 070745 C70710: MOVE 12,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
38825 054725 621 12 0 00 000003 TLZ 12,3 ;*TLZ SHOULD PLACE 123454,,701234 INTO
38826 ;THE AC AND NOT SKIP
38827 054726 334 00 0 00 000000 SKIPA ;PASS IF TLZ DOES NOT SKIP
38828 STOP^
38829 054727 254 04 0 00 054730 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38830 054730 324 00 0 00 054731 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38831 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38832 ;IN THE SUBTEST) TO LOOP ON ERROR^
38833 054731 312 12 0 00 070760 CAME 12,[123454,,701234] ;PASS IF C(AC)=123454,701234
38834 STOP^
38835 054732 254 04 0 00 054733 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38836 054733 324 00 0 00 054734 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38837 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38838 ;IN THE SUBTEST) TO LOOP ON ERROR^
38839
38840 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 60
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0890
38841 ;THIS TEST VERIFIES THAT TRZE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
38842 ;IF AND ONLY IF ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO.
38843 ;THESE MASKED AC BITS ARE THEN CHANGED TO ZEROS.
38844 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3
38845 ;HENCE, TRZE SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION
38846 ;AND THE RESULT IN THE AC SHOULD BE 123456,,701234
38847
38848 054734 200 11 0 00 070745 C71000: MOVE 11,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
38849 054735 622 11 0 00 000003 TRZE 11,3 ;*TRZE SHOULD SKIP AND
38850 ;PLACE 123456,,701234 INTO THE AC
38851 STOP^
38852 054736 254 04 0 00 054737 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38853 054737 324 00 0 00 054740 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38854 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38855 ;IN THE SUBTEST) TO LOOP ON ERROR^
38856 054740 312 11 0 00 070745 CAME 11,[123456,,701234] ;PASS IF C(AC)=123456,,701234
38857 STOP^
38858 054741 254 04 0 00 054742 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38859 054742 324 00 0 00 054743 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38860 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38861 ;IN THE SUBTEST) TO LOOP ON ERROR^
38862
38863 ;**********
38864
38865 ;THIS TEST VERIFIES THAT TRZE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
38866 ;IF AND ONLY IF ALL BITS IN AC-RIGHT CORRSPONDING TO 1'S IN E ARE ZERO.
38867 ;THESE MASKED AC BITS ARE THEN CHANGED TO ZEROS.
38868 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300
38869 ;HENCE, TRZE SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION
38870 ;AND THE RESULT IN THE AC SHOUDL BE 123456,,701034
38871
38872 054743 200 10 0 00 070745 C71010: MOVE 10,[123456,,701234] ;PRELOAD AC WIT@ 123456,,701234
38873 054744 622 10 0 00 000300 TRZE 10,300 ;*TRZE SHOULD PLACE 123456,,701034 INTO
38874 ;THE AC AND NOT SKIP
38875 054745 334 00 0 00 000000 SKIPA ;PASS IF TRZE DOES NOT SKIP
38876 STOP^
38877 054746 254 04 0 00 054747 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38878 054747 324 00 0 00 054750 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38879 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38880 ;IN THE SUBTEST) TO LOOP ON ERROR^
38881 054750 312 10 0 00 070757 CAME 10,[123456,,701034] ;PASS IF C(AC)=123456,,701034
38882 STOP^
38883 054751 254 04 0 00 054752 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38884 054752 324 00 0 00 054753 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38885 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38886 ;IN THE SUBTEST) TO LOOP ON ERROR^
38887
38888 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 61
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0891
38889 ;THIS TEST VERIFIES THAT TLZE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
38890 ;IF AND ONLY IF ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO.
38891 ;THESE MASKED AC BITS ARE THEN CHANGED TO ZEROS.
38892 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300
38893 ;HENCE, TLZE SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION
38894 ;AND THE RESULT IN THE AC SHOULD BE 123456,,701234
38895
38896 054753 200 07 0 00 070745 C71100: MOVE 7,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
38897 054754 623 07 0 00 000300 TLZE 7,300 ;*TLZE SHOULD SKIP AND
38898 ;PLACE 123456,,701234 INTO THE AC
38899 STOP^
38900 054755 254 04 0 00 054756 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38901 054756 324 00 0 00 054757 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38902 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38903 ;IN THE SUBTEST) TO LOOP ON ERROR^
38904 054757 312 07 0 00 070745 CAME 7,[123456,,701234] ;PASS IF C(AC)=123456,,701234
38905 STOP^
38906 054760 254 04 0 00 054761 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38907 054761 324 00 0 00 054762 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38908 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38909 ;IN THE SUBTEST) TO LOOP ON ERROR^
38910
38911 ;**********
38912
38913 ;THIS TEST VERIFIES THAT TLZE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
38914 ;IF AND ONLY IF ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO.
38915 ;THESE MASKED AC BITS ARE THEN CHANGED TO ZEROS.
38916 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3
38917 ;HENCE, TLZE SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION
38918 ;AND THE RESULT IN THE AC SHOULD BE 123454,,701234
38919
38920 054762 200 06 0 00 070745 C71110: MOVE 6,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
38921 054763 623 06 0 00 000003 TLZE 6,3 ;*TLZE SHOULD PLACE 123454,,701234 INTO
38922 ;THE AC AND NOT SKIP
38923 054764 334 00 0 00 000000 SKIPA ;PASS IF TLZE DOES NOT SKIP
38924 STOP^
38925 054765 254 04 0 00 054766 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38926 054766 324 00 0 00 054767 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38927 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38928 ;IN THE SUBTEST) TO LOOP ON ERROR^
38929 054767 312 06 0 00 070760 CAME 6,[123454,,701234] ;PASS IF C(AC)=123454,,701234
38930 STOP^
38931 054770 254 04 0 00 054771 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38932 054771 324 00 0 00 054772 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38933 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38934 ;IN THE SUBTEST) TO LOOP ON ERROR^
38935
38936 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 62
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0892
38937 ;THIS TEST VERIFIES THAT TRZA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRUCTION
38938 ;AND CHANGES ALL BITS IN AC-RIGHT WHICH CORRESPOND TO 1'S IN E TO ZERO.
38939 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3.
38940 ;HENCE, TRZA SHOULD SKIP THE NEXT INSTRUCTION AND THE RESULT IN
38941 ;THE AC SHOULD BE 123456,,701234
38942
38943 054772 200 05 0 00 070745 C71200: MOVE 5,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
38944 054773 624 05 0 00 000003 TRZA 5,3 ;*TRZA SHOULD SKIP AND
38945 ;PLACE 123456,,701234 INTO THE AC
38946 STOP^
38947 054774 254 04 0 00 054775 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38948 054775 324 00 0 00 054776 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38949 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38950 ;IN THE SUBTEST) TO LOOP ON ERROR^
38951 054776 312 05 0 00 070745 CAME 5,[123456,,701234] ;PASS IF C(AC)=123456,,701234
38952 STOP^
38953 054777 254 04 0 00 055000 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38954 055000 324 00 0 00 055001 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38955 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38956 ;IN THE SUBTEST) TO LOOP ON ERROR^
38957
38958 ;**********
38959
38960 ;THIS TEST VERIFIES THAT TRZA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRUCTION
38961 ;AND CHANGES ALL BITS IN AC-RIGHT WHICH CORRESPOND TO 1'S IN E TO ZERO.
38962 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300.
38963 ;HENCE, TRZA SHOULD SKIP THE NEXT INSTRUCTION AND THE RESULT IN
38964 ;THE AC SHOULD BE 123456,,701234.
38965
38966 055001 200 04 0 00 070745 C71210: MOVE 4,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
38967 055002 624 04 0 00 000300 TRZA 4,300 ;*TRZA SHOULD SKIP AND
38968 ;PLACE 123456,,701034 INTO THE AC
38969 STOP^
38970 055003 254 04 0 00 055004 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38971 055004 324 00 0 00 055005 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38972 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38973 ;IN THE SUBTEST) TO LOOP ON ERROR^
38974 055005 312 04 0 00 070757 CAME 4,[123456,,701034] ;PASS IF C(AC)=123456,,701034
38975 STOP^
38976 055006 254 04 0 00 055007 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38977 055007 324 00 0 00 055010 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38978 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38979 ;IN THE SUBTEST) TO LOOP ON ERROR^
38980
38981 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 63
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0893
38982 ;THIS TEST VERIFIES THAT TLZA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRQCTION
38983 ;AND CHANGES ALL BITS IN AC-LEFT WHICH CORRESPOND TO 1'S IN E TO ZERO.
38984 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3.
38985 ;HENCE, TLZA SHOULD SKIP THE NEXT INSTRUCTION AND THE RESULT IN
38986 ;THE AC SHOULD BE 123454,,701234.
38987
38988 055010 200 03 0 00 070745 C71300: MOVE 3,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
38989 055011 625 03 0 00 000003 TLZA 3,3 ;*TLZA SHOULD SKIP AND
38990 ;PLACE 123454,,701234 INTO THE AC
38991 STOP^
38992 055012 254 04 0 00 055013 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38993 055013 324 00 0 00 055014 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
38994 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
38995 ;IN THE SUBTEST) TO LOOP ON ERROR^
38996 055014 312 03 0 00 070760 CAME 3,[123454,,701234] ;PASS IF C(AC)=123454,,701234
38997 STOP^
38998 055015 254 04 0 00 055016 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
38999 055016 324 00 0 00 055017 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39000 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39001 ;IN THE SUBTEST) TO LOOP ON ERROR^
39002
39003 ;**********
39004
39005 ;THIS TEST VERIFIES THAT TLZA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRUCTION
39006 ;AND CHANGES ALL BITS IN AC-LEFT WHICH CORRESPOND TO 1'S IN E TO ZERO.
39007 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300.
39008 ;HENCE, TLZA SHOULD SKIP THE NEXT INSTRUCTION AND THE RESULT IN
39009 ;THE AC SHOULD BE 123456,,701234.
39010
39011 055017 200 02 0 00 070745 C71310: MOVE 2,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
39012 055020 625 02 0 00 000300 TLZA 2,300 ;*TLZA SHOULD SKIP AND
39013 ;PLACE 123456,,701234 INTO THE AC
39014 STOP^
39015 055021 254 04 0 00 055022 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39016 055022 324 00 0 00 055023 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39017 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39018 ;IN THE SUBTEST) TO LOOP ON ERROR^
39019 055023 312 02 0 00 070745 CAME 2,[123456,,701234] ;PASS IF C(AC)=123456,,701234
39020 STOP^
39021 055024 254 04 0 00 055025 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39022 055025 324 00 0 00 055026 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39023 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39024 ;IN THE SUBTEST) TO LOOP ON ERROR^
39025
39026 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 64
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0894
39027 ;THIS TEST VERIFIES THAT TRZN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
39028 ;IF AND ONLY IF NOT ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO.
39029 ;THESE MASKED AC BITS ARE THEN CHANGED TO ZEROS.
39030 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300.
39031 ;HENCE, TRZN SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION
39032 ;AND THE RESULT IN THE AC SHOULD BE 123456,,701034.
39033
39034 055026 200 01 0 00 070745 C71400: MOVE 1,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
39035 055027 626 01 0 00 000300 TRZN 1,300 ;*TRZN SHOULD SKIP AND
39036 ;PLACE 123456,,701034 INTO THE AC
39037 STOP^
39038 055030 254 04 0 00 055031 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39039 055031 324 00 0 00 055032 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39040 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39041 ;IN THE SUBTEST) TO LOOP ON ERROR^
39042 055032 312 01 0 00 070757 CAME 1,[123456,,701034] ;PASS IF C(AC)=123456,,701034
39043 STOP^
39044 055033 254 04 0 00 055034 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39045 055034 324 00 0 00 055035 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39046 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39047 ;IN THE SUBTEST) TO LOOP ON ERROR^
39048
39049 ;**********
39050
39051 ;THIS TEST VERIFIES THAT TRZN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
39052 ;IF AND ONLY IF NOT ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO.
39053 ;THESE MASKED AC BITS ARE THEN CHANGED TO ZEROS.
39054 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3.
39055 ;HENCE, TRZN SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION
39056 ;AND THE RESULT IN THE AC SHOULD BE 123456,,701234.
39057
39058 055035 200 00 0 00 070745 C71410: MOVE 0,[123456,,701234] ;PRELOAD AC WATH 123456,,701234
39059 055036 626 00 0 00 000003 TRZN 0,3 ;*TRZN SHOULD PLACE 123456,,701234 INTO
39060 ;THE AC AND NOT SKIP
39061 055037 334 00 0 00 000000 SKIPA ;PASS IF TRZN DOES NOT SKIP
39062 STOP^
39063 055040 254 04 0 00 055041 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39064 055041 324 00 0 00 055042 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39065 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39066 ;IN THE SUBTEST) TO LOOP ON ERROR^
39067 055042 312 00 0 00 070745 CAME 0,[123456,,701234] ;PASS IF C(AC)=123456,,701234
39068 STOP^
39069 055043 254 04 0 00 055044 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39070 055044 324 00 0 00 055045 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39071 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39072 ;IN THE SUBTEST) TO LOOP ON ERROR^
39073
39074 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 65
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0895
39075 ;THIS TEST VERIFIES THAT TLZN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
39076 ;IF AND ONLY IF NOT ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO.
39077 ;THESE MASKED AC BITS ARE THEN CHANGED TO ZEROS.
39078 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3.
39079 ;HENCE, TLZN SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION
39080 ;AND THE RESULT IN THE AC SHOULD BE 123454,,701234.
39081
39082 055045 200 17 0 00 070745 C71500: MOVE 17,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
39083 055046 627 17 0 00 000003 TLZN 17,3 ;TLZN SHOULD SKIP AND
39084 ;PLACE 123454,,701234 INTO THE AC
39085 STOP^
39086 055047 254 04 0 00 055050 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39087 055050 324 00 0 00 055051 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39088 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39089 ;IN THE SUBTEST) TO LOOP ON ERROR^
39090 055051 312 17 0 00 070760 CAME 17,[123454,,701234] ;PASS IF C(AC)=123454,,701234
39091 STOP^
39092 055052 254 04 0 00 055053 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39093 055053 324 00 0 00 055054 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39094 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39095 ;IN THE SUBTEST) TO LOOP ON ERROR^
39096
39097 ;**********
39098
39099 ;THIS TEST VERIFIES THAT TLZN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
39100 ;IF AND ONLY IF NOT ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO.
39101 ;THESE MASKED AC BIPS ARE THEN CHANGED TO ZEROS.
39102 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300.
39103 ;HENCE, TLZN SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION
39104 ;AND THE RESULT IN THE AC SHOULD BE 123456,,701234.
39105
39106 055054 200 16 0 00 070745 C71510: MOVE 16,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
39107 055055 627 16 0 00 000300 TLZN 16,300 ;*TLZN SHOULD PLACE 123456,,701234 INTO
39108 ;THE AC AND NOT SKIP
39109 055056 334 00 0 00 000000 SKIPA ;PASS IF TLZN DOES NOT SKIP
39110 STOP^
39111 055057 254 04 0 00 055060 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39112 055060 324 00 0 00 055061 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39113 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39114 ;IN THE SUBTEST) TO LOOP ON ERROR^
39115 055061 312 16 0 00 070745 CAME 16,[123456,,701234] ;PASS IF C(AC)=123456,,701234
39116 STOP^
39117 055062 254 04 0 00 055063 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39118 055063 324 00 0 00 055064 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39119 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39120 ;IN THE SUBTEST) TO LOOP ON ERROR^
39121
39122 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 66
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0896
39123 ;THIS TEST VERIFIES THAT TSZ CLEARS ALL BITS OF THE AC WHICH
39124 ;CORRESPOND TO 1'S IN C(E) WITH BOTH HALVES SWAPPED AND DOES
39125 ;NOT SKIP THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED.
39126 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321.
39127 ;HENCE, TSZ SHOULD NOT SKIP AND C(AC) SHOULD BE 123456,,701234.
39128
39129 055064 200 15 0 00 070745 C71600: MOVE 15,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
39130 055065 200 16 0 00 070754 MOVE 16,[076543,,654321] ;PRELOAD E WITH 076543,,654321
39131 055066 631 15 0 00 000016 TSZ 15,16 ;*TSZ SHOULD NOT SKIP AND
39132 ;PLACE 123456,,701234 INTO THE AC
39133 055067 334 00 0 00 000000 SKIPA ;PASS IF TSZ DID NOT SKIP
39134 STOP^
39135 055070 254 04 0 00 055071 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39136 055071 324 00 0 00 055072 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39137 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39138 ;IN THE SUBTEST) TO LOOP ON ERROR^
39139 055072 312 15 0 00 070745 CAME 15,[123456,,701234] ;PASS IF C(AC)=123456,,701234
39140 STOP^
39141 055073 254 04 0 00 055074 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39142 055074 324 00 0 00 055075 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39143 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39144 ;IN THE SUBTEST) TO LOOP ON ERROR^
39145 055075 312 16 0 00 070754 CAME 16,[76543,,654321] ;PASS IF C(E) UNCHANCED
39146 STOP^
39147 055076 254 04 0 00 055077 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39148 055077 324 00 0 00 055100 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39149 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39150 ;IN THE SUBTEST) TO LOOP ON ERROR^
39151
39152 ;**********
39153
39154 ;THIS TEST VERIFIES THAT TSZ CLEARS ALL BITS OF THE AC WHICH
39155 ;CORRESPOND TO 1'S IN C(E) WITH BOTH HALVES SWAPPED AND DOES
39156 ;NOT SKIP THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED.
39157 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=252525,,707070.
39158 ;HENCE, TSZ SHOULD NOT SKIP AND C(AC) SHOULD BE 020406,,501210.
39159
39160 055100 200 14 0 00 070745 C71610: MOVE 14,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
39161 055101 200 15 0 00 070761 MOVE 15,[252525,,707070] ;PRELOAD E WITH 252525,,707070
39162 055102 631 14 0 00 000015 TSZ 14,15 ;*TSZ SHOULD NOT SKIP AND
39163 ;PLACE 020406,,501210 INTO THE AC
39164 055103 334 00 0 00 000000 SKIPA ;PASS IF TSZ DID NOT SKIP
39165 STOP^
39166 055104 254 04 0 00 055105 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39167 055105 324 00 0 00 055106 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39168 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39169 ;IN THE SUBTEST) TO LOOP ON ERROR^
39170 055106 312 14 0 00 070762 CAME 14,[020406,,501210] ;PASS IF C(AC)=020406,,501210
39171 STOP^
39172 055107 254 04 0 00 055110 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39173 055110 324 00 0 00 055111 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39174 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39175 ;IN THE SUBTEST) TO LOOP ON ERROR^
39176 055111 312 15 0 00 070761 CAME 15,[252525,,707070] ;PASS IF C(E) UNCHANGED
39177 STOP^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 66-1
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0897
39178 055112 254 04 0 00 055113 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39179 055113 324 00 0 00 055114 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39180 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39181 ;IN THE SUBTEST) TO LOOP ON ERROR^
39182
39183 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 67
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0898
39184 ;THIS TEST VERIFIES THAT TDZE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
39185 ;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN
39186 ;C(E).
39187 ;AC BITS ARE THEN CHANGED TO ZERO.
39188 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=654321,,076543.
39189 ;HENCE, TDZE SHOULD SKIP AND THE RESULT IN THE AC
39190 ;SHOULD BE 123456,,701234. C(E) IS NOT AFFECTED.
39191
39192 055114 200 13 0 00 070745 C71700: MOVE 13,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
39193 055115 200 14 0 00 070763 MOVE 14,[654321,,076543] ;PRELOAD E WITH 654321,,076543
39194 055116 632 13 0 00 000014 TDZE 13,14 ;*TDZE SHOULD SKIP AND
39195 ;PLACE 123456,,701234 INTO THE AC
39196 STOP^
39197 055117 254 04 0 00 055120 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39198 055120 324 00 0 00 055121 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39199 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39200 ;IN THE SUBTEST) TO LOOP ON ERROR^
39201 055121 312 13 0 00 070745 CAME 13,[123456,,701234] ;PASS IF C(AC)=123456,,701234]
39202 STOP^
39203 055122 254 04 0 00 055123 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39204 055123 324 00 0 00 055124 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39205 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39206 ;IN THE SUBTEST) TO LOOP ON ERROR^
39207 055124 312 14 0 00 070763 CAME 14,[654321,,076543] ;PASS IF C(E) UNCHANGED
39208 STOP^
39209 055125 254 04 0 00 055126 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39210 055126 324 00 0 00 055127 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39211 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39212 ;IN THE SUBTEST) TO LOOP ON ERROR^
39213
39214 ;**********
39215
39216 ;THIS TEST VERIFIES THAT TDZE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
39217 ;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN
39218 ;C(E) ARE ZERO. THESE MASKED
39219 ;AC BITS ARE THEN CHANGED TO ZERO.
39220 ;IN THIS CASE, C(AC)= 123456,,701234 AND C(E)= 754321,,076543
39221 ;HENCE, TDZE SHOULD NOT SKIP AND THE RESULT IN AC
39222 ;SHOULD BE 023456,,701234 C(E) IS NOT AFFECTED
39223
39224 055127 200 12 0 00 070745 C71710: MOVE 12,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
39225 055130 200 13 0 00 070764 MOVE 13,[754321,,076543] ;PRELOAD E WITH 754321,,076543
39226 055131 632 12 0 00 000013 TDZE 12,13 ;*TDZE SHOULD NOT SKIP AND
39227 ;PLACE 023456,,701234 INTO THE AC
39228 055132 334 00 0 00 000000 SKIPA ;PASS IF TDZE DOES NOT SKIP
39229 STOP^
39230 055133 254 04 0 00 055134 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39231 055134 324 00 0 00 055135 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39232 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39233 ;IN THE SUBTEST) TO LOOP ON ERROR^
39234 055135 312 12 0 00 070765 CAME 12,[023456,,701234] ;PASS IF C(AC)= 023456,,701234
39235 STOP^
39236 055136 254 04 0 00 055137 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39237 055137 324 00 0 00 055140 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39238 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 67-1
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0899
39239 ;IN THE SUBTEST) TO LOOP ON ERROR^
39240 055140 312 13 0 00 070764 CAME 13,[754321,,076543] ;PASS IF C(E) UNCHANGED
39241 STOP^
39242 055141 254 04 0 00 055142 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39243 055142 324 00 0 00 055143 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39244 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39245 ;IN THE SUBTEST) TO LOOP ON ERROR^
39246
39247 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 68
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0900
39248 ;THIS TEST VERIFIES THAT TSZE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
39249 ;IF AND ONLY IF ALL BITS IN THE AC CORRECPONDING TO 1'S IN
39250 ;C(E) WITH BOTH HALVES SWAPPED ARE ZERO. THESE MASKED
39251 ;AC BITS ARE THEN CHANGED TO ZERO.
39252 ;IN THIS CASE, C(AC)= 123456,,701234 AND C(E)= 076543,,654321
39253 ;HENCE, TSZE SHOULD SKIP AND THE RESULT IN AC
39254 ;SHOULD BE 123456,,701234 C(E) IS NOT AFFECTED
39255
39256 055143 200 11 0 00 070745 C72000: MOVE 11,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
39257 055144 200 12 0 00 070754 MOVE 12,[076543,,654321] ;PRELOAD E WITH 076543,,654321
39258 055145 633 11 0 00 000012 TSZE 11,12 ;*TSZE SHOULD SKIP AND
39259 ;PLACE 123456,,701234 INTO THE AC
39260 STOP^
39261 055146 254 04 0 00 055147 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39262 055147 324 00 0 00 055150 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39263 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39264 ;IN THE SUBTEST) TO LOOP ON ERROR^
39265 055150 312 11 0 00 070745 CAME 11,[123456,,701234] ;PASS IF C(AC)= 123456,,701234
39266 STOP^
39267 055151 254 04 0 00 055152 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39268 055152 324 00 0 00 055153 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39269 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39270 ;IN THE SUBTEST) TO LOOP ON ERROR^
39271 055153 312 12 0 00 070754 CAME 12,[76543,,654321] ;PASS IF C(E) UNCHANGED
39272 STOP^
39273 055154 254 04 0 00 055155 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39274 055155 324 00 0 00 055156 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39275 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39276 ;IN THE SUBTEST) TO LOOP ON ERROR^
39277
39278 ;**********
39279
39280 ;THIS TEST VERIFIES THAT TSZE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
39281 ;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN
39282 ;C (E) WITH BOTH HALVES SWAPPED ARE ZERO. THESE MASKED
39283 ;AC BITS ARE THEN CHANGED TO ZERO
39284 ;IN THIS CASE, C(AC)= 123456,,701234 AND C(E)= 076543,,657321
39285 ;HENCE, TSZE SHOULD NOT SKIP AND THE RESULT IN AC
39286 ;SHOULD BE 120456,,701234 C(E) IS NOT AFFECTED
39287
39288 055156 200 10 0 00 070745 C72010: MOVE 10,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
39289 055157 200 11 0 00 070766 MOVE 11,[76543,,657321] ;PRELOAD E WITH 076543,,654321
39290 055160 633 10 0 00 000011 TSZE 10,11 ;*TSZE SHOULD NOT SKIP AND
39291 ;PLACE 120456,,701234 INTO THE AC
39292 055161 334 00 0 00 000000 SKIPA ;PASS IF TSZE DID NOT SKIP
39293 STOP^
39294 055162 254 04 0 00 055163 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39295 055163 324 00 0 00 055164 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39296 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39297 ;IN THE SUBTEST) TO LOOP ON ERROR^
39298 055164 312 10 0 00 070767 CAME 10,[120456,,701234] ;PASS IF C(AC)= 120456,,701234
39299 STOP^
39300 055165 254 04 0 00 055166 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39301 055166 324 00 0 00 055167 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39302 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 68-1
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0901
39303 ;IN THE SUBTEST) TO LOOP ON ERROR^
39304 055167 312 11 0 00 070766 CAME 11,[76543,,657321] ;PASS IF C(E) UNCHANGED
39305 STOP^
39306 055170 254 04 0 00 055171 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39307 055171 324 00 0 00 055172 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39308 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39309 ;IN THE SUBTEST) TO LOOP ON ERROR^
39310
39311
39312 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 69
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0902
39313 ;THIS TEST VERIFIES THAT TDZA CLEARS ALL BITS OF THE AC WHICH
39314 ;CORRESPOND TO 1'S IN C(E) AND ALWAYS
39315 ;SKIPS THE NEXT INSTRUCTION C(E) IS NOT AFFECTED
39316 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)= 654321,,076543
39317 ;HENCE, TD2A SHOULD ALWAYS SKIP AND C(AC) SHOULD BE 123456,,701234
39318
39319 055172 200 07 0 00 070745 C72100: MOVE 7,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
39320 055173 200 10 0 00 070763 MOVE 10,[654321,,076543] ;PRELOAD E WITH 654321,,076543
39321 055174 634 07 0 00 000010 TDZA 7,10 ;*TDZA SHOULD SKIP AND
39322 ;PLACE 123456,,701234 INTO THE AC
39323 STOP^
39324 055175 254 04 0 00 055176 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39325 055176 324 00 0 00 055177 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39326 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39327 ;IN THE SUBTEST) TO LOOP ON ERROR^
39328 055177 312 07 0 00 070745 CAME 7,[123456,,701234] ;PASS IF C(AC)= 123456,,701234
39329 STOP^
39330 055200 254 04 0 00 055201 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39331 055201 324 00 0 00 055202 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39332 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39333 ;IN THE SUBTEST) TO LOOP ON ERROR^
39334 055202 312 10 0 00 070763 CAME 10,[654321,,076543] ;PASS IF C(AC)=123456,,701234
39335 STOP^
39336 055203 254 04 0 00 055204 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39337 055204 324 00 0 00 055205 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39338 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39339 ;IN THE SUBTEST) TO LOOP ON ERROR^
39340 055205 312 10 0 00 070763 CAME 10,[654321,,076543] ;PASS IF C(E) UNCHANGED
39341 STOP^
39342 055206 254 04 0 00 055207 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39343 055207 324 00 0 00 055210 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39344 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39345 ;IN THE SUBTEST) TO LOOP ON ERROR^
39346
39347 ;**********
39348
39349 ;THIS TEST VERIFIES THAT TDZA CLEARS ALL BITS OF THE AC WHICH
39350 ;CORRESPOND TO 1'S IN C(E) AND ALWAYS
39351 ;SKIPS THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED
39352 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=252525,,707070
39353 ;HENCE, TDZA SHOULD ALWAYS SKIP AND C(AC) SHOULD BE 121052,,000204
39354
39355 055210 200 06 0 00 070745 C72110: MOVE 6,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
39356 055211 200 07 0 00 070761 MOVE 7,[252525,,707070] ;PRELOAD E WITH 252525,,707070
39357 055212 634 06 0 00 000007 TDZA 6,7 ;*TDZA SHOULD SKIP AND
39358 ;PLACE 121052,,000204 INTO THE AC
39359 STOP^
39360 055213 254 04 0 00 055214 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39361 055214 324 00 0 00 055215 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39362 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39363 ;IN THE SUBTEST) TO LOOP ON ERROR^
39364 055215 312 06 0 00 070770 CAME 6,[121052,,000204] ;PASS IF C(AC)=121052,,000204
39365 STOP^
39366 055216 254 04 0 00 055217 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39367 055217 324 00 0 00 055220 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 69-1
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0903
39368 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39369 ;IN THE SUBTEST) TO LOOP ON ERROR^
39370 055220 312 07 0 00 070761 CAME 7,[252525,,707070] ;PASS IF C(E) UNCHANGED
39371 STOP^
39372 055221 254 04 0 00 055222 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39373 055222 324 00 0 00 055223 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39374 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39375 ;IN THE SUBTEST) TO LOOP ON ERROR^
39376
39377 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 70
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0904
39378 ;THIS TEST VERIFIES TH`T TSZA CLEARS AHL BITS OF THE AC WHICH
39379 ;CORRESPOND TO 1'S IN C(E) WITH BOTH HALVES SWAPPED AND ALWAYS
39380 ;SKIPS THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED.
39381 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321
39382 ;HENCE, TSZA SHOULD ALWAYS SKIP AND C(AC) SHOULD BE 123456,,701234
39383
39384 055223 200 05 0 00 070745 C72200: MOVE 5,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
39385 055224 200 06 0 00 070754 MOVE 6,[076543,,654321] ;PRELOAD E WITH 076543,,654321
39386 055225 635 05 0 00 000006 TSZA 5,6 ;*TSZA SHOULD SKIP AND
39387 ;PLACE 123456,,701234 INTO THE AC
39388 STOP^
39389 055226 254 04 0 00 055227 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39390 055227 324 00 0 00 055230 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39391 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39392 ;IN THE SUBTEST) TO LOOP ON ERROR^
39393 055230 312 05 0 00 070745 CAME 5,[123456,,701234] ;PASS IF C(AC)=123456,,701234
39394 STOP^
39395 055231 254 04 0 00 055232 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39396 055232 324 00 0 00 055233 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39397 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39398 ;IN THE SUBTEST) TO LOOP ON ERROR^
39399 055233 312 06 0 00 070754 CAME 6,[076543,,654321] ;PASS IF C(E) UNCHANGED
39400 STOP^
39401 055234 254 04 0 00 055235 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39402 055235 324 00 0 00 055236 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39403 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39404 ;IN THE SUBTEST) TO LOOP ON ERROR^
39405
39406 ;**********
39407
39408 ;THIS TEST VERIFIES THAT TSZA CLEARS ALL BITS OF THE AC WHICH
39409 ;CORRESPOND TO 1'S IN C(E) WITH BOTH HALVES SWAPPED AND ALWAYS
39410 ;SKIPS THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED.
39411 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=701234,,123456
39412 ;HENCE, TSZA SHOULD ALWAYS SKIP AND C(AC) SHOULD BE 0
39413
39414 055236 200 04 0 00 070745 C72210: MOVE 4,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
39415 055237 200 05 0 00 070771 MOVE 5,[701234,,123456] ;PRELOAD E WITH 701234,,123456
39416 055240 635 04 0 00 000005 TSZA 4,5 ;*TSZA SHOULD SKIP AND
39417 ;PLACE 0 INTO THE AC
39418 STOP^
39419 055241 254 04 0 00 055242 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39420 055242 324 00 0 00 055243 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39421 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39422 ;IN THE SUBTEST) TO LOOP ON ERROR^
39423 055243 312 04 0 00 070253 CAME 4,[0] ;PASS IF C(AC)=0
39424 STOP^
39425 055244 254 04 0 00 055245 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39426 055245 324 00 0 00 055246 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39427 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39428 ;IN THE SUBTEST) TO LOOP ON ERROR^
39429 055246 312 05 0 00 070771 CAME 5,[701234,,123456] ;PASS IF C(E) UNCHANGED
39430 SToP^
39431 055247 254 04 0 00 055250 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39432 055250 324 00 0 00 055251 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 70-1
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0905
39433 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39434 ;IN THE SUBTEST) TO LOOP ON ERROR^
39435
39436 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 71
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0906
39437 ;THIS TEST VERIFIES THAT TDZN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
39438 ;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN
39439 ;C(E) ARE ZERO. THESE MASKED
39440 ;AC BITS ARE THEN CHANGEDTO ZERO.
39441 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=654321,,076547
39442 ;HENCE, TDZN SHOULD SKIP AND THE RESULT IN THE AC
39443 ;SHOULD BE 123456(,701230. C(E) IS NOT AFFECTED.
39444
39445 055251 200 03 0 00 070745 C72300: MOVE 3,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
39446 055252 200 04 0 00 070772 MOVE 4,[654321,,76547] ;PRELOAD E WITH 654321,,076547
39447 055253 636 03 0 00 000004 TDZN 3,4 ;*TDZN SHoULD SKIP AND
39448 ;PLACE 123456,,701230 INTO THE AC
39449 STOP^
39450 055254 254 04 0 00 055255 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39451 055255 324 00 0 00 055256 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39452 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39453 ;IN THE SUBTEST) TO LOOP ON ERROR^
39454 055256 312 03 0 00 070773 CAME 3,[123456,,701230] ;PASS IF C(AC)=123456,,701230
39455 STOP^
39456 055257 254 04 0 00 055260 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39457 055260 324 00 0 00 055261 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39458 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39459 ;IN THE SUBTEST) TO LOOP ON ERROR^
39460 055261 312 04 0 00 070772 CAME 4,[654321,,076547] ;PASS IF C(E) UNCHANGED
39461 STOP^
39462 055262 254 04 0 00 055263 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39463 055263 324 00 0 00 055264 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39464 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39465 ;IN THE SUBTEST) TO LOOP ON ERROR^
39466
39467 ;**********
39468
39469 ;THIS TEST VERIFIES THAT TDZN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
39470 ;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN
39471 ;C(E) ARE ZERO. THESE MASKED
39472 ;AC BITS ARE THEN CHANGED TO ZERO.
39473 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=654321,,076543
39474 ;HENCE, TDZN SHOULD NOT SKIP AND THE RESULT IN THE AC
39475 ;SHOULD BE 123456,,701234. C(E) IS NOT AFFECTED.
39476
39477 055264 200 02 0 00 070745 C72310: MOVE 2,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
39478 055265 200 03 0 00 070763 MOVE 3,[654321,,076543] ;PRELOAD E WITH 654321,,076543
39479 055266 636 02 0 00 000003 TDZN 2,3 ;*TDZN SHOULD NOT SKIP AND
39480 ;PLACE 123456,,701234 INTO THE AC
39481 055267 334 00 0 00 000000 SKIPA ;PASS IF TDZN DOES NOT SKIP
39482 STOP^
39483 055270 254 04 0 00 055271 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39484 055271 324 00 0 00 055272 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39485 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39486 ;IN THE SUBTEST) TO LOOP ON ERROR^
39487 055272 312 02 0 00 070745 CAME 2,[123456,,701234] ;PASS IF C(AC)=123456,,701234
39488 STOP^
39489 055273 254 04 0 00 055274 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39490 055274 324 00 0 00 055275 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39491 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 71-1
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0907
39492 ;IN THE SUBTEST) TO LOOP ON ERROR^
39493 055275 312 03 0 00 070763 CAME 3,[654321,,076543] ;PASS IF C(E) UNCHANGED
39494 STOP^
39495 055276 254 04 0 00 055277 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39496 055277 324 00 0 00 055300 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39497 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39498 ;IN THE SUBTEST) TO LOOP ON ERROR^
39499
39500 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 72
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0908
39501 ;THIS TEST VERIFIES THaT TSZN SKIPS THE NEXT SEQQENPIAL INSTRUCTION
39502 ;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN
39503 ;C(E) WITH BOTH HALVES SWAPPED ARE ZERO. THESE MASKED
39504 ;AC BITS ARE THEN CHANGED TO ZERO.
39505 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=077543,,654321.
39506 ;HENCE, TSZN SHOULD SKIP AND THE RESULT IN THE AC
39507 ;SHOULD BE 123456,,700234. C(E) IS NOT AFFECTED.
39508
39509 055300 200 01 0 00 070745 C72400: MOVE 1,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
39510 055301 200 02 0 00 070774 MOVE 2,[077543,,654321] ;PRELOAD E WITH 077543,,654321
39511 055302 637 01 0 00 000002 TSZN 1,2 ;*TSZN SHOULD SKIP AND
39512 ;PLACE 123456,,700234 INTO THE AC
39513 STOP^
39514 055303 254 04 0 00 055304 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39515 055304 324 00 0 00 055305 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39516 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39517 ;IN THE SUBTEST) TO LOOP ON ERROR^
39518 055305 312 01 0 00 070775 CAME 1,[123456,,700234] ;PASS IF C(AC)=123456,,700234
39519 STOP^
39520 055306 254 04 0 00 055307 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39521 055307 324 00 0 00 055310 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39522 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39523 ;IN THE SUBTEST) TO LOOP ON ERROR^
39524 055310 312 02 0 00 070774 CAME 2,[77543,,654321] ;PASS IF C(E) UNCHANGED
39525 STOP^
39526 055311 254 04 0 00 055312 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39527 055312 324 00 0 00 055313 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39528 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39529 ;IN THE SUBTEST) TO LOOP ON ERROR^
39530
39531 ;**********
39532
39533 ;THIS TEST VERIFIES THAT TSZN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
39534 ;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN
39535 ;C(E) WITH BOTH HALVES SWAPPED ARE ZERO. THESE MASKED
39536 ;AC BITS ARE THEN CHANGED TO ZERO.
39537 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321.-
39538 ;HENCE, TSZN SHOULD NOT SKIP AND THE RESULT IN THE AC
39539 ;SHOULD BE 123456,,701234. C(E) IS NOT AFFECTED.
39540
39541 055313 200 00 0 00 070745 C72410: MOVE 0,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
39542 055314 200 01 0 00 070754 MOVE 1,[76543,,654321] ;PRElOAD E WITH 076543,,654321
39543 055315 637 00 0 00 000001 TSZN 0,1 ;*TSZN SHOULD NOT SKIP AND
39544 ;PLACE 123456,,701234 INTO THE AC
39545 055316 334 00 0 00 000000 SKIPA ;PASS IF TSZN DOES NOT SKIP
39546 STOP^
39547 055317 254 04 0 00 055320 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39548 055320 324 00 0 00 055321 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39549 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39550 ;IN THE SUBTEST) TO LOOP ON ERROR^
39551 055321 312 00 0 00 070745 CAME 0,[123456,,701234] ;PASS IF C(AC)=123456,,701234]
39552 STOP^
39553 055322 254 04 0 00 055323 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39554 055323 324 00 0 00 055324 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39555 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 72-1
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0909
39556 ;IN THE SUBTEST) TO LOOP ON ERROR^
39557 055324 312 01 0 00 070754 CAME 1,[76543,,654321] ;PASS IF C(E) UNCHANGED
39558 STOP^
39559 055325 254 04 0 00 055326 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39560 055326 324 00 0 00 055327 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39561 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39562 ;IN THE SUBTEST) TO LOOP ON ERROR^
39563
39564 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 73
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0910
39565 ;THIS TEST VERIFIES THAT TRC COMPLEMENTS ALL BITS IN THE AC-RIGHT WHICH
39566 ;CORRESPOND TO 1'S IN E AND DOES NOT SKIP.
39567 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3.
39568 ;HENCE, THE RESULT IN THE AC SHOUHD BE 123456,,701237
39569
39570 055327 200 17 0 00 070745 C72500: MOVE 17,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
39571 055330 640 17 0 00 000003 TRC 17,3 ;*TRC SHOULD NOT SKIP AND
39572 ;PLACE 123456,,701237 INTO THE AC
39573 055331 334 00 0 00 000000 SKIPA ;PASS IF TRC DID NOT SKIP
39574 STOP^
39575 055332 254 04 0 00 055333 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39576 055333 324 00 0 00 055334 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39577 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39578 ;IN THE SUBTEST) TO LOOP ON ERROR^
39579 055334 312 17 0 00 070776 CAME 17,[123456,,701237] ;PASS IF C(AC)=123456,,701237
39580 STOP^
39581 055335 254 04 0 00 055336 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39582 055336 324 00 0 00 055337 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39583 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39584 ;IN THE SUBTEST) TO LOOP ON ERROR^
39585
39586 ;**********
39587
39588 ;THIS TEST VERIFIES THAT TRC COMPLEMENTS ALL BITS IN THE AC-RIGHT WHICH
39589 ;CORRESPOND TO 1'S IN E AND DOES NOT SKIP.
39590 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300.
39591 ;HENCE, THE RESULT IN THE AC SHOULD BE 123456,,701134
39592
39593 055337 200 16 0 00 070745 C72510: MOVE 16,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
39594 055340 640 16 0 00 000300 TRC 16,300 ;*TRC SHOULD NOT SKIP AND
39595 ;PLACE 123456,,701134 INTO THE AC
39596 055341 334 00 0 00 000000 SKIPA ;PASS IF TRC DID NOT SKIP
39597 STOP^
39598 055342 254 04 0 00 055343 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39599 055343 324 00 0 00 055344 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39600 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39601 ;IN THE SUBTEST) TO LOOP ON ERROR^
39602 055344 312 16 0 00 070777 CAME 16,[123456,,701134] ;PASS IF C(AC)=123456,,701134
39603 STOP^
39604 055345 254 04 0 00 055346 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39605 055346 324 00 0 00 055347 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39606 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39607 ;IN THE SUBTEST) TO LOOP ON ERROR^
39608
39609 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 74
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0911
39610 ;THIS TEST VERIFIES THAT TLC COMPLEMENTS ALL BITS IN THE AC-LEFT WHICH
39611 ;CORRESPOND TO 1'S IN E AND DOES NOT SKIP.
39612 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300.
39613 ;HENCE, ThE RESULT IN THE AC SHOULD BE 123756,,701234.
39614
39615 055347 200 15 0 00 070745 C72600: MOVE 15,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
39616 055350 641 15 0 00 000300 TLC 15,300 ;*TLC SHOULD NOT SKIP AND
39617 ;PLACE 123756,,701234 INTO THE AC
39618 055351 334 00 0 00 000000 SKIPA ;PASS IF TLC DID NOT SKIP
39619 STOP^
39620 055352 254 04 0 00 055353 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39621 055353 324 00 0 00 055354 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39622 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39623 ;IN THE SUBTEST) TO LOOP ON ERROR^
39624 055354 312 15 0 00 071000 CAME 15,[123756,,701234] ;PASS IF A(AC)=123756,,701234
39625 STOP^
39626 055355 254 04 0 00 055356 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39627 055356 324 00 0 00 055357 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39628 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39629 ;IN THE SUBTEST) TO LOOP ON ERROR^
39630
39631 ;**********
39632
39633 ;THIS TEST VERIFIES THAT TLC COMPLEMENTS ALL BITS IN THE AC-LEFT WHICH
39634 ;CORRESPOND TO 1'S IN E AND DOES NOT SKIP.
39635 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3.
39636 ;HENCE, THE RESULT IN THE AC SHOULD BE 123455,,701234.
39637
39638 055357 200 14 0 00 070745 C72610: MOVE 14,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
39639 055360 641 14 0 00 000003 TLC 14,3 ;*TLC SHOULD NOT SKIP AND
39640 ;PLACE 123455,,701234 INTO THE AC
39641 055361 334 00 0 00 000000 SKIPA ;PASS IF TLC DID NOT SKIP
39642 STOP^
39643 055362 254 04 0 00 055363 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39644 055363 324 00 0 00 055364 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39645 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39646 ;IN THE SUBTEST) TO LOOP ON ERROR^
39647 055364 312 14 0 00 071001 CAME 14,[123455,,701234] ;PASS IF C(AC)=123455,,701234
39648 STOP^
39649 055365 254 04 0 00 055366 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39650 055366 324 00 0 00 055367 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39651 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39652 ;IN THE SUBTEST) TO LOOP ON ERROR^
39653
39654 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 75
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0912
39655 ;THIS TEST VERIFIES THAT TRCE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
39656 ;IF AND ONLY IF ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO.
39657 ;THESE MASKED AC BITS ARE THEN COMPLEMENTED.
39658 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3.
39659 ;HENCE, TRCE SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION
39660 ;AND THE RESULT IN THE AC SHOULD BE 123456,,701237.
39661
39662 055367 200 13 0 00 070745 C72700: MOVE 13,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
39663 055370 642 13 0 00 000003 TRCE 13,3 ;*TRCE SHOULD SKIP AND
39664 ;PLACE 123456,,701237 INTO ThE AC
39665 STOP^
39666 055371 254 04 0 00 055372 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39667 055372 324 00 0 00 055373 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39668 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39669 ;IN THE SUBTEST) TO LOOP ON ERROR^
39670 055373 312 13 0 00 070776 CAME 13,[123456,,701237] ;PASS IF C(AC)=123456,,701237
39671 STOP^
39672 055374 254 04 0 00 055375 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39673 055375 324 00 0 00 055376 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39674 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39675 ;IN THE SUBTEST) TO LOOP ON ERROR^
39676
39677 ;**********
39678
39679 ;THIS TEST VERIFIES THAT TRCE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
39680 ;IF AND ONLY IF ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO.
39681 ;THESE MASKED AC BITS ARE THEN COMPLEMENTED.
39682 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300.
39683 ;HENCE, TRCE SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION
39684 ;AND THE RESULT IN THE AC SHOULD BE 123456,,701134
39685
39686 055376 200 12 0 00 070745 C72710: MOVE 12,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
39687 055377 642 12 0 00 000300 TRCE 12,300 ;*TRCE SHOULD NOT SKIP AND
39688 ;PLACE 123456,,701134 INTO THE AC
39689 055400 334 00 0 00 000000 SKIPA ;PASS IF TRCE DID NOT SKIP
39690 STOP^
39691 055401 254 04 0 00 055402 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39692 055402 324 00 0 00 055403 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39693 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39694 ;IN THE SUBTEST) TO LOOP ON ERROR^
39695 055403 312 12 0 00 070777 CAME 12,[123456,,701134] ;PASS IF C(AC)=123456,,701134
39696 STOP^
39697 055404 254 04 0 00 055405 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39698 055405 324 00 0 00 055406 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39699 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39700 ;IN THE SUBTEST) TO LOOP ON ERROR^
39701
39702 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 76
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0913
39703 ;THIS TEST VERIFIES THAT TLCE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
39704 ;IF AND ONLY IF ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO.
39705 ;THESE MASKED AC BITS ARE THEN COMPLEMENTED.
39706 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300.
39707 ;HENCE, TLCE SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION
39708 ;AND THE RESULT IN THE AC SHOULD BE 123756,,701234.
39709
39710 055406 200 11 0 00 070745 C73000: MOVE 11,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
39711 055407 643 11 0 00 000300 TLCE 11,300 ;*TLCE SHOULD SKIP AND
39712 ;PLACE 123756,,701234 INTO THE AC
39713 STOP^
39714 055410 254 04 0 00 055411 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39715 055411 324 00 0 00 055412 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39716 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39717 ;IN THE SUBTEST) TO LOOP ON ERROR^
39718 055412 312 11 0 00 071000 CAME 11,[123756,,701234] ;PASS IF C(AC)=123756,,701234
39719 STOP^
39720 055413 254 04 0 00 055414 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39721 055414 324 00 0 00 055415 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39722 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39723 ;IN THE SUBTEST) TO LOOP ON ERROR^
39724
39725 ;**********
39726
39727 ;THIS TEST VERIFIES THAT TLCE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
39728 ;IF AND ONLY IF ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO.
39729 ;THESE MASKED AC BITS ARE THEN COMPLEMENTED.
39730 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3.
39731 ;HENCE, TLCE SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION
39732 ;AND THE RESULT IN THE AC SHOULD BE 123455,,701234.
39733
39734 055415 200 10 0 00 070745 C73010: MOVE 10,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
39735 055416 643 10 0 00 000003 TLCE 10,3 ;*TLCE SHOULD NOT SKIP AND
39736 ;PLACE 123455,,701234 INTO THE AC
39737 055417 334 00 0 00 000000 SKIPA ;PASS IF TLCE DID NOT SKIP
39738 STOP^
39739 055420 254 04 0 00 055421 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39740 055421 324 00 0 00 055422 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39741 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39742 ;IN THE SUBTEST) TO LOOP ON ERROR^
39743 055422 312 10 0 00 071001 CAME 10,[123455,,701234] ;PASS IF C(AC)=123455,,701234]
39744 STOP^
39745 055423 254 04 0 00 055424 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39746 055424 324 00 0 00 055425 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39747 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39748 ;IN THE SUBTEST) TO LOOP ON ERROR^
39749
39750 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 77
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0914
39751 ;THIS TEST VERIFIES THAT TRCA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRUCTION
39752 ;AND COMPLEMENTS ALL BITS IN AC-RIGHT WHICH CORRESPOND TO 1'S IN E.
39753 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3.
39754 ;HENCE, TRCA SHOULD SKIP THE NEXT INSTRUCTION AND THE RESULT IN
39755 ;THE AC SHOULD BE 123456,,701237.
39756
39757 055425 200 07 0 00 070745 C73100: MOVE 7,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
39758 055426 644 07 0 00 000003 TRCA 7,3 ;*TRCA SHOULD SKIP AND
39759 ;PLACE 123456,,701237 INTO THE AC
39760 STOP^
39761 055427 254 04 0 00 055430 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39762 055430 324 00 0 00 055431 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39763 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39764 ;IN THE SUBTEST) TO LOOP ON ERROR^
39765 055431 312 07 0 00 070776 CAME 7,[123456,,701237] ;PASS IF C(AC)=123456,,701237
39766 STOP^
39767 055432 254 04 0 00 055433 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39768 055433 324 00 0 00 055434 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39769 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39770 ;IN THE SUBTEST) TO LOOP ON ERROR^
39771
39772 ;**********
39773
39774 ;THIS TEST VERIFIES THAT TRCA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRUCTION
39775 ;AND COMPLEMENTS ALL BITS IN AC-RIGHT WHICH CORRESPOND TO 1'S IN E
39776 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300
39777 ;HENCE, TRCA SHOULD SKIP THE NEXT INSTRUCTION AND THE RESULT IN
39778 ;THE AC SHOULD BE 123456,,701134
39779
39780 055434 200 06 0 00 070745 C73110: MOVE 6,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
39781 055435 644 06 0 00 000300 TRCA 6,300 ;*TRCA SHOULD SKIP AND
39782 ;PLACE 123456,,701134 INTO THE AC
39783 STOP^
39784 055436 254 04 0 00 055437 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39785 055437 324 00 0 00 055440 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39786 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39787 ;IN THE SUBTEST) TO LOOP ON ERROR^
39788 055440 312 06 0 00 070777 CAME 6,[123456,,701134] ;PASS IF C(AC)=123456,,701134
39789 STOP^
39790 055441 254 04 0 00 055442 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39791 055442 324 00 0 00 055443 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39792 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39793 ;IN THE SUBTEST) TO LOOP ON ERROR^
39794
39795 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 78
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0915
39796 ;THIS TEST VERIFIES THAT TLCA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRUCTION
39797 ;AND COMPLEMENTS ALL BITS IN AC-LEFT WHICH CORRESPOND TO 1'S IN E
39798 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3
39799 ;HENCE, TLCA SHOULD SKIP THE NEXT INSTRUCTION AND THE RESULT IN
39800 ;THE AC SHOULD 123456,,701234
39801
39802 055443 200 05 0 00 070745 C73200: MOVE 5,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
39803 055444 645 05 0 00 000003 TLCA 5,3 ;*TLCA SHOULD SKIP AND
39804 ;PLACE 12345,,701234 INTO THE AC
39805 STOP^
39806 055445 254 04 0 00 055446 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39807 055446 324 00 0 00 055447 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39808 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39809 ;IN THE SUBTEST) TO LOOP ON ERROR^
39810 055447 312 05 0 00 071001 CAME 5,[123455,,701234] ;PASS IF C(AC)=123455,,701234
39811 STOP^
39812 055450 254 04 0 00 055451 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39813 055451 324 00 0 00 055452 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39814 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39815 ;IN THE SUBTEST) TO LOOP ON ERROR^
39816
39817 ;**********
39818
39819 ;THIS TEST VERIFIES THAT TLCA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRUCTION
39820 ;AND COMPLEMENTS ALL BITS IN AC-LEFT WHICH CORRESPOND TO 1'S IN E
39821 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300
39822 ;HENCE, TLCA SHOULD SKIP THE NEXT INSTRUCTION AND THE RESULT IN
39823 ;THE AC SHOULD BE 123756,,701234
39824
39825 055452 200 04 0 00 070745 C73210: MOVE 4,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
39826 055453 645 04 0 00 000300 TLCA 4,300 ;*TLCA SHOULD SKIP AND
39827 ;PLACE 123756,,701234 INTO THE AC
39828 STOP^
39829 055454 254 04 0 00 055455 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39830 055455 324 00 0 00 055456 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39831 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39832 ;IN THE SUBTEST) TO LOOP ON ERROR^
39833 055456 312 04 0 00 071000 CAME 4,[123756,,701234] ;PASS IF C(AC)=123756,,701234
39834 STOP^
39835 055457 254 04 0 00 055460 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39836 055460 324 00 0 00 055461 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39837 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39838 ;IN THE SUBTEST) TO LOOP ON ERROR^
39839
39840 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 79
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0916
39841 ;THIS TEST VERIFIES THAT TRCN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
39842 ;IF AND ONLY IF NOT ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO.
39843 ;THESE MASKED AC BITS ARE THEN COMPLEMENTED
39844 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300
39845 ;HENCE, TRCN SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION
39846 ;AND RESULT IN THE AC SHOULD BE 123456,,701134
39847
39848 055461 200 03 0 00 070745 C73300: MOVE 3,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
39849 055462 646 03 0 00 000300 TRCN 3,300 ;*SHOULD SKIP AND
39850 ;PLACE 123456,,701134 INTO THE AC
39851 STOP^
39852 055463 254 04 0 00 055464 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39853 055464 324 00 0 00 055465 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39854 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39855 ;IN THE SUBTEST) TO LOOP ON ERROR^
39856 055465 312 03 0 00 070777 CAME 3,[123456,,701134] ;PASS IF C(AC)=123456,,701134
39857 STOP^
39858 055466 254 04 0 00 055467 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39859 055467 324 00 0 00 055470 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39860 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39861 ;IN THE SUBTEST) TO LOOP ON ERROR^
39862
39863 ;**********
39864
39865 ;THIS TEST VERIFIES THAT TRCN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
39866 ;IF AND ONLY IF NOT ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO.
39867 ;THESE MASKED AC BITS ARE THEN COMPLEMENTED
39868 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3
39869 ;HENCE, TRCN SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION
39870 ;AND THE RESULT IN THE AC SHOULD BE 123456,,701237
39871
39872 055470 200 02 0 00 070745 C73310: MOVE 2,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
39873 055471 646 02 0 00 000003 TRCN 2,3 ;*TRCN SHOULD NOT SKIP AND
39874 ;PLACE 123456,,701237 INTO THE AC
39875 055472 334 00 0 00 000000 SKIPA ;PASS IF TRCN DID NOT SKIP
39876 STOP^
39877 055473 254 04 0 00 055474 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39878 055474 324 00 0 00 055475 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39879 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39880 ;IN THE SUBTEST) TO LOOP ON ERROR^
39881 055475 312 02 0 00 070776 CAME 2,[123456,,701237] ;PASS IF C(AC)=123456,,701237
39882 STOP^
39883 055476 254 04 0 00 055477 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39884 055477 324 00 0 00 055500 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39885 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39886 ;IN THE SUBTEST) TO LOOP ON ERROR^
39887
39888 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 80
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0917
39889 ;THIS TEST VERIFIES THAT TLCN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
39890 ;IF AND ONLY IF NOT ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO.
39891 ;THESE MASKED AC BITS ARE THEN COMPLEMENTED
39892 ;IN THE CASE, C(AC)=123456,,701234 AND E=3
39893 ;HENCE, TLCN SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION
39894 ;AND THE RESULT IN THE AC SHOULD BE 123456,,701234
39895
39896 055500 200 01 0 00 070745 C73400: MOVE 1,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
39897 055501 647 01 0 00 000003 TLCN 1,3 ;*TLCN SHOULD SKIP AND
39898 ;PLACE 123455,701234 INTO THE AC
39899 STOP^
39900 055502 254 04 0 00 055503 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39901 055503 324 00 0 00 055504 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39902 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39903 ;IN THE SUBTEST) TO LOOP ON ERROR^
39904 055504 312 01 0 00 071001 CAME 1,[123455,,701234] ;PASS IF C(AC)=123455,,701234
39905 STOP^
39906 055505 254 04 0 00 055506 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39907 055506 324 00 0 00 055507 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39908 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39909 ;IN THE SUBTEST) TO LOOP ON ERROR^
39910
39911 ;**********
39912
39913 ;THIS TEST VERIFIES THAT TLCN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
39914 ;IF AND ONLY IF NOT ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZER.
39915 ;THESE MASKED AC BITS ARE THEN COMPLEMENTED
39916 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300
39917 ;HENCE, TLCN SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION
39918 ;AND THE RESULT IN THE AC SHOULD BE 123756,,701234
39919
39920 055507 200 00 0 00 070745 C73410: MOVE 0,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
39921 055510 647 00 0 00 000300 TLCN 0,300 ;*TLCN SHOULD NOT SKIP AND
39922 ;PLACE 123756,,701234 INTO THE AC
39923 055511 334 00 0 00 000000 SKIPA ;PASS IF TLCN DID NOT SKIP
39924 STOP^
39925 055512 254 04 0 00 055513 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39926 055513 324 00 0 00 055514 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39927 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39928 ;IN THE SUBTEST) TO LOOP ON ERROR^
39929 055514 312 00 0 00 071000 CAME 0,[123756,,701234] ;PASS IF C(AC)=123756,,701234
39930 STOP^
39931 055515 254 04 0 00 055516 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39932 055516 324 00 0 00 055517 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39933 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39934 ;IN THE SUBTEST) TO LOOP ON ERROR^
39935
39936 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 81
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0918
39937 ;THIS TEST VERIFIES THAT TSL COMPLEMENTS ALL BITS OF THE AC WHICH
39938 ;CORRESPOND TO 1'S IN C(E) WITH BOTH HALVES SWAPPED AND DOES
39939 ;NOT SKIP THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED
39940 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)6543,,654321
39941 ;HENCE, TSC SHOULD NOT SKIP AND C(AC) SHOULD BE -1,,-1
39942
39943 055517 200 17 0 00 070745 C73500: MOVE 17,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
39944 055520 200 00 0 00 070754 MOVE 0,[076543,,654321] ;PRELOAD E WITH 076543,,654321
39945 055521 651 17 0 00 000000 TSC 17,0 ;*TSC SHOULD NOT SKIP AND
39946 ;PLACE -1,,-1 INTO THE AC
39947 055522 334 00 0 00 000000 SKIPA ;PASS IF TSC DOES NOT SKIP
39948 STOP^
39949 055523 254 04 0 00 055524 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39950 055524 324 00 0 00 055525 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39951 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39952 ;IN THE SUBTEST) TO LOOP ON ERROR^
39953 055525 312 17 0 00 070254 CAME 17,[-1] ;PASS IF C(AC)=-1,,-1
39954 STOP^
39955 055526 254 04 0 00 055527 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39956 055527 324 00 0 00 055530 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39957 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39958 ;IN THE SUBTEST) TO LOOP ON ERROR^
39959 055530 312 00 0 00 070754 CAME 0,[076543,,654321] ;PASS IF C(E) UNCHANGED
39960 STOP^
39961 055531 254 04 0 00 055532 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39962 055532 324 00 0 00 055533 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39963 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39964 ;IN THE SUBTEST) TO LOOP ON ERROR^
39965
39966 ;**********
39967
39968 ;THIS TEST VERIFIES THAT TSC COMPLEMENTS ALL BITS OF THE AC WHICH
39969 ;CORRESPOND TO 1'S IN C(E) WITH BOTH HALVES SWAPPED AND DOES
39970 ;NOT SKIP THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED
39971 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=252525,,707070
39972 ;HENCE, TSC SHOULD NOT SKIP AND C(AC) SHOULD BE 624426,,553711
39973
39974 055533 200 16 0 00 070745 C73510: MOVE 16,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
39975 055534 200 17 0 00 070761 MOVE 17,[252525,,707070] ;PRELOAD E WITH 252525,,707070
39976 055535 651 16 0 00 000017 TSC 16,17 ;*TSC SHOULD NOT SKIP AND
39977 ;PLACE 624426,,553711 INTO THE AC
39978 055536 334 00 0 00 000000 SKIPA ;PASS IF TSC DOES NOT SKIP
39979 STOP^
39980 055537 254 04 0 00 055540 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39981 055540 324 00 0 00 055541 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39982 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39983 ;IN THE SUBTEST) TO LOOP ON ERROR^
39984 055541 312 16 0 00 071002 CAME 16,[624426,,553711] ;PASS IF C(AC)=624426,,553711
39985 STOP^
39986 055542 254 04 0 00 055543 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39987 055543 324 00 0 00 055544 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39988 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39989 ;IN THE SUBTEST) TO LOOP ON ERROR^
39990 055544 312 17 0 00 070761 CAME 17,[252525,,707070] ;PASS IF C(E) UNCHANGED
39991 STOP^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 81-1
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0919
39992 055545 254 04 0 00 055546 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
39993 055546 324 00 0 00 055547 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
39994 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
39995 ;IN THE SUBTEST) TO LOOP ON ERROR^
39996
39997 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 82
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0920
39998 ;THIS TEST VERIFIES THAT TDCE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
39999 ;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN
40000 ;C(E) ARE ZERO. THESE MASKED
40001 ;AC BITS ARE THEN COMPLEMENTED
40002 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=654321,,076543
40003 ;HENCE, TDCE SHOULD SKIP AND THE RESULT IN AC
40004 ;SHOULD BE -1,,-1 C(E) IS NOT AFFECTED
40005
40006 055547 200 15 0 00 070745 C73600: MOVE 15,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
40007 055550 200 16 0 00 070763 MOVE 16,[654321,,076543] ;PRELOAD E WITH 654321,,076543
40008 055551 652 15 0 00 000016 TDCE 15,16 ;*TDCE SHOULD SKIP AND
40009 ;PLACE -1,,-1 INTO THE AC
40010 STOP^
40011 055552 254 04 0 00 055553 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40012 055553 324 00 0 00 055554 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40013 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40014 ;IN THE SUBTEST) TO LOOP ON ERROR^
40015 055554 312 15 0 00 070254 CAME 15,[-1] ;PASS IF C(AC)=-1,,-1
40016 STOP^
40017 055555 254 04 0 00 055556 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40018 055556 324 00 0 00 055557 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40019 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40020 ;IN THE SUBTEST) TO LOOP ON ERROR^
40021 055557 312 16 0 00 070763 CAME 16,[654321,,076543] ;PASS IF C(E) UNCHANGED
40022 STOP^
40023 055560 254 04 0 00 055561 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40024 055561 324 00 0 00 055562 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40025 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40026 ;IN THE SUBTEST) TO LOOP ON ERROR^
40027
40028 ;**********
40029
40030 ;THIS TEST VERIFIES THAT TDCE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
40031 ;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN
40032 ;C(E) ARE ZERO. THESE MASKED
40033 ;AC BITS ARE THEN COMPLEMENTED
40034 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E) 754321,,076543
40035 ;HENCE, TDCE SHOULD NOT SKIP AND THE RESULT IN AC
40036 ;SHOULD BE 677777,,-1 C(E) IS NOT AFFECTED.
40037
40038 055562 200 14 0 00 070745 C73610: MOVE 14,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
40039 055563 200 15 0 00 070764 MOVE 15,[754321,,076543] ;PRELOAD E WITH 754321,,076543
40040 055564 652 14 0 00 000015 TDCE 14,15 ;*TDCE SHOULD NOT SKIP AND
40041 ;PLACE 677777,,-1 INTO THE AC
40042 055565 334 00 0 00 000000 SKIPA ;PASS IF TDCE DOES NOT SKIP
40043 STOP^
40044 055566 254 04 0 00 055567 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40045 055567 324 00 0 00 055570 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40046 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40047 ;IN THE SUBTEST) TO LOOP ON ERROR^
40048 055570 312 14 0 00 070374 CAME 14,[677777,,-1] ;PASS IF C(AC)=677777,,-1
40049 STOP^
40050 055571 254 04 0 00 055572 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40051 055572 324 00 0 00 055573 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40052 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 82-1
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0921
40053 ;IN THE SUBTEST) TO LOOP ON ERROR^
40054 055573 312 15 0 00 070764 CAME 15,[754321,,076543] ;PASS IF C(E) UNCHANGED
40055 STOP^
40056 055574 254 04 0 00 055575 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40057 055575 324 00 0 00 055576 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40058 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40059 ;IN THE SUBTEST) TO LOOP ON ERROR^
40060
40061 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 83
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0922
40062 ;THIS TEST VERIFIES THAT TSCE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
40063 ;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN
40064 ;C(E) WITH BOTH HALVES SWAPPED ARE ZERO. THESE MASKED
40065 ;AC BITS ARE THEN COMPLEMENTED
40066 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321
40067 ;HENCE, TSCE SHOULD SKIP AND THE RESULT IN THE AC
40068 ;SHOULD BE -1,,-1 C(E) IS NOT AFFECTED
40069
40070 055576 200 13 0 00 070745 C73700: MOVE 13,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
40071 055577 200 14 0 00 070754 MOVE 14,[76543,,654321] ;PRELOAD E WITH 076543,,654321
40072 055600 653 13 0 00 000014 TSCE 13,14 ;*TSCE SHOULD SKIP AND
40073 ;PLACE -1,,-1 INTO THE AC
40074 STOP^
40075 055601 254 04 0 00 055602 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40076 055602 324 00 0 00 055603 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40077 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40078 ;IN THE SUBTEST) TO LOOP ON ERROR^
40079 055603 312 13 0 00 070254 CAME 13,[-1] ;PASS IF C(E) UNCHANGED
40080 STOP^
40081 055604 254 04 0 00 055605 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40082 055605 324 00 0 00 055606 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40083 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40084 ;IN THE SUBTEST) TO LOOP ON ERROR^
40085
40086 ;**********
40087
40088 ;THIS TEST VERIFIES THAT TSCE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
40089 ;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN
40090 ;C(E) WITH BOTH HALVES SWAPPED ARE ZERO. THESE MASKED
40091 ;AC BITS ARE THEN COMPLEMENTED
40092 ;IN THIS CASE, C(AC)=123456,701234 AND C(E)=076543,,657321
40093 ;HENCE, TSCE SHOULD NOT SKIP AND THE RESULT IN THE AC
40094 ;SHOULD BE 774777,,-1. C(E) IS NOT AFFECTED.
40095
40096 055606 200 12 0 00 070745 C73710: MOVE 12,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
40097 055607 200 13 0 00 070766 MOVE 13,[76543,,657321] ;PRELOAD E WITH 076543,,657321
40098 055610 653 12 0 00 000013 TSCE 12,13 ;*TSCE HOULD NOT SKIP AND
40099 ;PLACE 774777,,-1 INTO THE AC
40100 055611 334 00 0 00 000000 SKIPA ;PASS IF TSCE DOES NOT SKIP
40101 STOP^
40102 055612 254 04 0 00 055613 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40103 055613 324 00 0 00 055614 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40104 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40105 ;IN THE SUBTEST) TO LOOP ON ERROR^
40106 055614 312 12 0 00 071003 CAME 12,[774777,,-1] ;PASS IF C(AC)=774777,,-1
40107 STOP^
40108 055615 254 04 0 00 055616 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40109 055616 324 00 0 00 055617 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40110 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40111 ;IN THE SUBTEST) TO LOOP ON ERROR^
40112 055617 312 13 0 00 070766 CAME 13,[76543,,657321] ;PASS IF C(E) UNCHANGED
40113 STOP^
40114 055620 254 04 0 00 055621 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40115 055621 324 00 0 00 055622 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40116 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 83-1
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0923
40117 ;IN THE SUBTEST) TO LOOP ON ERROR^
40118
40119 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 84
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0924
40120 ;THIS TEST VERIFIES THAT TDCA COMPLEMENTS ALL BITS OF THE AC WHICH
40121 ;CORRESPOND TO 1'S IN C(E) AND ALWAYS
40122 ;SKIPS THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED
40123 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=654321,,076543
40124 ;HENCE, TDCA SHOULD ALWAYS SKIP AND C(AC) SHOULD BE -1,,-1
40125
40126 055622 200 11 0 00 070745 C74000: MOVE 11,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
40127 055623 200 12 0 00 070763 MOVE 12,[654321,,076543] ;PRELOAD E WITH 654321,,076543
40128 055624 654 11 0 00 000012 TDCA 11,12 ;*TDCA SHOULD SKIP AND
40129 ;PLACE -1,,-1 INTO THE AC
40130 STOP^
40131 055625 254 04 0 00 055626 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40132 055626 324 00 0 00 055627 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40133 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40134 ;IN THE SUBTEST) TO LOOP ON ERROR^
40135 055627 312 11 0 00 070254 CAME 11,[-1] ;PASS IF C(AC)=-1,,-1
40136 STOP^
40137 055630 254 04 0 00 055631 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40138 055631 324 00 0 00 055632 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40139 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40140 ;IN THE SUBTEST) TO LOOP ON ERROR^
40141 055632 312 12 0 00 070763 CAME 12,[654321,,76543] ;PASS IF C(E) UNCHANGED
40142 STOP^
40143 055633 254 04 0 00 055634 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40144 055634 324 00 0 00 055635 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40145 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40146 ;IN THE SUBTEST) TO LOOP ON ERROR^
40147
40148 ;**********
40149
40150 ;THIS TEST VERIFIES THAT TDCA COMPLEMENTS ALL BITS OF THE AC WHICH
40151 ;CORRESPOND TO 1'S IN C(E) AND SLWAYS
40152 ;SKIPS THE NEXT INSTRUCTION C(E) IS NOT AFFECTED
40153 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=252525,,707070
40154 ;HENCE, TDCA SHOULD ALWAYS SKIP AND C(AC) SHOULD BE 371173,,006244
40155
40156 055635 200 10 0 00 070745 C74100: MOVE 10,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
40157 055636 200 11 0 00 070761 MOVE 11,[252525,,707070] ;PRELOAD E WITH 252525,,707070
40158 055637 654 10 0 00 000011 TDCA 10,11 ;*TDCA SHOULD SKP AND
40159 ;PLACE 371173,,006244 INTO THE AC
40160 STOP^
40161 055640 254 04 0 00 055641 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40162 055641 324 00 0 00 055642 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40163 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40164 ;IN THE SUBTEST) TO LOOP ON ERROR^
40165 055642 312 10 0 00 071004 CAME 10,[371173,,6244] ;PASS IF C(AC)=371173,,006244
40166 STOP^
40167 055643 254 04 0 00 055644 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40168 055644 324 00 0 00 055645 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40169 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40170 ;IN THE SUBTEST) TO LOOP ON ERROR^
40171 055645 312 11 0 00 070761 CAME 11,[252525,,707070] ;PASS IF C(E) UNCHANGED
40172 STOP^
40173 055646 254 04 0 00 055647 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40174 055647 324 00 0 00 055650 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 84-1
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0925
40175 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40176 ;IN THE SUBTEST) TO LOOP ON ERROR^
40177
40178 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 85
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0926
40179 ;THIS TEST VERIFIES THAT TSCA COMPLEMENTS ALL BITS OF THE AC WHICH
40180 ;CORRESPOND TO 1'S IN C(E) WITH BOTH HALVES SWAPPED AND ALWAYS
40181 ;SKIPS THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED
40182 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321
40183 ;HENCE, TSCA SHOULD ALWAYS SKIP AND C(AC) SHOULD BE -1,,-1
40184
40185 055650 200 07 0 00 070745 C74200: MOVE 7,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
40186 055651 200 10 0 00 070754 MOVE 10,[076543,,654321] ;PRELOAD E WITH 076543,,654321
40187 055652 655 07 0 00 000010 TSCA 7,10 ;*TSCA CHOULD SKIP AND
40188 ;PLACE -1,,-1 INTO THE AC
40189 STOP^
40190 055653 254 04 0 00 055654 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40191 055654 324 00 0 00 055655 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40192 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40193 ;IN THE SUBTEST) TO LOOP ON ERROR^
40194 055655 312 07 0 00 070254 CAME 7,[-1] ;PASS IF C(AC)=-1,,-1
40195 STOP^
40196 055656 254 04 0 00 055657 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40197 055657 324 00 0 00 055660 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40198 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40199 ;IN THE SUBTEST) TO LOOP ON ERROR^
40200 055660 312 10 0 00 070754 CAME 10,[076543,,654321] ;PASS IF C(E) UNCHANGED
40201 STOP^
40202 055661 254 04 0 00 055662 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40203 055662 324 00 0 00 055663 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40204 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40205 ;IN THE SUBTEST) TO LOOP ON ERROR^
40206
40207 ;**********
40208
40209 ;THIS TEST VERIFIES THAT TSCA COMPLEMENTS ALL BITS OF THE AC WHICH
40210 ;CORRESPOND TO 1'S IN C(E) WITH BOTH HALVES SWAPPED AND ALWAYS
40211 ;SKIPS THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED
40212 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=701234,,123456
40213 ;HENCE, TSCA SHOULD ALWAYS SKIP AND C(AC) SHOULD BE 0
40214
40215 055663 200 06 0 00 070745 C74210: MOVE 6,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
40216 055664 200 07 0 00 070771 MOVE 7,[701234,,123456] ;PRELOAD E WITH 701234,,123456
40217 055665 655 06 0 00 000007 TSCA 6,7 ;*TSCA SHOULD SKIP AND
40218 ;PLACE 0 INTO THE AC
40219 STOP^
40220 055666 254 04 0 00 055667 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40221 055667 324 00 0 00 055670 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40222 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40223 ;IN THE SUBTEST) TO LOOP ON ERROR^
40224 055670 312 06 0 00 070253 CAME 6,[0] ;PASS IF C(AC)=0
40225 STOP^
40226 055671 254 04 0 00 055672 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40227 055672 324 00 0 00 055673 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40228 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40229 ;IN THE SUBTEST) TO LOOP ON ERROR^
40230 055673 312 07 0 00 070771 CAME 7,[701234,,123456] ;PASS IF C(E) UNCHANGED
40231 STOP^
40232 055674 254 04 0 00 055675 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40233 055675 324 00 0 00 055676 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 85-1
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0927
40234 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40235 ;IN THE SUBTEST) TO LOOP ON ERROR^
40236
40237 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 86
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0928
40238 ;THIS TEST VERIFIES THAT TDCN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
40239 ;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN
40240 ;C(E) ARE ZERO. THESE MASKED
40241 ;AC BITS ARE THEN COMPLEMENTED
40242 ;IN THE CASE, C(AC)=123456,,701234 AND C(E)=654321,,076547
40243 ;HENCE, TDCN SHOULD SKIP AND THE RESULT IN AC
40244 ;SHOULD BE -1,,777773 C(E) IS NOT AFFECTED
40245
40246 055676 200 05 0 00 070745 C74300: MOVE 5,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
40247 055677 200 06 0 00 070772 MOVE 6,[654321,,76547] ;PRELOAD E WITH 654321,,076547
40248 055700 656 05 0 00 000006 TDCN 5,6 ;*TDCN SHOULD SKIP AND
40249 ;PLACE -1,,777773 INTO THE AC
40250 STOP^
40251 055701 254 04 0 00 055702 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40252 055702 324 00 0 00 055703 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40253 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40254 ;IN THE SUBTEST) TO LOOP ON ERROR^
40255 055703 312 05 0 00 070335 CAME 5,[-1,,777773] ;PASS IF C(AC)=-1,777773
40256 STOP^
40257 055704 254 04 0 00 055705 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40258 055705 324 00 0 00 055706 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40259 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40260 ;IN THE SUBTEST) TO LOOP ON ERROR^
40261 055706 312 06 0 00 070772 CAME 6,[654321,,76547] ;PASS IF C(E) UNCHANGED
40262 STOP^
40263 055707 254 04 0 00 055710 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40264 055710 324 00 0 00 055711 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40265 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40266 ;IN THE SUBTEST) TO LOOP ON ERROR^
40267
40268 ;**********
40269
40270 ;THIS TEST VERIFIES THAT TDCN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
40271 ;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN
40272 ;C(E) ARE ZERO. THESE MASKED
40273 ;AC BITS ARE THEN COMPLEMENTED
40274 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=654321,,076543
40275 ;HENCE, TDCN SHOULD NOT SKIP AND THE REUSLT IN AC
40276 ;SHOULD BE -1,,-1 C(E) IS NOT AFFECTED
40277
40278 055711 200 04 0 00 070745 C74310: MOVE 4,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
40279 055712 200 05 0 00 070763 MOVE 5,[654321,,76543] ;PRELOAD E WITH 654321,,076543
40280 055713 656 04 0 00 000005 TDCN 4,5 ;*TDCN SHOULD NOT SKIP AND
40281 ;PLACE -1,,-1 INTO THE AC
40282 055714 334 00 0 00 000000 SKIPA ;PASS IF TDCN DOES NOT SKIP
40283 STOP^
40284 055715 254 04 0 00 055716 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40285 055716 324 00 0 00 055717 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40286 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40287 ;IN THE SUBTEST) TO LOOP ON ERROR^
40288 055717 312 04 0 00 070254 CAME 4,[-1] ;PASS IF C(AC)=-1,,-1
40289 STOP^
40290 055720 254 04 0 00 055721 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40291 055721 324 00 0 00 055722 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40292 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 86-1
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0929
40293 ;IN THE SUBTEST) TO LOOP ON ERROR^
40294 055722 312 05 0 00 070763 CAME 5,[654321,,76543] ;PASS IF C(E) UNCHANGED
40295 STOP^
40296 055723 254 04 0 00 055724 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40297 055724 324 00 0 00 055725 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40298 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40299 ;IN THE SUBTEST) TO LOOP ON ERROR^
40300
40301 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 87
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0930
40302 ;THIS TEST VERIFIES THAT TSCN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
40303 ;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN
40304 ;C(E) WITH BOTH HALVES SWAPPED ARE ZERO. THESE MASKED
40305 ;AC BITS ARE THEN COMPLEMENTED
40306 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=077543,,654321
40307 ;HENCE, TSCN SHOULD SKIP AND THE RESULT IN AC
40308 ;SHOULD BE -1,,776777. C(E) IS NOT AFFECTED
40309
40310 055725 200 03 0 00 070745 C74400: MOVE 3,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
40311 055726 200 04 0 00 070774 MOVE 4,[77543,,654321] ;PRELOAD E WITH 077543,,654321
40312 055727 657 03 0 00 000004 TSCN 3,4 ;*TSCN SHOULD SKIP AND
40313 ;PLACE -1,,776777 INTO THE AC
40314 STOP^
40315 055730 254 04 0 00 055731 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40316 055731 324 00 0 00 055732 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40317 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40318 ;IN THE SUBTEST) TO LOOP ON ERROR^
40319 055732 312 03 0 00 070344 CAME 3,[-1,,776777] ;PASS IF C(AC)=-1,776777
40320 STOP^
40321 055733 254 04 0 00 055734 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40322 055734 324 00 0 00 055735 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40323 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40324 ;IN THE SUBTEST) TO LOOP ON ERROR^
40325 055735 312 04 0 00 070774 CAME 4,[77543,,654321] ;PASS IF C(E) UNCHANGED
40326 STOP^
40327 055736 254 04 0 00 055737 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40328 055737 324 00 0 00 055740 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40329 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40330 ;IN THE SUBTEST) TO LOOP ON ERROR^
40331
40332 ;**********
40333
40334 ;THIS TEST VERIFIES THAT TSCN SKIPS THE NEXT SEQUENTIAL INSTRUCTION
40335 ;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN
40336 ;C(E) WITH BOTH HALVES SWAPPED ARE ZERO. THESE MASKED
40337 ;AC BITS ARE THEN COMPLEMENTD
40338 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321
40339 ;HENCE, TSCN SHOULD NOT SKIP AND THE RESULT IN AC
40340 ;SHOULD BE -1,,-1. C(E) IS NOT AFFECTED.
40341
40342 055740 200 02 0 00 070745 C74410: MOVE 2,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
40343 055741 200 03 0 00 070754 MOVE 3,[76543,,654321] ;PRELOAD E WITH 076543,,654321
40344 055742 657 02 0 00 000003 TSCN 2,3 ;*TSCN SHOULD NOT SKIP AND
40345 ;PLACE -1,,-1 INTO THE AC
40346 055743 334 00 0 00 000000 SKIPA ;PASS IF TSCN DOES NOT SKIP
40347 STOP^
40348 055744 254 04 0 00 055745 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40349 055745 324 00 0 00 055746 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40350 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40351 ;IN THE SUBTEST) TO LOOP ON ERROR^
40352 055746 312 02 0 00 070254 CAME 2,[-1] ;PASS IF C(AC)=-1,,-1
40353 STOP^
40354 055747 254 04 0 00 055750 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40355 055750 324 00 0 00 055751 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40356 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 87-1
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0931
40357 ;IN THE SUBTEST) TO LOOP ON ERROR^
40358 055751 312 03 0 00 070754 CAME 3,[76543,,654321] ;PASS IF C(E) UNCHANGED
40359 STOP^
40360 055752 254 04 0 00 055753 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40361 055753 324 00 0 00 055754 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40362 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40363 ;IN THE SUBTEST) TO LOOP ON ERROR^
40364
40365 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 88
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0932
40366 ;THIS TEST VERIFIES THAT TRO CHANGES ALL BITS IN THE AC-RIGHT WHICH
40367 ;CORRESPOND TO 1'S IN E TO ONES AND DOES ANT SKIP
40368 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3
40369 ;HENCE, THE RESULT IN THE AC SHOULD BE 123456,,701237
40370
40371 055754 200 01 0 00 070745 C74500: MOVE 1,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
40372 055755 660 01 0 00 000003 TRO 1,3 ;*TRO SHOULD NOT SKIP AND
40373 ;PLACE 123456,,701237 INTO THE AC
40374 055756 334 00 0 00 000000 SKIPA ;PASS IF TRO DID NOT SKIP
40375 STOP^
40376 055757 254 04 0 00 055760 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40377 055760 324 00 0 00 055761 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40378 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40379 ;IN THE SUBTEST) TO LOOP ON ERROR^
40380 055761 312 01 0 00 070776 CAME 1,[123456,,701237] ;PASS IF C(AC)=123456,,701237
40381 STOP^
40382 055762 254 04 0 00 055763 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40383 055763 324 00 0 00 055764 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40384 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40385 ;IN THE SUBTEST) TO LOOP ON ERROR^
40386
40387 ;**********
40388
40389 ;THIS TEST VERIFIES THAT TRO CHANGES ALL BITS IN THE AC-RIGHT WHICH
40390 ;CORRESPOND TO 1'S IN E TO ONES AND DOES NOT SKIP
40391 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300
40392 ;HENCE, THE RESULT IN THE AC SHOULD BE 123456,,701224
40393
40394 055764 200 00 0 00 070745 C74510: MOVE 0,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
40395 055765 660 00 0 00 000300 TRO 0,300 ;*TRO SHOULD NOT SKIP AND
40396 ;PLACE 123456,,701334 INTO THE AC
40397 055766 334 00 0 00 000000 SKIPA ;PASS IF TRO DID NOT SKIP
40398 STOP^
40399 055767 254 04 0 00 055770 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40400 055770 324 00 0 00 055771 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40401 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40402 ;IN THE SUBTEST) TO LOOP ON ERROR^
40403 055771 312 00 0 00 071005 CAME 0,[123456,,701334] ;PASS IF C(AC)=123456,,701334
40404 STOP^
40405 055772 254 04 0 00 055773 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40406 055773 324 00 0 00 055774 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40407 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40408 ;IN THE SUBTEST) TO LOOP ON ERROR^
40409
40410 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 89
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0933
40411 ;THIS TEST VERIFIES THAT TLO CHANGES ALL BITS IN THE AC-LEFT WHICH
40412 ;CORRESPOND TO 1'S IN E TO ONES AND DOES NOT SKIP
40413 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300
40414 ;HENCE, THE RESULT IN THE AC SHOULD BE 123756,,701234
40415
40416 055774 200 17 0 00 070745 C74600: MOVE 17,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
40417 055775 661 17 0 00 000300 TLO 17,300 ;*TLO SHOULD NOT SKIP AND
40418 ;PLACE 123756,,701234 INTO THE AC
40419 055776 334 00 0 00 000000 SKIPA ;PASS IF TLO DID NOT SKIP
40420 STOP^
40421 055777 254 04 0 00 056000 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40422 056000 324 00 0 00 056001 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40423 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40424 ;IN THE SUBTEST) TO LOOP ON ERROR^
40425 056001 312 17 0 00 071000 CAME 17,[123756,,701234] ;PASS IF C(AC)=123456,,701234
40426 STOP^
40427 056002 254 04 0 00 056003 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40428 056003 324 00 0 00 056004 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40429 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40430 ;IN THE SUBTEST) TO LOOP ON ERROR^
40431
40432 ;**********
40433
40434 ;THIS TEST VERIFIES THAT TLO CHANGES ALL BITS IN THE AC-LEFT WHICH
40435 ;CORRESPOND TO 1'S IN E TO ONES AND DOES NOT SKIP
40436 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3
40437 ;HENCE, THE RESULT IN THE AC SHOULD BE 123457,,701234
40438
40439 056004 200 16 0 00 071006 C74610: MOVE 16,[123456,,70234] ;PRELOAD AC WITH 123456,,701234
40440 056005 661 16 0 00 000003 TLO 16,3 ;*TLO SHOULD NOT SKIP AND
40441 ;PLACE 123457,,701234 INTO THE AC
40442 056006 334 00 0 00 000000 SKIPA ;PASS IF DID NOT SKIP
40443 STOP^
40444 056007 254 04 0 00 056010 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40445 056010 324 00 0 00 056011 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40446 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40447 ;IN THE SUBTEST) TO LOOP ON ERROR^
40448 056011 312 16 0 00 071007 CAME 16,[123457,,70234] ;PASS IF C(AC)=123457,,701234
40449 STOP^
40450 056012 254 04 0 00 056013 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40451 056013 324 00 0 00 056014 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40452 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40453 ;IN THE SUBTEST) TO LOOP ON ERROR^
40454
40455 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 90
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0934
40456 ;THIS TEST VERIFIES THAT TROE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
40457 ;IF AND ONLY IF ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO.
40458 ;THESE MASKED AC BITS ARE THEN CHANGED TO ONES
40459 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3
40460 ;HENCE, TROE SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION
40461 ;AND RESULT IN THE AC SHOUD BE 123456,,701237
40462
40463 056014 200 15 0 00 070745 C74700: MOVE 15,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
40464 056015 662 15 0 00 000003 TROE 15,3 ;TROE SHOULD SKIP AND
40465 ;PLACE 123456,,701237 IN TO THE AC
40466 STOP^
40467 056016 254 04 0 00 056017 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40468 056017 324 00 0 00 056020 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40469 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40470 ;IN THE SUBTEST) TO LOOP ON ERROR^
40471 056020 312 15 0 00 070776 CAME 15,[123456,,701237] ;PASS IF C(AC)=123456,,701237
40472 STOP^
40473 056021 254 04 0 00 056022 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40474 056022 324 00 0 00 056023 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40475 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40476 ;IN THE SUBTEST) TO LOOP ON ERROR^
40477
40478 ;**********
40479
40480 ;THIS TEST VERIFIES THAT TROE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
40481 ;IF AND ONLY IF ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO.
40482 ;THESE MASKED AC BITS ARE THEN CHANGED TO ONES
40483 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300
40484 ;HENCE, TROE SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION
40485 ;AND THE RESULT IN THE AC SHOULD BE 123456,,701334
40486
40487 056023 200 14 0 00 070745 C74710: MOVE 14,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
40488 056024 662 14 0 00 000300 TROE 14,300 ;*TROE SHOULD NOT SKIP AND
40489 ;PLACE 123456,,701224 INTO THE AC
40490 056025 334 00 0 00 000000 SKIPA ;PASS IF DID NOT SKIP
40491 STOP^
40492 056026 254 04 0 00 056027 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40493 056027 324 00 0 00 056030 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40494 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40495 ;IN THE SUBTEST) TO LOOP ON ERROR^
40496 056030 312 14 0 00 071005 CAME 14,[123456,,701334] ;PASS IF C(AC)=123456,,701334
40497 STOP^
40498 056031 254 04 0 00 056032 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40499 056032 324 00 0 00 056033 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40500 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40501 ;IN THE SUBTEST) TO LOOP ON ERROR^
40502
40503 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 91
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0935
40504 ;THIS TEST VERIFIES THAT TLOE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
40505 ;IF AND ONLY IF ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO.
40506 ;THESE MASKED AC BITS ARE TEN CHANGED TO ONES
40507 ;IN THES CASE, C(AC)=123456,,701234 AND E=300
40508 ;HENCE, TLOE SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION
40509 ;AND THE RESULT IN THE AC SHOULD BE 123756,,701234
40510
40511 056033 200 13 0 00 070745 C75000: MOVE 13,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
40512 056034 663 13 0 00 000300 TLOE 13,300 ;*TLOE SOULD SKIP AND
40513 ;PLAND 123756,,701234 INTO THE AC
40514 STOP^
40515 056035 254 04 0 00 056036 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40516 056036 324 00 0 00 056037 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40517 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40518 ;IN THE SUBTEST) TO LOOP ON ERROR^
40519 056037 312 13 0 00 071000 CAME 13,[123756,,701234] ;PASS IF C(AC)=123456,,701234
40520 STOP^
40521 056040 254 04 0 00 056041 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40522 056041 324 00 0 00 056042 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40523 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40524 ;IN THE SUBTEST) TO LOOP ON ERROR^
40525
40526 ;********
40527
40528 ;THIS TEST VERIFIES THAT TLOE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
40529 ;IF AND ONLY IF ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO.
40530 ;THESE MASKED AC BITS ARE THEN CHANGED TO ONES
40531 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3
40532 ;HENCE, TLOE SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION
40533 ;AND THE RESULT IN THE AC SHOULD BE 123457,,701234
40534
40535 056042 200 12 0 00 070745 C75010: MOVE 12,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
40536 056043 663 12 0 00 000003 TLOE 12,3 ;*TLOE SHOULD NOT SKIP AND
40537 ;PLACE 123457,,701234 INTO THE AC
40538 056044 334 00 0 00 000000 SKIPA ;PASS IF TLOE DID NOT SKIP
40539 STOP^
40540 056045 254 04 0 00 056046 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40541 056046 324 00 0 00 056047 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40542 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40543 ;IN THE SUBTEST) TO LOOP ON ERROR^
40544 056047 312 12 0 00 071010 CAME 12,[123457,,701234] ;PASS IF C(AC)=123457,,701234
40545 STOP^
40546 056050 254 04 0 00 056051 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40547 056051 324 00 0 00 056052 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40548 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40549 ;IN THE SUBTEST) TO LOOP ON ERROR^
40550
40551 ;*******
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 92
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0936
40552 ;THIS TEST VERIFIES THAT TROA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTUCTION
40553 ;AND CHANGES ALL BITS IN AC-RIGHT WHICH CORRESPOND TO 1'S IN E TO ONES
40554 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3
40555 ;HENCE, TROA SHOULD SKIP THE NEXT INSTRUCTION AND THE RESULT IN
40556 ;THE AC SHOULD BE 123456,,701237
40557
40558 056052 200 11 0 00 070745 C75100: MOVE 11,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
40559 056053 664 11 0 00 000003 TROA 11,3 ;*TROA SHOULD SKIP AND
40560 ;PLACE 123456,,701237
40561 STOP^
40562 056054 254 04 0 00 056055 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40563 056055 324 00 0 00 056056 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40564 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40565 ;IN THE SUBTEST) TO LOOP ON ERROR^
40566 056056 312 11 0 00 070776 CAME 11,[123456,,701237] ;PASS IF C(AC)=123456,,701237
40567 STOP^
40568 056057 254 04 0 00 056060 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40569 056060 324 00 0 00 056061 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40570 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40571 ;IN THE SUBTEST) TO LOOP ON ERROR^
40572
40573 ;**********
40574
40575 ;THIS TEST VERIFIES THAT TROA ALWAYS SKIPS THE NEXT SEQUENTAIL INSTRUCTION
40576 ;AND CHANGES ALL BITS IN AC-RIGHT WHICH CORRESPOND TO 1'S IN E TO ONES
40577 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300
40578 ;HENCE, TROA SHOULD SKIP THE NEXT INSTRUCTION AND THE RESULT IN
40579 ;THE AC SHOULD BE 123456,,701334
40580
40581 056061 200 10 0 00 070745 C75110: MOVE 10,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
40582 056062 664 10 0 00 000300 TROA 10,300 ;*TROA SHOULD SKIP AND
40583 ;PLACE 123456,,701334 INTO THE AC
40584 STOP^
40585 056063 254 04 0 00 056064 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40586 056064 324 00 0 00 056065 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40587 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40588 ;IN THE SUBTEST) TO LOOP ON ERROR^
40589 056065 312 10 0 00 071005 CAME 10,[123456,,701334] ;PASS IF C (AC)=123456,,701334
40590 STOP^
40591 056066 254 04 0 00 056067 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40592 056067 324 00 0 00 056070 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40593 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40594 ;IN THE SUBTEST) TO LOOP ON ERROR^
40595
40596 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 93
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0937
40597 ;THIS TEST VERIFIES THAT TLOA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTUCTION
40598 ;AND CHANGES ALL BITS IN AC-LEFT WHICH CORRESPOND 1'S IN E TO ONES
40599 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3
40600 ;HENCE, TLOA SHOULD SKIP THE NEXT INSTRUCTION AND RESULT IN
40601 ;THE AC SHOULD BE 123457,,701234
40602
40603 056070 200 07 0 00 070745 C75200: MOVE 7,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
40604 056071 665 07 0 00 000003 TLOA 7,3 ;*TLOA SHOULD SKIP AND
40605 ;PLACE 123457,,701234 INTO THE AC
40606 STOP^
40607 056072 254 04 0 00 056073 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40608 056073 324 00 0 00 056074 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40609 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40610 ;IN THE SUBTEST) TO LOOP ON ERROR^
40611 056074 312 07 0 00 071010 CAME 7,[123457,,701234] ;PASS IF C(AC)=123457,,701234]
40612 STOP^
40613 056075 254 04 0 00 056076 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40614 056076 324 00 0 00 056077 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40615 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40616 ;IN THE SUBTEST) TO LOOP ON ERROR^
40617
40618 ;**********
40619
40620 ;THIS TEST VERIFIES THAT TLOA ALWAYS SKIPS THE NEXT SEQUENTIAL INSTRUCTION
40621 ;AND CHANGES ALL BITS IN AC-LEFT WHICH CORRESPOND TO 1'S IN E TO ONES
40622 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300
40623 ;HENCE, TLOA SHOULD SKIP THE NEXT INSTRUCTION AND THE RESULT IN
40624 ;THE AC SHOULD BE 123756,,701234
40625
40626 056077 200 06 0 00 070745 C75210: MOVE 6,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
40627 056100 665 06 0 00 000300 TLOA 6,300 ;*TLOA SHOULD SKIP AND
40628 ;PLACE 123756,,701234 INTO THE AC
40629 STOP^
40630 056101 254 04 0 00 056102 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40631 056102 324 00 0 00 056103 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40632 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40633 ;IN THE SUBTEST) TO LOOP ON ERROR^
40634 056103 312 06 0 00 071000 CAME 6,[123756,,701234] ;PASS IF C(AC)=123756,,701234
40635 STOP^
40636 056104 254 04 0 00 056105 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40637 056105 324 00 0 00 056106 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40638 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40639 ;IN THE SUBTEST) TO LOOP ON ERROR^
40640
40641 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 94
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0938
40642 ;THIS TEST VERIFIES THAT TRON SKIPS THE NEXT SEQUENTIAL INSTRUCTION
40643 ;IF AND ONLY IF NOT ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO.
40644 ;THESE MASKED AC BITS ARE THEN CHANGED TO ONES
40645 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300
40646 ;HENCE, TRON SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION
40647 ;AND THE RESULT IN THE AC SHOULD BE 123456,,701334
40648
40649 056106 200 05 0 00 070745 C75300: MOVE 5,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
40650 056107 666 05 0 00 000300 TRON 5,300 ;*TRON SHOULD SKIP AND
40651 ;PLACE 123456,,701334 INTO THE AC
40652 STOP^
40653 056110 254 04 0 00 056111 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40654 056111 324 00 0 00 056112 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40655 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40656 ;IN THE SUBTEST) TO LOOP ON ERROR^
40657 056112 312 05 0 00 071005 CAME 5,[123456,,701334] ;PASS IF C(AC)=123456,,701334
40658 STOP^
40659 056113 254 04 0 00 056114 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40660 056114 324 00 0 00 056115 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40661 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40662 ;IN THE SUBTEST) TO LOOP ON ERROR^
40663
40664 ;**********
40665
40666 ;THIS TEST VERIFIES THAT TRON SKIPS THE NEXT SEQUENTIAL INSTUCTION
40667 ;IF AND ONLY IF NOT ALL BITS IN AC-RIGHT CORRESPONDING TO 1'S IN E ARE ZERO.
40668 ;THESE MASKED AC BITS ARE THEN CHANGED TO ONES
40669 ;IN THIS CASE, C(AC)=123456,,701234 AND E=3
40670 ;HENCE, TRON SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION
40671 ;AND THE RESULT IN THE AC SHOULD BE 123456,,701237
40672
40673 056115 200 04 0 00 070745 C75310: MOVE 4,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
40674 056116 666 04 0 00 000003 TRON 4,3 ;*TRON SHOULD NOT SKIP AND
40675 ;PLACE 123456,,701237 INTO THE AC
40676 056117 334 00 0 00 000000 SKIPA ;PASS IF TRON DID NOT SKIP
40677 STOP^
40678 056120 254 04 0 00 056121 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40679 056121 324 00 0 00 056122 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40680 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40681 ;IN THE SUBTEST) TO LOOP ON ERROR^
40682 056122 312 04 0 00 070776 CAME 4,[123456,,701237] ;PASS IF C(AC)=123456,701237
40683 STOP^
40684 056123 254 04 0 00 056124 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40685 056124 324 00 0 00 056125 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40686 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40687 ;IN THE SUBTEST) TO LOOP ON ERROR^
40688
40689 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 95
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0939
40690 ;THIS TEST VERIFIES THAT TLON SKIPS THE NEXT SEQUENTIAL INSTRUCTION
40691 ;IF AND ONLY IF NOT ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO.
40692 ;THESE MASKED AC BITS ARE THEN CHANGED TO ONES
40693 ;IN THIS CASE, C(AC)-123456,,701234 AND E=3
40694 ;HENCE, TLON SHOULD SKIP THE NEXT SEQUENTIAL INSTRUCTION
40695 ;AND THE RESULT IN THE AC SHOULD BE 123457,,701234
40696
40697 056125 200 03 0 00 070745 C75400: MOVE 3,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
40698 056126 667 03 0 00 000003 TLON 3,3 ;*TLON SHOULD SKIP AND
40699 ;PLACE 123457,,701234 INTO THE AC
40700 STOP^
40701 056127 254 04 0 00 056130 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40702 056130 324 00 0 00 056131 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40703 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40704 ;IN THE SUBTEST) TO LOOP ON ERROR^
40705 056131 312 03 0 00 071010 CAME 3,[123457,,701234] ;PASS IF C(AC)=123457,,701234
40706 STOP^
40707 056132 254 04 0 00 056133 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40708 056133 324 00 0 00 056134 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40709 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40710 ;IN THE SUBTEST) TO LOOP ON ERROR^
40711
40712 ;*******
40713
40714 ;THIS TEST VERIFIES THAT TLON SKIPS THE NEXT SEQUENTIAL INSTRUCTION
40715 ;IF AND ONLY IF NOT ALL BITS IN AC-LEFT CORRESPONDING TO 1'S IN E ARE ZERO.
40716 ;THESE MASKED AC BITS ARE THEN CHANGED TO ONES
40717 ;IN THIS CASE, C(AC)=123456,,701234 AND E=300
40718 ;HENCE, TLON SHOULD NOT SKIP THE NEXT SEQUENTIAL INSTRUCTION
40719 ;AND THE RESULT IN THE AC SHOULD BE 123756,,701234
40720
40721 056134 200 02 0 00 070745 C75410: MOVE 2,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
40722 056135 667 02 0 00 000300 TLON 2,300 ;*TLON SHOULD NOT SKIP AND
40723 ;PLACE 123756,,701234 INTO THE AC
40724 056136 334 00 0 00 000000 SKIPA ;PASS IF TLON DID NOT SKIP
40725 STOP^
40726 056137 254 04 0 00 056140 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40727 056140 324 00 0 00 056141 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40728 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40729 ;IN THE SUBTEST) TO LOOP ON ERROR^
40730 056141 312 02 0 00 071000 CAME 2,[123756,,701234] ;PASS IF C(AC)=123756,,701234
40731 STOP^
40732 056142 254 04 0 00 056143 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40733 056143 324 00 0 00 056144 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40734 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40735 ;IN THE SUBTEST) TO LOOP ON ERROR^
40736
40737 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 96
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0940
40738 ;THIS TEST VERIFIES THAT TDOE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
40739 ;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN
40740 ;C(E)ARE ZERO. THESE MASKED
40741 ;AC BITS ARE THEN CHANGED TO ONES
40742 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=654321,,076543
40743 ;HENCE, TDOE SHOULD SKIP AND THE RESULT IN AC
40744 ;SHOULD BE -1,,-1 C(E) IS NOT AFFECTED
40745
40746 056144 200 01 0 00 070745 C75500: MOVE 1,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
40747 056145 200 02 0 00 070763 MOVE 2,[654321,,076543] ;PRELOAD E WITH 654321,,076543
40748 056146 672 01 0 00 000002 TDOE 1,2 ;*TDOE SHOULD SKIP AND
40749 ;PLACE -1,,-1 INTO THE AC
40750 STOP^
40751 056147 254 04 0 00 056150 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40752 056150 324 00 0 00 056151 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40753 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40754 ;IN THE SUBTEST) TO LOOP ON ERROR^
40755 056151 312 01 0 00 070254 CAME 1,[-1] ;PASS IF C(AC)=-1,,-1
40756 STOP^
40757 056152 254 04 0 00 056153 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40758 056153 324 00 0 00 056154 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40759 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40760 ;IN THE SUBTEST) TO LOOP ON ERROR^
40761 056154 312 02 0 00 070763 CAME 2,[654321,,76543] ;PASS IF C(E) UNCHANGED
40762 STOP^
40763 056155 254 04 0 00 056156 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40764 056156 324 00 0 00 056157 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40765 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40766 ;IN THE SUBTEST) TO LOOP ON ERROR^
40767
40768 ;**********
40769
40770 ;THIS TEST VERIFIES THAT TDOE SKIPS THE NEXT SEQUENTAIL INSTRUCTION
40771 ;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN
40772 ;C(E) ARE ZERO. THESE MASKED
40773 ;AC BITS ARE THEN CHANGED TO ONES
40774 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=754321,,076543
40775 ;HENCE, TDOE SHOULD NOT SKIP AND THE RESULT IN AC
40776 ;SHOULD BE -1,,-1 C(E) IS NOT AFFECTD
40777
40778 056157 200 00 0 00 070745 C75510: MOVE 0,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
40779 056160 200 01 0 00 070764 MOVE 1,[754321,,76543] ;PRELOAD E WITH 754321,,076543
40780 056161 672 00 0 00 000001 TDOE 0,1 ;*TDOE SHOULD NOT SKIP AND
40781 ;PLACE -1,,-1 INTO THE AC
40782 056162 334 00 0 00 000000 SKIPA ;PASS IF TDOE DOES NOT SKIP
40783 STOP^
40784 056163 254 04 0 00 056164 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40785 056164 324 00 0 00 056165 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40786 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40787 ;IN THE SUBTEST) TO LOOP ON ERROR^
40788 056165 312 00 0 00 070254 CAME 0,[-1] ;PASS IF C(AC)=-1,,-1
40789 STOP^
40790 056166 254 04 0 00 056167 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40791 056167 324 00 0 00 056170 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40792 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 96-1
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0941
40793 ;IN THE SUBTEST) TO LOOP ON ERROR^
40794 056170 312 01 0 00 070764 CAME 1,[754321,,76543] ;PASS IF C(E) UNCHANGED
40795 STOP^
40796 056171 254 04 0 00 056172 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40797 056172 324 00 0 00 056173 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40798 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40799 ;IN THE SUBTEST) TO LOOP ON ERROR^
40800
40801 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 97
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0942
40802 ;THIS TEST VERIFIES THAT TSOE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
40803 ;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN
40804 ;C(E) WITH BOTH HALVES SWAPPED ARE ZERO. THESE MASKED
40805 ;AC BITS ARE THEN CHANGED TO ONES.
40806 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321
40807 ;HENCE, TSOE SHOULD SKIP AND THE RESULT IN AC
40808 ;SHOULD BE -1,,-1. C(E) IS NOT AFFECTED
40809
40810 056173 200 17 0 00 070745 C75600: MOVE 17,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
40811 056174 200 00 0 00 070754 MOVE 0,[76543,,654321] ;PRELOAD E WITH 076543,,654321
40812 056175 673 17 0 00 000000 TSOE 17,0 ;*TSOE SHOULD SKIP AND
40813 ;PLACE -1,,-1 INTO THE AC
40814 STOP^
40815 056176 254 04 0 00 056177 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40816 056177 324 00 0 00 056200 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40817 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40818 ;IN THE SUBTEST) TO LOOP ON ERROR^
40819 056200 312 17 0 00 070254 CAME 17,[-1] ;PASS IF C(AC)=-1,,-1
40820 STOP^
40821 056201 254 04 0 00 056202 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40822 056202 324 00 0 00 056203 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40823 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40824 ;IN THE SUBTEST) TO LOOP ON ERROR^
40825 056203 312 00 0 00 070754 CAME 0,[76543,,654321] ;PASS IF C(E) UNCHANGED
40826 STOP^
40827 056204 254 04 0 00 056205 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40828 056205 324 00 0 00 056206 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40829 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40830 ;IN THE SUBTEST) TO LOOP ON ERROR^
40831
40832 ;**********
40833
40834 ;THIS TEST VERIFIES THAT TSOE SKIPS THE NEXT SEQUENTIAL INSTRUCTION
40835 ;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN
40836 ;C(E) WITH BOTH HALVES SWAPPED ARE ZERO. THESE MASKED
40837 ;AC BITS ARE THEN CHANGED TO ONES.
40838 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,657321
40839 ;HENCE, TSOE SHOULD NOT SKIP AND THE RESULT IN THE AC
40840 ;SHOULD BE -1,,-1 C(E) IS NOT AFFECTED.
40841
40842 056206 200 16 0 00 070745 C75610: MOVE 16,[123456,,701234] ;PRELOAD AC WITH 123456,701234
40843 056207 200 17 0 00 070766 MOVE 17,[76543,,657321] ;PRELOAD E WITH 076543,,657321
40844 056210 673 16 0 00 000017 TSOE 16,17 ;*TSOE SHOULD NOT SKIP AND
40845 ;*TSOE SHOULD NOT SKIP AND
40846 ;PLACE -1,,-1 INTO THE AC
40847 056211 334 00 0 00 000000 SKIPA ;PASS IF SKIP
40848 STOP^
40849 056212 254 04 0 00 056213 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40850 056213 324 00 0 00 056214 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40851 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40852 ;IN THE SUBTEST) TO LOOP ON ERROR^
40853 056214 312 16 0 00 070254 CAME 16,[-1] ;PASS IF C(AC)=-1,,-1
40854 STOP^
40855 056215 254 04 0 00 056216 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40856 056216 324 00 0 00 056217 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 97-1
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0943
40857 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40858 ;IN THE SUBTEST) TO LOOP ON ERROR^
40859 056217 312 17 0 00 070766 CAME 17,[76543,,657321] ;PASS IF C(E) UNCHANGED
40860 STOP^
40861 056220 254 04 0 00 056221 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40862 056221 324 00 0 00 056222 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40863 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40864 ;IN THE SUBTEST) TO LOOP ON ERROR^
40865
40866 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 98
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0944
40867 ;THIS TEST VERIFIES THAT TDOA PLACES ONES INTO ALL BITS OF THE AC WHICH
40868 ;CORRRESPOND TO 1'S IN C(E) AND ALWAYS
40869 ;SKIPS THE NEXT INSTRUCTION C(E) IS NOT AFFECTED
40870 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)= 654321,,076543
40871 ;HENCE, TDOA SHOULD ALWAYS SKIP AND C(AC) SHOULD BE -1,,-1
40872
40873 056222 200 15 0 00 070745 C75700: MOVE 15,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
40874 056223 200 16 0 00 070763 MOVE 16,[654321,,076543] ;PRELOAD E WITH 654321,,076543
40875 056224 674 15 0 00 000016 TDOA 15,16 ;*TDOA SHOULD SKIP AND
40876 ;PLACE -1,,-1 INTO THE AC
40877 STOP^
40878 056225 254 04 0 00 056226 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40879 056226 324 00 0 00 056227 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40880 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40881 ;IN THE SUBTEST) TO LOOP ON ERROR^
40882 056227 312 15 0 00 070254 CAME 15,[-1] ;PASS IF C(AC)=-1,,-1
40883 STOP^
40884 056230 254 04 0 00 056231 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40885 056231 324 00 0 00 056232 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40886 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40887 ;IN THE SUBTEST) TO LOOP ON ERROR^
40888 056232 312 16 0 00 070763 CAME 16,[654321,,076543] ;PASS IF C(E) UNCHANGED
40889 STOP^
40890 056233 254 04 0 00 056234 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40891 056234 324 00 0 00 056235 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40892 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40893 ;IN THE SUBTEST) TO LOOP ON ERROR^
40894
40895 ;**********
40896
40897 ;THIS TEST VERIFIES THAT TDOA PLACE ONES ALL BIT OF THE AC WHICH
40898 ;CORRESPOND TO 1'S IN C(E) AND ALWAYS
40899 ;SKIPS THE NEXT INSTRUCTION C(E) IS NOT AFFECTED
40900 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=252525,,707070
40901 ;HENCE, TDOA SHOULD ALWAYS SKIP AND C(AC) SHOULD BE 373577,,707274
40902
40903 056235 200 14 0 00 070745 C75710: MOVE 14,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
40904 056236 200 15 0 00 070761 MOVE 15,[252525,,707070] ;PRELOAD E WITH 252525,,707070
40905 056237 674 14 0 00 000015 TDOA 14,15 ;*TDOA SHOULD SKIP AND
40906 ;PLACE 373577,707274 ONTO THE AC
40907 STOP^
40908 056240 254 04 0 00 056241 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40909 056241 324 00 0 00 056242 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40910 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40911 ;IN THE SUBTEST) TO LOOP ON ERROR^
40912 056242 312 14 0 00 071011 CAME 14,[373577,,707274] ;PASS IF C(AC)=373577,,707274
40913 STOP^
40914 056243 254 04 0 00 056244 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40915 056244 324 00 0 00 056245 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40916 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40917 ;IN THE SUBTEST) TO LOOP ON ERROR^
40918 056245 312 15 0 00 070761 CAME 15,[252525,,707070] ;PASS IF C(E) UNCHANGED
40919 STOP^
40920 056246 254 04 0 00 056247 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40921 056247 324 00 0 00 056250 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 98-1
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0945
40922 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40923 ;IN THE SUBTEST) TO LOOP ON ERROR^
40924
40925 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 99
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0946
40926 ;THIS TEST VERIFIES THAT TSOA PLACE ONES INTO ALL BITS OF THE AC WHICH
40927 ;CORRESPOND TO 1'S IN C(E) WITH BOTH HALVES SWAPPED AND ALWAYS
40928 ;SKIPS THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED
40929 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321
40930 ;HENCE, TSOA SHOULD SLAWAYS SKIP AND C(AC) SHOULD BE -1,,-1
40931
40932 056250 200 13 0 00 070745 C76000: MOVE 13,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
40933 056251 200 14 0 00 071012 MOVE 14,[176543,,654321] ;PRELOAD E WITH 076543,,654321
40934 056252 675 13 0 00 000014 TSOA 13,14 ;*TSOA SHOULD SKIP AND
40935 ;PLACE -1,,-1 ONTO THE AC
40936 STOP^
40937 056253 254 04 0 00 056254 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40938 056254 324 00 0 00 056255 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40939 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40940 ;IN THE SUBTEST) TO LOOP ON ERROR^
40941 056255 312 13 0 00 070254 CAME 13,[-1] ;PASS IF C(AC)=-1,,-1
40942 STOP^
40943 056256 254 04 0 00 056257 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40944 056257 324 00 0 00 056260 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40945 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40946 ;IN THE SUBTEST) TO LOOP ON ERROR^
40947 056260 312 14 0 00 071012 CAME 14,[176543,,654321] ;PASS IF C(E) UNCHANGED
40948 STOP^
40949 056261 254 04 0 00 056262 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40950 056262 324 00 0 00 056263 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40951 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40952 ;IN THE SUBTEST) TO LOOP ON ERROR^
40953
40954 ;**********
40955
40956 ;THIS TEST VERIFIES THAT TSOA PLACES ONES INTO ALL BITS OF THE AC WHICH
40957 ;CORRESPOND TO 1'S IN C(E) WITH BOTH HALVES SWAPPED AND ALWAYS
40958 ;SKIPS THE NEXT INSTRUCTION. C(E) IS NOT AFFECTED
40959 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=701234,,123456
40960 ;HENCE, TSOA SHOULD SLWAYS SKIP AND C(AC) SHOULD BE 123456,,701234
40961
40962 056263 200 12 0 00 070745 C76010: MOVE 12,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
40963 056264 200 13 0 00 070771 MOVE 13,[701234,,123456] ;PRELOAD E WITH 701234,123456
40964 056265 675 12 0 00 000013 TSOA 12,13 ;*TSOA SHOULD SKIP AND
40965 ;PLACE 123456,,701234 INTO THE AC
40966 STOP^
40967 056266 254 04 0 00 056267 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40968 056267 324 00 0 00 056270 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40969 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40970 ;IN THE SUBTEST) TO LOOP ON ERROR^
40971 056270 312 12 0 00 070745 CAME 12,[123456,,701234] ;PASS IF C(AC)=123456,,701234
40972 STOP^
40973 056271 254 04 0 00 056272 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40974 056272 324 00 0 00 056273 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
40975 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40976 ;IN THE SUBTEST) TO LOOP ON ERROR^
40977 056273 312 13 0 00 070771 CAME 13,[701234,,123456] ;PASS IF C(E) UNCHANGED
40978 STOP^
40979 056274 254 04 0 00 056275 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40980 056275 324 00 0 00 056276 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 99-1
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0947
40981 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
40982 ;IN THE SUBTEST) TO LOOP ON ERROR^
40983
40984 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 100
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0948
40985 ;THIS TEST VERIFIES THAT TDON SKIPS THE NEXT SEQUENTIAL INSTRUCTION
40986 ;IF AND ONLY IF ALL BITS IN THE AC CORRESPONDING TO 1'S IN
40987 ;C(E) ARE ZERO. THESE MASKED
40988 ;AC BITS ARE THEN CHANGED TO ONES
40989 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=654321,,076547
40990 ;HENCE, TDON SHOULD SKIP AND THE RESULT IN AC
40991 ;SHOULD BE -1,,-1 C(E) IS NOT AFFECTED
40992
40993 056276 200 11 0 00 070745 C76100: MOVE 11,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
40994 056277 200 12 0 00 070772 MOVE 12,[654321,,076547] ;PRELOAD E WITH 654321,,076547
40995 056300 676 11 0 00 000012 TDON 11,12 ;*TDON SHOULD SKIP AND
40996 ;PLACE -1,,-1 INTO THE AC
40997 STOP^
40998 056301 254 04 0 00 056302 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
40999 056302 324 00 0 00 056303 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41000 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41001 ;IN THE SUBTEST) TO LOOP ON ERROR^
41002 056303 312 11 0 00 070254 CAME 11,[-1] ;PASS IF C(AC)=-1,,-1
41003 STOP^
41004 056304 254 04 0 00 056305 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41005 056305 324 00 0 00 056306 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41006 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41007 ;IN THE SUBTEST) TO LOOP ON ERROR^
41008 056306 312 12 0 00 070772 CAME 12,[654321,,076547] ;PASS IF C(E) UNCHANGED
41009 STOP^
41010 056307 254 04 0 00 056310 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41011 056310 324 00 0 00 056311 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41012 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41013 ;IN THE SUBTEST) TO LOOP ON ERROR^
41014
41015 ;**********
41016
41017 ;THIS TEST VERIFIES THAT TDON SKIPS THE NEXT SEQUENTIAL INSTRUCTION
41018 ;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN
41019 ;C(E) ARE ZERO. THESE MASKED
41020 ;AC BITS ARE THEN CHANGED TO ONES.
41021 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=654321,,076543
41022 ;THENC, TDON SHOULD NOT SKIP AND THE RESULT IN TH AC
41023 ;SHOULD BE -1,,-1 C(E) IS NOT AFFECTED
41024
41025 056311 200 10 0 00 070745 C76110: MOVE 10,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
41026 056312 200 11 0 00 070763 MOVE 11,[654321,,076543] ;PRELOAD E WITH 654321,,076543
41027 056313 676 10 0 00 000011 TDON 10,11 ;*TDON SHOULD NOT SKIP AND
41028 ;PLACE -1,,-1 INTO THE AC
41029 056314 334 00 0 00 000000 SKIPA ;PASS IF TDON DOES NOT SKIP
41030 STOP ^
41031 056315 254 04 0 00 056316 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41032 056316 324 00 0 00 056317 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41033 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41034 ;IN THE SUBTEST) TO LOOP ON ERROR^
41035 056317 312 10 0 00 070254 CAME 10,[-1] ;PASS IF C(AC)=-1,,-1
41036 STOP^
41037 056320 254 04 0 00 056321 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41038 056321 324 00 0 00 056322 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41039 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 100-1
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0949
41040 ;IN THE SUBTEST) TO LOOP ON ERROR^
41041 056322 312 11 0 00 070763 CAME 11,[654321,,076543] ;PASS IF C(E) UNCHANGED
41042 STOP^
41043 056323 254 04 0 00 056324 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41044 056324 324 00 0 00 056325 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41045 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41046 ;IN THE SUBTEST) TO LOOP ON ERROR^
41047
41048 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 101
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0950
41049 ;THIS TEST VERIFIES THAT TSON SKIPS THE NEXT SEQUENTIAL INSTRUCTION
41050 ;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN
41051 ;C(E) WITH BOTH HALVE SWAPPED ARE ZERO. THESE MASKED
41052 ;AC BITS ARE THEN CHANGED TO ONES
41053 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=077543,,654321
41054 ;HENCE, TSON SHOULD SKIP AND THE RESULT IN AC
41055 ;SHOULD BE -1,,-1 C(E) IS NOT AFFECTED
41056
41057 056325 200 07 0 00 070745 C76200: MOVE 7,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
41058 056326 200 10 0 00 070774 MOVE 10,[77543,,654321] ;PRELOAD E WITH 077543,,654321]
41059 056327 677 07 0 00 000010 TSON 7,10 ;*TSON HOULD SKIP AND
41060 ;PLACE -1,,-1 INTO THE AC
41061 STOP^
41062 056330 254 04 0 00 056331 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41063 056331 324 00 0 00 056332 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41064 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41065 ;IN THE SUBTEST) TO LOOP ON ERROR^
41066 056332 312 07 0 00 070254 CAME 7,[-1] ;PASS IF C(AC)=-1,,-1
41067 STOP^
41068 056333 254 04 0 00 056334 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41069 056334 324 00 0 00 056335 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41070 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41071 ;IN THE SUBTEST) TO LOOP ON ERROR^
41072 056335 312 10 0 00 070774 CAME 10,[77543,,654321] ;PASS IF C(E) UNCHANGED
41073 STOP^
41074 056336 254 04 0 00 056337 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41075 056337 324 00 0 00 056340 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41076 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41077 ;IN THE SUBTEST) TO LOOP ON ERROR^
41078
41079 ;**********
41080
41081 ;THIS TEST VERIFIES THAT TSON SKIPS THE NEXT SEQUENTIAL INSTRUCTION
41082 ;IF AND ONLY IF NOT ALL BITS IN THE AC CORRESPONDING TO 1'S IN
41083 ;C(E) WITH BOTH HALVES SWAPPED ARE ZERO. THESE MASKED
41084 ;AC BITS ARE THEN CHANGED TO ONES.
41085 ;IN THIS CASE, C(AC)=123456,,701234 AND C(E)=076543,,654321
41086 ;HENCE, TSON SHOULD NOT SKIP AND THE RESULT IN AC
41087 ;SHOULD BE -1,,-1 C(E) IS NOT AFFECTED
41088
41089 056340 200 06 0 00 070745 C76210: MOVE 6,[123456,,701234] ;PRELOAD AC WITH 123456,,701234
41090 056341 200 07 0 00 070754 MOVE 7,[76543,,654321] ;PRELOAD E WITH 076543MM654321
41091 056342 677 06 0 00 000007 TSON 6,7 ;*TSON SHOULD NOT SKIP AND
41092 ;PLACE -1,,-1 INTO THE AC
41093 056343 334 00 0 00 000000 SKIPA ;PASS IF TSON DOES NOT SKIP
41094 STOP^
41095 056344 254 04 0 00 056345 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41096 056345 324 00 0 00 056346 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41097 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41098 ;IN THE SUBTEST) TO LOOP ON ERROR^
41099 056346 312 06 0 00 070254 CAME 6,[-1] ;PASS IF C(AC)-=1,,-1
41100 STOP^
41101 056347 254 04 0 00 056350 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41102 056350 324 00 0 00 056351 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41103 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 101-1
DFKAA6 MAC 25-AUG-75 14:01 TEST OF MSCL LOGICAL TEST INSTRUCTIONS SEQ 0951
41104 ;IN THE SUBTEST) TO LOOP ON ERROR^
41105 056351 312 07 0 00 070754 CAME 7,[76543,,654321] ;PASS IF C(E) UNCHANGED
41106 STOP^
41107 056352 254 04 0 00 056353 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41108 056353 324 00 0 00 056354 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41109 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41110 ;IN THE SUBTEST) TO LOOP ON ERROR^
41111
41112 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 1
DFKAA7 MAC 25-AUG-75 14:03 TEST OF PUSH INSTRUCTION SEQ 0952
41113 SUBTTL TEST OF PUSH INSTRUCTION
41114
41115 ;**********
41116
41117 ;THIS TEST VERIFIES THAT PUSH DECODES CORRECTLY.
41118 ;IF PUSH DECODES AS PUSHJ, THIS TEST FAILS.
41119
41120 056354 400 02 0 00 000000 C27200: SETZ 2, ;CLEAR AC
41121 056355 261 02 0 00 056357 PUSH 2,.+2 ;*PUSH SHOULD NOT JUMP
41122 056356 334 00 0 00 000000 SKIPA ;PASS IF PUSH DID NOT JUMP
41123 STOP^
41124 056357 254 04 0 00 056360 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41125 056360 324 00 0 00 056361 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41126 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41127 ;IN THE SUBTEST) TO LOOP ON ERROR^
41128
41129 ;**********
41130
41131 ;THIS TEST VERIFIES THAT PUSH DOES NOT MODIFY C(E).
41132 ;CLEAR E AND AC; THEN, EXECUTE PUSH.
41133 ;CHECK E FOR ORIGINAL CONTENTS ,0.
41134 ;PASS IF C(E)=0.
41135
41136 056361 403 00 0 00 000002 C27300: SETZB 2 ;CLEAR AC,E
41137 056362 261 02 0 00 000000 PUSH 2, ;*PUSH SHOULD NOT ALTER C(E)
41138 056363 332 00 0 00 000000 SKIPE ;PASS IF C(E)=0,,0
41139 STOP^
41140 056364 254 04 0 00 056365 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41141 056365 324 00 0 00 056366 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41142 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41143 ;IN THE SUBTEST) TO LOOP ON ERROR^
41144
41145 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 2
DFKAA7 MAC 25-AUG-75 14:03 TEST OF PUSH INSTRUCTION SEQ 0953
41146 ;THIS TEST VERIFIES THAT PUSH ADDS 1,,1 TO THE AC.
41147 ;FIRST THE AC IS CLEARED; THEN PUSH IS EXECUTED.
41148 ;THE AC IS CHECKED FOR 1,,1. IF C(AC)=1,,1, THIS TEST PASSES.
41149
41150 056366 400 02 0 00 000000 C27400: SETZ 2, ;CLEAR AC
41151 056367 261 02 0 00 056370 PUSH 2,.+1 ;*PUSH SHOULD ADD 1,,1 TO C(AC)
41152 056370 312 02 0 00 070251 CAME 2,[XWD 1,1] ;PASS IF C(AC)=1,,1
41153 STOP^
41154 056371 254 04 0 00 056372 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41155 056372 324 00 0 00 056373 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41156 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41157 ;IN THE SUBTEST) TO LOOP ON ERROR^
41158
41159 ;**********
41160
41161 ;THIS TEST VERIFIES THAT PUSH ADDS 1,,1 TO THE AC BEFORE MODIFYING C(C(AC-RIGHT)).
41162 ;FIRST, THE AC AND AC0 ARE ZEROED; THEN PUSH IS EXECUTED.
41163 ;C(C(AC-RIGHT)) [BEFORE AC UPDATING] (AC0) IS CHECKED FOR THE INITIAL VALUE, 0.
41164 ;IF C(AC0)=0, THIS TEST PASSES
41165
41166 056373 403 00 0 00 000002 C27500: SETZB 2 ;CLEAR AC AND AC0
41167 056374 261 02 0 00 071013 PUSH 2,[16541320] ;*PUSH SHOULD NOT MODIFY C(AC0)
41168 056375 332 00 0 00 000000 SKIPE ;PASS IF C(AC0)=0
41169 STOP^
41170 056376 254 04 0 00 056377 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41171 056377 324 00 0 00 056400 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41172 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41173 ;IN THE SUBTEST) TO LOOP ON ERROR^
41174
41175 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 3
DFKAA7 MAC 25-AUG-75 14:03 TEST OF PUSH INSTRUCTION SEQ 0954
41176 ;THIS TEST VERIFIES THAT PUSH ADDS 1,,1 TO THE AC BEFORE MODIFYING C(C(AC-RIGHT)).
41177 ;FIRST, THE AC AND AC0 ARE ZEROED; THEN PUSH IS EXECUTED.
41178 ;C(C(AC-RIGHT)) [BEFORE AC UPDATING] (AC0) IS CHECKED FOR
41179 ;IF C(AC0)IS NOT EQUAL TO E, THIS TEST PASSES
41180
41181 056400 403 01 0 00 000002 C27600: SETZB 1,2 ;CLEAR AC AND AC0
41182 056401 261 02 0 00 056402 PUSH 2,.+1 ;*PUSH SHOULD NOT MODIFY C(AC0)
41183 056402 306 00 0 00 056402 CAIN . ;FAIL IF C(AC0)=E
41184 STOP^
41185 056403 254 04 0 00 056404 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41186 056404 324 00 0 00 056405 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41187 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41188 ;IN THE SUBTEST) TO LOOP ON ERROR^
41189
41190 ;**********
41191
41192 ;THIS TEST VERIFIES THAT PUSH ADDS 1,,1 TO THE AC; THEN, MOVES C(E) INTO
41193 ;THE LOCATION SPECIFIED BY C(AC-RIGHT). IN THIS CASE, AC AND THE LOCATION SPECIFIED
41194 ;BY UPDATING C(AC-RIGHT) ARE CLEARED; THEN, PUSH IS EXECUTED WITH C(E)=-1,,-1.
41195 ;THE LOCATION SPECIFIED BY C(AC-RIGHT) IS THEN CHECKED FOR -1,,-1, THE
41196 ;ORIGINAL C(E). IF C(C(AC-RIGHT))=-1,,-1, THIS TEST PASSES.
41197
41198 056405 403 01 0 00 000002 C27700: SETZB 1,2 ;CLEAR AC, C(AC-RIGHT)
41199 056406 261 02 0 00 070254 PUSH 2,[-1] ;*PUSH SHOULD PLACE -1,,-1 INTO AC1
41200 056407 312 01 0 00 070254 CAME 1,[-1] ;PASS IF C(1)=-1,,-1
41201 STOP^
41202 056410 254 04 0 00 056411 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41203 056411 324 00 0 00 056412 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41204 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41205 ;IN THE SUBTEST) TO LOOP ON ERROR^
41206
41207 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4
DFKAA7 MAC 25-AUG-75 14:03 TEST OF PUSH INSTRUCTION SEQ 0955
41208 ;THIS TEST VERIFIES THAT PUSH ADDS 1,,1 TO THE AC; THEN, MOVES C(E) INTO
41209 ;THE LOCATION SPECIFIED BY C(AC-RIGHT). IN THIS CASE, AC
41210 ;IS CLEARED; THEN, PUSH IS EXECUTED WITH C(E)=0.
41211 ;THE LOCATION SPECIFIED BY C(AC-RIGHT) IS THEN CHECKED FOR 0, THE
41212 ;ORIGINAL C(E). IF C(C(AC-RIGHT))=0, THIS TEST PASSES.
41213
41214 056412 402 00 0 00 000002 C30000: SETZM 2 ;CLEAR AC
41215 056413 261 02 0 00 070253 PUSH 2,[0] ;*PUSH SHOULD PLACE 0 INTO AC1
41216 056414 332 00 0 00 000001 SKIPE 1 ;PASS IF C(1)=0
41217 STOP^
41218 056415 254 04 0 00 056416 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41219 056416 324 00 0 00 056417 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41220 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41221 ;IN THE SUBTEST) TO LOOP ON ERROR^
41222
41223 ;**********
41224
41225 ;THIS TEST VERIFIES THAT PUSH ADDS 1,,1 TO THE AC; THEN, MOVES C(E) INTO
41226 ;THE LOCATION SPECIFIED BY C(AC-RIGHT). IN THIS CASE,
41227 ;AC IS PRELOADED WITH 0,,-1, AND THE LOCATION SPECIFIED
41228 ;BY UPDATING C(AC-RIGHT) IS CLEARED; THEN, PUSH IS EXECUTED WITH C(E)=-1,,-1.
41229 ;THE LOCATION SPECIFIED BY C(AC-RIGHT) IS THEN CHECKED FOR -1,,-1, THE
41230 ;ORIGINAL C(E). IF C(C(AC-RIGHT))=-1,,-1, THIS TEST PASSES.
41231
41232 056417 201 02 0 00 777777 C30100: MOVEI 2,-1 ;PRELOAD AC WITH 0,,-1
41233 056420 400 00 0 00 000000 SETZ ;CLEAR AC, C(AC-RIGHT)
41234 056421 261 02 0 00 070254 PUSH 2,[-1] ;*PUSH SHOULD PLACE -1,,-1 INTO AC0
41235 056422 312 00 0 00 070254 CAME [-1] ;PASS IF C(0)=-1,,-1
41236 STOP^
41237 056423 254 04 0 00 056424 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41238 056424 324 00 0 00 056425 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41239 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41240 ;IN THE SUBTEST) TO LOOP ON ERROR^
41241
41242 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 5
DFKAA7 MAC 25-AUG-75 14:03 TEST OF PUSH INSTRUCTION SEQ 0956
41243 ;THIS TEST VERIFIES THAT THERE IS NO CARRY FROM BIT 18 TO BIT 17 OF THE AC ON PUSH.
41244 ;THE AC IS PRELOADED WITH 0,,-1; THEN PUSH IS EXECUTED. PUSH SHOULD ADD ONE
41245 ;TO BOTH HALVES OF THE AC WITHOUT GENERATING A CARRY FROM BIT 18 TO BIT 17. IF NO
41246 ;CARRY WAS GENERATED, THIS TEST PASSES
41247
41248 056425 201 02 0 00 777777 C30101: MOVEI 2,-1 ;PRELOAD AC WITH 0,, -1
41249 056426 261 02 0 00 000000 PUSH 2,0 ;*PUSH SHOULD NOT GENERATE A CARRY FROM BIT 18 TO 17
41250 056427 312 02 0 00 070307 CAME 2,[1,,0] ;PASS IF C(AC)=1,,0 (NO CARRY WAS GENERATED)
41251 STOP^
41252 056430 254 04 0 00 056431 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41253 056431 324 00 0 00 056432 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41254 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41255 ;IN THE SUBTEST) TO LOOP ON ERROR^
41256
41257 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6
DFKAA7 MAC 25-AUG-75 14:03 TEST OF PUSHJ INSTRUCTION SEQ 0957
41258 SUBTTL TEST OF PUSHJ INSTRUCTION
41259
41260 ;**********
41261
41262 ;THIS TEST VERIFIES THAT PUSHJ TRANSFERS CONTROL TO THE LOCATION ADDRESSED BY E.
41263 ;IF PUSHJ DOES NOT JUMP, THIS TEST FAILS
41264
41265 056432 C30200: SFLAG CRY0 ^;SETS CRY0 FLAG
41266
41267 056432 205 01 0 00 200000 MOVSI 1,CRY0
41268 056433 255 17 0 00 056434 JFCL 17,.+1 ;RESET ALL FLAGS
41269 056434 254 02 0 01 056435 JRST 2,.+1(1) ;SET CRY0 FLAG
41270 056435 400 00 0 00 000000 SETZ ;CLEAR AC
41271 056436 260 00 0 00 056440 PUSHJ .+2 ;*PUSHJ SHOULD JUMP TO LOCATION E
41272 STOP^
41273 056437 254 04 0 00 056440 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41274 056440 324 00 0 00 056441 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41275 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41276 ;IN THE SUBTEST) TO LOOP ON ERROR^
41277
41278 ;**********
41279
41280 ;THIS TEST VERIFIES THAT PUSHJ DOES NOT MODIFY C(PC) WHERE PC IS ONE GREATER
41281 ;THAN THE LOCATION OF THE PUSHJ INSTRUCTION.
41282 ;IF PUSHJ MODIFIES C(PC), THIS TEST FAILS
41283
41284 056441 C30300: SFLAG CRY0 ^;SET CRY0
41285
41286 056441 205 01 0 00 200000 MOVSI 1,CRY0
41287 056442 255 17 0 00 056443 JFCL 17,.+1 ;RESET ALL FLAGS
41288 056443 254 02 0 01 056444 JRST 2,.+1(1) ;SET CRY0 FLAG
41289 056444 403 01 0 00 056446 SETZB 1,.+2 ;CLEAR C(AC-RIGHT) AND C(PC)
41290 056445 260 00 0 00 056450 PUSHJ .+3 ;*PUSHJ SHOULD NOT MODIFY C(PC)
41291 056446 000000 000000 0 ;THIS LOCATION SHOULD NOT BE MODIFIED BY PUSHJ
41292 056447 310 00 0 00 000000 CAM ;PUSHJ SHOULD JUMP OVER THIS LOCATION
41293 056450 332 00 0 00 056446 SKIPE .-2 ;PASS IF PUSHJ DID NOT MODIFY C(PC)
41294 STOP^
41295 056451 254 04 0 00 056452 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41296 056452 324 00 0 00 056453 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41297 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41298 ;IN THE SUBTEST) TO LOOP ON ERROR^
41299
41300 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 7
DFKAA7 MAC 25-AUG-75 14:03 TEST OF PUSHJ INSTRUCTION SEQ 0958
41301 ;THIS TEST VERIFIES THAT PUSHJ DOES NOT STORE IN E
41302 ;IF PUSHJ STORED IN E, THIS TEST FAILS
41303
41304 056453 C30400: SFLAG CRY0 ^;SET CRY0
41305
41306 056453 205 01 0 00 200000 MOVSI 1,CRY0
41307 056454 255 17 0 00 056455 JFCL 17,.+1 ;RESET ALL FLAGS
41308 056455 254 02 0 01 056456 JRST 2,.+1(1) ;SET CRY0 FLAG
41309 056456 403 00 0 00 000001 SETZB 1 ;CLEAR AC AND C(AC-RIGHT
41310 056457 260 00 0 00 056460 PUSHJ .+1 ;*PUSHJ SHOULD NOT STORE IN E
41311 056460 200 02 0 00 056460 MOVE 2,. ;SAVE C(E)
41312 056461 312 02 0 00 056460 CAME 2,.-1 ;FAIL IF PUSHJ STORED IN E
41313 STOP^
41314 056462 254 04 0 00 056463 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41315 056463 324 00 0 00 056464 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41316 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41317 ;IN THE SUBTEST) TO LOOP ON ERROR^
41318
41319 ;**********
41320
41321 ;THIS TEST VERIFIES THAT PUSHJ DOES NOT STORE IN LOC 0
41322 ;PUSHJ SHOULD STORE PC IN C(AC-RIGHT) - LOCATION 2.
41323 ;IF PUSHJ STORES IN LOCATION 0, THIS TEST FAILS
41324
41325 056464 201 02 0 00 000001 C30500: MOVEI 2,1 ;PRELOAD AC WITH 0,,1
41326 056465 400 00 0 00 000000 SETZ 0 ;CLEAR 0
41327 056466 260 02 0 00 056467 PUSHJ 2,.+1 ;*PUSHJ SHOULD NOT STORE IN LOCATION 0
41328 056467 332 00 0 00 000000 SKIPE ;FAIL IF PUSHJ STORED IN LOCATION 0
41329 STOP^
41330 056470 254 04 0 00 056471 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41331 056471 324 00 0 00 056472 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41332 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41333 ;IN THE SUBTEST) TO LOOP ON ERROR^
41334
41335 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 8
DFKAA7 MAC 25-AUG-75 14:03 TEST OF PUSHJ INSTRUCTION SEQ 0959
41336 ;THIS TEST VERIFIES THAT PUSHJ STORES THE PC IN THE LOCATION SPECIFIED
41337 ;BY C(AC-RIGHT) AFTER INCREMENTING AC.
41338 ;IN THIS TEST, AC AND C(AC-RIGHT) ARE CLEARED; THEN, PUSHJ IS EXECUTED.
41339 ;C(C(AC-RIGHT))IS THEN COMPARED TO ZERO. IF C(C(AC-RIGHT)) IS NON-ZERO,
41340 ;A PC WAS STORED AND THIS TEST PASSES.
41341
41342 056472 403 00 0 00 000001 C30600: SETZB 1 ;CLEAR AC, C(AC-RIGHT)
41343 056473 260 00 0 00 056475 PUSHJ .+2 ;*PUSHJ SHOULD STORE PC IN RIGHT HALF OF C(AC-RIGHT)
41344 056474 254 04 0 00 056474 HALT . ;PUSHJ SHOULD JUMP OVER THIS INSTRUCTION
41345 056475 405 01 0 00 777777 ANDI 1,-1 ;SAVE C(C(AC-RIGHT))
41346 056476 306 01 0 00 056475 CAIN 1,.-1 ;FAIL IF PC WAS NOT STORED IN C(AC-RIGHT)
41347 STOP^
41348 056477 254 04 0 00 056500 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41349 056500 324 00 0 00 056501 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41350 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41351 ;IN THE SUBTEST) TO LOOP ON ERROR^
41352
41353 ;**********
41354
41355 ;THIS TEST VERIFIES THAT PUSHJ ADDS 1,,1 TO THE AC
41356 ;THE AC IS CLEARED AND PUSHJ IS EXECUTED
41357 ;AC IS CHECKED FOR 1,,1 IF C(AC)=1,,1, THIS TEST PASSES
41358
41359 056501 400 00 0 00 000000 C31000: SETZ ;CLEAR AC
41360 056502 260 00 0 00 056503 PUSHJ .+1 ;*PUSHJ SHOULD PLACE 1,,1 INTO THE AC
41361 056503 312 00 0 00 070251 CAME [1,,1] ;PASS IF C(AC)=1,,1
41362 STOP^
41363 056504 254 04 0 00 056505 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41364 056505 324 00 0 00 056506 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41365 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41366 ;IN THE SUBTEST) TO LOOP ON ERROR^
41367
41368 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 9
DFKAA7 MAC 25-AUG-75 14:03 TEST OF PUSHJ INSTRUCTION SEQ 0960
41369 ;THIS TEST VERIFIES THAT PUSHJ STORES THE FLAGS IN LEFT HALF OF C(AC-RIGHT)
41370 ;FIRST, CRY0 IS SET AND AC AND C(AC-RIGHT) ARE CLEARED; THEN, PUSHJ IS EXECUTED.
41371 ;C(C(AC-RIGHT)) IS THEN CHECKED FOR CRY0. IF CRY0 IS SET, THIS TEST PASSES.
41372
41373 056506 C31100: SFLAG CRY0 ^;SET CRY0
41374
41375 056506 205 01 0 00 200000 MOVSI 1,CRY0
41376 056507 255 17 0 00 056510 JFCL 17,.+1 ;RESET ALL FLAGS
41377 056510 254 02 0 01 056511 JRST 2,.+1(1) ;SET CRY0 FLAG
41378 056511 403 00 0 00 000001 SETZB 1 ;CLEAR AC AND C(AC-RIGHT)
41379 056512 260 00 0 00 056513 PUSHJ .+1 ;*PUSHJ SHOULD STORE FLAGS IN LEFT HALF OF C(AC-RIGHT)
41380 056513 607 01 0 00 200000 TLNN 1,CRY0 ;PASS IF CRY0 STORED CORRECTLY
41381 STOP^
41382 056514 254 04 0 00 056515 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41383 056515 324 00 0 00 056516 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41384 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41385 ;IN THE SUBTEST) TO LOOP ON ERROR^
41386
41387 ;**********
41388
41389 ;THIS TEST VERIFIES THAT PUSHJ ADDS 1,,1 TO THE AC
41390 ;THE AC IS PRELOADED WITH 0,,1 AND PUSHJ IS EXECUTED
41391 ;AC IS CHECKED FOR 1,,2 IF C(AC)=1,,2, THIS TEST PASSES
41392
41393 056516 201 01 0 00 000001 C31400: MOVEI 1,1 ;PRELOAD AC WITH 0,,1
41394 056517 260 01 0 00 056521 PUSHJ 1,.+2 ;*PUSHJ SHOULD PLACE 1,,2 INTO THE AC
41395 056520 254 04 0 00 000000 HALT ;PUSHJ SHOULD JUMP OVER THIS INSTRUCTION
41396 056521 312 01 0 00 070634 CAME 1,[XWD 1,2] ;PASS IF AC WAS INCREMENTED CORRECTLY
41397 STOP^
41398 056522 254 04 0 00 056523 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41399 056523 324 00 0 00 056524 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41400 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41401 ;IN THE SUBTEST) TO LOOP ON ERROR^
41402
41403 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 10
DFKAA7 MAC 25-AUG-75 14:03 TEST OF PUSHJ INSTRUCTION SEQ 0961
41404 ;THIS TEST VERIFIES THAT PUSHJ STORES THE PC IN RIGHT HALF OF C(AC-RIGHT)
41405 ;THIS TEST PASSES IF THE PC WAS STORED CORRECTLY.
41406
41407 056524 201 01 0 00 000001 C31500: MOVEI 1,1 ;PLACE 0,,1 INTO AC
41408 056525 260 01 0 00 056527 PUSHJ 1,.+2 ;*PUSHJ SHOULD STORE .+1 INTO RIGHT HALF OF C(AC-RIGHT)
41409 056526 254 04 0 00 000000 HALT ;PUSHJ SHOULD JUMP OVER THIS PC
41410 056527 405 02 0 00 777777 ANDI 2,-1 ;SAVE RIGHT HALF OF C(AC-RIGHT)
41411 056530 302 02 0 00 056526 CAIE 2,.-2 ;PASS IF PC STORED CORRECTLY
41412 STOP^
41413 056531 254 04 0 00 056532 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41414 056532 324 00 0 00 056533 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41415 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41416 ;IN THE SUBTEST) TO LOOP ON ERROR^
41417
41418 ;**********
41419
41420 ;THIS TEST VERIFIES THAT PUSHJ ALWAYS RESETS BIS.
41421 ;FIRST BIS IS SET; THEN PUSHJ IS EXECUTED. THE FLAGS ARE
41422 ;THEN SAVED AND CHECKED. IF BIS WAS RESET VIA PUSHJ, THIS TEST PASSES.
41423
41424 056533 C31501: SFLAG BIS ^;SET BIS
41425
41426 056533 205 01 0 00 020000 MOVSI 1,BIS
41427 056534 255 17 0 00 056535 JFCL 17,.+1 ;RESET ALL FLAGS
41428 056535 254 02 0 01 056536 JRST 2,.+1(1) ;SET BIS FLAG
41429 056536 400 00 0 00 000000 SETZ ;CLEAR AC
41430 056537 260 00 0 00 056540 PUSHJ .+1 ;*PUSHJ SHOULD RESET BIS
41431 056540 265 00 0 00 056541 JSP .+1 ;SAVE FLAGS
41432 056541 603 00 0 00 020000 TLNE BIS ;PASS IF BIS FLAG IS RESET
41433 STOP^
41434 056542 254 04 0 00 056543 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41435 056543 324 00 0 00 056544 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41436 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41437 ;IN THE SUBTEST) TO LOOP ON ERROR^
41438
41439 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 11
DFKAA7 MAC 25-AUG-75 14:03 TEST OF PUSHJ INSTRUCTION SEQ 0962
41440 ;THIS TEST VERIFIES THAT THERE IS NO CARRY FROM BIT 18 TO BIT 17 OF THE AC ON PUSHJ.
41441 ;THE AC IS PRELOADED WITH 0,,-1; THEN PUSHJ IS EXECUTED. PUSHJ SHOULD ADD ONE
41442 ;TO BOTH HALVES OF THE AC WITHOUT GENERATING A CARRY FROM BIT 18 TO BIT 17. IF NO
41443 ;CARRY WAS GENERATED, THIS TEST PASSES
41444
41445 056544 201 02 0 00 777777 C31502: MOVEI 2,-1 ;PRELOAD AC WITH 0,,-1
41446 056545 260 02 0 00 056546 PUSHJ 2,.+1 ;*PUSHJ SHOULD NOT GENERATE A CARRY FROM BIT 18 TO 17
41447 056546 312 02 0 00 070307 CAME 2,[1,,0] ;PASS IF C(AC)=1,,0 (NO CARRY WAS GENERATED)
41448 STOP^
41449 056547 254 04 0 00 056550 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41450 056550 324 00 0 00 056551 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41451 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41452 ;IN THE SUBTEST) TO LOOP ON ERROR^
41453
41454 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 12
DFKAA7 MAC 25-AUG-75 14:03 TEST OF POP INSTRUCTION SEQ 0963
41455 SUBTTL TEST OF POP INSTRUCTION
41456
41457 ;**********
41458
41459 ;THIS TEST VERIFIES THAT POP SUBTRACTS 1,,1 FROM THE AC
41460 ;THE AC IS PRELOADED WITH 1,,1; THEN, POP IS EXECUTED.
41461 ;THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES.
41462
41463 056551 200 00 0 00 070251 C31600: MOVE [XWD 1,1] ;PRELOAD AC WITH 1,,1
41464 056552 262 00 0 00 000001 POP 1 ;*POP SHOULD SUBTRACT 1,,1 FROM THE AC
41465 056553 332 00 0 00 000000 SKIPE ;PASS IF AC WAS DECREMENTED CORRECTLY
41466 STOP^
41467 056554 254 04 0 00 056555 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41468 056555 324 00 0 00 056556 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41469 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41470 ;IN THE SUBTEST) TO LOOP ON ERROR^
41471
41472 ;**********
41473
41474 ;THIS TEST VERIFIES THAT POP SUBTRACTS 1,,1 FROM THE AC
41475 ;THE AC IS PRELOADED WITH 2,,2; THEN, POP IS EXECUTED.
41476 ;THE AC IS CHECKED FOR 1,,1. IF C(AC)=1,,1, THIS TEST PASSES.
41477
41478 056556 200 00 0 00 070440 C31700: MOVE [XWD 2,2] ;PRELOAD AC WITH E,,E WHERE E=2
41479 056557 201 02 0 00 000005 MOVEI 2,5 ;PRELOAD 2 WITH 0,,5
41480 056560 262 00 0 00 000002 POP 2 ;*POP SHOULD SUBTRACT 1,,1 FROM THE AC
41481 056561 312 00 0 00 070251 CAME [1,,1] ;PASS IF AC WAS DECREMENTED CORRECTLY
41482 STOP^
41483 056562 254 04 0 00 056563 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41484 056563 324 00 0 00 056564 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41485 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41486 ;IN THE SUBTEST) TO LOOP ON ERROR^
41487
41488 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 13
DFKAA7 MAC 25-AUG-75 14:03 TEST OF POP INSTRUCTION SEQ 0964
41489 ;THIS TEST VERIFIES THAT POP STORES C(C(AC-RIGHT)) INTO E
41490 ;IN THIS CASE, AC=0 AND AC IS PRELOADED WITH 2,,2; E=2 AND IS PRELOADED WITH 0.
41491 ;POP IS THEN EXECUTED. POP SHOULD PLACE 0 INTO E. IF C(E)=0, THIS TEST PASSES.
41492
41493 056564 200 00 0 00 070440 C32300: MOVE [XWD 2,2] ;PRELOAD AC WITH 2,,2
41494 056565 402 00 0 00 000002 SETZM 2 ;CLEAR E AND C(AC-RIGHT)
41495 056566 262 00 0 00 000002 POP 2 ;*POP SHOULD PLACE 0 INTO E
41496 056567 332 00 0 00 000002 SKIPE 2 ;PASS IF C(E)=0
41497 STOP^
41498 056570 254 04 0 00 056571 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41499 056571 324 00 0 00 056572 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41500 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41501 ;IN THE SUBTEST) TO LOOP ON ERROR^
41502
41503 ;**********
41504
41505 ;THIS TEST VERIFIES THAT POP DOES NOT MODIFY C(C(AC-RIGHT)-1).
41506 ;THIS TEST FAILS IF C(C(AC-RIGHT)-1) IS MODIFIED BY POP.
41507
41508 056572 200 00 0 00 070440 C32400: MOVE [XWD 2,2] ;PRELOAD AC WITH 2,,2
41509 056573 201 02 0 00 000017 MOVEI 2,17 ;PRELOAD 2 WITH 0,,17
41510 056574 402 00 0 00 000001 SETZM 1 ;CLEAR C(C(AC-RIGHT)-1)
41511 056575 262 00 0 00 000002 POP 2 ;*POP SHOULD NOT MODIFY C(C(AC-RIGHT)-1)
41512 056576 332 00 0 00 000001 SKIPE 1 ;PASS IF C(C(AC-RIGHT)-1) WAS UNALTERED
41513 STOP^
41514 056577 254 04 0 00 056600 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41515 056600 324 00 0 00 056601 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41516 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41517 ;IN THE SUBTEST) TO LOOP ON ERROR^
41518
41519 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 14
DFKAA7 MAC 25-AUG-75 14:03 TEST OF POP INSTRUCTION SEQ 0965
41520 ;THIS TEST VERIFIES THAT POP STORES C(C(AC-RIGHT)) INTO E.
41521 ;IN THIS CASE, AC IS PRELOADED WITH 2,,2 AND AC2 [C(AC-RIGHT)] IS PRELOADED WITH 0,,3.
41522 ;E IS CLEARED AND POP IS EXECUTED. E IS THEN CHECKED FOR 0,,3 [C(C(AC-RIGHT))] .
41523 ;IF C(E)=0,,3, THIS TEST PASSES.
41524
41525 056601 200 00 0 00 070440 C32500: MOVE [XWD 2,2] ;PRELOAD AC WITH 2,,2
41526 056602 201 02 0 00 000003 MOVEI 2,3 ;PRELOAD C(AC-RIGHT) WITH 0,,3
41527 056603 402 00 0 00 000003 SETZM 3 ;CLEAR E
41528 056604 262 00 0 00 000003 POP 3 ;*POP SHOULD PLACE 0,,3 INTO E
41529 056605 302 03 0 00 000003 CAIE 3,3 ;PASS IF C(E)=0,,3
41530 STOP^
41531 056606 254 04 0 00 056607 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41532 056607 324 00 0 00 056610 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41533 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41534 ;IN THE SUBTEST) TO LOOP ON ERROR^
41535
41536 ;**********
41537
41538 ;THIS TEST VERIFIES THAT POP STORES C(C(AC-RIGHT)) INTO E. IN THIS CASE,
41539 ;AC IS PRELOADED WITH 2,,2 AND AC2 [C(AC-RIGHT)] IS PRELOADED WITH 0,,17.
41540 ;E IS CLEARED AND POP IS EXECUTED. E IS THEN CHECKED FOR 0,,17 [C(C(AC-RIGHT))] .
41541 ;IF C(E)=0,,17, THIS TEST PASSES.
41542
41543 056610 402 00 0 00 000002 C32600: SETZM 2 ;CLEAR E
41544 056611 200 00 0 00 070440 MOVE [XWD 2,2] ;PRELOAD AC WITH 2,,2
41545 056612 201 02 0 00 000017 MOVEI 2,17 ;PRELOAD C(AC-RIGHT) WITH 0,,17
41546 056613 262 00 0 00 000002 POP 2 ;*POP SHOULD PLACE 0,,17 INTO E
41547 056614 302 02 0 00 000017 CAIE 2,17 ;PASS IF C(E)=0,,17
41548 STOP^
41549 056615 254 04 0 00 056616 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41550 056616 324 00 0 00 056617 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41551 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41552 ;IN THE SUBTEST) TO LOOP ON ERROR^
41553
41554 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 15
DFKAA7 MAC 25-AUG-75 14:03 TEST OF POP INSTRUCTION SEQ 0966
41555 ;THIS TEST VERIFIES THAT POP STORES C(C(AC-RIGHT)) INTO E. IN THIS CASE,
41556 ;AC IS PRELOADED WITH 2,,2 AND AC2 [C(AC-RIGHT)] IS PRELOADED WITH -1,,-1.
41557 ;E IS CLEARED AND POP IS EXECUTED. E IS THEN CHECKED FOR -1,,-1 [C(C(AC-RIGHT))] .
41558 ;IF C(E)=0,,3, THIS TEST PASSES.
41559
41560 056617 200 00 0 00 070440 C33100: MOVE [XWD 2,2] ;PRELOAD AC WITH 2,,2
41561 056620 476 00 0 00 000002 SETOM 2 ;PRELOAD C(AC-RIGHT) WITH -1,,-1
41562 056621 402 00 0 00 000003 SETZM 3 ;CLEAR E
41563 056622 262 00 0 00 000003 POP 3 ;*POP SHOULD PLACE -1,,-1 INTO E
41564 056623 312 03 0 00 070254 CAME 3,[-1] ;PASS IF C(E)=-1,,-1
41565 STOP^
41566 056624 254 04 0 00 056625 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41567 056625 324 00 0 00 056626 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41568 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41569 ;IN THE SUBTEST) TO LOOP ON ERROR^
41570
41571 ;**********
41572
41573 ;THIS TEST VERIFIES THAT POP PLACES C(C(AC-RIGHT)) INTO E AND ADDS 1,,1 TO AC.
41574 ;IN THIS CASE, THE AC IS PRELOADED WITH 1,,17; E=1 AND E IS PRELOADED WITH 0;
41575 ;C(AC-RIGHT) IS PRELOADED WITH -1,,-1; AND POP IS EXECUTED. POP SHOULD PLACE -1,,-1
41576 ;INTO E AND 0,,16 INTO AC. IF AC AND E ARE UPDATED CORRECTLY, THIS TEST PASSES.
41577
41578 056626 200 00 0 00 071014 C33300: MOVE [XWD 1,17] ;PRELOAD AC WITH 1,,17
41579 056627 402 00 0 00 000001 SETZM 1 ;PRELOAD E WITH 0
41580 056630 476 00 0 00 000017 SETOM 17 ;PRELOAD C(AC-RIGHT) WITH 1,,1
41581 056631 262 00 0 00 000001 POP 1 ;*POP SHOULD PLACE -1,,-1 INTO E AND 0,,16 INTO AC
41582 056632 312 01 0 00 070254 CAME 1,[-1] ;PASS IF C(E)=-1,,-1
41583 STOP^
41584 056633 254 04 0 00 056634 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41585 056634 324 00 0 00 056635 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41586 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41587 ;IN THE SUBTEST) TO LOOP ON ERROR^
41588 056635 302 00 0 00 000016 C33310: CAIE 16 ;PASS IF C(AC)=0,,16
41589 STOP^
41590 056636 254 04 0 00 056637 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41591 056637 324 00 0 00 056640 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41592 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41593 ;IN THE SUBTEST) TO LOOP ON ERROR^
41594
41595 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 16
DFKAA7 MAC 25-AUG-75 14:03 TEST OF POP INSTRUCTION SEQ 0967
41596 ;THIS TEST VERIFIES THAT POP PLACES C(C(AC-RIGHT)) INTO E AND ADDS 1,,1 TO AC
41597 ;IN THIS CASE, THE AC IS PRELOADED WITH -1,,0; E=17
41598 ;C(AC-RIGHT) IS PRELOADED WITH 0; AND POP IS EXECUTED. POP SHOULD PLACE 0
41599 ;INTO E. IF AC IS UPDATED CORRECTLY, THIS TEST PASSES.
41600
41601 056640 205 01 0 00 777777 C33400: MOVSI 1,-1 ;PRELOAD AC WITH -1,,0
41602 056641 400 00 0 00 000000 SETZ ;CLEAR C(AC-RIGHT)
41603 056642 262 01 0 00 000017 POP 1,17 ;*POP SHOULD PLACE 0 INTO E
41604 056643 332 00 0 00 000017 SKIPE 17 ;PASS IF C(E)=0
41605 STOP^
41606 056644 254 04 0 00 056645 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41607 056645 324 00 0 00 056646 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41608 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41609 ;IN THE SUBTEST) TO LOOP ON ERROR^
41610
41611 ;**********
41612
41613 ;THIS TEST VERIFIES THAT THERE IS NO CARRY FROM BIT 18 TO BIT 17 OF THE AC ON POP.
41614 ;THE AC IS PRELOADED WITH 1,,0; THEN POP IS EXECUTED. POP SHOULD SUBTRACT ONE
41615 ;FROM BOTH HALVES OF THE AC WITHOUT GENERATING A CARRY FROM BIT 18 TO BIT 17. IF NO
41616 ;CARRY WAS GENERATED, THIS TEST PASSES
41617
41618 056646 515 02 0 00 000001 C33401: HRLZI 2,1 ;PRELOAD AC WITH 1,,0
41619 056647 262 02 0 00 000000 POP 2,0 ;*POP SHOULD NOT GENERATE A CARRY FROM BIT 18 TO 17
41620 056650 302 02 0 00 777777 CAIE 2,-1 ;PASS IF C(AC)=0,,-1 (NO CARRY WAS GENERATED)
41621 STOP^
41622 056651 254 04 0 00 056652 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41623 056652 324 00 0 00 056653 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41624 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41625 ;IN THE SUBTEST) TO LOOP ON ERROR^
41626
41627 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 17
DFKAA7 MAC 25-AUG-75 14:03 TEST OF POPJ INSTRUCTION SEQ 0968
41628 SUBTTL TEST OF POPJ INSTRUCTION
41629
41630 ;**********
41631
41632 ;THIS TEST VERIFIES THAT POPJ JUMPS TO THE LOCATION ADDRESSED BY RIGHT HALF OF
41633 ;C(C(AC-RIGHT)) BEFORE POPJ DECREMENTED THE AC.
41634 ;THIS TEST PASSES IF POPJ JUMPS CORRECTLY.
41635
41636 056653 200 00 0 00 070251 C33500: MOVE [XWD 1,1] ;PRELOAD AC WITH 1,,1
41637 056654 201 01 0 00 056657 MOVEI 1,.+3 ;PRELOAD C(AC-RIGHT) WITH .+3
41638 056655 263 00 0 00 056657 POPJ .+2 ;*POPJ SHOULD JUMP TO LOCATION
41639 ;ADDRESSED BY C(C(AC-RIGHT))
41640 STOP^
41641 056656 254 04 0 00 056657 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41642 056657 324 00 0 00 056660 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41643 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41644 ;IN THE SUBTEST) TO LOOP ON ERROR^
41645
41646 ;**********
41647
41648 ;THIS TEST VERIFIES THAT POPJ SUBTRACTS 1,,1 FROM THE AC
41649 ;THIS AC IS PRELOADED WITH 1,,1; THEN,POPJ IS EXECUTED.
41650 ;THE AC IS CHECKED FOR 0. IF C(AC)=0, THIS TEST PASSES.
41651
41652 056660 200 00 0 00 070251 C33600: MOVE [XWD 1,1] ;PRELOAD AC WITH 1,,1
41653 056661 201 01 0 00 056663 MOVEI 1,.+2 ;PRELOAD C(AC-NIGHT)WITH .+2
41654 056662 263 00 0 00 056663 POPJ .+1 ;*POPJ SHOULD SUBTRACT 1,,1 FROM AC
41655 056663 312 00 0 00 070253 CAME [0] ;PASS IF C(AC)=0
41656 STOP^
41657 056664 254 04 0 00 056665 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41658 056665 324 00 0 00 056666 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41659 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41660 ;IN THE SUBTEST) TO LOOP ON ERROR^
41661
41662 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 18
DFKAA7 MAC 25-AUG-75 14:03 TEST OF POPJ INSTRUCTION SEQ 0969
41663 ;THIS TEST VERIFIES THAT POPJ JUMPS TO THE LOCATION ADDRESSED BY RIGHT HALF OF
41664 ;C(C(AC-RIGHT)) BEFORE POPJ DECREMENTED THE AC.
41665 ;THIS TEST PASSES IF POPJ JUMPS CORRECTLY.
41666
41667 056666 200 00 0 00 070251 C33700: MOVE [XWD 1,1] ;PRELOAD AC WITH 1,,1
41668 056667 201 01 0 00 056671 MOVEI 1,.+2 ;PRELOAD C(AC-RIGHT) WITH C33700+3
41669
41670 056670 263 00 0 00 056672 POPJ .+2 ;*POPJ SHOULD JUMP TO C33700+3
41671 056671 334 00 0 00 000000 SKIPA ;PASS IF POPJ JUMPED CORRECTLY
41672 STOP^
41673 056672 254 04 0 00 056673 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41674 056673 324 00 0 00 056674 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41675 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41676 ;IN THE SUBTEST) TO LOOP ON ERROR^
41677
41678 ;**********
41679
41680 ;THIS TEST VERIFIES THAT THERE IS NO CARRY FROM BIT 18 TO BIT 17 OF THE AC ON POPJ.
41681 ;THE AC IS PRELOADED WITH 1,,0; THEN POPJ IS EXECUTED. POPJ SHOULD SUBTRACT ONE
41682 ;FROM BOTH HALVES OF THE AC WITHOUT GENERATING A CARRY FROM BIT 18 TO BIT 17. IF NO
41683 ;CARRY WAS GENERATED, THIS TEST PASSES
41684
41685 056674 515 02 0 00 000001 C33701: HRLZI 2,1 ;PRELOAD AC WITH 1,,0
41686 056675 201 00 0 00 056677 MOVEI 0,.+2 ;PRELOAD C(AC-RIGHT) WITH C33701+3
41687 056676 263 02 0 00 000000 POPJ 2,0 ;*POPJ SHOULD NOT GENERATE A CARRY FROM BIT 18 TO 17
41688 056677 302 02 0 00 777777 CAIE 2,-1 ;PASS IF C(AC)=0,,-1 (NO CARRY WAS GENERATED)
41689 STOP^
41690 056700 254 04 0 00 056701 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41691 056701 324 00 0 00 056702 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41692 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41693 ;IN THE SUBTEST) TO LOOP ON ERROR^
41694
41695 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 19
DFKAA7 MAC 25-AUG-75 14:03 XCT INSTRUCTION - ADDITIONAL TESTS SEQ 0970
41696 SUBTTL XCT INSTRUCTION - ADDITIONAL TESTS
41697
41698 ;**********
41699
41700 ;THIS TEST VERIFIES THAT IF AN XCT EXECUTES A SKIP INSTRUCTION, THE SKIP IS RELATIVE
41701 ;TO THE LOCATION OF THE XCT.
41702
41703 056702 477 00 0 00 000001 C34000: SETOB 1
41704 056703 256 00 0 00 071015 XCT [CAME 0,1] ;*CAME SHOULD SKIP TO C34000+3
41705 STOP^
41706 056704 254 04 0 00 056705 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41707 056705 324 00 0 00 056706 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41708 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41709 ;IN THE SUBTEST) TO LOOP ON ERROR^
41710
41711 ;**********
41712
41713 ;THIS TEST VERIFIES THAT IF AN XCT EXECUTES A SKIP INSTRUCTION, THE SKIP IS RELATIVE
41714 ;TO THE LOCATION OF THE XCT.
41715
41716 056706 477 00 0 00 000001 C34100: SETOB 1
41717 056707 256 00 0 00 071017 XCT [XCT[XCT[CAME 0,1]]] ;*CAME SHOULD SKIP TO C34100+3
41718 STOP^
41719 056710 254 04 0 00 056711 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41720 056711 324 00 0 00 056712 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41721 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41722 ;IN THE SUBTEST) TO LOOP ON ERROR^
41723
41724 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 20
DFKAA7 MAC 25-AUG-75 14:03 XCT INSTRUCTION - ADDITIONAL TESTS SEQ 0971
41725 ;THIS TEST VERIFIES THAT IF AN XCT EXECUTES A JUMP, PROGRAM FLOW IS ALTERED AS
41726 ;SPECIFIED BY THE JUMP.
41727
41728 056712 256 00 0 00 071020 C34200: XCT [JRST .+4] ;*JRST SHOULD JUMP TO C34200+4
41729
41730 056713 254 04 0 00 000000 HALT ;JRST SHOULD JUMP OVER THIS LOCATION
41731 056714 254 04 0 00 000000 HALT ;JRST SHOULD JUMP OVER THIS LOCATION
41732 STOP^
41733 056715 254 04 0 00 056716 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41734 056716 324 00 0 00 056717 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41735 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41736 ;IN THE SUBTEST) TO LOOP ON ERROR^
41737
41738 ;**********
41739
41740 ;THIS TEST VERIFIES THAT IF AN XCT EXECUTES A JUMP, PROGRAM FLOW IS ALTERED AS
41741 ;SPECIFIED BY THE JUMP AND THAT WHEN THE PC IS SAVED IT CONTAINS AN
41742 ;ADDRESS ONE GREATER THAN THE LOCATION OF FIRST XCT OF THE CHAIN.
41743
41744 056717 402 00 0 00 000003 C34300: SETZM 3 ;CLEAR AC OF JSP
41745 056720 256 00 0 00 071023 XCT [XCT[XCT[JSP 3,.+3]]] ;*JSP SHOULD JUMP TO C34300+4 AND
41746 056721 254 04 0 00 000000 HALT ;THE SAVED PC SHOULD BE C 34300+2
41747 056722 254 04 0 00 000000 HALT ;PASS IF JSP JUMPED CORRECTLY
41748 056723 620 03 0 00 056721 TRZ 3,.-2 ;AND SAVED PC=C34300+2
41749 056724 602 03 0 00 777777 TRNE 3,-1
41750 STOP^
41751 056725 254 04 0 00 056726 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41752 056726 324 00 0 00 056727 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41753 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41754 ;IN THE SUBTEST) TO LOOP ON ERROR^
41755
41756 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 21
DFKAA7 MAC 25-AUG-75 14:03 XCT INSTRUCTION - ADDITIONAL TESTS SEQ 0972
41757 ;THIS TEST VERIFIES THAT IF AN XCT EXECUTES A SKIP INSTRUCTION, THE SKIP IS RELATIVE
41758 ;TO THE LOCATION OF THE XCT.
41759 ;IN THIS CASE, NO SKIP SHOULD OCCUR ;HENCE, THE INSTRUCTION
41760 ;FOLLOWING XCT SHOULD BE EXECUTED AFTER 'CAME' IS EXECUTED.
41761
41762 056727 403 00 0 00 000000 C34400: SETZB 0 ;SET-UP AC,E SO THAT
41763 056730 476 00 0 00 000001 SETOM 1 ;CAME WILL NOT SKIP
41764 056731 256 00 0 00 071015 XCT [CAME 0,1] ;*CAME SHOULD CAUSE EXECUTION
41765 ;OF INSTRUCTION FOLLOWING XCT
41766 056732 254 00 0 00 056734 JRST .+2 ;PASS IF THIS INSTRUCTION IS EXECUTED
41767 STOP^
41768 056733 254 04 0 00 056734 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41769 056734 324 00 0 00 056735 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41770 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41771 ;IN THE SUBTEST) TO LOOP ON ERROR^
41772
41773 ;**********
41774
41775 ;THIS TEST VERIFIES INDEXING FOR XCT OF AN ADD INSTRUCTION
41776 ;C(4)=10, AND C(6)=3, SO THE RESULT IN 6 (THE AC) SHOULD BE 16
41777 ;C(11)=13
41778
41779 056735 201 04 0 00 000010 C34500: MOVEI 4,10 ;PRELOAD INDEX REG WITH 10
41780 056736 201 11 0 00 000013 MOVEI 11,13 ;PRELOAD EFFECTIVE ADDRESS WITH 13
41781 056737 201 06 0 00 000003 MOVEI 6,3 ;PRELOAD AC WITH 3
41782 056740 256 00 0 00 071024 XCT [ADD 6,1(4)] ;*ADD SHOULD PLACE 16 IN AC
41783 056741 302 06 0 00 000016 CAIE 6,16 ;PASS IF C(AC)=16
41784 STOP^
41785 056742 254 04 0 00 056743 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41786 056743 324 00 0 00 056744 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41787 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41788 ;IN THE SUBTEST) TO LOOP ON ERROR^
41789
41790 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 22
DFKAA7 MAC 25-AUG-75 14:03 XCT INSTRUCTION - ADDITIONAL TESTS SEQ 0973
41791 ;THIS TEST VERIFIES THAT IF AN XCT EXECUTES A SKIP INSTRUCTION, THE SKIP IS RELATIVE
41792 ;TO THE LOCATION OF THE XCT
41793 ;IN THIS CASE, NO SKIP SHOULD OCCUR ;HENCE, THE INSTRUCTION
41794 ;FOLLOWING XCT SHOULD BE EXECUTED AFTER CAME IS EXECUTED.
41795
41796 056744 402 00 0 00 000002 C34600: SETZM 2 ;SETUP E SO THAT SKIPL WILL NOT SKIP
41797 056745 256 00 0 00 071025 XCT [SKIPL 1,2] ;*SKIPL SHOULD CAUSE INSTRUCTION
41798 ;OF FOLLOWING INSTRUCTION
41799 056746 254 00 0 00 056750 JRST .+2 ;PASS IF THIS INSTRUCTION IS EXECUTED.
41800 STOP^
41801 056747 254 04 0 00 056750 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41802 056750 324 00 0 00 056751 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41803 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41804 ;IN THE SUBTEST) TO LOOP ON ERROR^
41805 056751 332 00 0 00 000001 C34610: SKIPE 1 ;*SKIPE SHOULD SKIP BECAUSE XCT OF SKIPL
41806 ;PLACED 0 INTO AC1
41807 STOP^
41808 056752 254 04 0 00 056753 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41809 056753 324 00 0 00 056754 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41810 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41811 ;IN THE SUBTEST) TO LOOP ON ERROR^
41812
41813 ;**********
41814
41815 ;THIS TEST VERIFIES THAT IF AN XCT EXECUTES A SKIP INSTRUCTION, THE SKIP IS RELATIVE
41816 ;TO THE LOCATION OF THE XCT.
41817
41818 056754 476 00 0 00 000006 C34700: SETOM 6 ;SETUP E SO THAT SKIPL WILL SKIP
41819 056755 256 00 0 00 071026 XCT [SKIPL 3,6] ;*SKIPL SHOULD SKIP TO C34700+3
41820 STOP^
41821 056756 254 04 0 00 056757 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41822 056757 324 00 0 00 056760 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41823 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41824 ;IN THE SUBTEST) TO LOOP ON ERROR^
41825 056760 331 00 0 00 000003 C34710: SKIPL 3 ;*SKIPE SHOULD SKIP BECAUSE XCT OF SKIPL
41826 ;PLACED 0 INTO AC1
41827 STOP^
41828 056761 254 04 0 00 056762 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41829 056762 324 00 0 00 056763 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41830 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41831 ;IN THE SUBTEST) TO LOOP ON ERROR^
41832
41833 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 23
DFKAA7 MAC 25-AUG-75 14:03 XCT INSTRUCTION - ADDITIONAL TESTS SEQ 0974
41834 ;THIS TEST VERIFIES THAT IF AN XCT EXECUTES A JUMP, PROGRAM FLOW IS ALTERED AS
41835 ;SPECIFIED BY THE JUMP.
41836 ;THIS TEST ALSO VERIFIES CORRECT UPDATING OF THE AC FOR AOBJN
41837
41838 056763 200 03 0 00 071027 C35000: MOVE 3,[-2,,5] ;SETUP AC SO THAT AOBJN WILL JUMP
41839 056764 256 00 0 00 071030 XCT [AOBJN 3,.+3] ;*JUMP SHOULD BE TO C35000+4
41840 056765 254 04 0 00 000000 HALT ;JUMP OVER THIS INSTRUCTION
41841 056766 254 04 0 00 000000 HALT ;JUMP OVER THIS INSTRUCTION
41842 056767 312 03 0 00 071031 CAME 3,[-1,,6] ;PASS IF C(AC)=-1,,6 AND AOBJN JUMPED
41843 STOP^
41844 056770 254 04 0 00 056771 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41845 056771 324 00 0 00 056772 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41846 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41847 ;IN THE SUBTEST) TO LOOP ON ERROR^
41848
41849 ;**********
41850
41851 ;THIS TEST VERIFIES THAT IF AN XCT EXECUTES A JUMP, PROGRAM FLOW IS ALTERED AS
41852 ;SPECIFIED BY THE JUMP.
41853 ;THIS TEST ALSO VERIFIES CORRECT UPDATING OF THE AC FOR AOBJN
41854
41855 056772 200 03 0 00 071031 C35100: MOVE 3,[-1,,6] ;SETUP AC SO THAT AOBJN WILL NOT JUMP
41856 056773 256 00 0 00 071032 XCT [AOBJN 3,.+2] ;*AOBJN SHOULD NOT JUMP
41857 056774 312 03 0 00 071033 CAME 3,[0,,7] ;PASS IF AOBJN DID NOT JUMP AND C(AC)=0,,7
41858 STOP^
41859 056775 254 04 0 00 056776 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41860 056776 324 00 0 00 056777 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41861 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41862 ;IN THE SUBTEST) TO LOOP ON ERROR^
41863
41864 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 24
DFKAA7 MAC 25-AUG-75 14:03 TEST XCT INSTRUCTION WITH INDIRECT ADDRESSING AND INDEXING SEQ 0975
41865 SUBTTL TEST XCT INSTRUCTION WITH INDIRECT ADDRESSING AND INDEXING
41866
41867 ;**********
41868
41869 ;THIS TEST VERIFIES THAT XCT WILL EXECUTE AN INSTRUCTION
41870 ;FROM AN INDIRECTLY ADDRESSED LOCATION
41871
41872 056777 403 00 0 00 000002 C35200: SETZB 2
41873 057000 254 00 0 00 057003 JRST .+3
41874 057001 000000 057002 .+1
41875 057002 476 00 0 00 000002 SETOM 2 ;THIS INSTRUCTION SHOULD BE EXECUTED
41876 057003 256 00 1 00 057001 XCT @.-2
41877 057004 312 02 0 00 070254 CAME 2,[-1,,-1] ;PASS IF 'SETOM 2' WAS EXECUTED
41878 STOP^
41879 057005 254 04 0 00 057006 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41880 057006 324 00 0 00 057007 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41881 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41882 ;IN THE SUBTEST) TO LOOP ON ERROR^
41883
41884 ;**********
41885
41886 ;THIS TEST VERIFIES THAT XCT WILL EXECUTE AN INSTRUCTION
41887 ;FROM AN INDEXED LOCATION
41888
41889 057007 201 04 0 00 057010 C35300: MOVEI 4,.+1
41890 057010 254 00 0 00 057012 JRST .+2
41891 057011 302 04 0 00 057010 CAIE 4,.-1 ;THIS INSTRUCTION SHOULD BE EXECUTED
41892 057012 256 00 0 04 000001 XCT 1(4)
41893 STOP ^;PASS IF 'CAIE 4,,-1' WAS EXECUTED
41894
41895 057013 254 04 0 00 057014 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41896 057014 324 00 0 00 057015 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41897 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41898 ;IN THE SUBTEST) TO LOOP ON ERROR
41899
41900 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 25
DFKAA7 MAC 25-AUG-75 14:03 TEST XCT INSTRUCTION WITH INDIRECT ADDRESSING AND INDEXING SEQ 0976
41901 ;THIS TEST VERIFIES THAT XCT WILL EXECUTE AN INSTRUCTION
41902 ;FROM AN INDIRECTLY ADDRESSED AND INDEXED LOCATION
41903
41904 057015 402 00 0 00 000005 C35400: SETZM 5
41905 057016 201 03 0 00 057021 MOVEI 3,.+3
41906 057017 254 00 0 00 057021 JRST .+2
41907 057020 201 05 0 00 057023 MOVEI 5,.+3
41908 057021 256 00 1 03 777777 XCT @-1(3)
41909 057022 254 00 0 00 057024 JRST .+2
41910 057023 476 00 0 00 000005 SETOM 5 ;THIS INSTRUCTION SHOULD BE EXECUTED
41911 057024 312 05 0 00 070254 CAME 5,[-1,,-1] ;PASS IF 'SETOM 5' WAS EXECUTED
41912 STOP^
41913 057025 254 04 0 00 057026 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41914 057026 324 00 0 00 057027 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41915 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41916 ;IN THE SUBTEST) TO LOOP ON ERROR^
41917
41918 ;**********
41919
41920 ;THIS TEST VERIFIES THAT XCT WILL EXECUTE AN INDIRECTLY ADDRESSED
41921 ;AND INDEXED INSTRUCTION
41922
41923 057027 402 00 0 00 000003 C35500: SETZM 3
41924 057030 201 10 0 00 000003 MOVEI 10,3
41925 057031 254 00 0 00 057036 JRST .+5
41926 057032 254 04 0 00 000000 HALT
41927 057033 254 04 0 00 000000 HALT
41928 057034 200 03 1 10 057032 MOVE 3,@.-2(10) ;THIS INSTRUCTION SHOULD BE EXECUTED
41929 057035 254 04 0 00 070547 HALT [0,,707070]
41930 057036 256 00 0 00 057034 XCT .-2
41931 057037 302 03 0 00 707070 CAIE 3,707070 ;PASS IF 'MOVE 3,@.-2(10)' WAS EXECUTED
41932 STOP^
41933 057040 254 04 0 00 057041 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41934 057041 324 00 0 00 057042 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41935 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41936 ;IN THE SUBTEST) TO LOOP ON ERROR^
41937
41938 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 26
DFKAA7 MAC 25-AUG-75 14:03 TEST OF SHIFT/ROTATE INSTRUCTIONS USED IN THE ERROR HANDLER SEQ 0977
41939 SUBTTL TEST OF SHIFT/ROTATE INSTRUCTIONS USED IN THE ERROR HANDLER
41940
41941 ;**********
41942
41943 ;THIS TEST VERIFIES THAT A ROT INSTRUCTION FUNCTIONS CORRECTLY.
41944 ;IN THIS CASE, 0,,0 SHOULD BE ROTATED RIGHT 3 BIT POSITIONS
41945 ;SO THAT FINAL C(AC)=0,,0.
41946 ;C(AC+1) SHOULD NOT BE AFFECTED.
41947
41948 057042 200 00 0 00 070253 C35600: MOVE 0,[0,,0] ;PRELOAD AC WITH 0,,0
41949 057043 200 01 0 00 071034 MOVE 1,[172737,,405060] ;PRELOAD AC+1 WITH 172737,,405060
41950 057044 241 00 0 00 777775 ROT 0,-3 ;*ROT SHOULD ROTATE 0,,0 RIGHT 3 BIT POSITIONS
41951 057045 312 00 0 00 070253 CAME 0,[0,,0] ;PASS IF C(AC)=0,,0
41952 STOP^
41953 057046 254 04 0 00 057047 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41954 057047 324 00 0 00 057050 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41955 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41956 ;IN THE SUBTEST) TO LOOP ON ERROR^
41957 057050 312 01 0 00 071034 CAME 1,[172737,,405060] ;PASS IF C(AC+1) NOT AFFECTED
41958 STOP^
41959 057051 254 04 0 00 057052 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41960 057052 324 00 0 00 057053 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41961 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41962 ;IN THE SUBTEST) TO LOOP ON ERROR^
41963
41964 ;**********
41965
41966 ;THIS TEST VERIFIES THAT A ROT INSTRUCTION FUNCTIONS CORRECTLY.
41967 ;IN THIS CASE, -1,,-1 SHOULD BE ROTATED RIGHT 3 BIT POSITIONS
41968 ;SO THAT FINAL C(AC)=-1,,-1.
41969 ;C(AC+1) SHOULD NOT BE AFFECTED.
41970
41971 057053 200 00 0 00 070254 C35700: MOVE 0,[-1,,-1] ;PRELOAD AC WITH 0,,0
41972 057054 200 01 0 00 071034 MOVE 1,[172737,,405060] ;PRELOAD AC+1 WITH 172737,,405060
41973 057055 241 00 0 00 777775 ROT 0,-3 ;*ROT SHOULD ROTATE -1,,-1 RIGHT 3 BIT POSITIONS
41974 057056 312 00 0 00 070254 CAME 0,[-1,,-1] ;PASS IF C(AC)=-1,,-1
41975 STOP^
41976 057057 254 04 0 00 057060 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41977 057060 324 00 0 00 057061 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41978 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41979 ;IN THE SUBTEST) TO LOOP ON ERROR^
41980 057061 312 01 0 00 071034 CAME 1,[172737,,405060] ;PASS IF C(AC+1) NOT AFFECTED
41981 STOP^
41982 057062 254 04 0 00 057063 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
41983 057063 324 00 0 00 057064 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
41984 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
41985 ;IN THE SUBTEST) TO LOOP ON ERROR^
41986
41987 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27
DFKAA7 MAC 25-AUG-75 14:03 TEST OF SHIFT/ROTATE INSTRUCTIONS USED IN THE ERROR HANDLER SEQ 0978
41988 ;THIS TEST VERIFIES THAT A ROT INSTRUCTION FUNCTIONS CORRECTLY.
41989 ;IN THIS CASE, 252525,,252525 SHOULD BE ROTATED RIGHT 3 BIT POSITIONS
41990 ;SO THAT FINAL C(AC)=525252,,525252.
41991 ;C(AC+1) SHOULD NOT BE AFFECTED.
41992
41993 057064 200 00 0 00 070614 C36000: MOVE 0,[252525,,252525] ;PRELOAD AC WITH 252525,,252525
41994 057065 200 01 0 00 071034 MOVE 1,[172737,,405060] ;PRELOAD AC+1 WITH 172737,,405060
41995 057066 241 00 0 00 777775 ROT 0,-3 ;*ROT SHOULD ROTATE 252525,,252525
41996 ;RIGHT 3 BIT POSITIONS
41997 057067 312 00 0 00 071035 CAME 0,[525252,,525252] ;PASS IF C(AC)=525252,,525252
41998 STOP^
41999 057070 254 04 0 00 057071 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42000 057071 324 00 0 00 057072 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42001 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42002 ;IN THE SUBTEST) TO LOOP ON ERROR^
42003 057072 312 01 0 00 071034 CAME 1,[172737,,405060] ;PASS IF C(AC+1) NOT AFFECTED
42004 STOP^
42005 057073 254 04 0 00 057074 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42006 057074 324 00 0 00 057075 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42007 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42008 ;IN THE SUBTEST) TO LOOP ON ERROR^
42009
42010 ;**********
42011
42012 ;THIS TEST VERIFIES THAT A ROT INSTRUCTION FUNCTIONS CORRECTLY.
42013 ;IN THIS CASE, 525252,,525252 SHOULD BE ROTATED RIGHT 3 BIT POSITIONS
42014 ;SO THAT FINAL C(AC)=252525,,252525.
42015 ;C(AC+1) SHOULD NOT BE AFFECTED.
42016
42017 057075 200 00 0 00 071035 C36100: MOVE 0,[525252,,525252] ;PRELOAD AC WITH 525252,,525252
42018 057076 200 01 0 00 071034 MOVE 1,[172737,,405060] ;PRELOAD AC+1 WITH 172737,,405060
42019 057077 241 00 0 00 777775 ROT 0,-3 ;*ROT SHOULD ROTATE 525252,,525252
42020 ;RIGHT 3 BIT POSITIONS
42021 057100 312 00 0 00 070614 CAME 0,[252525,,252525] ;PASS IF C(AC)=252525,,252525
42022 STOP^
42023 057101 254 04 0 00 057102 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42024 057102 324 00 0 00 057103 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42025 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42026 ;IN THE SUBTEST) TO LOOP ON ERROR^
42027 057103 312 01 0 00 071034 CAME 1,[172737,,405060] ;PASS IF C(AC+1) NOT AFFECTED
42028 STOP^
42029 057104 254 04 0 00 057105 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42030 057105 324 00 0 00 057106 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42031 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42032 ;IN THE SUBTEST) TO LOOP ON ERROR^
42033
42034 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 28
DFKAA7 MAC 25-AUG-75 14:03 TEST OF SHIFT/ROTATE INSTRUCTIONS USED IN THE ERROR HANDLER SEQ 0979
42035 ;THIS TEST VERIFIES THAT A ROT INSTRUCTION FUNCTIONS CORRECTLY.
42036 ;IN THIS CASE, 230703,,603700 SHOULD BE ROTATED RIGHT 3 BIT POSITIONS
42037 ;SO THAT FINAL C(AC)=023070,,360370.
42038 ;C(AC+1) SHOULD NOT BE AFFECTED.
42039
42040 057106 200 00 0 00 071036 C36200: MOVE 0,[230703,,603700] ;PRELOAD AC WITH 230703,,603700
42041 057107 200 01 0 00 071034 MOVE 1,[172737,,405060] ;PRELOAD AC+1 WITH 172737,,405060
42042 057110 241 00 0 00 777775 ROT 0,-3 ;*ROT SHOULD ROTATE 230703,,603700
42043 ;RIGHT 3 BIT POSITIONS
42044 057111 312 00 0 00 071037 CAME 0,[023070,,360370] ;PASS IF C(AC)=023070,,360370
42045 STOP^
42046 057112 254 04 0 00 057113 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42047 057113 324 00 0 00 057114 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42048 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42049 ;IN THE SUBTEST) TO LOOP ON ERROR^
42050 057114 312 01 0 00 071034 CAME 1,[172737,,405060] ;PASS IF C(AC+1) NOT AFFECTED
42051 STOP^
42052 057115 254 04 0 00 057116 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42053 057116 324 00 0 00 057117 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42054 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42055 ;IN THE SUBTEST) TO LOOP ON ERROR^
42056
42057 ;**********
42058
42059 ;THIS TEST VERIFIES THAT A ROT INSTRUCTION FUNCTIONS CORRECTLY.
42060 ;IN THIS CASE, 007603,,607062 SHOULD BE ROTATED RIGHT 3 BIT POSITIONS
42061 ;SO THAT FINAL C(AC)=200760,,360706.
42062 ;C(AC+1) SHOULD NOT BE AFFECTED.
42063
42064 057117 200 00 0 00 071040 C36300: MOVE 0,[007603,,607062] ;PRELOAD AC WITH 007603,,607062
42065 057120 200 01 0 00 071034 MOVE 1,[172737,,405060] ;PRELOAD AC+1 WITH 172737,,405060
42066 057121 241 00 0 00 777775 ROT 0,-3 ;*ROT SHOULD ROTATE 007603,,607062
42067 ;RIGHT 3 BIT POSITIONS
42068 057122 312 00 0 00 071041 CAME 0,[200760,,360706] ;PASS IF C(AC)=200760,,360706
42069 STOP^
42070 057123 254 04 0 00 057124 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42071 057124 324 00 0 00 057125 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42072 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42073 ;IN THE SUBTEST) TO LOOP ON ERROR^
42074 057125 312 01 0 00 071034 CAME 1,[172737,,405060] ;PASS IF C(AC+1) NOT AFFECTED
42075 STOP^
42076 057126 254 04 0 00 057127 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42077 057127 324 00 0 00 057130 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42078 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42079 ;IN THE SUBTEST) TO LOOP ON ERROR^
42080
42081 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29
DFKAA7 MAC 25-AUG-75 14:03 TEST OF SHIFT/ROTATE INSTRUCTIONS USED IN THE ERROR HANDLER SEQ 0980
42082 ;THIS TEST VERIFIES THAT A ROT INSTRUCTION FUNCTIONS CORRECTLY.
42083 ;IN THIS CASE, 0,,0 SHOULD BE ROTATED LEFT 15 BIT POSITIONS
42084 ;SO THAT FINAL C(AC)=0,,0.
42085 ;C(AC+1) SHOULD NOT BE AFFECTED.
42086
42087 057130 200 02 0 00 070253 C36400: MOVE 2,[0,,0] ;PRELOAD AC WITH 0,,0
42088 057131 200 03 0 00 071034 MOVE 3,[172737,,405060] ;PRELOAD AC+1 WITH 172737,,405060
42089 057132 241 02 0 00 000015 ROT 2,15 ;*ROT SHOULD ROTATE 0,,0 LEFT 15 BIT POSITIONS
42090 057133 312 02 0 00 070253 CAME 2,[0,,0] ;PASS IF C(AC)=0,,0
42091 STOP^
42092 057134 254 04 0 00 057135 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42093 057135 324 00 0 00 057136 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42094 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42095 ;IN THE SUBTEST) TO LOOP ON ERROR^
42096 057136 312 03 0 00 071034 CAME 3,[172737,,405060] ;PASS IF C(AC+1) NOT AFFECTED
42097 STOP^
42098 057137 254 04 0 00 057140 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42099 057140 324 00 0 00 057141 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42100 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42101 ;IN THE SUBTEST) TO LOOP ON ERROR^
42102
42103 ;**********
42104
42105 ;THIS TEST VERIFIES THAT A ROT INSTRUCTION FUNCTIONS CORRECTLY.
42106 ;IN THIS CASE, -1,,-1 SHOULD BE ROTATED LEFT 15 BIT POSITIONS
42107 ;SO THAT FINAL C(AC)=-1,,-1.
42108 ;C(AC+1) SHOULD NOT BE AFFECTED.
42109
42110 057141 200 02 0 00 070254 C36500: MOVE 2,[-1,,-1] ;PRELOAD AC WITH -1,,-1
42111 057142 200 03 0 00 071034 MOVE 3,[172737,,405060] ;PRELOAD AC+1 WITH 172737,,405060
42112 057143 241 02 0 00 000015 ROT 2,15 ;*ROT SHOULD ROTATE -1,,-1 LEFT 15 BIT POSITIONS
42113 057144 312 02 0 00 070254 CAME 2,[-1,,-1] ;PASS IF C(AC)=-1,,-1
42114 STOP^
42115 057145 254 04 0 00 057146 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42116 057146 324 00 0 00 057147 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42117 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42118 ;IN THE SUBTEST) TO LOOP ON ERROR^
42119 057147 312 03 0 00 071034 CAME 3,[172737,,405060] ;PASS IF C(AC+1) NOT AFFECTED
42120 STOP^
42121 057150 254 04 0 00 057151 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42122 057151 324 00 0 00 057152 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42123 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42124 ;IN THE SUBTEST) TO LOOP ON ERROR^
42125
42126 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 30
DFKAA7 MAC 25-AUG-75 14:03 TEST OF SHIFT/ROTATE INSTRUCTIONS USED IN THE ERROR HANDLER SEQ 0981
42127 ;THIS TEST VERIFIES THAT A ROT INSTRUCTION FUNCTIONS CORRECTLY.
42128 ;IN THIS CASE, 252525,,252525 SHOULD BE ROTATED LEFT 15 BIT POSITIONS
42129 ;SO THAT FINAL C(AC)=525252,,525252.
42130 ;C(AC+1) SHOULD NOT BE AFFECTED.
42131
42132 057152 200 02 0 00 070614 C36600: MOVE 2,[252525,,252525] ;PRELOAD AC WITH 252525,,252525
42133 057153 200 03 0 00 071034 MOVE 3,[172737,,405060] ;PRELOAD AC+1 WITH 172737,,405060
42134 057154 241 02 0 00 000015 ROT 2,15 ;*ROT SHOULD ROTATE 252525,,252525
42135 ;LEFT 15 BIT POSITIONS
42136 057155 312 02 0 00 071035 CAME 2,[525252,,525252] ;PASS IF C(AC)=525252,,525252
42137 STOP^
42138 057156 254 04 0 00 057157 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42139 057157 324 00 0 00 057160 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42140 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42141 ;IN THE SUBTEST) TO LOOP ON ERROR^
42142 057160 312 03 0 00 071034 CAME 3,[172737,,405060] ;PASS IF C(AC+1) NOT AFFECTED
42143 STOP^
42144 057161 254 04 0 00 057162 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42145 057162 324 00 0 00 057163 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42146 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42147 ;IN THE SUBTEST) TO LOOP ON ERROR^
42148
42149 ;**********
42150
42151 ;THIS TEST VERIFIES THAT A ROT INSTRUCTION FUNCTIONS CORRECTLY.
42152 ;IN THIS CASE, 525252,,525252 SHOULD BE ROTATED LEFT 15 BIT POSITIONS
42153 ;SO THAT FINAL C(AC)=252525,,252525.
42154 ;C(AC+1) SHOULD NOT BE AFFECTED.
42155
42156 057163 200 02 0 00 071035 C36700: MOVE 2,[525252,,525252] ;PRELOAD AC WITH 525252,,525252
42157 057164 200 03 0 00 071034 MOVE 3,[172737,,405060] ;PRELOAD AC+1 WITH 172737,,405060
42158 057165 241 02 0 00 000015 ROT 2,15 ;*ROT SHOULD ROTATE 525252,,525252
42159 ;LEFT 15 BIT POSITIONS
42160 057166 312 02 0 00 070614 CAME 2,[252525,,252525] ;PASS IF C(AC)=252525,,252525
42161 STOP^
42162 057167 254 04 0 00 057170 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42163 057170 324 00 0 00 057171 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42164 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42165 ;IN THE SUBTEST) TO LOOP ON ERROR^
42166 057171 312 03 0 00 071034 CAME 3,[172737,,405060] ;PASS IF C(AC+1) NOT AFFECTED
42167 STOP^
42168 057172 254 04 0 00 057173 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42169 057173 324 00 0 00 057174 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42170 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42171 ;IN THE SUBTEST) TO LOOP ON ERROR^
42172
42173 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 31
DFKAA7 MAC 25-AUG-75 14:03 TEST OF SHIFT/ROTATE INSTRUCTIONS USED IN THE ERROR HANDLER SEQ 0982
42174 ;THIS TEST VERIFIES THAT A ROT INSTRUCTION FUNCTIONS CORRECTLY.
42175 ;IN THIS CASE, 230703,,603700 SHOULD BE ROTATED LEFT 15 BIT POSITIONS
42176 ;SO THAT FINAL C(AC)074076,,004616.
42177 ;C(AC+1) SHOULD NOT BE AFFECTED.
42178
42179 057174 200 02 0 00 071036 C37000: MOVE 2,[230703,,603700] ;PRELOAD AC WITH 230703,,603700
42180 057175 200 03 0 00 071034 MOVE 3,[172737,,405060] ;PRELOAD AC+1 WITH 172737,,405060
42181 057176 241 02 0 00 000015 ROT 2,15 ;*ROT SHOULD ROTATE 230703,,603700
42182 ;LEFT 15 BIT POSITIONS
42183 057177 312 02 0 00 071042 CAME 2,[074076,,004616] ;PASS IF C(AC)074076,,004616
42184 STOP^
42185 057200 254 04 0 00 057201 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42186 057201 324 00 0 00 057202 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42187 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42188 ;IN THE SUBTEST) TO LOOP ON ERROR^
42189 057202 312 03 0 00 071034 CAME 3,[172737,,405060] ;PASS IF C(AC+1) NOT AFFECTED
42190 STOP^
42191 057203 254 04 0 00 057204 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42192 057204 324 00 0 00 057205 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42193 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42194 ;IN THE SUBTEST) TO LOOP ON ERROR^
42195
42196 ;**********
42197
42198 ;THIS TEST VERIFIES THAT A ROT INSTRUCTION FUNCTIONS CORRECTLY.
42199 ;IN THIS CASE, 007603,,607062 SHOULD BE ROTATED LEFT 15 BIT POSITIONS
42200 ;SO THAT FINAL C(AC)074161,,440174.
42201 ;C(AC+1) SHOULD NOT BE AFFECTED.
42202
42203 057205 200 02 0 00 071040 C37100: MOVE 2,[007603,,607062] ;PRELOAD AC WITH 007603,,607062
42204 057206 200 03 0 00 071034 MOVE 3,[172737,,405060] ;PRELOAD AC+1 WITH 172737,,405060
42205 057207 241 02 0 00 000015 ROT 2,15 ;*ROT SHOULD ROTATE 007603,,607062
42206 ;LEFT 15 BIT POSITIONS
42207 057210 312 02 0 00 071043 CAME 2,[074161,,440174] ;PASS IF C(AC)074161,,440174
42208 STOP^
42209 057211 254 04 0 00 057212 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42210 057212 324 00 0 00 057213 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42211 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42212 ;IN THE SUBTEST) TO LOOP ON ERROR^
42213 057213 312 03 0 00 071034 CAME 3,[172737,,405060] ;PASS IF C(AC+1) NOT AFFECTED
42214 STOP^
42215 057214 254 04 0 00 057215 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42216 057215 324 00 0 00 057216 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42217 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42218 ;IN THE SUBTEST) TO LOOP ON ERROR^
42219
42220 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 32
DFKAA7 MAC 25-AUG-75 14:03 TEST OF SHIFT/ROTATE INSTRUCTIONS USED IN THE ERROR HANDLER SEQ 0983
42221 ;THIS TEST VERIFIES THAT A ROTC INSTRUCTION FUNCTIONS CORRECTLY.
42222 ;IN THIS CASE, 0,,0 0,,0 SHOULD BE ROTATED LEFT 3 BIT POSITIONS
42223 ;SO THAT FINAL C(AC)=0,,0 AND FINAL C(AC+1)=0,,0
42224
42225 057216 200 00 0 00 070253 C37200: MOVE 0,[0,,0] ;PRELOAD AC WITH 0,,0
42226 057217 200 01 0 00 070253 MOVE 1,[0,,0] ;PRELOAD AC+1 WITH 0,,0
42227 057220 245 00 0 00 000003 ROTC 0,3 ;*ROTC SHOULD ROTATE 0,,0 0,,0 LEFT 3 BIT POSITIONS
42228 057221 312 00 0 00 070253 CAME 0,[0,,0] ;PASS IF C(AC)=0,,0
42229 STOP^
42230 057222 254 04 0 00 057223 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42231 057223 324 00 0 00 057224 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42232 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42233 ;IN THE SUBTEST) TO LOOP ON ERROR^
42234 057224 312 01 0 00 070253 CAME 1,[0,,0] ;PASS IF C(AC+1)=0,,0
42235 STOP^
42236 057225 254 04 0 00 057226 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42237 057226 324 00 0 00 057227 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42238 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42239 ;IN THE SUBTEST) TO LOOP ON ERROR^
42240
42241 ;**********
42242
42243 ;THIS TEST VERIFIES THAT A ROTC INSTRUCTION FUNCTIONS CORRECTLY.
42244 ;IN THIS CASE, -1,,-1 -1,,-1 SHOULD BE ROTATED LEFT 3 BIT POSITIONS
42245 ;SO THAT FINAL C(AC)=-1,,-1 AND FINAL C(AC+1)=-1,,-1
42246
42247 057227 200 00 0 00 070254 C37300: MOVE 0,[-1,,-1] ;PRELOAD AC WITH -1,,-1
42248 057230 200 01 0 00 070254 MOVE 1,[-1,,-1] ;PRELOAD AC+1 WITH -1,,-1
42249 057231 245 00 0 00 000003 ROTC 0,3 ;*ROTC SHOULD ROTATE -1,,-1
42250 ;-1,,-1 LEFT 3 BIT POSITIONS
42251 057232 312 00 0 00 070254 CAME 0,[-1,,-1] ;PASS IF C(AC)=-1,,-1
42252 STOP^
42253 057233 254 04 0 00 057234 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42254 057234 324 00 0 00 057235 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42255 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42256 ;IN THE SUBTEST) TO LOOP ON ERROR^
42257 057235 312 00 0 00 070254 CAME 0,[-1,,-1] ;PASS IF C(AC+1)=-1,,-1
42258 STOP^
42259 057236 254 04 0 00 057237 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42260 057237 324 00 0 00 057240 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42261 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42262 ;IN THE SUBTEST) TO LOOP ON ERROR^
42263
42264 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 33
DFKAA7 MAC 25-AUG-75 14:03 TEST OF SHIFT/ROTATE INSTRUCTIONS USED IN THE ERROR HANDLER SEQ 0984
42265 ;THIS TEST VERIFIES THAT A ROTC INSTRUCTION FUNCTIONS CORRECTLY.
42266 ;IN THIS CASE, 252525,,252525 252525,,252525 SHOULD BE ROTATED LEFT 3 BIT POSITIONS
42267 ;SO THAT FINAL C(AC)=525252,,525252 AND FINAL C(AC+1)=525252,,525252
42268
42269 057240 200 00 0 00 070614 C37400: MOVE 0,[252525,,252525] ;PRELOAD AC WITH 252525,,252525
42270 057241 200 01 0 00 070614 MOVE 1,[252525,,252525] ;PRELOAD AC+1 WITH 252525,,252525
42271 057242 245 00 0 00 000003 ROTC 0,3 ;*ROTC SHOULD ROTATE 252525,,252525
42272 ;252525,,252525 LEFT 3 BIT POSITIONS
42273 057243 312 00 0 00 071035 CAME 0,[525252,,525252] ;PASS IF C(AC)=525252,,525252
42274 STOP^
42275 057244 254 04 0 00 057245 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42276 057245 324 00 0 00 057246 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42277 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42278 ;IN THE SUBTEST) TO LOOP ON ERROR^
42279 057246 312 01 0 00 071035 CAME 1,[525252,,525252] ;PASS IF C(AC+1)=525252,,525252
42280 STOP^
42281 057247 254 04 0 00 057250 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42282 057250 324 00 0 00 057251 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42283 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42284 ;IN THE SUBTEST) TO LOOP ON ERROR^
42285
42286 ;**********
42287
42288 ;THIS TEST VERIFIES THAT A ROTC INSTRUCTION FUNCTIONS CORRECTLY.
42289 ;IN THIS CASE, 525252,,525252 525252,,525252 SHOULD BE ROTATED LEFT 3 BIT POSITIONS
42290 ;SO THAT FINAL C(AC)=252525,,252525 AND FINAL C(AC+1)=252525,,252525
42291
42292 057251 200 00 0 00 071035 C37500: MOVE 0,[525252,,525252] ;PRELOAD AC WITH 525252,,525252
42293 057252 200 01 0 00 071035 MOVE 1,[525252,,525252] ;PRELOAD AC+1 WITH 525252,,525252
42294 057253 245 00 0 00 000003 ROTC 0,3 ;*ROTC SHOULD ROTATE 525252,,525252
42295 ;525252,,525252 LEFT 3 BIT POSITIONS
42296 057254 312 00 0 00 070614 CAME 0,[252525,,252525] ;PASS IF C(AC)=252525,,252525
42297 STOP^
42298 057255 254 04 0 00 057256 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42299 057256 324 00 0 00 057257 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42300 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42301 ;IN THE SUBTEST) TO LOOP ON ERROR^
42302 057257 312 01 0 00 070614 CAME 1,[252525,,252525] ;PASS IF C(AC+1)=252525,,252525
42303 STOP^
42304 057260 254 04 0 00 057261 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42305 057261 324 00 0 00 057262 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42306 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42307 ;IN THE SUBTEST) TO LOOP ON ERROR^
42308
42309 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 34
DFKAA7 MAC 25-AUG-75 14:03 TEST OF SHIFT/ROTATE INSTRUCTIONS USED IN THE ERROR HANDLER SEQ 0985
42310 ;THIS TEST VERIFIES THAT A ROTC INSTRUCTION FUNCTIONS CORRECTLY.
42311 ;IN THIS CASE, 230703,,603700 770037,,600377 SHOULD BE ROTATED LEFT 3 BIT POSITIONS
42312 ;SO THAT FINAL C(AC)=307036,,37007 AND FINAL C(AC+1)=700376,,003772
42313
42314 057262 200 00 0 00 071036 C37600: MOVE 0,[230703,,603700] ;PRELOAD AC WITH 230703,,603700
42315 057263 200 01 0 00 071044 MOVE 1,[770037,,600377] ;PRELOAD AC+1 WITH 770037,,600377
42316 057264 245 00 0 00 000003 ROTC 0,3 ;*ROTC SHOULD ROTATE 230703,,603700
42317 ;770037,,600377 LEFT 3 BIT POSITIONS
42318 057265 312 00 0 00 071045 CAME 0,[307036,,037007] ;PASS IF C(AC)=307036,,37007
42319 STOP^
42320 057266 254 04 0 00 057267 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42321 057267 324 00 0 00 057270 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42322 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42323 ;IN THE SUBTEST) TO LOOP ON ERROR^
42324 057270 312 01 0 00 071046 CAME 1,[700376,,003772] ;PASS IF C(AC+1)=700376,,003772
42325 STOP^
42326 057271 254 04 0 00 057272 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42327 057272 324 00 0 00 057273 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42328 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42329 ;IN THE SUBTEST) TO LOOP ON ERROR^
42330
42331 ;**********
42332
42333 ;THIS TEST VERIFIES THAT A ROTC INSTRUCTION FUNCTIONS CORRECTLY.
42334 ;IN THIS CASE, 776003,,760077 007603,,607062 SHOULD BE ROTATED LEFT 3 BIT POSITIONS
42335 ;SO THAT FINAL C(AC)=760037,,600770 AND FINAL C(AC+1)=076036,,070627
42336
42337 057273 200 00 0 00 071047 C37700: MOVE 0,[776003,,760077] ;PRELOAD AC WITH 776003,,760077
42338 057274 200 01 0 00 071040 MOVE 1,[007603,,607062] ;PRELOAD AC+1 WITH 007603,,607062
42339 057275 245 00 0 00 000003 ROTC 0,3 ;*ROTC SHOULD ROTATE 776003,,760077
42340 ;007603,,607062 LEFT 3 BIT POSITIONS
42341 057276 312 00 0 00 071050 CAME 0,[760037,,600770] ;PASS IF C(AC)=076036,,070627
42342 STOP^
42343 057277 254 04 0 00 057300 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42344 057300 324 00 0 00 057301 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42345 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42346 ;IN THE SUBTEST) TO LOOP ON ERROR^
42347 057301 312 01 0 00 071051 CAME 1,[076036,,070627] ;PASS IF C(AC+1)=760037,,600770
42348 STOP^
42349 057302 254 04 0 00 057303 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42350 057303 324 00 0 00 057304 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42351 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42352 ;IN THE SUBTEST) TO LOOP ON ERROR^
42353
42354 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 35
DFKAA7 MAC 25-AUG-75 14:03 TEST OF SHIFT/ROTATE INSTRUCTIONS USED IN THE ERROR HANDLER SEQ 0986
42355 ;THIS TEST VERIFIES THAT A ROTC INSTRUCTION FUNCTIONS CORRECTLY.
42356 ;IN THIS CASE, 0,,0 0,,0 SHOULD BE ROTATED LEFT 7 BIT POSITIONS
42357 ;SO THAT FINAL C(AC)=0,,0 AND FINAL C(AC+1)=0,,0
42358
42359 057304 200 00 0 00 070253 C40000: MOVE 0,[0,,0] ;PRELOAD AC WITH 0,,0
42360 057305 200 01 0 00 070253 MOVE 1,[0,,0] ;PRELOAD AC+1 WITH 0,,0
42361 057306 245 00 0 00 000007 ROTC 0,7 ;*ROTC SHOULD ROTATE 0,,0 0,,0 LEFT 7 BIT POSITIONS
42362 057307 312 00 0 00 070253 CAME 0,[0,,0] ;PASS IF C(AC)=0,,0
42363 STOP^
42364 057310 254 04 0 00 057311 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42365 057311 324 00 0 00 057312 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42366 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42367 ;IN THE SUBTEST) TO LOOP ON ERROR^
42368 057312 312 01 0 00 070253 CAME 1,[0,,0] ;PASS IF C(AC+1)=0,,0
42369 STOP^
42370 057313 254 04 0 00 057314 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42371 057314 324 00 0 00 057315 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42372 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42373 ;IN THE SUBTEST) TO LOOP ON ERROR^
42374
42375 ;**********
42376
42377 ;THIS TEST VERIFIES THAT A ROTC INSTRUCTION FUNCTIONS CORRECTLY.
42378 ;IN THIS CASE, -1,,-1 -1,,-1 SHOULD BE ROTATED LEFT 7 BIT POSITIONS
42379 ;SO THAT FINAL C(AC)=-1,,-1 AND FINAL C(AC+1)=-1,,-1
42380
42381 057315 200 00 0 00 070254 C40100: MOVE 0,[-1,,-1] ;PRELOAD AC WITH -1,,-1
42382 057316 200 01 0 00 070254 MOVE 1,[-1,,-1] ;PRELOAD AC+1 WITH -1,,-1
42383 057317 245 00 0 00 000007 ROTC 0,7 ;*ROTC SHOULD ROTATE -1,,-1
42384 ;-1,,-1 LEFT 7 BIT POSITIONS
42385 057320 312 00 0 00 070254 CAME 0,[-1,,-1] ;PASS IF C(AC)=-1,,-1
42386 STOP^
42387 057321 254 04 0 00 057322 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42388 057322 324 00 0 00 057323 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42389 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42390 ;IN THE SUBTEST) TO LOOP ON ERROR^
42391 057323 312 01 0 00 070254 CAME 1,[-1,,-1] ;PASS IF C(AC+1)=-1,,-1
42392 STOP^
42393 057324 254 04 0 00 057325 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42394 057325 324 00 0 00 057326 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42395 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42396 ;IN THE SUBTEST) TO LOOP ON ERROR^
42397
42398 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 36
DFKAA7 MAC 25-AUG-75 14:03 TEST OF SHIFT/ROTATE INSTRUCTIONS USED IN THE ERROR HANDLER SEQ 0987
42399 ;THIS TEST VERIFIES THAT A ROTC INSTRUCTION FUNCTIONS CORRECTLY.
42400 ;IN THIS CASE, 252525,,252525 252525,,252525 SHOULD BE ROTATED LEFT 7 BIT POSITIONS
42401 ;SO THAT FINAL C(AC)=525252,,525252 AND FINAL C(AC+1)=525252,,525252
42402
42403 057326 200 00 0 00 070614 C40200: MOVE 0,[252525,,252525] ;PRELOAD AC WITH 252525,,252525
42404 057327 200 01 0 00 070614 MOVE 1,[252525,,252525] ;PRELOAD AC+1 WITH 252525,,252525
42405 057330 245 00 0 00 000007 ROTC 0,7 ;*ROTC SHOULD ROTATE 252525,,252525
42406 ;252525,,252525 LEFT 7 BIT POSITIONS
42407 057331 312 00 0 00 071035 CAME 0,[525252,,525252] ;PASS IF C(AC)=525252,,525252
42408 STOP^
42409 057332 254 04 0 00 057333 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42410 057333 324 00 0 00 057334 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42411 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42412 ;IN THE SUBTEST) TO LOOP ON ERROR^
42413 057334 312 01 0 00 071035 CAME 1,[525252,,525252] ;PASS IF C(AC+1)=525252,,525252
42414 STOP^
42415 057335 254 04 0 00 057336 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42416 057336 324 00 0 00 057337 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42417 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42418 ;IN THE SUBTEST) TO LOOP ON ERROR^
42419
42420 ;**********
42421
42422 ;THIS TEST VERIFIES THAT A ROTC INSTRUCTION FUNCTIONS CORRECTLY.
42423 ;IN THIS CASE, 525252,,525252 525252,,525252 SHOULD BE ROTATED LEFT 7 BIT POSITIONS
42424 ;SO THAT FINAL C(AC)=252525,,252525 AND FINAL C(AC+1)=252525,,252525
42425
42426 057337 200 00 0 00 071035 C40300: MOVE 0,[525252,,525252] ;PRELOAD AC WITH 525252,,525252
42427 057340 200 01 0 00 071035 MOVE 1,[525252,,525252] ;PRELOAD AC+1 WITH 525252,,525252
42428 057341 245 00 0 00 000007 ROTC 0,7 ;*ROTC SHOULD ROTATE 525252,,525252
42429 ;525252,,525252 LEFT 7 BIT POSITIONS
42430 057342 312 00 0 00 070614 CAME 0,[252525,,252525] ;PASS IF C(AC)=252525,,252525
42431 STOP^
42432 057343 254 04 0 00 057344 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42433 057344 324 00 0 00 057345 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42434 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42435 ;IN THE SUBTEST) TO LOOP ON ERROR^
42436 057345 312 01 0 00 070614 CAME 1,[252525,,252525] ;PASS IF C(AC+1)=252525,,252525
42437 STOP^
42438 057346 254 04 0 00 057347 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42439 057347 324 00 0 00 057350 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42440 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42441 ;IN THE SUBTEST) TO LOOP ON ERROR^
42442
42443 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 37
DFKAA7 MAC 25-AUG-75 14:03 TEST OF SHIFT/ROTATE INSTRUCTIONS USED IN THE ERROR HANDLER SEQ 0988
42444 ;THIS TEST VERIFIES THAT A ROTC INSTRUCTION FUNCTIONS CORRECTLY.
42445 ;IN THIS CASE, 230703,,603700 770037,,600377 SHOULD BE ROTATED LEFT 7 BIT POSITIONS
42446 ;SO THAT FINAL C(AC)=160740,,760176 AND FINAL C(AC+1)=007740,,077646
42447
42448 057350 200 00 0 00 071036 C40400: MOVE 0,[230703,,603700] ;PRELOAD AC WITH 230703,,603700
42449 057351 200 01 0 00 071044 MOVE 1,[770037,,600377] ;PRELOAD AC+1 WITH 770037,,600377
42450 057352 245 00 0 00 000007 ROTC 0,7 ;*ROTC SHOULD ROTATE 230703,,603700
42451 ;770037,,600377 LEFT 7 BIT POSITIONS
42452 057353 312 00 0 00 071052 CAME 0,[160740,,760176] ;PASS IF C(AC)=160740,,760176
42453 STOP^
42454 057354 254 04 0 00 057355 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42455 057355 324 00 0 00 057356 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42456 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42457 ;IN THE SUBTEST) TO LOOP ON ERROR^
42458 057356 312 01 0 00 071053 CAME 1,[007740,,077646] ;PASS IF C(AC+1)=007740,,077646
42459 STOP^
42460 057357 254 04 0 00 057360 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42461 057360 324 00 0 00 057361 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42462 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42463 ;IN THE SUBTEST) TO LOOP ON ERROR^
42464
42465 ;**********
42466
42467 ;THIS TEST VERIFIES THAT A ROTC INSTRUCTION FUNCTIONS CORRECTLY.
42468 ;IN THIS CASE, 776003,,760077 007603,,607063 SHOULD BE ROTATED LEFT 7 BIT POSITIONS
42469 ;SO THAT FINAL C(AC)=400774,,017610 AND FINAL C(AC+1)=740741,,614577
42470
42471 057361 200 00 0 00 071047 C40500: MOVE 0,[776003,,760077] ;PRELOAD AC WITH 776003,,760077
42472 057362 200 01 0 00 071040 MOVE 1,[007603,,607062] ;PRELOAD AC+1 WITH 007603,,607062
42473 057363 245 00 0 00 000007 ROTC 0,7 ;*ROTC SHOULD ROTATE 776003,,760077
42474 ;007603,,607062 LEFT 7 BIT POSITIONS
42475 057364 312 00 0 00 071054 CAME 0,[400774,,017601] ;PASS IF C(AC)=400774,,017601
42476 STOP^
42477 057365 254 04 0 00 057366 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42478 057366 324 00 0 00 057367 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42479 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42480 ;IN THE SUBTEST) TO LOOP ON ERROR^
42481 057367 312 01 0 00 071055 CAME 1,[740741,,614577] ;PASS IF C(AC+1)=740741,,614577
42482 STOP^
42483 057370 254 04 0 00 057371 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42484 057371 324 00 0 00 057372 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42485 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42486 ;IN THE SUBTEST) TO LOOP ON ERROR^
42487
42488 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 38
DFKAA7 MAC 25-AUG-75 14:03 TEST OF SHIFT/ROTATE INSTRUCTIONS USED IN THE ERROR HANDLER SEQ 0989
42489 ;THIS TEST VERIFIES THAT THE LSH INSTRUCTION FUNCTIONS CORRECTLY
42490 ;IN THIS CASE, 0,,0 SHOULD BE LOGICALLY SHIFTED RIGHT 33 OCTAL BIT POSITIONS
42491 ;SO THAT FINAL C(AC)=0,,0.
42492 ;C(AC+1) SHOULD NOT BE AFFECTED
42493
42494 057372 200 00 0 00 070253 C40600: MOVE 0,[0,,0] ;PRELOAD AC WITH 0,,0
42495 057373 200 01 0 00 071034 MOVE 1,[172737,,405060] ;PRELOAD AC+1 WITH 172737,,405060
42496 057374 242 00 0 00 777745 LSH 0,-33 ;*LSH SHOULD LOGICALLY SHIFT 0,,0
42497 ;RIGHT 33 OCTAL BIT POSITIONS
42498 057375 312 00 0 00 070253 CAME 0,[0,,0] ;PASS IF C(AC)=0,,0
42499 STOP^
42500 057376 254 04 0 00 057377 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42501 057377 324 00 0 00 057400 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42502 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42503 ;IN THE SUBTEST) TO LOOP ON ERROR^
42504 057400 312 01 0 00 071034 CAME 1,[172737,,405060] ;PASS IF C(AC+1) NOT AFFECTED
42505 STOP^
42506 057401 254 04 0 00 057402 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42507 057402 324 00 0 00 057403 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42508 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42509 ;IN THE SUBTEST) TO LOOP ON ERROR^
42510
42511 ;**********
42512
42513 ;THIS TEST VERIFIES THAT THE LSH INSTRUCTION FUNCTIONS CORRECTLY
42514 ;IN -1,,-1 SHOULD BE LOGICALLY SHIFTED RIGHT 33 OCTAL BIT POSITIONS
42515 ;SO THAT FINAL C(AC)=0,,777.
42516 ;C(AC+1) SHOULD NOT BE AFFECTED
42517
42518 057403 200 00 0 00 070254 C40700: MOVE 0,[-1,,-1] ;PRELOAD AC WITH -1,,-1
42519 057404 200 01 0 00 071034 MOVE 1,[172737,,405060] ;PRELOAD AC+1 WITH 172737,,405060
42520 057405 242 00 0 00 777745 LSH 0,-33 ;*LSH SHOULD LOGICALLY SHIFT -1,,-1
42521 ;RIGHT 33 OCTAL BIT POSITIONS
42522 057406 312 00 0 00 070262 CAME 0,[0,777] ;PASS IF C(AC)=0,,777
42523 STOP^
42524 057407 254 04 0 00 057410 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42525 057410 324 00 0 00 057411 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42526 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42527 ;IN THE SUBTEST) TO LOOP ON ERROR^
42528 057411 312 01 0 00 071034 CAME 1,[172737,,405060] ;PASS IF C(AC+1) NOT AFFECTED
42529 STOP^
42530 057412 254 04 0 00 057413 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42531 057413 324 00 0 00 057414 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42532 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42533 ;IN THE SUBTEST) TO LOOP ON ERROR^
42534
42535 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 39
DFKAA7 MAC 25-AUG-75 14:03 TEST OF SHIFT/ROTATE INSTRUCTIONS USED IN THE ERROR HANDLER SEQ 0990
42536 ;THIS TEST VERIFIES THAT THE LSH INSTRUCTION FUNCTIONS CORRECTLY
42537 ;IN 252525,,252525 SHOULD BE LOGICALLY SHIFTED RIGHT 33 OCTAL BIT POSITIONS
42538 ;SO THAT FINAL C(AC)=0,,252.
42539 ;C(AC+1) SHOULD NOT BE AFFECTED
42540
42541 057414 200 00 0 00 070614 C41000: MOVE 0,[252525,,252525] ;PRELOAD AC WITH 252525,,252525
42542 057415 200 01 0 00 071034 MOVE 1,[172737,,405060] ;PRELOAD AC+1 WITH 172737,,405060
42543 057416 242 00 0 00 777745 LSH 0,-33 ;*LSH SHOULD LOGICALLY SHIFT 252525,,252525
42544 ;RIGHT 33 OCTAL BIT POSITIONS
42545 057417 312 00 0 00 071056 CAME 0,[0,,252] ;PASS IF C(AC)=0,,252
42546 STOP^
42547 057420 254 04 0 00 057421 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42548 057421 324 00 0 00 057422 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42549 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42550 ;IN THE SUBTEST) TO LOOP ON ERROR^
42551 057422 312 01 0 00 071034 CAME 1,[172737,,405060] ;PASS IF C(AC+1) NOT AFFECTED
42552 STOP^
42553 057423 254 04 0 00 057424 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42554 057424 324 00 0 00 057425 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42555 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42556 ;IN THE SUBTEST) TO LOOP ON ERROR^
42557
42558 ;**********
42559
42560 ;THIS TEST VERIFIES THAT THE LSH INSTRUCTION FUNCTIONS CORRECTLY
42561 ;IN THIS CASE, 525252,,525252 SHOULD BE LOGICALLY SHIFTED RIGHT 33 OCTAL BIT POSITIONS
42562 ;SO THAT FINAL C(AC)=0,,525.
42563 ;C(AC+1) SHOULD NOT BE AFFECTED
42564
42565 057425 200 00 0 00 071035 C41100: MOVE 0,[525252,,525252] ;PRELOAD AC WITH 525252,,525252
42566 057426 200 01 0 00 071034 MOVE 1,[172737,,405060] ;PRELOAD AC+1 WITH 172737,,405060
42567 057427 242 00 0 00 777745 LSH 0,-33 ;*LSH SHOULD LOGICALLY SHIFT 525252,,525252
42568 ;RIGHT 33 OCTAL BIT POSITIONS
42569 057430 312 00 0 00 071057 CAME 0,[0,,525] ;PASS IF C(AC)=0,,525
42570 STOP^
42571 057431 254 04 0 00 057432 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42572 057432 324 00 0 00 057433 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42573 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42574 ;IN THE SUBTEST) TO LOOP ON ERROR^
42575 057433 312 01 0 00 071034 CAME 1,[172737,,405060] ;PASS IF C(AC+1) NOT AFFECTED
42576 STOP^
42577 057434 254 04 0 00 057435 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42578 057435 324 00 0 00 057436 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42579 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42580 ;IN THE SUBTEST) TO LOOP ON ERROR^
42581
42582 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 40
DFKAA7 MAC 25-AUG-75 14:03 TEST OF SHIFT/ROTATE INSTRUCTIONS USED IN THE ERROR HANDLER SEQ 0991
42583 ;THIS TEST VERIFIES THAT THE LSH INSTRUCTION FUNCTIONS CORRECTLY
42584 ;IN THIS CASE, 230703,,603700 SHOULD BE LOGICALLY SHIFTED RIGHT 33 OCTAL BIT POSITIONS
42585 ;SO THAT FINAL C(AC)=0,,230.
42586 ;C(AC+1) SHOULD NOT BE AFFECTED
42587
42588 057436 200 00 0 00 071036 C41200: MOVE 0,[230703,,603700] ;PRELOAD AC WITH 230703,,603700
42589 057437 200 01 0 00 071034 MOVE 1,[172737,,405060] ;PRELOAD AC+1 WITH 172737,,405060
42590 057440 242 00 0 00 777745 LSH 0,-33 ;*LSH SHOULD LOGICALLY SHIFT 230703,,603700
42591 ;RIGHT 33 OCTAL BIT POSITIONS
42592 057441 312 00 0 00 071060 CAME 0,[0,,230] ;PASS IF C(AC)=230703,,603700
42593 STOP^
42594 057442 254 04 0 00 057443 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42595 057443 324 00 0 00 057444 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42596 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42597 ;IN THE SUBTEST) TO LOOP ON ERROR^
42598 057444 312 01 0 00 071034 CAME 1,[172737,,405060] ;PASS IF C(AC+1) NOT AFFECTED
42599 STOP^
42600 057445 254 04 0 00 057446 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42601 057446 324 00 0 00 057447 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42602 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42603 ;IN THE SUBTEST) TO LOOP ON ERROR^
42604
42605 ;**********
42606
42607 ;THIS TEST VERIFIES THAT THE LSH INSTRUCTION FUNCTIONS CORRECTLY
42608 ;IN THIS CASE, 007603,,607062 SHOULD BE LOGICALLY SHIFTED RIGHT 33 OCTAL BIT POSITIONS
42609 ;SO THAT FINAL C(AC)=0,,7.
42610 ;C(AC+1) SHOULD NOT BE AFFECTED
42611
42612 057447 200 00 0 00 071040 C41300: MOVE 0,[007603,,607062] ;PRELOAD AC WITH 007603,,607062
42613 057450 200 01 0 00 071034 MOVE 1,[172737,,405060] ;PRELOAD AC+1 WITH 172737,,405060
42614 057451 242 00 0 00 777745 LSH 0,-33 ;*LSH SHOULD LOGICALLY SHIFT 007603,,6070062
42615 ;RIGHT 33 OCTAL BIT POSITIONS
42616 057452 312 00 0 00 071033 CAME 0,[0,,7] ;PASS IF C(AC)=0,,7
42617 STOP^
42618 057453 254 04 0 00 057454 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42619 057454 324 00 0 00 057455 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42620 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42621 ;IN THE SUBTEST) TO LOOP ON ERROR^
42622 057455 312 01 0 00 071034 CAME 1,[172737,,405060] ;PASS IF C(AC+1) NOT AFFECTED
42623 STOP^
42624 057456 254 04 0 00 057457 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42625 057457 324 00 0 00 057460 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42626 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42627 ;IN THE SUBTEST) TO LOOP ON ERROR^
42628
42629 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 41
DFKAA7 MAC 25-AUG-75 14:03 TEST OF SHIFT/ROTATE INSTRUCTIONS USED IN THE ERROR HANDLER SEQ 0992
42630 ;THIS TEST VERIFIES THAT THE LSH INSTRUCTION FUNCTIONS CORRECTLY
42631 ;IN THIS CASE, 0,,0 SHOULD BE LOGICALLY SHIFTED RIGHT 27 OCTAL BIT POSITIONS
42632 ;SO THAT FINAL C(AC)=0,,0.
42633 ;C(AC+1) SHOULD NOT BE AFFECTED
42634
42635 057460 200 01 0 00 070253 C41400: MOVE 1,[0,,0] ;PRELOAD AC WITH 0,,0
42636 057461 200 02 0 00 071034 MOVE 2,[172737,,405060] ;PRELOAD C(AC+1) WITH 172737,,405060
42637 057462 242 01 0 00 777751 LSH 1,-27 ;*LSH SHOULD LOGICALLY SHIFT 0,,0
42638 ;RIGHT 27 OCTAL BIT POSITIONS
42639 057463 312 01 0 00 070253 CAME 1,[0,,0] ;PASS IF C(AC)=0,,0
42640 STOP^
42641 057464 254 04 0 00 057465 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42642 057465 324 00 0 00 057466 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42643 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42644 ;IN THE SUBTEST) TO LOOP ON ERROR^
42645 057466 312 02 0 00 071034 CAME 2,[172737,,405060] ;PASS IF C(AC+1) NOT AFFECTED
42646 STOP^
42647 057467 254 04 0 00 057470 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42648 057470 324 00 0 00 057471 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42649 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42650 ;IN THE SUBTEST) TO LOOP ON ERROR^
42651
42652 ;**********
42653
42654 ;THIS TEST VERIFIES THAT THE LSH INSTRUCTION FUNCTIONS CORRECTLY
42655 ;IN THIS CASE, -1,,-1 SHOULD BE LOGICALLY SHIFTED RIGHT 27 OCTAL BIT POSITIONS
42656 ;SO THAT FINAL C(AC)=0,,17777.
42657 ;C(AC+1) SHOULD NOT BE AFFECTED
42658
42659 057471 200 01 0 00 070254 C41500: MOVE 1,[-1,,-1] ;PRELOAD AC WITH -1,,-1
42660 057472 200 02 0 00 071034 MOVE 2,[172737,,405060] ;PRELOAD C(AC+1) WITH 172737,,405060
42661 057473 242 01 0 00 777751 LSH 1,-27 ;*LSH SHOULD LOGICALLY SHIFT -1,,-1
42662 ;RIGHT 27 OCTAL BIT POSITIONS
42663 057474 312 01 0 00 071061 CAME 1,[0,,17777] ;PASS IF C(AC)=0,17777
42664 STOP^
42665 057475 254 04 0 00 057476 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42666 057476 324 00 0 00 057477 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42667 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42668 ;IN THE SUBTEST) TO LOOP ON ERROR^
42669 057477 312 02 0 00 071034 CAME 2,[172737,,405060] ;PASS IF C(AC+1) NOT AFFECTED
42670 STOP^
42671 057500 254 04 0 00 057501 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42672 057501 324 00 0 00 057502 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42673 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42674 ;IN THE SUBTEST) TO LOOP ON ERROR^
42675
42676 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 42
DFKAA7 MAC 25-AUG-75 14:03 TEST OF SHIFT/ROTATE INSTRUCTIONS USED IN THE ERROR HANDLER SEQ 0993
42677 ;THIS TEST VERIFIES THAT THE LSH INSTRUCTION FUNCTIONS CORRECTLY
42678 ;IN THIS CASE, 252525,,252525 SHOULD BE LOGICALLY SHIFTED RIGHT 27 OCTAL BIT POSITIONS
42679 ;SO THAT FINAL C(AC)=0,,5252.
42680 ;C(AC+1) SHOULD NOT BE AFFECTED
42681
42682 057502 200 01 0 00 070614 C41600: MOVE 1,[252525,,252525] ;PRELOAD AC WITH 252525,,252525
42683 057503 200 02 0 00 071034 MOVE 2,[172737,,405060] ;PRELOAD C(AC+1) WITH 172737,,405060
42684 057504 242 01 0 00 777751 LSH 1,-27 ;*LSH SHOULD LOGICALLY SHIFT 252525,,252525
42685 ;RIGHT 27 OCTAL BIT POSITIONS
42686 057505 312 01 0 00 071062 CAME 1,[0,,5252] ;PASS IF C(AC)=0,,5252
42687 STOP^
42688 057506 254 04 0 00 057507 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42689 057507 324 00 0 00 057510 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42690 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42691 ;IN THE SUBTEST) TO LOOP ON ERROR^
42692 057510 312 02 0 00 071034 CAME 2,[172737,,405060] ;PASS IF C(AC+1) NOT AFFECTED
42693 STOP^
42694 057511 254 04 0 00 057512 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42695 057512 324 00 0 00 057513 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42696 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42697 ;IN THE SUBTEST) TO LOOP ON ERROR^
42698
42699 ;**********
42700
42701 ;THIS TEST VERIFIES THAT THE LSH INSTRUCTION FUNCTIONS CORRECTLY
42702 ;IN THIS CASE, 525252,,525252 SHOULD BE LOGICALLY SHIFTED RIGHT 27 OCTAL BIT POSITIONS
42703 ;SO THAT FINAL C(AC)=0,,12525.
42704 ;C(AC+1) SHOULD NOT BE AFFECTED
42705
42706 057513 200 01 0 00 071035 C41700: MOVE 1,[525252,,525252] ;PRELOAD AC WITH 525252,,525252
42707 057514 200 02 0 00 071034 MOVE 2,[172737,,405060] ;PRELOAD C(AC+1) WITH 172737,,405060
42708 057515 242 01 0 00 777751 LSH 1,-27 ;*LSH SHOULD LOGICALLY SHIFT 525252,,525252
42709 ;RIGHT 27 OCTAL BIT POSITIONS
42710 057516 312 01 0 00 071063 CAME 1,[0,,12525] ;PASS IF C(AC)=0,,12525
42711 STOP^
42712 057517 254 04 0 00 057520 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42713 057520 324 00 0 00 057521 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42714 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42715 ;IN THE SUBTEST) TO LOOP ON ERROR^
42716 057521 312 02 0 00 071034 CAME 2,[172737,,405060] ;PASS IF C(AC+1) NOT AFFECTED
42717 STOP^
42718 057522 254 04 0 00 057523 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42719 057523 324 00 0 00 057524 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42720 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42721 ;IN THE SUBTEST) TO LOOP ON ERROR^
42722
42723 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 43
DFKAA7 MAC 25-AUG-75 14:03 TEST OF SHIFT/ROTATE INSTRUCTIONS USED IN THE ERROR HANDLER SEQ 0994
42724 ;THIS TEST VERIFIES THAT THE LSH INSTRUCTION FUNCTIONS CORRECTLY
42725 ;IN THIS CASE, 230703,602700 SHOULD BE LOGICALLY SHIFTED RIGHT 27 OCTAL BIT POSITIONS
42726 ;SO THAT FINAL C(AC)=0,,4616.
42727 ;C(AC+1) SHOULD NOT BE AFFECTED
42728
42729 057524 200 01 0 00 071036 C42000: MOVE 1,[230703,,603700] ;PRELOAD AC WITH 230703,603700
42730 057525 200 02 0 00 071034 MOVE 2,[172737,,405060] ;PRELOAD C(AC+1) WITH 172737,,405060
42731 057526 242 01 0 00 777751 LSH 1,-27 ;*LSH SHOULD LOGICALLY SHIFT 230703,,603700
42732 ;RIGHT 27 OCTAL BIT POSITIONS
42733 057527 312 01 0 00 071064 CAME 1,[0,,4616] ;PASS IF C(AC)=0,,4616
42734 STOP^
42735 057530 254 04 0 00 057531 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42736 057531 324 00 0 00 057532 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42737 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42738 ;IN THE SUBTEST) TO LOOP ON ERROR^
42739 057532 312 02 0 00 071034 CAME 2,[172737,,405060] ;PASS IF C(AC+1) NOT AFFECTED
42740 STOP^
42741 057533 254 04 0 00 057534 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42742 057534 324 00 0 00 057535 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42743 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42744 ;IN THE SUBTEST) TO LOOP ON ERROR^
42745
42746 ;**********
42747
42748 ;THIS TEST VERIFIES THAT THE LSH INSTRUCTION FUNCTIONS CORRECTLY
42749 ;IN THIS CASE, 007603,,607062 SHOULD BE LOGICALLY SHIFTED RIGHT 27 OCTAL BIT POSITIONS
42750 ;SO THAT FINAL C(AC)=0,,174.
42751 ;C(AC+1) SHOULD NOT BE AFFECTED
42752
42753 057535 200 01 0 00 071040 C42100: MOVE 1,[007603,,607062] ;PRELOAD AC WITH 007603,,607062
42754 057536 200 02 0 00 071034 MOVE 2,[172737,,405060] ;PRELOAD C(AC+1) WITH 172737,,405060
42755 057537 242 01 0 00 777751 LSH 1,-27 ;*LSH SHOULD LOGICALLY SHIFT 007603,,607062
42756 ;RIGHT 27 OCTAL BIT POSITIONS
42757 057540 312 01 0 00 071065 CAME 1,[0,,174] ;PASS IF C(AC)=0,,174
42758 STOP^
42759 057541 254 04 0 00 057542 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42760 057542 324 00 0 00 057543 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42761 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42762 ;IN THE SUBTEST) TO LOOP ON ERROR^
42763 057543 312 02 0 00 071034 CAME 2,[172737,,405060] ;PASS IF C(AC+1) NOT AFFECTED
42764 STOP^
42765 057544 254 04 0 00 057545 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42766 057545 324 00 0 00 057546 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42767 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42768 ;IN THE SUBTEST) TO LOOP ON ERROR^
42769
42770 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 44
DFKAA7 MAC 25-AUG-75 14:03 TEST OF SHIFT/ROTATE INSTRUCTIONS USED IN THE ERROR HANDLER SEQ 0995
42771 ;THIS TEST VERIFIES THAT THE LSH INSTRUCTION FUNCTIONS CORRECTLY
42772 ;IN THIS CASE, 0,,0 SHOULD BE LOGICALLY SHIFTED RIGHT 33 OCTAL BIT POSITIONS
42773 ;SO THAT FINAL C(AC)=0,,0.
42774 ;C(AC+1) SHOULD NOT BE AFFECTED
42775
42776 057546 200 01 0 00 070253 C42200: MOVE 1,[0,0] ;PRELOAD AC WITH 0,,0
42777 057547 200 02 0 00 071034 MOVE 2,[172737,,405060] ;PRELOAD C(AC+1) WITH 172737,,405060
42778 057550 242 01 0 00 777745 LSH 1,-33 ;*LSH SHOULD LOGICALLY SHIFT 0,,0
42779 ;RIGHT 33 OCTAL BIT POSITIONS
42780 057551 312 01 0 00 070253 CAME 1,[0,,0] ;PASS IF C(AC)=0,,0
42781 STOP^
42782 057552 254 04 0 00 057553 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42783 057553 324 00 0 00 057554 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42784 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42785 ;IN THE SUBTEST) TO LOOP ON ERROR^
42786 057554 312 02 0 00 071034 CAME 2,[172737,,405060] ;PASS IF C(AC+1) NOT AFFECTED
42787 STOP^
42788 057555 254 04 0 00 057556 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42789 057556 324 00 0 00 057557 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42790 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42791 ;IN THE SUBTEST) TO LOOP ON ERROR^
42792
42793 ;**********
42794
42795 ;THIS TEST VERIFIES THAT THE LSH INSTRUCTION FUNCTIONS CORRECTLY
42796 ;IN THIS CASE, -1,,-1 SHOULD BE LOGICALLY SHIFTED RIGHT 33 OCTAL BIT POSITIONS
42797 ;SO THAT FINAL C(AC)=0,,777.
42798 ;C(AC+1) SHOULD NOT BE AFFECTED
42799
42800 057557 200 01 0 00 070254 C42300: MOVE 1,[-1,,-1] ;PRELOAD AC WITH -1,,-1
42801 057560 200 02 0 00 071034 MOVE 2,[172737,,405060] ;PRELOAD C(AC+1) WITH 172737,,405060
42802 057561 242 01 0 00 777745 LSH 1,-33 ;*LSH SHOULD LOGICALLY SHIFT -1,,-1
42803 ;RIGHT 33 OCTAL BIT POSITIONS
42804 057562 312 01 0 00 070262 CAME 1,[0,,777] ;PASS IF C(AC)=0,,777
42805 STOP^
42806 057563 254 04 0 00 057564 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42807 057564 324 00 0 00 057565 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42808 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42809 ;IN THE SUBTEST) TO LOOP ON ERROR^
42810 057565 312 02 0 00 071034 CAME 2,[172737,,405060] ;PASS IF C(AC+1) NOT AFFECTED
42811 STOP^
42812 057566 254 04 0 00 057567 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42813 057567 324 00 0 00 057570 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42814 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42815 ;IN THE SUBTEST) TO LOOP ON ERROR^
42816
42817 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 45
DFKAA7 MAC 25-AUG-75 14:03 TEST OF SHIFT/ROTATE INSTRUCTIONS USED IN THE ERROR HANDLER SEQ 0996
42818 ;THIS TEST VERIFIES THAT THE LSH INSTRUCTION FUNCTIONS CORRECTLY
42819 ;IN THIS CASE, 252525,,252525 SHOULD BE LOGICALLY SHIFTED RIGHT 33 OCTAL BIT POSITIONS
42820 ;SO THAT FINAL C(AC)=0,,252.
42821 ;C(AC+1) SHOULD NOT BE AFFECTED
42822
42823 057570 200 01 0 00 070614 C42400: MOVE 1,[252525,,252525] ;PRELOAD AC WITH 252525,,252525
42824 057571 200 02 0 00 071034 MOVE 2,[172737,,405060] ;PRELOAD C(AC+1) WITH 172737,,405060
42825 057572 242 01 0 00 777745 LSH 1,-33 ;*LSH SHOULD LOGICALLY SHIFT 252525,,252525
42826 ;RIGHT 33 OCTAL BIT POSITIONS
42827 057573 312 01 0 00 071056 CAME 1,[0,,252] ;PASS IF C(AC)=0,,252
42828 STOP^
42829 057574 254 04 0 00 057575 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42830 057575 324 00 0 00 057576 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42831 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42832 ;IN THE SUBTEST) TO LOOP ON ERROR^
42833 057576 312 02 0 00 071034 CAME 2,[172737,,405060] ;PASS IF C(AC+1) NOT AFFECTED
42834 STOP^
42835 057577 254 04 0 00 057600 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42836 057600 324 00 0 00 057601 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42837 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42838 ;IN THE SUBTEST) TO LOOP ON ERROR^
42839
42840 ;**********
42841
42842 ;THIS TEST VERIFIES THAT THE LSH INSTRUCTION FUNCTIONS CORRECTLY
42843 ;IN THIS CASE, 525252,,525252 SHOULD BE LOGICALLY SHIFTED RIGHT 33 OCTAL BIT POSITIONS
42844 ;SO THAT FINAL C(AC)=0,,525.
42845 ;C(AC+1) SHOULD NOT BE AFFECTED
42846
42847 057601 200 01 0 00 071035 C42500: MOVE 1,[525252,,525252] ;PRELOAD AC WITH 525252,,525252
42848 057602 200 02 0 00 071034 MOVE 2,[172737,,405060] ;PRELOAD C(AC+1) WITH 172737,,405060
42849 057603 242 01 0 00 777745 LSH 1,-33 ;*LSH SHOULD LOGICALLY SHIFT 525252,,525252
42850 ;RIGHT 33 OCTAL BIT POSITIONS
42851 057604 312 01 0 00 071057 CAME 1,[0,,525] ;PASS IF C(AC)=0,525
42852 STOP^
42853 057605 254 04 0 00 057606 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42854 057606 324 00 0 00 057607 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42855 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42856 ;IN THE SUBTEST) TO LOOP ON ERROR^
42857 057607 312 02 0 00 071034 CAME 2,[172737,,405060] ;PASS IF C(AC+1) NOT AFFECTED
42858 STOP^
42859 057610 254 04 0 00 057611 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42860 057611 324 00 0 00 057612 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42861 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42862 ;IN THE SUBTEST) TO LOOP ON ERROR^
42863
42864 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 46
DFKAA7 MAC 25-AUG-75 14:03 TEST OF SHIFT/ROTATE INSTRUCTIONS USED IN THE ERROR HANDLER SEQ 0997
42865 ;THIS TEST VERIFIES THAT THE LSH INSTRUCTION FUNCTIONS CORRECTLY
42866 ;IN THIS CASE, 230703,,603700 SHOULD BE LOGICALLY SHIFTED RIGHT 33 OCTAL BIT POSITIONS
42867 ;SO THAT FINAL C(AC)=0,,230.
42868 ;C(AC+1) SHOULD NOT BE AFFECTED
42869
42870 057612 200 01 0 00 071036 C42600: MOVE 1,[230703,,603700] ;PRELOAD AC WITH 230703,,603700
42871 057613 200 02 0 00 071034 MOVE 2,[172737,,405060] ;PRELOAD C(AC+1) WITH 172737,,405060
42872 057614 242 01 0 00 777745 LSH 1,-33 ;*LSH SHOULD LOGICALLY SHIFT 230703,,603700
42873 ;RIGHT 33 OCTAL BIT POSITIONS
42874 057615 312 01 0 00 071060 CAME 1,[0,,230] ;PASS IF C(AC)=0,,230
42875 STOP^
42876 057616 254 04 0 00 057617 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42877 057617 324 00 0 00 057620 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42878 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42879 ;IN THE SUBTEST) TO LOOP ON ERROR^
42880 057620 312 02 0 00 071034 CAME 2,[172737,,405060] ;PASS IF C(AC+1) NOT AFFECTED
42881 STOP^
42882 057621 254 04 0 00 057622 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42883 057622 324 00 0 00 057623 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42884 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42885 ;IN THE SUBTEST) TO LOOP ON ERROR^
42886
42887 ;**********
42888
42889 ;THIS TEST VERIFIES THAT THE LSH INSTRUCTION FUNCTIONS CORRECTLY
42890 ;IN THIS CASE, 007603,,607062 SHOULD BE LOGICALLY SHIFTED RIGHT 33 OCTAL BIT POSITIONS
42891 ;SO THAT FINAL C(AC)=0,,7.
42892 ;C(AC+1) SHOULD NOT BE AFFECTED
42893
42894 057623 200 01 0 00 071040 C42700: MOVE 1,[007603,,607062] ;PRELOAD AC WITH 007603,,607062
42895 057624 200 02 0 00 071034 MOVE 2,[172737,,405060] ;PRELOAD C(AC+1) WITH 172737,,405060
42896 057625 242 01 0 00 777745 LSH 1,-33 ;*LSH SHOULD LOGICALLY SHIFT 007603,,607062
42897 ;RIGHT 33 OCTAL BIT POSITIONS
42898 057626 312 01 0 00 071033 CAME 1,[0,,7] ;PASS IF C(AC)=0,,7
42899 STOP^
42900 057627 254 04 0 00 057630 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42901 057630 324 00 0 00 057631 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42902 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42903 ;IN THE SUBTEST) TO LOOP ON ERROR^
42904 057631 312 02 0 00 071034 CAME 2,[172737,,405060] ;PASS IF C(AC+1) NOT AFFECTED
42905 STOP^
42906 057632 254 04 0 00 057633 HALT .+1 ;TEST FAILED IF PROGRAM HALTS HERE
42907 057633 324 00 0 00 057634 JUMPA .+1 ;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
42908 ;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
42909 ;IN THE SUBTEST) TO LOOP ON ERROR^
42910
42911 ;**********
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 1
DFKAA8 MAC 25-AUG-75 14:17 PI/IOT/APR DIAGNOSTIC SECTION SEQ 0998
42912 SUBTTL PI/IOT/APR DIAGNOSTIC SECTION
42913
42914 057634 402 00 0 00 030037 BEGIOT: SETZM USER ;CLEAR USER CONTROL WORD
42915 057635 265 00 0 00 057636 JSP 0,.+1 ;GET FLAGS
42916 057636 603 00 0 00 010000 TLNE USERF ;IN USER MODE ?
42917 057637 476 00 0 00 030037 SETOM USER ;YES, SET USER CONTROL WORD
42918 057640 336 00 0 00 030042 SKIPN MONFLG ;SPECIAL USER MODE ?
42919 057641 402 00 0 00 030037 SETZM USER ;YES, CLEAR USER CONTROL WORD
42920 057642 336 00 0 00 030037 SKIPN USER
42921 057643 254 00 0 00 057645 JRST IOT0 ;RUN IOT TEST ONLY IN EXEC MODE
42922
42923 057644 254 00 0 00 030057 JRST BEGEND ;OTHERWISE START OVER
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 2
DFKAA8 MAC 25-AUG-75 14:17 MACRO'S OPDEFS AND SPECIAL FLAG DEFINITIONS SEQ 0999
42924 SUBTTL MACRO'S OPDEFS AND SPECIAL FLAG DEFINITIONS
42925
42926 LALL
42927 000774 LAST=774 ;LAST POSSIBLE DEVICE
42928
42929 ;OPERATOR DEFINITIONS
42930
42931 264000 070120 OPDEF TRPPI [JSR TRAPPI] ;FILL INTERRUPT LOCATIONS
42932 264000 070103 OPDEF HALTPI [JSR HALTPI] ;FILL INT. LOC. WITH HALTS
42933 264000 070072 OPDEF CLRTRP [JSR TRPCLR] ;CLEAR TRAPS
42934
42935 OPDEF CLRAPR [CONO APR,LIOCLR!LCSBER!LCNXER!LCPAER!LCIOPF!LCPWRF!LCCASD!LDSBER!L
42936 700200 267760 DNXER!LDPAER!LDIOPF!LDPWRF!LDCASD!LCCAER!LDCAER!LCSAER!LDSAER]
42937 700600 031577 OPDEF CLRPI [CONO PI,LRQCLR!PICLR!CHNOFF!PIOFF!177]
42938
42939 ;MACROS
42940
42941 DEFINE BLURB <
42942 ;LOCATIONS 40-60 CONTAIN A JSP TO A ROUTINE WHICH STORES
42943 ;THE CHANNEL NUMBER OF THE INTERRUPT INTO 0
42944 ;THEREFORE IF AN INTERRUPT OCCURS THEN LOCATION
42945 ;ZERO WILL CONTAIN THE NUMBER OF THE INTERRUPT CHANNEL TRAP ADRESS
42946 >
42947 DEFINE BLURB1 <
42948 ;LOCATIONS 40-60 CONTAIN A JSP TO A ROUTINE WHICH EXECUTES A HALT
42949 ;POINTING TO THE CHANNEL WHICH CAUSED THE REQUEST.
42950 ;OR THE CHANNEL WHICH CAUSED THE INCORRECT INTERRUPT. THE PARTICULAR
42951 ;INTERRUPT TRAP ADRESS FOR THE INTERRUPT LEVEL BEING TESTED MAY NOT
42952 ;ALWAYS HAVE A JSP TO A HALT IN CASE WE ARE TESTING FOR REAL
42953 ;INTERRUPTS ON THAT CHANNEL. IN THIS CASE ONLY THE TRAP FOR THAT
42954 ;PARTICULAR CHANNEL WILL BE LEGAL. ALL OTHERS WILL HALT.
42955 >
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 3
DFKAA8 MAC 25-AUG-75 14:17 MACRO'S OPDEFS AND SPECIAL FLAG DEFINITIONS SEQ 1000
42956 DEFINE WATINT <
42957 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
42958 SOJG 13,. ;AND WAIT>
42959
42960 DEFINE STOP2<
42961 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
42962 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.>
42963
42964 DEFINE TSET<
42965 %X=. ;DEFINE %X TO SAVE
42966 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
42967 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT>
42968
42969 DEFINE TGET<
42970 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
42971 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
42972 STOP2>
42973
42974 DEFINE TBOTH<
42975 TGET
42976
42977 TSET>
42978
42979 DEFINE PINO (A,%NO)<
42980
42981 ;ENABLE THE PI SYSTEM. AND EXPECT NO INTERRUPTS. THEN TEST THAT THE
42982 ;HOLD FLOP FOR EACH CHANNEL IS NOT SET.
42983
42984 TSET
42985 %NO: CLRBTH
42986 CONO PI,PION ;ENABLE PI AND ,EXPECT NO INTERRUPTS
42987 WATINT
42988 CONSZ PI,A ;CHECK WHY INT. IN PROGRESS IS SET.
42989 STOP
42990 TGET
42991 >
42992 DEFINE PIYES (A,B,%YES)<
42993
42994 ;SET REQUESTS FOR EACH CHANNEL BUT DO NOT SET PI ACTIVE.
42995 ;INTERRUPTS SHOULD NOT OCCUR, AND THE INTERRUPT IN PROGRESS
42996 ;FLAG SHOULD NOT BE SET FOR THE CHANNEL BEING TESTED
42997
42998 TSET
42999 %YES: CLRBTH
43000 CONO PI,REQSET+A ;SET CHANNEL REQUEST BUT NOT ACTIVE
43001 WATINT
43002 CONSZ PI,B ;CHECK WHY INT. IN PROGRESS IS SET.
43003 STOP
43004 TGET
43005 >
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 4
DFKAA8 MAC 25-AUG-75 14:17 MACRO'S OPDEFS AND SPECIAL FLAG DEFINITIONS SEQ 1001
43006 DEFINE PIHCLR (A,B,%HCLR)<
43007
43008 ;CHECK THAT PICLR CLEARS THE HOLD FLOP
43009
43010 TSET
43011 %HCLR: CLRBTH
43012 CONO PI,REQSET+PION+A ;CAUSE INT. TO SET HOLD
43013 WATINT
43014 CONO PI,PICLR ;THEN CLEAR VIA PI RESET
43015 CONSZ PI,B ;HOLD FLOP FAILED TO CLEAR.
43016 STOP
43017 TGET
43018 >
43019 DEFINE PIONOF (A,%ONOF)<
43020
43021 ;CHECK THAT PICLR CLEARS THE REQUEST FLOP
43022 ;AND THAT AN INTERUPT DOES NOT OCCUR
43023
43024 BLURB1
43025
43026 TSET
43027 %ONOF: CLRBTH
43028 CONO PI,REQSET+A ;SET REQ. BUT NOT ACTIVE
43029 SETZ ;THEN CLEAR REQUEST THEN SET ACTIVE
43030 CONO PI,PICLR+A ;PI RESET FAILED TO CLEAR PIR FLAG.
43031 WATINT
43032 SKIPE ;MOVEI EXEC OUT OF INTERRUPT CH.?
43033 STOP
43034 TGET
43035 >
43036 DEFINE PIDIS (A,B,%PICHK)<
43037
43038 ;CHECK THAT A JEN WILL DISMISS INTERUPTS ON ALL CHANNELS
43039
43040 TSET
43041 %PICHK: MOVE [JSP 1,.+6] ;PUT THE PI TRAP INSTRUCTION
43042 MOVEM A ;INTO A
43043 CONO PI,CHNON+PION+REQSET+B ;TURN ON PI AND REQEST ON CH B
43044 WATINT
43045 JRST .+3
43046 CONO PI,CHNON+PION+LRQCLR+B ;TURN OF INTERRUPT REQUEST
43047 JEN @1 ;DISMISS THE INTERRUPT
43048 CONSZ PI,77400 ;NO REQUESTS SHOULD BE SET
43049 STOP
43050 TGET
43051 CLRBTH
43052 >
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 5
DFKAA8 MAC 25-AUG-75 14:17 MACRO'S OPDEFS AND SPECIAL FLAG DEFINITIONS SEQ 1002
43053 DEFINE PITEST (A,%PITST)<
43054
43055 ;TEST SETTING OF CHANNEL FLOP
43056
43057 TSET
43058 %PITST: CLRBTH
43059 CONO PI,CHNON+A ;PION FAILED TO SET
43060 CONSO PI,A
43061 STOP
43062 TBOTH
43063 CLRBTH
43064 ;TEST CLEARING OF CHANNEL FLOP
43065 CONO PI,CHNON+A ;CHECK PIO CLR
43066 CONO PI,CHNOFF+A ;TURN OFF CHANNELS
43067 CONSZ PI,A ;CHECK WHY FLOP NOT CLEAR
43068 STOP
43069 TBOTH
43070 CLRBTH
43071 ;CHECK RESETING OF PI SYSTEM
43072 CONO PI,CHNON+A ;CHECK THAT PI RESET CLEARS
43073 CONO PI,PICLR ;PI SYSTEM
43074 CONSZ PI,A
43075 STOP
43076 TBOTH
43077 CLRBTH
43078 ;TEST THAT CONO ONLY SETS PION
43079 CONO PI,CHNON ;TEST PIO SET
43080 CONSZ PI,A ;CHECK WHY CONO SET FLAGS WHITHOUT AN IOB BIT
43081 STOP
43082 TBOTH
43083 CLRBTH
43084 ;CHECK THAT CONO DOES NOT CLEAR ACTIVE
43085 CONO PI,CHNON+A ;TEST PIO CLR
43086 CONO PI,CHNOFF ;MAYBE RESET OCCURED - BIT SHOULD STILL
43087 CONSO PI,A ;BE SET
43088 STOP
43089 TGET
43090 >
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 6
DFKAA8 MAC 25-AUG-75 14:17 MACRO'S OPDEFS AND SPECIAL FLAG DEFINITIONS SEQ 1003
43091 DEFINE EXECUT<
43092 ;FILL THE INTERRUPT LOCATIONS WITH "MOVEI'S"
43093 MOVE 1,[MOVEI 42] ;STORE A MOVEI IN
43094 MOVEM 1,(1) ;INTO 42-60
43095 CAME 1,[MOVEI 57]
43096 AOJA 1,.-2 ;LOOP>
43097
43098 DEFINE STOP<
43099 HALT .+1 ;INSTRUCTION FAILED REPLACE
43100 JRST .+1 ;WITH JRST BACK>
43101
43102 DEFINE STOP1<
43103 HALT .+1 ;UUO FAILED TO STORE MA BITS
43104 JRST .+1 ;INTO RIGHT HALF OF 40>
43105
43106 DEFINE XUUO (X,Y,%XUO)<
43107
43108 ;EXECUTE AN LUUO AND CHECK THAT THE UUO AND PC STORED
43109 ;ARE CORRECT.
43110
43111 MLUUO==X ;THE UUO TO BE EXECUTED
43112 TSET
43113 %XUO: MOVE 0,[JSP 1,.+4] ;TRAP INSTRUCTION
43114 MOVEM 0,41 ;IN TO 41
43115 X ;EXECUTE A UUO
43116 HALT .+1 ;UUO DID NOT TRAP TO FORTY
43117 MOVEI 2,.-1 ;GET UUO PC
43118 ANDI 1,-1 ;MASK FLAGS OUT
43119 CAME 1,2 ;PC CORRECT ?
43120 HALT .+1 ;PC OF UUO NOT = TO PC STORED
43121 MOVE 0,40 ;GET UUO !
43122 CAME 0,[X!0] ;CORRECT UUO STORED IN 40?
43123 SKIPA ;NO
43124 JRST Y ;TESTS OK !
43125 STOP1
43126 TGET
43127 >
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 7
DFKAA8 MAC 25-AUG-75 14:17 MACRO'S OPDEFS AND SPECIAL FLAG DEFINITIONS SEQ 1004
43128 DEFINE XUUOA (X,%UUPC,%XUPC0,%XUPC1)<
43129
43130 ;CHECK THE "E" OF THE UUO STORED IS CORRECT.
43131
43132 EFIELD==X ;"E" WE ARE TESTING FOR
43133 TSET
43134 %UUPC: MOVE [JRST .+4] ;SET A TRAP INSTRUCTION
43135 MOVEM 41 ;INTO 41
43136 1B8!X ;EXECUTE A UUO
43137 %XUPC0: HALT .+1 ;UUO DIDN'T TRAP TO 40
43138 MOVE 0,40 ;GET UUO
43139 ANDI 0,-1 ;MASK OUT UUO FOR MA BITS
43140 CAIE X ;MA BITS CORRECT?
43141 %XUPC1: STOP1
43142 TGET
43143 >
43144
43145 DEFINE CLRBTH<
43146 CLRAPR
43147 CLRPI>
43148
43149 DEFINE CLRBT1<
43150 CLRAPR
43151 CLRPI>
43152
43153 DEFINE TRAP (A,B)<
43154 MOVE [A] ;SET TRAP INSTRUCTION
43155 MOVEM B ;INTO TRAP LOCATION>
43156
43157 DEFINE STUCK<
43158 WATINT
43159 JRST . ;LOOOP ON SELF>
43160
43161 DEFINE SBWAIT (A,%CLKUP)<
43162 %CLKUP: CONO APR,LESBER!LSSBER!A
43163 STUCK> ;WAIT S BUS ERRORS
43164 DEFINE TRPCHK (%TPC)<
43165 %TPC: SKIPE MONFLG ;RESET FLAGS IF IN MONITOR
43166 JRST .+3 ;DONT IF STAND ALONE
43167 JRSTF @.+1 ;AND RESTORE THEM
43168 USERF,.+1 ;NEW PC AND FLAGS>
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 8
DFKAA8 MAC 25-AUG-75 14:17 MACRO'S OPDEFS AND SPECIAL FLAG DEFINITIONS SEQ 1005
43169 DEFINE XCHN2 (A,B,C)<
43170
43171 ;REQUEST INTERRUPTS ON 2 CHANNELS AT ONCE TO SEE IF THEY TRAP
43172 ;TO THE CORRECT (I.E. HIGHEST PRIORITY) CHANNEL.
43173 ;IF ERROR OCCURS CHECK "PIN" PRINT
43174
43175 TRPCHK
43176 CLRBTH
43177 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
43178 MOVE [JSP A] ;SET UP FOR CORRECT
43179 MOVEM B ;INTERRUPT TRAP
43180 CONO PI,CHNON!PION!177 ;TURN ON PI SYSTEM
43181 CONO PI,REQSET!C ;REQUEST INTERRUPT ON TWO CHANNELS
43182 STUCK
43183 >
43184 DEFINE PSKPA (A,B,%X)<
43185
43186 ;TEST THAT AOSE DOES NOT DISMISS INTERRUPTS, OR SKIP WHEN EXECUTED AS
43187 ;AN INTERRUPT INSTRUCTION.
43188
43189 CLRBTH
43190 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
43191 MOVE [AOSE 0] ;PI TRAP INSTRUCTION
43192 MOVEM A ;INTO TRAP LOCATION
43193 MOVE [JSP 1,%X] ;SECOND TRAP INSTRUCTION
43194 MOVEM A+1 ;INTO SECOND PI INSTRUCTION
43195 MOVEI 1 ;SET AC TO NON ZERO
43196 CONO PI,REQSET!PION!CHNON!B ;REQUEST INTERRUPT ON CH B
43197
43198 ;IF WE FALL THROUGH THEN THE INTERRUPT WAS DISMISSED WHEN THE AOS FAILED
43199
43200 WATINT
43201 STOP
43202 %X: CLRBTH
43203 CAIE 2 ;ONLY ONE AOSE PREFORMED?
43204 STOP
43205 >
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 9
DFKAA8 MAC 25-AUG-75 14:17 MACRO'S OPDEFS AND SPECIAL FLAG DEFINITIONS SEQ 1006
43206 DEFINE PSKPB (A,B,%X)<
43207
43208 ;CHECK THAT SKIPE DOES NOT SKIP, OR MODIFY THE AC, OR DISMISS
43209 ;THE INTERRUPT.
43210
43211 CLRBTH
43212 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
43213 MOVE [SKIPE 0,0] ;PI TRAP INSTRUCTION(SHOULD NOT SKIP)
43214 MOVEM A ;INTO TRAP LOCATION
43215 MOVE [JSP 1,%X] ;SECOND TRAP INSTRUCTION
43216 MOVEM A+1 ;INTO SECOND PI INSTRUCTION
43217 MOVEI 1 ;SET AC TO NON ZERO
43218 CONO PI,REQSET!PION!CHNON!B ;REQUEST INTERRUPT ON CH B
43219
43220 ;IF WE FALL THROUGH TO HERE, THEN THE INT. WAS DISMISSED AND SHOULDN'T HAVE BEEN
43221
43222 WATINT
43223 STOP
43224 %X: CLRBTH
43225 CAIE 1 ;JUMPE SHOULD HAVE NOT MODIFIED THE AC
43226 STOP
43227 >
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 10
DFKAA8 MAC 25-AUG-75 14:17 MACRO'S OPDEFS AND SPECIAL FLAG DEFINITIONS SEQ 1007
43228 DEFINE FMUUO (A,%FMTST,%NOFM),<
43229
43230 ;EXECUTE UUO'S OUT OF FAST MEMORY LOCATIONS 0,1,2,4,5,10,12, AND 17
43231 ;CHECK FIRST THAT THE UUO TRAPPED AND SECONDLY THAT IT STORED THE
43232 ;CORRECT PC.
43233
43234 AC=A ;TESTED AC
43235
43236 TSET
43237 MOVE A,[XWD 1000,0] ;SET UP UUO INTO AC A TO EXECUTE
43238 MOVE 13,[JSP 11,%FMTST] ;SET UP UUO TRAP INSTRUCTION
43239 MOVEM 13,41 ;INTO LOCATION 41
43240 MOVE A+1,[JRST %NOFM] ;SET UP TRAP INSTRUCTION INCASE UUO DOES NOT TRAP
43241 JRST A ;GO EXECUTE UUO
43242 %NOFM: HALT .+1 ;UUO DID NOT TRAP FROM FAST MEMORY
43243 JRST .+1 ;LOOP TO %FMUUO IF ERROR
43244 %FMTST: ANDI 11,-1 ;MASK FLAGS
43245 CAIE 11,A+1 ;PC STORED SHOULD = A +1
43246 STOP
43247 TGET
43248 >
43249
43250 DEFINE INDPI (A,B,%XX),<
43251
43252 ;GET OURSELVES INTO A TIGHT INDIRECT LOOP.
43253 ;AND SEE IF WE ARE ABLE TO INTERRUPT OUT OF IT.
43254 ;THE LOOP IS DONE TEN TIMES. EACH TIME THE INTERRUPT IS DISMISSED AND
43255 ;WE WILL RETURN TO THE "JRST @." INSTRUCTION.
43256
43257 TSET
43258 MOVEI 10,^D10 ;TIMES TO DO THIS TEST
43259 MOVEM 10,COUNTX# ;STORE IT
43260 MOVE 10,[JSP 1,%XX] ;INTERRUPT TRAP INSTRUCTION
43261 MOVEM 10,A ;STORE FOR INTERRUPT REQUEST
43262 CLRBT1
43263 CONO PI,2377 ;TURN ON PI AND CHANNELS
43264 CONO APR,LESBER!LSSBER!B ;ENABLE AND SET S BUS ERRORS,ENABLE CH B
43265 JRST @. ;LOOP
43266 HALT .+1 ;ERROR IF HERE (GOT OUT OF INDIRECT LOOP)
43267 %XX: TGET
43268 ANDI 1,-1 ;MASK PC BITS
43269 CAIE 1,%XX-2 ;WAS CORRECT PC STORED?
43270 STOP
43271 SOSE COUNTX ;LOOP TEST
43272 JEN @1 ;DISMISS INTERRUPT
43273 CLRBTH
43274 >
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 12
DFKAA8 MAC 25-AUG-75 14:17 IOT TESTING SEQ 1008
43275 SUBTTL IOT TESTING
43276
43277 ;IF IOT HANGS - CHECK ARRT AND ARLT CLR
43278 ;AND OR AR SIGN SMEAR..
43279
43280 ;TEST THE IOT'S
43281 057645 IOTXXX:
43282
43283 057645 IOTXX:
43284 057645 264 00 00 00 070231 IOT0: JSR TRPSET ;FILL THE TRAP LOCATIONS
43285 057646 474 01 0 00 000000 SETO 1, ;THE IOTS FAIL
43286 057647 7 000 04 0 00 000001 DATAI 1 ;TO STORE C(E)
43287 057650 7 000 24 0 00 000001 CONI 1 ;CHECK IR DECODE
43288 057651 316 01 0 00 070254 CAMN 1,[-1] ;IR IOT ,IOT0-T9 ,ET2
43289 STOP^
43290 057652 254 04 0 00 057653 HALT .+1 ;INSTRUCTION FAILED REPLACE
43291 057653 254 00 0 00 057654 JRST .+1 ;WITH JRST BACK^
43292
43293 057654 200 01 0 00 071066 IOT1: MOVE 1,[123456654321] ;CHECK DATAI STORING C(E)
43294 057655 7 000 04 0 00 000001 DATAI 1 ;CONTENTS OF LOC 1
43295 057656 316 01 0 00 071066 CAMN 1,[123456654321] ;NOT MODIFIED
43296 STOP^
43297 057657 254 04 0 00 057660 HALT .+1 ;INSTRUCTION FAILED REPLACE
43298 057660 254 00 0 00 057661 JRST .+1 ;WITH JRST BACK^
43299
43300 057661 200 01 0 00 071066 IOT2: MOVE 1,[123456654321] ;CHECK CONI STOR THE CONTENTS OF "E" NOT SET OR
43301 057662 7 000 24 0 00 000001 CONI 1 ;SAC INH NOT SET - CONTENTS OF LOC 1
43302 057663 316 01 0 00 071066 CAMN 1,[123456654321] ;NOT MODIFIED
43303 STOP^
43304 057664 254 04 0 00 057665 HALT .+1 ;INSTRUCTION FAILED REPLACE
43305 057665 254 00 0 00 057666 JRST .+1 ;WITH JRST BACK^
43306
43307 057666 474 00 0 00 000000 IOT3: SETO ;CHECK SAC INH FOR
43308 057667 7 000 24 0 00 000001 CONI 1 ;CONI LOC 0
43309 057670 312 00 0 00 070254 CAME [-1] ;MODIFIED
43310 STOP^
43311 057671 254 04 0 00 057672 HALT .+1 ;INSTRUCTION FAILED REPLACE
43312 057672 254 00 0 00 057673 JRST .+1 ;WITH JRST BACK^
43313
43314 057673 7 774 20 0 00 000000 IOT4: CONO LAST,0 ;CLEAR LAST DEV (774)
43315 057674 7 774 24 0 00 000002 CONI LAST,2
43316 057675 306 02 0 00 000002 CAIN 2,2 ;IOT GOT E OF LAST INST.
43317 STOP^
43318 057676 254 04 0 00 057677 HALT .+1 ;INSTRUCTION FAILED REPLACE
43319 057677 254 00 0 00 057700 JRST .+1 ;WITH JRST BACK^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 13
DFKAA8 MAC 25-AUG-75 14:17 IOT TESTING SEQ 1009
43320 057700 7 774 14 0 00 070253 IOT5: DATAO LAST,[0] ;AR CLR FAILED ON
43321 057701 7 774 04 0 00 000003 DATAI LAST,3 ;DATAI
43322 057702 306 03 0 00 000003 CAIN 3,3 ;GET E AS DATA
43323 STOP^
43324 057703 254 04 0 00 057704 HALT .+1 ;INSTRUCTION FAILED REPLACE
43325 057704 254 00 0 00 057705 JRST .+1 ;WITH JRST BACK^
43326
43327 TSET^
43328 057705 %X=. ;DEFINE %X TO SAVE
43329 057705 201 00 0 00 057705 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
43330 057706 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
43331 057707 400 00 0 00 000000 IOT6: SETZ ;CONSZ FAILED TO SKIP
43332 057710 7 000 30 0 00 000000 CONSZ ;CHECK PC CLOCK ENABLE AND AD=0 ON IOT CONSZ
43333 STOP^
43334 057711 254 04 0 00 057712 HALT .+1 ;INSTRUCTION FAILED REPLACE
43335 057712 254 00 0 00 057713 JRST .+1 ;WITH JRST BACK^
43336
43337 TBOTH^
43338 TGET^
43339 057713 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
43340 057714 302 00 0 00 057705 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
43341 STOP2^^
43342 057715 254 04 0 00 057716 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
43343 057716 254 00 0 00 057717 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
43344
43345 TSET^^
43346 057717 %X=. ;DEFINE %X TO SAVE
43347 057717 201 00 0 00 057717 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
43348 057720 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
43349 057721 7 774 20 0 00 000000 IOT7: CONO LAST,0 ;CONSZ FAILED TO SKIP
43350 057722 7 774 30 0 00 700000 CONSZ LAST,700000 ;CHECK PC CLK EN AT ET2 ON IOT CONSZ
43351 STOP^
43352 057723 254 04 0 00 057724 HALT .+1 ;INSTRUCTION FAILED REPLACE
43353 057724 254 00 0 00 057725 JRST .+1 ;WITH JRST BACK^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 14
DFKAA8 MAC 25-AUG-75 14:17 IOT TESTING SEQ 1010
43354 TBOTH^
43355 TGET^
43356 057725 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
43357 057726 302 00 0 00 057717 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
43358 STOP2^^
43359 057727 254 04 0 00 057730 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
43360 057730 254 00 0 00 057731 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
43361
43362 TSET^^
43363 057731 %X=. ;DEFINE %X TO SAVE
43364 057731 201 00 0 00 057731 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
43365 057732 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
43366 057733 7 774 20 0 00 000000 IOT8: CONO LAST,0 ;CONSO SKIPPED CHK PC CLK EN(0)
43367 057734 7 774 34 0 00 000000 CONSO LAST,0 ;AD=0, IOT CONSO
43368 057735 334 00 0 00 000000 SKIPA ;IOT CONSZ
43369 STOP^
43370 057736 254 04 0 00 057737 HALT .+1 ;INSTRUCTION FAILED REPLACE
43371 057737 254 00 0 00 057740 JRST .+1 ;WITH JRST BACK^
43372
43373 TBOTH^
43374 TGET^
43375 057740 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
43376 057741 302 00 0 00 057731 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
43377 STOP2^^
43378 057742 254 04 0 00 057743 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
43379 057743 254 00 0 00 057744 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
43380
43381 TSET^^
43382 057744 %X=. ;DEFINE %X TO SAVE
43383 057744 201 00 0 00 057744 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
43384 057745 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
43385 057746 400 01 0 00 000000 IOT9: SETZ 1, ;CHK AD+1 TO BOTH ON IOT
43386 057747 7 774 10 0 00 000001 BLKO LAST,1 ;BLK, IF C(E)=0 THEN AD+1
43387 057750 334 00 0 00 000000 SKIPA ;BOTH OR ARFMAD(1) FAILED
43388 057751 255 00 0 00 000000 JFCL ;IF IR 12 FAILED TO SET
43389 057752 312 01 0 00 070251 CAME 1,[XWD 1,1] ;PROGRAM BLOWS MIND
43390 STOP^
43391 057753 254 04 0 00 057754 HALT .+1 ;INSTRUCTION FAILED REPLACE
43392 057754 254 00 0 00 057755 JRST .+1 ;WITH JRST BACK^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 15
DFKAA8 MAC 25-AUG-75 14:17 IOT TESTING SEQ 1011
43393 TBOTH^
43394 TGET^
43395 057755 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
43396 057756 302 00 0 00 057744 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
43397 STOP2^^
43398 057757 254 04 0 00 057760 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
43399 057760 254 00 0 00 057761 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
43400
43401 TSET^^
43402 057761 %X=. ;DEFINE %X TO SAVE
43403 057761 201 00 0 00 057761 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
43404 057762 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
43405 057763 255 00 0 00 000000 IOT10: JFCL
43406 TBOTH^
43407 TGET^
43408 057764 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
43409 057765 302 00 0 00 057761 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
43410 STOP2^^
43411 057766 254 04 0 00 057767 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
43412 057767 254 00 0 00 057770 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
43413
43414 TSET^^
43415 057770 %X=. ;DEFINE %X TO SAVE
43416 057770 201 00 0 00 057770 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
43417 057771 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
43418 057772 400 01 0 00 000000 IOT11: SETZ 1, ;BLKO PC CLK EN AT ET2 FAILED
43419 057773 7 774 10 0 00 000001 BLKO LAST,1 ;BLKO SHOULD SKIP
43420 STOP^
43421 057774 254 04 0 00 057775 HALT .+1 ;INSTRUCTION FAILED REPLACE
43422 057775 254 00 0 00 057776 JRST .+1 ;WITH JRST BACK^
43423
43424 TBOTH^
43425 TGET^
43426 057776 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
43427 057777 302 00 0 00 057770 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
43428 STOP2^^
43429 060000 254 04 0 00 060001 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
43430 060001 254 00 0 00 060002 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
43431
43432 TSET^^
43433 060002 %X=. ;DEFINE %X TO SAVE
43434 060002 201 00 0 00 060002 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
43435 060003 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
43436 060004 474 01 0 00 000000 IOT12: SETO 1, ;BLKO PREFORMED A SKIP
43437 060005 7 774 10 0 00 000001 BLKO LAST,1 ;PC CLK EN ASSERTED?
43438 060006 334 00 0 00 000000 SKIPA
43439 STOP^
43440 060007 254 04 0 00 060010 HALT .+1 ;INSTRUCTION FAILED REPLACE
43441 060010 254 00 0 00 060011 JRST .+1 ;WITH JRST BACK^
43442
43443 060011 320 00 0 00 060012 IOT13: JUMP .+1 ;NEVER DO 13
43444
43445 060012 7 004 20 0 00 010000 IOT14: CONO PI,10000 ;CLR PI SYSTEM
43446 060013 7 000 20 0 00 000077 CONO 77 ;SET SOME CPA BITS
43447 060014 7 000 24 0 00 000000 CONI 0 ;IF FAILED EITHER CONO FAILED
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 15-1
DFKAA8 MAC 25-AUG-75 14:17 IOT TESTING SEQ 1012
43448 060015 336 00 0 00 000000 SKIPN 0 ;IO SET OR CONI FAILED READ
43449 STOP^
43450 060016 254 04 0 00 060017 HALT .+1 ;INSTRUCTION FAILED REPLACE
43451 060017 254 00 0 00 060020 JRST .+1 ;WITH JRST BACK^
43452 ;OR ARRT OR ARLT EN OR AR SIGN
43453 ;SMEAR OR CPA SELECT NOT ASSERTED
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 16
DFKAA8 MAC 25-AUG-75 14:17 TEST APR FLAGS SEQ 1013
43454 SUBTTL TEST APR FLAGS
43455
43456 060020 7 000 20 0 00 000000 IOT15: CONO ;APR CLOCK PIA FAILED EITHER
43457 060021 7 000 20 0 00 000001 CONO 1 ;TO SET OR BE READ
43458 060022 7 000 24 0 00 000000 CONI ;CHECK APR PIA 35 CLOCK
43459 060023 606 00 0 00 000001 TRNN 1
43460 STOP^
43461 060024 254 04 0 00 060025 HALT .+1 ;INSTRUCTION FAILED REPLACE
43462 060025 254 00 0 00 060026 JRST .+1 ;WITH JRST BACK^
43463
43464 060026 7 000 20 0 00 000000 IOT15A: CONO ;APR CLOCK PIA FAILED EITHER
43465 060027 7 000 20 0 00 000002 CONO 2 ;TO SET OR BE READ
43466 060030 7 000 24 0 00 000000 CONI ;CHECK APR PIA 34 CLOCK
43467 060031 606 00 0 00 000002 TRNN 2
43468 STOP^
43469 060032 254 04 0 00 060033 HALT .+1 ;INSTRUCTION FAILED REPLACE
43470 060033 254 00 0 00 060034 JRST .+1 ;WITH JRST BACK^
43471
43472 060034 7 000 20 0 00 000000 IOT16: CONO ;APR CLOCK PIA FAILED EITHER
43473 060035 7 000 20 0 00 000004 CONO 4 ;TO SET OR BE READ
43474 060036 7 000 24 0 00 000000 CONI ;CHECK APR PIA 33 CLOCK
43475 060037 606 00 0 00 000004 TRNN 4 ;
43476 STOP^
43477 060040 254 04 0 00 060041 HALT .+1 ;INSTRUCTION FAILED REPLACE
43478 060041 254 00 0 00 060042 JRST .+1 ;WITH JRST BACK^
43479
43480 060042 700 04 0 00 267760 IOT16A: CLRAPR
43481 060043 7 000 20 0 00 010020 CONO APR,LSCASD ;TO SET OR BE READ
43482 060044 7 000 24 0 00 000000 CONI ;CHECK APR PIA 32 ERROR
43483 060045 606 00 0 00 000020 TRNN LCASWD
43484 STOP^
43485 060046 254 04 0 00 060047 HALT .+1 ;INSTRUCTION FAILED REPLACE
43486 060047 254 00 0 00 060050 JRST .+1 ;WITH JRST BACK^
43487
43488 060050 700 04 0 00 267760 IOT17: CLRAPR ;APR ERROR PIA FAILED EITHER
43489 060051 7 000 20 0 00 010040 CONO APR,LSPWRF ;TO SET OR BE READ
43490 060052 7 000 24 0 00 000000 CONI ;CHECK APR PIA 31 ERROR
43491 060053 606 00 0 00 000040 TRNN LPWRFL
43492 STOP^
43493 060054 254 04 0 00 060055 HALT .+1 ;INSTRUCTION FAILED REPLACE
43494 060055 254 00 0 00 060056 JRST .+1 ;WITH JRST BACK^
43495
43496 060056 700 04 0 00 267760 IOT17A: CLRAPR ;APR ERROR PIA FAILED EITHER
43497 060057 7 000 20 0 00 011000 CONO APR,LSIOPF ;TO SET OR BE READ
43498 060060 7 000 24 0 00 000000 CONI ;CHECK APR PIA 30 ERROR
43499 060061 606 00 0 00 001000 TRNN LIOPFE
43500 STOP^
43501 060062 254 04 0 00 060063 HALT .+1 ;INSTRUCTION FAILED REPLACE
43502 060063 254 00 0 00 060064 JRST .+1 ;WITH JRST BACK^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 17
DFKAA8 MAC 25-AUG-75 14:17 TEST APR FLAGS SEQ 1014
43503 060064 700 04 0 00 267760 IOT18: CLRAPR
43504 060065 7 000 20 0 00 010400 CONO APR,LSPAER
43505 060066 7 000 24 0 00 000000 CONI APR,
43506 060067 606 00 0 00 000400 TRNN LPARER
43507 STOP^
43508 060070 254 04 0 00 060071 HALT .+1 ;INSTRUCTION FAILED REPLACE
43509 060071 254 00 0 00 060072 JRST .+1 ;WITH JRST BACK^
43510 060072 700 04 0 00 267760 CLRAPR
43511 060073 7 000 20 0 00 012000 CONO APR,LSNXER
43512 060074 7 000 24 0 00 000000 CONI APR,
43513 060075 606 00 0 00 002000 TRNN LNXMER
43514 STOP^
43515 060076 254 04 0 00 060077 HALT .+1 ;INSTRUCTION FAILED REPLACE
43516 060077 254 00 0 00 060100 JRST .+1 ;WITH JRST BACK^
43517 060100 700 04 0 00 267760 CLRAPR
43518 060101 7 000 20 0 00 014000 CONO APR,LSSBER
43519 060102 7 000 24 0 00 000000 CONI APR,
43520 060103 606 00 0 00 004000 TRNN LSBUSE
43521 STOP^
43522 060104 254 04 0 00 060105 HALT .+1 ;INSTRUCTION FAILED REPLACE
43523 060105 254 00 0 00 060106 JRST .+1 ;WITH JRST BACK^
43524 060106 700 04 0 00 267760 CLRAPR
43525
43526 060107 7 000 20 0 00 000001 IOT18A: CONO 1
43527 060110 7 000 20 0 00 000000 CONO
43528 060111 7 000 24 0 00 000000 CONI
43529 060112 602 00 0 00 000001 TRNE 1
43530 STOP^
43531 060113 254 04 0 00 060114 HALT .+1 ;INSTRUCTION FAILED REPLACE
43532 060114 254 00 0 00 060115 JRST .+1 ;WITH JRST BACK^
43533 060115 7 000 20 0 00 000002 IOT19: CONO 2 ;APR PIA 34 CLOCK
43534 060116 7 000 20 0 00 000000 CONO ;FAILED TO CLEAR
43535 060117 7 000 24 0 00 000000 CONI
43536 060120 602 00 0 00 000002 TRNE 2
43537 STOP^
43538 060121 254 04 0 00 060122 HALT .+1 ;INSTRUCTION FAILED REPLACE
43539 060122 254 00 0 00 060123 JRST .+1 ;WITH JRST BACK^
43540
43541 060123 7 000 20 0 00 000004 IOT20: CONO 4 ;APR PIA 33 CLOCK
43542 060124 7 000 20 0 00 000000 CONO ;FAILED TO CLEAR
43543 060125 7 000 24 0 00 000000 CONI
43544 060126 602 00 0 00 000004 TRNE 4
43545 STOP^
43546 060127 254 04 0 00 060130 HALT .+1 ;INSTRUCTION FAILED REPLACE
43547 060130 254 00 0 00 060131 JRST .+1 ;WITH JRST BACK^
43548
43549 060131 7 000 20 0 00 010020 IOT21: CONO APR,LSCASD ;APR PIA 32 ERROR
43550 060132 7 000 20 0 00 020020 CONO APR,LCCASD ;FAILED TO CLEAR
43551 060133 7 000 24 0 00 000000 CONI
43552 060134 602 00 0 00 000020 TRNE LCASWD
43553 STOP^
43554 060135 254 04 0 00 060136 HALT .+1 ;INSTRUCTION FAILED REPLACE
43555 060136 254 00 0 00 060137 JRST .+1 ;WITH JRST BACK^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 18
DFKAA8 MAC 25-AUG-75 14:17 TEST APR FLAGS SEQ 1015
43556 060137 7 000 20 0 00 010040 IOT22: CONO APR,LSPWRF ;APR PIA 31 ERROR
43557 060140 7 000 20 0 00 020040 CONO APR,LCPWRF ;FAILED TO CLEAR
43558 060141 7 000 24 0 00 000000 CONI
43559 060142 602 00 0 00 000040 TRNE LPWRFL
43560 STOP^
43561 060143 254 04 0 00 060144 HALT .+1 ;INSTRUCTION FAILED REPLACE
43562 060144 254 00 0 00 060145 JRST .+1 ;WITH JRST BACK^
43563
43564 060145 7 000 20 0 00 011000 IOT23: CONO APR,LSIOPF ;APR PIA 30 ERROR
43565 060146 7 000 20 0 00 021000 CONO APR,LCIOPF ;FAILED TO CLEAR
43566 060147 7 000 24 0 00 000000 CONI
43567 060150 602 00 0 00 001000 TRNE LIOPFE
43568 STOP^
43569 060151 254 04 0 00 060152 HALT .+1 ;INSTRUCTION FAILED REPLACE
43570 060152 254 00 0 00 060153 JRST .+1 ;WITH JRST BACK^
43571 060153 7 000 20 0 00 010400 CONO APR,LSPAER
43572 060154 7 000 20 0 00 020400 CONO APR,LCPAER
43573 060155 7 000 24 0 00 000000 CONI
43574 060156 602 00 0 00 000400 TRNE LPARER
43575 060157 7 000 20 0 00 012000 CONO APR,LSNXER
43576 060160 7 000 20 0 00 022000 CONO APR,LCNXER
43577 060161 7 000 24 0 00 000000 CONI
43578 060162 602 00 0 00 002000 TRNE LNXMER
43579 060163 7 000 20 0 00 014000 CONO APR,LSSBER
43580 060164 7 000 20 0 00 024000 CONO APR,LCSBER
43581 060165 7 000 24 0 00 000000 CONI
43582 060166 602 00 0 00 004000 TRNE LSBUSE
43583 STOP^
43584 060167 254 04 0 00 060170 HALT .+1 ;INSTRUCTION FAILED REPLACE
43585 060170 254 00 0 00 060171 JRST .+1 ;WITH JRST BACK^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 19
DFKAA8 MAC 25-AUG-75 14:17 TEST APR FLAGS SEQ 1016
43586 TBOTH^
43587 TGET^
43588 060171 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
43589 060172 302 00 0 00 060002 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
43590 STOP2^^
43591 060173 254 04 0 00 060174 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
43592 060174 254 00 0 00 060175 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
43593
43594 TSET^^
43595 060175 %X=. ;DEFINE %X TO SAVE
43596 060175 201 00 0 00 060175 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
43597 060176 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
43598 060177 7 000 20 0 00 000007 IOT24: CONO 7 ;SET SOME FLAGS
43599 060200 7 000 34 0 00 000000 CONSO ;CONSO FAILED CK PC CLOCK ENABLE
43600 060201 334 00 0 00 000000 SKIPA ;INH
43601 STOP^
43602 060202 254 04 0 00 060203 HALT .+1 ;INSTRUCTION FAILED REPLACE
43603 060203 254 00 0 00 060204 JRST .+1 ;WITH JRST BACK^
43604
43605 TBOTH^
43606 TGET^
43607 060204 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
43608 060205 302 00 0 00 060175 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
43609 STOP2^^
43610 060206 254 04 0 00 060207 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
43611 060207 254 00 0 00 060210 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
43612
43613 TSET^^
43614 060210 %X=. ;DEFINE %X TO SAVE
43615 060210 201 00 0 00 060210 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
43616 060211 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
43617 060212 7 000 20 0 00 000007 IOT25: CONO 7 ;SET SOME FLAGS
43618 060213 7 000 34 0 00 000007 CONSO 7 ;CONSO FAILED CH PC CLOCK ENABLE
43619 STOP^
43620 060214 254 04 0 00 060215 HALT .+1 ;INSTRUCTION FAILED REPLACE
43621 060215 254 00 0 00 060216 JRST .+1 ;WITH JRST BACK^
43622
43623 TBOTH^
43624 TGET^
43625 060216 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
43626 060217 302 00 0 00 060210 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
43627 STOP2^^
43628 060220 254 04 0 00 060221 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
43629 060221 254 00 0 00 060222 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
43630
43631 TSET^^
43632 060222 %X=. ;DEFINE %X TO SAVE
43633 060222 201 00 0 00 060222 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
43634 060223 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
43635 060224 7 000 20 0 00 000007 IOT26: CONO 7 ;CONSZ FAILED
43636 060225 7 000 30 0 00 000007 CONSZ 7 ;CK PC CLOCK ENABLE IF AD=0
43637 060226 334 00 0 00 000000 SKIPA ;AND IOT TIME
43638 STOP^
43639 060227 254 04 0 00 060230 HALT .+1 ;INSTRUCTION FAILED REPLACE
43640 060230 254 00 0 00 060231 JRST .+1 ;WITH JRST BACK^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 20
DFKAA8 MAC 25-AUG-75 14:17 TEST APR FLAGS SEQ 1017
43641 TBOTH^
43642 TGET^
43643 060231 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
43644 060232 302 00 0 00 060222 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
43645 STOP2^^
43646 060233 254 04 0 00 060234 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
43647 060234 254 00 0 00 060235 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
43648
43649 TSET^^
43650 060235 %X=. ;DEFINE %X TO SAVE
43651 060235 201 00 0 00 060235 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
43652 060236 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
43653 060237 254 00 0 00 060267 JRST IOT31A
43654 060240 7 000 20 0 00 004000 IOT27: CONO CLKDIS ;DISABLE CLOCK THEN ENABLE
43655 060241 7 000 20 0 00 002000 CONO CLKENB ;FAILS IF CLOCK ENABLE NOT SET.
43656 060242 7 000 34 0 00 002000 CONSO 2000 ;SET
43657 STOP^
43658 060243 254 04 0 00 060244 HALT .+1 ;INSTRUCTION FAILED REPLACE
43659 060244 254 00 0 00 060245 JRST .+1 ;WITH JRST BACK^
43660 060245 254 00 0 00 060246 JRST .+1
43661
43662 060246 7 000 20 0 00 002000 IOT28: CONO 2000 ;CK CLK EN FOR NOT
43663 060247 7 000 20 0 00 004000 CONO 4000 ;CLEARING
43664 060250 7 000 30 0 00 002000 CONSZ 2000
43665 STOP^
43666 060251 254 04 0 00 060252 HALT .+1 ;INSTRUCTION FAILED REPLACE
43667 060252 254 00 0 00 060253 JRST .+1 ;WITH JRST BACK^
43668
43669 ;THE NEXT TWO TESTS ARE NOT DONE IF WE ARE DOING
43670 ;MARGINS, BECAUSE THE DATAO IN THE NEXT TEST WILL CLEAR
43671 ;THE MARGIN WORD, AND THE TEST FOLLOWING MAY NOT BE ASSURED
43672 ;THAT THE CONSOLE SWITCHES 30-35 WILL BE = 0
43673
43674 060253 332 00 0 00 030055 IOT29: SKIPE MARGIN ;ARE DOING MARGINS?
43675 060254 254 00 0 00 060267 JRST IOT31A ;YEP SKIP THIS
43676 060255 7 000 20 0 00 000077 CONO APR,77 ;SET SOME BITS
43677 060256 7 000 14 0 00 000000 DATAO APR,0 ;TRY TO CLEAR VIA DATAO
43678 060257 7 000 34 0 00 000077 CONSO APR,77 ;BITS SHOULD STILL BE SET
43679 STOP^
43680 060260 254 04 0 00 060261 HALT .+1 ;INSTRUCTION FAILED REPLACE
43681 060261 254 00 0 00 060262 JRST .+1 ;WITH JRST BACK^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 21
DFKAA8 MAC 25-AUG-75 14:17 TEST APR FLAGS SEQ 1018
43682 060262 7 000 20 0 00 000077 IOT30: CONO APR,77 ;SET SOME CPA BITS
43683 060263 7 000 04 0 00 000000 DATAI APR,0 ;GET DATA SWITCHES
43684 060264 602 00 0 00 000077 TRNE 0,77 ;DATAI DECODED AS CONI
43685 STOP^
43686 060265 254 04 0 00 060266 HALT .+1 ;INSTRUCTION FAILED REPLACE
43687 060266 254 00 0 00 060267 JRST .+1 ;WITH JRST BACK^
43688
43689 060267 IOT31A: TBOTH^
43690 TGET^
43691 060267 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
43692 060270 302 00 0 00 060235 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
43693 STOP2^^
43694 060271 254 04 0 00 060272 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
43695 060272 254 00 0 00 060273 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
43696
43697 TSET^^
43698 060273 %X=. ;DEFINE %X TO SAVE
43699 060273 201 00 0 00 060273 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
43700 060274 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
43701 060275 254 02 1 00 060276 IOT31: JRSTF @.+1 ;SET BIS FLAG VIA JRSTF
43702 060276 000000 060277 BIS,.+1 ;BYTF6 AND NEW PC
43703 060277 7 774 14 0 00 000000 DATAO LAST, ;TRY TO CLEAR BIS FLAG VIA DATAO
43704 060300 265 00 0 00 060301 JSP .+1 ;GET CPU FLAGS(BIS) SHOULD BE CLEAR
43705 060301 603 00 0 00 020000 TLNE BIS ;AT ET2 OF THE IOT
43706 STOP^
43707 060302 254 04 0 00 060303 HALT .+1 ;INSTRUCTION FAILED REPLACE
43708 060303 254 00 0 00 060304 JRST .+1 ;WITH JRST BACK^
43709 TGET^
43710 060304 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
43711 060305 302 00 0 00 060273 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
43712 STOP2^^
43713 060306 254 04 0 00 060307 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
43714 060307 254 00 0 00 060310 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
43715 060310 255 00 0 00 000000 IOT32: JFCL
43716 060311 254 00 0 00 060312 JRST IOT33B
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 22
DFKAA8 MAC 25-AUG-75 14:17 TEST PI FLAGS SEQ 1019
43717 SUBTTL TEST PI FLAGS
43718
43719 060312 7 000 20 0 00 000007 IOT33B: CONO 7 ;CONO PI MODIFIED
43720 060313 7 004 20 0 00 000000 CONO PI,0 ;CPU AS A DEVICE
43721 060314 7 000 34 0 00 000007 CONSO 7 ;CPA SELECT IS CONFUSED
43722 STOP^
43723 060315 254 04 0 00 060316 HALT .+1 ;INSTRUCTION FAILED REPLACE
43724 060316 254 00 0 00 060317 JRST .+1 ;WITH JRST BACK^
43725 060317 7 000 20 0 00 000000 CONO 0 ;RESET BITS
43726
43727 060320 7 004 20 0 00 000200 IOT34: CONO PI,200 ;CHK WHY PI ON
43728 060321 7 004 24 0 00 000000 CONI PI, ;FLOP NOT SET
43729 060322 606 00 0 00 000200 TRNN 200
43730 STOP^
43731 060323 254 04 0 00 060324 HALT .+1 ;INSTRUCTION FAILED REPLACE
43732 060324 254 00 0 00 060325 JRST .+1 ;WITH JRST BACK^
43733
43734 060325 7 004 20 0 00 000200 IOT35: CONO PI,200 ;CHK WHY PI ON
43735 060326 7 004 20 0 00 000400 CONO PI,400 ;NOT CLEARED
43736 060327 7 004 24 0 00 000000 CONI PI, ;
43737 060330 602 00 0 00 000200 TRNE 200
43738 STOP^
43739 060331 254 04 0 00 060332 HALT .+1 ;INSTRUCTION FAILED REPLACE
43740 060332 254 00 0 00 060333 JRST .+1 ;WITH JRST BACK^
43741
43742 060333 IOT36:
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 23
DFKAA8 MAC 25-AUG-75 14:17 BASIC PI SYSTEM TESTING SEQ 1020
43743 SUBTTL BASIC PI SYSTEM TESTING
43744
43745 ;BEGIN TESTING THE PI SYSTEM
43746 BLURB^
43747 ;LOCATIONS 40-60 CONTAIN A JSP TO A ROUTINE WHICH STORES
43748 ;THE CHANNEL NUMBER OF THE INTERRUPT INTO 0
43749 ;THEREFORE IF AN INTERRUPT OCCURS THEN LOCATION
43750 ;ZERO WILL CONTAIN THE NUMBER OF THE INTERRUPT CHANNEL TRAP ADRESS
43751 ^
43752 ;AND THE PROGRAM WILL HALT POINTING TO THE INTERUPTED ADRESS.
43753 060333 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
43754
43755
43756 060334 7 004 20 0 00 002001 IOT38: CONO PI,2001 ;PI CHANNEL 7
43757 060335 7 004 24 0 00 000000 CONI PI, ;FAILED TO SET
43758 060336 606 00 0 00 000001 TRNN 1 ;
43759 STOP^
43760 060337 254 04 0 00 060340 HALT .+1 ;INSTRUCTION FAILED REPLACE
43761 060340 254 00 0 00 060341 JRST .+1 ;WITH JRST BACK^
43762
43763 060341 7 004 20 0 00 002001 IOT39: CONO PI,2001 ;PI CHANNEL 7
43764 060342 7 004 20 0 00 001001 CONO PI,1001 ;FAILED TO CLEAR
43765 060343 7 000 24 0 00 000000 CONI
43766 060344 602 00 0 00 000001 TRNE 1
43767 STOP^
43768 060345 254 04 0 00 060346 HALT .+1 ;INSTRUCTION FAILED REPLACE
43769 060346 254 00 0 00 060347 JRST .+1 ;WITH JRST BACK^
43770
43771 060347 7 004 20 0 00 002002 IOT40: CONO PI,2002 ;PI CHANNEL 6
43772 060350 7 004 24 0 00 000000 CONI PI, ;FAILED TO SET
43773 060351 606 00 0 00 000002 TRNN 2
43774 STOP^
43775 060352 254 04 0 00 060353 HALT .+1 ;INSTRUCTION FAILED REPLACE
43776 060353 254 00 0 00 060354 JRST .+1 ;WITH JRST BACK^
43777
43778 060354 7 004 20 0 00 002002 IOT41: CONO PI,2002 ;PI CHANNEL 6
43779 060355 7 004 20 0 00 001002 CONO PI,1002 ;FAILED TO CLEAR
43780 060356 7 004 24 0 00 000000 CONI PI,
43781 060357 602 00 0 00 000002 TRNE 2
43782 STOP^
43783 060360 254 04 0 00 060361 HALT .+1 ;INSTRUCTION FAILED REPLACE
43784 060361 254 00 0 00 060362 JRST .+1 ;WITH JRST BACK^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 24
DFKAA8 MAC 25-AUG-75 14:17 BASIC PI SYSTEM TESTING SEQ 1021
43785 060362 7 004 20 0 00 002004 IOT42: CONO PI,2004 ;PI CHANNEL 5
43786 060363 7 004 24 0 00 000000 CONI PI, ;FAILED TO SET
43787 060364 606 00 0 00 000004 TRNN 4
43788 STOP^
43789 060365 254 04 0 00 060366 HALT .+1 ;INSTRUCTION FAILED REPLACE
43790 060366 254 00 0 00 060367 JRST .+1 ;WITH JRST BACK^
43791
43792 060367 7 004 20 0 00 002004 IOT43: CONO PI,2004 ;PI CHANNEL 5
43793 060370 7 004 20 0 00 001004 CONO PI,1004 ;FAILED TO CLEAR
43794 060371 7 004 24 0 00 000000 CONI PI,
43795 060372 602 00 0 00 000004 TRNE 4
43796 STOP^
43797 060373 254 04 0 00 060374 HALT .+1 ;INSTRUCTION FAILED REPLACE
43798 060374 254 00 0 00 060375 JRST .+1 ;WITH JRST BACK^
43799
43800 060375 7 004 20 0 00 002010 IOT44: CONO PI,2010 ;PI CHANNEL 4
43801 060376 7 004 24 0 00 000000 CONI PI, ;FAILED TO SET
43802 060377 606 00 0 00 000010 TRNN 10
43803 STOP^
43804 060400 254 04 0 00 060401 HALT .+1 ;INSTRUCTION FAILED REPLACE
43805 060401 254 00 0 00 060402 JRST .+1 ;WITH JRST BACK^
43806
43807 060402 7 004 20 0 00 002010 IOT45: CONO PI,2010 ;PI CHAN 4
43808 060403 7 004 20 0 00 001010 CONO PI,1010 ;FAILED TO CLEAR
43809 060404 7 004 24 0 00 000000 CONI PI,
43810 060405 602 00 0 00 000010 TRNE 10
43811 STOP^
43812 060406 254 04 0 00 060407 HALT .+1 ;INSTRUCTION FAILED REPLACE
43813 060407 254 00 0 00 060410 JRST .+1 ;WITH JRST BACK^
43814
43815 060410 7 004 20 0 00 002020 IOT46: CONO PI,2020 ;PI CHAN 3
43816 060411 7 004 24 0 00 000000 CONI PI, ;FAILED TO SET
43817 060412 606 00 0 00 000020 TRNN 20
43818 STOP^
43819 060413 254 04 0 00 060414 HALT .+1 ;INSTRUCTION FAILED REPLACE
43820 060414 254 00 0 00 060415 JRST .+1 ;WITH JRST BACK^
43821
43822 060415 7 004 20 0 00 002020 IOT47: CONO PI,2020 ;PI CHAN 3
43823 060416 7 004 20 0 00 001020 CONO PI,1020 ;FAILED TO CLEAR
43824 060417 7 004 24 0 00 000000 CONI PI,
43825 060420 602 00 0 00 000010 TRNE 10
43826 STOP^
43827 060421 254 04 0 00 060422 HALT .+1 ;INSTRUCTION FAILED REPLACE
43828 060422 254 00 0 00 060423 JRST .+1 ;WITH JRST BACK^
43829
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 25
DFKAA8 MAC 25-AUG-75 14:17 BASIC PI SYSTEM TESTING SEQ 1022
43830 060423 7 004 20 0 00 002040 IOT48: CONO PI,2040 ;PI CHAN 2
43831 060424 7 004 24 0 00 000000 CONI PI, ;FAILED TO SET
43832 060425 606 00 0 00 000040 TRNN 40
43833 STOP^
43834 060426 254 04 0 00 060427 HALT .+1 ;INSTRUCTION FAILED REPLACE
43835 060427 254 00 0 00 060430 JRST .+1 ;WITH JRST BACK^
43836
43837 060430 7 004 20 0 00 002040 IOT49: CONO PI,2040 ;PI CHAN 2
43838 060431 7 004 20 0 00 001040 CONO PI,1040 ;FAILED TO CLR
43839 060432 7 004 24 0 00 000000 CONI PI,
43840 060433 602 00 0 00 000040 TRNE 40
43841 STOP^
43842 060434 254 04 0 00 060435 HALT .+1 ;INSTRUCTION FAILED REPLACE
43843 060435 254 00 0 00 060436 JRST .+1 ;WITH JRST BACK^
43844
43845 060436 7 004 20 0 00 002100 IOT50: CONO PI,2100 ;PI CHAN 1
43846 060437 7 004 24 0 00 000000 CONI PI, ;FAILED TO SET
43847 060440 606 00 0 00 000100 TRNN 100
43848 STOP^
43849 060441 254 04 0 00 060442 HALT .+1 ;INSTRUCTION FAILED REPLACE
43850 060442 254 00 0 00 060443 JRST .+1 ;WITH JRST BACK^
43851
43852 060443 7 004 20 0 00 002100 IOT51: CONO PI,2100 ;PI CHAN 1
43853 060444 7 004 20 0 00 001100 CONO PI,1100 ;FAILED TO CLEAR
43854 060445 7 004 24 0 00 000000 CONI PI,
43855 060446 602 00 0 00 000100 TRNE 100
43856 STOP^
43857 060447 254 04 0 00 060450 HALT .+1 ;INSTRUCTION FAILED REPLACE
43858 060450 254 00 0 00 060451 JRST .+1 ;WITH JRST BACK^
43859
43860 060451 255 00 0 00 000000 IOTXYZ: JFCL
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 26
DFKAA8 MAC 25-AUG-75 14:17 BASIC PI SYSTEM TESTING SEQ 1023
43861 040000 X=40000
43862 BLURB^
43863 ;LOCATIONS 40-60 CONTAIN A JSP TO A ROUTINE WHICH STORES
43864 ;THE CHANNEL NUMBER OF THE INTERRUPT INTO 0
43865 ;THEREFORE IF AN INTERRUPT OCCURS THEN LOCATION
43866 ;ZERO WILL CONTAIN THE NUMBER OF THE INTERRUPT CHANNEL TRAP ADRESS
43867 ^
43868 060452 264 00 0 00 070120 TRPPI ;FILL INTERRUPT LOCATIONS WITH TRAPS
43869 PIOT00: REPEAT 7,
43870 < PINO X
43871 X=X_-1>
43872 PINO X^
43873
43874 ;ENABLE THE PI SYSTEM. AND EXPECT NO INTERRUPTS. THEN TEST THAT THE
43875 ;HOLD FLOP FOR EACH CHANNEL IS NOT SET.
43876
43877 TSET^
43878 060453 %X=. ;DEFINE %X TO SAVE
43879 060453 201 00 0 00 060453 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
43880 060454 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
43881 060455 ..0001: CLRBTH^
43882 060455 700 04 0 00 267760 CLRAPR
43883 060456 700 14 0 00 031577 CLRPI^
43884 060457 7 004 20 0 00 000200 CONO PI,PION ;ENABLE PI AND ,EXPECT NO INTERRUPTS
43885 WATINT^
43886 060460 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
43887 060461 367 13 0 00 060461 SOJG 13,. ;AND WAIT^
43888 060462 7 004 30 0 00 040000 CONSZ PI,X ;CHECK WHY INT. IN PROGRESS IS SET.
43889 STOP^
43890 060463 254 04 0 00 060464 HALT .+1 ;INSTRUCTION FAILED REPLACE
43891 060464 254 00 0 00 060465 JRST .+1 ;WITH JRST BACK^
43892 TGET^
43893 060465 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
43894 060466 302 00 0 00 060453 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
43895 STOP2^^
43896 060467 254 04 0 00 060470 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
43897 060470 254 00 0 00 060471 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
43898 ^
43899 020000 X=X_-1
43900 PINO X^
43901
43902 ;ENABLE THE PI SYSTEM. AND EXPECT NO INTERRUPTS. THEN TEST THAT THE
43903 ;HOLD FLOP FOR EACH CHANNEL IS NOT SET.
43904
43905 TSET^
43906 060471 %X=. ;DEFINE %X TO SAVE
43907 060471 201 00 0 00 060471 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
43908 060472 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
43909 060473 ..0002: CLRBTH^
43910 060473 700 04 0 00 267760 CLRAPR
43911 060474 700 14 0 00 031577 CLRPI^
43912 060475 7 004 20 0 00 000200 CONO PI,PION ;ENABLE PI AND ,EXPECT NO INTERRUPTS
43913 WATINT^
43914 060476 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
43915 060477 367 13 0 00 060477 SOJG 13,. ;AND WAIT^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 26-1
DFKAA8 MAC 25-AUG-75 14:17 BASIC PI SYSTEM TESTING SEQ 1024
43916 060500 7 004 30 0 00 020000 CONSZ PI,X ;CHECK WHY INT. IN PROGRESS IS SET.
43917 STOP^
43918 060501 254 04 0 00 060502 HALT .+1 ;INSTRUCTION FAILED REPLACE
43919 060502 254 00 0 00 060503 JRST .+1 ;WITH JRST BACK^
43920 TGET^
43921 060503 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
43922 060504 302 00 0 00 060471 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
43923 STOP2^^
43924 060505 254 04 0 00 060506 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
43925 060506 254 00 0 00 060507 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
43926 ^
43927 010000 X=X_-1
43928 PINO X^
43929
43930 ;ENABLE THE PI SYSTEM. AND EXPECT NO INTERRUPTS. THEN TEST THAT THE
43931 ;HOLD FLOP FOR EACH CHANNEL IS NOT SET.
43932
43933 TSET^
43934 060507 %X=. ;DEFINE %X TO SAVE
43935 060507 201 00 0 00 060507 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
43936 060510 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
43937 060511 ..0003: CLRBTH^
43938 060511 700 04 0 00 267760 CLRAPR
43939 060512 700 14 0 00 031577 CLRPI^
43940 060513 7 004 20 0 00 000200 CONO PI,PION ;ENABLE PI AND ,EXPECT NO INTERRUPTS
43941 WATINT^
43942 060514 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
43943 060515 367 13 0 00 060515 SOJG 13,. ;AND WAIT^
43944 060516 7 004 30 0 00 010000 CONSZ PI,X ;CHECK WHY INT. IN PROGRESS IS SET.
43945 STOP^
43946 060517 254 04 0 00 060520 HALT .+1 ;INSTRUCTION FAILED REPLACE
43947 060520 254 00 0 00 060521 JRST .+1 ;WITH JRST BACK^
43948 TGET^
43949 060521 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
43950 060522 302 00 0 00 060507 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
43951 STOP2^^
43952 060523 254 04 0 00 060524 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
43953 060524 254 00 0 00 060525 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
43954 ^
43955 004000 X=X_-1
43956 PINO X^
43957
43958 ;ENABLE THE PI SYSTEM. AND EXPECT NO INTERRUPTS. THEN TEST THAT THE
43959 ;HOLD FLOP FOR EACH CHANNEL IS NOT SET.
43960
43961 TSET^
43962 060525 %X=. ;DEFINE %X TO SAVE
43963 060525 201 00 0 00 060525 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
43964 060526 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
43965 060527 ..0004: CLRBTH^
43966 060527 700 04 0 00 267760 CLRAPR
43967 060530 700 14 0 00 031577 CLRPI^
43968 060531 7 004 20 0 00 000200 CONO PI,PION ;ENABLE PI AND ,EXPECT NO INTERRUPTS
43969 WATINT^
43970 060532 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 26-2
DFKAA8 MAC 25-AUG-75 14:17 BASIC PI SYSTEM TESTING SEQ 1025
43971 060533 367 13 0 00 060533 SOJG 13,. ;AND WAIT^
43972 060534 7 004 30 0 00 004000 CONSZ PI,X ;CHECK WHY INT. IN PROGRESS IS SET.
43973 STOP^
43974 060535 254 04 0 00 060536 HALT .+1 ;INSTRUCTION FAILED REPLACE
43975 060536 254 00 0 00 060537 JRST .+1 ;WITH JRST BACK^
43976 TGET^
43977 060537 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
43978 060540 302 00 0 00 060525 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
43979 STOP2^^
43980 060541 254 04 0 00 060542 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
43981 060542 254 00 0 00 060543 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
43982 ^
43983 002000 X=X_-1
43984 PINO X^
43985
43986 ;ENABLE THE PI SYSTEM. AND EXPECT NO INTERRUPTS. THEN TEST THAT THE
43987 ;HOLD FLOP FOR EACH CHANNEL IS NOT SET.
43988
43989 TSET^
43990 060543 %X=. ;DEFINE %X TO SAVE
43991 060543 201 00 0 00 060543 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
43992 060544 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
43993 060545 ..0005: CLRBTH^
43994 060545 700 04 0 00 267760 CLRAPR
43995 060546 700 14 0 00 031577 CLRPI^
43996 060547 7 004 20 0 00 000200 CONO PI,PION ;ENABLE PI AND ,EXPECT NO INTERRUPTS
43997 WATINT^
43998 060550 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
43999 060551 367 13 0 00 060551 SOJG 13,. ;AND WAIT^
44000 060552 7 004 30 0 00 002000 CONSZ PI,X ;CHECK WHY INT. IN PROGRESS IS SET.
44001 STOP^
44002 060553 254 04 0 00 060554 HALT .+1 ;INSTRUCTION FAILED REPLACE
44003 060554 254 00 0 00 060555 JRST .+1 ;WITH JRST BACK^
44004 TGET^
44005 060555 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
44006 060556 302 00 0 00 060543 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
44007 STOP2^^
44008 060557 254 04 0 00 060560 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
44009 060560 254 00 0 00 060561 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
44010 ^
44011 001000 X=X_-1
44012 PINO X^
44013
44014 ;ENABLE THE PI SYSTEM. AND EXPECT NO INTERRUPTS. THEN TEST THAT THE
44015 ;HOLD FLOP FOR EACH CHANNEL IS NOT SET.
44016
44017 TSET^
44018 060561 %X=. ;DEFINE %X TO SAVE
44019 060561 201 00 0 00 060561 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
44020 060562 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
44021 060563 ..0006: CLRBTH^
44022 060563 700 04 0 00 267760 CLRAPR
44023 060564 700 14 0 00 031577 CLRPI^
44024 060565 7 004 20 0 00 000200 CONO PI,PION ;ENABLE PI AND ,EXPECT NO INTERRUPTS
44025 WATINT^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 26-3
DFKAA8 MAC 25-AUG-75 14:17 BASIC PI SYSTEM TESTING SEQ 1026
44026 060566 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
44027 060567 367 13 0 00 060567 SOJG 13,. ;AND WAIT^
44028 060570 7 004 30 0 00 001000 CONSZ PI,X ;CHECK WHY INT. IN PROGRESS IS SET.
44029 STOP^
44030 060571 254 04 0 00 060572 HALT .+1 ;INSTRUCTION FAILED REPLACE
44031 060572 254 00 0 00 060573 JRST .+1 ;WITH JRST BACK^
44032 TGET^
44033 060573 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
44034 060574 302 00 0 00 060561 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
44035 STOP2^^
44036 060575 254 04 0 00 060576 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
44037 060576 254 00 0 00 060577 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
44038 ^
44039 000400 X=X_-1
44040 PINO X^
44041
44042 ;ENABLE THE PI SYSTEM. AND EXPECT NO INTERRUPTS. THEN TEST THAT THE
44043 ;HOLD FLOP FOR EACH CHANNEL IS NOT SET.
44044
44045 TSET^
44046 060577 %X=. ;DEFINE %X TO SAVE
44047 060577 201 00 0 00 060577 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
44048 060600 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
44049 060601 ..0007: CLRBTH^
44050 060601 700 04 0 00 267760 CLRAPR
44051 060602 700 14 0 00 031577 CLRPI^
44052 060603 7 004 20 0 00 000200 CONO PI,PION ;ENABLE PI AND ,EXPECT NO INTERRUPTS
44053 WATINT^
44054 060604 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
44055 060605 367 13 0 00 060605 SOJG 13,. ;AND WAIT^
44056 060606 7 004 30 0 00 000400 CONSZ PI,X ;CHECK WHY INT. IN PROGRESS IS SET.
44057 STOP^
44058 060607 254 04 0 00 060610 HALT .+1 ;INSTRUCTION FAILED REPLACE
44059 060610 254 00 0 00 060611 JRST .+1 ;WITH JRST BACK^
44060 TGET^
44061 060611 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
44062 060612 302 00 0 00 060577 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
44063 STOP2^^
44064 060613 254 04 0 00 060614 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
44065 060614 254 00 0 00 060615 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
44066 ^
44067 000200 X=X_-1
44068 060615 255 00 0 00 000000 JFCL
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27
DFKAA8 MAC 25-AUG-75 14:17 BASIC PI SYSTEM TESTING SEQ 1027
44069 BLURB^
44070 ;LOCATIONS 40-60 CONTAIN A JSP TO A ROUTINE WHICH STORES
44071 ;THE CHANNEL NUMBER OF THE INTERRUPT INTO 0
44072 ;THEREFORE IF AN INTERRUPT OCCURS THEN LOCATION
44073 ;ZERO WILL CONTAIN THE NUMBER OF THE INTERRUPT CHANNEL TRAP ADRESS
44074 ^
44075
44076 060616 264 00 0 00 070120 TRPPI ;FILL INTERRUPT LOCATIONS WITH TRAPS
44077 040000 X=40000
44078 000100 Y=100
44079 060617 PIOT01:
44080 REPEAT 7,<
44081 PIYES Y,X
44082 X=X_-1
44083 Y=Y_-1
44084 >
44085
44086 PIYES Y,X^
44087
44088 ;SET REQUESTS FOR EACH CHANNEL BUT DO NOT SET PI ACTIVE.
44089 ;INTERRUPTS SHOULD NOT OCCUR, AND THE INTERRUPT IN PROGRESS
44090 ;FLAG SHOULD NOT BE SET FOR THE CHANNEL BEING TESTED
44091
44092 TSET^
44093 060617 %X=. ;DEFINE %X TO SAVE
44094 060617 201 00 0 00 060617 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
44095 060620 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
44096 060621 ..0010: CLRBTH^
44097 060621 700 04 0 00 267760 CLRAPR
44098 060622 700 14 0 00 031577 CLRPI^
44099 060623 7 004 20 0 00 004100 CONO PI,REQSET+Y ;SET CHANNEL REQUEST BUT NOT ACTIVE
44100 WATINT^
44101 060624 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
44102 060625 367 13 0 00 060625 SOJG 13,. ;AND WAIT^
44103 060626 7 004 30 0 00 040000 CONSZ PI,X ;CHECK WHY INT. IN PROGRESS IS SET.
44104 STOP^
44105 060627 254 04 0 00 060630 HALT .+1 ;INSTRUCTION FAILED REPLACE
44106 060630 254 00 0 00 060631 JRST .+1 ;WITH JRST BACK^
44107 TGET^
44108 060631 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
44109 060632 302 00 0 00 060617 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
44110 STOP2^^
44111 060633 254 04 0 00 060634 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
44112 060634 254 00 0 00 060635 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
44113 ^
44114 020000 X=X_-1
44115 000040 Y=Y_-1
44116
44117
44118 PIYES Y,X^
44119
44120 ;SET REQUESTS FOR EACH CHANNEL BUT DO NOT SET PI ACTIVE.
44121 ;INTERRUPTS SHOULD NOT OCCUR, AND THE INTERRUPT IN PROGRESS
44122 ;FLAG SHOULD NOT BE SET FOR THE CHANNEL BEING TESTED
44123
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27-1
DFKAA8 MAC 25-AUG-75 14:17 BASIC PI SYSTEM TESTING SEQ 1028
44124 TSET^
44125 060635 %X=. ;DEFINE %X TO SAVE
44126 060635 201 00 0 00 060635 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
44127 060636 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
44128 060637 ..0011: CLRBTH^
44129 060637 700 04 0 00 267760 CLRAPR
44130 060640 700 14 0 00 031577 CLRPI^
44131 060641 7 004 20 0 00 004040 CONO PI,REQSET+Y ;SET CHANNEL REQUEST BUT NOT ACTIVE
44132 WATINT^
44133 060642 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
44134 060643 367 13 0 00 060643 SOJG 13,. ;AND WAIT^
44135 060644 7 004 30 0 00 020000 CONSZ PI,X ;CHECK WHY INT. IN PROGRESS IS SET.
44136 STOP^
44137 060645 254 04 0 00 060646 HALT .+1 ;INSTRUCTION FAILED REPLACE
44138 060646 254 00 0 00 060647 JRST .+1 ;WITH JRST BACK^
44139 TGET^
44140 060647 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
44141 060650 302 00 0 00 060635 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
44142 STOP2^^
44143 060651 254 04 0 00 060652 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
44144 060652 254 00 0 00 060653 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
44145 ^
44146 010000 X=X_-1
44147 000020 Y=Y_-1
44148
44149
44150 PIYES Y,X^
44151
44152 ;SET REQUESTS FOR EACH CHANNEL BUT DO NOT SET PI ACTIVE.
44153 ;INTERRUPTS SHOULD NOT OCCUR, AND THE INTERRUPT IN PROGRESS
44154 ;FLAG SHOULD NOT BE SET FOR THE CHANNEL BEING TESTED
44155
44156 TSET^
44157 060653 %X=. ;DEFINE %X TO SAVE
44158 060653 201 00 0 00 060653 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
44159 060654 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
44160 060655 ..0012: CLRBTH^
44161 060655 700 04 0 00 267760 CLRAPR
44162 060656 700 14 0 00 031577 CLRPI^
44163 060657 7 004 20 0 00 004020 CONO PI,REQSET+Y ;SET CHANNEL REQUEST BUT NOT ACTIVE
44164 WATINT^
44165 060660 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
44166 060661 367 13 0 00 060661 SOJG 13,. ;AND WAIT^
44167 060662 7 004 30 0 00 010000 CONSZ PI,X ;CHECK WHY INT. IN PROGRESS IS SET.
44168 STOP^
44169 060663 254 04 0 00 060664 HALT .+1 ;INSTRUCTION FAILED REPLACE
44170 060664 254 00 0 00 060665 JRST .+1 ;WITH JRST BACK^
44171 TGET^
44172 060665 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
44173 060666 302 00 0 00 060653 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
44174 STOP2^^
44175 060667 254 04 0 00 060670 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
44176 060670 254 00 0 00 060671 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
44177 ^
44178 004000 X=X_-1
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27-2
DFKAA8 MAC 25-AUG-75 14:17 BASIC PI SYSTEM TESTING SEQ 1029
44179 000010 Y=Y_-1
44180
44181
44182 PIYES Y,X^
44183
44184 ;SET REQUESTS FOR EACH CHANNEL BUT DO NOT SET PI ACTIVE.
44185 ;INTERRUPTS SHOULD NOT OCCUR, AND THE INTERRUPT IN PROGRESS
44186 ;FLAG SHOULD NOT BE SET FOR THE CHANNEL BEING TESTED
44187
44188 TSET^
44189 060671 %X=. ;DEFINE %X TO SAVE
44190 060671 201 00 0 00 060671 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
44191 060672 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
44192 060673 ..0013: CLRBTH^
44193 060673 700 04 0 00 267760 CLRAPR
44194 060674 700 14 0 00 031577 CLRPI^
44195 060675 7 004 20 0 00 004010 CONO PI,REQSET+Y ;SET CHANNEL REQUEST BUT NOT ACTIVE
44196 WATINT^
44197 060676 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
44198 060677 367 13 0 00 060677 SOJG 13,. ;AND WAIT^
44199 060700 7 004 30 0 00 004000 CONSZ PI,X ;CHECK WHY INT. IN PROGRESS IS SET.
44200 STOP^
44201 060701 254 04 0 00 060702 HALT .+1 ;INSTRUCTION FAILED REPLACE
44202 060702 254 00 0 00 060703 JRST .+1 ;WITH JRST BACK^
44203 TGET^
44204 060703 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
44205 060704 302 00 0 00 060671 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
44206 STOP2^^
44207 060705 254 04 0 00 060706 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
44208 060706 254 00 0 00 060707 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
44209 ^
44210 002000 X=X_-1
44211 000004 Y=Y_-1
44212
44213
44214 PIYES Y,X^
44215
44216 ;SET REQUESTS FOR EACH CHANNEL BUT DO NOT SET PI ACTIVE.
44217 ;INTERRUPTS SHOULD NOT OCCUR, AND THE INTERRUPT IN PROGRESS
44218 ;FLAG SHOULD NOT BE SET FOR THE CHANNEL BEING TESTED
44219
44220 TSET^
44221 060707 %X=. ;DEFINE %X TO SAVE
44222 060707 201 00 0 00 060707 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
44223 060710 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
44224 060711 ..0014: CLRBTH^
44225 060711 700 04 0 00 267760 CLRAPR
44226 060712 700 14 0 00 031577 CLRPI^
44227 060713 7 004 20 0 00 004004 CONO PI,REQSET+Y ;SET CHANNEL REQUEST BUT NOT ACTIVE
44228 WATINT^
44229 060714 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
44230 060715 367 13 0 00 060715 SOJG 13,. ;AND WAIT^
44231 060716 7 004 30 0 00 002000 CONSZ PI,X ;CHECK WHY INT. IN PROGRESS IS SET.
44232 STOP^
44233 060717 254 04 0 00 060720 HALT .+1 ;INSTRUCTION FAILED REPLACE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27-3
DFKAA8 MAC 25-AUG-75 14:17 BASIC PI SYSTEM TESTING SEQ 1030
44234 060720 254 00 0 00 060721 JRST .+1 ;WITH JRST BACK^
44235 TGET^
44236 060721 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
44237 060722 302 00 0 00 060707 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
44238 STOP2^^
44239 060723 254 04 0 00 060724 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
44240 060724 254 00 0 00 060725 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
44241 ^
44242 001000 X=X_-1
44243 000002 Y=Y_-1
44244
44245
44246 PIYES Y,X^
44247
44248 ;SET REQUESTS FOR EACH CHANNEL BUT DO NOT SET PI ACTIVE.
44249 ;INTERRUPTS SHOULD NOT OCCUR, AND THE INTERRUPT IN PROGRESS
44250 ;FLAG SHOULD NOT BE SET FOR THE CHANNEL BEING TESTED
44251
44252 TSET^
44253 060725 %X=. ;DEFINE %X TO SAVE
44254 060725 201 00 0 00 060725 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
44255 060726 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
44256 060727 ..0015: CLRBTH^
44257 060727 700 04 0 00 267760 CLRAPR
44258 060730 700 14 0 00 031577 CLRPI^
44259 060731 7 004 20 0 00 004002 CONO PI,REQSET+Y ;SET CHANNEL REQUEST BUT NOT ACTIVE
44260 WATINT^
44261 060732 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
44262 060733 367 13 0 00 060733 SOJG 13,. ;AND WAIT^
44263 060734 7 004 30 0 00 001000 CONSZ PI,X ;CHECK WHY INT. IN PROGRESS IS SET.
44264 STOP^
44265 060735 254 04 0 00 060736 HALT .+1 ;INSTRUCTION FAILED REPLACE
44266 060736 254 00 0 00 060737 JRST .+1 ;WITH JRST BACK^
44267 TGET^
44268 060737 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
44269 060740 302 00 0 00 060725 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
44270 STOP2^^
44271 060741 254 04 0 00 060742 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
44272 060742 254 00 0 00 060743 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
44273 ^
44274 000400 X=X_-1
44275 000001 Y=Y_-1
44276
44277
44278 PIYES Y,X^
44279
44280 ;SET REQUESTS FOR EACH CHANNEL BUT DO NOT SET PI ACTIVE.
44281 ;INTERRUPTS SHOULD NOT OCCUR, AND THE INTERRUPT IN PROGRESS
44282 ;FLAG SHOULD NOT BE SET FOR THE CHANNEL BEING TESTED
44283
44284 TSET^
44285 060743 %X=. ;DEFINE %X TO SAVE
44286 060743 201 00 0 00 060743 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
44287 060744 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
44288 060745 ..0016: CLRBTH^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 27-4
DFKAA8 MAC 25-AUG-75 14:17 BASIC PI SYSTEM TESTING SEQ 1031
44289 060745 700 04 0 00 267760 CLRAPR
44290 060746 700 14 0 00 031577 CLRPI^
44291 060747 7 004 20 0 00 004001 CONO PI,REQSET+Y ;SET CHANNEL REQUEST BUT NOT ACTIVE
44292 WATINT^
44293 060750 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
44294 060751 367 13 0 00 060751 SOJG 13,. ;AND WAIT^
44295 060752 7 004 30 0 00 000400 CONSZ PI,X ;CHECK WHY INT. IN PROGRESS IS SET.
44296 STOP^
44297 060753 254 04 0 00 060754 HALT .+1 ;INSTRUCTION FAILED REPLACE
44298 060754 254 00 0 00 060755 JRST .+1 ;WITH JRST BACK^
44299 TGET^
44300 060755 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
44301 060756 302 00 0 00 060743 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
44302 STOP2^^
44303 060757 254 04 0 00 060760 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
44304 060760 254 00 0 00 060761 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
44305 ^
44306 000200 X=X_-1
44307 000000 Y=Y_-1
44308
44309 060761 255 00 0 00 000000 JFCL
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 28
DFKAA8 MAC 25-AUG-75 14:17 BASIC PI SYSTEM TESTING SEQ 1032
44310 BLURB^
44311 ;LOCATIONS 40-60 CONTAIN A JSP TO A ROUTINE WHICH STORES
44312 ;THE CHANNEL NUMBER OF THE INTERRUPT INTO 0
44313 ;THEREFORE IF AN INTERRUPT OCCURS THEN LOCATION
44314 ;ZERO WILL CONTAIN THE NUMBER OF THE INTERRUPT CHANNEL TRAP ADRESS
44315 ^
44316
44317 060762 264 00 0 00 070120 TRPPI ;FILL INTERRUPT LOCATIONS WITH TRAPS
44318 000100 X=100
44319 060763 PIOT02:
44320 REPEAT 7,<
44321 PIONOF X
44322 X=X_-1
44323 >
44324
44325 PIONOF X^
44326
44327 ;CHECK THAT PICLR CLEARS THE REQUEST FLOP
44328 ;AND THAT AN INTERUPT DOES NOT OCCUR
44329
44330 BLURB1^
44331 ;LOCATIONS 40-60 CONTAIN A JSP TO A ROUTINE WHICH EXECUTES A HALT
44332 ;POINTING TO THE CHANNEL WHICH CAUSED THE REQUEST.
44333 ;OR THE CHANNEL WHICH CAUSED THE INCORRECT INTERRUPT. THE PARTICULAR
44334 ;INTERRUPT TRAP ADRESS FOR THE INTERRUPT LEVEL BEING TESTED MAY NOT
44335 ;ALWAYS HAVE A JSP TO A HALT IN CASE WE ARE TESTING FOR REAL
44336 ;INTERRUPTS ON THAT CHANNEL. IN THIS CASE ONLY THE TRAP FOR THAT
44337 ;PARTICULAR CHANNEL WILL BE LEGAL. ALL OTHERS WILL HALT.
44338 ^
44339
44340 TSET^
44341 060763 %X=. ;DEFINE %X TO SAVE
44342 060763 201 00 0 00 060763 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
44343 060764 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
44344 060765 ..0017: CLRBTH^
44345 060765 700 04 0 00 267760 CLRAPR
44346 060766 700 14 0 00 031577 CLRPI^
44347 060767 7 004 20 0 00 004100 CONO PI,REQSET+X ;SET REQ. BUT NOT ACTIVE
44348 060770 400 00 0 00 000000 SETZ ;THEN CLEAR REQUEST THEN SET ACTIVE
44349 060771 7 004 20 0 00 010100 CONO PI,PICLR+X ;PI RESET FAILED TO CLEAR PIR FLAG.
44350 WATINT^
44351 060772 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
44352 060773 367 13 0 00 060773 SOJG 13,. ;AND WAIT^
44353 060774 332 00 0 00 000000 SKIPE ;MOVEI EXEC OUT OF INTERRUPT CH.?
44354 STOP^
44355 060775 254 04 0 00 060776 HALT .+1 ;INSTRUCTION FAILED REPLACE
44356 060776 254 00 0 00 060777 JRST .+1 ;WITH JRST BACK^
44357 TGET^
44358 060777 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
44359 061000 302 00 0 00 060763 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
44360 STOP2^^
44361 061001 254 04 0 00 061002 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
44362 061002 254 00 0 00 061003 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
44363 ^
44364 000040 X=X_-1
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 28-1
DFKAA8 MAC 25-AUG-75 14:17 BASIC PI SYSTEM TESTING SEQ 1033
44365
44366
44367 PIONOF X^
44368
44369 ;CHECK THAT PICLR CLEARS THE REQUEST FLOP
44370 ;AND THAT AN INTERUPT DOES NOT OCCUR
44371
44372 BLURB1^
44373 ;LOCATIONS 40-60 CONTAIN A JSP TO A ROUTINE WHICH EXECUTES A HALT
44374 ;POINTING TO THE CHANNEL WHICH CAUSED THE REQUEST.
44375 ;OR THE CHANNEL WHICH CAUSED THE INCORRECT INTERRUPT. THE PARTICULAR
44376 ;INTERRUPT TRAP ADRESS FOR THE INTERRUPT LEVEL BEING TESTED MAY NOT
44377 ;ALWAYS HAVE A JSP TO A HALT IN CASE WE ARE TESTING FOR REAL
44378 ;INTERRUPTS ON THAT CHANNEL. IN THIS CASE ONLY THE TRAP FOR THAT
44379 ;PARTICULAR CHANNEL WILL BE LEGAL. ALL OTHERS WILL HALT.
44380 ^
44381
44382 TSET^
44383 061003 %X=. ;DEFINE %X TO SAVE
44384 061003 201 00 0 00 061003 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
44385 061004 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
44386 061005 ..0020: CLRBTH^
44387 061005 700 04 0 00 267760 CLRAPR
44388 061006 700 14 0 00 031577 CLRPI^
44389 061007 7 004 20 0 00 004040 CONO PI,REQSET+X ;SET REQ. BUT NOT ACTIVE
44390 061010 400 00 0 00 000000 SETZ ;THEN CLEAR REQUEST THEN SET ACTIVE
44391 061011 7 004 20 0 00 010040 CONO PI,PICLR+X ;PI RESET FAILED TO CLEAR PIR FLAG.
44392 WATINT^
44393 061012 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
44394 061013 367 13 0 00 061013 SOJG 13,. ;AND WAIT^
44395 061014 332 00 0 00 000000 SKIPE ;MOVEI EXEC OUT OF INTERRUPT CH.?
44396 STOP^
44397 061015 254 04 0 00 061016 HALT .+1 ;INSTRUCTION FAILED REPLACE
44398 061016 254 00 0 00 061017 JRST .+1 ;WITH JRST BACK^
44399 TGET^
44400 061017 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
44401 061020 302 00 0 00 061003 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
44402 STOP2^^
44403 061021 254 04 0 00 061022 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
44404 061022 254 00 0 00 061023 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
44405 ^
44406 000020 X=X_-1
44407
44408
44409 PIONOF X^
44410
44411 ;CHECK THAT PICLR CLEARS THE REQUEST FLOP
44412 ;AND THAT AN INTERUPT DOES NOT OCCUR
44413
44414 BLURB1^
44415 ;LOCATIONS 40-60 CONTAIN A JSP TO A ROUTINE WHICH EXECUTES A HALT
44416 ;POINTING TO THE CHANNEL WHICH CAUSED THE REQUEST.
44417 ;OR THE CHANNEL WHICH CAUSED THE INCORRECT INTERRUPT. THE PARTICULAR
44418 ;INTERRUPT TRAP ADRESS FOR THE INTERRUPT LEVEL BEING TESTED MAY NOT
44419 ;ALWAYS HAVE A JSP TO A HALT IN CASE WE ARE TESTING FOR REAL
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 28-2
DFKAA8 MAC 25-AUG-75 14:17 BASIC PI SYSTEM TESTING SEQ 1034
44420 ;INTERRUPTS ON THAT CHANNEL. IN THIS CASE ONLY THE TRAP FOR THAT
44421 ;PARTICULAR CHANNEL WILL BE LEGAL. ALL OTHERS WILL HALT.
44422 ^
44423
44424 TSET^
44425 061023 %X=. ;DEFINE %X TO SAVE
44426 061023 201 00 0 00 061023 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
44427 061024 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
44428 061025 ..0021: CLRBTH^
44429 061025 700 04 0 00 267760 CLRAPR
44430 061026 700 14 0 00 031577 CLRPI^
44431 061027 7 004 20 0 00 004020 CONO PI,REQSET+X ;SET REQ. BUT NOT ACTIVE
44432 061030 400 00 0 00 000000 SETZ ;THEN CLEAR REQUEST THEN SET ACTIVE
44433 061031 7 004 20 0 00 010020 CONO PI,PICLR+X ;PI RESET FAILED TO CLEAR PIR FLAG.
44434 WATINT^
44435 061032 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
44436 061033 367 13 0 00 061033 SOJG 13,. ;AND WAIT^
44437 061034 332 00 0 00 000000 SKIPE ;MOVEI EXEC OUT OF INTERRUPT CH.?
44438 STOP^
44439 061035 254 04 0 00 061036 HALT .+1 ;INSTRUCTION FAILED REPLACE
44440 061036 254 00 0 00 061037 JRST .+1 ;WITH JRST BACK^
44441 TGET^
44442 061037 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
44443 061040 302 00 0 00 061023 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
44444 STOP2^^
44445 061041 254 04 0 00 061042 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
44446 061042 254 00 0 00 061043 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
44447 ^
44448 000010 X=X_-1
44449
44450
44451 PIONOF X^
44452
44453 ;CHECK THAT PICLR CLEARS THE REQUEST FLOP
44454 ;AND THAT AN INTERUPT DOES NOT OCCUR
44455
44456 BLURB1^
44457 ;LOCATIONS 40-60 CONTAIN A JSP TO A ROUTINE WHICH EXECUTES A HALT
44458 ;POINTING TO THE CHANNEL WHICH CAUSED THE REQUEST.
44459 ;OR THE CHANNEL WHICH CAUSED THE INCORRECT INTERRUPT. THE PARTICULAR
44460 ;INTERRUPT TRAP ADRESS FOR THE INTERRUPT LEVEL BEING TESTED MAY NOT
44461 ;ALWAYS HAVE A JSP TO A HALT IN CASE WE ARE TESTING FOR REAL
44462 ;INTERRUPTS ON THAT CHANNEL. IN THIS CASE ONLY THE TRAP FOR THAT
44463 ;PARTICULAR CHANNEL WILL BE LEGAL. ALL OTHERS WILL HALT.
44464 ^
44465
44466 TSET^
44467 061043 %X=. ;DEFINE %X TO SAVE
44468 061043 201 00 0 00 061043 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
44469 061044 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
44470 061045 ..0022: CLRBTH^
44471 061045 700 04 0 00 267760 CLRAPR
44472 061046 700 14 0 00 031577 CLRPI^
44473 061047 7 004 20 0 00 004010 CONO PI,REQSET+X ;SET REQ. BUT NOT ACTIVE
44474 061050 400 00 0 00 000000 SETZ ;THEN CLEAR REQUEST THEN SET ACTIVE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 28-3
DFKAA8 MAC 25-AUG-75 14:17 BASIC PI SYSTEM TESTING SEQ 1035
44475 061051 7 004 20 0 00 010010 CONO PI,PICLR+X ;PI RESET FAILED TO CLEAR PIR FLAG.
44476 WATINT^
44477 061052 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
44478 061053 367 13 0 00 061053 SOJG 13,. ;AND WAIT^
44479 061054 332 00 0 00 000000 SKIPE ;MOVEI EXEC OUT OF INTERRUPT CH.?
44480 STOP^
44481 061055 254 04 0 00 061056 HALT .+1 ;INSTRUCTION FAILED REPLACE
44482 061056 254 00 0 00 061057 JRST .+1 ;WITH JRST BACK^
44483 TGET^
44484 061057 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
44485 061060 302 00 0 00 061043 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
44486 STOP2^^
44487 061061 254 04 0 00 061062 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
44488 061062 254 00 0 00 061063 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
44489 ^
44490 000004 X=X_-1
44491
44492
44493 PIONOF X^
44494
44495 ;CHECK THAT PICLR CLEARS THE REQUEST FLOP
44496 ;AND THAT AN INTERUPT DOES NOT OCCUR
44497
44498 BLURB1^
44499 ;LOCATIONS 40-60 CONTAIN A JSP TO A ROUTINE WHICH EXECUTES A HALT
44500 ;POINTING TO THE CHANNEL WHICH CAUSED THE REQUEST.
44501 ;OR THE CHANNEL WHICH CAUSED THE INCORRECT INTERRUPT. THE PARTICULAR
44502 ;INTERRUPT TRAP ADRESS FOR THE INTERRUPT LEVEL BEING TESTED MAY NOT
44503 ;ALWAYS HAVE A JSP TO A HALT IN CASE WE ARE TESTING FOR REAL
44504 ;INTERRUPTS ON THAT CHANNEL. IN THIS CASE ONLY THE TRAP FOR THAT
44505 ;PARTICULAR CHANNEL WILL BE LEGAL. ALL OTHERS WILL HALT.
44506 ^
44507
44508 TSET^
44509 061063 %X=. ;DEFINE %X TO SAVE
44510 061063 201 00 0 00 061063 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
44511 061064 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
44512 061065 ..0023: CLRBTH^
44513 061065 700 04 0 00 267760 CLRAPR
44514 061066 700 14 0 00 031577 CLRPI^
44515 061067 7 004 20 0 00 004004 CONO PI,REQSET+X ;SET REQ. BUT NOT ACTIVE
44516 061070 400 00 0 00 000000 SETZ ;THEN CLEAR REQUEST THEN SET ACTIVE
44517 061071 7 004 20 0 00 010004 CONO PI,PICLR+X ;PI RESET FAILED TO CLEAR PIR FLAG.
44518 WATINT^
44519 061072 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
44520 061073 367 13 0 00 061073 SOJG 13,. ;AND WAIT^
44521 061074 332 00 0 00 000000 SKIPE ;MOVEI EXEC OUT OF INTERRUPT CH.?
44522 STOP^
44523 061075 254 04 0 00 061076 HALT .+1 ;INSTRUCTION FAILED REPLACE
44524 061076 254 00 0 00 061077 JRST .+1 ;WITH JRST BACK^
44525 TGET^
44526 061077 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
44527 061100 302 00 0 00 061063 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
44528 STOP2^^
44529 061101 254 04 0 00 061102 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 28-4
DFKAA8 MAC 25-AUG-75 14:17 BASIC PI SYSTEM TESTING SEQ 1036
44530 061102 254 00 0 00 061103 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
44531 ^
44532 000002 X=X_-1
44533
44534
44535 PIONOF X^
44536
44537 ;CHECK THAT PICLR CLEARS THE REQUEST FLOP
44538 ;AND THAT AN INTERUPT DOES NOT OCCUR
44539
44540 BLURB1^
44541 ;LOCATIONS 40-60 CONTAIN A JSP TO A ROUTINE WHICH EXECUTES A HALT
44542 ;POINTING TO THE CHANNEL WHICH CAUSED THE REQUEST.
44543 ;OR THE CHANNEL WHICH CAUSED THE INCORRECT INTERRUPT. THE PARTICULAR
44544 ;INTERRUPT TRAP ADRESS FOR THE INTERRUPT LEVEL BEING TESTED MAY NOT
44545 ;ALWAYS HAVE A JSP TO A HALT IN CASE WE ARE TESTING FOR REAL
44546 ;INTERRUPTS ON THAT CHANNEL. IN THIS CASE ONLY THE TRAP FOR THAT
44547 ;PARTICULAR CHANNEL WILL BE LEGAL. ALL OTHERS WILL HALT.
44548 ^
44549
44550 TSET^
44551 061103 %X=. ;DEFINE %X TO SAVE
44552 061103 201 00 0 00 061103 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
44553 061104 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
44554 061105 ..0024: CLRBTH^
44555 061105 700 04 0 00 267760 CLRAPR
44556 061106 700 14 0 00 031577 CLRPI^
44557 061107 7 004 20 0 00 004002 CONO PI,REQSET+X ;SET REQ. BUT NOT ACTIVE
44558 061110 400 00 0 00 000000 SETZ ;THEN CLEAR REQUEST THEN SET ACTIVE
44559 061111 7 004 20 0 00 010002 CONO PI,PICLR+X ;PI RESET FAILED TO CLEAR PIR FLAG.
44560 WATINT^
44561 061112 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
44562 061113 367 13 0 00 061113 SOJG 13,. ;AND WAIT^
44563 061114 332 00 0 00 000000 SKIPE ;MOVEI EXEC OUT OF INTERRUPT CH.?
44564 STOP^
44565 061115 254 04 0 00 061116 HALT .+1 ;INSTRUCTION FAILED REPLACE
44566 061116 254 00 0 00 061117 JRST .+1 ;WITH JRST BACK^
44567 TGET^
44568 061117 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
44569 061120 302 00 0 00 061103 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
44570 STOP2^^
44571 061121 254 04 0 00 061122 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
44572 061122 254 00 0 00 061123 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
44573 ^
44574 000001 X=X_-1
44575
44576
44577 PIONOF X^
44578
44579 ;CHECK THAT PICLR CLEARS THE REQUEST FLOP
44580 ;AND THAT AN INTERUPT DOES NOT OCCUR
44581
44582 BLURB1^
44583 ;LOCATIONS 40-60 CONTAIN A JSP TO A ROUTINE WHICH EXECUTES A HALT
44584 ;POINTING TO THE CHANNEL WHICH CAUSED THE REQUEST.
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 28-5
DFKAA8 MAC 25-AUG-75 14:17 BASIC PI SYSTEM TESTING SEQ 1037
44585 ;OR THE CHANNEL WHICH CAUSED THE INCORRECT INTERRUPT. THE PARTICULAR
44586 ;INTERRUPT TRAP ADRESS FOR THE INTERRUPT LEVEL BEING TESTED MAY NOT
44587 ;ALWAYS HAVE A JSP TO A HALT IN CASE WE ARE TESTING FOR REAL
44588 ;INTERRUPTS ON THAT CHANNEL. IN THIS CASE ONLY THE TRAP FOR THAT
44589 ;PARTICULAR CHANNEL WILL BE LEGAL. ALL OTHERS WILL HALT.
44590 ^
44591
44592 TSET^
44593 061123 %X=. ;DEFINE %X TO SAVE
44594 061123 201 00 0 00 061123 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
44595 061124 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
44596 061125 ..0025: CLRBTH^
44597 061125 700 04 0 00 267760 CLRAPR
44598 061126 700 14 0 00 031577 CLRPI^
44599 061127 7 004 20 0 00 004001 CONO PI,REQSET+X ;SET REQ. BUT NOT ACTIVE
44600 061130 400 00 0 00 000000 SETZ ;THEN CLEAR REQUEST THEN SET ACTIVE
44601 061131 7 004 20 0 00 010001 CONO PI,PICLR+X ;PI RESET FAILED TO CLEAR PIR FLAG.
44602 WATINT^
44603 061132 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
44604 061133 367 13 0 00 061133 SOJG 13,. ;AND WAIT^
44605 061134 332 00 0 00 000000 SKIPE ;MOVEI EXEC OUT OF INTERRUPT CH.?
44606 STOP^
44607 061135 254 04 0 00 061136 HALT .+1 ;INSTRUCTION FAILED REPLACE
44608 061136 254 00 0 00 061137 JRST .+1 ;WITH JRST BACK^
44609 TGET^
44610 061137 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
44611 061140 302 00 0 00 061123 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
44612 STOP2^^
44613 061141 254 04 0 00 061142 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
44614 061142 254 00 0 00 061143 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
44615 ^
44616 000000 X=X_-1
44617
44618 061143 255 00 0 00 000000 JFCL
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29
DFKAA8 MAC 25-AUG-75 14:17 BASIC PI SYSTEM TESTING SEQ 1038
44619 BLURB^
44620 ;LOCATIONS 40-60 CONTAIN A JSP TO A ROUTINE WHICH STORES
44621 ;THE CHANNEL NUMBER OF THE INTERRUPT INTO 0
44622 ;THEREFORE IF AN INTERRUPT OCCURS THEN LOCATION
44623 ;ZERO WILL CONTAIN THE NUMBER OF THE INTERRUPT CHANNEL TRAP ADRESS
44624 ^
44625 ;TEST THE SETTING AND CLEARING OF THE PI FLOPS WITHOUT CREATING INTERRUPTS
44626 ;THE TEST WILL HALT IF AN INTERRUPT OCCURS AND THE CHANNEL NUMBER OF THE
44627 ;INTERRUPT WILL BE STORED IN AC0
44628
44629
44630 061144 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
44631
44632 061145 BIGPI1: PITEST 100^
44633
44634 ;TEST SETTING OF CHANNEL FLOP
44635
44636 TSET^
44637 061145 %X=. ;DEFINE %X TO SAVE
44638 061145 201 00 0 00 061145 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
44639 061146 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
44640 061147 ..0026: CLRBTH^
44641 061147 700 04 0 00 267760 CLRAPR
44642 061150 700 14 0 00 031577 CLRPI^
44643 061151 7 004 20 0 00 002100 CONO PI,CHNON+100 ;PION FAILED TO SET
44644 061152 7 004 34 0 00 000100 CONSO PI,100
44645 STOP^
44646 061153 254 04 0 00 061154 HALT .+1 ;INSTRUCTION FAILED REPLACE
44647 061154 254 00 0 00 061155 JRST .+1 ;WITH JRST BACK^
44648 TBOTH^
44649 TGET^
44650 061155 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
44651 061156 302 00 0 00 061145 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
44652 STOP2^^
44653 061157 254 04 0 00 061160 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
44654 061160 254 00 0 00 061161 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
44655
44656 TSET^^
44657 061161 %X=. ;DEFINE %X TO SAVE
44658 061161 201 00 0 00 061161 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
44659 061162 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
44660 CLRBTH^
44661 061163 700 04 0 00 267760 CLRAPR
44662 061164 700 14 0 00 031577 CLRPI^
44663 ;TEST CLEARING OF CHANNEL FLOP
44664 061165 7 004 20 0 00 002100 CONO PI,CHNON+100 ;CHECK PIO CLR
44665 061166 7 004 20 0 00 001100 CONO PI,CHNOFF+100 ;TURN OFF CHANNELS
44666 061167 7 004 30 0 00 000100 CONSZ PI,100 ;CHECK WHY FLOP NOT CLEAR
44667 STOP^
44668 061170 254 04 0 00 061171 HALT .+1 ;INSTRUCTION FAILED REPLACE
44669 061171 254 00 0 00 061172 JRST .+1 ;WITH JRST BACK^
44670 TBOTH^
44671 TGET^
44672 061172 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
44673 061173 302 00 0 00 061161 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29-1
DFKAA8 MAC 25-AUG-75 14:17 BASIC PI SYSTEM TESTING SEQ 1039
44674 STOP2^^
44675 061174 254 04 0 00 061175 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
44676 061175 254 00 0 00 061176 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
44677
44678 TSET^^
44679 061176 %X=. ;DEFINE %X TO SAVE
44680 061176 201 00 0 00 061176 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
44681 061177 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
44682 CLRBTH^
44683 061200 700 04 0 00 267760 CLRAPR
44684 061201 700 14 0 00 031577 CLRPI^
44685 ;CHECK RESETING OF PI SYSTEM
44686 061202 7 004 20 0 00 002100 CONO PI,CHNON+100 ;CHECK THAT PI RESET CLEARS
44687 061203 7 004 20 0 00 010000 CONO PI,PICLR ;PI SYSTEM
44688 061204 7 004 30 0 00 000100 CONSZ PI,100
44689 STOP^
44690 061205 254 04 0 00 061206 HALT .+1 ;INSTRUCTION FAILED REPLACE
44691 061206 254 00 0 00 061207 JRST .+1 ;WITH JRST BACK^
44692 TBOTH^
44693 TGET^
44694 061207 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
44695 061210 302 00 0 00 061176 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
44696 STOP2^^
44697 061211 254 04 0 00 061212 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
44698 061212 254 00 0 00 061213 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
44699
44700 TSET^^
44701 061213 %X=. ;DEFINE %X TO SAVE
44702 061213 201 00 0 00 061213 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
44703 061214 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
44704 CLRBTH^
44705 061215 700 04 0 00 267760 CLRAPR
44706 061216 700 14 0 00 031577 CLRPI^
44707 ;TEST THAT CONO ONLY SETS PION
44708 061217 7 004 20 0 00 002000 CONO PI,CHNON ;TEST PIO SET
44709 061220 7 004 30 0 00 000100 CONSZ PI,100 ;CHECK WHY CONO SET FLAGS WHITHOUT AN IOB BIT
44710 STOP^
44711 061221 254 04 0 00 061222 HALT .+1 ;INSTRUCTION FAILED REPLACE
44712 061222 254 00 0 00 061223 JRST .+1 ;WITH JRST BACK^
44713 TBOTH^
44714 TGET^
44715 061223 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
44716 061224 302 00 0 00 061213 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
44717 STOP2^^
44718 061225 254 04 0 00 061226 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
44719 061226 254 00 0 00 061227 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
44720
44721 TSET^^
44722 061227 %X=. ;DEFINE %X TO SAVE
44723 061227 201 00 0 00 061227 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
44724 061230 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
44725 CLRBTH^
44726 061231 700 04 0 00 267760 CLRAPR
44727 061232 700 14 0 00 031577 CLRPI^
44728 ;CHECK THAT CONO DOES NOT CLEAR ACTIVE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29-2
DFKAA8 MAC 25-AUG-75 14:17 BASIC PI SYSTEM TESTING SEQ 1040
44729 061233 7 004 20 0 00 002100 CONO PI,CHNON+100 ;TEST PIO CLR
44730 061234 7 004 20 0 00 001000 CONO PI,CHNOFF ;MAYBE RESET OCCURED - BIT SHOULD STILL
44731 061235 7 004 34 0 00 000100 CONSO PI,100 ;BE SET
44732 STOP^
44733 061236 254 04 0 00 061237 HALT .+1 ;INSTRUCTION FAILED REPLACE
44734 061237 254 00 0 00 061240 JRST .+1 ;WITH JRST BACK^
44735 TGET^
44736 061240 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
44737 061241 302 00 0 00 061227 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
44738 STOP2^^
44739 061242 254 04 0 00 061243 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
44740 061243 254 00 0 00 061244 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
44741 ^
44742
44743 061244 BIGPI2: PITEST 40^
44744
44745 ;TEST SETTING OF CHANNEL FLOP
44746
44747 TSET^
44748 061244 %X=. ;DEFINE %X TO SAVE
44749 061244 201 00 0 00 061244 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
44750 061245 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
44751 061246 ..0027: CLRBTH^
44752 061246 700 04 0 00 267760 CLRAPR
44753 061247 700 14 0 00 031577 CLRPI^
44754 061250 7 004 20 0 00 002040 CONO PI,CHNON+40 ;PION FAILED TO SET
44755 061251 7 004 34 0 00 000040 CONSO PI,40
44756 STOP^
44757 061252 254 04 0 00 061253 HALT .+1 ;INSTRUCTION FAILED REPLACE
44758 061253 254 00 0 00 061254 JRST .+1 ;WITH JRST BACK^
44759 TBOTH^
44760 TGET^
44761 061254 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
44762 061255 302 00 0 00 061244 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
44763 STOP2^^
44764 061256 254 04 0 00 061257 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
44765 061257 254 00 0 00 061260 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
44766
44767 TSET^^
44768 061260 %X=. ;DEFINE %X TO SAVE
44769 061260 201 00 0 00 061260 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
44770 061261 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
44771 CLRBTH^
44772 061262 700 04 0 00 267760 CLRAPR
44773 061263 700 14 0 00 031577 CLRPI^
44774 ;TEST CLEARING OF CHANNEL FLOP
44775 061264 7 004 20 0 00 002040 CONO PI,CHNON+40 ;CHECK PIO CLR
44776 061265 7 004 20 0 00 001040 CONO PI,CHNOFF+40 ;TURN OFF CHANNELS
44777 061266 7 004 30 0 00 000040 CONSZ PI,40 ;CHECK WHY FLOP NOT CLEAR
44778 STOP^
44779 061267 254 04 0 00 061270 HALT .+1 ;INSTRUCTION FAILED REPLACE
44780 061270 254 00 0 00 061271 JRST .+1 ;WITH JRST BACK^
44781 TBOTH^
44782 TGET^
44783 061271 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29-3
DFKAA8 MAC 25-AUG-75 14:17 BASIC PI SYSTEM TESTING SEQ 1041
44784 061272 302 00 0 00 061260 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
44785 STOP2^^
44786 061273 254 04 0 00 061274 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
44787 061274 254 00 0 00 061275 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
44788
44789 TSET^^
44790 061275 %X=. ;DEFINE %X TO SAVE
44791 061275 201 00 0 00 061275 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
44792 061276 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
44793 CLRBTH^
44794 061277 700 04 0 00 267760 CLRAPR
44795 061300 700 14 0 00 031577 CLRPI^
44796 ;CHECK RESETING OF PI SYSTEM
44797 061301 7 004 20 0 00 002040 CONO PI,CHNON+40 ;CHECK THAT PI RESET CLEARS
44798 061302 7 004 20 0 00 010000 CONO PI,PICLR ;PI SYSTEM
44799 061303 7 004 30 0 00 000040 CONSZ PI,40
44800 STOP^
44801 061304 254 04 0 00 061305 HALT .+1 ;INSTRUCTION FAILED REPLACE
44802 061305 254 00 0 00 061306 JRST .+1 ;WITH JRST BACK^
44803 TBOTH^
44804 TGET^
44805 061306 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
44806 061307 302 00 0 00 061275 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
44807 STOP2^^
44808 061310 254 04 0 00 061311 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
44809 061311 254 00 0 00 061312 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
44810
44811 TSET^^
44812 061312 %X=. ;DEFINE %X TO SAVE
44813 061312 201 00 0 00 061312 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
44814 061313 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
44815 CLRBTH^
44816 061314 700 04 0 00 267760 CLRAPR
44817 061315 700 14 0 00 031577 CLRPI^
44818 ;TEST THAT CONO ONLY SETS PION
44819 061316 7 004 20 0 00 002000 CONO PI,CHNON ;TEST PIO SET
44820 061317 7 004 30 0 00 000040 CONSZ PI,40 ;CHECK WHY CONO SET FLAGS WHITHOUT AN IOB BIT
44821 STOP^
44822 061320 254 04 0 00 061321 HALT .+1 ;INSTRUCTION FAILED REPLACE
44823 061321 254 00 0 00 061322 JRST .+1 ;WITH JRST BACK^
44824 TBOTH^
44825 TGET^
44826 061322 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
44827 061323 302 00 0 00 061312 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
44828 STOP2^^
44829 061324 254 04 0 00 061325 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
44830 061325 254 00 0 00 061326 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
44831
44832 TSET^^
44833 061326 %X=. ;DEFINE %X TO SAVE
44834 061326 201 00 0 00 061326 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
44835 061327 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
44836 CLRBTH^
44837 061330 700 04 0 00 267760 CLRAPR
44838 061331 700 14 0 00 031577 CLRPI^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29-4
DFKAA8 MAC 25-AUG-75 14:17 BASIC PI SYSTEM TESTING SEQ 1042
44839 ;CHECK THAT CONO DOES NOT CLEAR ACTIVE
44840 061332 7 004 20 0 00 002040 CONO PI,CHNON+40 ;TEST PIO CLR
44841 061333 7 004 20 0 00 001000 CONO PI,CHNOFF ;MAYBE RESET OCCURED - BIT SHOULD STILL
44842 061334 7 004 34 0 00 000040 CONSO PI,40 ;BE SET
44843 STOP^
44844 061335 254 04 0 00 061336 HALT .+1 ;INSTRUCTION FAILED REPLACE
44845 061336 254 00 0 00 061337 JRST .+1 ;WITH JRST BACK^
44846 TGET^
44847 061337 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
44848 061340 302 00 0 00 061326 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
44849 STOP2^^
44850 061341 254 04 0 00 061342 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
44851 061342 254 00 0 00 061343 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
44852 ^
44853
44854 061343 BIGPI3: PITEST 20^
44855
44856 ;TEST SETTING OF CHANNEL FLOP
44857
44858 TSET^
44859 061343 %X=. ;DEFINE %X TO SAVE
44860 061343 201 00 0 00 061343 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
44861 061344 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
44862 061345 ..0030: CLRBTH^
44863 061345 700 04 0 00 267760 CLRAPR
44864 061346 700 14 0 00 031577 CLRPI^
44865 061347 7 004 20 0 00 002020 CONO PI,CHNON+20 ;PION FAILED TO SET
44866 061350 7 004 34 0 00 000020 CONSO PI,20
44867 STOP^
44868 061351 254 04 0 00 061352 HALT .+1 ;INSTRUCTION FAILED REPLACE
44869 061352 254 00 0 00 061353 JRST .+1 ;WITH JRST BACK^
44870 TBOTH^
44871 TGET^
44872 061353 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
44873 061354 302 00 0 00 061343 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
44874 STOP2^^
44875 061355 254 04 0 00 061356 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
44876 061356 254 00 0 00 061357 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
44877
44878 TSET^^
44879 061357 %X=. ;DEFINE %X TO SAVE
44880 061357 201 00 0 00 061357 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
44881 061360 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
44882 CLRBTH^
44883 061361 700 04 0 00 267760 CLRAPR
44884 061362 700 14 0 00 031577 CLRPI^
44885 ;TEST CLEARING OF CHANNEL FLOP
44886 061363 7 004 20 0 00 002020 CONO PI,CHNON+20 ;CHECK PIO CLR
44887 061364 7 004 20 0 00 001020 CONO PI,CHNOFF+20 ;TURN OFF CHANNELS
44888 061365 7 004 30 0 00 000020 CONSZ PI,20 ;CHECK WHY FLOP NOT CLEAR
44889 STOP^
44890 061366 254 04 0 00 061367 HALT .+1 ;INSTRUCTION FAILED REPLACE
44891 061367 254 00 0 00 061370 JRST .+1 ;WITH JRST BACK^
44892 TBOTH^
44893 TGET^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29-5
DFKAA8 MAC 25-AUG-75 14:17 BASIC PI SYSTEM TESTING SEQ 1043
44894 061370 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
44895 061371 302 00 0 00 061357 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
44896 STOP2^^
44897 061372 254 04 0 00 061373 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
44898 061373 254 00 0 00 061374 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
44899
44900 TSET^^
44901 061374 %X=. ;DEFINE %X TO SAVE
44902 061374 201 00 0 00 061374 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
44903 061375 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
44904 CLRBTH^
44905 061376 700 04 0 00 267760 CLRAPR
44906 061377 700 14 0 00 031577 CLRPI^
44907 ;CHECK RESETING OF PI SYSTEM
44908 061400 7 004 20 0 00 002020 CONO PI,CHNON+20 ;CHECK THAT PI RESET CLEARS
44909 061401 7 004 20 0 00 010000 CONO PI,PICLR ;PI SYSTEM
44910 061402 7 004 30 0 00 000020 CONSZ PI,20
44911 STOP^
44912 061403 254 04 0 00 061404 HALT .+1 ;INSTRUCTION FAILED REPLACE
44913 061404 254 00 0 00 061405 JRST .+1 ;WITH JRST BACK^
44914 TBOTH^
44915 TGET^
44916 061405 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
44917 061406 302 00 0 00 061374 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
44918 STOP2^^
44919 061407 254 04 0 00 061410 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
44920 061410 254 00 0 00 061411 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
44921
44922 TSET^^
44923 061411 %X=. ;DEFINE %X TO SAVE
44924 061411 201 00 0 00 061411 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
44925 061412 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
44926 CLRBTH^
44927 061413 700 04 0 00 267760 CLRAPR
44928 061414 700 14 0 00 031577 CLRPI^
44929 ;TEST THAT CONO ONLY SETS PION
44930 061415 7 004 20 0 00 002000 CONO PI,CHNON ;TEST PIO SET
44931 061416 7 004 30 0 00 000020 CONSZ PI,20 ;CHECK WHY CONO SET FLAGS WHITHOUT AN IOB BIT
44932 STOP^
44933 061417 254 04 0 00 061420 HALT .+1 ;INSTRUCTION FAILED REPLACE
44934 061420 254 00 0 00 061421 JRST .+1 ;WITH JRST BACK^
44935 TBOTH^
44936 TGET^
44937 061421 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
44938 061422 302 00 0 00 061411 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
44939 STOP2^^
44940 061423 254 04 0 00 061424 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
44941 061424 254 00 0 00 061425 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
44942
44943 TSET^^
44944 061425 %X=. ;DEFINE %X TO SAVE
44945 061425 201 00 0 00 061425 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
44946 061426 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
44947 CLRBTH^
44948 061427 700 04 0 00 267760 CLRAPR
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29-6
DFKAA8 MAC 25-AUG-75 14:17 BASIC PI SYSTEM TESTING SEQ 1044
44949 061430 700 14 0 00 031577 CLRPI^
44950 ;CHECK THAT CONO DOES NOT CLEAR ACTIVE
44951 061431 7 004 20 0 00 002020 CONO PI,CHNON+20 ;TEST PIO CLR
44952 061432 7 004 20 0 00 001000 CONO PI,CHNOFF ;MAYBE RESET OCCURED - BIT SHOULD STILL
44953 061433 7 004 34 0 00 000020 CONSO PI,20 ;BE SET
44954 STOP^
44955 061434 254 04 0 00 061435 HALT .+1 ;INSTRUCTION FAILED REPLACE
44956 061435 254 00 0 00 061436 JRST .+1 ;WITH JRST BACK^
44957 TGET^
44958 061436 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
44959 061437 302 00 0 00 061425 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
44960 STOP2^^
44961 061440 254 04 0 00 061441 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
44962 061441 254 00 0 00 061442 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
44963 ^
44964
44965 061442 BIGPI4: PITEST 10^
44966
44967 ;TEST SETTING OF CHANNEL FLOP
44968
44969 TSET^
44970 061442 %X=. ;DEFINE %X TO SAVE
44971 061442 201 00 0 00 061442 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
44972 061443 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
44973 061444 ..0031: CLRBTH^
44974 061444 700 04 0 00 267760 CLRAPR
44975 061445 700 14 0 00 031577 CLRPI^
44976 061446 7 004 20 0 00 002010 CONO PI,CHNON+10 ;PION FAILED TO SET
44977 061447 7 004 34 0 00 000010 CONSO PI,10
44978 STOP^
44979 061450 254 04 0 00 061451 HALT .+1 ;INSTRUCTION FAILED REPLACE
44980 061451 254 00 0 00 061452 JRST .+1 ;WITH JRST BACK^
44981 TBOTH^
44982 TGET^
44983 061452 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
44984 061453 302 00 0 00 061442 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
44985 STOP2^^
44986 061454 254 04 0 00 061455 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
44987 061455 254 00 0 00 061456 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
44988
44989 TSET^^
44990 061456 %X=. ;DEFINE %X TO SAVE
44991 061456 201 00 0 00 061456 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
44992 061457 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
44993 CLRBTH^
44994 061460 700 04 0 00 267760 CLRAPR
44995 061461 700 14 0 00 031577 CLRPI^
44996 ;TEST CLEARING OF CHANNEL FLOP
44997 061462 7 004 20 0 00 002010 CONO PI,CHNON+10 ;CHECK PIO CLR
44998 061463 7 004 20 0 00 001010 CONO PI,CHNOFF+10 ;TURN OFF CHANNELS
44999 061464 7 004 30 0 00 000010 CONSZ PI,10 ;CHECK WHY FLOP NOT CLEAR
45000 STOP^
45001 061465 254 04 0 00 061466 HALT .+1 ;INSTRUCTION FAILED REPLACE
45002 061466 254 00 0 00 061467 JRST .+1 ;WITH JRST BACK^
45003 TBOTH^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29-7
DFKAA8 MAC 25-AUG-75 14:17 BASIC PI SYSTEM TESTING SEQ 1045
45004 TGET^
45005 061467 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
45006 061470 302 00 0 00 061456 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
45007 STOP2^^
45008 061471 254 04 0 00 061472 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
45009 061472 254 00 0 00 061473 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
45010
45011 TSET^^
45012 061473 %X=. ;DEFINE %X TO SAVE
45013 061473 201 00 0 00 061473 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
45014 061474 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
45015 CLRBTH^
45016 061475 700 04 0 00 267760 CLRAPR
45017 061476 700 14 0 00 031577 CLRPI^
45018 ;CHECK RESETING OF PI SYSTEM
45019 061477 7 004 20 0 00 002010 CONO PI,CHNON+10 ;CHECK THAT PI RESET CLEARS
45020 061500 7 004 20 0 00 010000 CONO PI,PICLR ;PI SYSTEM
45021 061501 7 004 30 0 00 000010 CONSZ PI,10
45022 STOP^
45023 061502 254 04 0 00 061503 HALT .+1 ;INSTRUCTION FAILED REPLACE
45024 061503 254 00 0 00 061504 JRST .+1 ;WITH JRST BACK^
45025 TBOTH^
45026 TGET^
45027 061504 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
45028 061505 302 00 0 00 061473 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
45029 STOP2^^
45030 061506 254 04 0 00 061507 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
45031 061507 254 00 0 00 061510 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
45032
45033 TSET^^
45034 061510 %X=. ;DEFINE %X TO SAVE
45035 061510 201 00 0 00 061510 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
45036 061511 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
45037 CLRBTH^
45038 061512 700 04 0 00 267760 CLRAPR
45039 061513 700 14 0 00 031577 CLRPI^
45040 ;TEST THAT CONO ONLY SETS PION
45041 061514 7 004 20 0 00 002000 CONO PI,CHNON ;TEST PIO SET
45042 061515 7 004 30 0 00 000010 CONSZ PI,10 ;CHECK WHY CONO SET FLAGS WHITHOUT AN IOB BIT
45043 STOP^
45044 061516 254 04 0 00 061517 HALT .+1 ;INSTRUCTION FAILED REPLACE
45045 061517 254 00 0 00 061520 JRST .+1 ;WITH JRST BACK^
45046 TBOTH^
45047 TGET^
45048 061520 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
45049 061521 302 00 0 00 061510 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
45050 STOP2^^
45051 061522 254 04 0 00 061523 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
45052 061523 254 00 0 00 061524 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
45053
45054 TSET^^
45055 061524 %X=. ;DEFINE %X TO SAVE
45056 061524 201 00 0 00 061524 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
45057 061525 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
45058 CLRBTH^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29-8
DFKAA8 MAC 25-AUG-75 14:17 BASIC PI SYSTEM TESTING SEQ 1046
45059 061526 700 04 0 00 267760 CLRAPR
45060 061527 700 14 0 00 031577 CLRPI^
45061 ;CHECK THAT CONO DOES NOT CLEAR ACTIVE
45062 061530 7 004 20 0 00 002010 CONO PI,CHNON+10 ;TEST PIO CLR
45063 061531 7 004 20 0 00 001000 CONO PI,CHNOFF ;MAYBE RESET OCCURED - BIT SHOULD STILL
45064 061532 7 004 34 0 00 000010 CONSO PI,10 ;BE SET
45065 STOP^
45066 061533 254 04 0 00 061534 HALT .+1 ;INSTRUCTION FAILED REPLACE
45067 061534 254 00 0 00 061535 JRST .+1 ;WITH JRST BACK^
45068 TGET^
45069 061535 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
45070 061536 302 00 0 00 061524 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
45071 STOP2^^
45072 061537 254 04 0 00 061540 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
45073 061540 254 00 0 00 061541 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
45074 ^
45075
45076 061541 BIGPI5: PITEST 4^
45077
45078 ;TEST SETTING OF CHANNEL FLOP
45079
45080 TSET^
45081 061541 %X=. ;DEFINE %X TO SAVE
45082 061541 201 00 0 00 061541 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
45083 061542 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
45084 061543 ..0032: CLRBTH^
45085 061543 700 04 0 00 267760 CLRAPR
45086 061544 700 14 0 00 031577 CLRPI^
45087 061545 7 004 20 0 00 002004 CONO PI,CHNON+4 ;PION FAILED TO SET
45088 061546 7 004 34 0 00 000004 CONSO PI,4
45089 STOP^
45090 061547 254 04 0 00 061550 HALT .+1 ;INSTRUCTION FAILED REPLACE
45091 061550 254 00 0 00 061551 JRST .+1 ;WITH JRST BACK^
45092 TBOTH^
45093 TGET^
45094 061551 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
45095 061552 302 00 0 00 061541 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
45096 STOP2^^
45097 061553 254 04 0 00 061554 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
45098 061554 254 00 0 00 061555 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
45099
45100 TSET^^
45101 061555 %X=. ;DEFINE %X TO SAVE
45102 061555 201 00 0 00 061555 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
45103 061556 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
45104 CLRBTH^
45105 061557 700 04 0 00 267760 CLRAPR
45106 061560 700 14 0 00 031577 CLRPI^
45107 ;TEST CLEARING OF CHANNEL FLOP
45108 061561 7 004 20 0 00 002004 CONO PI,CHNON+4 ;CHECK PIO CLR
45109 061562 7 004 20 0 00 001004 CONO PI,CHNOFF+4 ;TURN OFF CHANNELS
45110 061563 7 004 30 0 00 000004 CONSZ PI,4 ;CHECK WHY FLOP NOT CLEAR
45111 STOP^
45112 061564 254 04 0 00 061565 HALT .+1 ;INSTRUCTION FAILED REPLACE
45113 061565 254 00 0 00 061566 JRST .+1 ;WITH JRST BACK^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29-9
DFKAA8 MAC 25-AUG-75 14:17 BASIC PI SYSTEM TESTING SEQ 1047
45114 TBOTH^
45115 TGET^
45116 061566 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
45117 061567 302 00 0 00 061555 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
45118 STOP2^^
45119 061570 254 04 0 00 061571 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
45120 061571 254 00 0 00 061572 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
45121
45122 TSET^^
45123 061572 %X=. ;DEFINE %X TO SAVE
45124 061572 201 00 0 00 061572 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
45125 061573 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
45126 CLRBTH^
45127 061574 700 04 0 00 267760 CLRAPR
45128 061575 700 14 0 00 031577 CLRPI^
45129 ;CHECK RESETING OF PI SYSTEM
45130 061576 7 004 20 0 00 002004 CONO PI,CHNON+4 ;CHECK THAT PI RESET CLEARS
45131 061577 7 004 20 0 00 010000 CONO PI,PICLR ;PI SYSTEM
45132 061600 7 004 30 0 00 000004 CONSZ PI,4
45133 STOP^
45134 061601 254 04 0 00 061602 HALT .+1 ;INSTRUCTION FAILED REPLACE
45135 061602 254 00 0 00 061603 JRST .+1 ;WITH JRST BACK^
45136 TBOTH^
45137 TGET^
45138 061603 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
45139 061604 302 00 0 00 061572 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
45140 STOP2^^
45141 061605 254 04 0 00 061606 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
45142 061606 254 00 0 00 061607 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
45143
45144 TSET^^
45145 061607 %X=. ;DEFINE %X TO SAVE
45146 061607 201 00 0 00 061607 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
45147 061610 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
45148 CLRBTH^
45149 061611 700 04 0 00 267760 CLRAPR
45150 061612 700 14 0 00 031577 CLRPI^
45151 ;TEST THAT CONO ONLY SETS PION
45152 061613 7 004 20 0 00 002000 CONO PI,CHNON ;TEST PIO SET
45153 061614 7 004 30 0 00 000004 CONSZ PI,4 ;CHECK WHY CONO SET FLAGS WHITHOUT AN IOB BIT
45154 STOP^
45155 061615 254 04 0 00 061616 HALT .+1 ;INSTRUCTION FAILED REPLACE
45156 061616 254 00 0 00 061617 JRST .+1 ;WITH JRST BACK^
45157 TBOTH^
45158 TGET^
45159 061617 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
45160 061620 302 00 0 00 061607 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
45161 STOP2^^
45162 061621 254 04 0 00 061622 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
45163 061622 254 00 0 00 061623 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
45164
45165 TSET^^
45166 061623 %X=. ;DEFINE %X TO SAVE
45167 061623 201 00 0 00 061623 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
45168 061624 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29-10
DFKAA8 MAC 25-AUG-75 14:17 BASIC PI SYSTEM TESTING SEQ 1048
45169 CLRBTH^
45170 061625 700 04 0 00 267760 CLRAPR
45171 061626 700 14 0 00 031577 CLRPI^
45172 ;CHECK THAT CONO DOES NOT CLEAR ACTIVE
45173 061627 7 004 20 0 00 002004 CONO PI,CHNON+4 ;TEST PIO CLR
45174 061630 7 004 20 0 00 001000 CONO PI,CHNOFF ;MAYBE RESET OCCURED - BIT SHOULD STILL
45175 061631 7 004 34 0 00 000004 CONSO PI,4 ;BE SET
45176 STOP^
45177 061632 254 04 0 00 061633 HALT .+1 ;INSTRUCTION FAILED REPLACE
45178 061633 254 00 0 00 061634 JRST .+1 ;WITH JRST BACK^
45179 TGET^
45180 061634 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
45181 061635 302 00 0 00 061623 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
45182 STOP2^^
45183 061636 254 04 0 00 061637 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
45184 061637 254 00 0 00 061640 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
45185 ^
45186
45187 061640 BIGPI6: PITEST 2^
45188
45189 ;TEST SETTING OF CHANNEL FLOP
45190
45191 TSET^
45192 061640 %X=. ;DEFINE %X TO SAVE
45193 061640 201 00 0 00 061640 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
45194 061641 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
45195 061642 ..0033: CLRBTH^
45196 061642 700 04 0 00 267760 CLRAPR
45197 061643 700 14 0 00 031577 CLRPI^
45198 061644 7 004 20 0 00 002002 CONO PI,CHNON+2 ;PION FAILED TO SET
45199 061645 7 004 34 0 00 000002 CONSO PI,2
45200 STOP^
45201 061646 254 04 0 00 061647 HALT .+1 ;INSTRUCTION FAILED REPLACE
45202 061647 254 00 0 00 061650 JRST .+1 ;WITH JRST BACK^
45203 TBOTH^
45204 TGET^
45205 061650 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
45206 061651 302 00 0 00 061640 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
45207 STOP2^^
45208 061652 254 04 0 00 061653 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
45209 061653 254 00 0 00 061654 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
45210
45211 TSET^^
45212 061654 %X=. ;DEFINE %X TO SAVE
45213 061654 201 00 0 00 061654 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
45214 061655 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
45215 CLRBTH^
45216 061656 700 04 0 00 267760 CLRAPR
45217 061657 700 14 0 00 031577 CLRPI^
45218 ;TEST CLEARING OF CHANNEL FLOP
45219 061660 7 004 20 0 00 002002 CONO PI,CHNON+2 ;CHECK PIO CLR
45220 061661 7 004 20 0 00 001002 CONO PI,CHNOFF+2 ;TURN OFF CHANNELS
45221 061662 7 004 30 0 00 000002 CONSZ PI,2 ;CHECK WHY FLOP NOT CLEAR
45222 STOP^
45223 061663 254 04 0 00 061664 HALT .+1 ;INSTRUCTION FAILED REPLACE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29-11
DFKAA8 MAC 25-AUG-75 14:17 BASIC PI SYSTEM TESTING SEQ 1049
45224 061664 254 00 0 00 061665 JRST .+1 ;WITH JRST BACK^
45225 TBOTH^
45226 TGET^
45227 061665 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
45228 061666 302 00 0 00 061654 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
45229 STOP2^^
45230 061667 254 04 0 00 061670 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
45231 061670 254 00 0 00 061671 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
45232
45233 TSET^^
45234 061671 %X=. ;DEFINE %X TO SAVE
45235 061671 201 00 0 00 061671 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
45236 061672 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
45237 CLRBTH^
45238 061673 700 04 0 00 267760 CLRAPR
45239 061674 700 14 0 00 031577 CLRPI^
45240 ;CHECK RESETING OF PI SYSTEM
45241 061675 7 004 20 0 00 002002 CONO PI,CHNON+2 ;CHECK THAT PI RESET CLEARS
45242 061676 7 004 20 0 00 010000 CONO PI,PICLR ;PI SYSTEM
45243 061677 7 004 30 0 00 000002 CONSZ PI,2
45244 STOP^
45245 061700 254 04 0 00 061701 HALT .+1 ;INSTRUCTION FAILED REPLACE
45246 061701 254 00 0 00 061702 JRST .+1 ;WITH JRST BACK^
45247 TBOTH^
45248 TGET^
45249 061702 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
45250 061703 302 00 0 00 061671 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
45251 STOP2^^
45252 061704 254 04 0 00 061705 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
45253 061705 254 00 0 00 061706 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
45254
45255 TSET^^
45256 061706 %X=. ;DEFINE %X TO SAVE
45257 061706 201 00 0 00 061706 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
45258 061707 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
45259 CLRBTH^
45260 061710 700 04 0 00 267760 CLRAPR
45261 061711 700 14 0 00 031577 CLRPI^
45262 ;TEST THAT CONO ONLY SETS PION
45263 061712 7 004 20 0 00 002000 CONO PI,CHNON ;TEST PIO SET
45264 061713 7 004 30 0 00 000002 CONSZ PI,2 ;CHECK WHY CONO SET FLAGS WHITHOUT AN IOB BIT
45265 STOP^
45266 061714 254 04 0 00 061715 HALT .+1 ;INSTRUCTION FAILED REPLACE
45267 061715 254 00 0 00 061716 JRST .+1 ;WITH JRST BACK^
45268 TBOTH^
45269 TGET^
45270 061716 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
45271 061717 302 00 0 00 061706 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
45272 STOP2^^
45273 061720 254 04 0 00 061721 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
45274 061721 254 00 0 00 061722 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
45275
45276 TSET^^
45277 061722 %X=. ;DEFINE %X TO SAVE
45278 061722 201 00 0 00 061722 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29-12
DFKAA8 MAC 25-AUG-75 14:17 BASIC PI SYSTEM TESTING SEQ 1050
45279 061723 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
45280 CLRBTH^
45281 061724 700 04 0 00 267760 CLRAPR
45282 061725 700 14 0 00 031577 CLRPI^
45283 ;CHECK THAT CONO DOES NOT CLEAR ACTIVE
45284 061726 7 004 20 0 00 002002 CONO PI,CHNON+2 ;TEST PIO CLR
45285 061727 7 004 20 0 00 001000 CONO PI,CHNOFF ;MAYBE RESET OCCURED - BIT SHOULD STILL
45286 061730 7 004 34 0 00 000002 CONSO PI,2 ;BE SET
45287 STOP^
45288 061731 254 04 0 00 061732 HALT .+1 ;INSTRUCTION FAILED REPLACE
45289 061732 254 00 0 00 061733 JRST .+1 ;WITH JRST BACK^
45290 TGET^
45291 061733 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
45292 061734 302 00 0 00 061722 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
45293 STOP2^^
45294 061735 254 04 0 00 061736 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
45295 061736 254 00 0 00 061737 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
45296 ^
45297
45298 061737 BIGPI7: PITEST 1^
45299
45300 ;TEST SETTING OF CHANNEL FLOP
45301
45302 TSET^
45303 061737 %X=. ;DEFINE %X TO SAVE
45304 061737 201 00 0 00 061737 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
45305 061740 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
45306 061741 ..0034: CLRBTH^
45307 061741 700 04 0 00 267760 CLRAPR
45308 061742 700 14 0 00 031577 CLRPI^
45309 061743 7 004 20 0 00 002001 CONO PI,CHNON+1 ;PION FAILED TO SET
45310 061744 7 004 34 0 00 000001 CONSO PI,1
45311 STOP^
45312 061745 254 04 0 00 061746 HALT .+1 ;INSTRUCTION FAILED REPLACE
45313 061746 254 00 0 00 061747 JRST .+1 ;WITH JRST BACK^
45314 TBOTH^
45315 TGET^
45316 061747 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
45317 061750 302 00 0 00 061737 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
45318 STOP2^^
45319 061751 254 04 0 00 061752 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
45320 061752 254 00 0 00 061753 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
45321
45322 TSET^^
45323 061753 %X=. ;DEFINE %X TO SAVE
45324 061753 201 00 0 00 061753 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
45325 061754 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
45326 CLRBTH^
45327 061755 700 04 0 00 267760 CLRAPR
45328 061756 700 14 0 00 031577 CLRPI^
45329 ;TEST CLEARING OF CHANNEL FLOP
45330 061757 7 004 20 0 00 002001 CONO PI,CHNON+1 ;CHECK PIO CLR
45331 061760 7 004 20 0 00 001001 CONO PI,CHNOFF+1 ;TURN OFF CHANNELS
45332 061761 7 004 30 0 00 000001 CONSZ PI,1 ;CHECK WHY FLOP NOT CLEAR
45333 STOP^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29-13
DFKAA8 MAC 25-AUG-75 14:17 BASIC PI SYSTEM TESTING SEQ 1051
45334 061762 254 04 0 00 061763 HALT .+1 ;INSTRUCTION FAILED REPLACE
45335 061763 254 00 0 00 061764 JRST .+1 ;WITH JRST BACK^
45336 TBOTH^
45337 TGET^
45338 061764 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
45339 061765 302 00 0 00 061753 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
45340 STOP2^^
45341 061766 254 04 0 00 061767 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
45342 061767 254 00 0 00 061770 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
45343
45344 TSET^^
45345 061770 %X=. ;DEFINE %X TO SAVE
45346 061770 201 00 0 00 061770 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
45347 061771 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
45348 CLRBTH^
45349 061772 700 04 0 00 267760 CLRAPR
45350 061773 700 14 0 00 031577 CLRPI^
45351 ;CHECK RESETING OF PI SYSTEM
45352 061774 7 004 20 0 00 002001 CONO PI,CHNON+1 ;CHECK THAT PI RESET CLEARS
45353 061775 7 004 20 0 00 010000 CONO PI,PICLR ;PI SYSTEM
45354 061776 7 004 30 0 00 000001 CONSZ PI,1
45355 STOP^
45356 061777 254 04 0 00 062000 HALT .+1 ;INSTRUCTION FAILED REPLACE
45357 062000 254 00 0 00 062001 JRST .+1 ;WITH JRST BACK^
45358 TBOTH^
45359 TGET^
45360 062001 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
45361 062002 302 00 0 00 061770 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
45362 STOP2^^
45363 062003 254 04 0 00 062004 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
45364 062004 254 00 0 00 062005 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
45365
45366 TSET^^
45367 062005 %X=. ;DEFINE %X TO SAVE
45368 062005 201 00 0 00 062005 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
45369 062006 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
45370 CLRBTH^
45371 062007 700 04 0 00 267760 CLRAPR
45372 062010 700 14 0 00 031577 CLRPI^
45373 ;TEST THAT CONO ONLY SETS PION
45374 062011 7 004 20 0 00 002000 CONO PI,CHNON ;TEST PIO SET
45375 062012 7 004 30 0 00 000001 CONSZ PI,1 ;CHECK WHY CONO SET FLAGS WHITHOUT AN IOB BIT
45376 STOP^
45377 062013 254 04 0 00 062014 HALT .+1 ;INSTRUCTION FAILED REPLACE
45378 062014 254 00 0 00 062015 JRST .+1 ;WITH JRST BACK^
45379 TBOTH^
45380 TGET^
45381 062015 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
45382 062016 302 00 0 00 062005 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
45383 STOP2^^
45384 062017 254 04 0 00 062020 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
45385 062020 254 00 0 00 062021 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
45386
45387 TSET^^
45388 062021 %X=. ;DEFINE %X TO SAVE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29-14
DFKAA8 MAC 25-AUG-75 14:17 BASIC PI SYSTEM TESTING SEQ 1052
45389 062021 201 00 0 00 062021 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
45390 062022 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
45391 CLRBTH^
45392 062023 700 04 0 00 267760 CLRAPR
45393 062024 700 14 0 00 031577 CLRPI^
45394 ;CHECK THAT CONO DOES NOT CLEAR ACTIVE
45395 062025 7 004 20 0 00 002001 CONO PI,CHNON+1 ;TEST PIO CLR
45396 062026 7 004 20 0 00 001000 CONO PI,CHNOFF ;MAYBE RESET OCCURED - BIT SHOULD STILL
45397 062027 7 004 34 0 00 000001 CONSO PI,1 ;BE SET
45398 STOP^
45399 062030 254 04 0 00 062031 HALT .+1 ;INSTRUCTION FAILED REPLACE
45400 062031 254 00 0 00 062032 JRST .+1 ;WITH JRST BACK^
45401 TGET^
45402 062032 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
45403 062033 302 00 0 00 062021 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
45404 STOP2^^
45405 062034 254 04 0 00 062035 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
45406 062035 254 00 0 00 062036 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
45407 ^
45408
45409 062036 BIGPIX: PITEST 177^
45410
45411 ;TEST SETTING OF CHANNEL FLOP
45412
45413 TSET^
45414 062036 %X=. ;DEFINE %X TO SAVE
45415 062036 201 00 0 00 062036 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
45416 062037 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
45417 062040 ..0035: CLRBTH^
45418 062040 700 04 0 00 267760 CLRAPR
45419 062041 700 14 0 00 031577 CLRPI^
45420 062042 7 004 20 0 00 002177 CONO PI,CHNON+177 ;PION FAILED TO SET
45421 062043 7 004 34 0 00 000177 CONSO PI,177
45422 STOP^
45423 062044 254 04 0 00 062045 HALT .+1 ;INSTRUCTION FAILED REPLACE
45424 062045 254 00 0 00 062046 JRST .+1 ;WITH JRST BACK^
45425 TBOTH^
45426 TGET^
45427 062046 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
45428 062047 302 00 0 00 062036 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
45429 STOP2^^
45430 062050 254 04 0 00 062051 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
45431 062051 254 00 0 00 062052 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
45432
45433 TSET^^
45434 062052 %X=. ;DEFINE %X TO SAVE
45435 062052 201 00 0 00 062052 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
45436 062053 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
45437 CLRBTH^
45438 062054 700 04 0 00 267760 CLRAPR
45439 062055 700 14 0 00 031577 CLRPI^
45440 ;TEST CLEARING OF CHANNEL FLOP
45441 062056 7 004 20 0 00 002177 CONO PI,CHNON+177 ;CHECK PIO CLR
45442 062057 7 004 20 0 00 001177 CONO PI,CHNOFF+177 ;TURN OFF CHANNELS
45443 062060 7 004 30 0 00 000177 CONSZ PI,177 ;CHECK WHY FLOP NOT CLEAR
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29-15
DFKAA8 MAC 25-AUG-75 14:17 BASIC PI SYSTEM TESTING SEQ 1053
45444 STOP^
45445 062061 254 04 0 00 062062 HALT .+1 ;INSTRUCTION FAILED REPLACE
45446 062062 254 00 0 00 062063 JRST .+1 ;WITH JRST BACK^
45447 TBOTH^
45448 TGET^
45449 062063 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
45450 062064 302 00 0 00 062052 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
45451 STOP2^^
45452 062065 254 04 0 00 062066 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
45453 062066 254 00 0 00 062067 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
45454
45455 TSET^^
45456 062067 %X=. ;DEFINE %X TO SAVE
45457 062067 201 00 0 00 062067 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
45458 062070 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
45459 CLRBTH^
45460 062071 700 04 0 00 267760 CLRAPR
45461 062072 700 14 0 00 031577 CLRPI^
45462 ;CHECK RESETING OF PI SYSTEM
45463 062073 7 004 20 0 00 002177 CONO PI,CHNON+177 ;CHECK THAT PI RESET CLEARS
45464 062074 7 004 20 0 00 010000 CONO PI,PICLR ;PI SYSTEM
45465 062075 7 004 30 0 00 000177 CONSZ PI,177
45466 STOP^
45467 062076 254 04 0 00 062077 HALT .+1 ;INSTRUCTION FAILED REPLACE
45468 062077 254 00 0 00 062100 JRST .+1 ;WITH JRST BACK^
45469 TBOTH^
45470 TGET^
45471 062100 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
45472 062101 302 00 0 00 062067 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
45473 STOP2^^
45474 062102 254 04 0 00 062103 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
45475 062103 254 00 0 00 062104 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
45476
45477 TSET^^
45478 062104 %X=. ;DEFINE %X TO SAVE
45479 062104 201 00 0 00 062104 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
45480 062105 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
45481 CLRBTH^
45482 062106 700 04 0 00 267760 CLRAPR
45483 062107 700 14 0 00 031577 CLRPI^
45484 ;TEST THAT CONO ONLY SETS PION
45485 062110 7 004 20 0 00 002000 CONO PI,CHNON ;TEST PIO SET
45486 062111 7 004 30 0 00 000177 CONSZ PI,177 ;CHECK WHY CONO SET FLAGS WHITHOUT AN IOB BIT
45487 STOP^
45488 062112 254 04 0 00 062113 HALT .+1 ;INSTRUCTION FAILED REPLACE
45489 062113 254 00 0 00 062114 JRST .+1 ;WITH JRST BACK^
45490 TBOTH^
45491 TGET^
45492 062114 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
45493 062115 302 00 0 00 062104 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
45494 STOP2^^
45495 062116 254 04 0 00 062117 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
45496 062117 254 00 0 00 062120 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
45497
45498 TSET^^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29-16
DFKAA8 MAC 25-AUG-75 14:17 BASIC PI SYSTEM TESTING SEQ 1054
45499 062120 %X=. ;DEFINE %X TO SAVE
45500 062120 201 00 0 00 062120 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
45501 062121 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
45502 CLRBTH^
45503 062122 700 04 0 00 267760 CLRAPR
45504 062123 700 14 0 00 031577 CLRPI^
45505 ;CHECK THAT CONO DOES NOT CLEAR ACTIVE
45506 062124 7 004 20 0 00 002177 CONO PI,CHNON+177 ;TEST PIO CLR
45507 062125 7 004 20 0 00 001000 CONO PI,CHNOFF ;MAYBE RESET OCCURED - BIT SHOULD STILL
45508 062126 7 004 34 0 00 000177 CONSO PI,177 ;BE SET
45509 STOP^
45510 062127 254 04 0 00 062130 HALT .+1 ;INSTRUCTION FAILED REPLACE
45511 062130 254 00 0 00 062131 JRST .+1 ;WITH JRST BACK^
45512 TGET^
45513 062131 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
45514 062132 302 00 0 00 062120 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
45515 STOP2^^
45516 062133 254 04 0 00 062134 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
45517 062134 254 00 0 00 062135 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
45518 ^
45519
45520 062135 BIGPIY: PITEST 125^
45521
45522 ;TEST SETTING OF CHANNEL FLOP
45523
45524 TSET^
45525 062135 %X=. ;DEFINE %X TO SAVE
45526 062135 201 00 0 00 062135 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
45527 062136 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
45528 062137 ..0036: CLRBTH^
45529 062137 700 04 0 00 267760 CLRAPR
45530 062140 700 14 0 00 031577 CLRPI^
45531 062141 7 004 20 0 00 002125 CONO PI,CHNON+125 ;PION FAILED TO SET
45532 062142 7 004 34 0 00 000125 CONSO PI,125
45533 STOP^
45534 062143 254 04 0 00 062144 HALT .+1 ;INSTRUCTION FAILED REPLACE
45535 062144 254 00 0 00 062145 JRST .+1 ;WITH JRST BACK^
45536 TBOTH^
45537 TGET^
45538 062145 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
45539 062146 302 00 0 00 062135 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
45540 STOP2^^
45541 062147 254 04 0 00 062150 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
45542 062150 254 00 0 00 062151 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
45543
45544 TSET^^
45545 062151 %X=. ;DEFINE %X TO SAVE
45546 062151 201 00 0 00 062151 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
45547 062152 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
45548 CLRBTH^
45549 062153 700 04 0 00 267760 CLRAPR
45550 062154 700 14 0 00 031577 CLRPI^
45551 ;TEST CLEARING OF CHANNEL FLOP
45552 062155 7 004 20 0 00 002125 CONO PI,CHNON+125 ;CHECK PIO CLR
45553 062156 7 004 20 0 00 001125 CONO PI,CHNOFF+125 ;TURN OFF CHANNELS
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29-17
DFKAA8 MAC 25-AUG-75 14:17 BASIC PI SYSTEM TESTING SEQ 1055
45554 062157 7 004 30 0 00 000125 CONSZ PI,125 ;CHECK WHY FLOP NOT CLEAR
45555 STOP^
45556 062160 254 04 0 00 062161 HALT .+1 ;INSTRUCTION FAILED REPLACE
45557 062161 254 00 0 00 062162 JRST .+1 ;WITH JRST BACK^
45558 TBOTH^
45559 TGET^
45560 062162 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
45561 062163 302 00 0 00 062151 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
45562 STOP2^^
45563 062164 254 04 0 00 062165 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
45564 062165 254 00 0 00 062166 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
45565
45566 TSET^^
45567 062166 %X=. ;DEFINE %X TO SAVE
45568 062166 201 00 0 00 062166 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
45569 062167 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
45570 CLRBTH^
45571 062170 700 04 0 00 267760 CLRAPR
45572 062171 700 14 0 00 031577 CLRPI^
45573 ;CHECK RESETING OF PI SYSTEM
45574 062172 7 004 20 0 00 002125 CONO PI,CHNON+125 ;CHECK THAT PI RESET CLEARS
45575 062173 7 004 20 0 00 010000 CONO PI,PICLR ;PI SYSTEM
45576 062174 7 004 30 0 00 000125 CONSZ PI,125
45577 STOP^
45578 062175 254 04 0 00 062176 HALT .+1 ;INSTRUCTION FAILED REPLACE
45579 062176 254 00 0 00 062177 JRST .+1 ;WITH JRST BACK^
45580 TBOTH^
45581 TGET^
45582 062177 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
45583 062200 302 00 0 00 062166 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
45584 STOP2^^
45585 062201 254 04 0 00 062202 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
45586 062202 254 00 0 00 062203 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
45587
45588 TSET^^
45589 062203 %X=. ;DEFINE %X TO SAVE
45590 062203 201 00 0 00 062203 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
45591 062204 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
45592 CLRBTH^
45593 062205 700 04 0 00 267760 CLRAPR
45594 062206 700 14 0 00 031577 CLRPI^
45595 ;TEST THAT CONO ONLY SETS PION
45596 062207 7 004 20 0 00 002000 CONO PI,CHNON ;TEST PIO SET
45597 062210 7 004 30 0 00 000125 CONSZ PI,125 ;CHECK WHY CONO SET FLAGS WHITHOUT AN IOB BIT
45598 STOP^
45599 062211 254 04 0 00 062212 HALT .+1 ;INSTRUCTION FAILED REPLACE
45600 062212 254 00 0 00 062213 JRST .+1 ;WITH JRST BACK^
45601 TBOTH^
45602 TGET^
45603 062213 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
45604 062214 302 00 0 00 062203 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
45605 STOP2^^
45606 062215 254 04 0 00 062216 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
45607 062216 254 00 0 00 062217 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
45608
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29-18
DFKAA8 MAC 25-AUG-75 14:17 BASIC PI SYSTEM TESTING SEQ 1056
45609 TSET^^
45610 062217 %X=. ;DEFINE %X TO SAVE
45611 062217 201 00 0 00 062217 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
45612 062220 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
45613 CLRBTH^
45614 062221 700 04 0 00 267760 CLRAPR
45615 062222 700 14 0 00 031577 CLRPI^
45616 ;CHECK THAT CONO DOES NOT CLEAR ACTIVE
45617 062223 7 004 20 0 00 002125 CONO PI,CHNON+125 ;TEST PIO CLR
45618 062224 7 004 20 0 00 001000 CONO PI,CHNOFF ;MAYBE RESET OCCURED - BIT SHOULD STILL
45619 062225 7 004 34 0 00 000125 CONSO PI,125 ;BE SET
45620 STOP^
45621 062226 254 04 0 00 062227 HALT .+1 ;INSTRUCTION FAILED REPLACE
45622 062227 254 00 0 00 062230 JRST .+1 ;WITH JRST BACK^
45623 TGET^
45624 062230 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
45625 062231 302 00 0 00 062217 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
45626 STOP2^^
45627 062232 254 04 0 00 062233 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
45628 062233 254 00 0 00 062234 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
45629 ^
45630
45631 062234 BIGPIZ: PITEST 52^
45632
45633 ;TEST SETTING OF CHANNEL FLOP
45634
45635 TSET^
45636 062234 %X=. ;DEFINE %X TO SAVE
45637 062234 201 00 0 00 062234 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
45638 062235 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
45639 062236 ..0037: CLRBTH^
45640 062236 700 04 0 00 267760 CLRAPR
45641 062237 700 14 0 00 031577 CLRPI^
45642 062240 7 004 20 0 00 002052 CONO PI,CHNON+52 ;PION FAILED TO SET
45643 062241 7 004 34 0 00 000052 CONSO PI,52
45644 STOP^
45645 062242 254 04 0 00 062243 HALT .+1 ;INSTRUCTION FAILED REPLACE
45646 062243 254 00 0 00 062244 JRST .+1 ;WITH JRST BACK^
45647 TBOTH^
45648 TGET^
45649 062244 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
45650 062245 302 00 0 00 062234 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
45651 STOP2^^
45652 062246 254 04 0 00 062247 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
45653 062247 254 00 0 00 062250 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
45654
45655 TSET^^
45656 062250 %X=. ;DEFINE %X TO SAVE
45657 062250 201 00 0 00 062250 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
45658 062251 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
45659 CLRBTH^
45660 062252 700 04 0 00 267760 CLRAPR
45661 062253 700 14 0 00 031577 CLRPI^
45662 ;TEST CLEARING OF CHANNEL FLOP
45663 062254 7 004 20 0 00 002052 CONO PI,CHNON+52 ;CHECK PIO CLR
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29-19
DFKAA8 MAC 25-AUG-75 14:17 BASIC PI SYSTEM TESTING SEQ 1057
45664 062255 7 004 20 0 00 001052 CONO PI,CHNOFF+52 ;TURN OFF CHANNELS
45665 062256 7 004 30 0 00 000052 CONSZ PI,52 ;CHECK WHY FLOP NOT CLEAR
45666 STOP^
45667 062257 254 04 0 00 062260 HALT .+1 ;INSTRUCTION FAILED REPLACE
45668 062260 254 00 0 00 062261 JRST .+1 ;WITH JRST BACK^
45669 TBOTH^
45670 TGET^
45671 062261 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
45672 062262 302 00 0 00 062250 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
45673 STOP2^^
45674 062263 254 04 0 00 062264 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
45675 062264 254 00 0 00 062265 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
45676
45677 TSET^^
45678 062265 %X=. ;DEFINE %X TO SAVE
45679 062265 201 00 0 00 062265 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
45680 062266 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
45681 CLRBTH^
45682 062267 700 04 0 00 267760 CLRAPR
45683 062270 700 14 0 00 031577 CLRPI^
45684 ;CHECK RESETING OF PI SYSTEM
45685 062271 7 004 20 0 00 002052 CONO PI,CHNON+52 ;CHECK THAT PI RESET CLEARS
45686 062272 7 004 20 0 00 010000 CONO PI,PICLR ;PI SYSTEM
45687 062273 7 004 30 0 00 000052 CONSZ PI,52
45688 STOP^
45689 062274 254 04 0 00 062275 HALT .+1 ;INSTRUCTION FAILED REPLACE
45690 062275 254 00 0 00 062276 JRST .+1 ;WITH JRST BACK^
45691 TBOTH^
45692 TGET^
45693 062276 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
45694 062277 302 00 0 00 062265 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
45695 STOP2^^
45696 062300 254 04 0 00 062301 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
45697 062301 254 00 0 00 062302 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
45698
45699 TSET^^
45700 062302 %X=. ;DEFINE %X TO SAVE
45701 062302 201 00 0 00 062302 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
45702 062303 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
45703 CLRBTH^
45704 062304 700 04 0 00 267760 CLRAPR
45705 062305 700 14 0 00 031577 CLRPI^
45706 ;TEST THAT CONO ONLY SETS PION
45707 062306 7 004 20 0 00 002000 CONO PI,CHNON ;TEST PIO SET
45708 062307 7 004 30 0 00 000052 CONSZ PI,52 ;CHECK WHY CONO SET FLAGS WHITHOUT AN IOB BIT
45709 STOP^
45710 062310 254 04 0 00 062311 HALT .+1 ;INSTRUCTION FAILED REPLACE
45711 062311 254 00 0 00 062312 JRST .+1 ;WITH JRST BACK^
45712 TBOTH^
45713 TGET^
45714 062312 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
45715 062313 302 00 0 00 062302 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
45716 STOP2^^
45717 062314 254 04 0 00 062315 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
45718 062315 254 00 0 00 062316 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 29-20
DFKAA8 MAC 25-AUG-75 14:17 BASIC PI SYSTEM TESTING SEQ 1058
45719
45720 TSET^^
45721 062316 %X=. ;DEFINE %X TO SAVE
45722 062316 201 00 0 00 062316 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
45723 062317 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
45724 CLRBTH^
45725 062320 700 04 0 00 267760 CLRAPR
45726 062321 700 14 0 00 031577 CLRPI^
45727 ;CHECK THAT CONO DOES NOT CLEAR ACTIVE
45728 062322 7 004 20 0 00 002052 CONO PI,CHNON+52 ;TEST PIO CLR
45729 062323 7 004 20 0 00 001000 CONO PI,CHNOFF ;MAYBE RESET OCCURED - BIT SHOULD STILL
45730 062324 7 004 34 0 00 000052 CONSO PI,52 ;BE SET
45731 STOP^
45732 062325 254 04 0 00 062326 HALT .+1 ;INSTRUCTION FAILED REPLACE
45733 062326 254 00 0 00 062327 JRST .+1 ;WITH JRST BACK^
45734 TGET^
45735 062327 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
45736 062330 302 00 0 00 062316 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
45737 STOP2^^
45738 062331 254 04 0 00 062332 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
45739 062332 254 00 0 00 062333 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
45740 ^
45741
45742 062333 255 00 0 00 000000 JFCL
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 30
DFKAA8 MAC 25-AUG-75 14:17 BASIC PI SYSTEM TESTING SEQ 1059
45743 BLURB^
45744 ;LOCATIONS 40-60 CONTAIN A JSP TO A ROUTINE WHICH STORES
45745 ;THE CHANNEL NUMBER OF THE INTERRUPT INTO 0
45746 ;THEREFORE IF AN INTERRUPT OCCURS THEN LOCATION
45747 ;ZERO WILL CONTAIN THE NUMBER OF THE INTERRUPT CHANNEL TRAP ADRESS
45748 ^
45749 ;CHECK THE SETTING AND CLEARING OF THE HOLD FLOPS
45750
45751
45752 062334 264 00 0 00 070120 TRPPI ;FILL INTERRUPT LOCATIONS WITH TRAPS
45753 040000 X=40000
45754 000100 Y=100
45755 PIOT03: REPEAT 7,<
45756 PIHCLR Y,X
45757 X=X_-1
45758 Y=Y_-1
45759 >
45760
45761 PIHCLR Y,X^
45762
45763 ;CHECK THAT PICLR CLEARS THE HOLD FLOP
45764
45765 TSET^
45766 062335 %X=. ;DEFINE %X TO SAVE
45767 062335 201 00 0 00 062335 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
45768 062336 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
45769 062337 ..0040: CLRBTH^
45770 062337 700 04 0 00 267760 CLRAPR
45771 062340 700 14 0 00 031577 CLRPI^
45772 062341 7 004 20 0 00 004300 CONO PI,REQSET+PION+Y ;CAUSE INT. TO SET HOLD
45773 WATINT^
45774 062342 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
45775 062343 367 13 0 00 062343 SOJG 13,. ;AND WAIT^
45776 062344 7 004 20 0 00 010000 CONO PI,PICLR ;THEN CLEAR VIA PI RESET
45777 062345 7 004 30 0 00 040000 CONSZ PI,X ;HOLD FLOP FAILED TO CLEAR.
45778 STOP^
45779 062346 254 04 0 00 062347 HALT .+1 ;INSTRUCTION FAILED REPLACE
45780 062347 254 00 0 00 062350 JRST .+1 ;WITH JRST BACK^
45781 TGET^
45782 062350 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
45783 062351 302 00 0 00 062335 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
45784 STOP2^^
45785 062352 254 04 0 00 062353 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
45786 062353 254 00 0 00 062354 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
45787 ^
45788 020000 X=X_-1
45789 000040 Y=Y_-1
45790
45791
45792 PIHCLR Y,X^
45793
45794 ;CHECK THAT PICLR CLEARS THE HOLD FLOP
45795
45796 TSET^
45797 062354 %X=. ;DEFINE %X TO SAVE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 30-1
DFKAA8 MAC 25-AUG-75 14:17 BASIC PI SYSTEM TESTING SEQ 1060
45798 062354 201 00 0 00 062354 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
45799 062355 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
45800 062356 ..0041: CLRBTH^
45801 062356 700 04 0 00 267760 CLRAPR
45802 062357 700 14 0 00 031577 CLRPI^
45803 062360 7 004 20 0 00 004240 CONO PI,REQSET+PION+Y ;CAUSE INT. TO SET HOLD
45804 WATINT^
45805 062361 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
45806 062362 367 13 0 00 062362 SOJG 13,. ;AND WAIT^
45807 062363 7 004 20 0 00 010000 CONO PI,PICLR ;THEN CLEAR VIA PI RESET
45808 062364 7 004 30 0 00 020000 CONSZ PI,X ;HOLD FLOP FAILED TO CLEAR.
45809 STOP^
45810 062365 254 04 0 00 062366 HALT .+1 ;INSTRUCTION FAILED REPLACE
45811 062366 254 00 0 00 062367 JRST .+1 ;WITH JRST BACK^
45812 TGET^
45813 062367 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
45814 062370 302 00 0 00 062354 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
45815 STOP2^^
45816 062371 254 04 0 00 062372 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
45817 062372 254 00 0 00 062373 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
45818 ^
45819 010000 X=X_-1
45820 000020 Y=Y_-1
45821
45822
45823 PIHCLR Y,X^
45824
45825 ;CHECK THAT PICLR CLEARS THE HOLD FLOP
45826
45827 TSET^
45828 062373 %X=. ;DEFINE %X TO SAVE
45829 062373 201 00 0 00 062373 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
45830 062374 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
45831 062375 ..0042: CLRBTH^
45832 062375 700 04 0 00 267760 CLRAPR
45833 062376 700 14 0 00 031577 CLRPI^
45834 062377 7 004 20 0 00 004220 CONO PI,REQSET+PION+Y ;CAUSE INT. TO SET HOLD
45835 WATINT^
45836 062400 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
45837 062401 367 13 0 00 062401 SOJG 13,. ;AND WAIT^
45838 062402 7 004 20 0 00 010000 CONO PI,PICLR ;THEN CLEAR VIA PI RESET
45839 062403 7 004 30 0 00 010000 CONSZ PI,X ;HOLD FLOP FAILED TO CLEAR.
45840 STOP^
45841 062404 254 04 0 00 062405 HALT .+1 ;INSTRUCTION FAILED REPLACE
45842 062405 254 00 0 00 062406 JRST .+1 ;WITH JRST BACK^
45843 TGET^
45844 062406 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
45845 062407 302 00 0 00 062373 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
45846 STOP2^^
45847 062410 254 04 0 00 062411 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
45848 062411 254 00 0 00 062412 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
45849 ^
45850 004000 X=X_-1
45851 000010 Y=Y_-1
45852
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 30-2
DFKAA8 MAC 25-AUG-75 14:17 BASIC PI SYSTEM TESTING SEQ 1061
45853
45854 PIHCLR Y,X^
45855
45856 ;CHECK THAT PICLR CLEARS THE HOLD FLOP
45857
45858 TSET^
45859 062412 %X=. ;DEFINE %X TO SAVE
45860 062412 201 00 0 00 062412 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
45861 062413 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
45862 062414 ..0043: CLRBTH^
45863 062414 700 04 0 00 267760 CLRAPR
45864 062415 700 14 0 00 031577 CLRPI^
45865 062416 7 004 20 0 00 004210 CONO PI,REQSET+PION+Y ;CAUSE INT. TO SET HOLD
45866 WATINT^
45867 062417 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
45868 062420 367 13 0 00 062420 SOJG 13,. ;AND WAIT^
45869 062421 7 004 20 0 00 010000 CONO PI,PICLR ;THEN CLEAR VIA PI RESET
45870 062422 7 004 30 0 00 004000 CONSZ PI,X ;HOLD FLOP FAILED TO CLEAR.
45871 STOP^
45872 062423 254 04 0 00 062424 HALT .+1 ;INSTRUCTION FAILED REPLACE
45873 062424 254 00 0 00 062425 JRST .+1 ;WITH JRST BACK^
45874 TGET^
45875 062425 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
45876 062426 302 00 0 00 062412 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
45877 STOP2^^
45878 062427 254 04 0 00 062430 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
45879 062430 254 00 0 00 062431 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
45880 ^
45881 002000 X=X_-1
45882 000004 Y=Y_-1
45883
45884
45885 PIHCLR Y,X^
45886
45887 ;CHECK THAT PICLR CLEARS THE HOLD FLOP
45888
45889 TSET^
45890 062431 %X=. ;DEFINE %X TO SAVE
45891 062431 201 00 0 00 062431 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
45892 062432 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
45893 062433 ..0044: CLRBTH^
45894 062433 700 04 0 00 267760 CLRAPR
45895 062434 700 14 0 00 031577 CLRPI^
45896 062435 7 004 20 0 00 004204 CONO PI,REQSET+PION+Y ;CAUSE INT. TO SET HOLD
45897 WATINT^
45898 062436 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
45899 062437 367 13 0 00 062437 SOJG 13,. ;AND WAIT^
45900 062440 7 004 20 0 00 010000 CONO PI,PICLR ;THEN CLEAR VIA PI RESET
45901 062441 7 004 30 0 00 002000 CONSZ PI,X ;HOLD FLOP FAILED TO CLEAR.
45902 STOP^
45903 062442 254 04 0 00 062443 HALT .+1 ;INSTRUCTION FAILED REPLACE
45904 062443 254 00 0 00 062444 JRST .+1 ;WITH JRST BACK^
45905 TGET^
45906 062444 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
45907 062445 302 00 0 00 062431 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 30-3
DFKAA8 MAC 25-AUG-75 14:17 BASIC PI SYSTEM TESTING SEQ 1062
45908 STOP2^^
45909 062446 254 04 0 00 062447 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
45910 062447 254 00 0 00 062450 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
45911 ^
45912 001000 X=X_-1
45913 000002 Y=Y_-1
45914
45915
45916 PIHCLR Y,X^
45917
45918 ;CHECK THAT PICLR CLEARS THE HOLD FLOP
45919
45920 TSET^
45921 062450 %X=. ;DEFINE %X TO SAVE
45922 062450 201 00 0 00 062450 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
45923 062451 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
45924 062452 ..0045: CLRBTH^
45925 062452 700 04 0 00 267760 CLRAPR
45926 062453 700 14 0 00 031577 CLRPI^
45927 062454 7 004 20 0 00 004202 CONO PI,REQSET+PION+Y ;CAUSE INT. TO SET HOLD
45928 WATINT^
45929 062455 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
45930 062456 367 13 0 00 062456 SOJG 13,. ;AND WAIT^
45931 062457 7 004 20 0 00 010000 CONO PI,PICLR ;THEN CLEAR VIA PI RESET
45932 062460 7 004 30 0 00 001000 CONSZ PI,X ;HOLD FLOP FAILED TO CLEAR.
45933 STOP^
45934 062461 254 04 0 00 062462 HALT .+1 ;INSTRUCTION FAILED REPLACE
45935 062462 254 00 0 00 062463 JRST .+1 ;WITH JRST BACK^
45936 TGET^
45937 062463 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
45938 062464 302 00 0 00 062450 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
45939 STOP2^^
45940 062465 254 04 0 00 062466 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
45941 062466 254 00 0 00 062467 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
45942 ^
45943 000400 X=X_-1
45944 000001 Y=Y_-1
45945
45946
45947 PIHCLR Y,X^
45948
45949 ;CHECK THAT PICLR CLEARS THE HOLD FLOP
45950
45951 TSET^
45952 062467 %X=. ;DEFINE %X TO SAVE
45953 062467 201 00 0 00 062467 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
45954 062470 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
45955 062471 ..0046: CLRBTH^
45956 062471 700 04 0 00 267760 CLRAPR
45957 062472 700 14 0 00 031577 CLRPI^
45958 062473 7 004 20 0 00 004201 CONO PI,REQSET+PION+Y ;CAUSE INT. TO SET HOLD
45959 WATINT^
45960 062474 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
45961 062475 367 13 0 00 062475 SOJG 13,. ;AND WAIT^
45962 062476 7 004 20 0 00 010000 CONO PI,PICLR ;THEN CLEAR VIA PI RESET
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 30-4
DFKAA8 MAC 25-AUG-75 14:17 BASIC PI SYSTEM TESTING SEQ 1063
45963 062477 7 004 30 0 00 000400 CONSZ PI,X ;HOLD FLOP FAILED TO CLEAR.
45964 STOP^
45965 062500 254 04 0 00 062501 HALT .+1 ;INSTRUCTION FAILED REPLACE
45966 062501 254 00 0 00 062502 JRST .+1 ;WITH JRST BACK^
45967 TGET^
45968 062502 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
45969 062503 302 00 0 00 062467 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
45970 STOP2^^
45971 062504 254 04 0 00 062505 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
45972 062505 254 00 0 00 062506 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
45973 ^
45974 000200 X=X_-1
45975 000000 Y=Y_-1
45976
45977 062506 255 00 0 00 000000 JFCL
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 31
DFKAA8 MAC 25-AUG-75 14:17 INTERRUPT TESTING WITH REAL INTERRUPTS SEQ 1064
45978 SUBTTL INTERRUPT TESTING WITH REAL INTERRUPTS
45979
45980 ;TEST PROPER TRAP WHEN INTERRUPTING ON EACH CHANNEL
45981 ;VIA THE CACHE SWEEP DONE FLAG--ILLEGAL TRAPS HALT--NO TRAP LOOPS
45982 ;THE HALT POINTS TO THE CHANNEL THOUGHT TO BE REQUESTED
45983
45984 ;IF PI HANGS OR BLOWS UP THEN SEE 'PII' PRINT OR 'PIR' PRINT
45985 062507 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
45986 062510 700 14 0 00 031577 CLRPI
45987 062511 700 04 0 00 267760 CLRAPR
45988 062512 200 00 0 00 071067 MOVE [JSP UUO] ;SET TRAP TO HALT
45989 062513 202 00 0 00 000041 MOVEM 41 ;IN THE UUO TRAP LOCATION
45990 062514 200 00 0 00 071070 MOVE [JSP TRP0A] ;SET PROPER RECOVERY INST.
45991 062515 202 00 0 00 000042 MOVEM 42 ;INTO CH1 TRAP
45992 062516 7 004 20 0 00 002300 CONO PI,2300 ;TURN ON CHAN1
45993 062517 7 000 20 0 00 112001 CONO APR,LENXER!LSNXER!LAPRP1 ;CAUSE CACHE SWP DONE AND CHAN
45994 STUCK^
45995 WATINT^
45996 062520 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
45997 062521 367 13 0 00 062521 SOJG 13,. ;AND WAIT^
45998 062522 254 00 0 00 062522 JRST . ;LOOOP ON SELF^
45999 062523 TRP0A: TRPCHK^
46000 062523 332 00 0 00 030042 ..0047: SKIPE MONFLG ;RESET FLAGS IF IN MONITOR
46001 062524 254 00 0 00 062527 JRST .+3 ;DONT IF STAND ALONE
46002 062525 254 02 1 00 062526 JRSTF @.+1 ;AND RESTORE THEM
46003 062526 000000 062527 USERF,.+1 ;NEW PC AND FLAGS^
46004 062527 700 14 0 00 031577 CLRPI
46005 062530 700 04 0 00 267760 CLRAPR
46006 ;IF PI HANGS OR BLOWS UP THEN SEE 'PII' PRINT OR 'PIR' PRINT
46007 ;TEST PROPER TRAP WHEN INTERRUPTING ON EACH CHANNEL
46008 ;VIA THE CACHE SWEEP DONE FLAG--ILLEGAL TRAPS HALT--NO TRAP LOOPS
46009 ;THE HALT POINTS TO THE CHANNEL THOUGHT TO BE REQUESTED
46010 062531 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
46011 062532 200 00 0 00 071071 MOVE [JSP TRP1A] ;RECOVERY INSTRUCTION INTO
46012 062533 202 00 0 00 000044 MOVEM 44 ;PROPER CHAN TRAP (2)
46013 062534 7 004 20 0 00 002240 CONO PI,2240 ;TURN CHAN 2 ON
46014 062535 7 000 20 0 00 114002 CONO APR,LESBER!LSSBER!LAPRP2 ;CAUSE CACHE SWP DONE AND CHN ON
46015 STUCK^
46016 WATINT^
46017 062536 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
46018 062537 367 13 0 00 062537 SOJG 13,. ;AND WAIT^
46019 062540 254 00 0 00 062540 JRST . ;LOOOP ON SELF^
46020 062541 TRP1A: TRPCHK^
46021 062541 332 00 0 00 030042 ..0050: SKIPE MONFLG ;RESET FLAGS IF IN MONITOR
46022 062542 254 00 0 00 062545 JRST .+3 ;DONT IF STAND ALONE
46023 062543 254 02 1 00 062544 JRSTF @.+1 ;AND RESTORE THEM
46024 062544 000000 062545 USERF,.+1 ;NEW PC AND FLAGS^
46025 062545 700 14 0 00 031577 CLRPI
46026 062546 700 04 0 00 267760 CLRAPR
46027 ;IF PI HANGS OR BLOWS UP THEN SEE 'PII' PRINT OR 'PIR' PRINT
46028 ;TEST PROPER TRAP WHEN INTERRUPTING ON EACH CHANNEL
46029 ;VIA THE CACHE SWEEP DONE FLAG--ILLEGAL TRAPS HALT--NO TRAP LOOPS
46030 ;THE HALT POINTS TO THE CHANNEL THOUGHT TO BE REQUESTED
46031 062547 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
46032 062550 200 00 0 00 071072 MOVE [JSP TRP2A] ;RECOVERY INSTRUCTION
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 31-1
DFKAA8 MAC 25-AUG-75 14:17 INTERRUPT TESTING WITH REAL INTERRUPTS SEQ 1065
46033 062551 202 00 0 00 000046 MOVEM 46 ;INTO PROPER CHAN TRAP (3)
46034 062552 7 004 20 0 00 002220 CONO PI,2220 ;TURN CHAN 3 ON
46035 062553 7 000 20 0 00 110403 CONO APR,LEPAER!LSPAER!LAPRP3 ;CAUSE CACHE SWP DONE AND CHAN ON
46036 STUCK^
46037 WATINT^
46038 062554 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
46039 062555 367 13 0 00 062555 SOJG 13,. ;AND WAIT^
46040 062556 254 00 0 00 062556 JRST . ;LOOOP ON SELF^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 32
DFKAA8 MAC 25-AUG-75 14:17 INTERRUPT TESTING WITH REAL INTERRUPTS SEQ 1066
46041 062557 TRP2A: TRPCHK^
46042 062557 332 00 0 00 030042 ..0051: SKIPE MONFLG ;RESET FLAGS IF IN MONITOR
46043 062560 254 00 0 00 062563 JRST .+3 ;DONT IF STAND ALONE
46044 062561 254 02 1 00 062562 JRSTF @.+1 ;AND RESTORE THEM
46045 062562 000000 062563 USERF,.+1 ;NEW PC AND FLAGS^
46046 062563 700 14 0 00 031577 CLRPI
46047 062564 700 04 0 00 267760 CLRAPR
46048 ;IF PI HANGS OR BLOWS UP THEN SEE 'PII' PRINT OR 'PIR' PRINT
46049 ;TEST PROPER TRAP WHEN INTERRUPTING ON EACH CHANNEL
46050 ;VIA THE CACHE SWEEP DONE FLAG--ILLEGAL TRAPS HALT--NO TRAP LOOPS
46051 ;THE HALT POINTS TO THE CHANNEL THOUGHT TO BE REQUESTED
46052 062565 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
46053 062566 200 00 0 00 071073 MOVE [JSP TRP3A] ;RECOVERY INSTRUCTION
46054 062567 202 00 0 00 000050 MOVEM 50 ;INTO PROPER CHAN TRAP (4)
46055 062570 7 004 20 0 00 002210 CONO PI,2210 ;TURN CHAN 4 ON
46056 062571 7 000 20 0 00 111004 CONO APR,LEIOPF!LSIOPF!LAPRP4 ;CAUSE CACHE SWP DONE AND CHAN ON
46057 STUCK^
46058 WATINT^
46059 062572 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
46060 062573 367 13 0 00 062573 SOJG 13,. ;AND WAIT^
46061 062574 254 00 0 00 062574 JRST . ;LOOOP ON SELF^
46062 062575 TRP3A: TRPCHK^
46063 062575 332 00 0 00 030042 ..0052: SKIPE MONFLG ;RESET FLAGS IF IN MONITOR
46064 062576 254 00 0 00 062601 JRST .+3 ;DONT IF STAND ALONE
46065 062577 254 02 1 00 062600 JRSTF @.+1 ;AND RESTORE THEM
46066 062600 000000 062601 USERF,.+1 ;NEW PC AND FLAGS^
46067 062601 700 14 0 00 031577 CLRPI
46068 062602 700 04 0 00 267760 CLRAPR
46069 ;IF PI HANGS OR BLOWS UP THEN SEE 'PII' PRINT OR 'PIR' PRINT
46070 ;TEST PROPER TRAP WHEN INTERRUPTING ON EACH CHANNEL
46071 ;VIA THE CACHE SWEEP DONE FLAG--ILLEGAL TRAPS HALT--NO TRAP LOOPS
46072 ;THE HALT POINTS TO THE CHANNEL THOUGHT TO BE REQUESTED
46073 062603 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
46074 062604 200 00 0 00 071074 MOVE [JSP TRP4A] ;RECOVERY INSTRUCTION
46075 062605 202 00 0 00 000052 MOVEM 52 ;INTO PROPER CHAN TRAP (5)
46076 062606 7 004 20 0 00 002204 CONO PI,2204 ;TURN CHAN 5 ON
46077 062607 7 000 20 0 00 110025 CONO APR,LECASD!LSCASD!LAPRP5 ;CAUSE CACHE SWP DONE AND CHAN ON
46078 STUCK^
46079 WATINT^
46080 062610 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
46081 062611 367 13 0 00 062611 SOJG 13,. ;AND WAIT^
46082 062612 254 00 0 00 062612 JRST . ;LOOOP ON SELF^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 33
DFKAA8 MAC 25-AUG-75 14:17 INTERRUPT TESTING WITH REAL INTERRUPTS SEQ 1067
46083 062613 TRP4A: TRPCHK^
46084 062613 332 00 0 00 030042 ..0053: SKIPE MONFLG ;RESET FLAGS IF IN MONITOR
46085 062614 254 00 0 00 062617 JRST .+3 ;DONT IF STAND ALONE
46086 062615 254 02 1 00 062616 JRSTF @.+1 ;AND RESTORE THEM
46087 062616 000000 062617 USERF,.+1 ;NEW PC AND FLAGS^
46088 062617 700 14 0 00 031577 CLRPI
46089 062620 700 04 0 00 267760 CLRAPR
46090
46091 ;IF PI HANGS OR BLOWS UP THEN SEE 'PII' PRINT OR 'PIR' PRINT
46092 ;TEST PROPER TRAP WHEN INTERRUPTING ON EACH CHANNEL
46093 ;VIA THE CACHE SWEEP DONE FLAG--ILLEGAL TRAPS HALT--NO TRAP LOOPS
46094 ;THE HALT POINTS TO THE CHANNEL THOUGHT TO BE REQUESTED
46095 062621 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
46096 062622 200 00 0 00 071075 MOVE [JSP TRP5A] ;RECOVERY INSTRUCTION
46097 062623 202 00 0 00 000054 MOVEM 54 ;INTO PROPER CHAN TRAP (6)
46098 062624 7 004 20 0 00 002202 CONO PI,2202 ;TURN CHAN 6 ON
46099 062625 7 000 20 0 00 110046 CONO APR,LEPWRF!LSPWRF!LAPRP6 ;CAUSE CACHE SWP DONE AND CHAN ON
46100 STUCK^
46101 WATINT^
46102 062626 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
46103 062627 367 13 0 00 062627 SOJG 13,. ;AND WAIT^
46104 062630 254 00 0 00 062630 JRST . ;LOOOP ON SELF^
46105 062631 TRP5A: TRPCHK^
46106 062631 332 00 0 00 030042 ..0054: SKIPE MONFLG ;RESET FLAGS IF IN MONITOR
46107 062632 254 00 0 00 062635 JRST .+3 ;DONT IF STAND ALONE
46108 062633 254 02 1 00 062634 JRSTF @.+1 ;AND RESTORE THEM
46109 062634 000000 062635 USERF,.+1 ;NEW PC AND FLAGS^
46110 062635 700 14 0 00 031577 CLRPI
46111 062636 700 04 0 00 267760 CLRAPR
46112 ;IF PI HANGS OR BLOWS UP THEN SEE 'PII' PRINT OR 'PIR' PRINT
46113 ;TEST PROPER TRAP WHEN INTERRUPTING ON EACH CHANNEL
46114 ;VIA THE CACHE SWEEP DONE FLAG--ILLEGAL TRAPS HALT--NO TRAP LOOPS
46115 ;THE HALT POINTS TO THE CHANNEL THOUGHT TO BE REQUESTED
46116 062637 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
46117 062640 200 00 0 00 071076 MOVE [JSP TRP6A] ;RECOVERY INSTRUCTION
46118 062641 202 00 0 00 000056 MOVEM 56 ;INTO PROPER CHAN TRAP (7)
46119 062642 7 004 20 0 00 002201 CONO PI,2201 ;TURN CHAN 7 ON
46120 062643 7 000 20 0 00 110047 CONO APR,LEPWRF!LSPWRF!LAPRP7 ;CASUE CACHE SWP DONE AND CHAN ON
46121 STUCK^
46122 WATINT^
46123 062644 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
46124 062645 367 13 0 00 062645 SOJG 13,. ;AND WAIT^
46125 062646 254 00 0 00 062646 JRST . ;LOOOP ON SELF^
46126 062647 TRP6A: TRPCHK^
46127 062647 332 00 0 00 030042 ..0055: SKIPE MONFLG ;RESET FLAGS IF IN MONITOR
46128 062650 254 00 0 00 062653 JRST .+3 ;DONT IF STAND ALONE
46129 062651 254 02 1 00 062652 JRSTF @.+1 ;AND RESTORE THEM
46130 062652 000000 062653 USERF,.+1 ;NEW PC AND FLAGS^
46131
46132 062653 255 00 0 00 000000 JFCL
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 34
DFKAA8 MAC 25-AUG-75 14:17 INTERNAL INTERRUPT REQUEST TESTING SEQ 1068
46133 SUBTTL INTERNAL INTERRUPT REQUEST TESTING
46134
46135 ;CHECK THE ABILITY TO GENERATE PI REQUESTS VIA PROGRAM REQEST ON ALL
46136 ;CHANNELS.
46137 062654 265 00 0 00 062655 JSP .+1 ;GET FLAGS
46138 062655 603 00 0 00 010000 TLNE USERF ;USER MODE BIT ON
46139 062656 254 00 0 00 062657 JRST .+1 ;DONT DO IF USER MODE!
46140
46141 CLRBTH^
46142 062657 700 04 0 00 267760 CLRAPR
46143 062660 700 14 0 00 031577 CLRPI^
46144 ;IF PI HANGS OR BLOWS UP THEN SEE 'PII' PRINT OR 'PIR' PRINT
46145 062661 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
46146 062662 700 14 0 00 031577 CLRPI
46147 062663 700 04 0 00 267760 CLRAPR
46148 TRAP <JSP CKI01>,42^
46149 062664 200 00 0 00 071077 MOVE [JSP CKI01] ;SET TRAP INSTRUCTION
46150 062665 202 00 0 00 000042 MOVEM 42 ;INTO TRAP LOCATION^
46151 062666 7 004 20 0 00 006300 CONO PI,6300 ;INTERRUPT ON CH1
46152 STUCK^
46153 WATINT^
46154 062667 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
46155 062670 367 13 0 00 062670 SOJG 13,. ;AND WAIT^
46156 062671 254 00 0 00 062671 JRST . ;LOOOP ON SELF^
46157 ;IF PI HANGS OR BLOWS UP THEN SEE 'PII' PRINT OR 'PIR' PRINT
46158 062672 CKI01: TRPCHK^
46159 062672 332 00 0 00 030042 ..0056: SKIPE MONFLG ;RESET FLAGS IF IN MONITOR
46160 062673 254 00 0 00 062676 JRST .+3 ;DONT IF STAND ALONE
46161 062674 254 02 1 00 062675 JRSTF @.+1 ;AND RESTORE THEM
46162 062675 000000 062676 USERF,.+1 ;NEW PC AND FLAGS^
46163 062676 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
46164 062677 700 14 0 00 031577 CLRPI
46165 062700 700 04 0 00 267760 CLRAPR
46166 TRAP <JSP CKI02>,44^
46167 062701 200 00 0 00 071100 MOVE [JSP CKI02] ;SET TRAP INSTRUCTION
46168 062702 202 00 0 00 000044 MOVEM 44 ;INTO TRAP LOCATION^
46169 062703 7 004 20 0 00 006240 CONO PI,6240 ;INTERRUPT ON CH 2
46170 STUCK^
46171 WATINT^
46172 062704 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
46173 062705 367 13 0 00 062705 SOJG 13,. ;AND WAIT^
46174 062706 254 00 0 00 062706 JRST . ;LOOOP ON SELF^
46175 ;IF PI HANGS OR BLOWS UP THEN SEE 'PII' PRINT OR 'PIR' PRINT
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 35
DFKAA8 MAC 25-AUG-75 14:17 INTERNAL INTERRUPT REQUEST TESTING SEQ 1069
46176 062707 CKI02: TRPCHK^
46177 062707 332 00 0 00 030042 ..0057: SKIPE MONFLG ;RESET FLAGS IF IN MONITOR
46178 062710 254 00 0 00 062713 JRST .+3 ;DONT IF STAND ALONE
46179 062711 254 02 1 00 062712 JRSTF @.+1 ;AND RESTORE THEM
46180 062712 000000 062713 USERF,.+1 ;NEW PC AND FLAGS^
46181 062713 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
46182 062714 700 14 0 00 031577 CLRPI
46183 062715 700 04 0 00 267760 CLRAPR
46184 TRAP <JSP CKI03>,46^
46185 062716 200 00 0 00 071101 MOVE [JSP CKI03] ;SET TRAP INSTRUCTION
46186 062717 202 00 0 00 000046 MOVEM 46 ;INTO TRAP LOCATION^
46187 062720 7 004 20 0 00 006220 CONO PI,6220 ;INTERRUPT ON CH 3
46188 STUCK^
46189 WATINT^
46190 062721 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
46191 062722 367 13 0 00 062722 SOJG 13,. ;AND WAIT^
46192 062723 254 00 0 00 062723 JRST . ;LOOOP ON SELF^
46193 ;IF PI HANGS OR BLOWS UP THEN SEE 'PII' PRINT OR 'PIR' PRINT
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 36
DFKAA8 MAC 25-AUG-75 14:17 INTERNAL INTERRUPT REQUEST TESTING SEQ 1070
46194 062724 CKI03: TRPCHK^
46195 062724 332 00 0 00 030042 ..0060: SKIPE MONFLG ;RESET FLAGS IF IN MONITOR
46196 062725 254 00 0 00 062730 JRST .+3 ;DONT IF STAND ALONE
46197 062726 254 02 1 00 062727 JRSTF @.+1 ;AND RESTORE THEM
46198 062727 000000 062730 USERF,.+1 ;NEW PC AND FLAGS^
46199 062730 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
46200 062731 700 14 0 00 031577 CLRPI
46201 062732 700 04 0 00 267760 CLRAPR
46202 TRAP <JSP CKI04>,50^
46203 062733 200 00 0 00 071102 MOVE [JSP CKI04] ;SET TRAP INSTRUCTION
46204 062734 202 00 0 00 000050 MOVEM 50 ;INTO TRAP LOCATION^
46205 062735 7 004 20 0 00 006210 CONO PI,6210 ;INTERRUPT ON CH 4
46206 STUCK^
46207 WATINT^
46208 062736 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
46209 062737 367 13 0 00 062737 SOJG 13,. ;AND WAIT^
46210 062740 254 00 0 00 062740 JRST . ;LOOOP ON SELF^
46211 ;IF PI HANGS OR BLOWS UP THEN SEE 'PII' PRINT OR 'PIR' PRINT
46212 062741 CKI04: TRPCHK^
46213 062741 332 00 0 00 030042 ..0061: SKIPE MONFLG ;RESET FLAGS IF IN MONITOR
46214 062742 254 00 0 00 062745 JRST .+3 ;DONT IF STAND ALONE
46215 062743 254 02 1 00 062744 JRSTF @.+1 ;AND RESTORE THEM
46216 062744 000000 062745 USERF,.+1 ;NEW PC AND FLAGS^
46217 062745 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
46218 062746 700 14 0 00 031577 CLRPI
46219 062747 700 04 0 00 267760 CLRAPR
46220 TRAP <JSP CKI05>,52^
46221 062750 200 00 0 00 071103 MOVE [JSP CKI05] ;SET TRAP INSTRUCTION
46222 062751 202 00 0 00 000052 MOVEM 52 ;INTO TRAP LOCATION^
46223 062752 7 004 20 0 00 006204 CONO PI,6204 ;INTERRUPT ON CH 5
46224 STUCK^
46225 WATINT^
46226 062753 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
46227 062754 367 13 0 00 062754 SOJG 13,. ;AND WAIT^
46228 062755 254 00 0 00 062755 JRST . ;LOOOP ON SELF^
46229 ;IF PI HANGS OR BLOWS UP THEN SEE 'PII' PRINT OR 'PIR' PRINT
46230 062756 CKI05: TRPCHK^
46231 062756 332 00 0 00 030042 ..0062: SKIPE MONFLG ;RESET FLAGS IF IN MONITOR
46232 062757 254 00 0 00 062762 JRST .+3 ;DONT IF STAND ALONE
46233 062760 254 02 1 00 062761 JRSTF @.+1 ;AND RESTORE THEM
46234 062761 000000 062762 USERF,.+1 ;NEW PC AND FLAGS^
46235 062762 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
46236 062763 700 14 0 00 031577 CLRPI
46237 062764 700 04 0 00 267760 CLRAPR
46238 TRAP <JSP CKI06>,54^
46239 062765 200 00 0 00 071104 MOVE [JSP CKI06] ;SET TRAP INSTRUCTION
46240 062766 202 00 0 00 000054 MOVEM 54 ;INTO TRAP LOCATION^
46241 062767 7 004 20 0 00 006202 CONO PI,6202 ;INTERRUPT ON CH 6
46242 STUCK^
46243 WATINT^
46244 062770 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
46245 062771 367 13 0 00 062771 SOJG 13,. ;AND WAIT^
46246 062772 254 00 0 00 062772 JRST . ;LOOOP ON SELF^
46247 ;IF PI HANGS OR BLOWS UP THEN SEE 'PII' PRINT OR 'PIR' PRINT
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 37
DFKAA8 MAC 25-AUG-75 14:17 INTERNAL INTERRUPT REQUEST TESTING SEQ 1071
46248 062773 CKI06: TRPCHK^
46249 062773 332 00 0 00 030042 ..0063: SKIPE MONFLG ;RESET FLAGS IF IN MONITOR
46250 062774 254 00 0 00 062777 JRST .+3 ;DONT IF STAND ALONE
46251 062775 254 02 1 00 062776 JRSTF @.+1 ;AND RESTORE THEM
46252 062776 000000 062777 USERF,.+1 ;NEW PC AND FLAGS^
46253 062777 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
46254 063000 700 14 0 00 031577 CLRPI
46255 063001 700 04 0 00 267760 CLRAPR
46256 TRAP <JSP CKI07>,56^
46257 063002 200 00 0 00 071105 MOVE [JSP CKI07] ;SET TRAP INSTRUCTION
46258 063003 202 00 0 00 000056 MOVEM 56 ;INTO TRAP LOCATION^
46259 063004 7 004 20 0 00 006201 CONO PI,6201 ;INTERRUPT ON CH 7
46260 STUCK^
46261 WATINT^
46262 063005 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
46263 063006 367 13 0 00 063006 SOJG 13,. ;AND WAIT^
46264 063007 254 00 0 00 063007 JRST . ;LOOOP ON SELF^
46265 ;IF PI HANGS OR BLOWS UP THEN SEE 'PII' PRINT OR 'PIR' PRINT
46266 063010 CKI07: TRPCHK^
46267 063010 332 00 0 00 030042 ..0064: SKIPE MONFLG ;RESET FLAGS IF IN MONITOR
46268 063011 254 00 0 00 063014 JRST .+3 ;DONT IF STAND ALONE
46269 063012 254 02 1 00 063013 JRSTF @.+1 ;AND RESTORE THEM
46270 063013 000000 063014 USERF,.+1 ;NEW PC AND FLAGS^
46271 063014 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
46272 063015 264 00 0 00 070072 CLRTRP
46273 063016 700 14 0 00 031577 CLRPI
46274 063017 700 04 0 00 267760 CLRAPR
46275 063020 255 00 0 00 000000 JFCL
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 38
DFKAA8 MAC 25-AUG-75 14:17 PRIORITY TESTING SEQ 1072
46276 SUBTTL PRIORITY TESTING
46277 ;THIS TEST CHECKS TO SEE IF INTERRUPTS RECOGNIZE THE PROPER PRIORITY
46278 ;IMPROPER TRAPS WILL HALT - NO TRAPS WILL CAUSE PROGRAM TO HANG
46279 ;IF PROGRAM STUCK THEN REPLACE "JRST ." WITH JRST BACK TO MULT7
46280 ;IF PROGRAM HALTS THEN REPLACE "JSP" IN INTERRUPT LOCATION
46281 ;TO "JSP" TO ROUTINE WHICH CAUSED THE TRAP +1
46282 ;FOR EXAMPLE IF ROUTINE TRAPPED TO LOCATION '50' IN 50
46283 ;YOU WOULD PUT A JSP 17, TO "MULTX ROUTINE+3
46284
46285 063021 MULTI: CLRBT1^
46286 063021 700 04 0 00 267760 CLRAPR
46287 063022 700 14 0 00 031577 CLRPI^
46288 063023 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
46289 TRAP <JSP MULT6>,56^
46290 063024 200 00 0 00 071106 MOVE [JSP MULT6] ;SET TRAP INSTRUCTION
46291 063025 202 00 0 00 000056 MOVEM 56 ;INTO TRAP LOCATION^
46292 063026 7 004 20 0 00 002377 CONO PI,CHNON+PION+177 ;TURN ON PI SYSTEM
46293 SBWAIT 7^
46294 063027 7 000 20 0 00 114007 ..0065: CONO APR,LESBER!LSSBER!7
46295 STUCK^^
46296 WATINT^
46297 063030 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
46298 063031 367 13 0 00 063031 SOJG 13,. ;AND WAIT^
46299 063032 254 00 0 00 063032 JRST . ;LOOOP ON SELF^
46300 063033 MULT6: TRPCHK^
46301 063033 332 00 0 00 030042 ..0066: SKIPE MONFLG ;RESET FLAGS IF IN MONITOR
46302 063034 254 00 0 00 063037 JRST .+3 ;DONT IF STAND ALONE
46303 063035 254 02 1 00 063036 JRSTF @.+1 ;AND RESTORE THEM
46304 063036 000000 063037 USERF,.+1 ;NEW PC AND FLAGS^
46305 063037 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
46306 TRAP <JSP MULT5>,54^
46307 063040 200 00 0 00 071107 MOVE [JSP MULT5] ;SET TRAP INSTRUCTION
46308 063041 202 00 0 00 000054 MOVEM 54 ;INTO TRAP LOCATION^
46309 063042 7 004 20 0 00 002377 CONO PI,CHNON+PION+177 ;TURN ON PI SYSTEM
46310 SBWAIT 6^
46311 063043 7 000 20 0 00 114006 ..0067: CONO APR,LESBER!LSSBER!6
46312 STUCK^^
46313 WATINT^
46314 063044 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
46315 063045 367 13 0 00 063045 SOJG 13,. ;AND WAIT^
46316 063046 254 00 0 00 063046 JRST . ;LOOOP ON SELF^
46317 063047 MULT5: TRPCHK^
46318 063047 332 00 0 00 030042 ..0070: SKIPE MONFLG ;RESET FLAGS IF IN MONITOR
46319 063050 254 00 0 00 063053 JRST .+3 ;DONT IF STAND ALONE
46320 063051 254 02 1 00 063052 JRSTF @.+1 ;AND RESTORE THEM
46321 063052 000000 063053 USERF,.+1 ;NEW PC AND FLAGS^
46322 063053 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
46323 TRAP <JSP MULT4>,52^
46324 063054 200 00 0 00 071110 MOVE [JSP MULT4] ;SET TRAP INSTRUCTION
46325 063055 202 00 0 00 000052 MOVEM 52 ;INTO TRAP LOCATION^
46326 063056 7 004 20 0 00 002377 CONO PI,CHNON+PION+177 ;TURN ON PI SYSTEM
46327 SBWAIT 5^
46328 063057 7 000 20 0 00 114005 ..0071: CONO APR,LESBER!LSSBER!5
46329 STUCK^^
46330 WATINT^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 38-1
DFKAA8 MAC 25-AUG-75 14:17 PRIORITY TESTING SEQ 1073
46331 063060 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
46332 063061 367 13 0 00 063061 SOJG 13,. ;AND WAIT^
46333 063062 254 00 0 00 063062 JRST . ;LOOOP ON SELF^
46334 063063 MULT4: TRPCHK^
46335 063063 332 00 0 00 030042 ..0072: SKIPE MONFLG ;RESET FLAGS IF IN MONITOR
46336 063064 254 00 0 00 063067 JRST .+3 ;DONT IF STAND ALONE
46337 063065 254 02 1 00 063066 JRSTF @.+1 ;AND RESTORE THEM
46338 063066 000000 063067 USERF,.+1 ;NEW PC AND FLAGS^
46339 063067 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
46340 TRAP <JSP MULT3>,50^
46341 063070 200 00 0 00 071111 MOVE [JSP MULT3] ;SET TRAP INSTRUCTION
46342 063071 202 00 0 00 000050 MOVEM 50 ;INTO TRAP LOCATION^
46343 063072 7 004 20 0 00 002377 CONO PI,CHNON+PION+177 ;TURN ON PI SYSTEM
46344 SBWAIT 4^
46345 063073 7 000 20 0 00 114004 ..0073: CONO APR,LESBER!LSSBER!4
46346 STUCK^^
46347 WATINT^
46348 063074 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
46349 063075 367 13 0 00 063075 SOJG 13,. ;AND WAIT^
46350 063076 254 00 0 00 063076 JRST . ;LOOOP ON SELF^
46351 063077 MULT3: TRPCHK^
46352 063077 332 00 0 00 030042 ..0074: SKIPE MONFLG ;RESET FLAGS IF IN MONITOR
46353 063100 254 00 0 00 063103 JRST .+3 ;DONT IF STAND ALONE
46354 063101 254 02 1 00 063102 JRSTF @.+1 ;AND RESTORE THEM
46355 063102 000000 063103 USERF,.+1 ;NEW PC AND FLAGS^
46356 063103 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
46357 TRAP <JSP MULT2>,46^
46358 063104 200 00 0 00 071112 MOVE [JSP MULT2] ;SET TRAP INSTRUCTION
46359 063105 202 00 0 00 000046 MOVEM 46 ;INTO TRAP LOCATION^
46360 063106 7 004 20 0 00 002377 CONO PI,CHNON+PION+177 ;TURN ON PI SYSTEM
46361 SBWAIT 3^
46362 063107 7 000 20 0 00 114003 ..0075: CONO APR,LESBER!LSSBER!3
46363 STUCK^^
46364 WATINT^
46365 063110 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
46366 063111 367 13 0 00 063111 SOJG 13,. ;AND WAIT^
46367 063112 254 00 0 00 063112 JRST . ;LOOOP ON SELF^
46368 063113 MULT2: TRPCHK^
46369 063113 332 00 0 00 030042 ..0076: SKIPE MONFLG ;RESET FLAGS IF IN MONITOR
46370 063114 254 00 0 00 063117 JRST .+3 ;DONT IF STAND ALONE
46371 063115 254 02 1 00 063116 JRSTF @.+1 ;AND RESTORE THEM
46372 063116 000000 063117 USERF,.+1 ;NEW PC AND FLAGS^
46373 063117 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
46374 TRAP <JSP MULT1>,44^
46375 063120 200 00 0 00 071113 MOVE [JSP MULT1] ;SET TRAP INSTRUCTION
46376 063121 202 00 0 00 000044 MOVEM 44 ;INTO TRAP LOCATION^
46377 063122 7 004 20 0 00 002377 CONO PI,CHNON+PION+177 ;TURN ON PI SYSTEM
46378 SBWAIT 2^
46379 063123 7 000 20 0 00 114002 ..0077: CONO APR,LESBER!LSSBER!2
46380 STUCK^^
46381 WATINT^
46382 063124 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
46383 063125 367 13 0 00 063125 SOJG 13,. ;AND WAIT^
46384 063126 254 00 0 00 063126 JRST . ;LOOOP ON SELF^
46385 063127 MULT1: TRPCHK^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 38-2
DFKAA8 MAC 25-AUG-75 14:17 PRIORITY TESTING SEQ 1074
46386 063127 332 00 0 00 030042 ..0100: SKIPE MONFLG ;RESET FLAGS IF IN MONITOR
46387 063130 254 00 0 00 063133 JRST .+3 ;DONT IF STAND ALONE
46388 063131 254 02 1 00 063132 JRSTF @.+1 ;AND RESTORE THEM
46389 063132 000000 063133 USERF,.+1 ;NEW PC AND FLAGS^
46390 063133 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
46391 TRAP <JSP MULT0>,42^
46392 063134 200 00 0 00 071114 MOVE [JSP MULT0] ;SET TRAP INSTRUCTION
46393 063135 202 00 0 00 000042 MOVEM 42 ;INTO TRAP LOCATION^
46394 063136 7 004 20 0 00 002377 CONO PI,CHNON+PION+177 ;TURN ON PI SYSTEM
46395 SBWAIT 1^
46396 063137 7 000 20 0 00 114001 ..0101: CONO APR,LESBER!LSSBER!1
46397 STUCK^^
46398 WATINT^
46399 063140 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
46400 063141 367 13 0 00 063141 SOJG 13,. ;AND WAIT^
46401 063142 254 00 0 00 063142 JRST . ;LOOOP ON SELF^
46402 063143 MULT0: TRPCHK^
46403 063143 332 00 0 00 030042 ..0102: SKIPE MONFLG ;RESET FLAGS IF IN MONITOR
46404 063144 254 00 0 00 063147 JRST .+3 ;DONT IF STAND ALONE
46405 063145 254 02 1 00 063146 JRSTF @.+1 ;AND RESTORE THEM
46406 063146 000000 063147 USERF,.+1 ;NEW PC AND FLAGS^
46407 063147 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
46408 CLRBTH^
46409 063150 700 04 0 00 267760 CLRAPR
46410 063151 700 14 0 00 031577 CLRPI^
46411 063152 255 00 0 00 000000 JFCL
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 39
DFKAA8 MAC 25-AUG-75 14:17 DUAL REQUEST TESTING SEQ 1075
46412 SUBTTL DUAL REQUEST TESTING
46413 ;TEST THAT INTERRUPTING ON 2 CHANNELS AT ONCE TRAPS
46414 ;TO THE CORRECT TRAP. TEST IS DONE ON ALL POSSIBLE CHANNELS I.E.
46415 ;7,1 7,2 7,3 7,4 7,5 7,6 6,1 6,2...ETC
46416
46417
46418 063153 C2A: TSET^
46419 063153 %X=. ;DEFINE %X TO SAVE
46420 063153 201 00 0 00 063153 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
46421 063154 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
46422 XCHN2 C2B,42,101^
46423
46424 ;REQUEST INTERRUPTS ON 2 CHANNELS AT ONCE TO SEE IF THEY TRAP
46425 ;TO THE CORRECT (I.E. HIGHEST PRIORITY) CHANNEL.
46426 ;IF ERROR OCCURS CHECK "PIN" PRINT
46427
46428 TRPCHK^
46429 063155 332 00 0 00 030042 ..0103: SKIPE MONFLG ;RESET FLAGS IF IN MONITOR
46430 063156 254 00 0 00 063161 JRST .+3 ;DONT IF STAND ALONE
46431 063157 254 02 1 00 063160 JRSTF @.+1 ;AND RESTORE THEM
46432 063160 000000 063161 USERF,.+1 ;NEW PC AND FLAGS^
46433 CLRBTH^
46434 063161 700 04 0 00 267760 CLRAPR
46435 063162 700 14 0 00 031577 CLRPI^
46436 063163 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
46437 063164 200 00 0 00 071115 MOVE [JSP C2B] ;SET UP FOR CORRECT
46438 063165 202 00 0 00 000042 MOVEM 42 ;INTERRUPT TRAP
46439 063166 7 004 20 0 00 002377 CONO PI,CHNON!PION!177 ;TURN ON PI SYSTEM
46440 063167 7 004 20 0 00 004101 CONO PI,REQSET!101 ;REQUEST INTERRUPT ON TWO CHANNELS
46441 STUCK^
46442 WATINT^
46443 063170 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
46444 063171 367 13 0 00 063171 SOJG 13,. ;AND WAIT^
46445 063172 254 00 0 00 063172 JRST . ;LOOOP ON SELF^
46446 ^
46447 063173 C2B: TBOTH^
46448 TGET^
46449 063173 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
46450 063174 302 00 0 00 063153 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
46451 STOP2^^
46452 063175 254 04 0 00 063176 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
46453 063176 254 00 0 00 063177 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
46454
46455 TSET^^
46456 063177 %X=. ;DEFINE %X TO SAVE
46457 063177 201 00 0 00 063177 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
46458 063200 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
46459 XCHN2 C2C,44,41^
46460
46461 ;REQUEST INTERRUPTS ON 2 CHANNELS AT ONCE TO SEE IF THEY TRAP
46462 ;TO THE CORRECT (I.E. HIGHEST PRIORITY) CHANNEL.
46463 ;IF ERROR OCCURS CHECK "PIN" PRINT
46464
46465 TRPCHK^
46466 063201 332 00 0 00 030042 ..0104: SKIPE MONFLG ;RESET FLAGS IF IN MONITOR
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 39-1
DFKAA8 MAC 25-AUG-75 14:17 DUAL REQUEST TESTING SEQ 1076
46467 063202 254 00 0 00 063205 JRST .+3 ;DONT IF STAND ALONE
46468 063203 254 02 1 00 063204 JRSTF @.+1 ;AND RESTORE THEM
46469 063204 000000 063205 USERF,.+1 ;NEW PC AND FLAGS^
46470 CLRBTH^
46471 063205 700 04 0 00 267760 CLRAPR
46472 063206 700 14 0 00 031577 CLRPI^
46473 063207 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
46474 063210 200 00 0 00 071116 MOVE [JSP C2C] ;SET UP FOR CORRECT
46475 063211 202 00 0 00 000044 MOVEM 44 ;INTERRUPT TRAP
46476 063212 7 004 20 0 00 002377 CONO PI,CHNON!PION!177 ;TURN ON PI SYSTEM
46477 063213 7 004 20 0 00 004041 CONO PI,REQSET!41 ;REQUEST INTERRUPT ON TWO CHANNELS
46478 STUCK^
46479 WATINT^
46480 063214 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
46481 063215 367 13 0 00 063215 SOJG 13,. ;AND WAIT^
46482 063216 254 00 0 00 063216 JRST . ;LOOOP ON SELF^
46483 ^
46484 063217 C2C: TBOTH^
46485 TGET^
46486 063217 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
46487 063220 302 00 0 00 063177 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
46488 STOP2^^
46489 063221 254 04 0 00 063222 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
46490 063222 254 00 0 00 063223 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
46491
46492 TSET^^
46493 063223 %X=. ;DEFINE %X TO SAVE
46494 063223 201 00 0 00 063223 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
46495 063224 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
46496 XCHN2 C2D,46,21^
46497
46498 ;REQUEST INTERRUPTS ON 2 CHANNELS AT ONCE TO SEE IF THEY TRAP
46499 ;TO THE CORRECT (I.E. HIGHEST PRIORITY) CHANNEL.
46500 ;IF ERROR OCCURS CHECK "PIN" PRINT
46501
46502 TRPCHK^
46503 063225 332 00 0 00 030042 ..0105: SKIPE MONFLG ;RESET FLAGS IF IN MONITOR
46504 063226 254 00 0 00 063231 JRST .+3 ;DONT IF STAND ALONE
46505 063227 254 02 1 00 063230 JRSTF @.+1 ;AND RESTORE THEM
46506 063230 000000 063231 USERF,.+1 ;NEW PC AND FLAGS^
46507 CLRBTH^
46508 063231 700 04 0 00 267760 CLRAPR
46509 063232 700 14 0 00 031577 CLRPI^
46510 063233 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
46511 063234 200 00 0 00 071117 MOVE [JSP C2D] ;SET UP FOR CORRECT
46512 063235 202 00 0 00 000046 MOVEM 46 ;INTERRUPT TRAP
46513 063236 7 004 20 0 00 002377 CONO PI,CHNON!PION!177 ;TURN ON PI SYSTEM
46514 063237 7 004 20 0 00 004021 CONO PI,REQSET!21 ;REQUEST INTERRUPT ON TWO CHANNELS
46515 STUCK^
46516 WATINT^
46517 063240 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
46518 063241 367 13 0 00 063241 SOJG 13,. ;AND WAIT^
46519 063242 254 00 0 00 063242 JRST . ;LOOOP ON SELF^
46520 ^
46521 063243 C2D: TBOTH^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 39-2
DFKAA8 MAC 25-AUG-75 14:17 DUAL REQUEST TESTING SEQ 1077
46522 TGET^
46523 063243 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
46524 063244 302 00 0 00 063223 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
46525 STOP2^^
46526 063245 254 04 0 00 063246 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
46527 063246 254 00 0 00 063247 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
46528
46529 TSET^^
46530 063247 %X=. ;DEFINE %X TO SAVE
46531 063247 201 00 0 00 063247 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
46532 063250 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
46533 XCHN2 C2E,50,11^
46534
46535 ;REQUEST INTERRUPTS ON 2 CHANNELS AT ONCE TO SEE IF THEY TRAP
46536 ;TO THE CORRECT (I.E. HIGHEST PRIORITY) CHANNEL.
46537 ;IF ERROR OCCURS CHECK "PIN" PRINT
46538
46539 TRPCHK^
46540 063251 332 00 0 00 030042 ..0106: SKIPE MONFLG ;RESET FLAGS IF IN MONITOR
46541 063252 254 00 0 00 063255 JRST .+3 ;DONT IF STAND ALONE
46542 063253 254 02 1 00 063254 JRSTF @.+1 ;AND RESTORE THEM
46543 063254 000000 063255 USERF,.+1 ;NEW PC AND FLAGS^
46544 CLRBTH^
46545 063255 700 04 0 00 267760 CLRAPR
46546 063256 700 14 0 00 031577 CLRPI^
46547 063257 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
46548 063260 200 00 0 00 071120 MOVE [JSP C2E] ;SET UP FOR CORRECT
46549 063261 202 00 0 00 000050 MOVEM 50 ;INTERRUPT TRAP
46550 063262 7 004 20 0 00 002377 CONO PI,CHNON!PION!177 ;TURN ON PI SYSTEM
46551 063263 7 004 20 0 00 004011 CONO PI,REQSET!11 ;REQUEST INTERRUPT ON TWO CHANNELS
46552 STUCK^
46553 WATINT^
46554 063264 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
46555 063265 367 13 0 00 063265 SOJG 13,. ;AND WAIT^
46556 063266 254 00 0 00 063266 JRST . ;LOOOP ON SELF^
46557 ^
46558 063267 C2E: TBOTH^
46559 TGET^
46560 063267 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
46561 063270 302 00 0 00 063247 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
46562 STOP2^^
46563 063271 254 04 0 00 063272 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
46564 063272 254 00 0 00 063273 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
46565
46566 TSET^^
46567 063273 %X=. ;DEFINE %X TO SAVE
46568 063273 201 00 0 00 063273 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
46569 063274 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
46570 XCHN2 C2F,52,5^
46571
46572 ;REQUEST INTERRUPTS ON 2 CHANNELS AT ONCE TO SEE IF THEY TRAP
46573 ;TO THE CORRECT (I.E. HIGHEST PRIORITY) CHANNEL.
46574 ;IF ERROR OCCURS CHECK "PIN" PRINT
46575
46576 TRPCHK^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 39-3
DFKAA8 MAC 25-AUG-75 14:17 DUAL REQUEST TESTING SEQ 1078
46577 063275 332 00 0 00 030042 ..0107: SKIPE MONFLG ;RESET FLAGS IF IN MONITOR
46578 063276 254 00 0 00 063301 JRST .+3 ;DONT IF STAND ALONE
46579 063277 254 02 1 00 063300 JRSTF @.+1 ;AND RESTORE THEM
46580 063300 000000 063301 USERF,.+1 ;NEW PC AND FLAGS^
46581 CLRBTH^
46582 063301 700 04 0 00 267760 CLRAPR
46583 063302 700 14 0 00 031577 CLRPI^
46584 063303 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
46585 063304 200 00 0 00 071121 MOVE [JSP C2F] ;SET UP FOR CORRECT
46586 063305 202 00 0 00 000052 MOVEM 52 ;INTERRUPT TRAP
46587 063306 7 004 20 0 00 002377 CONO PI,CHNON!PION!177 ;TURN ON PI SYSTEM
46588 063307 7 004 20 0 00 004005 CONO PI,REQSET!5 ;REQUEST INTERRUPT ON TWO CHANNELS
46589 STUCK^
46590 WATINT^
46591 063310 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
46592 063311 367 13 0 00 063311 SOJG 13,. ;AND WAIT^
46593 063312 254 00 0 00 063312 JRST . ;LOOOP ON SELF^
46594 ^
46595 063313 C2F: TBOTH^
46596 TGET^
46597 063313 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
46598 063314 302 00 0 00 063273 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
46599 STOP2^^
46600 063315 254 04 0 00 063316 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
46601 063316 254 00 0 00 063317 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
46602
46603 TSET^^
46604 063317 %X=. ;DEFINE %X TO SAVE
46605 063317 201 00 0 00 063317 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
46606 063320 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
46607 XCHN2 C2G,54,3^
46608
46609 ;REQUEST INTERRUPTS ON 2 CHANNELS AT ONCE TO SEE IF THEY TRAP
46610 ;TO THE CORRECT (I.E. HIGHEST PRIORITY) CHANNEL.
46611 ;IF ERROR OCCURS CHECK "PIN" PRINT
46612
46613 TRPCHK^
46614 063321 332 00 0 00 030042 ..0110: SKIPE MONFLG ;RESET FLAGS IF IN MONITOR
46615 063322 254 00 0 00 063325 JRST .+3 ;DONT IF STAND ALONE
46616 063323 254 02 1 00 063324 JRSTF @.+1 ;AND RESTORE THEM
46617 063324 000000 063325 USERF,.+1 ;NEW PC AND FLAGS^
46618 CLRBTH^
46619 063325 700 04 0 00 267760 CLRAPR
46620 063326 700 14 0 00 031577 CLRPI^
46621 063327 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
46622 063330 200 00 0 00 071122 MOVE [JSP C2G] ;SET UP FOR CORRECT
46623 063331 202 00 0 00 000054 MOVEM 54 ;INTERRUPT TRAP
46624 063332 7 004 20 0 00 002377 CONO PI,CHNON!PION!177 ;TURN ON PI SYSTEM
46625 063333 7 004 20 0 00 004003 CONO PI,REQSET!3 ;REQUEST INTERRUPT ON TWO CHANNELS
46626 STUCK^
46627 WATINT^
46628 063334 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
46629 063335 367 13 0 00 063335 SOJG 13,. ;AND WAIT^
46630 063336 254 00 0 00 063336 JRST . ;LOOOP ON SELF^
46631 ^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 39-4
DFKAA8 MAC 25-AUG-75 14:17 DUAL REQUEST TESTING SEQ 1079
46632 063337 C2G: TBOTH^
46633 TGET^
46634 063337 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
46635 063340 302 00 0 00 063317 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
46636 STOP2^^
46637 063341 254 04 0 00 063342 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
46638 063342 254 00 0 00 063343 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
46639
46640 TSET^^
46641 063343 %X=. ;DEFINE %X TO SAVE
46642 063343 201 00 0 00 063343 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
46643 063344 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
46644 XCHN2 C2H,42,102^
46645
46646 ;REQUEST INTERRUPTS ON 2 CHANNELS AT ONCE TO SEE IF THEY TRAP
46647 ;TO THE CORRECT (I.E. HIGHEST PRIORITY) CHANNEL.
46648 ;IF ERROR OCCURS CHECK "PIN" PRINT
46649
46650 TRPCHK^
46651 063345 332 00 0 00 030042 ..0111: SKIPE MONFLG ;RESET FLAGS IF IN MONITOR
46652 063346 254 00 0 00 063351 JRST .+3 ;DONT IF STAND ALONE
46653 063347 254 02 1 00 063350 JRSTF @.+1 ;AND RESTORE THEM
46654 063350 000000 063351 USERF,.+1 ;NEW PC AND FLAGS^
46655 CLRBTH^
46656 063351 700 04 0 00 267760 CLRAPR
46657 063352 700 14 0 00 031577 CLRPI^
46658 063353 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
46659 063354 200 00 0 00 071123 MOVE [JSP C2H] ;SET UP FOR CORRECT
46660 063355 202 00 0 00 000042 MOVEM 42 ;INTERRUPT TRAP
46661 063356 7 004 20 0 00 002377 CONO PI,CHNON!PION!177 ;TURN ON PI SYSTEM
46662 063357 7 004 20 0 00 004102 CONO PI,REQSET!102 ;REQUEST INTERRUPT ON TWO CHANNELS
46663 STUCK^
46664 WATINT^
46665 063360 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
46666 063361 367 13 0 00 063361 SOJG 13,. ;AND WAIT^
46667 063362 254 00 0 00 063362 JRST . ;LOOOP ON SELF^
46668 ^
46669 063363 C2H: TBOTH^
46670 TGET^
46671 063363 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
46672 063364 302 00 0 00 063343 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
46673 STOP2^^
46674 063365 254 04 0 00 063366 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
46675 063366 254 00 0 00 063367 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
46676
46677 TSET^^
46678 063367 %X=. ;DEFINE %X TO SAVE
46679 063367 201 00 0 00 063367 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
46680 063370 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
46681 XCHN2 C2I,44,42^
46682
46683 ;REQUEST INTERRUPTS ON 2 CHANNELS AT ONCE TO SEE IF THEY TRAP
46684 ;TO THE CORRECT (I.E. HIGHEST PRIORITY) CHANNEL.
46685 ;IF ERROR OCCURS CHECK "PIN" PRINT
46686
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 39-5
DFKAA8 MAC 25-AUG-75 14:17 DUAL REQUEST TESTING SEQ 1080
46687 TRPCHK^
46688 063371 332 00 0 00 030042 ..0112: SKIPE MONFLG ;RESET FLAGS IF IN MONITOR
46689 063372 254 00 0 00 063375 JRST .+3 ;DONT IF STAND ALONE
46690 063373 254 02 1 00 063374 JRSTF @.+1 ;AND RESTORE THEM
46691 063374 000000 063375 USERF,.+1 ;NEW PC AND FLAGS^
46692 CLRBTH^
46693 063375 700 04 0 00 267760 CLRAPR
46694 063376 700 14 0 00 031577 CLRPI^
46695 063377 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
46696 063400 200 00 0 00 071124 MOVE [JSP C2I] ;SET UP FOR CORRECT
46697 063401 202 00 0 00 000044 MOVEM 44 ;INTERRUPT TRAP
46698 063402 7 004 20 0 00 002377 CONO PI,CHNON!PION!177 ;TURN ON PI SYSTEM
46699 063403 7 004 20 0 00 004042 CONO PI,REQSET!42 ;REQUEST INTERRUPT ON TWO CHANNELS
46700 STUCK^
46701 WATINT^
46702 063404 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
46703 063405 367 13 0 00 063405 SOJG 13,. ;AND WAIT^
46704 063406 254 00 0 00 063406 JRST . ;LOOOP ON SELF^
46705 ^
46706 063407 C2I: TBOTH^
46707 TGET^
46708 063407 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
46709 063410 302 00 0 00 063367 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
46710 STOP2^^
46711 063411 254 04 0 00 063412 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
46712 063412 254 00 0 00 063413 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
46713
46714 TSET^^
46715 063413 %X=. ;DEFINE %X TO SAVE
46716 063413 201 00 0 00 063413 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
46717 063414 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
46718 XCHN2 C2J,46,22^
46719
46720 ;REQUEST INTERRUPTS ON 2 CHANNELS AT ONCE TO SEE IF THEY TRAP
46721 ;TO THE CORRECT (I.E. HIGHEST PRIORITY) CHANNEL.
46722 ;IF ERROR OCCURS CHECK "PIN" PRINT
46723
46724 TRPCHK^
46725 063415 332 00 0 00 030042 ..0113: SKIPE MONFLG ;RESET FLAGS IF IN MONITOR
46726 063416 254 00 0 00 063421 JRST .+3 ;DONT IF STAND ALONE
46727 063417 254 02 1 00 063420 JRSTF @.+1 ;AND RESTORE THEM
46728 063420 000000 063421 USERF,.+1 ;NEW PC AND FLAGS^
46729 CLRBTH^
46730 063421 700 04 0 00 267760 CLRAPR
46731 063422 700 14 0 00 031577 CLRPI^
46732 063423 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
46733 063424 200 00 0 00 071125 MOVE [JSP C2J] ;SET UP FOR CORRECT
46734 063425 202 00 0 00 000046 MOVEM 46 ;INTERRUPT TRAP
46735 063426 7 004 20 0 00 002377 CONO PI,CHNON!PION!177 ;TURN ON PI SYSTEM
46736 063427 7 004 20 0 00 004022 CONO PI,REQSET!22 ;REQUEST INTERRUPT ON TWO CHANNELS
46737 STUCK^
46738 WATINT^
46739 063430 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
46740 063431 367 13 0 00 063431 SOJG 13,. ;AND WAIT^
46741 063432 254 00 0 00 063432 JRST . ;LOOOP ON SELF^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 39-6
DFKAA8 MAC 25-AUG-75 14:17 DUAL REQUEST TESTING SEQ 1081
46742 ^
46743 063433 C2J: TBOTH^
46744 TGET^
46745 063433 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
46746 063434 302 00 0 00 063413 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
46747 STOP2^^
46748 063435 254 04 0 00 063436 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
46749 063436 254 00 0 00 063437 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
46750
46751 TSET^^
46752 063437 %X=. ;DEFINE %X TO SAVE
46753 063437 201 00 0 00 063437 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
46754 063440 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
46755 XCHN2 C2K,50,12^
46756
46757 ;REQUEST INTERRUPTS ON 2 CHANNELS AT ONCE TO SEE IF THEY TRAP
46758 ;TO THE CORRECT (I.E. HIGHEST PRIORITY) CHANNEL.
46759 ;IF ERROR OCCURS CHECK "PIN" PRINT
46760
46761 TRPCHK^
46762 063441 332 00 0 00 030042 ..0114: SKIPE MONFLG ;RESET FLAGS IF IN MONITOR
46763 063442 254 00 0 00 063445 JRST .+3 ;DONT IF STAND ALONE
46764 063443 254 02 1 00 063444 JRSTF @.+1 ;AND RESTORE THEM
46765 063444 000000 063445 USERF,.+1 ;NEW PC AND FLAGS^
46766 CLRBTH^
46767 063445 700 04 0 00 267760 CLRAPR
46768 063446 700 14 0 00 031577 CLRPI^
46769 063447 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
46770 063450 200 00 0 00 071126 MOVE [JSP C2K] ;SET UP FOR CORRECT
46771 063451 202 00 0 00 000050 MOVEM 50 ;INTERRUPT TRAP
46772 063452 7 004 20 0 00 002377 CONO PI,CHNON!PION!177 ;TURN ON PI SYSTEM
46773 063453 7 004 20 0 00 004012 CONO PI,REQSET!12 ;REQUEST INTERRUPT ON TWO CHANNELS
46774 STUCK^
46775 WATINT^
46776 063454 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
46777 063455 367 13 0 00 063455 SOJG 13,. ;AND WAIT^
46778 063456 254 00 0 00 063456 JRST . ;LOOOP ON SELF^
46779 ^
46780 063457 C2K: TBOTH^
46781 TGET^
46782 063457 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
46783 063460 302 00 0 00 063437 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
46784 STOP2^^
46785 063461 254 04 0 00 063462 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
46786 063462 254 00 0 00 063463 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
46787
46788 TSET^^
46789 063463 %X=. ;DEFINE %X TO SAVE
46790 063463 201 00 0 00 063463 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
46791 063464 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
46792 XCHN2 C2L,52,6^
46793
46794 ;REQUEST INTERRUPTS ON 2 CHANNELS AT ONCE TO SEE IF THEY TRAP
46795 ;TO THE CORRECT (I.E. HIGHEST PRIORITY) CHANNEL.
46796 ;IF ERROR OCCURS CHECK "PIN" PRINT
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 39-7
DFKAA8 MAC 25-AUG-75 14:17 DUAL REQUEST TESTING SEQ 1082
46797
46798 TRPCHK^
46799 063465 332 00 0 00 030042 ..0115: SKIPE MONFLG ;RESET FLAGS IF IN MONITOR
46800 063466 254 00 0 00 063471 JRST .+3 ;DONT IF STAND ALONE
46801 063467 254 02 1 00 063470 JRSTF @.+1 ;AND RESTORE THEM
46802 063470 000000 063471 USERF,.+1 ;NEW PC AND FLAGS^
46803 CLRBTH^
46804 063471 700 04 0 00 267760 CLRAPR
46805 063472 700 14 0 00 031577 CLRPI^
46806 063473 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
46807 063474 200 00 0 00 071127 MOVE [JSP C2L] ;SET UP FOR CORRECT
46808 063475 202 00 0 00 000052 MOVEM 52 ;INTERRUPT TRAP
46809 063476 7 004 20 0 00 002377 CONO PI,CHNON!PION!177 ;TURN ON PI SYSTEM
46810 063477 7 004 20 0 00 004006 CONO PI,REQSET!6 ;REQUEST INTERRUPT ON TWO CHANNELS
46811 STUCK^
46812 WATINT^
46813 063500 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
46814 063501 367 13 0 00 063501 SOJG 13,. ;AND WAIT^
46815 063502 254 00 0 00 063502 JRST . ;LOOOP ON SELF^
46816 ^
46817 063503 C2L: TBOTH^
46818 TGET^
46819 063503 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
46820 063504 302 00 0 00 063463 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
46821 STOP2^^
46822 063505 254 04 0 00 063506 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
46823 063506 254 00 0 00 063507 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
46824
46825 TSET^^
46826 063507 %X=. ;DEFINE %X TO SAVE
46827 063507 201 00 0 00 063507 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
46828 063510 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
46829 XCHN2 C2M,42,104^
46830
46831 ;REQUEST INTERRUPTS ON 2 CHANNELS AT ONCE TO SEE IF THEY TRAP
46832 ;TO THE CORRECT (I.E. HIGHEST PRIORITY) CHANNEL.
46833 ;IF ERROR OCCURS CHECK "PIN" PRINT
46834
46835 TRPCHK^
46836 063511 332 00 0 00 030042 ..0116: SKIPE MONFLG ;RESET FLAGS IF IN MONITOR
46837 063512 254 00 0 00 063515 JRST .+3 ;DONT IF STAND ALONE
46838 063513 254 02 1 00 063514 JRSTF @.+1 ;AND RESTORE THEM
46839 063514 000000 063515 USERF,.+1 ;NEW PC AND FLAGS^
46840 CLRBTH^
46841 063515 700 04 0 00 267760 CLRAPR
46842 063516 700 14 0 00 031577 CLRPI^
46843 063517 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
46844 063520 200 00 0 00 071130 MOVE [JSP C2M] ;SET UP FOR CORRECT
46845 063521 202 00 0 00 000042 MOVEM 42 ;INTERRUPT TRAP
46846 063522 7 004 20 0 00 002377 CONO PI,CHNON!PION!177 ;TURN ON PI SYSTEM
46847 063523 7 004 20 0 00 004104 CONO PI,REQSET!104 ;REQUEST INTERRUPT ON TWO CHANNELS
46848 STUCK^
46849 WATINT^
46850 063524 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
46851 063525 367 13 0 00 063525 SOJG 13,. ;AND WAIT^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 39-8
DFKAA8 MAC 25-AUG-75 14:17 DUAL REQUEST TESTING SEQ 1083
46852 063526 254 00 0 00 063526 JRST . ;LOOOP ON SELF^
46853 ^
46854 063527 C2M: TBOTH^
46855 TGET^
46856 063527 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
46857 063530 302 00 0 00 063507 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
46858 STOP2^^
46859 063531 254 04 0 00 063532 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
46860 063532 254 00 0 00 063533 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
46861
46862 TSET^^
46863 063533 %X=. ;DEFINE %X TO SAVE
46864 063533 201 00 0 00 063533 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
46865 063534 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
46866 XCHN2 C2N,44,44^
46867
46868 ;REQUEST INTERRUPTS ON 2 CHANNELS AT ONCE TO SEE IF THEY TRAP
46869 ;TO THE CORRECT (I.E. HIGHEST PRIORITY) CHANNEL.
46870 ;IF ERROR OCCURS CHECK "PIN" PRINT
46871
46872 TRPCHK^
46873 063535 332 00 0 00 030042 ..0117: SKIPE MONFLG ;RESET FLAGS IF IN MONITOR
46874 063536 254 00 0 00 063541 JRST .+3 ;DONT IF STAND ALONE
46875 063537 254 02 1 00 063540 JRSTF @.+1 ;AND RESTORE THEM
46876 063540 000000 063541 USERF,.+1 ;NEW PC AND FLAGS^
46877 CLRBTH^
46878 063541 700 04 0 00 267760 CLRAPR
46879 063542 700 14 0 00 031577 CLRPI^
46880 063543 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
46881 063544 200 00 0 00 071131 MOVE [JSP C2N] ;SET UP FOR CORRECT
46882 063545 202 00 0 00 000044 MOVEM 44 ;INTERRUPT TRAP
46883 063546 7 004 20 0 00 002377 CONO PI,CHNON!PION!177 ;TURN ON PI SYSTEM
46884 063547 7 004 20 0 00 004044 CONO PI,REQSET!44 ;REQUEST INTERRUPT ON TWO CHANNELS
46885 STUCK^
46886 WATINT^
46887 063550 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
46888 063551 367 13 0 00 063551 SOJG 13,. ;AND WAIT^
46889 063552 254 00 0 00 063552 JRST . ;LOOOP ON SELF^
46890 ^
46891 063553 C2N: TBOTH^
46892 TGET^
46893 063553 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
46894 063554 302 00 0 00 063533 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
46895 STOP2^^
46896 063555 254 04 0 00 063556 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
46897 063556 254 00 0 00 063557 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
46898
46899 TSET^^
46900 063557 %X=. ;DEFINE %X TO SAVE
46901 063557 201 00 0 00 063557 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
46902 063560 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
46903 XCHN2 C2O,46,24^
46904
46905 ;REQUEST INTERRUPTS ON 2 CHANNELS AT ONCE TO SEE IF THEY TRAP
46906 ;TO THE CORRECT (I.E. HIGHEST PRIORITY) CHANNEL.
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 39-9
DFKAA8 MAC 25-AUG-75 14:17 DUAL REQUEST TESTING SEQ 1084
46907 ;IF ERROR OCCURS CHECK "PIN" PRINT
46908
46909 TRPCHK^
46910 063561 332 00 0 00 030042 ..0120: SKIPE MONFLG ;RESET FLAGS IF IN MONITOR
46911 063562 254 00 0 00 063565 JRST .+3 ;DONT IF STAND ALONE
46912 063563 254 02 1 00 063564 JRSTF @.+1 ;AND RESTORE THEM
46913 063564 000000 063565 USERF,.+1 ;NEW PC AND FLAGS^
46914 CLRBTH^
46915 063565 700 04 0 00 267760 CLRAPR
46916 063566 700 14 0 00 031577 CLRPI^
46917 063567 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
46918 063570 200 00 0 00 071132 MOVE [JSP C2O] ;SET UP FOR CORRECT
46919 063571 202 00 0 00 000046 MOVEM 46 ;INTERRUPT TRAP
46920 063572 7 004 20 0 00 002377 CONO PI,CHNON!PION!177 ;TURN ON PI SYSTEM
46921 063573 7 004 20 0 00 004024 CONO PI,REQSET!24 ;REQUEST INTERRUPT ON TWO CHANNELS
46922 STUCK^
46923 WATINT^
46924 063574 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
46925 063575 367 13 0 00 063575 SOJG 13,. ;AND WAIT^
46926 063576 254 00 0 00 063576 JRST . ;LOOOP ON SELF^
46927 ^
46928 063577 C2O: TBOTH^
46929 TGET^
46930 063577 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
46931 063600 302 00 0 00 063557 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
46932 STOP2^^
46933 063601 254 04 0 00 063602 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
46934 063602 254 00 0 00 063603 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
46935
46936 TSET^^
46937 063603 %X=. ;DEFINE %X TO SAVE
46938 063603 201 00 0 00 063603 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
46939 063604 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
46940 XCHN2 C2P,50,14^
46941
46942 ;REQUEST INTERRUPTS ON 2 CHANNELS AT ONCE TO SEE IF THEY TRAP
46943 ;TO THE CORRECT (I.E. HIGHEST PRIORITY) CHANNEL.
46944 ;IF ERROR OCCURS CHECK "PIN" PRINT
46945
46946 TRPCHK^
46947 063605 332 00 0 00 030042 ..0121: SKIPE MONFLG ;RESET FLAGS IF IN MONITOR
46948 063606 254 00 0 00 063611 JRST .+3 ;DONT IF STAND ALONE
46949 063607 254 02 1 00 063610 JRSTF @.+1 ;AND RESTORE THEM
46950 063610 000000 063611 USERF,.+1 ;NEW PC AND FLAGS^
46951 CLRBTH^
46952 063611 700 04 0 00 267760 CLRAPR
46953 063612 700 14 0 00 031577 CLRPI^
46954 063613 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
46955 063614 200 00 0 00 071133 MOVE [JSP C2P] ;SET UP FOR CORRECT
46956 063615 202 00 0 00 000050 MOVEM 50 ;INTERRUPT TRAP
46957 063616 7 004 20 0 00 002377 CONO PI,CHNON!PION!177 ;TURN ON PI SYSTEM
46958 063617 7 004 20 0 00 004014 CONO PI,REQSET!14 ;REQUEST INTERRUPT ON TWO CHANNELS
46959 STUCK^
46960 WATINT^
46961 063620 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 39-10
DFKAA8 MAC 25-AUG-75 14:17 DUAL REQUEST TESTING SEQ 1085
46962 063621 367 13 0 00 063621 SOJG 13,. ;AND WAIT^
46963 063622 254 00 0 00 063622 JRST . ;LOOOP ON SELF^
46964 ^
46965 063623 C2P: TBOTH^
46966 TGET^
46967 063623 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
46968 063624 302 00 0 00 063603 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
46969 STOP2^^
46970 063625 254 04 0 00 063626 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
46971 063626 254 00 0 00 063627 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
46972
46973 TSET^^
46974 063627 %X=. ;DEFINE %X TO SAVE
46975 063627 201 00 0 00 063627 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
46976 063630 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
46977 XCHN2 C2Q,42,110^
46978
46979 ;REQUEST INTERRUPTS ON 2 CHANNELS AT ONCE TO SEE IF THEY TRAP
46980 ;TO THE CORRECT (I.E. HIGHEST PRIORITY) CHANNEL.
46981 ;IF ERROR OCCURS CHECK "PIN" PRINT
46982
46983 TRPCHK^
46984 063631 332 00 0 00 030042 ..0122: SKIPE MONFLG ;RESET FLAGS IF IN MONITOR
46985 063632 254 00 0 00 063635 JRST .+3 ;DONT IF STAND ALONE
46986 063633 254 02 1 00 063634 JRSTF @.+1 ;AND RESTORE THEM
46987 063634 000000 063635 USERF,.+1 ;NEW PC AND FLAGS^
46988 CLRBTH^
46989 063635 700 04 0 00 267760 CLRAPR
46990 063636 700 14 0 00 031577 CLRPI^
46991 063637 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
46992 063640 200 00 0 00 071134 MOVE [JSP C2Q] ;SET UP FOR CORRECT
46993 063641 202 00 0 00 000042 MOVEM 42 ;INTERRUPT TRAP
46994 063642 7 004 20 0 00 002377 CONO PI,CHNON!PION!177 ;TURN ON PI SYSTEM
46995 063643 7 004 20 0 00 004110 CONO PI,REQSET!110 ;REQUEST INTERRUPT ON TWO CHANNELS
46996 STUCK^
46997 WATINT^
46998 063644 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
46999 063645 367 13 0 00 063645 SOJG 13,. ;AND WAIT^
47000 063646 254 00 0 00 063646 JRST . ;LOOOP ON SELF^
47001 ^
47002 063647 C2Q: TBOTH^
47003 TGET^
47004 063647 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
47005 063650 302 00 0 00 063627 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
47006 STOP2^^
47007 063651 254 04 0 00 063652 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
47008 063652 254 00 0 00 063653 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
47009
47010 TSET^^
47011 063653 %X=. ;DEFINE %X TO SAVE
47012 063653 201 00 0 00 063653 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
47013 063654 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
47014 XCHN2 C2R,44,50^
47015
47016 ;REQUEST INTERRUPTS ON 2 CHANNELS AT ONCE TO SEE IF THEY TRAP
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 39-11
DFKAA8 MAC 25-AUG-75 14:17 DUAL REQUEST TESTING SEQ 1086
47017 ;TO THE CORRECT (I.E. HIGHEST PRIORITY) CHANNEL.
47018 ;IF ERROR OCCURS CHECK "PIN" PRINT
47019
47020 TRPCHK^
47021 063655 332 00 0 00 030042 ..0123: SKIPE MONFLG ;RESET FLAGS IF IN MONITOR
47022 063656 254 00 0 00 063661 JRST .+3 ;DONT IF STAND ALONE
47023 063657 254 02 1 00 063660 JRSTF @.+1 ;AND RESTORE THEM
47024 063660 000000 063661 USERF,.+1 ;NEW PC AND FLAGS^
47025 CLRBTH^
47026 063661 700 04 0 00 267760 CLRAPR
47027 063662 700 14 0 00 031577 CLRPI^
47028 063663 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
47029 063664 200 00 0 00 071135 MOVE [JSP C2R] ;SET UP FOR CORRECT
47030 063665 202 00 0 00 000044 MOVEM 44 ;INTERRUPT TRAP
47031 063666 7 004 20 0 00 002377 CONO PI,CHNON!PION!177 ;TURN ON PI SYSTEM
47032 063667 7 004 20 0 00 004050 CONO PI,REQSET!50 ;REQUEST INTERRUPT ON TWO CHANNELS
47033 STUCK^
47034 WATINT^
47035 063670 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
47036 063671 367 13 0 00 063671 SOJG 13,. ;AND WAIT^
47037 063672 254 00 0 00 063672 JRST . ;LOOOP ON SELF^
47038 ^
47039 063673 C2R: TBOTH^
47040 TGET^
47041 063673 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
47042 063674 302 00 0 00 063653 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
47043 STOP2^^
47044 063675 254 04 0 00 063676 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
47045 063676 254 00 0 00 063677 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
47046
47047 TSET^^
47048 063677 %X=. ;DEFINE %X TO SAVE
47049 063677 201 00 0 00 063677 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
47050 063700 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
47051 XCHN2 C2S,46,30^
47052
47053 ;REQUEST INTERRUPTS ON 2 CHANNELS AT ONCE TO SEE IF THEY TRAP
47054 ;TO THE CORRECT (I.E. HIGHEST PRIORITY) CHANNEL.
47055 ;IF ERROR OCCURS CHECK "PIN" PRINT
47056
47057 TRPCHK^
47058 063701 332 00 0 00 030042 ..0124: SKIPE MONFLG ;RESET FLAGS IF IN MONITOR
47059 063702 254 00 0 00 063705 JRST .+3 ;DONT IF STAND ALONE
47060 063703 254 02 1 00 063704 JRSTF @.+1 ;AND RESTORE THEM
47061 063704 000000 063705 USERF,.+1 ;NEW PC AND FLAGS^
47062 CLRBTH^
47063 063705 700 04 0 00 267760 CLRAPR
47064 063706 700 14 0 00 031577 CLRPI^
47065 063707 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
47066 063710 200 00 0 00 071136 MOVE [JSP C2S] ;SET UP FOR CORRECT
47067 063711 202 00 0 00 000046 MOVEM 46 ;INTERRUPT TRAP
47068 063712 7 004 20 0 00 002377 CONO PI,CHNON!PION!177 ;TURN ON PI SYSTEM
47069 063713 7 004 20 0 00 004030 CONO PI,REQSET!30 ;REQUEST INTERRUPT ON TWO CHANNELS
47070 STUCK^
47071 WATINT^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 39-12
DFKAA8 MAC 25-AUG-75 14:17 DUAL REQUEST TESTING SEQ 1087
47072 063714 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
47073 063715 367 13 0 00 063715 SOJG 13,. ;AND WAIT^
47074 063716 254 00 0 00 063716 JRST . ;LOOOP ON SELF^
47075 ^
47076 063717 C2S: TBOTH^
47077 TGET^
47078 063717 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
47079 063720 302 00 0 00 063677 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
47080 STOP2^^
47081 063721 254 04 0 00 063722 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
47082 063722 254 00 0 00 063723 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
47083
47084 TSET^^
47085 063723 %X=. ;DEFINE %X TO SAVE
47086 063723 201 00 0 00 063723 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
47087 063724 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
47088 XCHN2 C2T,42,120^
47089
47090 ;REQUEST INTERRUPTS ON 2 CHANNELS AT ONCE TO SEE IF THEY TRAP
47091 ;TO THE CORRECT (I.E. HIGHEST PRIORITY) CHANNEL.
47092 ;IF ERROR OCCURS CHECK "PIN" PRINT
47093
47094 TRPCHK^
47095 063725 332 00 0 00 030042 ..0125: SKIPE MONFLG ;RESET FLAGS IF IN MONITOR
47096 063726 254 00 0 00 063731 JRST .+3 ;DONT IF STAND ALONE
47097 063727 254 02 1 00 063730 JRSTF @.+1 ;AND RESTORE THEM
47098 063730 000000 063731 USERF,.+1 ;NEW PC AND FLAGS^
47099 CLRBTH^
47100 063731 700 04 0 00 267760 CLRAPR
47101 063732 700 14 0 00 031577 CLRPI^
47102 063733 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
47103 063734 200 00 0 00 071137 MOVE [JSP C2T] ;SET UP FOR CORRECT
47104 063735 202 00 0 00 000042 MOVEM 42 ;INTERRUPT TRAP
47105 063736 7 004 20 0 00 002377 CONO PI,CHNON!PION!177 ;TURN ON PI SYSTEM
47106 063737 7 004 20 0 00 004120 CONO PI,REQSET!120 ;REQUEST INTERRUPT ON TWO CHANNELS
47107 STUCK^
47108 WATINT^
47109 063740 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
47110 063741 367 13 0 00 063741 SOJG 13,. ;AND WAIT^
47111 063742 254 00 0 00 063742 JRST . ;LOOOP ON SELF^
47112 ^
47113 063743 C2T: TBOTH^
47114 TGET^
47115 063743 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
47116 063744 302 00 0 00 063723 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
47117 STOP2^^
47118 063745 254 04 0 00 063746 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
47119 063746 254 00 0 00 063747 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
47120
47121 TSET^^
47122 063747 %X=. ;DEFINE %X TO SAVE
47123 063747 201 00 0 00 063747 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
47124 063750 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
47125 XCHN2 C2U,44,60^
47126
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 39-13
DFKAA8 MAC 25-AUG-75 14:17 DUAL REQUEST TESTING SEQ 1088
47127 ;REQUEST INTERRUPTS ON 2 CHANNELS AT ONCE TO SEE IF THEY TRAP
47128 ;TO THE CORRECT (I.E. HIGHEST PRIORITY) CHANNEL.
47129 ;IF ERROR OCCURS CHECK "PIN" PRINT
47130
47131 TRPCHK^
47132 063751 332 00 0 00 030042 ..0126: SKIPE MONFLG ;RESET FLAGS IF IN MONITOR
47133 063752 254 00 0 00 063755 JRST .+3 ;DONT IF STAND ALONE
47134 063753 254 02 1 00 063754 JRSTF @.+1 ;AND RESTORE THEM
47135 063754 000000 063755 USERF,.+1 ;NEW PC AND FLAGS^
47136 CLRBTH^
47137 063755 700 04 0 00 267760 CLRAPR
47138 063756 700 14 0 00 031577 CLRPI^
47139 063757 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
47140 063760 200 00 0 00 071140 MOVE [JSP C2U] ;SET UP FOR CORRECT
47141 063761 202 00 0 00 000044 MOVEM 44 ;INTERRUPT TRAP
47142 063762 7 004 20 0 00 002377 CONO PI,CHNON!PION!177 ;TURN ON PI SYSTEM
47143 063763 7 004 20 0 00 004060 CONO PI,REQSET!60 ;REQUEST INTERRUPT ON TWO CHANNELS
47144 STUCK^
47145 WATINT^
47146 063764 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
47147 063765 367 13 0 00 063765 SOJG 13,. ;AND WAIT^
47148 063766 254 00 0 00 063766 JRST . ;LOOOP ON SELF^
47149 ^
47150 063767 C2U: TBOTH^
47151 TGET^
47152 063767 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
47153 063770 302 00 0 00 063747 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
47154 STOP2^^
47155 063771 254 04 0 00 063772 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
47156 063772 254 00 0 00 063773 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
47157
47158 TSET^^
47159 063773 %X=. ;DEFINE %X TO SAVE
47160 063773 201 00 0 00 063773 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
47161 063774 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
47162 XCHN2 C2V,42,140^
47163
47164 ;REQUEST INTERRUPTS ON 2 CHANNELS AT ONCE TO SEE IF THEY TRAP
47165 ;TO THE CORRECT (I.E. HIGHEST PRIORITY) CHANNEL.
47166 ;IF ERROR OCCURS CHECK "PIN" PRINT
47167
47168 TRPCHK^
47169 063775 332 00 0 00 030042 ..0127: SKIPE MONFLG ;RESET FLAGS IF IN MONITOR
47170 063776 254 00 0 00 064001 JRST .+3 ;DONT IF STAND ALONE
47171 063777 254 02 1 00 064000 JRSTF @.+1 ;AND RESTORE THEM
47172 064000 000000 064001 USERF,.+1 ;NEW PC AND FLAGS^
47173 CLRBTH^
47174 064001 700 04 0 00 267760 CLRAPR
47175 064002 700 14 0 00 031577 CLRPI^
47176 064003 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
47177 064004 200 00 0 00 071141 MOVE [JSP C2V] ;SET UP FOR CORRECT
47178 064005 202 00 0 00 000042 MOVEM 42 ;INTERRUPT TRAP
47179 064006 7 004 20 0 00 002377 CONO PI,CHNON!PION!177 ;TURN ON PI SYSTEM
47180 064007 7 004 20 0 00 004140 CONO PI,REQSET!140 ;REQUEST INTERRUPT ON TWO CHANNELS
47181 STUCK^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 39-14
DFKAA8 MAC 25-AUG-75 14:17 DUAL REQUEST TESTING SEQ 1089
47182 WATINT^
47183 064010 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
47184 064011 367 13 0 00 064011 SOJG 13,. ;AND WAIT^
47185 064012 254 00 0 00 064012 JRST . ;LOOOP ON SELF^
47186 ^
47187 064013 255 00 0 00 000000 JFCL
47188 064014 C2V: TGET^
47189 064014 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
47190 064015 302 00 0 00 063773 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
47191 STOP2^^
47192 064016 254 04 0 00 064017 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
47193 064017 254 00 0 00 064020 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
47194 CLRBTH^
47195 064020 700 04 0 00 267760 CLRAPR
47196 064021 700 14 0 00 031577 CLRPI^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 40
DFKAA8 MAC 25-AUG-75 14:17 BASIC NO-SKIP TESTING SEQ 1090
47197 SUBTTL BASIC NO-SKIP TESTING
47198 ;TEST THE PREFORMANCE OF NO SKIPPING INSTRUCTIONS IN THE INTERRUPT LOCATIONS
47199 ;OUT OF EACH POSSIBLE INTERRUPT LOCATION
47200
47201 000100 X=100
47202 000042 Y=42
47203 SKIPNO: REPEAT 7,<
47204 PSKPA Y,X
47205 PSKPB Y,X
47206 Y=Y+2
47207 X=X_-1
47208 >
47209
47210 PSKPA Y,X^
47211
47212 ;TEST THAT AOSE DOES NOT DISMISS INTERRUPTS, OR SKIP WHEN EXECUTED AS
47213 ;AN INTERRUPT INSTRUCTION.
47214
47215 CLRBTH^
47216 064022 700 04 0 00 267760 CLRAPR
47217 064023 700 14 0 00 031577 CLRPI^
47218 064024 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
47219 064025 200 00 0 00 071142 MOVE [AOSE 0] ;PI TRAP INSTRUCTION
47220 064026 202 00 0 00 000042 MOVEM Y ;INTO TRAP LOCATION
47221 064027 200 00 0 00 071143 MOVE [JSP 1,..0130] ;SECOND TRAP INSTRUCTION
47222 064030 202 00 0 00 000043 MOVEM Y+1 ;INTO SECOND PI INSTRUCTION
47223 064031 201 00 0 00 000001 MOVEI 1 ;SET AC TO NON ZERO
47224 064032 7 004 20 0 00 006300 CONO PI,REQSET!PION!CHNON!X ;REQUEST INTERRUPT ON CH X
47225
47226 ;IF WE FALL THROUGH THEN THE INTERRUPT WAS DISMISSED WHEN THE AOS FAILED
47227
47228 WATINT^
47229 064033 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
47230 064034 367 13 0 00 064034 SOJG 13,. ;AND WAIT^
47231 STOP^
47232 064035 254 04 0 00 064036 HALT .+1 ;INSTRUCTION FAILED REPLACE
47233 064036 254 00 0 00 064037 JRST .+1 ;WITH JRST BACK^
47234 064037 ..0130: CLRBTH^
47235 064037 700 04 0 00 267760 CLRAPR
47236 064040 700 14 0 00 031577 CLRPI^
47237 064041 302 00 0 00 000002 CAIE 2 ;ONLY ONE AOSE PREFORMED?
47238 STOP^
47239 064042 254 04 0 00 064043 HALT .+1 ;INSTRUCTION FAILED REPLACE
47240 064043 254 00 0 00 064044 JRST .+1 ;WITH JRST BACK^
47241 ^
47242 PSKPB Y,X^
47243
47244 ;CHECK THAT SKIPE DOES NOT SKIP, OR MODIFY THE AC, OR DISMISS
47245 ;THE INTERRUPT.
47246
47247 CLRBTH^
47248 064044 700 04 0 00 267760 CLRAPR
47249 064045 700 14 0 00 031577 CLRPI^
47250 064046 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
47251 064047 200 00 0 00 071144 MOVE [SKIPE 0,0] ;PI TRAP INSTRUCTION(SHOULD NOT SKIP)
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 40-1
DFKAA8 MAC 25-AUG-75 14:17 BASIC NO-SKIP TESTING SEQ 1091
47252 064050 202 00 0 00 000042 MOVEM Y ;INTO TRAP LOCATION
47253 064051 200 00 0 00 071145 MOVE [JSP 1,..0131] ;SECOND TRAP INSTRUCTION
47254 064052 202 00 0 00 000043 MOVEM Y+1 ;INTO SECOND PI INSTRUCTION
47255 064053 201 00 0 00 000001 MOVEI 1 ;SET AC TO NON ZERO
47256 064054 7 004 20 0 00 006300 CONO PI,REQSET!PION!CHNON!X ;REQUEST INTERRUPT ON CH X
47257
47258 ;IF WE FALL THROUGH TO HERE, THEN THE INT. WAS DISMISSED AND SHOULDN'T HAVE BEEN
47259
47260 WATINT^
47261 064055 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
47262 064056 367 13 0 00 064056 SOJG 13,. ;AND WAIT^
47263 STOP^
47264 064057 254 04 0 00 064060 HALT .+1 ;INSTRUCTION FAILED REPLACE
47265 064060 254 00 0 00 064061 JRST .+1 ;WITH JRST BACK^
47266 064061 ..0131: CLRBTH^
47267 064061 700 04 0 00 267760 CLRAPR
47268 064062 700 14 0 00 031577 CLRPI^
47269 064063 302 00 0 00 000001 CAIE 1 ;JUMPE SHOULD HAVE NOT MODIFIED THE AC
47270 STOP^
47271 064064 254 04 0 00 064065 HALT .+1 ;INSTRUCTION FAILED REPLACE
47272 064065 254 00 0 00 064066 JRST .+1 ;WITH JRST BACK^
47273 ^
47274 000044 Y=Y+2
47275 000040 X=X_-1
47276
47277
47278 PSKPA Y,X^
47279
47280 ;TEST THAT AOSE DOES NOT DISMISS INTERRUPTS, OR SKIP WHEN EXECUTED AS
47281 ;AN INTERRUPT INSTRUCTION.
47282
47283 CLRBTH^
47284 064066 700 04 0 00 267760 CLRAPR
47285 064067 700 14 0 00 031577 CLRPI^
47286 064070 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
47287 064071 200 00 0 00 071142 MOVE [AOSE 0] ;PI TRAP INSTRUCTION
47288 064072 202 00 0 00 000044 MOVEM Y ;INTO TRAP LOCATION
47289 064073 200 00 0 00 071146 MOVE [JSP 1,..0132] ;SECOND TRAP INSTRUCTION
47290 064074 202 00 0 00 000045 MOVEM Y+1 ;INTO SECOND PI INSTRUCTION
47291 064075 201 00 0 00 000001 MOVEI 1 ;SET AC TO NON ZERO
47292 064076 7 004 20 0 00 006240 CONO PI,REQSET!PION!CHNON!X ;REQUEST INTERRUPT ON CH X
47293
47294 ;IF WE FALL THROUGH THEN THE INTERRUPT WAS DISMISSED WHEN THE AOS FAILED
47295
47296 WATINT^
47297 064077 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
47298 064100 367 13 0 00 064100 SOJG 13,. ;AND WAIT^
47299 STOP^
47300 064101 254 04 0 00 064102 HALT .+1 ;INSTRUCTION FAILED REPLACE
47301 064102 254 00 0 00 064103 JRST .+1 ;WITH JRST BACK^
47302 064103 ..0132: CLRBTH^
47303 064103 700 04 0 00 267760 CLRAPR
47304 064104 700 14 0 00 031577 CLRPI^
47305 064105 302 00 0 00 000002 CAIE 2 ;ONLY ONE AOSE PREFORMED?
47306 STOP^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 40-2
DFKAA8 MAC 25-AUG-75 14:17 BASIC NO-SKIP TESTING SEQ 1092
47307 064106 254 04 0 00 064107 HALT .+1 ;INSTRUCTION FAILED REPLACE
47308 064107 254 00 0 00 064110 JRST .+1 ;WITH JRST BACK^
47309 ^
47310 PSKPB Y,X^
47311
47312 ;CHECK THAT SKIPE DOES NOT SKIP, OR MODIFY THE AC, OR DISMISS
47313 ;THE INTERRUPT.
47314
47315 CLRBTH^
47316 064110 700 04 0 00 267760 CLRAPR
47317 064111 700 14 0 00 031577 CLRPI^
47318 064112 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
47319 064113 200 00 0 00 071144 MOVE [SKIPE 0,0] ;PI TRAP INSTRUCTION(SHOULD NOT SKIP)
47320 064114 202 00 0 00 000044 MOVEM Y ;INTO TRAP LOCATION
47321 064115 200 00 0 00 071147 MOVE [JSP 1,..0133] ;SECOND TRAP INSTRUCTION
47322 064116 202 00 0 00 000045 MOVEM Y+1 ;INTO SECOND PI INSTRUCTION
47323 064117 201 00 0 00 000001 MOVEI 1 ;SET AC TO NON ZERO
47324 064120 7 004 20 0 00 006240 CONO PI,REQSET!PION!CHNON!X ;REQUEST INTERRUPT ON CH X
47325
47326 ;IF WE FALL THROUGH TO HERE, THEN THE INT. WAS DISMISSED AND SHOULDN'T HAVE BEEN
47327
47328 WATINT^
47329 064121 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
47330 064122 367 13 0 00 064122 SOJG 13,. ;AND WAIT^
47331 STOP^
47332 064123 254 04 0 00 064124 HALT .+1 ;INSTRUCTION FAILED REPLACE
47333 064124 254 00 0 00 064125 JRST .+1 ;WITH JRST BACK^
47334 064125 ..0133: CLRBTH^
47335 064125 700 04 0 00 267760 CLRAPR
47336 064126 700 14 0 00 031577 CLRPI^
47337 064127 302 00 0 00 000001 CAIE 1 ;JUMPE SHOULD HAVE NOT MODIFIED THE AC
47338 STOP^
47339 064130 254 04 0 00 064131 HALT .+1 ;INSTRUCTION FAILED REPLACE
47340 064131 254 00 0 00 064132 JRST .+1 ;WITH JRST BACK^
47341 ^
47342 000046 Y=Y+2
47343 000020 X=X_-1
47344
47345
47346 PSKPA Y,X^
47347
47348 ;TEST THAT AOSE DOES NOT DISMISS INTERRUPTS, OR SKIP WHEN EXECUTED AS
47349 ;AN INTERRUPT INSTRUCTION.
47350
47351 CLRBTH^
47352 064132 700 04 0 00 267760 CLRAPR
47353 064133 700 14 0 00 031577 CLRPI^
47354 064134 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
47355 064135 200 00 0 00 071142 MOVE [AOSE 0] ;PI TRAP INSTRUCTION
47356 064136 202 00 0 00 000046 MOVEM Y ;INTO TRAP LOCATION
47357 064137 200 00 0 00 071150 MOVE [JSP 1,..0134] ;SECOND TRAP INSTRUCTION
47358 064140 202 00 0 00 000047 MOVEM Y+1 ;INTO SECOND PI INSTRUCTION
47359 064141 201 00 0 00 000001 MOVEI 1 ;SET AC TO NON ZERO
47360 064142 7 004 20 0 00 006220 CONO PI,REQSET!PION!CHNON!X ;REQUEST INTERRUPT ON CH X
47361
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 40-3
DFKAA8 MAC 25-AUG-75 14:17 BASIC NO-SKIP TESTING SEQ 1093
47362 ;IF WE FALL THROUGH THEN THE INTERRUPT WAS DISMISSED WHEN THE AOS FAILED
47363
47364 WATINT^
47365 064143 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
47366 064144 367 13 0 00 064144 SOJG 13,. ;AND WAIT^
47367 STOP^
47368 064145 254 04 0 00 064146 HALT .+1 ;INSTRUCTION FAILED REPLACE
47369 064146 254 00 0 00 064147 JRST .+1 ;WITH JRST BACK^
47370 064147 ..0134: CLRBTH^
47371 064147 700 04 0 00 267760 CLRAPR
47372 064150 700 14 0 00 031577 CLRPI^
47373 064151 302 00 0 00 000002 CAIE 2 ;ONLY ONE AOSE PREFORMED?
47374 STOP^
47375 064152 254 04 0 00 064153 HALT .+1 ;INSTRUCTION FAILED REPLACE
47376 064153 254 00 0 00 064154 JRST .+1 ;WITH JRST BACK^
47377 ^
47378 PSKPB Y,X^
47379
47380 ;CHECK THAT SKIPE DOES NOT SKIP, OR MODIFY THE AC, OR DISMISS
47381 ;THE INTERRUPT.
47382
47383 CLRBTH^
47384 064154 700 04 0 00 267760 CLRAPR
47385 064155 700 14 0 00 031577 CLRPI^
47386 064156 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
47387 064157 200 00 0 00 071144 MOVE [SKIPE 0,0] ;PI TRAP INSTRUCTION(SHOULD NOT SKIP)
47388 064160 202 00 0 00 000046 MOVEM Y ;INTO TRAP LOCATION
47389 064161 200 00 0 00 071151 MOVE [JSP 1,..0135] ;SECOND TRAP INSTRUCTION
47390 064162 202 00 0 00 000047 MOVEM Y+1 ;INTO SECOND PI INSTRUCTION
47391 064163 201 00 0 00 000001 MOVEI 1 ;SET AC TO NON ZERO
47392 064164 7 004 20 0 00 006220 CONO PI,REQSET!PION!CHNON!X ;REQUEST INTERRUPT ON CH X
47393
47394 ;IF WE FALL THROUGH TO HERE, THEN THE INT. WAS DISMISSED AND SHOULDN'T HAVE BEEN
47395
47396 WATINT^
47397 064165 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
47398 064166 367 13 0 00 064166 SOJG 13,. ;AND WAIT^
47399 STOP^
47400 064167 254 04 0 00 064170 HALT .+1 ;INSTRUCTION FAILED REPLACE
47401 064170 254 00 0 00 064171 JRST .+1 ;WITH JRST BACK^
47402 064171 ..0135: CLRBTH^
47403 064171 700 04 0 00 267760 CLRAPR
47404 064172 700 14 0 00 031577 CLRPI^
47405 064173 302 00 0 00 000001 CAIE 1 ;JUMPE SHOULD HAVE NOT MODIFIED THE AC
47406 STOP^
47407 064174 254 04 0 00 064175 HALT .+1 ;INSTRUCTION FAILED REPLACE
47408 064175 254 00 0 00 064176 JRST .+1 ;WITH JRST BACK^
47409 ^
47410 000050 Y=Y+2
47411 000010 X=X_-1
47412
47413
47414 PSKPA Y,X^
47415
47416 ;TEST THAT AOSE DOES NOT DISMISS INTERRUPTS, OR SKIP WHEN EXECUTED AS
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 40-4
DFKAA8 MAC 25-AUG-75 14:17 BASIC NO-SKIP TESTING SEQ 1094
47417 ;AN INTERRUPT INSTRUCTION.
47418
47419 CLRBTH^
47420 064176 700 04 0 00 267760 CLRAPR
47421 064177 700 14 0 00 031577 CLRPI^
47422 064200 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
47423 064201 200 00 0 00 071142 MOVE [AOSE 0] ;PI TRAP INSTRUCTION
47424 064202 202 00 0 00 000050 MOVEM Y ;INTO TRAP LOCATION
47425 064203 200 00 0 00 071152 MOVE [JSP 1,..0136] ;SECOND TRAP INSTRUCTION
47426 064204 202 00 0 00 000051 MOVEM Y+1 ;INTO SECOND PI INSTRUCTION
47427 064205 201 00 0 00 000001 MOVEI 1 ;SET AC TO NON ZERO
47428 064206 7 004 20 0 00 006210 CONO PI,REQSET!PION!CHNON!X ;REQUEST INTERRUPT ON CH X
47429
47430 ;IF WE FALL THROUGH THEN THE INTERRUPT WAS DISMISSED WHEN THE AOS FAILED
47431
47432 WATINT^
47433 064207 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
47434 064210 367 13 0 00 064210 SOJG 13,. ;AND WAIT^
47435 STOP^
47436 064211 254 04 0 00 064212 HALT .+1 ;INSTRUCTION FAILED REPLACE
47437 064212 254 00 0 00 064213 JRST .+1 ;WITH JRST BACK^
47438 064213 ..0136: CLRBTH^
47439 064213 700 04 0 00 267760 CLRAPR
47440 064214 700 14 0 00 031577 CLRPI^
47441 064215 302 00 0 00 000002 CAIE 2 ;ONLY ONE AOSE PREFORMED?
47442 STOP^
47443 064216 254 04 0 00 064217 HALT .+1 ;INSTRUCTION FAILED REPLACE
47444 064217 254 00 0 00 064220 JRST .+1 ;WITH JRST BACK^
47445 ^
47446 PSKPB Y,X^
47447
47448 ;CHECK THAT SKIPE DOES NOT SKIP, OR MODIFY THE AC, OR DISMISS
47449 ;THE INTERRUPT.
47450
47451 CLRBTH^
47452 064220 700 04 0 00 267760 CLRAPR
47453 064221 700 14 0 00 031577 CLRPI^
47454 064222 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
47455 064223 200 00 0 00 071144 MOVE [SKIPE 0,0] ;PI TRAP INSTRUCTION(SHOULD NOT SKIP)
47456 064224 202 00 0 00 000050 MOVEM Y ;INTO TRAP LOCATION
47457 064225 200 00 0 00 071153 MOVE [JSP 1,..0137] ;SECOND TRAP INSTRUCTION
47458 064226 202 00 0 00 000051 MOVEM Y+1 ;INTO SECOND PI INSTRUCTION
47459 064227 201 00 0 00 000001 MOVEI 1 ;SET AC TO NON ZERO
47460 064230 7 004 20 0 00 006210 CONO PI,REQSET!PION!CHNON!X ;REQUEST INTERRUPT ON CH X
47461
47462 ;IF WE FALL THROUGH TO HERE, THEN THE INT. WAS DISMISSED AND SHOULDN'T HAVE BEEN
47463
47464 WATINT^
47465 064231 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
47466 064232 367 13 0 00 064232 SOJG 13,. ;AND WAIT^
47467 STOP^
47468 064233 254 04 0 00 064234 HALT .+1 ;INSTRUCTION FAILED REPLACE
47469 064234 254 00 0 00 064235 JRST .+1 ;WITH JRST BACK^
47470 064235 ..0137: CLRBTH^
47471 064235 700 04 0 00 267760 CLRAPR
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 40-5
DFKAA8 MAC 25-AUG-75 14:17 BASIC NO-SKIP TESTING SEQ 1095
47472 064236 700 14 0 00 031577 CLRPI^
47473 064237 302 00 0 00 000001 CAIE 1 ;JUMPE SHOULD HAVE NOT MODIFIED THE AC
47474 STOP^
47475 064240 254 04 0 00 064241 HALT .+1 ;INSTRUCTION FAILED REPLACE
47476 064241 254 00 0 00 064242 JRST .+1 ;WITH JRST BACK^
47477 ^
47478 000052 Y=Y+2
47479 000004 X=X_-1
47480
47481
47482 PSKPA Y,X^
47483
47484 ;TEST THAT AOSE DOES NOT DISMISS INTERRUPTS, OR SKIP WHEN EXECUTED AS
47485 ;AN INTERRUPT INSTRUCTION.
47486
47487 CLRBTH^
47488 064242 700 04 0 00 267760 CLRAPR
47489 064243 700 14 0 00 031577 CLRPI^
47490 064244 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
47491 064245 200 00 0 00 071142 MOVE [AOSE 0] ;PI TRAP INSTRUCTION
47492 064246 202 00 0 00 000052 MOVEM Y ;INTO TRAP LOCATION
47493 064247 200 00 0 00 071154 MOVE [JSP 1,..0140] ;SECOND TRAP INSTRUCTION
47494 064250 202 00 0 00 000053 MOVEM Y+1 ;INTO SECOND PI INSTRUCTION
47495 064251 201 00 0 00 000001 MOVEI 1 ;SET AC TO NON ZERO
47496 064252 7 004 20 0 00 006204 CONO PI,REQSET!PION!CHNON!X ;REQUEST INTERRUPT ON CH X
47497
47498 ;IF WE FALL THROUGH THEN THE INTERRUPT WAS DISMISSED WHEN THE AOS FAILED
47499
47500 WATINT^
47501 064253 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
47502 064254 367 13 0 00 064254 SOJG 13,. ;AND WAIT^
47503 STOP^
47504 064255 254 04 0 00 064256 HALT .+1 ;INSTRUCTION FAILED REPLACE
47505 064256 254 00 0 00 064257 JRST .+1 ;WITH JRST BACK^
47506 064257 ..0140: CLRBTH^
47507 064257 700 04 0 00 267760 CLRAPR
47508 064260 700 14 0 00 031577 CLRPI^
47509 064261 302 00 0 00 000002 CAIE 2 ;ONLY ONE AOSE PREFORMED?
47510 STOP^
47511 064262 254 04 0 00 064263 HALT .+1 ;INSTRUCTION FAILED REPLACE
47512 064263 254 00 0 00 064264 JRST .+1 ;WITH JRST BACK^
47513 ^
47514 PSKPB Y,X^
47515
47516 ;CHECK THAT SKIPE DOES NOT SKIP, OR MODIFY THE AC, OR DISMISS
47517 ;THE INTERRUPT.
47518
47519 CLRBTH^
47520 064264 700 04 0 00 267760 CLRAPR
47521 064265 700 14 0 00 031577 CLRPI^
47522 064266 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
47523 064267 200 00 0 00 071144 MOVE [SKIPE 0,0] ;PI TRAP INSTRUCTION(SHOULD NOT SKIP)
47524 064270 202 00 0 00 000052 MOVEM Y ;INTO TRAP LOCATION
47525 064271 200 00 0 00 071155 MOVE [JSP 1,..0141] ;SECOND TRAP INSTRUCTION
47526 064272 202 00 0 00 000053 MOVEM Y+1 ;INTO SECOND PI INSTRUCTION
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 40-6
DFKAA8 MAC 25-AUG-75 14:17 BASIC NO-SKIP TESTING SEQ 1096
47527 064273 201 00 0 00 000001 MOVEI 1 ;SET AC TO NON ZERO
47528 064274 7 004 20 0 00 006204 CONO PI,REQSET!PION!CHNON!X ;REQUEST INTERRUPT ON CH X
47529
47530 ;IF WE FALL THROUGH TO HERE, THEN THE INT. WAS DISMISSED AND SHOULDN'T HAVE BEEN
47531
47532 WATINT^
47533 064275 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
47534 064276 367 13 0 00 064276 SOJG 13,. ;AND WAIT^
47535 STOP^
47536 064277 254 04 0 00 064300 HALT .+1 ;INSTRUCTION FAILED REPLACE
47537 064300 254 00 0 00 064301 JRST .+1 ;WITH JRST BACK^
47538 064301 ..0141: CLRBTH^
47539 064301 700 04 0 00 267760 CLRAPR
47540 064302 700 14 0 00 031577 CLRPI^
47541 064303 302 00 0 00 000001 CAIE 1 ;JUMPE SHOULD HAVE NOT MODIFIED THE AC
47542 STOP^
47543 064304 254 04 0 00 064305 HALT .+1 ;INSTRUCTION FAILED REPLACE
47544 064305 254 00 0 00 064306 JRST .+1 ;WITH JRST BACK^
47545 ^
47546 000054 Y=Y+2
47547 000002 X=X_-1
47548
47549
47550 PSKPA Y,X^
47551
47552 ;TEST THAT AOSE DOES NOT DISMISS INTERRUPTS, OR SKIP WHEN EXECUTED AS
47553 ;AN INTERRUPT INSTRUCTION.
47554
47555 CLRBTH^
47556 064306 700 04 0 00 267760 CLRAPR
47557 064307 700 14 0 00 031577 CLRPI^
47558 064310 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
47559 064311 200 00 0 00 071142 MOVE [AOSE 0] ;PI TRAP INSTRUCTION
47560 064312 202 00 0 00 000054 MOVEM Y ;INTO TRAP LOCATION
47561 064313 200 00 0 00 071156 MOVE [JSP 1,..0142] ;SECOND TRAP INSTRUCTION
47562 064314 202 00 0 00 000055 MOVEM Y+1 ;INTO SECOND PI INSTRUCTION
47563 064315 201 00 0 00 000001 MOVEI 1 ;SET AC TO NON ZERO
47564 064316 7 004 20 0 00 006202 CONO PI,REQSET!PION!CHNON!X ;REQUEST INTERRUPT ON CH X
47565
47566 ;IF WE FALL THROUGH THEN THE INTERRUPT WAS DISMISSED WHEN THE AOS FAILED
47567
47568 WATINT^
47569 064317 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
47570 064320 367 13 0 00 064320 SOJG 13,. ;AND WAIT^
47571 STOP^
47572 064321 254 04 0 00 064322 HALT .+1 ;INSTRUCTION FAILED REPLACE
47573 064322 254 00 0 00 064323 JRST .+1 ;WITH JRST BACK^
47574 064323 ..0142: CLRBTH^
47575 064323 700 04 0 00 267760 CLRAPR
47576 064324 700 14 0 00 031577 CLRPI^
47577 064325 302 00 0 00 000002 CAIE 2 ;ONLY ONE AOSE PREFORMED?
47578 STOP^
47579 064326 254 04 0 00 064327 HALT .+1 ;INSTRUCTION FAILED REPLACE
47580 064327 254 00 0 00 064330 JRST .+1 ;WITH JRST BACK^
47581 ^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 40-7
DFKAA8 MAC 25-AUG-75 14:17 BASIC NO-SKIP TESTING SEQ 1097
47582 PSKPB Y,X^
47583
47584 ;CHECK THAT SKIPE DOES NOT SKIP, OR MODIFY THE AC, OR DISMISS
47585 ;THE INTERRUPT.
47586
47587 CLRBTH^
47588 064330 700 04 0 00 267760 CLRAPR
47589 064331 700 14 0 00 031577 CLRPI^
47590 064332 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
47591 064333 200 00 0 00 071144 MOVE [SKIPE 0,0] ;PI TRAP INSTRUCTION(SHOULD NOT SKIP)
47592 064334 202 00 0 00 000054 MOVEM Y ;INTO TRAP LOCATION
47593 064335 200 00 0 00 071157 MOVE [JSP 1,..0143] ;SECOND TRAP INSTRUCTION
47594 064336 202 00 0 00 000055 MOVEM Y+1 ;INTO SECOND PI INSTRUCTION
47595 064337 201 00 0 00 000001 MOVEI 1 ;SET AC TO NON ZERO
47596 064340 7 004 20 0 00 006202 CONO PI,REQSET!PION!CHNON!X ;REQUEST INTERRUPT ON CH X
47597
47598 ;IF WE FALL THROUGH TO HERE, THEN THE INT. WAS DISMISSED AND SHOULDN'T HAVE BEEN
47599
47600 WATINT^
47601 064341 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
47602 064342 367 13 0 00 064342 SOJG 13,. ;AND WAIT^
47603 STOP^
47604 064343 254 04 0 00 064344 HALT .+1 ;INSTRUCTION FAILED REPLACE
47605 064344 254 00 0 00 064345 JRST .+1 ;WITH JRST BACK^
47606 064345 ..0143: CLRBTH^
47607 064345 700 04 0 00 267760 CLRAPR
47608 064346 700 14 0 00 031577 CLRPI^
47609 064347 302 00 0 00 000001 CAIE 1 ;JUMPE SHOULD HAVE NOT MODIFIED THE AC
47610 STOP^
47611 064350 254 04 0 00 064351 HALT .+1 ;INSTRUCTION FAILED REPLACE
47612 064351 254 00 0 00 064352 JRST .+1 ;WITH JRST BACK^
47613 ^
47614 000056 Y=Y+2
47615 000001 X=X_-1
47616
47617
47618 PSKPA Y,X^
47619
47620 ;TEST THAT AOSE DOES NOT DISMISS INTERRUPTS, OR SKIP WHEN EXECUTED AS
47621 ;AN INTERRUPT INSTRUCTION.
47622
47623 CLRBTH^
47624 064352 700 04 0 00 267760 CLRAPR
47625 064353 700 14 0 00 031577 CLRPI^
47626 064354 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
47627 064355 200 00 0 00 071142 MOVE [AOSE 0] ;PI TRAP INSTRUCTION
47628 064356 202 00 0 00 000056 MOVEM Y ;INTO TRAP LOCATION
47629 064357 200 00 0 00 071160 MOVE [JSP 1,..0144] ;SECOND TRAP INSTRUCTION
47630 064360 202 00 0 00 000057 MOVEM Y+1 ;INTO SECOND PI INSTRUCTION
47631 064361 201 00 0 00 000001 MOVEI 1 ;SET AC TO NON ZERO
47632 064362 7 004 20 0 00 006201 CONO PI,REQSET!PION!CHNON!X ;REQUEST INTERRUPT ON CH X
47633
47634 ;IF WE FALL THROUGH THEN THE INTERRUPT WAS DISMISSED WHEN THE AOS FAILED
47635
47636 WATINT^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 40-8
DFKAA8 MAC 25-AUG-75 14:17 BASIC NO-SKIP TESTING SEQ 1098
47637 064363 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
47638 064364 367 13 0 00 064364 SOJG 13,. ;AND WAIT^
47639 STOP^
47640 064365 254 04 0 00 064366 HALT .+1 ;INSTRUCTION FAILED REPLACE
47641 064366 254 00 0 00 064367 JRST .+1 ;WITH JRST BACK^
47642 064367 ..0144: CLRBTH^
47643 064367 700 04 0 00 267760 CLRAPR
47644 064370 700 14 0 00 031577 CLRPI^
47645 064371 302 00 0 00 000002 CAIE 2 ;ONLY ONE AOSE PREFORMED?
47646 STOP^
47647 064372 254 04 0 00 064373 HALT .+1 ;INSTRUCTION FAILED REPLACE
47648 064373 254 00 0 00 064374 JRST .+1 ;WITH JRST BACK^
47649 ^
47650 PSKPB Y,X^
47651
47652 ;CHECK THAT SKIPE DOES NOT SKIP, OR MODIFY THE AC, OR DISMISS
47653 ;THE INTERRUPT.
47654
47655 CLRBTH^
47656 064374 700 04 0 00 267760 CLRAPR
47657 064375 700 14 0 00 031577 CLRPI^
47658 064376 264 00 0 00 070103 HALTPI ;FILL INTERRUPT LOCATIONS WITH HALTS
47659 064377 200 00 0 00 071144 MOVE [SKIPE 0,0] ;PI TRAP INSTRUCTION(SHOULD NOT SKIP)
47660 064400 202 00 0 00 000056 MOVEM Y ;INTO TRAP LOCATION
47661 064401 200 00 0 00 071161 MOVE [JSP 1,..0145] ;SECOND TRAP INSTRUCTION
47662 064402 202 00 0 00 000057 MOVEM Y+1 ;INTO SECOND PI INSTRUCTION
47663 064403 201 00 0 00 000001 MOVEI 1 ;SET AC TO NON ZERO
47664 064404 7 004 20 0 00 006201 CONO PI,REQSET!PION!CHNON!X ;REQUEST INTERRUPT ON CH X
47665
47666 ;IF WE FALL THROUGH TO HERE, THEN THE INT. WAS DISMISSED AND SHOULDN'T HAVE BEEN
47667
47668 WATINT^
47669 064405 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
47670 064406 367 13 0 00 064406 SOJG 13,. ;AND WAIT^
47671 STOP^
47672 064407 254 04 0 00 064410 HALT .+1 ;INSTRUCTION FAILED REPLACE
47673 064410 254 00 0 00 064411 JRST .+1 ;WITH JRST BACK^
47674 064411 ..0145: CLRBTH^
47675 064411 700 04 0 00 267760 CLRAPR
47676 064412 700 14 0 00 031577 CLRPI^
47677 064413 302 00 0 00 000001 CAIE 1 ;JUMPE SHOULD HAVE NOT MODIFIED THE AC
47678 STOP^
47679 064414 254 04 0 00 064415 HALT .+1 ;INSTRUCTION FAILED REPLACE
47680 064415 254 00 0 00 064416 JRST .+1 ;WITH JRST BACK^
47681 ^
47682 000060 Y=Y+2
47683 000000 X=X_-1
47684
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 41
DFKAA8 MAC 25-AUG-75 14:17 TEST THE ABILITY TO DISMISS INTERRUPTS SEQ 1099
47685 SUBTTL TEST THE ABILITY TO DISMISS INTERRUPTS
47686 ;CHECK THAT "JEN" DISMISSES INTERRUPTS
47687
47688
47689 000042 X=42
47690 000100 Z1=100
47691 JENDIS: REPEAT 7,<
47692 PIDIS X,Z1
47693
47694 X=X+2
47695 Z1=Z1_-1
47696 >
47697
47698 PIDIS X,Z1^
47699
47700 ;CHECK THAT X JEN WILL DISMISS INTERUPTS ON ALL CHANNELS
47701
47702 TSET^
47703 064416 %X=. ;DEFINE %X TO SAVE
47704 064416 201 00 0 00 064416 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
47705 064417 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
47706 064420 200 00 0 00 071162 ..0146: MOVE [JSP 1,.+6] ;PUT THE PI TRAP INSTRUCTION
47707 064421 202 00 0 00 000042 MOVEM X ;INTO X
47708 064422 7 004 20 0 00 006300 CONO PI,CHNON+PION+REQSET+Z1 ;TURN ON PI AND REQEST ON CH Z1
47709 WATINT^
47710 064423 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
47711 064424 367 13 0 00 064424 SOJG 13,. ;AND WAIT^
47712 064425 254 00 0 00 064430 JRST .+3
47713 064426 7 004 20 0 00 022300 CONO PI,CHNON+PION+LRQCLR+Z1 ;TURN OF INTERRUPT REQUEST
47714 064427 254 12 1 00 000001 JEN @1 ;DISMISS THE INTERRUPT
47715 064430 7 004 30 0 00 077400 CONSZ PI,77400 ;NO REQUESTS SHOULD BE SET
47716 STOP^
47717 064431 254 04 0 00 064432 HALT .+1 ;INSTRUCTION FAILED REPLACE
47718 064432 254 00 0 00 064433 JRST .+1 ;WITH JRST BACK^
47719 TGET^
47720 064433 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
47721 064434 302 00 0 00 064416 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
47722 STOP2^^
47723 064435 254 04 0 00 064436 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
47724 064436 254 00 0 00 064437 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
47725 CLRBTH^
47726 064437 700 04 0 00 267760 CLRAPR
47727 064440 700 14 0 00 031577 CLRPI^
47728 ^
47729
47730 000044 X=X+2
47731 000040 Z1=Z1_-1
47732
47733
47734 PIDIS X,Z1^
47735
47736 ;CHECK THAT X JEN WILL DISMISS INTERUPTS ON ALL CHANNELS
47737
47738 TSET^
47739 064441 %X=. ;DEFINE %X TO SAVE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 41-1
DFKAA8 MAC 25-AUG-75 14:17 TEST THE ABILITY TO DISMISS INTERRUPTS SEQ 1100
47740 064441 201 00 0 00 064441 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
47741 064442 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
47742 064443 200 00 0 00 071163 ..0147: MOVE [JSP 1,.+6] ;PUT THE PI TRAP INSTRUCTION
47743 064444 202 00 0 00 000044 MOVEM X ;INTO X
47744 064445 7 004 20 0 00 006240 CONO PI,CHNON+PION+REQSET+Z1 ;TURN ON PI AND REQEST ON CH Z1
47745 WATINT^
47746 064446 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
47747 064447 367 13 0 00 064447 SOJG 13,. ;AND WAIT^
47748 064450 254 00 0 00 064453 JRST .+3
47749 064451 7 004 20 0 00 022240 CONO PI,CHNON+PION+LRQCLR+Z1 ;TURN OF INTERRUPT REQUEST
47750 064452 254 12 1 00 000001 JEN @1 ;DISMISS THE INTERRUPT
47751 064453 7 004 30 0 00 077400 CONSZ PI,77400 ;NO REQUESTS SHOULD BE SET
47752 STOP^
47753 064454 254 04 0 00 064455 HALT .+1 ;INSTRUCTION FAILED REPLACE
47754 064455 254 00 0 00 064456 JRST .+1 ;WITH JRST BACK^
47755 TGET^
47756 064456 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
47757 064457 302 00 0 00 064441 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
47758 STOP2^^
47759 064460 254 04 0 00 064461 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
47760 064461 254 00 0 00 064462 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
47761 CLRBTH^
47762 064462 700 04 0 00 267760 CLRAPR
47763 064463 700 14 0 00 031577 CLRPI^
47764 ^
47765
47766 000046 X=X+2
47767 000020 Z1=Z1_-1
47768
47769
47770 PIDIS X,Z1^
47771
47772 ;CHECK THAT X JEN WILL DISMISS INTERUPTS ON ALL CHANNELS
47773
47774 TSET^
47775 064464 %X=. ;DEFINE %X TO SAVE
47776 064464 201 00 0 00 064464 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
47777 064465 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
47778 064466 200 00 0 00 071164 ..0150: MOVE [JSP 1,.+6] ;PUT THE PI TRAP INSTRUCTION
47779 064467 202 00 0 00 000046 MOVEM X ;INTO X
47780 064470 7 004 20 0 00 006220 CONO PI,CHNON+PION+REQSET+Z1 ;TURN ON PI AND REQEST ON CH Z1
47781 WATINT^
47782 064471 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
47783 064472 367 13 0 00 064472 SOJG 13,. ;AND WAIT^
47784 064473 254 00 0 00 064476 JRST .+3
47785 064474 7 004 20 0 00 022220 CONO PI,CHNON+PION+LRQCLR+Z1 ;TURN OF INTERRUPT REQUEST
47786 064475 254 12 1 00 000001 JEN @1 ;DISMISS THE INTERRUPT
47787 064476 7 004 30 0 00 077400 CONSZ PI,77400 ;NO REQUESTS SHOULD BE SET
47788 STOP^
47789 064477 254 04 0 00 064500 HALT .+1 ;INSTRUCTION FAILED REPLACE
47790 064500 254 00 0 00 064501 JRST .+1 ;WITH JRST BACK^
47791 TGET^
47792 064501 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
47793 064502 302 00 0 00 064464 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
47794 STOP2^^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 41-2
DFKAA8 MAC 25-AUG-75 14:17 TEST THE ABILITY TO DISMISS INTERRUPTS SEQ 1101
47795 064503 254 04 0 00 064504 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
47796 064504 254 00 0 00 064505 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
47797 CLRBTH^
47798 064505 700 04 0 00 267760 CLRAPR
47799 064506 700 14 0 00 031577 CLRPI^
47800 ^
47801
47802 000050 X=X+2
47803 000010 Z1=Z1_-1
47804
47805
47806 PIDIS X,Z1^
47807
47808 ;CHECK THAT X JEN WILL DISMISS INTERUPTS ON ALL CHANNELS
47809
47810 TSET^
47811 064507 %X=. ;DEFINE %X TO SAVE
47812 064507 201 00 0 00 064507 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
47813 064510 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
47814 064511 200 00 0 00 071165 ..0151: MOVE [JSP 1,.+6] ;PUT THE PI TRAP INSTRUCTION
47815 064512 202 00 0 00 000050 MOVEM X ;INTO X
47816 064513 7 004 20 0 00 006210 CONO PI,CHNON+PION+REQSET+Z1 ;TURN ON PI AND REQEST ON CH Z1
47817 WATINT^
47818 064514 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
47819 064515 367 13 0 00 064515 SOJG 13,. ;AND WAIT^
47820 064516 254 00 0 00 064521 JRST .+3
47821 064517 7 004 20 0 00 022210 CONO PI,CHNON+PION+LRQCLR+Z1 ;TURN OF INTERRUPT REQUEST
47822 064520 254 12 1 00 000001 JEN @1 ;DISMISS THE INTERRUPT
47823 064521 7 004 30 0 00 077400 CONSZ PI,77400 ;NO REQUESTS SHOULD BE SET
47824 STOP^
47825 064522 254 04 0 00 064523 HALT .+1 ;INSTRUCTION FAILED REPLACE
47826 064523 254 00 0 00 064524 JRST .+1 ;WITH JRST BACK^
47827 TGET^
47828 064524 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
47829 064525 302 00 0 00 064507 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
47830 STOP2^^
47831 064526 254 04 0 00 064527 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
47832 064527 254 00 0 00 064530 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
47833 CLRBTH^
47834 064530 700 04 0 00 267760 CLRAPR
47835 064531 700 14 0 00 031577 CLRPI^
47836 ^
47837
47838 000052 X=X+2
47839 000004 Z1=Z1_-1
47840
47841
47842 PIDIS X,Z1^
47843
47844 ;CHECK THAT X JEN WILL DISMISS INTERUPTS ON ALL CHANNELS
47845
47846 TSET^
47847 064532 %X=. ;DEFINE %X TO SAVE
47848 064532 201 00 0 00 064532 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
47849 064533 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 41-3
DFKAA8 MAC 25-AUG-75 14:17 TEST THE ABILITY TO DISMISS INTERRUPTS SEQ 1102
47850 064534 200 00 0 00 071166 ..0152: MOVE [JSP 1,.+6] ;PUT THE PI TRAP INSTRUCTION
47851 064535 202 00 0 00 000052 MOVEM X ;INTO X
47852 064536 7 004 20 0 00 006204 CONO PI,CHNON+PION+REQSET+Z1 ;TURN ON PI AND REQEST ON CH Z1
47853 WATINT^
47854 064537 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
47855 064540 367 13 0 00 064540 SOJG 13,. ;AND WAIT^
47856 064541 254 00 0 00 064544 JRST .+3
47857 064542 7 004 20 0 00 022204 CONO PI,CHNON+PION+LRQCLR+Z1 ;TURN OF INTERRUPT REQUEST
47858 064543 254 12 1 00 000001 JEN @1 ;DISMISS THE INTERRUPT
47859 064544 7 004 30 0 00 077400 CONSZ PI,77400 ;NO REQUESTS SHOULD BE SET
47860 STOP^
47861 064545 254 04 0 00 064546 HALT .+1 ;INSTRUCTION FAILED REPLACE
47862 064546 254 00 0 00 064547 JRST .+1 ;WITH JRST BACK^
47863 TGET^
47864 064547 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
47865 064550 302 00 0 00 064532 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
47866 STOP2^^
47867 064551 254 04 0 00 064552 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
47868 064552 254 00 0 00 064553 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
47869 CLRBTH^
47870 064553 700 04 0 00 267760 CLRAPR
47871 064554 700 14 0 00 031577 CLRPI^
47872 ^
47873
47874 000054 X=X+2
47875 000002 Z1=Z1_-1
47876
47877
47878 PIDIS X,Z1^
47879
47880 ;CHECK THAT X JEN WILL DISMISS INTERUPTS ON ALL CHANNELS
47881
47882 TSET^
47883 064555 %X=. ;DEFINE %X TO SAVE
47884 064555 201 00 0 00 064555 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
47885 064556 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
47886 064557 200 00 0 00 071167 ..0153: MOVE [JSP 1,.+6] ;PUT THE PI TRAP INSTRUCTION
47887 064560 202 00 0 00 000054 MOVEM X ;INTO X
47888 064561 7 004 20 0 00 006202 CONO PI,CHNON+PION+REQSET+Z1 ;TURN ON PI AND REQEST ON CH Z1
47889 WATINT^
47890 064562 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
47891 064563 367 13 0 00 064563 SOJG 13,. ;AND WAIT^
47892 064564 254 00 0 00 064567 JRST .+3
47893 064565 7 004 20 0 00 022202 CONO PI,CHNON+PION+LRQCLR+Z1 ;TURN OF INTERRUPT REQUEST
47894 064566 254 12 1 00 000001 JEN @1 ;DISMISS THE INTERRUPT
47895 064567 7 004 30 0 00 077400 CONSZ PI,77400 ;NO REQUESTS SHOULD BE SET
47896 STOP^
47897 064570 254 04 0 00 064571 HALT .+1 ;INSTRUCTION FAILED REPLACE
47898 064571 254 00 0 00 064572 JRST .+1 ;WITH JRST BACK^
47899 TGET^
47900 064572 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
47901 064573 302 00 0 00 064555 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
47902 STOP2^^
47903 064574 254 04 0 00 064575 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
47904 064575 254 00 0 00 064576 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 41-4
DFKAA8 MAC 25-AUG-75 14:17 TEST THE ABILITY TO DISMISS INTERRUPTS SEQ 1103
47905 CLRBTH^
47906 064576 700 04 0 00 267760 CLRAPR
47907 064577 700 14 0 00 031577 CLRPI^
47908 ^
47909
47910 000056 X=X+2
47911 000001 Z1=Z1_-1
47912
47913
47914 PIDIS X,Z1^
47915
47916 ;CHECK THAT X JEN WILL DISMISS INTERUPTS ON ALL CHANNELS
47917
47918 TSET^
47919 064600 %X=. ;DEFINE %X TO SAVE
47920 064600 201 00 0 00 064600 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
47921 064601 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
47922 064602 200 00 0 00 071170 ..0154: MOVE [JSP 1,.+6] ;PUT THE PI TRAP INSTRUCTION
47923 064603 202 00 0 00 000056 MOVEM X ;INTO X
47924 064604 7 004 20 0 00 006201 CONO PI,CHNON+PION+REQSET+Z1 ;TURN ON PI AND REQEST ON CH Z1
47925 WATINT^
47926 064605 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
47927 064606 367 13 0 00 064606 SOJG 13,. ;AND WAIT^
47928 064607 254 00 0 00 064612 JRST .+3
47929 064610 7 004 20 0 00 022201 CONO PI,CHNON+PION+LRQCLR+Z1 ;TURN OF INTERRUPT REQUEST
47930 064611 254 12 1 00 000001 JEN @1 ;DISMISS THE INTERRUPT
47931 064612 7 004 30 0 00 077400 CONSZ PI,77400 ;NO REQUESTS SHOULD BE SET
47932 STOP^
47933 064613 254 04 0 00 064614 HALT .+1 ;INSTRUCTION FAILED REPLACE
47934 064614 254 00 0 00 064615 JRST .+1 ;WITH JRST BACK^
47935 TGET^
47936 064615 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
47937 064616 302 00 0 00 064600 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
47938 STOP2^^
47939 064617 254 04 0 00 064620 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
47940 064620 254 00 0 00 064621 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
47941 CLRBTH^
47942 064621 700 04 0 00 267760 CLRAPR
47943 064622 700 14 0 00 031577 CLRPI^
47944 ^
47945
47946 000060 X=X+2
47947 000000 Z1=Z1_-1
47948
47949 064623 255 00 0 00 000000 JFCL
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 42
DFKAA8 MAC 25-AUG-75 14:17 TICKLE THE INTERRUPT SYSTEM WITH THE CACHE SWEEP DONE FLAG SEQ 1104
47950 SUBTTL TICKLE THE INTERRUPT SYSTEM WITH THE CACHE SWEEP DONE FLAG
47951 ;TEST THAT THE CACHE SWEEP DONE FLAG WILL NOT CAUSE AN INTERRUPT WHEN ENABLED AND
47952 ;NO APR CACHE SWEEP DONE FLAG CHANNEL IS SET..
47953 BLURB^
47954 ;LOCATIONS 40-60 CONTAIN A JSP TO A ROUTINE WHICH STORES
47955 ;THE CHANNEL NUMBER OF THE INTERRUPT INTO 0
47956 ;THEREFORE IF AN INTERRUPT OCCURS THEN LOCATION
47957 ;ZERO WILL CONTAIN THE NUMBER OF THE INTERRUPT CHANNEL TRAP ADRESS
47958 ^
47959 064624 CKCK0: CLRBTH^
47960 064624 700 04 0 00 267760 CLRAPR
47961 064625 700 14 0 00 031577 CLRPI^
47962 064626 264 00 0 00 070120 TRPPI ;FILL INTERRUPT LOCATIONS WITH TRAPS
47963 064627 400 00 0 00 000000 SETZ ;CLEAR 0
47964 064630 7 004 20 0 00 002377 CONO PI,CHNON!PION!177 ;TURN ON PI SYSTEM
47965 CONO APR,LESBER!LSSBER!LENXER!LSNXER!LEPWRF!LSPWRF!LEIOPF!LSIOPF!LEPAER!LSPAER!L
47966 064631 7 000 20 0 00 117460 ECASD!LSCASD ;ENABLE THE CACHE SWEEP DONE FLAG
47967 WATINT^
47968 064632 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
47969 064633 367 13 0 00 064633 SOJG 13,. ;AND WAIT^
47970 064634 332 00 0 00 000000 SKIPE ;AC0=0
47971 STOP^
47972 064635 254 04 0 00 064636 HALT .+1 ;INSTRUCTION FAILED REPLACE
47973 064636 254 00 0 00 064637 JRST .+1 ;WITH JRST BACK^
47974
47975
47976 ;TEST THAT THE CACHE SWEEP DONE FLAG WILL NOT INTERRUPT WITHOUT CACHE SWEEP DONE FLAG ENABL
47977 E SET
47978 ;ON ALL CHANNELS
47979
47980 000001 X=1
47981 CKCK1: REPEAT 7,<
47982 ;THE PROGRAM WILL WAIT FOR THE CACHE SWEEP DONE FLAG TO INTERRUPT ON EACH CHANNEL
47983 ;WITHOUT CACHE SWEEP DONE FLAG ENABLE SET. IF AC0 BECOMES NON-ZERO THE PROGRAM WILL
47984 ;HALT AND AC0 HAS THE NUMBER OF THE CHANNEL THAT THE INTERRUPT OCCURED
47985 ;ON. NO INTERRUPTS SHOULD OCCUR DURING THIS TEST.
47986 CLRBTH
47987 TRPPI ;FILL INTERRUPT LOCATIONS WITH TRAPS
47988 SETZ 0, ;INSURE ZERO AC0.
47989 CONO PI,PION!CHNON!177 ;ENABLE PI'S
47990 CONO APR,LDSBER!LSSBER!LDNXER!LSNXER!LDPWRF!LSPWRF!LDIOPF!LSIOPF!LDPAER!LSPAER!L
47991 DCASD!LSCASD!X ;DISABLE THE CACHE SWEEP DONE FLAG AN SET CH X
47992 WATINT
47993 SKIPE ;AC0=0
47994 STOP
47995 X=X+1
47996 >
47997
47998 ;THE PROGRAM WILL WAIT FOR THE CACHE SWEEP DONE FLAG TO INTERRUPT ON EACH CHANNEL
47999 ;WITHOUT CACHE SWEEP DONE FLAG ENABLE SET. IF AC0 BECOMES NON-ZERO THE PROGRAM WILL
48000 ;HALT AND AC0 HAS THE NUMBER OF THE CHANNEL THAT THE INTERRUPT OCCURED
48001 ;ON. NO INTERRUPTS SHOULD OCCUR DURING THIS TEST.
48002 CLRBTH^
48003 064637 700 04 0 00 267760 CLRAPR
48004 064640 700 14 0 00 031577 CLRPI^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 42-1
DFKAA8 MAC 25-AUG-75 14:17 TICKLE THE INTERRUPT SYSTEM WITH THE CACHE SWEEP DONE FLAG SEQ 1105
48005 064641 264 00 0 00 070120 TRPPI ;FILL INTERRUPT LOCATIONS WITH TRAPS
48006 064642 400 00 0 00 000000 SETZ 0, ;INSURE ZERO AC0.
48007 064643 7 004 20 0 00 002377 CONO PI,PION!CHNON!177 ;ENABLE PI'S
48008 CONO APR,LDSBER!LSSBER!LDNXER!LSNXER!LDPWRF!LSPWRF!LDIOPF!LSIOPF!LDPAER!LSPAER!L
48009 064644 7 000 20 0 00 057461 DCASD!LSCASD!X ;DISABLE THE CACHE SWEEP DONE FLAG AN SET CH X
48010 WATINT^
48011 064645 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
48012 064646 367 13 0 00 064646 SOJG 13,. ;AND WAIT^
48013 064647 332 00 0 00 000000 SKIPE ;AC0=0
48014 STOP^
48015 064650 254 04 0 00 064651 HALT .+1 ;INSTRUCTION FAILED REPLACE
48016 064651 254 00 0 00 064652 JRST .+1 ;WITH JRST BACK^
48017 000002 X=X+1
48018
48019
48020 ;THE PROGRAM WILL WAIT FOR THE CACHE SWEEP DONE FLAG TO INTERRUPT ON EACH CHANNEL
48021 ;WITHOUT CACHE SWEEP DONE FLAG ENABLE SET. IF AC0 BECOMES NON-ZERO THE PROGRAM WILL
48022 ;HALT AND AC0 HAS THE NUMBER OF THE CHANNEL THAT THE INTERRUPT OCCURED
48023 ;ON. NO INTERRUPTS SHOULD OCCUR DURING THIS TEST.
48024 CLRBTH^
48025 064652 700 04 0 00 267760 CLRAPR
48026 064653 700 14 0 00 031577 CLRPI^
48027 064654 264 00 0 00 070120 TRPPI ;FILL INTERRUPT LOCATIONS WITH TRAPS
48028 064655 400 00 0 00 000000 SETZ 0, ;INSURE ZERO AC0.
48029 064656 7 004 20 0 00 002377 CONO PI,PION!CHNON!177 ;ENABLE PI'S
48030 CONO APR,LDSBER!LSSBER!LDNXER!LSNXER!LDPWRF!LSPWRF!LDIOPF!LSIOPF!LDPAER!LSPAER!L
48031 064657 7 000 20 0 00 057462 DCASD!LSCASD!X ;DISABLE THE CACHE SWEEP DONE FLAG AN SET CH X
48032 WATINT^
48033 064660 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
48034 064661 367 13 0 00 064661 SOJG 13,. ;AND WAIT^
48035 064662 332 00 0 00 000000 SKIPE ;AC0=0
48036 STOP^
48037 064663 254 04 0 00 064664 HALT .+1 ;INSTRUCTION FAILED REPLACE
48038 064664 254 00 0 00 064665 JRST .+1 ;WITH JRST BACK^
48039 000003 X=X+1
48040
48041
48042 ;THE PROGRAM WILL WAIT FOR THE CACHE SWEEP DONE FLAG TO INTERRUPT ON EACH CHANNEL
48043 ;WITHOUT CACHE SWEEP DONE FLAG ENABLE SET. IF AC0 BECOMES NON-ZERO THE PROGRAM WILL
48044 ;HALT AND AC0 HAS THE NUMBER OF THE CHANNEL THAT THE INTERRUPT OCCURED
48045 ;ON. NO INTERRUPTS SHOULD OCCUR DURING THIS TEST.
48046 CLRBTH^
48047 064665 700 04 0 00 267760 CLRAPR
48048 064666 700 14 0 00 031577 CLRPI^
48049 064667 264 00 0 00 070120 TRPPI ;FILL INTERRUPT LOCATIONS WITH TRAPS
48050 064670 400 00 0 00 000000 SETZ 0, ;INSURE ZERO AC0.
48051 064671 7 004 20 0 00 002377 CONO PI,PION!CHNON!177 ;ENABLE PI'S
48052 CONO APR,LDSBER!LSSBER!LDNXER!LSNXER!LDPWRF!LSPWRF!LDIOPF!LSIOPF!LDPAER!LSPAER!L
48053 064672 7 000 20 0 00 057463 DCASD!LSCASD!X ;DISABLE THE CACHE SWEEP DONE FLAG AN SET CH X
48054 WATINT^
48055 064673 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
48056 064674 367 13 0 00 064674 SOJG 13,. ;AND WAIT^
48057 064675 332 00 0 00 000000 SKIPE ;AC0=0
48058 STOP^
48059 064676 254 04 0 00 064677 HALT .+1 ;INSTRUCTION FAILED REPLACE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 42-2
DFKAA8 MAC 25-AUG-75 14:17 TICKLE THE INTERRUPT SYSTEM WITH THE CACHE SWEEP DONE FLAG SEQ 1106
48060 064677 254 00 0 00 064700 JRST .+1 ;WITH JRST BACK^
48061 000004 X=X+1
48062
48063
48064 ;THE PROGRAM WILL WAIT FOR THE CACHE SWEEP DONE FLAG TO INTERRUPT ON EACH CHANNEL
48065 ;WITHOUT CACHE SWEEP DONE FLAG ENABLE SET. IF AC0 BECOMES NON-ZERO THE PROGRAM WILL
48066 ;HALT AND AC0 HAS THE NUMBER OF THE CHANNEL THAT THE INTERRUPT OCCURED
48067 ;ON. NO INTERRUPTS SHOULD OCCUR DURING THIS TEST.
48068 CLRBTH^
48069 064700 700 04 0 00 267760 CLRAPR
48070 064701 700 14 0 00 031577 CLRPI^
48071 064702 264 00 0 00 070120 TRPPI ;FILL INTERRUPT LOCATIONS WITH TRAPS
48072 064703 400 00 0 00 000000 SETZ 0, ;INSURE ZERO AC0.
48073 064704 7 004 20 0 00 002377 CONO PI,PION!CHNON!177 ;ENABLE PI'S
48074 CONO APR,LDSBER!LSSBER!LDNXER!LSNXER!LDPWRF!LSPWRF!LDIOPF!LSIOPF!LDPAER!LSPAER!L
48075 064705 7 000 20 0 00 057464 DCASD!LSCASD!X ;DISABLE THE CACHE SWEEP DONE FLAG AN SET CH X
48076 WATINT^
48077 064706 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
48078 064707 367 13 0 00 064707 SOJG 13,. ;AND WAIT^
48079 064710 332 00 0 00 000000 SKIPE ;AC0=0
48080 STOP^
48081 064711 254 04 0 00 064712 HALT .+1 ;INSTRUCTION FAILED REPLACE
48082 064712 254 00 0 00 064713 JRST .+1 ;WITH JRST BACK^
48083 000005 X=X+1
48084
48085
48086 ;THE PROGRAM WILL WAIT FOR THE CACHE SWEEP DONE FLAG TO INTERRUPT ON EACH CHANNEL
48087 ;WITHOUT CACHE SWEEP DONE FLAG ENABLE SET. IF AC0 BECOMES NON-ZERO THE PROGRAM WILL
48088 ;HALT AND AC0 HAS THE NUMBER OF THE CHANNEL THAT THE INTERRUPT OCCURED
48089 ;ON. NO INTERRUPTS SHOULD OCCUR DURING THIS TEST.
48090 CLRBTH^
48091 064713 700 04 0 00 267760 CLRAPR
48092 064714 700 14 0 00 031577 CLRPI^
48093 064715 264 00 0 00 070120 TRPPI ;FILL INTERRUPT LOCATIONS WITH TRAPS
48094 064716 400 00 0 00 000000 SETZ 0, ;INSURE ZERO AC0.
48095 064717 7 004 20 0 00 002377 CONO PI,PION!CHNON!177 ;ENABLE PI'S
48096 CONO APR,LDSBER!LSSBER!LDNXER!LSNXER!LDPWRF!LSPWRF!LDIOPF!LSIOPF!LDPAER!LSPAER!L
48097 064720 7 000 20 0 00 057465 DCASD!LSCASD!X ;DISABLE THE CACHE SWEEP DONE FLAG AN SET CH X
48098 WATINT^
48099 064721 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
48100 064722 367 13 0 00 064722 SOJG 13,. ;AND WAIT^
48101 064723 332 00 0 00 000000 SKIPE ;AC0=0
48102 STOP^
48103 064724 254 04 0 00 064725 HALT .+1 ;INSTRUCTION FAILED REPLACE
48104 064725 254 00 0 00 064726 JRST .+1 ;WITH JRST BACK^
48105 000006 X=X+1
48106
48107
48108 ;THE PROGRAM WILL WAIT FOR THE CACHE SWEEP DONE FLAG TO INTERRUPT ON EACH CHANNEL
48109 ;WITHOUT CACHE SWEEP DONE FLAG ENABLE SET. IF AC0 BECOMES NON-ZERO THE PROGRAM WILL
48110 ;HALT AND AC0 HAS THE NUMBER OF THE CHANNEL THAT THE INTERRUPT OCCURED
48111 ;ON. NO INTERRUPTS SHOULD OCCUR DURING THIS TEST.
48112 CLRBTH^
48113 064726 700 04 0 00 267760 CLRAPR
48114 064727 700 14 0 00 031577 CLRPI^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 42-3
DFKAA8 MAC 25-AUG-75 14:17 TICKLE THE INTERRUPT SYSTEM WITH THE CACHE SWEEP DONE FLAG SEQ 1107
48115 064730 264 00 0 00 070120 TRPPI ;FILL INTERRUPT LOCATIONS WITH TRAPS
48116 064731 400 00 0 00 000000 SETZ 0, ;INSURE ZERO AC0.
48117 064732 7 004 20 0 00 002377 CONO PI,PION!CHNON!177 ;ENABLE PI'S
48118 CONO APR,LDSBER!LSSBER!LDNXER!LSNXER!LDPWRF!LSPWRF!LDIOPF!LSIOPF!LDPAER!LSPAER!L
48119 064733 7 000 20 0 00 057466 DCASD!LSCASD!X ;DISABLE THE CACHE SWEEP DONE FLAG AN SET CH X
48120 WATINT^
48121 064734 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
48122 064735 367 13 0 00 064735 SOJG 13,. ;AND WAIT^
48123 064736 332 00 0 00 000000 SKIPE ;AC0=0
48124 STOP^
48125 064737 254 04 0 00 064740 HALT .+1 ;INSTRUCTION FAILED REPLACE
48126 064740 254 00 0 00 064741 JRST .+1 ;WITH JRST BACK^
48127 000007 X=X+1
48128
48129
48130 ;THE PROGRAM WILL WAIT FOR THE CACHE SWEEP DONE FLAG TO INTERRUPT ON EACH CHANNEL
48131 ;WITHOUT CACHE SWEEP DONE FLAG ENABLE SET. IF AC0 BECOMES NON-ZERO THE PROGRAM WILL
48132 ;HALT AND AC0 HAS THE NUMBER OF THE CHANNEL THAT THE INTERRUPT OCCURED
48133 ;ON. NO INTERRUPTS SHOULD OCCUR DURING THIS TEST.
48134 CLRBTH^
48135 064741 700 04 0 00 267760 CLRAPR
48136 064742 700 14 0 00 031577 CLRPI^
48137 064743 264 00 0 00 070120 TRPPI ;FILL INTERRUPT LOCATIONS WITH TRAPS
48138 064744 400 00 0 00 000000 SETZ 0, ;INSURE ZERO AC0.
48139 064745 7 004 20 0 00 002377 CONO PI,PION!CHNON!177 ;ENABLE PI'S
48140 CONO APR,LDSBER!LSSBER!LDNXER!LSNXER!LDPWRF!LSPWRF!LDIOPF!LSIOPF!LDPAER!LSPAER!L
48141 064746 7 000 20 0 00 057467 DCASD!LSCASD!X ;DISABLE THE CACHE SWEEP DONE FLAG AN SET CH X
48142 WATINT^
48143 064747 201 13 0 00 001000 MOVEI 13,1000 ;SET UP LOOP OF TEN TO WAIT FOR INT.
48144 064750 367 13 0 00 064750 SOJG 13,. ;AND WAIT^
48145 064751 332 00 0 00 000000 SKIPE ;AC0=0
48146 STOP^
48147 064752 254 04 0 00 064753 HALT .+1 ;INSTRUCTION FAILED REPLACE
48148 064753 254 00 0 00 064754 JRST .+1 ;WITH JRST BACK^
48149 000010 X=X+1
48150
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 43
DFKAA8 MAC 25-AUG-75 14:17 TEST VARIOUS RESETS SEQ 1108
48151 SUBTTL TEST VARIOUS RESETS
48152
48153 ;TRY TO RESET THE PI BITS VIA CONO RESET TO THE APR
48154 064754 RESET1: CLRBTH^
48155 064754 700 04 0 00 267760 CLRAPR
48156 064755 700 14 0 00 031577 CLRPI^
48157 064756 7 004 20 0 00 002377 CONO PI,PION!CHNON!177 ;TURN ON PI SYSTEM
48158 064757 7 000 20 0 00 200000 CONO APR,IOCLR ;RESET THE I/O BUS
48159 064760 7 004 34 0 00 000377 CONSO PI,PION!177 ;ALL PI BITS SHOULD STILL BE SET
48160 STOP^
48161 064761 254 04 0 00 064762 HALT .+1 ;INSTRUCTION FAILED REPLACE
48162 064762 254 00 0 00 064763 JRST .+1 ;WITH JRST BACK^
48163
48164 ;TRY TO RESET THE APR WITH A RESET TO THE PI.
48165 064763 RESET2: CLRBTH^
48166 064763 700 04 0 00 267760 CLRAPR
48167 064764 700 14 0 00 031577 CLRPI^
48168 064765 7 000 20 0 00 000007 CONO APR,7 ;SET CLOCK AND ERROR PIA'S
48169 064766 7 004 20 0 00 010000 CONO PI,PICLR ;CLEAR THE PI SYSTEM
48170 064767 7 000 34 0 00 000007 CONSO APR,7 ;AND APR BITS SHOULD STILL BE SET
48171 STOP^
48172 064770 254 04 0 00 064771 HALT .+1 ;INSTRUCTION FAILED REPLACE
48173 064771 254 00 0 00 064772 JRST .+1 ;WITH JRST BACK^
48174
48175 000001 X=1
48176 RESET3: REPEAT ^D18,<
48177 ;TRY TO RESET THE PI AND APR VIA A CONO BIT TO DEVICE 774
48178 CLRBTH
48179 CONO PI,PION!CHNON!177
48180 CONO APR,7 ;TURN ON PI AND APR BITS
48181 CONO LAST,X ;SEND AND IOB BIT OUT
48182 CONI PI,7 ;PI BITS SHOULD STILL BE SET
48183 CAIE 7,377
48184 STOP
48185 CONI APR,6 ;APR BITS SHOULD BE SET
48186 CAIE 6,7
48187 STOP
48188 X=X_1 ;NEXT BIT
48189 >
48190
48191 ;TRY TO RESET THE PI AND APR VIA A CONO BIT TO DEVICE 774
48192 CLRBTH^
48193 064772 700 04 0 00 267760 CLRAPR
48194 064773 700 14 0 00 031577 CLRPI^
48195 064774 7 004 20 0 00 002377 CONO PI,PION!CHNON!177
48196 064775 7 000 20 0 00 000007 CONO APR,7 ;TURN ON PI AND APR BITS
48197 064776 7 774 20 0 00 000001 CONO LAST,X ;SEND AND IOB BIT OUT
48198 064777 7 004 24 0 00 000007 CONI PI,7 ;PI BITS SHOULD STILL BE SET
48199 065000 302 07 0 00 000377 CAIE 7,377
48200 STOP^
48201 065001 254 04 0 00 065002 HALT .+1 ;INSTRUCTION FAILED REPLACE
48202 065002 254 00 0 00 065003 JRST .+1 ;WITH JRST BACK^
48203 065003 7 000 24 0 00 000006 CONI APR,6 ;APR BITS SHOULD BE SET
48204 065004 302 06 0 00 000007 CAIE 6,7
48205 STOP^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 43-1
DFKAA8 MAC 25-AUG-75 14:17 TEST VARIOUS RESETS SEQ 1109
48206 065005 254 04 0 00 065006 HALT .+1 ;INSTRUCTION FAILED REPLACE
48207 065006 254 00 0 00 065007 JRST .+1 ;WITH JRST BACK^
48208 000002 X=X_1 ;NEXT BIT
48209
48210
48211 ;TRY TO RESET THE PI AND APR VIA A CONO BIT TO DEVICE 774
48212 CLRBTH^
48213 065007 700 04 0 00 267760 CLRAPR
48214 065010 700 14 0 00 031577 CLRPI^
48215 065011 7 004 20 0 00 002377 CONO PI,PION!CHNON!177
48216 065012 7 000 20 0 00 000007 CONO APR,7 ;TURN ON PI AND APR BITS
48217 065013 7 774 20 0 00 000002 CONO LAST,X ;SEND AND IOB BIT OUT
48218 065014 7 004 24 0 00 000007 CONI PI,7 ;PI BITS SHOULD STILL BE SET
48219 065015 302 07 0 00 000377 CAIE 7,377
48220 STOP^
48221 065016 254 04 0 00 065017 HALT .+1 ;INSTRUCTION FAILED REPLACE
48222 065017 254 00 0 00 065020 JRST .+1 ;WITH JRST BACK^
48223 065020 7 000 24 0 00 000006 CONI APR,6 ;APR BITS SHOULD BE SET
48224 065021 302 06 0 00 000007 CAIE 6,7
48225 STOP^
48226 065022 254 04 0 00 065023 HALT .+1 ;INSTRUCTION FAILED REPLACE
48227 065023 254 00 0 00 065024 JRST .+1 ;WITH JRST BACK^
48228 000004 X=X_1 ;NEXT BIT
48229
48230
48231 ;TRY TO RESET THE PI AND APR VIA A CONO BIT TO DEVICE 774
48232 CLRBTH^
48233 065024 700 04 0 00 267760 CLRAPR
48234 065025 700 14 0 00 031577 CLRPI^
48235 065026 7 004 20 0 00 002377 CONO PI,PION!CHNON!177
48236 065027 7 000 20 0 00 000007 CONO APR,7 ;TURN ON PI AND APR BITS
48237 065030 7 774 20 0 00 000004 CONO LAST,X ;SEND AND IOB BIT OUT
48238 065031 7 004 24 0 00 000007 CONI PI,7 ;PI BITS SHOULD STILL BE SET
48239 065032 302 07 0 00 000377 CAIE 7,377
48240 STOP^
48241 065033 254 04 0 00 065034 HALT .+1 ;INSTRUCTION FAILED REPLACE
48242 065034 254 00 0 00 065035 JRST .+1 ;WITH JRST BACK^
48243 065035 7 000 24 0 00 000006 CONI APR,6 ;APR BITS SHOULD BE SET
48244 065036 302 06 0 00 000007 CAIE 6,7
48245 STOP^
48246 065037 254 04 0 00 065040 HALT .+1 ;INSTRUCTION FAILED REPLACE
48247 065040 254 00 0 00 065041 JRST .+1 ;WITH JRST BACK^
48248 000010 X=X_1 ;NEXT BIT
48249
48250
48251 ;TRY TO RESET THE PI AND APR VIA A CONO BIT TO DEVICE 774
48252 CLRBTH^
48253 065041 700 04 0 00 267760 CLRAPR
48254 065042 700 14 0 00 031577 CLRPI^
48255 065043 7 004 20 0 00 002377 CONO PI,PION!CHNON!177
48256 065044 7 000 20 0 00 000007 CONO APR,7 ;TURN ON PI AND APR BITS
48257 065045 7 774 20 0 00 000010 CONO LAST,X ;SEND AND IOB BIT OUT
48258 065046 7 004 24 0 00 000007 CONI PI,7 ;PI BITS SHOULD STILL BE SET
48259 065047 302 07 0 00 000377 CAIE 7,377
48260 STOP^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 43-2
DFKAA8 MAC 25-AUG-75 14:17 TEST VARIOUS RESETS SEQ 1110
48261 065050 254 04 0 00 065051 HALT .+1 ;INSTRUCTION FAILED REPLACE
48262 065051 254 00 0 00 065052 JRST .+1 ;WITH JRST BACK^
48263 065052 7 000 24 0 00 000006 CONI APR,6 ;APR BITS SHOULD BE SET
48264 065053 302 06 0 00 000007 CAIE 6,7
48265 STOP^
48266 065054 254 04 0 00 065055 HALT .+1 ;INSTRUCTION FAILED REPLACE
48267 065055 254 00 0 00 065056 JRST .+1 ;WITH JRST BACK^
48268 000020 X=X_1 ;NEXT BIT
48269
48270
48271 ;TRY TO RESET THE PI AND APR VIA A CONO BIT TO DEVICE 774
48272 CLRBTH^
48273 065056 700 04 0 00 267760 CLRAPR
48274 065057 700 14 0 00 031577 CLRPI^
48275 065060 7 004 20 0 00 002377 CONO PI,PION!CHNON!177
48276 065061 7 000 20 0 00 000007 CONO APR,7 ;TURN ON PI AND APR BITS
48277 065062 7 774 20 0 00 000020 CONO LAST,X ;SEND AND IOB BIT OUT
48278 065063 7 004 24 0 00 000007 CONI PI,7 ;PI BITS SHOULD STILL BE SET
48279 065064 302 07 0 00 000377 CAIE 7,377
48280 STOP^
48281 065065 254 04 0 00 065066 HALT .+1 ;INSTRUCTION FAILED REPLACE
48282 065066 254 00 0 00 065067 JRST .+1 ;WITH JRST BACK^
48283 065067 7 000 24 0 00 000006 CONI APR,6 ;APR BITS SHOULD BE SET
48284 065070 302 06 0 00 000007 CAIE 6,7
48285 STOP^
48286 065071 254 04 0 00 065072 HALT .+1 ;INSTRUCTION FAILED REPLACE
48287 065072 254 00 0 00 065073 JRST .+1 ;WITH JRST BACK^
48288 000040 X=X_1 ;NEXT BIT
48289
48290
48291 ;TRY TO RESET THE PI AND APR VIA A CONO BIT TO DEVICE 774
48292 CLRBTH^
48293 065073 700 04 0 00 267760 CLRAPR
48294 065074 700 14 0 00 031577 CLRPI^
48295 065075 7 004 20 0 00 002377 CONO PI,PION!CHNON!177
48296 065076 7 000 20 0 00 000007 CONO APR,7 ;TURN ON PI AND APR BITS
48297 065077 7 774 20 0 00 000040 CONO LAST,X ;SEND AND IOB BIT OUT
48298 065100 7 004 24 0 00 000007 CONI PI,7 ;PI BITS SHOULD STILL BE SET
48299 065101 302 07 0 00 000377 CAIE 7,377
48300 STOP^
48301 065102 254 04 0 00 065103 HALT .+1 ;INSTRUCTION FAILED REPLACE
48302 065103 254 00 0 00 065104 JRST .+1 ;WITH JRST BACK^
48303 065104 7 000 24 0 00 000006 CONI APR,6 ;APR BITS SHOULD BE SET
48304 065105 302 06 0 00 000007 CAIE 6,7
48305 STOP^
48306 065106 254 04 0 00 065107 HALT .+1 ;INSTRUCTION FAILED REPLACE
48307 065107 254 00 0 00 065110 JRST .+1 ;WITH JRST BACK^
48308 000100 X=X_1 ;NEXT BIT
48309
48310
48311 ;TRY TO RESET THE PI AND APR VIA A CONO BIT TO DEVICE 774
48312 CLRBTH^
48313 065110 700 04 0 00 267760 CLRAPR
48314 065111 700 14 0 00 031577 CLRPI^
48315 065112 7 004 20 0 00 002377 CONO PI,PION!CHNON!177
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 43-3
DFKAA8 MAC 25-AUG-75 14:17 TEST VARIOUS RESETS SEQ 1111
48316 065113 7 000 20 0 00 000007 CONO APR,7 ;TURN ON PI AND APR BITS
48317 065114 7 774 20 0 00 000100 CONO LAST,X ;SEND AND IOB BIT OUT
48318 065115 7 004 24 0 00 000007 CONI PI,7 ;PI BITS SHOULD STILL BE SET
48319 065116 302 07 0 00 000377 CAIE 7,377
48320 STOP^
48321 065117 254 04 0 00 065120 HALT .+1 ;INSTRUCTION FAILED REPLACE
48322 065120 254 00 0 00 065121 JRST .+1 ;WITH JRST BACK^
48323 065121 7 000 24 0 00 000006 CONI APR,6 ;APR BITS SHOULD BE SET
48324 065122 302 06 0 00 000007 CAIE 6,7
48325 STOP^
48326 065123 254 04 0 00 065124 HALT .+1 ;INSTRUCTION FAILED REPLACE
48327 065124 254 00 0 00 065125 JRST .+1 ;WITH JRST BACK^
48328 000200 X=X_1 ;NEXT BIT
48329
48330
48331 ;TRY TO RESET THE PI AND APR VIA A CONO BIT TO DEVICE 774
48332 CLRBTH^
48333 065125 700 04 0 00 267760 CLRAPR
48334 065126 700 14 0 00 031577 CLRPI^
48335 065127 7 004 20 0 00 002377 CONO PI,PION!CHNON!177
48336 065130 7 000 20 0 00 000007 CONO APR,7 ;TURN ON PI AND APR BITS
48337 065131 7 774 20 0 00 000200 CONO LAST,X ;SEND AND IOB BIT OUT
48338 065132 7 004 24 0 00 000007 CONI PI,7 ;PI BITS SHOULD STILL BE SET
48339 065133 302 07 0 00 000377 CAIE 7,377
48340 STOP^
48341 065134 254 04 0 00 065135 HALT .+1 ;INSTRUCTION FAILED REPLACE
48342 065135 254 00 0 00 065136 JRST .+1 ;WITH JRST BACK^
48343 065136 7 000 24 0 00 000006 CONI APR,6 ;APR BITS SHOULD BE SET
48344 065137 302 06 0 00 000007 CAIE 6,7
48345 STOP^
48346 065140 254 04 0 00 065141 HALT .+1 ;INSTRUCTION FAILED REPLACE
48347 065141 254 00 0 00 065142 JRST .+1 ;WITH JRST BACK^
48348 000400 X=X_1 ;NEXT BIT
48349
48350
48351 ;TRY TO RESET THE PI AND APR VIA A CONO BIT TO DEVICE 774
48352 CLRBTH^
48353 065142 700 04 0 00 267760 CLRAPR
48354 065143 700 14 0 00 031577 CLRPI^
48355 065144 7 004 20 0 00 002377 CONO PI,PION!CHNON!177
48356 065145 7 000 20 0 00 000007 CONO APR,7 ;TURN ON PI AND APR BITS
48357 065146 7 774 20 0 00 000400 CONO LAST,X ;SEND AND IOB BIT OUT
48358 065147 7 004 24 0 00 000007 CONI PI,7 ;PI BITS SHOULD STILL BE SET
48359 065150 302 07 0 00 000377 CAIE 7,377
48360 STOP^
48361 065151 254 04 0 00 065152 HALT .+1 ;INSTRUCTION FAILED REPLACE
48362 065152 254 00 0 00 065153 JRST .+1 ;WITH JRST BACK^
48363 065153 7 000 24 0 00 000006 CONI APR,6 ;APR BITS SHOULD BE SET
48364 065154 302 06 0 00 000007 CAIE 6,7
48365 STOP^
48366 065155 254 04 0 00 065156 HALT .+1 ;INSTRUCTION FAILED REPLACE
48367 065156 254 00 0 00 065157 JRST .+1 ;WITH JRST BACK^
48368 001000 X=X_1 ;NEXT BIT
48369
48370
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 43-4
DFKAA8 MAC 25-AUG-75 14:17 TEST VARIOUS RESETS SEQ 1112
48371 ;TRY TO RESET THE PI AND APR VIA A CONO BIT TO DEVICE 774
48372 CLRBTH^
48373 065157 700 04 0 00 267760 CLRAPR
48374 065160 700 14 0 00 031577 CLRPI^
48375 065161 7 004 20 0 00 002377 CONO PI,PION!CHNON!177
48376 065162 7 000 20 0 00 000007 CONO APR,7 ;TURN ON PI AND APR BITS
48377 065163 7 774 20 0 00 001000 CONO LAST,X ;SEND AND IOB BIT OUT
48378 065164 7 004 24 0 00 000007 CONI PI,7 ;PI BITS SHOULD STILL BE SET
48379 065165 302 07 0 00 000377 CAIE 7,377
48380 STOP^
48381 065166 254 04 0 00 065167 HALT .+1 ;INSTRUCTION FAILED REPLACE
48382 065167 254 00 0 00 065170 JRST .+1 ;WITH JRST BACK^
48383 065170 7 000 24 0 00 000006 CONI APR,6 ;APR BITS SHOULD BE SET
48384 065171 302 06 0 00 000007 CAIE 6,7
48385 STOP^
48386 065172 254 04 0 00 065173 HALT .+1 ;INSTRUCTION FAILED REPLACE
48387 065173 254 00 0 00 065174 JRST .+1 ;WITH JRST BACK^
48388 002000 X=X_1 ;NEXT BIT
48389
48390
48391 ;TRY TO RESET THE PI AND APR VIA A CONO BIT TO DEVICE 774
48392 CLRBTH^
48393 065174 700 04 0 00 267760 CLRAPR
48394 065175 700 14 0 00 031577 CLRPI^
48395 065176 7 004 20 0 00 002377 CONO PI,PION!CHNON!177
48396 065177 7 000 20 0 00 000007 CONO APR,7 ;TURN ON PI AND APR BITS
48397 065200 7 774 20 0 00 002000 CONO LAST,X ;SEND AND IOB BIT OUT
48398 065201 7 004 24 0 00 000007 CONI PI,7 ;PI BITS SHOULD STILL BE SET
48399 065202 302 07 0 00 000377 CAIE 7,377
48400 STOP^
48401 065203 254 04 0 00 065204 HALT .+1 ;INSTRUCTION FAILED REPLACE
48402 065204 254 00 0 00 065205 JRST .+1 ;WITH JRST BACK^
48403 065205 7 000 24 0 00 000006 CONI APR,6 ;APR BITS SHOULD BE SET
48404 065206 302 06 0 00 000007 CAIE 6,7
48405 STOP^
48406 065207 254 04 0 00 065210 HALT .+1 ;INSTRUCTION FAILED REPLACE
48407 065210 254 00 0 00 065211 JRST .+1 ;WITH JRST BACK^
48408 004000 X=X_1 ;NEXT BIT
48409
48410
48411 ;TRY TO RESET THE PI AND APR VIA A CONO BIT TO DEVICE 774
48412 CLRBTH^
48413 065211 700 04 0 00 267760 CLRAPR
48414 065212 700 14 0 00 031577 CLRPI^
48415 065213 7 004 20 0 00 002377 CONO PI,PION!CHNON!177
48416 065214 7 000 20 0 00 000007 CONO APR,7 ;TURN ON PI AND APR BITS
48417 065215 7 774 20 0 00 004000 CONO LAST,X ;SEND AND IOB BIT OUT
48418 065216 7 004 24 0 00 000007 CONI PI,7 ;PI BITS SHOULD STILL BE SET
48419 065217 302 07 0 00 000377 CAIE 7,377
48420 STOP^
48421 065220 254 04 0 00 065221 HALT .+1 ;INSTRUCTION FAILED REPLACE
48422 065221 254 00 0 00 065222 JRST .+1 ;WITH JRST BACK^
48423 065222 7 000 24 0 00 000006 CONI APR,6 ;APR BITS SHOULD BE SET
48424 065223 302 06 0 00 000007 CAIE 6,7
48425 STOP^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 43-5
DFKAA8 MAC 25-AUG-75 14:17 TEST VARIOUS RESETS SEQ 1113
48426 065224 254 04 0 00 065225 HALT .+1 ;INSTRUCTION FAILED REPLACE
48427 065225 254 00 0 00 065226 JRST .+1 ;WITH JRST BACK^
48428 010000 X=X_1 ;NEXT BIT
48429
48430
48431 ;TRY TO RESET THE PI AND APR VIA A CONO BIT TO DEVICE 774
48432 CLRBTH^
48433 065226 700 04 0 00 267760 CLRAPR
48434 065227 700 14 0 00 031577 CLRPI^
48435 065230 7 004 20 0 00 002377 CONO PI,PION!CHNON!177
48436 065231 7 000 20 0 00 000007 CONO APR,7 ;TURN ON PI AND APR BITS
48437 065232 7 774 20 0 00 010000 CONO LAST,X ;SEND AND IOB BIT OUT
48438 065233 7 004 24 0 00 000007 CONI PI,7 ;PI BITS SHOULD STILL BE SET
48439 065234 302 07 0 00 000377 CAIE 7,377
48440 STOP^
48441 065235 254 04 0 00 065236 HALT .+1 ;INSTRUCTION FAILED REPLACE
48442 065236 254 00 0 00 065237 JRST .+1 ;WITH JRST BACK^
48443 065237 7 000 24 0 00 000006 CONI APR,6 ;APR BITS SHOULD BE SET
48444 065240 302 06 0 00 000007 CAIE 6,7
48445 STOP^
48446 065241 254 04 0 00 065242 HALT .+1 ;INSTRUCTION FAILED REPLACE
48447 065242 254 00 0 00 065243 JRST .+1 ;WITH JRST BACK^
48448 020000 X=X_1 ;NEXT BIT
48449
48450
48451 ;TRY TO RESET THE PI AND APR VIA A CONO BIT TO DEVICE 774
48452 CLRBTH^
48453 065243 700 04 0 00 267760 CLRAPR
48454 065244 700 14 0 00 031577 CLRPI^
48455 065245 7 004 20 0 00 002377 CONO PI,PION!CHNON!177
48456 065246 7 000 20 0 00 000007 CONO APR,7 ;TURN ON PI AND APR BITS
48457 065247 7 774 20 0 00 020000 CONO LAST,X ;SEND AND IOB BIT OUT
48458 065250 7 004 24 0 00 000007 CONI PI,7 ;PI BITS SHOULD STILL BE SET
48459 065251 302 07 0 00 000377 CAIE 7,377
48460 STOP^
48461 065252 254 04 0 00 065253 HALT .+1 ;INSTRUCTION FAILED REPLACE
48462 065253 254 00 0 00 065254 JRST .+1 ;WITH JRST BACK^
48463 065254 7 000 24 0 00 000006 CONI APR,6 ;APR BITS SHOULD BE SET
48464 065255 302 06 0 00 000007 CAIE 6,7
48465 STOP^
48466 065256 254 04 0 00 065257 HALT .+1 ;INSTRUCTION FAILED REPLACE
48467 065257 254 00 0 00 065260 JRST .+1 ;WITH JRST BACK^
48468 040000 X=X_1 ;NEXT BIT
48469
48470
48471 ;TRY TO RESET THE PI AND APR VIA A CONO BIT TO DEVICE 774
48472 CLRBTH^
48473 065260 700 04 0 00 267760 CLRAPR
48474 065261 700 14 0 00 031577 CLRPI^
48475 065262 7 004 20 0 00 002377 CONO PI,PION!CHNON!177
48476 065263 7 000 20 0 00 000007 CONO APR,7 ;TURN ON PI AND APR BITS
48477 065264 7 774 20 0 00 040000 CONO LAST,X ;SEND AND IOB BIT OUT
48478 065265 7 004 24 0 00 000007 CONI PI,7 ;PI BITS SHOULD STILL BE SET
48479 065266 302 07 0 00 000377 CAIE 7,377
48480 STOP^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 43-6
DFKAA8 MAC 25-AUG-75 14:17 TEST VARIOUS RESETS SEQ 1114
48481 065267 254 04 0 00 065270 HALT .+1 ;INSTRUCTION FAILED REPLACE
48482 065270 254 00 0 00 065271 JRST .+1 ;WITH JRST BACK^
48483 065271 7 000 24 0 00 000006 CONI APR,6 ;APR BITS SHOULD BE SET
48484 065272 302 06 0 00 000007 CAIE 6,7
48485 STOP^
48486 065273 254 04 0 00 065274 HALT .+1 ;INSTRUCTION FAILED REPLACE
48487 065274 254 00 0 00 065275 JRST .+1 ;WITH JRST BACK^
48488 100000 X=X_1 ;NEXT BIT
48489
48490
48491 ;TRY TO RESET THE PI AND APR VIA A CONO BIT TO DEVICE 774
48492 CLRBTH^
48493 065275 700 04 0 00 267760 CLRAPR
48494 065276 700 14 0 00 031577 CLRPI^
48495 065277 7 004 20 0 00 002377 CONO PI,PION!CHNON!177
48496 065300 7 000 20 0 00 000007 CONO APR,7 ;TURN ON PI AND APR BITS
48497 065301 7 774 20 0 00 100000 CONO LAST,X ;SEND AND IOB BIT OUT
48498 065302 7 004 24 0 00 000007 CONI PI,7 ;PI BITS SHOULD STILL BE SET
48499 065303 302 07 0 00 000377 CAIE 7,377
48500 STOP^
48501 065304 254 04 0 00 065305 HALT .+1 ;INSTRUCTION FAILED REPLACE
48502 065305 254 00 0 00 065306 JRST .+1 ;WITH JRST BACK^
48503 065306 7 000 24 0 00 000006 CONI APR,6 ;APR BITS SHOULD BE SET
48504 065307 302 06 0 00 000007 CAIE 6,7
48505 STOP^
48506 065310 254 04 0 00 065311 HALT .+1 ;INSTRUCTION FAILED REPLACE
48507 065311 254 00 0 00 065312 JRST .+1 ;WITH JRST BACK^
48508 200000 X=X_1 ;NEXT BIT
48509
48510
48511 ;TRY TO RESET THE PI AND APR VIA A CONO BIT TO DEVICE 774
48512 CLRBTH^
48513 065312 700 04 0 00 267760 CLRAPR
48514 065313 700 14 0 00 031577 CLRPI^
48515 065314 7 004 20 0 00 002377 CONO PI,PION!CHNON!177
48516 065315 7 000 20 0 00 000007 CONO APR,7 ;TURN ON PI AND APR BITS
48517 065316 7 774 20 0 00 200000 CONO LAST,X ;SEND AND IOB BIT OUT
48518 065317 7 004 24 0 00 000007 CONI PI,7 ;PI BITS SHOULD STILL BE SET
48519 065320 302 07 0 00 000377 CAIE 7,377
48520 STOP^
48521 065321 254 04 0 00 065322 HALT .+1 ;INSTRUCTION FAILED REPLACE
48522 065322 254 00 0 00 065323 JRST .+1 ;WITH JRST BACK^
48523 065323 7 000 24 0 00 000006 CONI APR,6 ;APR BITS SHOULD BE SET
48524 065324 302 06 0 00 000007 CAIE 6,7
48525 STOP^
48526 065325 254 04 0 00 065326 HALT .+1 ;INSTRUCTION FAILED REPLACE
48527 065326 254 00 0 00 065327 JRST .+1 ;WITH JRST BACK^
48528 400000 X=X_1 ;NEXT BIT
48529
48530
48531 ;TRY TO RESET THE PI AND APR VIA A CONO BIT TO DEVICE 774
48532 CLRBTH^
48533 065327 700 04 0 00 267760 CLRAPR
48534 065330 700 14 0 00 031577 CLRPI^
48535 065331 7 004 20 0 00 002377 CONO PI,PION!CHNON!177
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 43-7
DFKAA8 MAC 25-AUG-75 14:17 TEST VARIOUS RESETS SEQ 1115
48536 065332 7 000 20 0 00 000007 CONO APR,7 ;TURN ON PI AND APR BITS
48537 065333 7 774 20 0 00 400000 CONO LAST,X ;SEND AND IOB BIT OUT
48538 065334 7 004 24 0 00 000007 CONI PI,7 ;PI BITS SHOULD STILL BE SET
48539 065335 302 07 0 00 000377 CAIE 7,377
48540 STOP^
48541 065336 254 04 0 00 065337 HALT .+1 ;INSTRUCTION FAILED REPLACE
48542 065337 254 00 0 00 065340 JRST .+1 ;WITH JRST BACK^
48543 065340 7 000 24 0 00 000006 CONI APR,6 ;APR BITS SHOULD BE SET
48544 065341 302 06 0 00 000007 CAIE 6,7
48545 STOP^
48546 065342 254 04 0 00 065343 HALT .+1 ;INSTRUCTION FAILED REPLACE
48547 065343 254 00 0 00 065344 JRST .+1 ;WITH JRST BACK^
48548 000001 000000 X=X_1 ;NEXT BIT
48549
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 44
DFKAA8 MAC 25-AUG-75 14:17 INTERRUPT OUT OF INDIRECT LOOP SEQ 1116
48550 SUBTTL INTERRUPT OUT OF INDIRECT LOOP
48551
48552 INDPI 42,1^
48553
48554 ;GET OURSELVES INTO 42 TIGHT INDIRECT LOOP.
48555 ;AND SEE IF WE ARE ABLE TO INTERRUPT OUT OF IT.
48556 ;THE LOOP IS DONE TEN TIMES. EACH TIME THE INTERRUPT IS DISMISSED AND
48557 ;WE WILL RETURN TO THE "JRST @." INSTRUCTION.
48558
48559 TSET^
48560 065344 %X=. ;DEFINE %X TO SAVE
48561 065344 201 00 0 00 065344 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
48562 065345 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
48563 065346 201 10 0 00 000012 MOVEI 10,^D10 ;TIMES TO DO THIS TEST
48564 065347 202 10 0 00 071347 MOVEM 10,COUNTX# ;STORE IT
48565 065350 200 10 0 00 071171 MOVE 10,[JSP 1,..0155] ;INTERRUPT TRAP INSTRUCTION
48566 065351 202 10 0 00 000042 MOVEM 10,42 ;STORE FOR INTERRUPT REQUEST
48567 CLRBT1^
48568 065352 700 04 0 00 267760 CLRAPR
48569 065353 700 14 0 00 031577 CLRPI^
48570 065354 7 004 20 0 00 002377 CONO PI,2377 ;TURN ON PI AND CHANNELS
48571 065355 7 000 20 0 00 114001 CONO APR,LESBER!LSSBER!1 ;ENABLE AND SET S BUS ERRORS,ENABLE CH 1
48572 065356 254 00 1 00 065356 JRST @. ;LOOP
48573 065357 254 04 0 00 065360 HALT .+1 ;ERROR IF HERE (GOT OUT OF INDIRECT LOOP)
48574 065360 ..0155: TGET^
48575 065360 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
48576 065361 302 00 0 00 065344 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
48577 STOP2^^
48578 065362 254 04 0 00 065363 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
48579 065363 254 00 0 00 065364 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
48580 065364 405 01 0 00 777777 ANDI 1,-1 ;MASK PC BITS
48581 065365 302 01 0 00 065356 CAIE 1,..0155-2 ;WAS CORRECT PC STORED?
48582 STOP^
48583 065366 254 04 0 00 065367 HALT .+1 ;INSTRUCTION FAILED REPLACE
48584 065367 254 00 0 00 065370 JRST .+1 ;WITH JRST BACK^
48585 065370 372 00 0 00 071347 SOSE COUNTX ;LOOP TEST
48586 065371 254 12 1 00 000001 JEN @1 ;DISMISS INTERRUPT
48587 CLRBTH^
48588 065372 700 04 0 00 267760 CLRAPR
48589 065373 700 14 0 00 031577 CLRPI^
48590 ^
48591
48592 INDPI 44,2^
48593
48594 ;GET OURSELVES INTO 44 TIGHT INDIRECT LOOP.
48595 ;AND SEE IF WE ARE ABLE TO INTERRUPT OUT OF IT.
48596 ;THE LOOP IS DONE TEN TIMES. EACH TIME THE INTERRUPT IS DISMISSED AND
48597 ;WE WILL RETURN TO THE "JRST @." INSTRUCTION.
48598
48599 TSET^
48600 065374 %X=. ;DEFINE %X TO SAVE
48601 065374 201 00 0 00 065374 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
48602 065375 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
48603 065376 201 10 0 00 000012 MOVEI 10,^D10 ;TIMES TO DO THIS TEST
48604 065377 202 10 0 00 071347 MOVEM 10,COUNTX# ;STORE IT
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 44-1
DFKAA8 MAC 25-AUG-75 14:17 INTERRUPT OUT OF INDIRECT LOOP SEQ 1117
48605 065400 200 10 0 00 071172 MOVE 10,[JSP 1,..0156] ;INTERRUPT TRAP INSTRUCTION
48606 065401 202 10 0 00 000044 MOVEM 10,44 ;STORE FOR INTERRUPT REQUEST
48607 CLRBT1^
48608 065402 700 04 0 00 267760 CLRAPR
48609 065403 700 14 0 00 031577 CLRPI^
48610 065404 7 004 20 0 00 002377 CONO PI,2377 ;TURN ON PI AND CHANNELS
48611 065405 7 000 20 0 00 114002 CONO APR,LESBER!LSSBER!2 ;ENABLE AND SET S BUS ERRORS,ENABLE CH 2
48612 065406 254 00 1 00 065406 JRST @. ;LOOP
48613 065407 254 04 0 00 065410 HALT .+1 ;ERROR IF HERE (GOT OUT OF INDIRECT LOOP)
48614 065410 ..0156: TGET^
48615 065410 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
48616 065411 302 00 0 00 065374 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
48617 STOP2^^
48618 065412 254 04 0 00 065413 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
48619 065413 254 00 0 00 065414 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
48620 065414 405 01 0 00 777777 ANDI 1,-1 ;MASK PC BITS
48621 065415 302 01 0 00 065406 CAIE 1,..0156-2 ;WAS CORRECT PC STORED?
48622 STOP^
48623 065416 254 04 0 00 065417 HALT .+1 ;INSTRUCTION FAILED REPLACE
48624 065417 254 00 0 00 065420 JRST .+1 ;WITH JRST BACK^
48625 065420 372 00 0 00 071347 SOSE COUNTX ;LOOP TEST
48626 065421 254 12 1 00 000001 JEN @1 ;DISMISS INTERRUPT
48627 CLRBTH^
48628 065422 700 04 0 00 267760 CLRAPR
48629 065423 700 14 0 00 031577 CLRPI^
48630 ^
48631
48632 INDPI 46,3^
48633
48634 ;GET OURSELVES INTO 46 TIGHT INDIRECT LOOP.
48635 ;AND SEE IF WE ARE ABLE TO INTERRUPT OUT OF IT.
48636 ;THE LOOP IS DONE TEN TIMES. EACH TIME THE INTERRUPT IS DISMISSED AND
48637 ;WE WILL RETURN TO THE "JRST @." INSTRUCTION.
48638
48639 TSET^
48640 065424 %X=. ;DEFINE %X TO SAVE
48641 065424 201 00 0 00 065424 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
48642 065425 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
48643 065426 201 10 0 00 000012 MOVEI 10,^D10 ;TIMES TO DO THIS TEST
48644 065427 202 10 0 00 071347 MOVEM 10,COUNTX# ;STORE IT
48645 065430 200 10 0 00 071173 MOVE 10,[JSP 1,..0157] ;INTERRUPT TRAP INSTRUCTION
48646 065431 202 10 0 00 000046 MOVEM 10,46 ;STORE FOR INTERRUPT REQUEST
48647 CLRBT1^
48648 065432 700 04 0 00 267760 CLRAPR
48649 065433 700 14 0 00 031577 CLRPI^
48650 065434 7 004 20 0 00 002377 CONO PI,2377 ;TURN ON PI AND CHANNELS
48651 065435 7 000 20 0 00 114003 CONO APR,LESBER!LSSBER!3 ;ENABLE AND SET S BUS ERRORS,ENABLE CH 3
48652 065436 254 00 1 00 065436 JRST @. ;LOOP
48653 065437 254 04 0 00 065440 HALT .+1 ;ERROR IF HERE (GOT OUT OF INDIRECT LOOP)
48654 065440 ..0157: TGET^
48655 065440 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
48656 065441 302 00 0 00 065424 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
48657 STOP2^^
48658 065442 254 04 0 00 065443 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
48659 065443 254 00 0 00 065444 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 44-2
DFKAA8 MAC 25-AUG-75 14:17 INTERRUPT OUT OF INDIRECT LOOP SEQ 1118
48660 065444 405 01 0 00 777777 ANDI 1,-1 ;MASK PC BITS
48661 065445 302 01 0 00 065436 CAIE 1,..0157-2 ;WAS CORRECT PC STORED?
48662 STOP^
48663 065446 254 04 0 00 065447 HALT .+1 ;INSTRUCTION FAILED REPLACE
48664 065447 254 00 0 00 065450 JRST .+1 ;WITH JRST BACK^
48665 065450 372 00 0 00 071347 SOSE COUNTX ;LOOP TEST
48666 065451 254 12 1 00 000001 JEN @1 ;DISMISS INTERRUPT
48667 CLRBTH^
48668 065452 700 04 0 00 267760 CLRAPR
48669 065453 700 14 0 00 031577 CLRPI^
48670 ^
48671
48672 INDPI 50,4^
48673
48674 ;GET OURSELVES INTO 50 TIGHT INDIRECT LOOP.
48675 ;AND SEE IF WE ARE ABLE TO INTERRUPT OUT OF IT.
48676 ;THE LOOP IS DONE TEN TIMES. EACH TIME THE INTERRUPT IS DISMISSED AND
48677 ;WE WILL RETURN TO THE "JRST @." INSTRUCTION.
48678
48679 TSET^
48680 065454 %X=. ;DEFINE %X TO SAVE
48681 065454 201 00 0 00 065454 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
48682 065455 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
48683 065456 201 10 0 00 000012 MOVEI 10,^D10 ;TIMES TO DO THIS TEST
48684 065457 202 10 0 00 071347 MOVEM 10,COUNTX# ;STORE IT
48685 065460 200 10 0 00 071174 MOVE 10,[JSP 1,..0160] ;INTERRUPT TRAP INSTRUCTION
48686 065461 202 10 0 00 000050 MOVEM 10,50 ;STORE FOR INTERRUPT REQUEST
48687 CLRBT1^
48688 065462 700 04 0 00 267760 CLRAPR
48689 065463 700 14 0 00 031577 CLRPI^
48690 065464 7 004 20 0 00 002377 CONO PI,2377 ;TURN ON PI AND CHANNELS
48691 065465 7 000 20 0 00 114004 CONO APR,LESBER!LSSBER!4 ;ENABLE AND SET S BUS ERRORS,ENABLE CH 4
48692 065466 254 00 1 00 065466 JRST @. ;LOOP
48693 065467 254 04 0 00 065470 HALT .+1 ;ERROR IF HERE (GOT OUT OF INDIRECT LOOP)
48694 065470 ..0160: TGET^
48695 065470 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
48696 065471 302 00 0 00 065454 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
48697 STOP2^^
48698 065472 254 04 0 00 065473 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
48699 065473 254 00 0 00 065474 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
48700 065474 405 01 0 00 777777 ANDI 1,-1 ;MASK PC BITS
48701 065475 302 01 0 00 065466 CAIE 1,..0160-2 ;WAS CORRECT PC STORED?
48702 STOP^
48703 065476 254 04 0 00 065477 HALT .+1 ;INSTRUCTION FAILED REPLACE
48704 065477 254 00 0 00 065500 JRST .+1 ;WITH JRST BACK^
48705 065500 372 00 0 00 071347 SOSE COUNTX ;LOOP TEST
48706 065501 254 12 1 00 000001 JEN @1 ;DISMISS INTERRUPT
48707 CLRBTH^
48708 065502 700 04 0 00 267760 CLRAPR
48709 065503 700 14 0 00 031577 CLRPI^
48710 ^
48711
48712 INDPI 52,5^
48713
48714 ;GET OURSELVES INTO 52 TIGHT INDIRECT LOOP.
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 44-3
DFKAA8 MAC 25-AUG-75 14:17 INTERRUPT OUT OF INDIRECT LOOP SEQ 1119
48715 ;AND SEE IF WE ARE ABLE TO INTERRUPT OUT OF IT.
48716 ;THE LOOP IS DONE TEN TIMES. EACH TIME THE INTERRUPT IS DISMISSED AND
48717 ;WE WILL RETURN TO THE "JRST @." INSTRUCTION.
48718
48719 TSET^
48720 065504 %X=. ;DEFINE %X TO SAVE
48721 065504 201 00 0 00 065504 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
48722 065505 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
48723 065506 201 10 0 00 000012 MOVEI 10,^D10 ;TIMES TO DO THIS TEST
48724 065507 202 10 0 00 071347 MOVEM 10,COUNTX# ;STORE IT
48725 065510 200 10 0 00 071175 MOVE 10,[JSP 1,..0161] ;INTERRUPT TRAP INSTRUCTION
48726 065511 202 10 0 00 000052 MOVEM 10,52 ;STORE FOR INTERRUPT REQUEST
48727 CLRBT1^
48728 065512 700 04 0 00 267760 CLRAPR
48729 065513 700 14 0 00 031577 CLRPI^
48730 065514 7 004 20 0 00 002377 CONO PI,2377 ;TURN ON PI AND CHANNELS
48731 065515 7 000 20 0 00 114005 CONO APR,LESBER!LSSBER!5 ;ENABLE AND SET S BUS ERRORS,ENABLE CH 5
48732 065516 254 00 1 00 065516 JRST @. ;LOOP
48733 065517 254 04 0 00 065520 HALT .+1 ;ERROR IF HERE (GOT OUT OF INDIRECT LOOP)
48734 065520 ..0161: TGET^
48735 065520 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
48736 065521 302 00 0 00 065504 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
48737 STOP2^^
48738 065522 254 04 0 00 065523 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
48739 065523 254 00 0 00 065524 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
48740 065524 405 01 0 00 777777 ANDI 1,-1 ;MASK PC BITS
48741 065525 302 01 0 00 065516 CAIE 1,..0161-2 ;WAS CORRECT PC STORED?
48742 STOP^
48743 065526 254 04 0 00 065527 HALT .+1 ;INSTRUCTION FAILED REPLACE
48744 065527 254 00 0 00 065530 JRST .+1 ;WITH JRST BACK^
48745 065530 372 00 0 00 071347 SOSE COUNTX ;LOOP TEST
48746 065531 254 12 1 00 000001 JEN @1 ;DISMISS INTERRUPT
48747 CLRBTH^
48748 065532 700 04 0 00 267760 CLRAPR
48749 065533 700 14 0 00 031577 CLRPI^
48750 ^
48751
48752 INDPI 54,6^
48753
48754 ;GET OURSELVES INTO 54 TIGHT INDIRECT LOOP.
48755 ;AND SEE IF WE ARE ABLE TO INTERRUPT OUT OF IT.
48756 ;THE LOOP IS DONE TEN TIMES. EACH TIME THE INTERRUPT IS DISMISSED AND
48757 ;WE WILL RETURN TO THE "JRST @." INSTRUCTION.
48758
48759 TSET^
48760 065534 %X=. ;DEFINE %X TO SAVE
48761 065534 201 00 0 00 065534 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
48762 065535 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
48763 065536 201 10 0 00 000012 MOVEI 10,^D10 ;TIMES TO DO THIS TEST
48764 065537 202 10 0 00 071347 MOVEM 10,COUNTX# ;STORE IT
48765 065540 200 10 0 00 071176 MOVE 10,[JSP 1,..0162] ;INTERRUPT TRAP INSTRUCTION
48766 065541 202 10 0 00 000054 MOVEM 10,54 ;STORE FOR INTERRUPT REQUEST
48767 CLRBT1^
48768 065542 700 04 0 00 267760 CLRAPR
48769 065543 700 14 0 00 031577 CLRPI^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 44-4
DFKAA8 MAC 25-AUG-75 14:17 INTERRUPT OUT OF INDIRECT LOOP SEQ 1120
48770 065544 7 004 20 0 00 002377 CONO PI,2377 ;TURN ON PI AND CHANNELS
48771 065545 7 000 20 0 00 114006 CONO APR,LESBER!LSSBER!6 ;ENABLE AND SET S BUS ERRORS,ENABLE CH 6
48772 065546 254 00 1 00 065546 JRST @. ;LOOP
48773 065547 254 04 0 00 065550 HALT .+1 ;ERROR IF HERE (GOT OUT OF INDIRECT LOOP)
48774 065550 ..0162: TGET^
48775 065550 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
48776 065551 302 00 0 00 065534 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
48777 STOP2^^
48778 065552 254 04 0 00 065553 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
48779 065553 254 00 0 00 065554 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
48780 065554 405 01 0 00 777777 ANDI 1,-1 ;MASK PC BITS
48781 065555 302 01 0 00 065546 CAIE 1,..0162-2 ;WAS CORRECT PC STORED?
48782 STOP^
48783 065556 254 04 0 00 065557 HALT .+1 ;INSTRUCTION FAILED REPLACE
48784 065557 254 00 0 00 065560 JRST .+1 ;WITH JRST BACK^
48785 065560 372 00 0 00 071347 SOSE COUNTX ;LOOP TEST
48786 065561 254 12 1 00 000001 JEN @1 ;DISMISS INTERRUPT
48787 CLRBTH^
48788 065562 700 04 0 00 267760 CLRAPR
48789 065563 700 14 0 00 031577 CLRPI^
48790 ^
48791
48792 INDPI 56,7^
48793
48794 ;GET OURSELVES INTO 56 TIGHT INDIRECT LOOP.
48795 ;AND SEE IF WE ARE ABLE TO INTERRUPT OUT OF IT.
48796 ;THE LOOP IS DONE TEN TIMES. EACH TIME THE INTERRUPT IS DISMISSED AND
48797 ;WE WILL RETURN TO THE "JRST @." INSTRUCTION.
48798
48799 TSET^
48800 065564 %X=. ;DEFINE %X TO SAVE
48801 065564 201 00 0 00 065564 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
48802 065565 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
48803 065566 201 10 0 00 000012 MOVEI 10,^D10 ;TIMES TO DO THIS TEST
48804 065567 202 10 0 00 071347 MOVEM 10,COUNTX# ;STORE IT
48805 065570 200 10 0 00 071177 MOVE 10,[JSP 1,..0163] ;INTERRUPT TRAP INSTRUCTION
48806 065571 202 10 0 00 000056 MOVEM 10,56 ;STORE FOR INTERRUPT REQUEST
48807 CLRBT1^
48808 065572 700 04 0 00 267760 CLRAPR
48809 065573 700 14 0 00 031577 CLRPI^
48810 065574 7 004 20 0 00 002377 CONO PI,2377 ;TURN ON PI AND CHANNELS
48811 065575 7 000 20 0 00 114007 CONO APR,LESBER!LSSBER!7 ;ENABLE AND SET S BUS ERRORS,ENABLE CH 7
48812 065576 254 00 1 00 065576 JRST @. ;LOOP
48813 065577 254 04 0 00 065600 HALT .+1 ;ERROR IF HERE (GOT OUT OF INDIRECT LOOP)
48814 065600 ..0163: TGET^
48815 065600 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
48816 065601 302 00 0 00 065564 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
48817 STOP2^^
48818 065602 254 04 0 00 065603 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
48819 065603 254 00 0 00 065604 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
48820 065604 405 01 0 00 777777 ANDI 1,-1 ;MASK PC BITS
48821 065605 302 01 0 00 065576 CAIE 1,..0163-2 ;WAS CORRECT PC STORED?
48822 STOP^
48823 065606 254 04 0 00 065607 HALT .+1 ;INSTRUCTION FAILED REPLACE
48824 065607 254 00 0 00 065610 JRST .+1 ;WITH JRST BACK^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 44-5
DFKAA8 MAC 25-AUG-75 14:17 INTERRUPT OUT OF INDIRECT LOOP SEQ 1121
48825 065610 372 00 0 00 071347 SOSE COUNTX ;LOOP TEST
48826 065611 254 12 1 00 000001 JEN @1 ;DISMISS INTERRUPT
48827 CLRBTH^
48828 065612 700 04 0 00 267760 CLRAPR
48829 065613 700 14 0 00 031577 CLRPI^
48830 ^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 45
DFKAA8 MAC 25-AUG-75 14:17 LOCAL UUO TESTING (LUUO) SEQ 1122
48831 SUBTTL LOCAL UUO TESTING (LUUO)
48832
48833 ;TEST UUO'S IN RANGE 1-37
48834 ;TEST TO SEE THAT UUO TRAPS CORRECTLY AND THAT PC
48835 ;OF UUO IS CORRECT AND THAT UUO STORED IN 40 IS ALSO CORRECT
48836 ;MONITOR UUO'S ARE NOT TESTED.
48837
48838 ;POSSIBLE CAUSES OF FAILURES IN LUUO FLOW.
48839 ;MA SPECIAL BITS NOT SETTING
48840 ;AD MAGIC # 40 @ET1
48841 ;XCTF SET AT FETCH CYCLE
48842 ;AR IR ENABLE @ET1
48843 ;AR SIGN SMEAR
48844 ;AD MAGIC NUMBER ENABLE
48845 ;AB AD EN @ET1
48846 ;INSTRUCTION FETCH @ET2
48847
48848 065614 UUO01: XUUO 1B8,UUO02^
48849
48850 ;EXECUTE AN LUUO AND CHECK THAT THE UUO AND PC STORED
48851 ;ARE CORRECT.
48852
48853 001000 000000 MLUUO==1B8 ;THE UUO TO BE EXECUTED
48854 TSET^
48855 065614 %X=. ;DEFINE %X TO SAVE
48856 065614 201 00 0 00 065614 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
48857 065615 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
48858 065616 200 00 0 00 071200 ..0164: MOVE 0,[JSP 1,.+4] ;TRAP INSTRUCTION
48859 065617 202 00 0 00 000041 MOVEM 0,41 ;IN TO 41
48860 065620 001000 000000 1B8 ;EXECUTE A UUO
48861 065621 254 04 0 00 065622 HALT .+1 ;UUO DID NOT TRAP TO FORTY
48862 065622 201 02 0 00 065621 MOVEI 2,.-1 ;GET UUO PC
48863 065623 405 01 0 00 777777 ANDI 1,-1 ;MASK FLAGS OUT
48864 065624 312 01 0 00 000002 CAME 1,2 ;PC CORRECT ?
48865 065625 254 04 0 00 065626 HALT .+1 ;PC OF UUO NOT = TO PC STORED
48866 065626 200 00 0 00 000040 MOVE 0,40 ;GET UUO !
48867 065627 312 00 0 00 070317 CAME 0,[1B8!0] ;CORRECT UUO STORED IN 40?
48868 065630 334 00 0 00 000000 SKIPA ;NO
48869 065631 254 00 0 00 065640 JRST UUO02 ;TESTS OK !
48870 STOP1^
48871 065632 254 04 0 00 065633 HALT .+1 ;UUO FAILED TO STORE MA BITS
48872 065633 254 00 0 00 065634 JRST .+1 ;INTO RIGHT HALF OF 40^
48873 TGET^
48874 065634 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
48875 065635 302 00 0 00 065614 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
48876 STOP2^^
48877 065636 254 04 0 00 065637 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
48878 065637 254 00 0 00 065640 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
48879 ^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 46
DFKAA8 MAC 25-AUG-75 14:17 LOCAL UUO TESTING (LUUO) SEQ 1123
48880 ;POSSIBLE CAUSES OF FAILURES IN LUUO FLOW.
48881 ;MA SPECIAL BITS NOT SETTING
48882 ;AD MAGIC # 40 @ET1
48883 ;XCTF SET AT FETCH CYCLE
48884 ;AR IR ENABLE @ET1
48885 ;AR SIGN SMEAR
48886 ;AD MAGIC NUMBER ENABLE
48887 ;AB AD EN @ET1
48888 ;INSTRUCTION FETCH @ET2
48889 065640 UUO02: XUUO 2B8,UUO03^
48890
48891 ;EXECUTE AN LUUO AND CHECK THAT THE UUO AND PC STORED
48892 ;ARE CORRECT.
48893
48894 002000 000000 MLUUO==2B8 ;THE UUO TO BE EXECUTED
48895 TSET^
48896 065640 %X=. ;DEFINE %X TO SAVE
48897 065640 201 00 0 00 065640 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
48898 065641 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
48899 065642 200 00 0 00 071201 ..0165: MOVE 0,[JSP 1,.+4] ;TRAP INSTRUCTION
48900 065643 202 00 0 00 000041 MOVEM 0,41 ;IN TO 41
48901 065644 002000 000000 2B8 ;EXECUTE A UUO
48902 065645 254 04 0 00 065646 HALT .+1 ;UUO DID NOT TRAP TO FORTY
48903 065646 201 02 0 00 065645 MOVEI 2,.-1 ;GET UUO PC
48904 065647 405 01 0 00 777777 ANDI 1,-1 ;MASK FLAGS OUT
48905 065650 312 01 0 00 000002 CAME 1,2 ;PC CORRECT ?
48906 065651 254 04 0 00 065652 HALT .+1 ;PC OF UUO NOT = TO PC STORED
48907 065652 200 00 0 00 000040 MOVE 0,40 ;GET UUO !
48908 065653 312 00 0 00 070320 CAME 0,[2B8!0] ;CORRECT UUO STORED IN 40?
48909 065654 334 00 0 00 000000 SKIPA ;NO
48910 065655 254 00 0 00 065664 JRST UUO03 ;TESTS OK !
48911 STOP1^
48912 065656 254 04 0 00 065657 HALT .+1 ;UUO FAILED TO STORE MA BITS
48913 065657 254 00 0 00 065660 JRST .+1 ;INTO RIGHT HALF OF 40^
48914 TGET^
48915 065660 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
48916 065661 302 00 0 00 065640 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
48917 STOP2^^
48918 065662 254 04 0 00 065663 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
48919 065663 254 00 0 00 065664 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
48920 ^
48921 ;POSSIBLE CAUSES OF FAILURES IN LUUO FLOW.
48922 ;MA SPECIAL BITS NOT SETTING
48923 ;AD MAGIC # 40 @ET1
48924 ;XCTF SET AT FETCH CYCLE
48925 ;AR IR ENABLE @ET1
48926 ;AR SIGN SMEAR
48927 ;AD MAGIC NUMBER ENABLE
48928 ;AB AD EN @ET1
48929 ;INSTRUCTION FETCH @ET2
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 47
DFKAA8 MAC 25-AUG-75 14:17 LOCAL UUO TESTING (LUUO) SEQ 1124
48930 065664 UUO03: XUUO 3B8,UUO04^
48931
48932 ;EXECUTE AN LUUO AND CHECK THAT THE UUO AND PC STORED
48933 ;ARE CORRECT.
48934
48935 003000 000000 MLUUO==3B8 ;THE UUO TO BE EXECUTED
48936 TSET^
48937 065664 %X=. ;DEFINE %X TO SAVE
48938 065664 201 00 0 00 065664 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
48939 065665 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
48940 065666 200 00 0 00 071202 ..0166: MOVE 0,[JSP 1,.+4] ;TRAP INSTRUCTION
48941 065667 202 00 0 00 000041 MOVEM 0,41 ;IN TO 41
48942 065670 003000 000000 3B8 ;EXECUTE A UUO
48943 065671 254 04 0 00 065672 HALT .+1 ;UUO DID NOT TRAP TO FORTY
48944 065672 201 02 0 00 065671 MOVEI 2,.-1 ;GET UUO PC
48945 065673 405 01 0 00 777777 ANDI 1,-1 ;MASK FLAGS OUT
48946 065674 312 01 0 00 000002 CAME 1,2 ;PC CORRECT ?
48947 065675 254 04 0 00 065676 HALT .+1 ;PC OF UUO NOT = TO PC STORED
48948 065676 200 00 0 00 000040 MOVE 0,40 ;GET UUO !
48949 065677 312 00 0 00 071203 CAME 0,[3B8!0] ;CORRECT UUO STORED IN 40?
48950 065700 334 00 0 00 000000 SKIPA ;NO
48951 065701 254 00 0 00 065710 JRST UUO04 ;TESTS OK !
48952 STOP1^
48953 065702 254 04 0 00 065703 HALT .+1 ;UUO FAILED TO STORE MA BITS
48954 065703 254 00 0 00 065704 JRST .+1 ;INTO RIGHT HALF OF 40^
48955 TGET^
48956 065704 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
48957 065705 302 00 0 00 065664 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
48958 STOP2^^
48959 065706 254 04 0 00 065707 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
48960 065707 254 00 0 00 065710 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
48961 ^
48962 ;POSSIBLE CAUSES OF FAILURES IN LUUO FLOW.
48963 ;MA SPECIAL BITS NOT SETTING
48964 ;AD MAGIC # 40 @ET1
48965 ;XCTF SET AT FETCH CYCLE
48966 ;AR IR ENABLE @ET1
48967 ;AR SIGN SMEAR
48968 ;AD MAGIC NUMBER ENABLE
48969 ;AB AD EN @ET1
48970 ;INSTRUCTION FETCH @ET2
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 48
DFKAA8 MAC 25-AUG-75 14:17 LOCAL UUO TESTING (LUUO) SEQ 1125
48971 065710 UUO04: XUUO 4B8,UUO05^
48972
48973 ;EXECUTE AN LUUO AND CHECK THAT THE UUO AND PC STORED
48974 ;ARE CORRECT.
48975
48976 004000 000000 MLUUO==4B8 ;THE UUO TO BE EXECUTED
48977 TSET^
48978 065710 %X=. ;DEFINE %X TO SAVE
48979 065710 201 00 0 00 065710 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
48980 065711 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
48981 065712 200 00 0 00 071204 ..0167: MOVE 0,[JSP 1,.+4] ;TRAP INSTRUCTION
48982 065713 202 00 0 00 000041 MOVEM 0,41 ;IN TO 41
48983 065714 004000 000000 4B8 ;EXECUTE A UUO
48984 065715 254 04 0 00 065716 HALT .+1 ;UUO DID NOT TRAP TO FORTY
48985 065716 201 02 0 00 065715 MOVEI 2,.-1 ;GET UUO PC
48986 065717 405 01 0 00 777777 ANDI 1,-1 ;MASK FLAGS OUT
48987 065720 312 01 0 00 000002 CAME 1,2 ;PC CORRECT ?
48988 065721 254 04 0 00 065722 HALT .+1 ;PC OF UUO NOT = TO PC STORED
48989 065722 200 00 0 00 000040 MOVE 0,40 ;GET UUO !
48990 065723 312 00 0 00 070321 CAME 0,[4B8!0] ;CORRECT UUO STORED IN 40?
48991 065724 334 00 0 00 000000 SKIPA ;NO
48992 065725 254 00 0 00 065734 JRST UUO05 ;TESTS OK !
48993 STOP1^
48994 065726 254 04 0 00 065727 HALT .+1 ;UUO FAILED TO STORE MA BITS
48995 065727 254 00 0 00 065730 JRST .+1 ;INTO RIGHT HALF OF 40^
48996 TGET^
48997 065730 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
48998 065731 302 00 0 00 065710 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
48999 STOP2^^
49000 065732 254 04 0 00 065733 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
49001 065733 254 00 0 00 065734 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
49002 ^
49003 ;POSSIBLE CAUSES OF FAILURES IN LUUO FLOW.
49004 ;MA SPECIAL BITS NOT SETTING
49005 ;AD MAGIC # 40 @ET1
49006 ;XCTF SET AT FETCH CYCLE
49007 ;AR IR ENABLE @ET1
49008 ;AR SIGN SMEAR
49009 ;AD MAGIC NUMBER ENABLE
49010 ;AB AD EN @ET1
49011 ;INSTRUCTION FETCH @ET2
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 49
DFKAA8 MAC 25-AUG-75 14:17 LOCAL UUO TESTING (LUUO) SEQ 1126
49012 065734 UUO05: XUUO 5B8,UUO06^
49013
49014 ;EXECUTE AN LUUO AND CHECK THAT THE UUO AND PC STORED
49015 ;ARE CORRECT.
49016
49017 005000 000000 MLUUO==5B8 ;THE UUO TO BE EXECUTED
49018 TSET^
49019 065734 %X=. ;DEFINE %X TO SAVE
49020 065734 201 00 0 00 065734 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
49021 065735 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
49022 065736 200 00 0 00 071205 ..0170: MOVE 0,[JSP 1,.+4] ;TRAP INSTRUCTION
49023 065737 202 00 0 00 000041 MOVEM 0,41 ;IN TO 41
49024 065740 005000 000000 5B8 ;EXECUTE A UUO
49025 065741 254 04 0 00 065742 HALT .+1 ;UUO DID NOT TRAP TO FORTY
49026 065742 201 02 0 00 065741 MOVEI 2,.-1 ;GET UUO PC
49027 065743 405 01 0 00 777777 ANDI 1,-1 ;MASK FLAGS OUT
49028 065744 312 01 0 00 000002 CAME 1,2 ;PC CORRECT ?
49029 065745 254 04 0 00 065746 HALT .+1 ;PC OF UUO NOT = TO PC STORED
49030 065746 200 00 0 00 000040 MOVE 0,40 ;GET UUO !
49031 065747 312 00 0 00 071206 CAME 0,[5B8!0] ;CORRECT UUO STORED IN 40?
49032 065750 334 00 0 00 000000 SKIPA ;NO
49033 065751 254 00 0 00 065760 JRST UUO06 ;TESTS OK !
49034 STOP1^
49035 065752 254 04 0 00 065753 HALT .+1 ;UUO FAILED TO STORE MA BITS
49036 065753 254 00 0 00 065754 JRST .+1 ;INTO RIGHT HALF OF 40^
49037 TGET^
49038 065754 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
49039 065755 302 00 0 00 065734 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
49040 STOP2^^
49041 065756 254 04 0 00 065757 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
49042 065757 254 00 0 00 065760 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
49043 ^
49044 ;POSSIBLE CAUSES OF FAILURES IN LUUO FLOW.
49045 ;MA SPECIAL BITS NOT SETTING
49046 ;AD MAGIC # 40 @ET1
49047 ;XCTF SET AT FETCH CYCLE
49048 ;AR IR ENABLE @ET1
49049 ;AR SIGN SMEAR
49050 ;AD MAGIC NUMBER ENABLE
49051 ;AB AD EN @ET1
49052 ;INSTRUCTION FETCH @ET2
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 50
DFKAA8 MAC 25-AUG-75 14:17 LOCAL UUO TESTING (LUUO) SEQ 1127
49053 065760 UUO06: XUUO 6B8,UUO07^
49054
49055 ;EXECUTE AN LUUO AND CHECK THAT THE UUO AND PC STORED
49056 ;ARE CORRECT.
49057
49058 006000 000000 MLUUO==6B8 ;THE UUO TO BE EXECUTED
49059 TSET^
49060 065760 %X=. ;DEFINE %X TO SAVE
49061 065760 201 00 0 00 065760 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
49062 065761 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
49063 065762 200 00 0 00 071207 ..0171: MOVE 0,[JSP 1,.+4] ;TRAP INSTRUCTION
49064 065763 202 00 0 00 000041 MOVEM 0,41 ;IN TO 41
49065 065764 006000 000000 6B8 ;EXECUTE A UUO
49066 065765 254 04 0 00 065766 HALT .+1 ;UUO DID NOT TRAP TO FORTY
49067 065766 201 02 0 00 065765 MOVEI 2,.-1 ;GET UUO PC
49068 065767 405 01 0 00 777777 ANDI 1,-1 ;MASK FLAGS OUT
49069 065770 312 01 0 00 000002 CAME 1,2 ;PC CORRECT ?
49070 065771 254 04 0 00 065772 HALT .+1 ;PC OF UUO NOT = TO PC STORED
49071 065772 200 00 0 00 000040 MOVE 0,40 ;GET UUO !
49072 065773 312 00 0 00 071210 CAME 0,[6B8!0] ;CORRECT UUO STORED IN 40?
49073 065774 334 00 0 00 000000 SKIPA ;NO
49074 065775 254 00 0 00 066004 JRST UUO07 ;TESTS OK !
49075 STOP1^
49076 065776 254 04 0 00 065777 HALT .+1 ;UUO FAILED TO STORE MA BITS
49077 065777 254 00 0 00 066000 JRST .+1 ;INTO RIGHT HALF OF 40^
49078 TGET^
49079 066000 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
49080 066001 302 00 0 00 065760 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
49081 STOP2^^
49082 066002 254 04 0 00 066003 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
49083 066003 254 00 0 00 066004 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
49084 ^
49085 ;POSSIBLE CAUSES OF FAILURES IN LUUO FLOW.
49086 ;MA SPECIAL BITS NOT SETTING
49087 ;AD MAGIC # 40 @ET1
49088 ;XCTF SET AT FETCH CYCLE
49089 ;AR IR ENABLE @ET1
49090 ;AR SIGN SMEAR
49091 ;AD MAGIC NUMBER ENABLE
49092 ;AB AD EN @ET1
49093 ;INSTRUCTION FETCH @ET2
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 51
DFKAA8 MAC 25-AUG-75 14:17 LOCAL UUO TESTING (LUUO) SEQ 1128
49094 066004 UUO07: XUUO 7B8,UUO10^
49095
49096 ;EXECUTE AN LUUO AND CHECK THAT THE UUO AND PC STORED
49097 ;ARE CORRECT.
49098
49099 007000 000000 MLUUO==7B8 ;THE UUO TO BE EXECUTED
49100 TSET^
49101 066004 %X=. ;DEFINE %X TO SAVE
49102 066004 201 00 0 00 066004 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
49103 066005 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
49104 066006 200 00 0 00 071211 ..0172: MOVE 0,[JSP 1,.+4] ;TRAP INSTRUCTION
49105 066007 202 00 0 00 000041 MOVEM 0,41 ;IN TO 41
49106 066010 007000 000000 7B8 ;EXECUTE A UUO
49107 066011 254 04 0 00 066012 HALT .+1 ;UUO DID NOT TRAP TO FORTY
49108 066012 201 02 0 00 066011 MOVEI 2,.-1 ;GET UUO PC
49109 066013 405 01 0 00 777777 ANDI 1,-1 ;MASK FLAGS OUT
49110 066014 312 01 0 00 000002 CAME 1,2 ;PC CORRECT ?
49111 066015 254 04 0 00 066016 HALT .+1 ;PC OF UUO NOT = TO PC STORED
49112 066016 200 00 0 00 000040 MOVE 0,40 ;GET UUO !
49113 066017 312 00 0 00 071212 CAME 0,[7B8!0] ;CORRECT UUO STORED IN 40?
49114 066020 334 00 0 00 000000 SKIPA ;NO
49115 066021 254 00 0 00 066030 JRST UUO10 ;TESTS OK !
49116 STOP1^
49117 066022 254 04 0 00 066023 HALT .+1 ;UUO FAILED TO STORE MA BITS
49118 066023 254 00 0 00 066024 JRST .+1 ;INTO RIGHT HALF OF 40^
49119 TGET^
49120 066024 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
49121 066025 302 00 0 00 066004 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
49122 STOP2^^
49123 066026 254 04 0 00 066027 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
49124 066027 254 00 0 00 066030 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
49125 ^
49126 ;POSSIBLE CAUSES OF FAILURES IN LUUO FLOW.
49127 ;MA SPECIAL BITS NOT SETTING
49128 ;AD MAGIC # 40 @ET1
49129 ;XCTF SET AT FETCH CYCLE
49130 ;AR IR ENABLE @ET1
49131 ;AR SIGN SMEAR
49132 ;AD MAGIC NUMBER ENABLE
49133 ;AB AD EN @ET1
49134 ;INSTRUCTION FETCH @ET2
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 52
DFKAA8 MAC 25-AUG-75 14:17 LOCAL UUO TESTING (LUUO) SEQ 1129
49135 066030 UUO10: XUUO 10B8,UUO11^
49136
49137 ;EXECUTE AN LUUO AND CHECK THAT THE UUO AND PC STORED
49138 ;ARE CORRECT.
49139
49140 010000 000000 MLUUO==10B8 ;THE UUO TO BE EXECUTED
49141 TSET^
49142 066030 %X=. ;DEFINE %X TO SAVE
49143 066030 201 00 0 00 066030 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
49144 066031 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
49145 066032 200 00 0 00 071213 ..0173: MOVE 0,[JSP 1,.+4] ;TRAP INSTRUCTION
49146 066033 202 00 0 00 000041 MOVEM 0,41 ;IN TO 41
49147 066034 010000 000000 10B8 ;EXECUTE A UUO
49148 066035 254 04 0 00 066036 HALT .+1 ;UUO DID NOT TRAP TO FORTY
49149 066036 201 02 0 00 066035 MOVEI 2,.-1 ;GET UUO PC
49150 066037 405 01 0 00 777777 ANDI 1,-1 ;MASK FLAGS OUT
49151 066040 312 01 0 00 000002 CAME 1,2 ;PC CORRECT ?
49152 066041 254 04 0 00 066042 HALT .+1 ;PC OF UUO NOT = TO PC STORED
49153 066042 200 00 0 00 000040 MOVE 0,40 ;GET UUO !
49154 066043 312 00 0 00 070322 CAME 0,[10B8!0] ;CORRECT UUO STORED IN 40?
49155 066044 334 00 0 00 000000 SKIPA ;NO
49156 066045 254 00 0 00 066054 JRST UUO11 ;TESTS OK !
49157 STOP1^
49158 066046 254 04 0 00 066047 HALT .+1 ;UUO FAILED TO STORE MA BITS
49159 066047 254 00 0 00 066050 JRST .+1 ;INTO RIGHT HALF OF 40^
49160 TGET^
49161 066050 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
49162 066051 302 00 0 00 066030 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
49163 STOP2^^
49164 066052 254 04 0 00 066053 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
49165 066053 254 00 0 00 066054 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
49166 ^
49167 ;POSSIBLE CAUSES OF FAILURES IN LUUO FLOW.
49168 ;MA SPECIAL BITS NOT SETTING
49169 ;AD MAGIC # 40 @ET1
49170 ;XCTF SET AT FETCH CYCLE
49171 ;AR IR ENABLE @ET1
49172 ;AR SIGN SMEAR
49173 ;AD MAGIC NUMBER ENABLE
49174 ;AB AD EN @ET1
49175 ;INSTRUCTION FETCH @ET2
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 53
DFKAA8 MAC 25-AUG-75 14:17 LOCAL UUO TESTING (LUUO) SEQ 1130
49176 066054 UUO11: XUUO 11B8,UUO12^
49177
49178 ;EXECUTE AN LUUO AND CHECK THAT THE UUO AND PC STORED
49179 ;ARE CORRECT.
49180
49181 011000 000000 MLUUO==11B8 ;THE UUO TO BE EXECUTED
49182 TSET^
49183 066054 %X=. ;DEFINE %X TO SAVE
49184 066054 201 00 0 00 066054 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
49185 066055 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
49186 066056 200 00 0 00 071214 ..0174: MOVE 0,[JSP 1,.+4] ;TRAP INSTRUCTION
49187 066057 202 00 0 00 000041 MOVEM 0,41 ;IN TO 41
49188 066060 011000 000000 11B8 ;EXECUTE A UUO
49189 066061 254 04 0 00 066062 HALT .+1 ;UUO DID NOT TRAP TO FORTY
49190 066062 201 02 0 00 066061 MOVEI 2,.-1 ;GET UUO PC
49191 066063 405 01 0 00 777777 ANDI 1,-1 ;MASK FLAGS OUT
49192 066064 312 01 0 00 000002 CAME 1,2 ;PC CORRECT ?
49193 066065 254 04 0 00 066066 HALT .+1 ;PC OF UUO NOT = TO PC STORED
49194 066066 200 00 0 00 000040 MOVE 0,40 ;GET UUO !
49195 066067 312 00 0 00 071215 CAME 0,[11B8!0] ;CORRECT UUO STORED IN 40?
49196 066070 334 00 0 00 000000 SKIPA ;NO
49197 066071 254 00 0 00 066100 JRST UUO12 ;TESTS OK !
49198 STOP1^
49199 066072 254 04 0 00 066073 HALT .+1 ;UUO FAILED TO STORE MA BITS
49200 066073 254 00 0 00 066074 JRST .+1 ;INTO RIGHT HALF OF 40^
49201 TGET^
49202 066074 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
49203 066075 302 00 0 00 066054 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
49204 STOP2^^
49205 066076 254 04 0 00 066077 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
49206 066077 254 00 0 00 066100 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
49207 ^
49208 ;POSSIBLE CAUSES OF FAILURES IN LUUO FLOW.
49209 ;MA SPECIAL BITS NOT SETTING
49210 ;AD MAGIC # 40 @ET1
49211 ;XCTF SET AT FETCH CYCLE
49212 ;AR IR ENABLE @ET1
49213 ;AR SIGN SMEAR
49214 ;AD MAGIC NUMBER ENABLE
49215 ;AB AD EN @ET1
49216 ;INSTRUCTION FETCH @ET2
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 54
DFKAA8 MAC 25-AUG-75 14:17 LOCAL UUO TESTING (LUUO) SEQ 1131
49217 066100 UUO12: XUUO 12B8,UUO13^
49218
49219 ;EXECUTE AN LUUO AND CHECK THAT THE UUO AND PC STORED
49220 ;ARE CORRECT.
49221
49222 012000 000000 MLUUO==12B8 ;THE UUO TO BE EXECUTED
49223 TSET^
49224 066100 %X=. ;DEFINE %X TO SAVE
49225 066100 201 00 0 00 066100 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
49226 066101 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
49227 066102 200 00 0 00 071216 ..0175: MOVE 0,[JSP 1,.+4] ;TRAP INSTRUCTION
49228 066103 202 00 0 00 000041 MOVEM 0,41 ;IN TO 41
49229 066104 012000 000000 12B8 ;EXECUTE A UUO
49230 066105 254 04 0 00 066106 HALT .+1 ;UUO DID NOT TRAP TO FORTY
49231 066106 201 02 0 00 066105 MOVEI 2,.-1 ;GET UUO PC
49232 066107 405 01 0 00 777777 ANDI 1,-1 ;MASK FLAGS OUT
49233 066110 312 01 0 00 000002 CAME 1,2 ;PC CORRECT ?
49234 066111 254 04 0 00 066112 HALT .+1 ;PC OF UUO NOT = TO PC STORED
49235 066112 200 00 0 00 000040 MOVE 0,40 ;GET UUO !
49236 066113 312 00 0 00 071217 CAME 0,[12B8!0] ;CORRECT UUO STORED IN 40?
49237 066114 334 00 0 00 000000 SKIPA ;NO
49238 066115 254 00 0 00 066124 JRST UUO13 ;TESTS OK !
49239 STOP1^
49240 066116 254 04 0 00 066117 HALT .+1 ;UUO FAILED TO STORE MA BITS
49241 066117 254 00 0 00 066120 JRST .+1 ;INTO RIGHT HALF OF 40^
49242 TGET^
49243 066120 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
49244 066121 302 00 0 00 066100 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
49245 STOP2^^
49246 066122 254 04 0 00 066123 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
49247 066123 254 00 0 00 066124 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
49248 ^
49249 ;POSSIBLE CAUSES OF FAILURES IN LUUO FLOW.
49250 ;MA SPECIAL BITS NOT SETTING
49251 ;AD MAGIC # 40 @ET1
49252 ;XCTF SET AT FETCH CYCLE
49253 ;AR IR ENABLE @ET1
49254 ;AR SIGN SMEAR
49255 ;AD MAGIC NUMBER ENABLE
49256 ;AB AD EN @ET1
49257 ;INSTRUCTION FETCH @ET2
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 55
DFKAA8 MAC 25-AUG-75 14:17 LOCAL UUO TESTING (LUUO) SEQ 1132
49258 066124 UUO13: XUUO 13B8,UUO14^
49259
49260 ;EXECUTE AN LUUO AND CHECK THAT THE UUO AND PC STORED
49261 ;ARE CORRECT.
49262
49263 013000 000000 MLUUO==13B8 ;THE UUO TO BE EXECUTED
49264 TSET^
49265 066124 %X=. ;DEFINE %X TO SAVE
49266 066124 201 00 0 00 066124 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
49267 066125 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
49268 066126 200 00 0 00 071220 ..0176: MOVE 0,[JSP 1,.+4] ;TRAP INSTRUCTION
49269 066127 202 00 0 00 000041 MOVEM 0,41 ;IN TO 41
49270 066130 013000 000000 13B8 ;EXECUTE A UUO
49271 066131 254 04 0 00 066132 HALT .+1 ;UUO DID NOT TRAP TO FORTY
49272 066132 201 02 0 00 066131 MOVEI 2,.-1 ;GET UUO PC
49273 066133 405 01 0 00 777777 ANDI 1,-1 ;MASK FLAGS OUT
49274 066134 312 01 0 00 000002 CAME 1,2 ;PC CORRECT ?
49275 066135 254 04 0 00 066136 HALT .+1 ;PC OF UUO NOT = TO PC STORED
49276 066136 200 00 0 00 000040 MOVE 0,40 ;GET UUO !
49277 066137 312 00 0 00 071221 CAME 0,[13B8!0] ;CORRECT UUO STORED IN 40?
49278 066140 334 00 0 00 000000 SKIPA ;NO
49279 066141 254 00 0 00 066150 JRST UUO14 ;TESTS OK !
49280 STOP1^
49281 066142 254 04 0 00 066143 HALT .+1 ;UUO FAILED TO STORE MA BITS
49282 066143 254 00 0 00 066144 JRST .+1 ;INTO RIGHT HALF OF 40^
49283 TGET^
49284 066144 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
49285 066145 302 00 0 00 066124 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
49286 STOP2^^
49287 066146 254 04 0 00 066147 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
49288 066147 254 00 0 00 066150 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
49289 ^
49290 ;POSSIBLE CAUSES OF FAILURES IN LUUO FLOW.
49291 ;MA SPECIAL BITS NOT SETTING
49292 ;AD MAGIC # 40 @ET1
49293 ;XCTF SET AT FETCH CYCLE
49294 ;AR IR ENABLE @ET1
49295 ;AR SIGN SMEAR
49296 ;AD MAGIC NUMBER ENABLE
49297 ;AB AD EN @ET1
49298 ;INSTRUCTION FETCH @ET2
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 56
DFKAA8 MAC 25-AUG-75 14:17 LOCAL UUO TESTING (LUUO) SEQ 1133
49299 066150 UUO14: XUUO 14B8,UUO15^
49300
49301 ;EXECUTE AN LUUO AND CHECK THAT THE UUO AND PC STORED
49302 ;ARE CORRECT.
49303
49304 014000 000000 MLUUO==14B8 ;THE UUO TO BE EXECUTED
49305 TSET^
49306 066150 %X=. ;DEFINE %X TO SAVE
49307 066150 201 00 0 00 066150 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
49308 066151 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
49309 066152 200 00 0 00 071222 ..0177: MOVE 0,[JSP 1,.+4] ;TRAP INSTRUCTION
49310 066153 202 00 0 00 000041 MOVEM 0,41 ;IN TO 41
49311 066154 014000 000000 14B8 ;EXECUTE A UUO
49312 066155 254 04 0 00 066156 HALT .+1 ;UUO DID NOT TRAP TO FORTY
49313 066156 201 02 0 00 066155 MOVEI 2,.-1 ;GET UUO PC
49314 066157 405 01 0 00 777777 ANDI 1,-1 ;MASK FLAGS OUT
49315 066160 312 01 0 00 000002 CAME 1,2 ;PC CORRECT ?
49316 066161 254 04 0 00 066162 HALT .+1 ;PC OF UUO NOT = TO PC STORED
49317 066162 200 00 0 00 000040 MOVE 0,40 ;GET UUO !
49318 066163 312 00 0 00 071223 CAME 0,[14B8!0] ;CORRECT UUO STORED IN 40?
49319 066164 334 00 0 00 000000 SKIPA ;NO
49320 066165 254 00 0 00 066174 JRST UUO15 ;TESTS OK !
49321 STOP1^
49322 066166 254 04 0 00 066167 HALT .+1 ;UUO FAILED TO STORE MA BITS
49323 066167 254 00 0 00 066170 JRST .+1 ;INTO RIGHT HALF OF 40^
49324 TGET^
49325 066170 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
49326 066171 302 00 0 00 066150 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
49327 STOP2^^
49328 066172 254 04 0 00 066173 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
49329 066173 254 00 0 00 066174 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
49330 ^
49331 ;POSSIBLE CAUSES OF FAILURES IN LUUO FLOW.
49332 ;MA SPECIAL BITS NOT SETTING
49333 ;AD MAGIC # 40 @ET1
49334 ;XCTF SET AT FETCH CYCLE
49335 ;AR IR ENABLE @ET1
49336 ;AR SIGN SMEAR
49337 ;AD MAGIC NUMBER ENABLE
49338 ;AB AD EN @ET1
49339 ;INSTRUCTION FETCH @ET2
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 57
DFKAA8 MAC 25-AUG-75 14:17 LOCAL UUO TESTING (LUUO) SEQ 1134
49340 066174 UUO15: XUUO 15B8,UUO16^
49341
49342 ;EXECUTE AN LUUO AND CHECK THAT THE UUO AND PC STORED
49343 ;ARE CORRECT.
49344
49345 015000 000000 MLUUO==15B8 ;THE UUO TO BE EXECUTED
49346 TSET^
49347 066174 %X=. ;DEFINE %X TO SAVE
49348 066174 201 00 0 00 066174 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
49349 066175 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
49350 066176 200 00 0 00 071224 ..0200: MOVE 0,[JSP 1,.+4] ;TRAP INSTRUCTION
49351 066177 202 00 0 00 000041 MOVEM 0,41 ;IN TO 41
49352 066200 015000 000000 15B8 ;EXECUTE A UUO
49353 066201 254 04 0 00 066202 HALT .+1 ;UUO DID NOT TRAP TO FORTY
49354 066202 201 02 0 00 066201 MOVEI 2,.-1 ;GET UUO PC
49355 066203 405 01 0 00 777777 ANDI 1,-1 ;MASK FLAGS OUT
49356 066204 312 01 0 00 000002 CAME 1,2 ;PC CORRECT ?
49357 066205 254 04 0 00 066206 HALT .+1 ;PC OF UUO NOT = TO PC STORED
49358 066206 200 00 0 00 000040 MOVE 0,40 ;GET UUO !
49359 066207 312 00 0 00 071225 CAME 0,[15B8!0] ;CORRECT UUO STORED IN 40?
49360 066210 334 00 0 00 000000 SKIPA ;NO
49361 066211 254 00 0 00 066220 JRST UUO16 ;TESTS OK !
49362 STOP1^
49363 066212 254 04 0 00 066213 HALT .+1 ;UUO FAILED TO STORE MA BITS
49364 066213 254 00 0 00 066214 JRST .+1 ;INTO RIGHT HALF OF 40^
49365 TGET^
49366 066214 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
49367 066215 302 00 0 00 066174 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
49368 STOP2^^
49369 066216 254 04 0 00 066217 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
49370 066217 254 00 0 00 066220 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
49371 ^
49372 ;POSSIBLE CAUSES OF FAILURES IN LUUO FLOW.
49373 ;MA SPECIAL BITS NOT SETTING
49374 ;AD MAGIC # 40 @ET1
49375 ;XCTF SET AT FETCH CYCLE
49376 ;AR IR ENABLE @ET1
49377 ;AR SIGN SMEAR
49378 ;AD MAGIC NUMBER ENABLE
49379 ;AB AD EN @ET1
49380 ;INSTRUCTION FETCH @ET2
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 58
DFKAA8 MAC 25-AUG-75 14:17 LOCAL UUO TESTING (LUUO) SEQ 1135
49381 066220 UUO16: XUUO 16B8,UUO17^
49382
49383 ;EXECUTE AN LUUO AND CHECK THAT THE UUO AND PC STORED
49384 ;ARE CORRECT.
49385
49386 016000 000000 MLUUO==16B8 ;THE UUO TO BE EXECUTED
49387 TSET^
49388 066220 %X=. ;DEFINE %X TO SAVE
49389 066220 201 00 0 00 066220 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
49390 066221 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
49391 066222 200 00 0 00 071226 ..0201: MOVE 0,[JSP 1,.+4] ;TRAP INSTRUCTION
49392 066223 202 00 0 00 000041 MOVEM 0,41 ;IN TO 41
49393 066224 016000 000000 16B8 ;EXECUTE A UUO
49394 066225 254 04 0 00 066226 HALT .+1 ;UUO DID NOT TRAP TO FORTY
49395 066226 201 02 0 00 066225 MOVEI 2,.-1 ;GET UUO PC
49396 066227 405 01 0 00 777777 ANDI 1,-1 ;MASK FLAGS OUT
49397 066230 312 01 0 00 000002 CAME 1,2 ;PC CORRECT ?
49398 066231 254 04 0 00 066232 HALT .+1 ;PC OF UUO NOT = TO PC STORED
49399 066232 200 00 0 00 000040 MOVE 0,40 ;GET UUO !
49400 066233 312 00 0 00 071227 CAME 0,[16B8!0] ;CORRECT UUO STORED IN 40?
49401 066234 334 00 0 00 000000 SKIPA ;NO
49402 066235 254 00 0 00 066244 JRST UUO17 ;TESTS OK !
49403 STOP1^
49404 066236 254 04 0 00 066237 HALT .+1 ;UUO FAILED TO STORE MA BITS
49405 066237 254 00 0 00 066240 JRST .+1 ;INTO RIGHT HALF OF 40^
49406 TGET^
49407 066240 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
49408 066241 302 00 0 00 066220 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
49409 STOP2^^
49410 066242 254 04 0 00 066243 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
49411 066243 254 00 0 00 066244 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
49412 ^
49413 ;POSSIBLE CAUSES OF FAILURES IN LUUO FLOW.
49414 ;MA SPECIAL BITS NOT SETTING
49415 ;AD MAGIC # 40 @ET1
49416 ;XCTF SET AT FETCH CYCLE
49417 ;AR IR ENABLE @ET1
49418 ;AR SIGN SMEAR
49419 ;AD MAGIC NUMBER ENABLE
49420 ;AB AD EN @ET1
49421 ;INSTRUCTION FETCH @ET2
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 59
DFKAA8 MAC 25-AUG-75 14:17 LOCAL UUO TESTING (LUUO) SEQ 1136
49422 066244 UUO17: XUUO 17B8,UUO20^
49423
49424 ;EXECUTE AN LUUO AND CHECK THAT THE UUO AND PC STORED
49425 ;ARE CORRECT.
49426
49427 017000 000000 MLUUO==17B8 ;THE UUO TO BE EXECUTED
49428 TSET^
49429 066244 %X=. ;DEFINE %X TO SAVE
49430 066244 201 00 0 00 066244 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
49431 066245 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
49432 066246 200 00 0 00 071230 ..0202: MOVE 0,[JSP 1,.+4] ;TRAP INSTRUCTION
49433 066247 202 00 0 00 000041 MOVEM 0,41 ;IN TO 41
49434 066250 017000 000000 17B8 ;EXECUTE A UUO
49435 066251 254 04 0 00 066252 HALT .+1 ;UUO DID NOT TRAP TO FORTY
49436 066252 201 02 0 00 066251 MOVEI 2,.-1 ;GET UUO PC
49437 066253 405 01 0 00 777777 ANDI 1,-1 ;MASK FLAGS OUT
49438 066254 312 01 0 00 000002 CAME 1,2 ;PC CORRECT ?
49439 066255 254 04 0 00 066256 HALT .+1 ;PC OF UUO NOT = TO PC STORED
49440 066256 200 00 0 00 000040 MOVE 0,40 ;GET UUO !
49441 066257 312 00 0 00 071231 CAME 0,[17B8!0] ;CORRECT UUO STORED IN 40?
49442 066260 334 00 0 00 000000 SKIPA ;NO
49443 066261 254 00 0 00 066270 JRST UUO20 ;TESTS OK !
49444 STOP1^
49445 066262 254 04 0 00 066263 HALT .+1 ;UUO FAILED TO STORE MA BITS
49446 066263 254 00 0 00 066264 JRST .+1 ;INTO RIGHT HALF OF 40^
49447 TGET^
49448 066264 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
49449 066265 302 00 0 00 066244 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
49450 STOP2^^
49451 066266 254 04 0 00 066267 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
49452 066267 254 00 0 00 066270 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
49453 ^
49454 ;POSSIBLE CAUSES OF FAILURES IN LUUO FLOW.
49455 ;MA SPECIAL BITS NOT SETTING
49456 ;AD MAGIC # 40 @ET1
49457 ;XCTF SET AT FETCH CYCLE
49458 ;AR IR ENABLE @ET1
49459 ;AR SIGN SMEAR
49460 ;AD MAGIC NUMBER ENABLE
49461 ;AB AD EN @ET1
49462 ;INSTRUCTION FETCH @ET2
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 60
DFKAA8 MAC 25-AUG-75 14:17 LOCAL UUO TESTING (LUUO) SEQ 1137
49463 066270 UUO20: XUUO 20B8,UUO21^
49464
49465 ;EXECUTE AN LUUO AND CHECK THAT THE UUO AND PC STORED
49466 ;ARE CORRECT.
49467
49468 020000 000000 MLUUO==20B8 ;THE UUO TO BE EXECUTED
49469 TSET^
49470 066270 %X=. ;DEFINE %X TO SAVE
49471 066270 201 00 0 00 066270 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
49472 066271 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
49473 066272 200 00 0 00 071232 ..0203: MOVE 0,[JSP 1,.+4] ;TRAP INSTRUCTION
49474 066273 202 00 0 00 000041 MOVEM 0,41 ;IN TO 41
49475 066274 020000 000000 20B8 ;EXECUTE A UUO
49476 066275 254 04 0 00 066276 HALT .+1 ;UUO DID NOT TRAP TO FORTY
49477 066276 201 02 0 00 066275 MOVEI 2,.-1 ;GET UUO PC
49478 066277 405 01 0 00 777777 ANDI 1,-1 ;MASK FLAGS OUT
49479 066300 312 01 0 00 000002 CAME 1,2 ;PC CORRECT ?
49480 066301 254 04 0 00 066302 HALT .+1 ;PC OF UUO NOT = TO PC STORED
49481 066302 200 00 0 00 000040 MOVE 0,40 ;GET UUO !
49482 066303 312 00 0 00 070323 CAME 0,[20B8!0] ;CORRECT UUO STORED IN 40?
49483 066304 334 00 0 00 000000 SKIPA ;NO
49484 066305 254 00 0 00 066314 JRST UUO21 ;TESTS OK !
49485 STOP1^
49486 066306 254 04 0 00 066307 HALT .+1 ;UUO FAILED TO STORE MA BITS
49487 066307 254 00 0 00 066310 JRST .+1 ;INTO RIGHT HALF OF 40^
49488 TGET^
49489 066310 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
49490 066311 302 00 0 00 066270 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
49491 STOP2^^
49492 066312 254 04 0 00 066313 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
49493 066313 254 00 0 00 066314 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
49494 ^
49495 ;POSSIBLE CAUSES OF FAILURES IN LUUO FLOW.
49496 ;MA SPECIAL BITS NOT SETTING
49497 ;AD MAGIC # 40 @ET1
49498 ;XCTF SET AT FETCH CYCLE
49499 ;AR IR ENABLE @ET1
49500 ;AR SIGN SMEAR
49501 ;AD MAGIC NUMBER ENABLE
49502 ;AB AD EN @ET1
49503 ;INSTRUCTION FETCH @ET2
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 61
DFKAA8 MAC 25-AUG-75 14:17 LOCAL UUO TESTING (LUUO) SEQ 1138
49504 066314 UUO21: XUUO 21B8,UUO22^
49505
49506 ;EXECUTE AN LUUO AND CHECK THAT THE UUO AND PC STORED
49507 ;ARE CORRECT.
49508
49509 021000 000000 MLUUO==21B8 ;THE UUO TO BE EXECUTED
49510 TSET^
49511 066314 %X=. ;DEFINE %X TO SAVE
49512 066314 201 00 0 00 066314 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
49513 066315 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
49514 066316 200 00 0 00 071233 ..0204: MOVE 0,[JSP 1,.+4] ;TRAP INSTRUCTION
49515 066317 202 00 0 00 000041 MOVEM 0,41 ;IN TO 41
49516 066320 021000 000000 21B8 ;EXECUTE A UUO
49517 066321 254 04 0 00 066322 HALT .+1 ;UUO DID NOT TRAP TO FORTY
49518 066322 201 02 0 00 066321 MOVEI 2,.-1 ;GET UUO PC
49519 066323 405 01 0 00 777777 ANDI 1,-1 ;MASK FLAGS OUT
49520 066324 312 01 0 00 000002 CAME 1,2 ;PC CORRECT ?
49521 066325 254 04 0 00 066326 HALT .+1 ;PC OF UUO NOT = TO PC STORED
49522 066326 200 00 0 00 000040 MOVE 0,40 ;GET UUO !
49523 066327 312 00 0 00 071234 CAME 0,[21B8!0] ;CORRECT UUO STORED IN 40?
49524 066330 334 00 0 00 000000 SKIPA ;NO
49525 066331 254 00 0 00 066340 JRST UUO22 ;TESTS OK !
49526 STOP1^
49527 066332 254 04 0 00 066333 HALT .+1 ;UUO FAILED TO STORE MA BITS
49528 066333 254 00 0 00 066334 JRST .+1 ;INTO RIGHT HALF OF 40^
49529 TGET^
49530 066334 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
49531 066335 302 00 0 00 066314 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
49532 STOP2^^
49533 066336 254 04 0 00 066337 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
49534 066337 254 00 0 00 066340 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
49535 ^
49536 ;POSSIBLE CAUSES OF FAILURES IN LUUO FLOW.
49537 ;MA SPECIAL BITS NOT SETTING
49538 ;AD MAGIC # 40 @ET1
49539 ;XCTF SET AT FETCH CYCLE
49540 ;AR IR ENABLE @ET1
49541 ;AR SIGN SMEAR
49542 ;AD MAGIC NUMBER ENABLE
49543 ;AB AD EN @ET1
49544 ;INSTRUCTION FETCH @ET2
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 62
DFKAA8 MAC 25-AUG-75 14:17 LOCAL UUO TESTING (LUUO) SEQ 1139
49545 066340 UUO22: XUUO 22B8,UUO23^
49546
49547 ;EXECUTE AN LUUO AND CHECK THAT THE UUO AND PC STORED
49548 ;ARE CORRECT.
49549
49550 022000 000000 MLUUO==22B8 ;THE UUO TO BE EXECUTED
49551 TSET^
49552 066340 %X=. ;DEFINE %X TO SAVE
49553 066340 201 00 0 00 066340 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
49554 066341 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
49555 066342 200 00 0 00 071235 ..0205: MOVE 0,[JSP 1,.+4] ;TRAP INSTRUCTION
49556 066343 202 00 0 00 000041 MOVEM 0,41 ;IN TO 41
49557 066344 022000 000000 22B8 ;EXECUTE A UUO
49558 066345 254 04 0 00 066346 HALT .+1 ;UUO DID NOT TRAP TO FORTY
49559 066346 201 02 0 00 066345 MOVEI 2,.-1 ;GET UUO PC
49560 066347 405 01 0 00 777777 ANDI 1,-1 ;MASK FLAGS OUT
49561 066350 312 01 0 00 000002 CAME 1,2 ;PC CORRECT ?
49562 066351 254 04 0 00 066352 HALT .+1 ;PC OF UUO NOT = TO PC STORED
49563 066352 200 00 0 00 000040 MOVE 0,40 ;GET UUO !
49564 066353 312 00 0 00 071236 CAME 0,[22B8!0] ;CORRECT UUO STORED IN 40?
49565 066354 334 00 0 00 000000 SKIPA ;NO
49566 066355 254 00 0 00 066364 JRST UUO23 ;TESTS OK !
49567 STOP1^
49568 066356 254 04 0 00 066357 HALT .+1 ;UUO FAILED TO STORE MA BITS
49569 066357 254 00 0 00 066360 JRST .+1 ;INTO RIGHT HALF OF 40^
49570 TGET^
49571 066360 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
49572 066361 302 00 0 00 066340 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
49573 STOP2^^
49574 066362 254 04 0 00 066363 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
49575 066363 254 00 0 00 066364 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
49576 ^
49577 ;POSSIBLE CAUSES OF FAILURES IN LUUO FLOW.
49578 ;MA SPECIAL BITS NOT SETTING
49579 ;AD MAGIC # 40 @ET1
49580 ;XCTF SET AT FETCH CYCLE
49581 ;AR IR ENABLE @ET1
49582 ;AR SIGN SMEAR
49583 ;AD MAGIC NUMBER ENABLE
49584 ;AB AD EN @ET1
49585 ;INSTRUCTION FETCH @ET2
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 63
DFKAA8 MAC 25-AUG-75 14:17 LOCAL UUO TESTING (LUUO) SEQ 1140
49586 066364 UUO23: XUUO 23B8,UUO24^
49587
49588 ;EXECUTE AN LUUO AND CHECK THAT THE UUO AND PC STORED
49589 ;ARE CORRECT.
49590
49591 023000 000000 MLUUO==23B8 ;THE UUO TO BE EXECUTED
49592 TSET^
49593 066364 %X=. ;DEFINE %X TO SAVE
49594 066364 201 00 0 00 066364 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
49595 066365 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
49596 066366 200 00 0 00 071237 ..0206: MOVE 0,[JSP 1,.+4] ;TRAP INSTRUCTION
49597 066367 202 00 0 00 000041 MOVEM 0,41 ;IN TO 41
49598 066370 023000 000000 23B8 ;EXECUTE A UUO
49599 066371 254 04 0 00 066372 HALT .+1 ;UUO DID NOT TRAP TO FORTY
49600 066372 201 02 0 00 066371 MOVEI 2,.-1 ;GET UUO PC
49601 066373 405 01 0 00 777777 ANDI 1,-1 ;MASK FLAGS OUT
49602 066374 312 01 0 00 000002 CAME 1,2 ;PC CORRECT ?
49603 066375 254 04 0 00 066376 HALT .+1 ;PC OF UUO NOT = TO PC STORED
49604 066376 200 00 0 00 000040 MOVE 0,40 ;GET UUO !
49605 066377 312 00 0 00 071240 CAME 0,[23B8!0] ;CORRECT UUO STORED IN 40?
49606 066400 334 00 0 00 000000 SKIPA ;NO
49607 066401 254 00 0 00 066410 JRST UUO24 ;TESTS OK !
49608 STOP1^
49609 066402 254 04 0 00 066403 HALT .+1 ;UUO FAILED TO STORE MA BITS
49610 066403 254 00 0 00 066404 JRST .+1 ;INTO RIGHT HALF OF 40^
49611 TGET^
49612 066404 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
49613 066405 302 00 0 00 066364 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
49614 STOP2^^
49615 066406 254 04 0 00 066407 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
49616 066407 254 00 0 00 066410 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
49617 ^
49618 ;POSSIBLE CAUSES OF FAILURES IN LUUO FLOW.
49619 ;MA SPECIAL BITS NOT SETTING
49620 ;AD MAGIC # 40 @ET1
49621 ;XCTF SET AT FETCH CYCLE
49622 ;AR IR ENABLE @ET1
49623 ;AR SIGN SMEAR
49624 ;AD MAGIC NUMBER ENABLE
49625 ;AB AD EN @ET1
49626 ;INSTRUCTION FETCH @ET2
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 64
DFKAA8 MAC 25-AUG-75 14:17 LOCAL UUO TESTING (LUUO) SEQ 1141
49627 066410 UUO24: XUUO 24B8,UUO25^
49628
49629 ;EXECUTE AN LUUO AND CHECK THAT THE UUO AND PC STORED
49630 ;ARE CORRECT.
49631
49632 024000 000000 MLUUO==24B8 ;THE UUO TO BE EXECUTED
49633 TSET^
49634 066410 %X=. ;DEFINE %X TO SAVE
49635 066410 201 00 0 00 066410 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
49636 066411 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
49637 066412 200 00 0 00 071241 ..0207: MOVE 0,[JSP 1,.+4] ;TRAP INSTRUCTION
49638 066413 202 00 0 00 000041 MOVEM 0,41 ;IN TO 41
49639 066414 024000 000000 24B8 ;EXECUTE A UUO
49640 066415 254 04 0 00 066416 HALT .+1 ;UUO DID NOT TRAP TO FORTY
49641 066416 201 02 0 00 066415 MOVEI 2,.-1 ;GET UUO PC
49642 066417 405 01 0 00 777777 ANDI 1,-1 ;MASK FLAGS OUT
49643 066420 312 01 0 00 000002 CAME 1,2 ;PC CORRECT ?
49644 066421 254 04 0 00 066422 HALT .+1 ;PC OF UUO NOT = TO PC STORED
49645 066422 200 00 0 00 000040 MOVE 0,40 ;GET UUO !
49646 066423 312 00 0 00 071242 CAME 0,[24B8!0] ;CORRECT UUO STORED IN 40?
49647 066424 334 00 0 00 000000 SKIPA ;NO
49648 066425 254 00 0 00 066434 JRST UUO25 ;TESTS OK !
49649 STOP1^
49650 066426 254 04 0 00 066427 HALT .+1 ;UUO FAILED TO STORE MA BITS
49651 066427 254 00 0 00 066430 JRST .+1 ;INTO RIGHT HALF OF 40^
49652 TGET^
49653 066430 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
49654 066431 302 00 0 00 066410 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
49655 STOP2^^
49656 066432 254 04 0 00 066433 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
49657 066433 254 00 0 00 066434 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
49658 ^
49659 ;POSSIBLE CAUSES OF FAILURES IN LUUO FLOW.
49660 ;MA SPECIAL BITS NOT SETTING
49661 ;AD MAGIC # 40 @ET1
49662 ;XCTF SET AT FETCH CYCLE
49663 ;AR IR ENABLE @ET1
49664 ;AR SIGN SMEAR
49665 ;AD MAGIC NUMBER ENABLE
49666 ;AB AD EN @ET1
49667 ;INSTRUCTION FETCH @ET2
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 65
DFKAA8 MAC 25-AUG-75 14:17 LOCAL UUO TESTING (LUUO) SEQ 1142
49668 066434 UUO25: XUUO 25B8,UUO26^
49669
49670 ;EXECUTE AN LUUO AND CHECK THAT THE UUO AND PC STORED
49671 ;ARE CORRECT.
49672
49673 025000 000000 MLUUO==25B8 ;THE UUO TO BE EXECUTED
49674 TSET^
49675 066434 %X=. ;DEFINE %X TO SAVE
49676 066434 201 00 0 00 066434 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
49677 066435 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
49678 066436 200 00 0 00 071243 ..0210: MOVE 0,[JSP 1,.+4] ;TRAP INSTRUCTION
49679 066437 202 00 0 00 000041 MOVEM 0,41 ;IN TO 41
49680 066440 025000 000000 25B8 ;EXECUTE A UUO
49681 066441 254 04 0 00 066442 HALT .+1 ;UUO DID NOT TRAP TO FORTY
49682 066442 201 02 0 00 066441 MOVEI 2,.-1 ;GET UUO PC
49683 066443 405 01 0 00 777777 ANDI 1,-1 ;MASK FLAGS OUT
49684 066444 312 01 0 00 000002 CAME 1,2 ;PC CORRECT ?
49685 066445 254 04 0 00 066446 HALT .+1 ;PC OF UUO NOT = TO PC STORED
49686 066446 200 00 0 00 000040 MOVE 0,40 ;GET UUO !
49687 066447 312 00 0 00 071244 CAME 0,[25B8!0] ;CORRECT UUO STORED IN 40?
49688 066450 334 00 0 00 000000 SKIPA ;NO
49689 066451 254 00 0 00 066460 JRST UUO26 ;TESTS OK !
49690 STOP1^
49691 066452 254 04 0 00 066453 HALT .+1 ;UUO FAILED TO STORE MA BITS
49692 066453 254 00 0 00 066454 JRST .+1 ;INTO RIGHT HALF OF 40^
49693 TGET^
49694 066454 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
49695 066455 302 00 0 00 066434 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
49696 STOP2^^
49697 066456 254 04 0 00 066457 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
49698 066457 254 00 0 00 066460 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
49699 ^
49700 ;POSSIBLE CAUSES OF FAILURES IN LUUO FLOW.
49701 ;MA SPECIAL BITS NOT SETTING
49702 ;AD MAGIC # 40 @ET1
49703 ;XCTF SET AT FETCH CYCLE
49704 ;AR IR ENABLE @ET1
49705 ;AR SIGN SMEAR
49706 ;AD MAGIC NUMBER ENABLE
49707 ;AB AD EN @ET1
49708 ;INSTRUCTION FETCH @ET2
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 66
DFKAA8 MAC 25-AUG-75 14:17 LOCAL UUO TESTING (LUUO) SEQ 1143
49709 066460 UUO26: XUUO 26B8,UUO27^
49710
49711 ;EXECUTE AN LUUO AND CHECK THAT THE UUO AND PC STORED
49712 ;ARE CORRECT.
49713
49714 026000 000000 MLUUO==26B8 ;THE UUO TO BE EXECUTED
49715 TSET^
49716 066460 %X=. ;DEFINE %X TO SAVE
49717 066460 201 00 0 00 066460 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
49718 066461 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
49719 066462 200 00 0 00 071245 ..0211: MOVE 0,[JSP 1,.+4] ;TRAP INSTRUCTION
49720 066463 202 00 0 00 000041 MOVEM 0,41 ;IN TO 41
49721 066464 026000 000000 26B8 ;EXECUTE A UUO
49722 066465 254 04 0 00 066466 HALT .+1 ;UUO DID NOT TRAP TO FORTY
49723 066466 201 02 0 00 066465 MOVEI 2,.-1 ;GET UUO PC
49724 066467 405 01 0 00 777777 ANDI 1,-1 ;MASK FLAGS OUT
49725 066470 312 01 0 00 000002 CAME 1,2 ;PC CORRECT ?
49726 066471 254 04 0 00 066472 HALT .+1 ;PC OF UUO NOT = TO PC STORED
49727 066472 200 00 0 00 000040 MOVE 0,40 ;GET UUO !
49728 066473 312 00 0 00 071246 CAME 0,[26B8!0] ;CORRECT UUO STORED IN 40?
49729 066474 334 00 0 00 000000 SKIPA ;NO
49730 066475 254 00 0 00 066504 JRST UUO27 ;TESTS OK !
49731 STOP1^
49732 066476 254 04 0 00 066477 HALT .+1 ;UUO FAILED TO STORE MA BITS
49733 066477 254 00 0 00 066500 JRST .+1 ;INTO RIGHT HALF OF 40^
49734 TGET^
49735 066500 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
49736 066501 302 00 0 00 066460 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
49737 STOP2^^
49738 066502 254 04 0 00 066503 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
49739 066503 254 00 0 00 066504 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
49740 ^
49741 ;POSSIBLE CAUSES OF FAILURES IN LUUO FLOW.
49742 ;MA SPECIAL BITS NOT SETTING
49743 ;AD MAGIC # 40 @ET1
49744 ;XCTF SET AT FETCH CYCLE
49745 ;AR IR ENABLE @ET1
49746 ;AR SIGN SMEAR
49747 ;AD MAGIC NUMBER ENABLE
49748 ;AB AD EN @ET1
49749 ;INSTRUCTION FETCH @ET2
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 67
DFKAA8 MAC 25-AUG-75 14:17 LOCAL UUO TESTING (LUUO) SEQ 1144
49750 066504 UUO27: XUUO 27B8,UUO30^
49751
49752 ;EXECUTE AN LUUO AND CHECK THAT THE UUO AND PC STORED
49753 ;ARE CORRECT.
49754
49755 027000 000000 MLUUO==27B8 ;THE UUO TO BE EXECUTED
49756 TSET^
49757 066504 %X=. ;DEFINE %X TO SAVE
49758 066504 201 00 0 00 066504 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
49759 066505 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
49760 066506 200 00 0 00 071247 ..0212: MOVE 0,[JSP 1,.+4] ;TRAP INSTRUCTION
49761 066507 202 00 0 00 000041 MOVEM 0,41 ;IN TO 41
49762 066510 027000 000000 27B8 ;EXECUTE A UUO
49763 066511 254 04 0 00 066512 HALT .+1 ;UUO DID NOT TRAP TO FORTY
49764 066512 201 02 0 00 066511 MOVEI 2,.-1 ;GET UUO PC
49765 066513 405 01 0 00 777777 ANDI 1,-1 ;MASK FLAGS OUT
49766 066514 312 01 0 00 000002 CAME 1,2 ;PC CORRECT ?
49767 066515 254 04 0 00 066516 HALT .+1 ;PC OF UUO NOT = TO PC STORED
49768 066516 200 00 0 00 000040 MOVE 0,40 ;GET UUO !
49769 066517 312 00 0 00 071250 CAME 0,[27B8!0] ;CORRECT UUO STORED IN 40?
49770 066520 334 00 0 00 000000 SKIPA ;NO
49771 066521 254 00 0 00 066530 JRST UUO30 ;TESTS OK !
49772 STOP1^
49773 066522 254 04 0 00 066523 HALT .+1 ;UUO FAILED TO STORE MA BITS
49774 066523 254 00 0 00 066524 JRST .+1 ;INTO RIGHT HALF OF 40^
49775 TGET^
49776 066524 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
49777 066525 302 00 0 00 066504 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
49778 STOP2^^
49779 066526 254 04 0 00 066527 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
49780 066527 254 00 0 00 066530 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
49781 ^
49782 ;POSSIBLE CAUSES OF FAILURES IN LUUO FLOW.
49783 ;MA SPECIAL BITS NOT SETTING
49784 ;AD MAGIC # 40 @ET1
49785 ;XCTF SET AT FETCH CYCLE
49786 ;AR IR ENABLE @ET1
49787 ;AR SIGN SMEAR
49788 ;AD MAGIC NUMBER ENABLE
49789 ;AB AD EN @ET1
49790 ;INSTRUCTION FETCH @ET2
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 68
DFKAA8 MAC 25-AUG-75 14:17 LOCAL UUO TESTING (LUUO) SEQ 1145
49791 066530 UUO30: XUUO 30B8,UUO31^
49792
49793 ;EXECUTE AN LUUO AND CHECK THAT THE UUO AND PC STORED
49794 ;ARE CORRECT.
49795
49796 030000 000000 MLUUO==30B8 ;THE UUO TO BE EXECUTED
49797 TSET^
49798 066530 %X=. ;DEFINE %X TO SAVE
49799 066530 201 00 0 00 066530 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
49800 066531 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
49801 066532 200 00 0 00 071251 ..0213: MOVE 0,[JSP 1,.+4] ;TRAP INSTRUCTION
49802 066533 202 00 0 00 000041 MOVEM 0,41 ;IN TO 41
49803 066534 030000 000000 30B8 ;EXECUTE A UUO
49804 066535 254 04 0 00 066536 HALT .+1 ;UUO DID NOT TRAP TO FORTY
49805 066536 201 02 0 00 066535 MOVEI 2,.-1 ;GET UUO PC
49806 066537 405 01 0 00 777777 ANDI 1,-1 ;MASK FLAGS OUT
49807 066540 312 01 0 00 000002 CAME 1,2 ;PC CORRECT ?
49808 066541 254 04 0 00 066542 HALT .+1 ;PC OF UUO NOT = TO PC STORED
49809 066542 200 00 0 00 000040 MOVE 0,40 ;GET UUO !
49810 066543 312 00 0 00 071252 CAME 0,[30B8!0] ;CORRECT UUO STORED IN 40?
49811 066544 334 00 0 00 000000 SKIPA ;NO
49812 066545 254 00 0 00 066554 JRST UUO31 ;TESTS OK !
49813 STOP1^
49814 066546 254 04 0 00 066547 HALT .+1 ;UUO FAILED TO STORE MA BITS
49815 066547 254 00 0 00 066550 JRST .+1 ;INTO RIGHT HALF OF 40^
49816 TGET^
49817 066550 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
49818 066551 302 00 0 00 066530 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
49819 STOP2^^
49820 066552 254 04 0 00 066553 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
49821 066553 254 00 0 00 066554 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
49822 ^
49823 ;POSSIBLE CAUSES OF FAILURES IN LUUO FLOW.
49824 ;MA SPECIAL BITS NOT SETTING
49825 ;AD MAGIC # 40 @ET1
49826 ;XCTF SET AT FETCH CYCLE
49827 ;AR IR ENABLE @ET1
49828 ;AR SIGN SMEAR
49829 ;AD MAGIC NUMBER ENABLE
49830 ;AB AD EN @ET1
49831 ;INSTRUCTION FETCH @ET2
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 69
DFKAA8 MAC 25-AUG-75 14:17 LOCAL UUO TESTING (LUUO) SEQ 1146
49832 066554 UUO31: XUUO 31B8,UUO32^
49833
49834 ;EXECUTE AN LUUO AND CHECK THAT THE UUO AND PC STORED
49835 ;ARE CORRECT.
49836
49837 031000 000000 MLUUO==31B8 ;THE UUO TO BE EXECUTED
49838 TSET^
49839 066554 %X=. ;DEFINE %X TO SAVE
49840 066554 201 00 0 00 066554 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
49841 066555 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
49842 066556 200 00 0 00 071253 ..0214: MOVE 0,[JSP 1,.+4] ;TRAP INSTRUCTION
49843 066557 202 00 0 00 000041 MOVEM 0,41 ;IN TO 41
49844 066560 031000 000000 31B8 ;EXECUTE A UUO
49845 066561 254 04 0 00 066562 HALT .+1 ;UUO DID NOT TRAP TO FORTY
49846 066562 201 02 0 00 066561 MOVEI 2,.-1 ;GET UUO PC
49847 066563 405 01 0 00 777777 ANDI 1,-1 ;MASK FLAGS OUT
49848 066564 312 01 0 00 000002 CAME 1,2 ;PC CORRECT ?
49849 066565 254 04 0 00 066566 HALT .+1 ;PC OF UUO NOT = TO PC STORED
49850 066566 200 00 0 00 000040 MOVE 0,40 ;GET UUO !
49851 066567 312 00 0 00 071254 CAME 0,[31B8!0] ;CORRECT UUO STORED IN 40?
49852 066570 334 00 0 00 000000 SKIPA ;NO
49853 066571 254 00 0 00 066600 JRST UUO32 ;TESTS OK !
49854 STOP1^
49855 066572 254 04 0 00 066573 HALT .+1 ;UUO FAILED TO STORE MA BITS
49856 066573 254 00 0 00 066574 JRST .+1 ;INTO RIGHT HALF OF 40^
49857 TGET^
49858 066574 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
49859 066575 302 00 0 00 066554 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
49860 STOP2^^
49861 066576 254 04 0 00 066577 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
49862 066577 254 00 0 00 066600 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
49863 ^
49864 ;POSSIBLE CAUSES OF FAILURES IN LUUO FLOW.
49865 ;MA SPECIAL BITS NOT SETTING
49866 ;AD MAGIC # 40 @ET1
49867 ;XCTF SET AT FETCH CYCLE
49868 ;AR IR ENABLE @ET1
49869 ;AR SIGN SMEAR
49870 ;AD MAGIC NUMBER ENABLE
49871 ;AB AD EN @ET1
49872 ;INSTRUCTION FETCH @ET2
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 70
DFKAA8 MAC 25-AUG-75 14:17 LOCAL UUO TESTING (LUUO) SEQ 1147
49873 066600 UUO32: XUUO 32B8,UUO33^
49874
49875 ;EXECUTE AN LUUO AND CHECK THAT THE UUO AND PC STORED
49876 ;ARE CORRECT.
49877
49878 032000 000000 MLUUO==32B8 ;THE UUO TO BE EXECUTED
49879 TSET^
49880 066600 %X=. ;DEFINE %X TO SAVE
49881 066600 201 00 0 00 066600 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
49882 066601 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
49883 066602 200 00 0 00 071255 ..0215: MOVE 0,[JSP 1,.+4] ;TRAP INSTRUCTION
49884 066603 202 00 0 00 000041 MOVEM 0,41 ;IN TO 41
49885 066604 032000 000000 32B8 ;EXECUTE A UUO
49886 066605 254 04 0 00 066606 HALT .+1 ;UUO DID NOT TRAP TO FORTY
49887 066606 201 02 0 00 066605 MOVEI 2,.-1 ;GET UUO PC
49888 066607 405 01 0 00 777777 ANDI 1,-1 ;MASK FLAGS OUT
49889 066610 312 01 0 00 000002 CAME 1,2 ;PC CORRECT ?
49890 066611 254 04 0 00 066612 HALT .+1 ;PC OF UUO NOT = TO PC STORED
49891 066612 200 00 0 00 000040 MOVE 0,40 ;GET UUO !
49892 066613 312 00 0 00 071256 CAME 0,[32B8!0] ;CORRECT UUO STORED IN 40?
49893 066614 334 00 0 00 000000 SKIPA ;NO
49894 066615 254 00 0 00 066624 JRST UUO33 ;TESTS OK !
49895 STOP1^
49896 066616 254 04 0 00 066617 HALT .+1 ;UUO FAILED TO STORE MA BITS
49897 066617 254 00 0 00 066620 JRST .+1 ;INTO RIGHT HALF OF 40^
49898 TGET^
49899 066620 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
49900 066621 302 00 0 00 066600 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
49901 STOP2^^
49902 066622 254 04 0 00 066623 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
49903 066623 254 00 0 00 066624 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
49904 ^
49905 ;POSSIBLE CAUSES OF FAILURES IN LUUO FLOW.
49906 ;MA SPECIAL BITS NOT SETTING
49907 ;AD MAGIC # 40 @ET1
49908 ;XCTF SET AT FETCH CYCLE
49909 ;AR IR ENABLE @ET1
49910 ;AR SIGN SMEAR
49911 ;AD MAGIC NUMBER ENABLE
49912 ;AB AD EN @ET1
49913 ;INSTRUCTION FETCH @ET2
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 71
DFKAA8 MAC 25-AUG-75 14:17 LOCAL UUO TESTING (LUUO) SEQ 1148
49914 066624 UUO33: XUUO 33B8,UUO34^
49915
49916 ;EXECUTE AN LUUO AND CHECK THAT THE UUO AND PC STORED
49917 ;ARE CORRECT.
49918
49919 033000 000000 MLUUO==33B8 ;THE UUO TO BE EXECUTED
49920 TSET^
49921 066624 %X=. ;DEFINE %X TO SAVE
49922 066624 201 00 0 00 066624 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
49923 066625 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
49924 066626 200 00 0 00 071257 ..0216: MOVE 0,[JSP 1,.+4] ;TRAP INSTRUCTION
49925 066627 202 00 0 00 000041 MOVEM 0,41 ;IN TO 41
49926 066630 033000 000000 33B8 ;EXECUTE A UUO
49927 066631 254 04 0 00 066632 HALT .+1 ;UUO DID NOT TRAP TO FORTY
49928 066632 201 02 0 00 066631 MOVEI 2,.-1 ;GET UUO PC
49929 066633 405 01 0 00 777777 ANDI 1,-1 ;MASK FLAGS OUT
49930 066634 312 01 0 00 000002 CAME 1,2 ;PC CORRECT ?
49931 066635 254 04 0 00 066636 HALT .+1 ;PC OF UUO NOT = TO PC STORED
49932 066636 200 00 0 00 000040 MOVE 0,40 ;GET UUO !
49933 066637 312 00 0 00 071260 CAME 0,[33B8!0] ;CORRECT UUO STORED IN 40?
49934 066640 334 00 0 00 000000 SKIPA ;NO
49935 066641 254 00 0 00 066650 JRST UUO34 ;TESTS OK !
49936 STOP1^
49937 066642 254 04 0 00 066643 HALT .+1 ;UUO FAILED TO STORE MA BITS
49938 066643 254 00 0 00 066644 JRST .+1 ;INTO RIGHT HALF OF 40^
49939 TGET^
49940 066644 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
49941 066645 302 00 0 00 066624 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
49942 STOP2^^
49943 066646 254 04 0 00 066647 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
49944 066647 254 00 0 00 066650 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
49945 ^
49946 ;POSSIBLE CAUSES OF FAILURES IN LUUO FLOW.
49947 ;MA SPECIAL BITS NOT SETTING
49948 ;AD MAGIC # 40 @ET1
49949 ;XCTF SET AT FETCH CYCLE
49950 ;AR IR ENABLE @ET1
49951 ;AR SIGN SMEAR
49952 ;AD MAGIC NUMBER ENABLE
49953 ;AB AD EN @ET1
49954 ;INSTRUCTION FETCH @ET2
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 72
DFKAA8 MAC 25-AUG-75 14:17 LOCAL UUO TESTING (LUUO) SEQ 1149
49955 066650 UUO34: XUUO 34B8,UUO35^
49956
49957 ;EXECUTE AN LUUO AND CHECK THAT THE UUO AND PC STORED
49958 ;ARE CORRECT.
49959
49960 034000 000000 MLUUO==34B8 ;THE UUO TO BE EXECUTED
49961 TSET^
49962 066650 %X=. ;DEFINE %X TO SAVE
49963 066650 201 00 0 00 066650 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
49964 066651 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
49965 066652 200 00 0 00 071261 ..0217: MOVE 0,[JSP 1,.+4] ;TRAP INSTRUCTION
49966 066653 202 00 0 00 000041 MOVEM 0,41 ;IN TO 41
49967 066654 034000 000000 34B8 ;EXECUTE A UUO
49968 066655 254 04 0 00 066656 HALT .+1 ;UUO DID NOT TRAP TO FORTY
49969 066656 201 02 0 00 066655 MOVEI 2,.-1 ;GET UUO PC
49970 066657 405 01 0 00 777777 ANDI 1,-1 ;MASK FLAGS OUT
49971 066660 312 01 0 00 000002 CAME 1,2 ;PC CORRECT ?
49972 066661 254 04 0 00 066662 HALT .+1 ;PC OF UUO NOT = TO PC STORED
49973 066662 200 00 0 00 000040 MOVE 0,40 ;GET UUO !
49974 066663 312 00 0 00 071262 CAME 0,[34B8!0] ;CORRECT UUO STORED IN 40?
49975 066664 334 00 0 00 000000 SKIPA ;NO
49976 066665 254 00 0 00 066674 JRST UUO35 ;TESTS OK !
49977 STOP1^
49978 066666 254 04 0 00 066667 HALT .+1 ;UUO FAILED TO STORE MA BITS
49979 066667 254 00 0 00 066670 JRST .+1 ;INTO RIGHT HALF OF 40^
49980 TGET^
49981 066670 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
49982 066671 302 00 0 00 066650 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
49983 STOP2^^
49984 066672 254 04 0 00 066673 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
49985 066673 254 00 0 00 066674 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
49986 ^
49987 ;POSSIBLE CAUSES OF FAILURES IN LUUO FLOW.
49988 ;MA SPECIAL BITS NOT SETTING
49989 ;AD MAGIC # 40 @ET1
49990 ;XCTF SET AT FETCH CYCLE
49991 ;AR IR ENABLE @ET1
49992 ;AR SIGN SMEAR
49993 ;AD MAGIC NUMBER ENABLE
49994 ;AB AD EN @ET1
49995 ;INSTRUCTION FETCH @ET2
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 73
DFKAA8 MAC 25-AUG-75 14:17 LOCAL UUO TESTING (LUUO) SEQ 1150
49996 066674 UUO35: XUUO 35B8,UUO36^
49997
49998 ;EXECUTE AN LUUO AND CHECK THAT THE UUO AND PC STORED
49999 ;ARE CORRECT.
50000
50001 035000 000000 MLUUO==35B8 ;THE UUO TO BE EXECUTED
50002 TSET^
50003 066674 %X=. ;DEFINE %X TO SAVE
50004 066674 201 00 0 00 066674 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
50005 066675 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
50006 066676 200 00 0 00 071263 ..0220: MOVE 0,[JSP 1,.+4] ;TRAP INSTRUCTION
50007 066677 202 00 0 00 000041 MOVEM 0,41 ;IN TO 41
50008 066700 035000 000000 35B8 ;EXECUTE A UUO
50009 066701 254 04 0 00 066702 HALT .+1 ;UUO DID NOT TRAP TO FORTY
50010 066702 201 02 0 00 066701 MOVEI 2,.-1 ;GET UUO PC
50011 066703 405 01 0 00 777777 ANDI 1,-1 ;MASK FLAGS OUT
50012 066704 312 01 0 00 000002 CAME 1,2 ;PC CORRECT ?
50013 066705 254 04 0 00 066706 HALT .+1 ;PC OF UUO NOT = TO PC STORED
50014 066706 200 00 0 00 000040 MOVE 0,40 ;GET UUO !
50015 066707 312 00 0 00 071264 CAME 0,[35B8!0] ;CORRECT UUO STORED IN 40?
50016 066710 334 00 0 00 000000 SKIPA ;NO
50017 066711 254 00 0 00 066720 JRST UUO36 ;TESTS OK !
50018 STOP1^
50019 066712 254 04 0 00 066713 HALT .+1 ;UUO FAILED TO STORE MA BITS
50020 066713 254 00 0 00 066714 JRST .+1 ;INTO RIGHT HALF OF 40^
50021 TGET^
50022 066714 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
50023 066715 302 00 0 00 066674 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
50024 STOP2^^
50025 066716 254 04 0 00 066717 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
50026 066717 254 00 0 00 066720 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
50027 ^
50028 ;POSSIBLE CAUSES OF FAILURES IN LUUO FLOW.
50029 ;MA SPECIAL BITS NOT SETTING
50030 ;AD MAGIC # 40 @ET1
50031 ;XCTF SET AT FETCH CYCLE
50032 ;AR IR ENABLE @ET1
50033 ;AR SIGN SMEAR
50034 ;AD MAGIC NUMBER ENABLE
50035 ;AB AD EN @ET1
50036 ;INSTRUCTION FETCH @ET2
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 74
DFKAA8 MAC 25-AUG-75 14:17 LOCAL UUO TESTING (LUUO) SEQ 1151
50037 066720 UUO36: XUUO 36B8,UUO37^
50038
50039 ;EXECUTE AN LUUO AND CHECK THAT THE UUO AND PC STORED
50040 ;ARE CORRECT.
50041
50042 036000 000000 MLUUO==36B8 ;THE UUO TO BE EXECUTED
50043 TSET^
50044 066720 %X=. ;DEFINE %X TO SAVE
50045 066720 201 00 0 00 066720 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
50046 066721 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
50047 066722 200 00 0 00 071265 ..0221: MOVE 0,[JSP 1,.+4] ;TRAP INSTRUCTION
50048 066723 202 00 0 00 000041 MOVEM 0,41 ;IN TO 41
50049 066724 036000 000000 36B8 ;EXECUTE A UUO
50050 066725 254 04 0 00 066726 HALT .+1 ;UUO DID NOT TRAP TO FORTY
50051 066726 201 02 0 00 066725 MOVEI 2,.-1 ;GET UUO PC
50052 066727 405 01 0 00 777777 ANDI 1,-1 ;MASK FLAGS OUT
50053 066730 312 01 0 00 000002 CAME 1,2 ;PC CORRECT ?
50054 066731 254 04 0 00 066732 HALT .+1 ;PC OF UUO NOT = TO PC STORED
50055 066732 200 00 0 00 000040 MOVE 0,40 ;GET UUO !
50056 066733 312 00 0 00 071266 CAME 0,[36B8!0] ;CORRECT UUO STORED IN 40?
50057 066734 334 00 0 00 000000 SKIPA ;NO
50058 066735 254 00 0 00 066744 JRST UUO37 ;TESTS OK !
50059 STOP1^
50060 066736 254 04 0 00 066737 HALT .+1 ;UUO FAILED TO STORE MA BITS
50061 066737 254 00 0 00 066740 JRST .+1 ;INTO RIGHT HALF OF 40^
50062 TGET^
50063 066740 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
50064 066741 302 00 0 00 066720 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
50065 STOP2^^
50066 066742 254 04 0 00 066743 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
50067 066743 254 00 0 00 066744 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
50068 ^
50069 ;POSSIBLE CAUSES OF FAILURES IN LUUO FLOW.
50070 ;MA SPECIAL BITS NOT SETTING
50071 ;AD MAGIC # 40 @ET1
50072 ;XCTF SET AT FETCH CYCLE
50073 ;AR IR ENABLE @ET1
50074 ;AR SIGN SMEAR
50075 ;AD MAGIC NUMBER ENABLE
50076 ;AB AD EN @ET1
50077 ;INSTRUCTION FETCH @ET2
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 75
DFKAA8 MAC 25-AUG-75 14:17 LOCAL UUO TESTING (LUUO) SEQ 1152
50078 066744 UUO37: XUUO 37B8,UUOPC^
50079
50080 ;EXECUTE AN LUUO AND CHECK THAT THE UUO AND PC STORED
50081 ;ARE CORRECT.
50082
50083 037000 000000 MLUUO==37B8 ;THE UUO TO BE EXECUTED
50084 TSET^
50085 066744 %X=. ;DEFINE %X TO SAVE
50086 066744 201 00 0 00 066744 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
50087 066745 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
50088 066746 200 00 0 00 071267 ..0222: MOVE 0,[JSP 1,.+4] ;TRAP INSTRUCTION
50089 066747 202 00 0 00 000041 MOVEM 0,41 ;IN TO 41
50090 066750 037000 000000 37B8 ;EXECUTE A UUO
50091 066751 254 04 0 00 066752 HALT .+1 ;UUO DID NOT TRAP TO FORTY
50092 066752 201 02 0 00 066751 MOVEI 2,.-1 ;GET UUO PC
50093 066753 405 01 0 00 777777 ANDI 1,-1 ;MASK FLAGS OUT
50094 066754 312 01 0 00 000002 CAME 1,2 ;PC CORRECT ?
50095 066755 254 04 0 00 066756 HALT .+1 ;PC OF UUO NOT = TO PC STORED
50096 066756 200 00 0 00 000040 MOVE 0,40 ;GET UUO !
50097 066757 312 00 0 00 071270 CAME 0,[37B8!0] ;CORRECT UUO STORED IN 40?
50098 066760 334 00 0 00 000000 SKIPA ;NO
50099 066761 254 00 0 00 066771 JRST UUOPC ;TESTS OK !
50100 STOP1^
50101 066762 254 04 0 00 066763 HALT .+1 ;UUO FAILED TO STORE MA BITS
50102 066763 254 00 0 00 066764 JRST .+1 ;INTO RIGHT HALF OF 40^
50103 TGET^
50104 066764 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
50105 066765 302 00 0 00 066744 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
50106 STOP2^^
50107 066766 254 04 0 00 066767 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
50108 066767 254 00 0 00 066770 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
50109 ^
50110
50111 066770 255 00 0 00 000000 JFCL
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 76
DFKAA8 MAC 25-AUG-75 14:17 TEST UUO STORING CORRECTLY SEQ 1153
50112 SUBTTL TEST UUO STORING CORRECTLY
50113 ;TEST THE MA PORTION OF THE UUO TO SEE IF BITS 18-35 ARE STORED CORRECTLY
50114 ;ROUTINE ROTATES A BIT LEFT THROUGH THE MA OF THE UUO
50115 ;THEN DOES ALTERNATING PATTERN, ALL ONES AND ALL ZEROS
50116
50117 000001 X=1
50118 066771 UUOPC:
50119 066771 UUOPCA:
50120 REPEAT ^D18,<
50121 XUUOA X
50122 X=X_1
50123 >
50124
50125 XUUOA X^
50126
50127 ;CHECK THE "E" OF THE UUO STORED IS CORRECT.
50128
50129 000001 EFIELD==X ;"E" WE ARE TESTING FOR
50130 TSET^
50131 066771 %X=. ;DEFINE %X TO SAVE
50132 066771 201 00 0 00 066771 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
50133 066772 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
50134 066773 200 00 0 00 071271 ..0223: MOVE [JRST .+4] ;SET A TRAP INSTRUCTION
50135 066774 202 00 0 00 000041 MOVEM 41 ;INTO 41
50136 066775 001000 000001 1B8!X ;EXECUTE A UUO
50137 066776 254 04 0 00 066777 ..0224: HALT .+1 ;UUO DIDN'T TRAP TO 40
50138 066777 200 00 0 00 000040 MOVE 0,40 ;GET UUO
50139 067000 405 00 0 00 777777 ANDI 0,-1 ;MASK OUT UUO FOR MA BITS
50140 067001 302 00 0 00 000001 CAIE X ;MA BITS CORRECT?
50141 067002 ..0225: STOP1^
50142 067002 254 04 0 00 067003 HALT .+1 ;UUO FAILED TO STORE MA BITS
50143 067003 254 00 0 00 067004 JRST .+1 ;INTO RIGHT HALF OF 40^
50144 TGET^
50145 067004 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
50146 067005 302 00 0 00 066771 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
50147 STOP2^^
50148 067006 254 04 0 00 067007 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
50149 067007 254 00 0 00 067010 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
50150 ^
50151 000002 X=X_1
50152
50153
50154 XUUOA X^
50155
50156 ;CHECK THE "E" OF THE UUO STORED IS CORRECT.
50157
50158 000002 EFIELD==X ;"E" WE ARE TESTING FOR
50159 TSET^
50160 067010 %X=. ;DEFINE %X TO SAVE
50161 067010 201 00 0 00 067010 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
50162 067011 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
50163 067012 200 00 0 00 071272 ..0226: MOVE [JRST .+4] ;SET A TRAP INSTRUCTION
50164 067013 202 00 0 00 000041 MOVEM 41 ;INTO 41
50165 067014 001000 000002 1B8!X ;EXECUTE A UUO
50166 067015 254 04 0 00 067016 ..0227: HALT .+1 ;UUO DIDN'T TRAP TO 40
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 76-1
DFKAA8 MAC 25-AUG-75 14:17 TEST UUO STORING CORRECTLY SEQ 1154
50167 067016 200 00 0 00 000040 MOVE 0,40 ;GET UUO
50168 067017 405 00 0 00 777777 ANDI 0,-1 ;MASK OUT UUO FOR MA BITS
50169 067020 302 00 0 00 000002 CAIE X ;MA BITS CORRECT?
50170 067021 ..0230: STOP1^
50171 067021 254 04 0 00 067022 HALT .+1 ;UUO FAILED TO STORE MA BITS
50172 067022 254 00 0 00 067023 JRST .+1 ;INTO RIGHT HALF OF 40^
50173 TGET^
50174 067023 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
50175 067024 302 00 0 00 067010 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
50176 STOP2^^
50177 067025 254 04 0 00 067026 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
50178 067026 254 00 0 00 067027 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
50179 ^
50180 000004 X=X_1
50181
50182
50183 XUUOA X^
50184
50185 ;CHECK THE "E" OF THE UUO STORED IS CORRECT.
50186
50187 000004 EFIELD==X ;"E" WE ARE TESTING FOR
50188 TSET^
50189 067027 %X=. ;DEFINE %X TO SAVE
50190 067027 201 00 0 00 067027 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
50191 067030 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
50192 067031 200 00 0 00 071273 ..0231: MOVE [JRST .+4] ;SET A TRAP INSTRUCTION
50193 067032 202 00 0 00 000041 MOVEM 41 ;INTO 41
50194 067033 001000 000004 1B8!X ;EXECUTE A UUO
50195 067034 254 04 0 00 067035 ..0232: HALT .+1 ;UUO DIDN'T TRAP TO 40
50196 067035 200 00 0 00 000040 MOVE 0,40 ;GET UUO
50197 067036 405 00 0 00 777777 ANDI 0,-1 ;MASK OUT UUO FOR MA BITS
50198 067037 302 00 0 00 000004 CAIE X ;MA BITS CORRECT?
50199 067040 ..0233: STOP1^
50200 067040 254 04 0 00 067041 HALT .+1 ;UUO FAILED TO STORE MA BITS
50201 067041 254 00 0 00 067042 JRST .+1 ;INTO RIGHT HALF OF 40^
50202 TGET^
50203 067042 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
50204 067043 302 00 0 00 067027 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
50205 STOP2^^
50206 067044 254 04 0 00 067045 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
50207 067045 254 00 0 00 067046 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
50208 ^
50209 000010 X=X_1
50210
50211
50212 XUUOA X^
50213
50214 ;CHECK THE "E" OF THE UUO STORED IS CORRECT.
50215
50216 000010 EFIELD==X ;"E" WE ARE TESTING FOR
50217 TSET^
50218 067046 %X=. ;DEFINE %X TO SAVE
50219 067046 201 00 0 00 067046 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
50220 067047 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
50221 067050 200 00 0 00 071274 ..0234: MOVE [JRST .+4] ;SET A TRAP INSTRUCTION
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 76-2
DFKAA8 MAC 25-AUG-75 14:17 TEST UUO STORING CORRECTLY SEQ 1155
50222 067051 202 00 0 00 000041 MOVEM 41 ;INTO 41
50223 067052 001000 000010 1B8!X ;EXECUTE A UUO
50224 067053 254 04 0 00 067054 ..0235: HALT .+1 ;UUO DIDN'T TRAP TO 40
50225 067054 200 00 0 00 000040 MOVE 0,40 ;GET UUO
50226 067055 405 00 0 00 777777 ANDI 0,-1 ;MASK OUT UUO FOR MA BITS
50227 067056 302 00 0 00 000010 CAIE X ;MA BITS CORRECT?
50228 067057 ..0236: STOP1^
50229 067057 254 04 0 00 067060 HALT .+1 ;UUO FAILED TO STORE MA BITS
50230 067060 254 00 0 00 067061 JRST .+1 ;INTO RIGHT HALF OF 40^
50231 TGET^
50232 067061 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
50233 067062 302 00 0 00 067046 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
50234 STOP2^^
50235 067063 254 04 0 00 067064 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
50236 067064 254 00 0 00 067065 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
50237 ^
50238 000020 X=X_1
50239
50240
50241 XUUOA X^
50242
50243 ;CHECK THE "E" OF THE UUO STORED IS CORRECT.
50244
50245 000020 EFIELD==X ;"E" WE ARE TESTING FOR
50246 TSET^
50247 067065 %X=. ;DEFINE %X TO SAVE
50248 067065 201 00 0 00 067065 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
50249 067066 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
50250 067067 200 00 0 00 071275 ..0237: MOVE [JRST .+4] ;SET A TRAP INSTRUCTION
50251 067070 202 00 0 00 000041 MOVEM 41 ;INTO 41
50252 067071 001000 000020 1B8!X ;EXECUTE A UUO
50253 067072 254 04 0 00 067073 ..0240: HALT .+1 ;UUO DIDN'T TRAP TO 40
50254 067073 200 00 0 00 000040 MOVE 0,40 ;GET UUO
50255 067074 405 00 0 00 777777 ANDI 0,-1 ;MASK OUT UUO FOR MA BITS
50256 067075 302 00 0 00 000020 CAIE X ;MA BITS CORRECT?
50257 067076 ..0241: STOP1^
50258 067076 254 04 0 00 067077 HALT .+1 ;UUO FAILED TO STORE MA BITS
50259 067077 254 00 0 00 067100 JRST .+1 ;INTO RIGHT HALF OF 40^
50260 TGET^
50261 067100 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
50262 067101 302 00 0 00 067065 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
50263 STOP2^^
50264 067102 254 04 0 00 067103 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
50265 067103 254 00 0 00 067104 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
50266 ^
50267 000040 X=X_1
50268
50269
50270 XUUOA X^
50271
50272 ;CHECK THE "E" OF THE UUO STORED IS CORRECT.
50273
50274 000040 EFIELD==X ;"E" WE ARE TESTING FOR
50275 TSET^
50276 067104 %X=. ;DEFINE %X TO SAVE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 76-3
DFKAA8 MAC 25-AUG-75 14:17 TEST UUO STORING CORRECTLY SEQ 1156
50277 067104 201 00 0 00 067104 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
50278 067105 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
50279 067106 200 00 0 00 071276 ..0242: MOVE [JRST .+4] ;SET A TRAP INSTRUCTION
50280 067107 202 00 0 00 000041 MOVEM 41 ;INTO 41
50281 067110 001000 000040 1B8!X ;EXECUTE A UUO
50282 067111 254 04 0 00 067112 ..0243: HALT .+1 ;UUO DIDN'T TRAP TO 40
50283 067112 200 00 0 00 000040 MOVE 0,40 ;GET UUO
50284 067113 405 00 0 00 777777 ANDI 0,-1 ;MASK OUT UUO FOR MA BITS
50285 067114 302 00 0 00 000040 CAIE X ;MA BITS CORRECT?
50286 067115 ..0244: STOP1^
50287 067115 254 04 0 00 067116 HALT .+1 ;UUO FAILED TO STORE MA BITS
50288 067116 254 00 0 00 067117 JRST .+1 ;INTO RIGHT HALF OF 40^
50289 TGET^
50290 067117 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
50291 067120 302 00 0 00 067104 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
50292 STOP2^^
50293 067121 254 04 0 00 067122 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
50294 067122 254 00 0 00 067123 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
50295 ^
50296 000100 X=X_1
50297
50298
50299 XUUOA X^
50300
50301 ;CHECK THE "E" OF THE UUO STORED IS CORRECT.
50302
50303 000100 EFIELD==X ;"E" WE ARE TESTING FOR
50304 TSET^
50305 067123 %X=. ;DEFINE %X TO SAVE
50306 067123 201 00 0 00 067123 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
50307 067124 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
50308 067125 200 00 0 00 071277 ..0245: MOVE [JRST .+4] ;SET A TRAP INSTRUCTION
50309 067126 202 00 0 00 000041 MOVEM 41 ;INTO 41
50310 067127 001000 000100 1B8!X ;EXECUTE A UUO
50311 067130 254 04 0 00 067131 ..0246: HALT .+1 ;UUO DIDN'T TRAP TO 40
50312 067131 200 00 0 00 000040 MOVE 0,40 ;GET UUO
50313 067132 405 00 0 00 777777 ANDI 0,-1 ;MASK OUT UUO FOR MA BITS
50314 067133 302 00 0 00 000100 CAIE X ;MA BITS CORRECT?
50315 067134 ..0247: STOP1^
50316 067134 254 04 0 00 067135 HALT .+1 ;UUO FAILED TO STORE MA BITS
50317 067135 254 00 0 00 067136 JRST .+1 ;INTO RIGHT HALF OF 40^
50318 TGET^
50319 067136 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
50320 067137 302 00 0 00 067123 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
50321 STOP2^^
50322 067140 254 04 0 00 067141 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
50323 067141 254 00 0 00 067142 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
50324 ^
50325 000200 X=X_1
50326
50327
50328 XUUOA X^
50329
50330 ;CHECK THE "E" OF THE UUO STORED IS CORRECT.
50331
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 76-4
DFKAA8 MAC 25-AUG-75 14:17 TEST UUO STORING CORRECTLY SEQ 1157
50332 000200 EFIELD==X ;"E" WE ARE TESTING FOR
50333 TSET^
50334 067142 %X=. ;DEFINE %X TO SAVE
50335 067142 201 00 0 00 067142 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
50336 067143 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
50337 067144 200 00 0 00 071300 ..0250: MOVE [JRST .+4] ;SET A TRAP INSTRUCTION
50338 067145 202 00 0 00 000041 MOVEM 41 ;INTO 41
50339 067146 001000 000200 1B8!X ;EXECUTE A UUO
50340 067147 254 04 0 00 067150 ..0251: HALT .+1 ;UUO DIDN'T TRAP TO 40
50341 067150 200 00 0 00 000040 MOVE 0,40 ;GET UUO
50342 067151 405 00 0 00 777777 ANDI 0,-1 ;MASK OUT UUO FOR MA BITS
50343 067152 302 00 0 00 000200 CAIE X ;MA BITS CORRECT?
50344 067153 ..0252: STOP1^
50345 067153 254 04 0 00 067154 HALT .+1 ;UUO FAILED TO STORE MA BITS
50346 067154 254 00 0 00 067155 JRST .+1 ;INTO RIGHT HALF OF 40^
50347 TGET^
50348 067155 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
50349 067156 302 00 0 00 067142 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
50350 STOP2^^
50351 067157 254 04 0 00 067160 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
50352 067160 254 00 0 00 067161 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
50353 ^
50354 000400 X=X_1
50355
50356
50357 XUUOA X^
50358
50359 ;CHECK THE "E" OF THE UUO STORED IS CORRECT.
50360
50361 000400 EFIELD==X ;"E" WE ARE TESTING FOR
50362 TSET^
50363 067161 %X=. ;DEFINE %X TO SAVE
50364 067161 201 00 0 00 067161 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
50365 067162 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
50366 067163 200 00 0 00 071301 ..0253: MOVE [JRST .+4] ;SET A TRAP INSTRUCTION
50367 067164 202 00 0 00 000041 MOVEM 41 ;INTO 41
50368 067165 001000 000400 1B8!X ;EXECUTE A UUO
50369 067166 254 04 0 00 067167 ..0254: HALT .+1 ;UUO DIDN'T TRAP TO 40
50370 067167 200 00 0 00 000040 MOVE 0,40 ;GET UUO
50371 067170 405 00 0 00 777777 ANDI 0,-1 ;MASK OUT UUO FOR MA BITS
50372 067171 302 00 0 00 000400 CAIE X ;MA BITS CORRECT?
50373 067172 ..0255: STOP1^
50374 067172 254 04 0 00 067173 HALT .+1 ;UUO FAILED TO STORE MA BITS
50375 067173 254 00 0 00 067174 JRST .+1 ;INTO RIGHT HALF OF 40^
50376 TGET^
50377 067174 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
50378 067175 302 00 0 00 067161 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
50379 STOP2^^
50380 067176 254 04 0 00 067177 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
50381 067177 254 00 0 00 067200 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
50382 ^
50383 001000 X=X_1
50384
50385
50386 XUUOA X^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 76-5
DFKAA8 MAC 25-AUG-75 14:17 TEST UUO STORING CORRECTLY SEQ 1158
50387
50388 ;CHECK THE "E" OF THE UUO STORED IS CORRECT.
50389
50390 001000 EFIELD==X ;"E" WE ARE TESTING FOR
50391 TSET^
50392 067200 %X=. ;DEFINE %X TO SAVE
50393 067200 201 00 0 00 067200 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
50394 067201 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
50395 067202 200 00 0 00 071302 ..0256: MOVE [JRST .+4] ;SET A TRAP INSTRUCTION
50396 067203 202 00 0 00 000041 MOVEM 41 ;INTO 41
50397 067204 001000 001000 1B8!X ;EXECUTE A UUO
50398 067205 254 04 0 00 067206 ..0257: HALT .+1 ;UUO DIDN'T TRAP TO 40
50399 067206 200 00 0 00 000040 MOVE 0,40 ;GET UUO
50400 067207 405 00 0 00 777777 ANDI 0,-1 ;MASK OUT UUO FOR MA BITS
50401 067210 302 00 0 00 001000 CAIE X ;MA BITS CORRECT?
50402 067211 ..0260: STOP1^
50403 067211 254 04 0 00 067212 HALT .+1 ;UUO FAILED TO STORE MA BITS
50404 067212 254 00 0 00 067213 JRST .+1 ;INTO RIGHT HALF OF 40^
50405 TGET^
50406 067213 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
50407 067214 302 00 0 00 067200 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
50408 STOP2^^
50409 067215 254 04 0 00 067216 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
50410 067216 254 00 0 00 067217 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
50411 ^
50412 002000 X=X_1
50413
50414
50415 XUUOA X^
50416
50417 ;CHECK THE "E" OF THE UUO STORED IS CORRECT.
50418
50419 002000 EFIELD==X ;"E" WE ARE TESTING FOR
50420 TSET^
50421 067217 %X=. ;DEFINE %X TO SAVE
50422 067217 201 00 0 00 067217 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
50423 067220 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
50424 067221 200 00 0 00 071303 ..0261: MOVE [JRST .+4] ;SET A TRAP INSTRUCTION
50425 067222 202 00 0 00 000041 MOVEM 41 ;INTO 41
50426 067223 001000 002000 1B8!X ;EXECUTE A UUO
50427 067224 254 04 0 00 067225 ..0262: HALT .+1 ;UUO DIDN'T TRAP TO 40
50428 067225 200 00 0 00 000040 MOVE 0,40 ;GET UUO
50429 067226 405 00 0 00 777777 ANDI 0,-1 ;MASK OUT UUO FOR MA BITS
50430 067227 302 00 0 00 002000 CAIE X ;MA BITS CORRECT?
50431 067230 ..0263: STOP1^
50432 067230 254 04 0 00 067231 HALT .+1 ;UUO FAILED TO STORE MA BITS
50433 067231 254 00 0 00 067232 JRST .+1 ;INTO RIGHT HALF OF 40^
50434 TGET^
50435 067232 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
50436 067233 302 00 0 00 067217 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
50437 STOP2^^
50438 067234 254 04 0 00 067235 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
50439 067235 254 00 0 00 067236 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
50440 ^
50441 004000 X=X_1
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 76-6
DFKAA8 MAC 25-AUG-75 14:17 TEST UUO STORING CORRECTLY SEQ 1159
50442
50443
50444 XUUOA X^
50445
50446 ;CHECK THE "E" OF THE UUO STORED IS CORRECT.
50447
50448 004000 EFIELD==X ;"E" WE ARE TESTING FOR
50449 TSET^
50450 067236 %X=. ;DEFINE %X TO SAVE
50451 067236 201 00 0 00 067236 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
50452 067237 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
50453 067240 200 00 0 00 071304 ..0264: MOVE [JRST .+4] ;SET A TRAP INSTRUCTION
50454 067241 202 00 0 00 000041 MOVEM 41 ;INTO 41
50455 067242 001000 004000 1B8!X ;EXECUTE A UUO
50456 067243 254 04 0 00 067244 ..0265: HALT .+1 ;UUO DIDN'T TRAP TO 40
50457 067244 200 00 0 00 000040 MOVE 0,40 ;GET UUO
50458 067245 405 00 0 00 777777 ANDI 0,-1 ;MASK OUT UUO FOR MA BITS
50459 067246 302 00 0 00 004000 CAIE X ;MA BITS CORRECT?
50460 067247 ..0266: STOP1^
50461 067247 254 04 0 00 067250 HALT .+1 ;UUO FAILED TO STORE MA BITS
50462 067250 254 00 0 00 067251 JRST .+1 ;INTO RIGHT HALF OF 40^
50463 TGET^
50464 067251 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
50465 067252 302 00 0 00 067236 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
50466 STOP2^^
50467 067253 254 04 0 00 067254 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
50468 067254 254 00 0 00 067255 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
50469 ^
50470 010000 X=X_1
50471
50472
50473 XUUOA X^
50474
50475 ;CHECK THE "E" OF THE UUO STORED IS CORRECT.
50476
50477 010000 EFIELD==X ;"E" WE ARE TESTING FOR
50478 TSET^
50479 067255 %X=. ;DEFINE %X TO SAVE
50480 067255 201 00 0 00 067255 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
50481 067256 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
50482 067257 200 00 0 00 071305 ..0267: MOVE [JRST .+4] ;SET A TRAP INSTRUCTION
50483 067260 202 00 0 00 000041 MOVEM 41 ;INTO 41
50484 067261 001000 010000 1B8!X ;EXECUTE A UUO
50485 067262 254 04 0 00 067263 ..0270: HALT .+1 ;UUO DIDN'T TRAP TO 40
50486 067263 200 00 0 00 000040 MOVE 0,40 ;GET UUO
50487 067264 405 00 0 00 777777 ANDI 0,-1 ;MASK OUT UUO FOR MA BITS
50488 067265 302 00 0 00 010000 CAIE X ;MA BITS CORRECT?
50489 067266 ..0271: STOP1^
50490 067266 254 04 0 00 067267 HALT .+1 ;UUO FAILED TO STORE MA BITS
50491 067267 254 00 0 00 067270 JRST .+1 ;INTO RIGHT HALF OF 40^
50492 TGET^
50493 067270 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
50494 067271 302 00 0 00 067255 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
50495 STOP2^^
50496 067272 254 04 0 00 067273 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 76-7
DFKAA8 MAC 25-AUG-75 14:17 TEST UUO STORING CORRECTLY SEQ 1160
50497 067273 254 00 0 00 067274 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
50498 ^
50499 020000 X=X_1
50500
50501
50502 XUUOA X^
50503
50504 ;CHECK THE "E" OF THE UUO STORED IS CORRECT.
50505
50506 020000 EFIELD==X ;"E" WE ARE TESTING FOR
50507 TSET^
50508 067274 %X=. ;DEFINE %X TO SAVE
50509 067274 201 00 0 00 067274 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
50510 067275 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
50511 067276 200 00 0 00 071306 ..0272: MOVE [JRST .+4] ;SET A TRAP INSTRUCTION
50512 067277 202 00 0 00 000041 MOVEM 41 ;INTO 41
50513 067300 001000 020000 1B8!X ;EXECUTE A UUO
50514 067301 254 04 0 00 067302 ..0273: HALT .+1 ;UUO DIDN'T TRAP TO 40
50515 067302 200 00 0 00 000040 MOVE 0,40 ;GET UUO
50516 067303 405 00 0 00 777777 ANDI 0,-1 ;MASK OUT UUO FOR MA BITS
50517 067304 302 00 0 00 020000 CAIE X ;MA BITS CORRECT?
50518 067305 ..0274: STOP1^
50519 067305 254 04 0 00 067306 HALT .+1 ;UUO FAILED TO STORE MA BITS
50520 067306 254 00 0 00 067307 JRST .+1 ;INTO RIGHT HALF OF 40^
50521 TGET^
50522 067307 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
50523 067310 302 00 0 00 067274 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
50524 STOP2^^
50525 067311 254 04 0 00 067312 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
50526 067312 254 00 0 00 067313 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
50527 ^
50528 040000 X=X_1
50529
50530
50531 XUUOA X^
50532
50533 ;CHECK THE "E" OF THE UUO STORED IS CORRECT.
50534
50535 040000 EFIELD==X ;"E" WE ARE TESTING FOR
50536 TSET^
50537 067313 %X=. ;DEFINE %X TO SAVE
50538 067313 201 00 0 00 067313 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
50539 067314 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
50540 067315 200 00 0 00 071307 ..0275: MOVE [JRST .+4] ;SET A TRAP INSTRUCTION
50541 067316 202 00 0 00 000041 MOVEM 41 ;INTO 41
50542 067317 001000 040000 1B8!X ;EXECUTE A UUO
50543 067320 254 04 0 00 067321 ..0276: HALT .+1 ;UUO DIDN'T TRAP TO 40
50544 067321 200 00 0 00 000040 MOVE 0,40 ;GET UUO
50545 067322 405 00 0 00 777777 ANDI 0,-1 ;MASK OUT UUO FOR MA BITS
50546 067323 302 00 0 00 040000 CAIE X ;MA BITS CORRECT?
50547 067324 ..0277: STOP1^
50548 067324 254 04 0 00 067325 HALT .+1 ;UUO FAILED TO STORE MA BITS
50549 067325 254 00 0 00 067326 JRST .+1 ;INTO RIGHT HALF OF 40^
50550 TGET^
50551 067326 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 76-8
DFKAA8 MAC 25-AUG-75 14:17 TEST UUO STORING CORRECTLY SEQ 1161
50552 067327 302 00 0 00 067313 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
50553 STOP2^^
50554 067330 254 04 0 00 067331 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
50555 067331 254 00 0 00 067332 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
50556 ^
50557 100000 X=X_1
50558
50559
50560 XUUOA X^
50561
50562 ;CHECK THE "E" OF THE UUO STORED IS CORRECT.
50563
50564 100000 EFIELD==X ;"E" WE ARE TESTING FOR
50565 TSET^
50566 067332 %X=. ;DEFINE %X TO SAVE
50567 067332 201 00 0 00 067332 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
50568 067333 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
50569 067334 200 00 0 00 071310 ..0300: MOVE [JRST .+4] ;SET A TRAP INSTRUCTION
50570 067335 202 00 0 00 000041 MOVEM 41 ;INTO 41
50571 067336 001000 100000 1B8!X ;EXECUTE A UUO
50572 067337 254 04 0 00 067340 ..0301: HALT .+1 ;UUO DIDN'T TRAP TO 40
50573 067340 200 00 0 00 000040 MOVE 0,40 ;GET UUO
50574 067341 405 00 0 00 777777 ANDI 0,-1 ;MASK OUT UUO FOR MA BITS
50575 067342 302 00 0 00 100000 CAIE X ;MA BITS CORRECT?
50576 067343 ..0302: STOP1^
50577 067343 254 04 0 00 067344 HALT .+1 ;UUO FAILED TO STORE MA BITS
50578 067344 254 00 0 00 067345 JRST .+1 ;INTO RIGHT HALF OF 40^
50579 TGET^
50580 067345 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
50581 067346 302 00 0 00 067332 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
50582 STOP2^^
50583 067347 254 04 0 00 067350 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
50584 067350 254 00 0 00 067351 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
50585 ^
50586 200000 X=X_1
50587
50588
50589 XUUOA X^
50590
50591 ;CHECK THE "E" OF THE UUO STORED IS CORRECT.
50592
50593 200000 EFIELD==X ;"E" WE ARE TESTING FOR
50594 TSET^
50595 067351 %X=. ;DEFINE %X TO SAVE
50596 067351 201 00 0 00 067351 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
50597 067352 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
50598 067353 200 00 0 00 071311 ..0303: MOVE [JRST .+4] ;SET A TRAP INSTRUCTION
50599 067354 202 00 0 00 000041 MOVEM 41 ;INTO 41
50600 067355 001000 200000 1B8!X ;EXECUTE A UUO
50601 067356 254 04 0 00 067357 ..0304: HALT .+1 ;UUO DIDN'T TRAP TO 40
50602 067357 200 00 0 00 000040 MOVE 0,40 ;GET UUO
50603 067360 405 00 0 00 777777 ANDI 0,-1 ;MASK OUT UUO FOR MA BITS
50604 067361 302 00 0 00 200000 CAIE X ;MA BITS CORRECT?
50605 067362 ..0305: STOP1^
50606 067362 254 04 0 00 067363 HALT .+1 ;UUO FAILED TO STORE MA BITS
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 76-9
DFKAA8 MAC 25-AUG-75 14:17 TEST UUO STORING CORRECTLY SEQ 1162
50607 067363 254 00 0 00 067364 JRST .+1 ;INTO RIGHT HALF OF 40^
50608 TGET^
50609 067364 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
50610 067365 302 00 0 00 067351 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
50611 STOP2^^
50612 067366 254 04 0 00 067367 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
50613 067367 254 00 0 00 067370 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
50614 ^
50615 400000 X=X_1
50616
50617
50618 XUUOA X^
50619
50620 ;CHECK THE "E" OF THE UUO STORED IS CORRECT.
50621
50622 400000 EFIELD==X ;"E" WE ARE TESTING FOR
50623 TSET^
50624 067370 %X=. ;DEFINE %X TO SAVE
50625 067370 201 00 0 00 067370 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
50626 067371 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
50627 067372 200 00 0 00 071312 ..0306: MOVE [JRST .+4] ;SET A TRAP INSTRUCTION
50628 067373 202 00 0 00 000041 MOVEM 41 ;INTO 41
50629 067374 001000 400000 1B8!X ;EXECUTE A UUO
50630 067375 254 04 0 00 067376 ..0307: HALT .+1 ;UUO DIDN'T TRAP TO 40
50631 067376 200 00 0 00 000040 MOVE 0,40 ;GET UUO
50632 067377 405 00 0 00 777777 ANDI 0,-1 ;MASK OUT UUO FOR MA BITS
50633 067400 302 00 0 00 400000 CAIE X ;MA BITS CORRECT?
50634 067401 ..0310: STOP1^
50635 067401 254 04 0 00 067402 HALT .+1 ;UUO FAILED TO STORE MA BITS
50636 067402 254 00 0 00 067403 JRST .+1 ;INTO RIGHT HALF OF 40^
50637 TGET^
50638 067403 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
50639 067404 302 00 0 00 067370 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
50640 STOP2^^
50641 067405 254 04 0 00 067406 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
50642 067406 254 00 0 00 067407 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
50643 ^
50644 000001 000000 X=X_1
50645
50646 777777 X=777777
50647 XUUOA X^
50648
50649 ;CHECK THE "E" OF THE UUO STORED IS CORRECT.
50650
50651 777777 EFIELD==X ;"E" WE ARE TESTING FOR
50652 TSET^
50653 067407 %X=. ;DEFINE %X TO SAVE
50654 067407 201 00 0 00 067407 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
50655 067410 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
50656 067411 200 00 0 00 071313 ..0311: MOVE [JRST .+4] ;SET A TRAP INSTRUCTION
50657 067412 202 00 0 00 000041 MOVEM 41 ;INTO 41
50658 067413 001000 777777 1B8!X ;EXECUTE A UUO
50659 067414 254 04 0 00 067415 ..0312: HALT .+1 ;UUO DIDN'T TRAP TO 40
50660 067415 200 00 0 00 000040 MOVE 0,40 ;GET UUO
50661 067416 405 00 0 00 777777 ANDI 0,-1 ;MASK OUT UUO FOR MA BITS
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 76-10
DFKAA8 MAC 25-AUG-75 14:17 TEST UUO STORING CORRECTLY SEQ 1163
50662 067417 302 00 0 00 777777 CAIE X ;MA BITS CORRECT?
50663 067420 ..0313: STOP1^
50664 067420 254 04 0 00 067421 HALT .+1 ;UUO FAILED TO STORE MA BITS
50665 067421 254 00 0 00 067422 JRST .+1 ;INTO RIGHT HALF OF 40^
50666 TGET^
50667 067422 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
50668 067423 302 00 0 00 067407 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
50669 STOP2^^
50670 067424 254 04 0 00 067425 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
50671 067425 254 00 0 00 067426 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
50672 ^
50673
50674 000000 X=0
50675 XUUOA X^
50676
50677 ;CHECK THE "E" OF THE UUO STORED IS CORRECT.
50678
50679 000000 EFIELD==X ;"E" WE ARE TESTING FOR
50680 TSET^
50681 067426 %X=. ;DEFINE %X TO SAVE
50682 067426 201 00 0 00 067426 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
50683 067427 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
50684 067430 200 00 0 00 071314 ..0314: MOVE [JRST .+4] ;SET A TRAP INSTRUCTION
50685 067431 202 00 0 00 000041 MOVEM 41 ;INTO 41
50686 067432 001000 000000 1B8!X ;EXECUTE A UUO
50687 067433 254 04 0 00 067434 ..0315: HALT .+1 ;UUO DIDN'T TRAP TO 40
50688 067434 200 00 0 00 000040 MOVE 0,40 ;GET UUO
50689 067435 405 00 0 00 777777 ANDI 0,-1 ;MASK OUT UUO FOR MA BITS
50690 067436 302 00 0 00 000000 CAIE X ;MA BITS CORRECT?
50691 067437 ..0316: STOP1^
50692 067437 254 04 0 00 067440 HALT .+1 ;UUO FAILED TO STORE MA BITS
50693 067440 254 00 0 00 067441 JRST .+1 ;INTO RIGHT HALF OF 40^
50694 TGET^
50695 067441 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
50696 067442 302 00 0 00 067426 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
50697 STOP2^^
50698 067443 254 04 0 00 067444 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
50699 067444 254 00 0 00 067445 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
50700 ^
50701
50702 252525 X=252525
50703 XUUOA X^
50704
50705 ;CHECK THE "E" OF THE UUO STORED IS CORRECT.
50706
50707 252525 EFIELD==X ;"E" WE ARE TESTING FOR
50708 TSET^
50709 067445 %X=. ;DEFINE %X TO SAVE
50710 067445 201 00 0 00 067445 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
50711 067446 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
50712 067447 200 00 0 00 071315 ..0317: MOVE [JRST .+4] ;SET A TRAP INSTRUCTION
50713 067450 202 00 0 00 000041 MOVEM 41 ;INTO 41
50714 067451 001000 252525 1B8!X ;EXECUTE A UUO
50715 067452 254 04 0 00 067453 ..0320: HALT .+1 ;UUO DIDN'T TRAP TO 40
50716 067453 200 00 0 00 000040 MOVE 0,40 ;GET UUO
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 76-11
DFKAA8 MAC 25-AUG-75 14:17 TEST UUO STORING CORRECTLY SEQ 1164
50717 067454 405 00 0 00 777777 ANDI 0,-1 ;MASK OUT UUO FOR MA BITS
50718 067455 302 00 0 00 252525 CAIE X ;MA BITS CORRECT?
50719 067456 ..0321: STOP1^
50720 067456 254 04 0 00 067457 HALT .+1 ;UUO FAILED TO STORE MA BITS
50721 067457 254 00 0 00 067460 JRST .+1 ;INTO RIGHT HALF OF 40^
50722 TGET^
50723 067460 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
50724 067461 302 00 0 00 067445 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
50725 STOP2^^
50726 067462 254 04 0 00 067463 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
50727 067463 254 00 0 00 067464 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
50728 ^
50729
50730 525252 X=525252
50731 XUUOA X^
50732
50733 ;CHECK THE "E" OF THE UUO STORED IS CORRECT.
50734
50735 525252 EFIELD==X ;"E" WE ARE TESTING FOR
50736 TSET^
50737 067464 %X=. ;DEFINE %X TO SAVE
50738 067464 201 00 0 00 067464 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
50739 067465 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
50740 067466 200 00 0 00 071316 ..0322: MOVE [JRST .+4] ;SET A TRAP INSTRUCTION
50741 067467 202 00 0 00 000041 MOVEM 41 ;INTO 41
50742 067470 001000 525252 1B8!X ;EXECUTE A UUO
50743 067471 254 04 0 00 067472 ..0323: HALT .+1 ;UUO DIDN'T TRAP TO 40
50744 067472 200 00 0 00 000040 MOVE 0,40 ;GET UUO
50745 067473 405 00 0 00 777777 ANDI 0,-1 ;MASK OUT UUO FOR MA BITS
50746 067474 302 00 0 00 525252 CAIE X ;MA BITS CORRECT?
50747 067475 ..0324: STOP1^
50748 067475 254 04 0 00 067476 HALT .+1 ;UUO FAILED TO STORE MA BITS
50749 067476 254 00 0 00 067477 JRST .+1 ;INTO RIGHT HALF OF 40^
50750 TGET^
50751 067477 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
50752 067500 302 00 0 00 067464 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
50753 STOP2^^
50754 067501 254 04 0 00 067502 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
50755 067502 254 00 0 00 067503 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
50756 ^
50757 000000 X=0
50758 067503 255 00 0 00 000000 JFCL
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 77
DFKAA8 MAC 25-AUG-75 14:17 TEST CLEARING OF INDEX AND INDIRECT BITS ON UUO SEQ 1165
50759 SUBTTL TEST CLEARING OF INDEX AND INDIRECT BITS ON UUO
50760
50761 ;TEST THAT THE INDEX BITS ARE CLEARED WHEN EXECUTING A UUO
50762
50763 067504 UUOIND: CLRBTH^
50764 067504 700 04 0 00 267760 CLRAPR
50765 067505 700 14 0 00 031577 CLRPI^
50766 067506 400 17 0 00 000000 SETZ 17, ;CLEAR INDEX FIELD
50767 067507 200 00 0 00 071317 MOVE [JRST .+4] ;SET UP UUO TRAP INSTR.
50768 067510 202 00 0 00 000041 MOVEM 41 ;INTO TRAP LOCATION
50769 067511 001017 000000 1B8!(17) ;EXECUTE A UUO WITH INDEXING
50770 067512 254 04 0 00 067513 HALT .+1 ;UUO DID NOT TRAP
50771 067513 200 00 0 00 000040 MOVE 0,40 ;GET UUO
50772 067514 603 00 0 00 000017 TLNE 0,17 ;INDEX FIELD CLEAR?
50773 STOP^
50774 067515 254 04 0 00 067516 HALT .+1 ;INSTRUCTION FAILED REPLACE
50775 067516 254 00 0 00 067517 JRST .+1 ;WITH JRST BACK^
50776
50777 ;TEST THAT THE INDIRECT BIT IS CLEARED WHEN EXECUTING A UUO
50778
50779 067517 UUOINX: CLRBTH^
50780 067517 700 04 0 00 267760 CLRAPR
50781 067520 700 14 0 00 031577 CLRPI^
50782 067521 403 17 0 00 000000 SETZB 17,0 ;CLEAR INDEX FIELD
50783 067522 200 00 0 00 071320 MOVE [JRST .+4] ;SET UUO TRAP INSTR.
50784 067523 202 00 0 00 000041 MOVEM 41 ;INTO TRAP LOCATION
50785 067524 001020 000017 1B8!@17 ;EXECUTE A UUO WITH INDIRECTING
50786 067525 254 04 0 00 067526 HALT .+1 ;UUO DID NOT TRAP
50787 067526 200 00 0 00 000040 MOVE 0,40 ;GET UUO
50788 067527 603 00 0 00 000020 TLNE 0,20 ;INDIRECT BIT CLEAR?
50789 STOP^
50790 067530 254 04 0 00 067531 HALT .+1 ;INSTRUCTION FAILED REPLACE
50791 067531 254 00 0 00 067532 JRST .+1 ;WITH JRST BACK^
50792
50793 ;TEST THAT BOTH INDEX AND INDIRECT BITS CLEAR WHEN EXECUTING A UUO
50794
50795 067532 UUOBTH: CLRBTH^
50796 067532 700 04 0 00 267760 CLRAPR
50797 067533 700 14 0 00 031577 CLRPI^
50798 067534 403 17 0 00 000000 SETZB 17,0 ;CLEAR INDEX FIELD
50799 067535 200 00 0 00 071321 MOVE [JRST .+4] ;SET UP TRAP INSTR.
50800 067536 202 00 0 00 000041 MOVEM 41 ;INTO TRAP LOCATION
50801 067537 001037 000017 1B8!@17(17) ;EXECUTE WITH INDIRECT AND INDEX
50802 067540 254 04 0 00 067541 HALT .+1 ;UUO DID NOT TRAP
50803 067541 200 00 0 00 000040 MOVE 0,40 ;GET UUO
50804 067542 603 00 0 00 000037 TLNE 0,37 ;INDIRECT OR INDEX BITS STILL SET?
50805 STOP^
50806 067543 254 04 0 00 067544 HALT .+1 ;INSTRUCTION FAILED REPLACE
50807 067544 254 00 0 00 067545 JRST .+1 ;WITH JRST BACK^
50808
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 78
DFKAA8 MAC 25-AUG-75 14:17 TEST UUOS OUT OF FAST MEMORY SEQ 1166
50809 SUBTTL TEST UUOS OUT OF FAST MEMORY
50810
50811 FMUUO 0^
50812
50813 ;EXECUTE UUO'S OUT OF FAST MEMORY LOCATIONS 0,1,2,4,5,10,12, AND 17
50814 ;CHECK FIRST THAT THE UUO TRAPPED AND SECONDLY THAT IT STORED THE
50815 ;CORRECT PC.
50816
50817 000000 AC=0 ;TESTED AC
50818
50819 TSET^
50820 067545 %X=. ;DEFINE %X TO SAVE
50821 067545 201 00 0 00 067545 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
50822 067546 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
50823 067547 200 00 0 00 070317 MOVE 0,[XWD 1000,0] ;SET UP UUO INTO AC 0 TO EXECUTE
50824 067550 200 13 0 00 071322 MOVE 13,[JSP 11,..0325] ;SET UP UUO TRAP INSTRUCTION
50825 067551 202 13 0 00 000041 MOVEM 13,41 ;INTO LOCATION 41
50826 067552 200 01 0 00 071323 MOVE 0+1,[JRST ..0326] ;SET UP TRAP INSTRUCTION INCASE UUO DOES NOT TRAP
50827 067553 254 00 0 00 000000 JRST 0 ;GO EXECUTE UUO
50828 067554 254 04 0 00 067555 ..0326: HALT .+1 ;UUO DID NOT TRAP FROM FAST MEMORY
50829 067555 254 00 0 00 067556 JRST .+1 ;LOOP TO %FMUUO IF ERROR
50830 067556 405 11 0 00 777777 ..0325: ANDI 11,-1 ;MASK FLAGS
50831 067557 302 11 0 00 000001 CAIE 11,0+1 ;PC STORED SHOULD = 0 +1
50832 STOP^
50833 067560 254 04 0 00 067561 HALT .+1 ;INSTRUCTION FAILED REPLACE
50834 067561 254 00 0 00 067562 JRST .+1 ;WITH JRST BACK^
50835 TGET^
50836 067562 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
50837 067563 302 00 0 00 067545 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
50838 STOP2^^
50839 067564 254 04 0 00 067565 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
50840 067565 254 00 0 00 067566 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
50841 ^
50842
50843 FMUUO 1^
50844
50845 ;EXECUTE UUO'S OUT OF FAST MEMORY LOCATIONS 0,1,2,4,5,10,12, AND 17
50846 ;CHECK FIRST THAT THE UUO TRAPPED AND SECONDLY THAT IT STORED THE
50847 ;CORRECT PC.
50848
50849 000001 AC=1 ;TESTED AC
50850
50851 TSET^
50852 067566 %X=. ;DEFINE %X TO SAVE
50853 067566 201 00 0 00 067566 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
50854 067567 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
50855 067570 200 01 0 00 070317 MOVE 1,[XWD 1000,0] ;SET UP UUO INTO AC 1 TO EXECUTE
50856 067571 200 13 0 00 071324 MOVE 13,[JSP 11,..0327] ;SET UP UUO TRAP INSTRUCTION
50857 067572 202 13 0 00 000041 MOVEM 13,41 ;INTO LOCATION 41
50858 067573 200 02 0 00 071325 MOVE 1+1,[JRST ..0330] ;SET UP TRAP INSTRUCTION INCASE UUO DOES NOT TRAP
50859 067574 254 00 0 00 000001 JRST 1 ;GO EXECUTE UUO
50860 067575 254 04 0 00 067576 ..0330: HALT .+1 ;UUO DID NOT TRAP FROM FAST MEMORY
50861 067576 254 00 0 00 067577 JRST .+1 ;LOOP TO %FMUUO IF ERROR
50862 067577 405 11 0 00 777777 ..0327: ANDI 11,-1 ;MASK FLAGS
50863 067600 302 11 0 00 000002 CAIE 11,1+1 ;PC STORED SHOULD = 1 +1
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 78-1
DFKAA8 MAC 25-AUG-75 14:17 TEST UUOS OUT OF FAST MEMORY SEQ 1167
50864 STOP^
50865 067601 254 04 0 00 067602 HALT .+1 ;INSTRUCTION FAILED REPLACE
50866 067602 254 00 0 00 067603 JRST .+1 ;WITH JRST BACK^
50867 TGET^
50868 067603 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
50869 067604 302 00 0 00 067566 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
50870 STOP2^^
50871 067605 254 04 0 00 067606 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
50872 067606 254 00 0 00 067607 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
50873 ^
50874
50875 FMUUO 2^
50876
50877 ;EXECUTE UUO'S OUT OF FAST MEMORY LOCATIONS 0,1,2,4,5,10,12, AND 17
50878 ;CHECK FIRST THAT THE UUO TRAPPED AND SECONDLY THAT IT STORED THE
50879 ;CORRECT PC.
50880
50881 000002 AC=2 ;TESTED AC
50882
50883 TSET^
50884 067607 %X=. ;DEFINE %X TO SAVE
50885 067607 201 00 0 00 067607 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
50886 067610 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
50887 067611 200 02 0 00 070317 MOVE 2,[XWD 1000,0] ;SET UP UUO INTO AC 2 TO EXECUTE
50888 067612 200 13 0 00 071326 MOVE 13,[JSP 11,..0331] ;SET UP UUO TRAP INSTRUCTION
50889 067613 202 13 0 00 000041 MOVEM 13,41 ;INTO LOCATION 41
50890 067614 200 03 0 00 071327 MOVE 2+1,[JRST ..0332] ;SET UP TRAP INSTRUCTION INCASE UUO DOES NOT TRAP
50891 067615 254 00 0 00 000002 JRST 2 ;GO EXECUTE UUO
50892 067616 254 04 0 00 067617 ..0332: HALT .+1 ;UUO DID NOT TRAP FROM FAST MEMORY
50893 067617 254 00 0 00 067620 JRST .+1 ;LOOP TO %FMUUO IF ERROR
50894 067620 405 11 0 00 777777 ..0331: ANDI 11,-1 ;MASK FLAGS
50895 067621 302 11 0 00 000003 CAIE 11,2+1 ;PC STORED SHOULD = 2 +1
50896 STOP^
50897 067622 254 04 0 00 067623 HALT .+1 ;INSTRUCTION FAILED REPLACE
50898 067623 254 00 0 00 067624 JRST .+1 ;WITH JRST BACK^
50899 TGET^
50900 067624 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
50901 067625 302 00 0 00 067607 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
50902 STOP2^^
50903 067626 254 04 0 00 067627 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
50904 067627 254 00 0 00 067630 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
50905 ^
50906
50907 FMUUO 4^
50908
50909 ;EXECUTE UUO'S OUT OF FAST MEMORY LOCATIONS 0,1,2,4,5,10,12, AND 17
50910 ;CHECK FIRST THAT THE UUO TRAPPED AND SECONDLY THAT IT STORED THE
50911 ;CORRECT PC.
50912
50913 000004 AC=4 ;TESTED AC
50914
50915 TSET^
50916 067630 %X=. ;DEFINE %X TO SAVE
50917 067630 201 00 0 00 067630 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
50918 067631 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 78-2
DFKAA8 MAC 25-AUG-75 14:17 TEST UUOS OUT OF FAST MEMORY SEQ 1168
50919 067632 200 04 0 00 070317 MOVE 4,[XWD 1000,0] ;SET UP UUO INTO AC 4 TO EXECUTE
50920 067633 200 13 0 00 071330 MOVE 13,[JSP 11,..0333] ;SET UP UUO TRAP INSTRUCTION
50921 067634 202 13 0 00 000041 MOVEM 13,41 ;INTO LOCATION 41
50922 067635 200 05 0 00 071331 MOVE 4+1,[JRST ..0334] ;SET UP TRAP INSTRUCTION INCASE UUO DOES NOT TRAP
50923 067636 254 00 0 00 000004 JRST 4 ;GO EXECUTE UUO
50924 067637 254 04 0 00 067640 ..0334: HALT .+1 ;UUO DID NOT TRAP FROM FAST MEMORY
50925 067640 254 00 0 00 067641 JRST .+1 ;LOOP TO %FMUUO IF ERROR
50926 067641 405 11 0 00 777777 ..0333: ANDI 11,-1 ;MASK FLAGS
50927 067642 302 11 0 00 000005 CAIE 11,4+1 ;PC STORED SHOULD = 4 +1
50928 STOP^
50929 067643 254 04 0 00 067644 HALT .+1 ;INSTRUCTION FAILED REPLACE
50930 067644 254 00 0 00 067645 JRST .+1 ;WITH JRST BACK^
50931 TGET^
50932 067645 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
50933 067646 302 00 0 00 067630 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
50934 STOP2^^
50935 067647 254 04 0 00 067650 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
50936 067650 254 00 0 00 067651 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
50937 ^
50938
50939 FMUUO 5^
50940
50941 ;EXECUTE UUO'S OUT OF FAST MEMORY LOCATIONS 0,1,2,4,5,10,12, AND 17
50942 ;CHECK FIRST THAT THE UUO TRAPPED AND SECONDLY THAT IT STORED THE
50943 ;CORRECT PC.
50944
50945 000005 AC=5 ;TESTED AC
50946
50947 TSET^
50948 067651 %X=. ;DEFINE %X TO SAVE
50949 067651 201 00 0 00 067651 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
50950 067652 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
50951 067653 200 05 0 00 070317 MOVE 5,[XWD 1000,0] ;SET UP UUO INTO AC 5 TO EXECUTE
50952 067654 200 13 0 00 071332 MOVE 13,[JSP 11,..0335] ;SET UP UUO TRAP INSTRUCTION
50953 067655 202 13 0 00 000041 MOVEM 13,41 ;INTO LOCATION 41
50954 067656 200 06 0 00 071333 MOVE 5+1,[JRST ..0336] ;SET UP TRAP INSTRUCTION INCASE UUO DOES NOT TRAP
50955 067657 254 00 0 00 000005 JRST 5 ;GO EXECUTE UUO
50956 067660 254 04 0 00 067661 ..0336: HALT .+1 ;UUO DID NOT TRAP FROM FAST MEMORY
50957 067661 254 00 0 00 067662 JRST .+1 ;LOOP TO %FMUUO IF ERROR
50958 067662 405 11 0 00 777777 ..0335: ANDI 11,-1 ;MASK FLAGS
50959 067663 302 11 0 00 000006 CAIE 11,5+1 ;PC STORED SHOULD = 5 +1
50960 STOP^
50961 067664 254 04 0 00 067665 HALT .+1 ;INSTRUCTION FAILED REPLACE
50962 067665 254 00 0 00 067666 JRST .+1 ;WITH JRST BACK^
50963 TGET^
50964 067666 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
50965 067667 302 00 0 00 067651 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
50966 STOP2^^
50967 067670 254 04 0 00 067671 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
50968 067671 254 00 0 00 067672 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
50969 ^
50970
50971 FMUUO 10^
50972
50973 ;EXECUTE UUO'S OUT OF FAST MEMORY LOCATIONS 0,1,2,4,5,10,12, AND 17
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 78-3
DFKAA8 MAC 25-AUG-75 14:17 TEST UUOS OUT OF FAST MEMORY SEQ 1169
50974 ;CHECK FIRST THAT THE UUO TRAPPED AND SECONDLY THAT IT STORED THE
50975 ;CORRECT PC.
50976
50977 000010 AC=10 ;TESTED AC
50978
50979 TSET^
50980 067672 %X=. ;DEFINE %X TO SAVE
50981 067672 201 00 0 00 067672 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
50982 067673 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
50983 067674 200 10 0 00 070317 MOVE 10,[XWD 1000,0] ;SET UP UUO INTO AC 10 TO EXECUTE
50984 067675 200 13 0 00 071334 MOVE 13,[JSP 11,..0337] ;SET UP UUO TRAP INSTRUCTION
50985 067676 202 13 0 00 000041 MOVEM 13,41 ;INTO LOCATION 41
50986 067677 200 11 0 00 071335 MOVE 10+1,[JRST ..0340] ;SET UP TRAP INSTRUCTION INCASE UUO DOES NOT TRAP
50987 067700 254 00 0 00 000010 JRST 10 ;GO EXECUTE UUO
50988 067701 254 04 0 00 067702 ..0340: HALT .+1 ;UUO DID NOT TRAP FROM FAST MEMORY
50989 067702 254 00 0 00 067703 JRST .+1 ;LOOP TO %FMUUO IF ERROR
50990 067703 405 11 0 00 777777 ..0337: ANDI 11,-1 ;MASK FLAGS
50991 067704 302 11 0 00 000011 CAIE 11,10+1 ;PC STORED SHOULD = 10 +1
50992 STOP^
50993 067705 254 04 0 00 067706 HALT .+1 ;INSTRUCTION FAILED REPLACE
50994 067706 254 00 0 00 067707 JRST .+1 ;WITH JRST BACK^
50995 TGET^
50996 067707 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
50997 067710 302 00 0 00 067672 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
50998 STOP2^^
50999 067711 254 04 0 00 067712 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
51000 067712 254 00 0 00 067713 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
51001 ^
51002
51003 FMUUO 12^
51004
51005 ;EXECUTE UUO'S OUT OF FAST MEMORY LOCATIONS 0,1,2,4,5,10,12, AND 17
51006 ;CHECK FIRST THAT THE UUO TRAPPED AND SECONDLY THAT IT STORED THE
51007 ;CORRECT PC.
51008
51009 000012 AC=12 ;TESTED AC
51010
51011 TSET^
51012 067713 %X=. ;DEFINE %X TO SAVE
51013 067713 201 00 0 00 067713 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
51014 067714 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
51015 067715 200 12 0 00 070317 MOVE 12,[XWD 1000,0] ;SET UP UUO INTO AC 12 TO EXECUTE
51016 067716 200 13 0 00 071336 MOVE 13,[JSP 11,..0341] ;SET UP UUO TRAP INSTRUCTION
51017 067717 202 13 0 00 000041 MOVEM 13,41 ;INTO LOCATION 41
51018 067720 200 13 0 00 071337 MOVE 12+1,[JRST ..0342] ;SET UP TRAP INSTRUCTION INCASE UUO DOES NOT TRAP
51019 067721 254 00 0 00 000012 JRST 12 ;GO EXECUTE UUO
51020 067722 254 04 0 00 067723 ..0342: HALT .+1 ;UUO DID NOT TRAP FROM FAST MEMORY
51021 067723 254 00 0 00 067724 JRST .+1 ;LOOP TO %FMUUO IF ERROR
51022 067724 405 11 0 00 777777 ..0341: ANDI 11,-1 ;MASK FLAGS
51023 067725 302 11 0 00 000013 CAIE 11,12+1 ;PC STORED SHOULD = 12 +1
51024 STOP^
51025 067726 254 04 0 00 067727 HALT .+1 ;INSTRUCTION FAILED REPLACE
51026 067727 254 00 0 00 067730 JRST .+1 ;WITH JRST BACK^
51027 TGET^
51028 067730 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 78-4
DFKAA8 MAC 25-AUG-75 14:17 TEST UUOS OUT OF FAST MEMORY SEQ 1170
51029 067731 302 00 0 00 067713 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
51030 STOP2^^
51031 067732 254 04 0 00 067733 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
51032 067733 254 00 0 00 067734 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
51033 ^
51034
51035 FMUUO 17^
51036
51037 ;EXECUTE UUO'S OUT OF FAST MEMORY LOCATIONS 0,1,2,4,5,10,12, AND 17
51038 ;CHECK FIRST THAT THE UUO TRAPPED AND SECONDLY THAT IT STORED THE
51039 ;CORRECT PC.
51040
51041 000017 AC=17 ;TESTED AC
51042
51043 TSET^
51044 067734 %X=. ;DEFINE %X TO SAVE
51045 067734 201 00 0 00 067734 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
51046 067735 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
51047 067736 200 17 0 00 070317 MOVE 17,[XWD 1000,0] ;SET UP UUO INTO AC 17 TO EXECUTE
51048 067737 200 13 0 00 071340 MOVE 13,[JSP 11,..0343] ;SET UP UUO TRAP INSTRUCTION
51049 067740 202 13 0 00 000041 MOVEM 13,41 ;INTO LOCATION 41
51050 067741 200 00 0 00 071341 MOVE 17+1,[JRST ..0344] ;SET UP TRAP INSTRUCTION INCASE UUO DOES NOT TRAP
51051 067742 254 00 0 00 000017 JRST 17 ;GO EXECUTE UUO
51052 067743 254 04 0 00 067744 ..0344: HALT .+1 ;UUO DID NOT TRAP FROM FAST MEMORY
51053 067744 254 00 0 00 067745 JRST .+1 ;LOOP TO %FMUUO IF ERROR
51054 067745 405 11 0 00 777777 ..0343: ANDI 11,-1 ;MASK FLAGS
51055 067746 302 11 0 00 000020 CAIE 11,17+1 ;PC STORED SHOULD = 17 +1
51056 STOP^
51057 067747 254 04 0 00 067750 HALT .+1 ;INSTRUCTION FAILED REPLACE
51058 067750 254 00 0 00 067751 JRST .+1 ;WITH JRST BACK^
51059 TGET^
51060 067751 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
51061 067752 302 00 0 00 067734 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
51062 STOP2^^
51063 067753 254 04 0 00 067754 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
51064 067754 254 00 0 00 067755 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
51065 ^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 79
DFKAA8 MAC 25-AUG-75 14:17 SIMPLE MUUO TEST SEQ 1171
51066 SUBTTL SIMPLE MUUO TEST
51067 ;TEST MONITOR UUO "0" TO SEE IF IT TRAPS AT ALL
51068 ;TRAPPING TO 40 CAUSES IT TO HALT. TRAPPING TO SUPERVISOR KERNAL PUBLIC
51069 ;OR CONCEALED IS ALLOWED AND IS CONSIERED CORRECT.
51070
51071 TSET^
51072 067755 %X=. ;DEFINE %X TO SAVE
51073 067755 201 00 0 00 067755 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
51074 067756 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
51075 067757 265 00 0 00 067760 JSP .+1 ;GET FLAGS
51076 067760 603 00 0 00 010000 TLNE USERF ;IF USER MODE THEN EXIT
51077 067761 254 00 0 00 070027 JRST USRIO0 ;SKIP IF USER MODE TO USER IO TEST
51078
51079 CLRBTH^
51080 067762 700 04 0 00 267760 CLRAPR
51081 067763 700 14 0 00 031577 CLRPI^
51082 067764 201 00 0 00 070007 XMUUO: MOVEI XMUPC ;SET UP A TRAP FOR MONITOR UUO
51083 067765 202 00 0 00 000430 MOVEM LKNTRP ;INTO ALL POSSIBLE TRAP LOCATIONS
51084 067766 202 00 0 00 000431 MOVEM LKTRP
51085 067767 202 00 0 00 000432 MOVEM LSNTRP
51086 067770 202 00 0 00 000433 MOVEM LSTRP
51087 067771 202 00 0 00 000434 MOVEM LCNTRP
51088 067772 202 00 0 00 000435 MOVEM LCTRP
51089 067773 202 00 0 00 000436 MOVEM LPNTRP
51090 067774 202 00 0 00 000437 MOVEM LPTRP
51091 067775 476 00 0 00 000424 SETOM LMUUO ;SET THE TRAP LOCATIONS
51092 067776 476 00 0 00 000425 SETOM LMUUO+1 ;TO ENABLE CHECKING
51093 067777 200 00 0 00 071342 MOVE [JRST MUHLT] ;SET UP A LUUO TRAP HALT
51094 070000 202 00 0 00 000041 MOVEM 41
51095 070001 402 00 0 00 070002 SETZM .+1 ;MAKE A MUUO IN THE NEXT LOCATION
51096 070002 000000 000000 XMUUO0: 0 ;THIS IS A MONITOR UUO
51097 070003 254 04 0 00 070004 HALT .+1 ;THE UUO DIDN'T TRAP
51098 070004 254 04 0 00 070005 HALT .+1 ;MUUO SKIPPED?
51099 070005 254 04 0 00 070006 MUHLT: HALT .+1 ;UUO TRAPPED TO 40(DECODE AS LUUO?)
51100 070006 254 04 0 00 070007 HALT .+1 ;SPARE HALT
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 80
DFKAA8 MAC 25-AUG-75 14:17 SIMPLE MUUO TEST SEQ 1172
51101 070007 XMUPC: TGET^
51102 070007 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
51103 070010 302 00 0 00 067755 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
51104 STOP2^^
51105 070011 254 04 0 00 070012 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
51106 070012 254 00 0 00 070013 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
51107 070013 332 00 0 00 000424 SKIPE LMUUO ;MON UUO "0" DIDN'T STORE A ZERO
51108 STOP^
51109 070014 254 04 0 00 070015 HALT .+1 ;INSTRUCTION FAILED REPLACE
51110 070015 254 00 0 00 070016 JRST .+1 ;WITH JRST BACK^
51111 070016 550 00 0 00 000425 HRRZ LMUUO+1 ;GET THE STORED PC
51112 070017 302 00 0 00 070003 CAIE XMUUO0+1 ;DID WE STORE THE CORRECT PC?
51113 STOP^
51114 070020 254 04 0 00 070021 HALT .+1 ;INSTRUCTION FAILED REPLACE
51115 070021 254 00 0 00 070022 JRST .+1 ;WITH JRST BACK^
51116 070022 255 00 0 00 000000 JFCL
51117 TGET^
51118 070023 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
51119 070024 302 00 0 00 067755 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
51120 STOP2^^
51121 070025 254 04 0 00 070026 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
51122 070026 254 00 0 00 070027 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 81
DFKAA8 MAC 25-AUG-75 14:17 TEST THE USER IOT BIT SEQ 1173
51123 SUBTTL TEST THE USER IOT BIT
51124 ;CHECK CLEARING AND SETTING OF THE USER IOT BIT
51125
51126 070027 USRIO0: TSET^
51127 070027 %X=. ;DEFINE %X TO SAVE
51128 070027 201 00 0 00 070027 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
51129 070030 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
51130 CLRBTH^
51131 070031 700 04 0 00 267760 CLRAPR
51132 070032 700 14 0 00 031577 CLRPI^
51133 070033 336 00 0 00 030042 SKIPN MONFLG ;IN SPECIAL USER MODE?
51134 070034 254 00 0 00 070070 JRST ENDIT ;YES LOOP TEST
51135 070035 254 02 1 00 070036 JRSTF @.+1 ;CLEAR BITS
51136 070036 000000 070037 0,,.+1 ;PC AND FLAGS
51137 070037 265 00 0 00 070040 JSP .+1 ;CHECK WHY USER I/O FLAG IS SET
51138 070040 603 00 0 00 004000 TLNE EXIOT ;SHOULD BE CLEAR VIA JRSTF
51139 STOP^
51140 070041 254 04 0 00 070042 HALT .+1 ;INSTRUCTION FAILED REPLACE
51141 070042 254 00 0 00 070043 JRST .+1 ;WITH JRST BACK^
51142 TGET^
51143 070043 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
51144 070044 302 00 0 00 070027 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
51145 STOP2^^
51146 070045 254 04 0 00 070046 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
51147 070046 254 00 0 00 070047 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
51148 070047 336 00 0 00 030042 SKIPN MONFLG ;IN USER MODE?
51149 070050 254 00 0 00 070070 JRST ENDIT ;YES CANNOT SET USER IO FLAG
51150 ;IN USER MODE
51151
51152 070051 USRIO1: TSET^
51153 070051 %X=. ;DEFINE %X TO SAVE
51154 070051 201 00 0 00 070051 MOVEI %X ;SAVE THIS PC IN CASE OF WILD TRANSFER
51155 070052 202 00 0 00 071350 MOVEM TNUMB# ;BECAUSE OF PC MOD OR INTERRUPT^
51156 CLRBTH^
51157 070053 700 04 0 00 267760 CLRAPR
51158 070054 700 14 0 00 031577 CLRPI^
51159 070055 400 00 0 00 000000 SETZ 0 ;CLEAR 0
51160 070056 200 01 0 00 071343 MOVE 1,[1B6!.+2] ;FLAGS AND PC
51161 070057 254 02 0 01 000000 JRSTF (1) ;USER I/O FLAG DID
51162 070060 265 00 0 00 070061 JSP .+1 ;NOT SET
51163 070061 607 00 0 00 004000 TLNN EXIOT ;CHECK WHY BIT IS NOT SET
51164 STOP^
51165 070062 254 04 0 00 070063 HALT .+1 ;INSTRUCTION FAILED REPLACE
51166 070063 254 00 0 00 070064 JRST .+1 ;WITH JRST BACK^
51167 TGET^
51168 070064 200 00 0 00 071350 MOVE TNUMB ;GET LAST PC STORED AND CHECK TO SEE
51169 070065 302 00 0 00 070051 CAIE %X ;IF ITS WHERE WE REALLY SHOULD BE
51170 STOP2^^
51171 070066 254 04 0 00 070067 HALT .+1 ;HALT IF WE SHOULDN'T BE HERE
51172 070067 254 00 0 00 070070 JRST .+1 ;WILD TRANSFER CAUSED THIS HALT.^
51173
51174 070070 402 00 0 00 071350 ENDIT: SETZM TNUMB ;CLEAR TEST NUMBER FLAG
51175 070071 254 00 0 00 030057 JRST BEGEND ;GO TO BEG/END SEQUENCE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 82
DFKAA8 MAC 25-AUG-75 14:17 IOT/PI/APR SUBROUTINES SEQ 1174
51176 SUBTTL IOT/PI/APR SUBROUTINES
51177
51178 ;HERE ARE SOME USEFUL SUBROUTINES FOR THE DIAGNOSTIC
51179
51180 ;THIS ROUTINE CLEARS ALL THE TRAP LOCATIONS(42-56)
51181
51182 070072 000000 000000 TRPCLR: 0 ;FOR PC RETURN
51183 070073 202 15 0 00 071353 MOVEM 15,XAC15# ;SAVE AC15
51184 070074 201 15 0 00 000042 MOVEI 15,42
51185 070075 402 00 1 00 000015 SETZM @15 ;CLEAR LOCATION
51186 070076 271 15 0 00 000001 ADDI 15,1 ;BUMP POINTER
51187 070077 307 15 0 00 000056 CAIG 15,56 ;DONE LAST?
51188 070100 254 00 0 00 070075 JRST .-3 ;LOOP
51189 070101 200 15 0 00 071353 MOVE 15,XAC15 ;RESTORE AC15
51190 070102 254 00 1 00 070072 JRST @TRPCLR
51191
51192 ;THIS ROUTINE PUTS A JSP TO A HALT INTO EACH TRAP LOCATION (42-57)
51193
51194 070103 000000 000000 HALTPI: 0 ;FOR RETURN PC
51195 070104 202 00 0 00 071351 MOVEM 0,XAC0# ;SAVE AC0
51196 070105 202 01 0 00 071352 MOVEM 1,XAC1# ;SAVE AC1
51197 070106 200 00 0 00 071344 MOVE [JSP 1,HLTCK] ;PUT JSP INTO EACH TRAP LOCATION
51198 070107 201 01 0 00 000042 MOVEI 1,42 ;IN CASE INCORRECT INTERRUPT
51199 070110 202 00 1 00 000001 MOVEM @1 ;STORE
51200 070111 271 00 0 00 000002 ADDI 2
51201 070112 271 01 0 00 000002 ADDI 1,2
51202 070113 305 01 0 00 000060 CAIGE 1,60 ;DONE?
51203 070114 254 00 0 00 070110 JRST .-4
51204 070115 200 00 0 00 071351 MOVE 0,XAC0 ;RESTORE AC0
51205 070116 200 01 0 00 071352 MOVE 1,XAC1 ;AND AC1
51206 070117 254 00 1 00 070103 JRST @HALTPI ;RETURN
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 83
DFKAA8 MAC 25-AUG-75 14:17 IOT/PI/APR SUBROUTINES SEQ 1175
51207 ;THIS ROUTINE PUTS A JSP INTO EACH INTERRUPT LOCATION WHICH WILL
51208 ;IGNORE INTERRUPTS..
51209
51210 070120 000000 000000 TRAPPI: 0 ;FOR JSR
51211 070121 202 00 0 00 071351 MOVEM 0,XAC0# ;SAVE AC0
51212 070122 202 01 0 00 071352 MOVEM 1,XAC1# ;SAVE AC1
51213 070123 200 00 0 00 071345 MOVE [JSP 1,TRPFIL] ;SET UP TRAP INSTRUCTION
51214 070124 201 01 0 00 000042 MOVEI 1,42
51215 070125 202 00 1 00 000001 MOVEM @1
51216 070126 271 01 0 00 000002 ADDI 1,2
51217 070127 271 00 0 00 000002 ADDI 0,2 ;STORAGE POINTER
51218 070130 305 01 0 00 000060 CAIGE 1,60 ;DONE?
51219 070131 254 00 0 00 070125 JRST .-4 ;NO LOOP
51220 070132 200 00 0 00 071351 MOVE 0,XAC0 ;RESTORE AC0
51221 070133 200 01 0 00 071352 MOVE 1,XAC1 ;AND AC1
51222 070134 254 00 1 00 070120 JRST @TRAPPI ;RETURN
51223
51224 ;THIS ROUTINE PLACES THE VALUE OF THE CHANNEL WHICH INTERRUPTED INTO
51225 ;AC0. IT DOES NOTHING ELSE (IT EFFECTIVLY IGNORES THE INTERRUPT).
51226
51227 070135 201 00 0 00 000001 TRPFIL: MOVEI 1 ;POINTER
51228 070136 254 00 0 00 070154 JRST TPEND
51229 070137 201 00 0 00 000002 MOVEI 2
51230 070140 254 00 0 00 070154 JRST TPEND
51231 070141 201 00 0 00 000003 MOVEI 3
51232 070142 254 00 0 00 070154 JRST TPEND
51233 070143 201 00 0 00 000004 MOVEI 4
51234 070144 254 00 0 00 070154 JRST TPEND
51235 070145 201 00 0 00 000005 MOVEI 5
51236 070146 254 00 0 00 070154 JRST TPEND
51237 070147 201 00 0 00 000006 MOVEI 6
51238 070150 254 00 0 00 070154 JRST TPEND
51239 070151 201 00 0 00 000007 MOVEI 7
51240 070152 254 00 0 00 070154 JRST TPEND
51241 070153 254 04 0 00 070154 HALT TPEND ;"JRST @" OR "JRSTF @" FAILS
51242
51243 070154 332 00 0 00 030042 TPEND: SKIPE MONFLG ;IN USER MODE?
51244 070155 254 00 1 00 000001 JRST @1 ;RETURN
51245 070156 254 02 1 00 000001 JRSTF @1 ;RESTORE FLAGS
51246 070157 254 04 0 00 070157 HALT . ;JRST @ OR JRSTF FAILS ?
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 84
DFKAA8 MAC 25-AUG-75 14:17 IOT/PI/APR SUBROUTINES SEQ 1176
51247 ;THIS ROUTINE PLACES THE VALUE OF THE CHANNEL WHICH INTERRUPTED
51248 ;INTO AC0. AFTER WHICH IT WILL HALT. THIS ROUTINE IS CALLED WHENEVER AN
51249 ;INTERRUPT OCCURS ON AN INCORRECT CHANNEL.
51250 070160 201 00 0 00 000001 HLTCK: MOVEI 1
51251 070161 254 04 1 00 000001 HALT @1
51252 070162 201 00 0 00 000002 MOVEI 2
51253 070163 254 04 1 00 000001 HALT @1
51254 070164 201 00 0 00 000003 MOVEI 3
51255 070165 254 04 1 00 000001 HALT @1
51256 070166 201 00 0 00 000004 MOVEI 4
51257 070167 254 04 1 00 000001 HALT @1
51258 070170 201 00 0 00 000005 MOVEI 5
51259 070171 254 04 1 00 000001 HALT @1
51260 070172 201 00 0 00 000006 MOVEI 6
51261 070173 254 04 1 00 000001 HALT @1
51262 070174 201 00 0 00 000007 MOVEI 7
51263 070175 254 04 1 00 000007 HALT @7
51264 070176 474 00 0 00 000000 SETO 0
51265 070177 254 04 0 00 070177 HALT . ;SHOULD NEVER GET HERE
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 85
DFKAA8 MAC 25-AUG-75 14:17 IOT/PI/APR TRAP ROUTINES SEQ 1177
51266 SUBTTL IOT/PI/APR TRAP ROUTINES
51267
51268 ;HERE LIE THE VARIOUS TRAPS TRAPS HERE REPRESENT ERRORS
51269 ;NOT CHECKED IN THE DIAGNOSTIC. THE LISTING SHOWS THE CAUSE OF THE
51270 ;TRAP.
51271
51272 070200 254 04 0 00 070200 UUO: HALT . ;ERROR-UUO (LOC 0 HAS PC OF UUO)
51273 070201 254 04 1 00 000425 MACHTP: HALT @425 ;KERNAL NO TRAP
51274 070202 254 04 1 00 000425 HALT @425 ;KERNAL TRAP
51275 070203 254 04 1 00 000425 HALT @425 ;SUPERVISOR NO TRAP
51276 070204 254 04 1 00 000425 HALT @425 ;SUPERVISOR TRAP
51277 070205 254 04 1 00 000425 HALT @425 ;CONCEAL NO TRAP
51278 070206 254 04 1 00 000425 HALT @425 ;CONCEAL TRAP
51279 070207 254 04 1 00 000425 HALT @425 ;PUBLIC NO TRAP
51280 070210 254 04 1 00 000425 HALT @425 ;PUBLIC TRAP
51281
51282 070211 254 04 0 00 070211 TABLE: HALT . ;PAGE FAILURE TRAP
51283 070212 255 00 0 00 000000 JFCL ;IGNORE ARITHMETIC TRAPS
51284 070213 254 04 0 00 070213 HALT .
51285 070214 254 04 0 00 070214 HALT .
51286 070215 777777 777777 -1 ;IF UUO THEN NOT =O-1
51287 070216 777777 777777 -1
51288 070217 000000 000000 0
51289 070220 000000 000000 0
51290 070221 000000 070201 MACHTP
51291 070222 000000 070202 MACHTP+1
51292 070223 000000 070203 MACHTP+2
51293 070224 000000 070204 MACHTP+3
51294 070225 000000 070205 MACHTP+4
51295 070226 000000 070206 MACHTP+5
51296 070227 000000 070207 MACHTP+6
51297 070230 000000 070210 MACHTP+7
51298
51299 070231 000000 000000 TRPSET: 0 ;FOR JSR
51300 070232 202 00 0 00 071351 MOVEM 0,XAC0# ;SAVE AC0
51301 070233 202 01 0 00 071352 MOVEM 1,XAC1# ;SAVE AC1
51302 070234 202 16 0 00 071354 MOVEM 16,XAC16# ;SAVE AC16
51303 070235 201 00 0 00 070211 MOVEI 0,TABLE ;TRAP TABLE POINTER
51304 070236 201 01 0 00 000420 MOVEI 1,420 ;STORAGE ADRESS
51305 070237 200 16 1 00 000000 MOVE 16,@0 ;PUT TRAP WORD INTO
51306 070240 202 16 0 01 000000 MOVEM 16,(1) ;TRAP LOCATION
51307 070241 271 00 0 00 000001 ADDI 0,1 ;BUMP
51308 070242 271 01 0 00 000001 ADDI 1,1 ;POINTERS
51309 070243 302 01 0 00 000440 CAIE 1,440 ;DONE LAST
51310 070244 254 00 0 00 070237 JRST .-5 ;NO KEEP LOOPING
51311 070245 200 00 0 00 071351 MOVE 0,XAC0 ;RESTORE AC0
51312 070246 200 01 0 00 071352 MOVE 1,XAC1 ;AND AC1
51313 070247 200 16 0 00 071354 MOVE 16,XAC16 ;AND AC16
51314 070250 254 00 1 00 070231 JRST @TRPSET ;RETURN TO CALLER
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 1
STOR KLM 18-JAN-77 11:42 *STOR* RESERVED STORAGE, JAN 18,1977 SEQ 1178
51315 SUBTTL *STOR* RESERVED STORAGE, JAN 18,1977
51316
51317 ;PROGRAM LITERALS
51318
51319 XLIST
51320 IFNDEF $LPAPER,<LIST>
51321 070251 LIT
51322 070251 000001 000001
51323 070252 254 00 0 00 030742
51324 070253 000000 000000
51325 070254 777777 777777
51326 070255 377777 777777
51327 070256 400000 000000
51328 070257 777000 000000
51329 070260 000377 000000
51330 070261 000000 177000
51331 070262 000000 000777
51332 070263 000000 600000
51333 070264 000400 000000
51334 070265 000000 000001
51335 070266 000000 000002
51336 070267 000000 000004
51337 070270 000000 000010
51338 070271 000000 000020
51339 070272 000000 000040
51340 070273 000000 000100
51341 070274 000000 000200
51342 070275 000000 000400
51343 070276 000000 001000
51344 070277 000000 002000
51345 070300 000000 004000
51346 070301 000000 010000
51347 070302 000000 020000
51348 070303 000000 040000
51349 070304 000000 100000
51350 070305 000000 200000
51351 070306 000000 400000
51352 070307 000001 000000
51353 070310 000002 000000
51354 070311 000004 000000
51355 070312 000010 000000
51356 070313 000020 000000
51357 070314 000040 000000
51358 070315 000100 000000
51359 070316 000200 000000
51360 070317 001000 000000
51361 070320 002000 000000
51362 070321 004000 000000
51363 070322 010000 000000
51364 070323 020000 000000
51365 070324 040000 000000
51366 070325 100000 000000
51367 070326 200000 000000
51368 070327 000000 001234
51369 070330 000000 777777
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 1-1
STOR KLM 18-JAN-77 11:42 *STOR* RESERVED STORAGE, JAN 18,1977 SEQ 1179
51370 070331 777777 000000
51371 070332 707070 707070
51372 070333 777777 777776
51373 070334 777777 777775
51374 070335 777777 777773
51375 070336 777777 777767
51376 070337 777777 777757
51377 070340 777777 777737
51378 070341 777777 777677
51379 070342 777777 777577
51380 070343 777777 777377
51381 070344 777777 776777
51382 070345 777777 775777
51383 070346 777777 773777
51384 070347 777777 767777
51385 070350 777777 757777
51386 070351 777777 737777
51387 070352 777777 677777
51388 070353 777777 577777
51389 070354 777777 377777
51390 070355 777776 777777
51391 070356 777775 777777
51392 070357 777773 777777
51393 070360 777767 777777
51394 070361 777757 777777
51395 070362 777737 777777
51396 070363 777677 777777
51397 070364 777577 777777
51398 070365 777377 777777
51399 070366 776777 777777
51400 070367 775777 777777
51401 070370 773777 777777
51402 070371 767777 777777
51403 070372 757777 777777
51404 070373 737777 777777
51405 070374 677777 777777
51406 070375 577777 777777
51407 070376 123456 765432
51408 070377 123456 000000
51409 070400 000000 123456
51410 070401 600000 000000
51411 070402 700000 000000
51412 070403 740000 000000
51413 070404 760000 000000
51414 070405 770000 000000
51415 070406 774000 000000
51416 070407 776000 000000
51417 070410 777400 000000
51418 070411 777600 000000
51419 070412 777700 000000
51420 070413 777740 000000
51421 070414 777760 000000
51422 070415 777770 000000
51423 070416 777774 000000
51424 070417 777776 000000
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 1-2
STOR KLM 18-JAN-77 11:42 *STOR* RESERVED STORAGE, JAN 18,1977 SEQ 1180
51425 070420 777777 400000
51426 070421 777777 600000
51427 070422 777777 700000
51428 070423 777777 740000
51429 070424 777777 760000
51430 070425 777777 770000
51431 070426 777777 774000
51432 070427 777777 776000
51433 070430 777777 777000
51434 070431 777777 777400
51435 070432 777777 777600
51436 070433 777777 777700
51437 070434 777777 777740
51438 070435 777777 777760
51439 070436 777777 777770
51440 070437 777777 777774
51441 070440 000002 000002
51442 070441 000004 000004
51443 070442 000010 000010
51444 070443 000020 000020
51445 070444 000040 000040
51446 070445 000100 000100
51447 070446 000200 000200
51448 070447 000400 000400
51449 070450 001000 001000
51450 070451 002000 002000
51451 070452 004000 004000
51452 070453 010000 010000
51453 070454 020000 020000
51454 070455 040000 040000
51455 070456 100000 100000
51456 070457 200000 200000
51457 070460 400000 400000
51458 070461 777776 777776
51459 070462 777775 777775
51460 070463 777773 777773
51461 070464 777767 777767
51462 070465 777757 777757
51463 070466 777737 777737
51464 070467 777677 777677
51465 070470 777577 777577
51466 070471 777377 777377
51467 070472 776777 776777
51468 070473 775777 775777
51469 070474 773777 773777
51470 070475 767777 767777
51471 070476 757777 757777
51472 070477 737777 737777
51473 070500 677777 677777
51474 070501 577777 577777
51475 070502 377777 377777
51476 070503 000001 777776
51477 070504 777776 000001
51478 070505 000002 777775
51479 070506 777775 000002
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 1-3
STOR KLM 18-JAN-77 11:42 *STOR* RESERVED STORAGE, JAN 18,1977 SEQ 1181
51480 070507 000004 777773
51481 070510 777773 000004
51482 070511 000010 777767
51483 070512 777767 000010
51484 070513 000020 777757
51485 070514 777757 000020
51486 070515 000040 777737
51487 070516 777737 000040
51488 070517 000100 777677
51489 070520 777677 000100
51490 070521 000200 777577
51491 070522 777577 000200
51492 070523 000400 777377
51493 070524 777377 000400
51494 070525 001000 776777
51495 070526 776777 001000
51496 070527 002000 775777
51497 070530 775777 002000
51498 070531 004000 773777
51499 070532 773777 004000
51500 070533 010000 767777
51501 070534 767777 010000
51502 070535 020000 757777
51503 070536 757777 020000
51504 070537 040000 737777
51505 070540 737777 040000
51506 070541 100000 677777
51507 070542 677777 100000
51508 070543 200000 577777
51509 070544 577777 200000
51510 070545 400000 377777
51511 070546 377777 400000
51512 070547 000000 707070
51513 070550 707070 777777
51514 070551 070707 777777
51515 070552 070707 070710
51516 070553 777777 777772
51517 070554 777777 777766
51518 070555 777777 777756
51519 070556 777777 777736
51520 070557 777777 777676
51521 070560 777777 777576
51522 070561 777777 777376
51523 070562 777777 776776
51524 070563 777777 775776
51525 070564 777777 773776
51526 070565 777777 767776
51527 070566 777777 757776
51528 070567 777777 737776
51529 070570 777777 677776
51530 070571 777777 577776
51531 070572 777777 377776
51532 070573 777775 777776
51533 070574 777773 777776
51534 070575 777767 777776
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 1-4
STOR KLM 18-JAN-77 11:42 *STOR* RESERVED STORAGE, JAN 18,1977 SEQ 1182
51535 070576 777757 777776
51536 070577 777737 777776
51537 070600 777677 777776
51538 070601 777577 777776
51539 070602 777377 777776
51540 070603 776777 777776
51541 070604 775777 777776
51542 070605 773777 777776
51543 070606 767777 777776
51544 070607 757777 777776
51545 070610 737777 777776
51546 070611 677777 777776
51547 070612 577777 777776
51548 070613 377777 777776
51549 070614 252525 252525
51550 070615 254 04 0 00 046573
51551 070616 201 01 0 00 050047
51552 070617 201 01 0 00 000001
51553 070620 201 01 0 00 777777
51554 070621 256 00 0 00 070620
51555 070622 256 00 0 00 070621
51556 070623 256 00 0 00 070622
51557 070624 256 00 0 00 070623
51558 070625 200 01 0 00 070254
51559 070626 334 00 0 00 000000
51560 070627 310 00 0 00 000000
51561 070630 201 01 0 00 001234
51562 070631 050454 050453
51563 070632 050463 050462
51564 070633 254 00 0 00 050526
51565 070634 000001 000002
51566 070635 135531 246642
51567 070636 135246 246135
51568 070637 123456 123456
51569 070640 777000 707070
51570 070641 777000 000777
51571 070642 123000 000456
51572 070643 121212 000000
51573 070644 777350 777776
51574 070645 000767 777777
51575 070646 777010 000000
51576 070647 000777 770077
51577 070650 123456 246123
51578 070651 123000 006100
51579 070652 000100 777600
51580 070653 123456 246135
51581 070654 123456 040104
51582 070655 123321 456654
51583 070656 770077 007770
51584 070657 003300 450004
51585 070660 123456 663322
51586 070661 777000 700770
51587 070662 000456 063002
51588 070663 123456 777776
51589 070664 010203 123450
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 1-5
STOR KLM 18-JAN-77 11:42 *STOR* RESERVED STORAGE, JAN 18,1977 SEQ 1183
51590 070665 000777 123456
51591 070666 000777 517067
51592 070667 707077 555666
51593 070670 624421 230254
51594 070671 707070 123456
51595 070672 707070 767577
51596 070673 123456 777666
51597 070674 777001 123470
51598 070675 777457 777676
51599 070676 777000 123456
51600 070677 000777 050321
51601 070700 777007 771100
51602 070701 063202 123477
51603 070702 000570 004200
51604 070703 707070 123426
51605 070704 070707 777032
51606 070705 123456 123457
51607 070706 707633 121212
51608 070707 153512 775132
51609 070710 000777 654321
51610 070711 654321 012345
51611 070712 777000 123477
51612 070713 000777 775701
51613 070714 707070 707072
51614 070715 707777 757372
51615 070716 777777 070707
51616 070717 777777 133777
51617 070720 707070 070706
51618 070721 777777 707777
51619 070722 123456 770077
51620 070723 777001 123324
51621 070724 654777 657753
51622 070725 123456 707070
51623 070726 123456 123422
51624 070727 707070 717171
51625 070730 123422 000000
51626 070731 123456 707076
51627 070732 707076 000000
51628 070733 123456 777777
51629 070734 123456 135724
51630 070735 765432 246135
51631 070736 246135 777777
51632 070737 123123 456765
51633 070740 456765 777777
51634 070741 707076 777777
51635 070742 765432 777777
51636 070743 365432 123456
51637 070744 365432 000000
51638 070745 123456 701234
51639 070746 123123 246135
51640 070747 123123 123123
51641 070750 777777 701234
51642 070751 765432 107654
51643 070752 777777 765432
51644 070753 777777 123456
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 1-6
STOR KLM 18-JAN-77 11:42 *STOR* RESERVED STORAGE, JAN 18,1977 SEQ 1184
51645 070754 076543 654321
51646 070755 076543 654323
51647 070756 076547 654321
51648 070757 123456 701034
51649 070760 123454 701234
51650 070761 252525 707070
51651 070762 020406 501210
51652 070763 654321 076543
51653 070764 754321 076543
51654 070765 023456 701234
51655 070766 076543 657321
51656 070767 120456 701234
51657 070770 121052 000204
51658 070771 701234 123456
51659 070772 654321 076547
51660 070773 123456 701230
51661 070774 077543 654321
51662 070775 123456 700234
51663 070776 123456 701237
51664 070777 123456 701134
51665 071000 123756 701234
51666 071001 123455 701234
51667 071002 624426 553711
51668 071003 774777 777777
51669 071004 371173 006244
51670 071005 123456 701334
51671 071006 123456 070234
51672 071007 123457 070234
51673 071010 123457 701234
51674 071011 373577 707274
51675 071012 176543 654321
51676 071013 000016 541320
51677 071014 000001 000017
51678 071015 312 00 0 00 000001
51679 071016 256 00 0 00 071015
51680 071017 256 00 0 00 071016
51681 071020 254 00 0 00 056716
51682 071021 265 03 0 00 056723
51683 071022 256 00 0 00 071021
51684 071023 256 00 0 00 071022
51685 071024 270 06 0 04 000001
51686 071025 331 01 0 00 000002
51687 071026 331 03 0 00 000006
51688 071027 777776 000005
51689 071030 253 03 0 00 056767
51690 071031 777777 000006
51691 071032 253 03 0 00 056775
51692 071033 000000 000007
51693 071034 172737 405060
51694 071035 525252 525252
51695 071036 230703 603700
51696 071037 023070 360370
51697 071040 007603 607062
51698 071041 200760 360706
51699 071042 074076 004616
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 1-7
STOR KLM 18-JAN-77 11:42 *STOR* RESERVED STORAGE, JAN 18,1977 SEQ 1185
51700 071043 074161 440174
51701 071044 770037 600377
51702 071045 307036 037007
51703 071046 700376 003772
51704 071047 776003 760077
51705 071050 760037 600770
51706 071051 076036 070627
51707 071052 160740 760176
51708 071053 007740 077646
51709 071054 400774 017601
51710 071055 740741 614577
51711 071056 000000 000252
51712 071057 000000 000525
51713 071060 000000 000230
51714 071061 000000 017777
51715 071062 000000 005252
51716 071063 000000 012525
51717 071064 000000 004616
51718 071065 000000 000174
51719 071066 123456 654321
51720 071067 265 00 0 00 070200
51721 071070 265 00 0 00 062523
51722 071071 265 00 0 00 062541
51723 071072 265 00 0 00 062557
51724 071073 265 00 0 00 062575
51725 071074 265 00 0 00 062613
51726 071075 265 00 0 00 062631
51727 071076 265 00 0 00 062647
51728 071077 265 00 0 00 062672
51729 071100 265 00 0 00 062707
51730 071101 265 00 0 00 062724
51731 071102 265 00 0 00 062741
51732 071103 265 00 0 00 062756
51733 071104 265 00 0 00 062773
51734 071105 265 00 0 00 063010
51735 071106 265 00 0 00 063033
51736 071107 265 00 0 00 063047
51737 071110 265 00 0 00 063063
51738 071111 265 00 0 00 063077
51739 071112 265 00 0 00 063113
51740 071113 265 00 0 00 063127
51741 071114 265 00 0 00 063143
51742 071115 265 00 0 00 063173
51743 071116 265 00 0 00 063217
51744 071117 265 00 0 00 063243
51745 071120 265 00 0 00 063267
51746 071121 265 00 0 00 063313
51747 071122 265 00 0 00 063337
51748 071123 265 00 0 00 063363
51749 071124 265 00 0 00 063407
51750 071125 265 00 0 00 063433
51751 071126 265 00 0 00 063457
51752 071127 265 00 0 00 063503
51753 071130 265 00 0 00 063527
51754 071131 265 00 0 00 063553
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 1-8
STOR KLM 18-JAN-77 11:42 *STOR* RESERVED STORAGE, JAN 18,1977 SEQ 1186
51755 071132 265 00 0 00 063577
51756 071133 265 00 0 00 063623
51757 071134 265 00 0 00 063647
51758 071135 265 00 0 00 063673
51759 071136 265 00 0 00 063717
51760 071137 265 00 0 00 063743
51761 071140 265 00 0 00 063767
51762 071141 265 00 0 00 064014
51763 071142 352 00 0 00 000000
51764 071143 265 01 0 00 064037
51765 071144 332 00 0 00 000000
51766 071145 265 01 0 00 064061
51767 071146 265 01 0 00 064103
51768 071147 265 01 0 00 064125
51769 071150 265 01 0 00 064147
51770 071151 265 01 0 00 064171
51771 071152 265 01 0 00 064213
51772 071153 265 01 0 00 064235
51773 071154 265 01 0 00 064257
51774 071155 265 01 0 00 064301
51775 071156 265 01 0 00 064323
51776 071157 265 01 0 00 064345
51777 071160 265 01 0 00 064367
51778 071161 265 01 0 00 064411
51779 071162 265 01 0 00 064426
51780 071163 265 01 0 00 064451
51781 071164 265 01 0 00 064474
51782 071165 265 01 0 00 064517
51783 071166 265 01 0 00 064542
51784 071167 265 01 0 00 064565
51785 071170 265 01 0 00 064610
51786 071171 265 01 0 00 065360
51787 071172 265 01 0 00 065410
51788 071173 265 01 0 00 065440
51789 071174 265 01 0 00 065470
51790 071175 265 01 0 00 065520
51791 071176 265 01 0 00 065550
51792 071177 265 01 0 00 065600
51793 071200 265 01 0 00 065622
51794 071201 265 01 0 00 065646
51795 071202 265 01 0 00 065672
51796 071203 003000 000000
51797 071204 265 01 0 00 065716
51798 071205 265 01 0 00 065742
51799 071206 005000 000000
51800 071207 265 01 0 00 065766
51801 071210 006000 000000
51802 071211 265 01 0 00 066012
51803 071212 007000 000000
51804 071213 265 01 0 00 066036
51805 071214 265 01 0 00 066062
51806 071215 011000 000000
51807 071216 265 01 0 00 066106
51808 071217 012000 000000
51809 071220 265 01 0 00 066132
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 1-9
STOR KLM 18-JAN-77 11:42 *STOR* RESERVED STORAGE, JAN 18,1977 SEQ 1187
51810 071221 013000 000000
51811 071222 265 01 0 00 066156
51812 071223 014000 000000
51813 071224 265 01 0 00 066202
51814 071225 015000 000000
51815 071226 265 01 0 00 066226
51816 071227 016000 000000
51817 071230 265 01 0 00 066252
51818 071231 017000 000000
51819 071232 265 01 0 00 066276
51820 071233 265 01 0 00 066322
51821 071234 021000 000000
51822 071235 265 01 0 00 066346
51823 071236 022000 000000
51824 071237 265 01 0 00 066372
51825 071240 023000 000000
51826 071241 265 01 0 00 066416
51827 071242 024000 000000
51828 071243 265 01 0 00 066442
51829 071244 025000 000000
51830 071245 265 01 0 00 066466
51831 071246 026000 000000
51832 071247 265 01 0 00 066512
51833 071250 027000 000000
51834 071251 265 01 0 00 066536
51835 071252 030000 000000
51836 071253 265 01 0 00 066562
51837 071254 031000 000000
51838 071255 265 01 0 00 066606
51839 071256 032000 000000
51840 071257 265 01 0 00 066632
51841 071260 033000 000000
51842 071261 265 01 0 00 066656
51843 071262 034000 000000
51844 071263 265 01 0 00 066702
51845 071264 035000 000000
51846 071265 265 01 0 00 066726
51847 071266 036000 000000
51848 071267 265 01 0 00 066752
51849 071270 037000 000000
51850 071271 254 00 0 00 066777
51851 071272 254 00 0 00 067016
51852 071273 254 00 0 00 067035
51853 071274 254 00 0 00 067054
51854 071275 254 00 0 00 067073
51855 071276 254 00 0 00 067112
51856 071277 254 00 0 00 067131
51857 071300 254 00 0 00 067150
51858 071301 254 00 0 00 067167
51859 071302 254 00 0 00 067206
51860 071303 254 00 0 00 067225
51861 071304 254 00 0 00 067244
51862 071305 254 00 0 00 067263
51863 071306 254 00 0 00 067302
51864 071307 254 00 0 00 067321
DFKAA PDP-10 KL10 BASIC INSTRUCTION DIAGNOSTIC (1) VER 0,2 MACRO %52(537) 09:34 31-JAN-77 PAGE 1-10
STOR KLM 18-JAN-77 11:42 *STOR* RESERVED STORAGE, JAN 18,1977 SEQ 1188
51865 071310 254 00 0 00 067340
51866 071311 254 00 0 00 067357
51867 071312 254 00 0 00 067376
51868 071313 254 00 0 00 067415
51869 071314 254 00 0 00 067434
51870 071315 254 00 0 00 067453
51871 071316 254 00 0 00 067472
51872 071317 254 00 0 00 067513
51873 071320 254 00 0 00 067526
51874 071321 254 00 0 00 067541
51875 071322 265 11 0 00 067556
51876 071323 254 00 0 00 067554
51877 071324 265 11 0 00 067577
51878 071325 254 00 0 00 067575
51879 071326 265 11 0 00 067620
51880 071327 254 00 0 00 067616
51881 071330 265 11 0 00 067641
51882 071331 254 00 0 00 067637
51883 071332 265 11 0 00 067662
51884 071333 254 00 0 00 067660
51885 071334 265 11 0 00 067703
51886 071335 254 00 0 00 067701
51887 071336 265 11 0 00 067724
51888 071337 254 00 0 00 067722
51889 071340 265 11 0 00 067745
51890 071341 254 00 0 00 067743
51891 071342 254 00 0 00 070005
51892 071343 004000 070060
51893 071344 265 01 0 00 070160
51894 071345 265 01 0 00 070135
51895 LIST
51896 071346 000000 000000 ENDSLD: 0
51897
51898 IFDEF DEBUG,<
51899 PATCH: BLOCK DEBUG ;PATCHING AREA
51900 >
51901
51902 ;PROGRAM VARIABLES
51903 071347 VAR
51904
51905 IFDEF PGMEND,<
51906 071355 000000 000000 END: 0
51907 030000 END BEGIN >
NO ERRORS DETECTED
PROGRAM BREAK IS 000000
ABSLUTE BREAK IS 071356
CPU TIME USED 03:37.242
18K CORE USED
A00 902#
A100 957# SEQ 1189
A1000 1062#
A10000 7692#
A10100 8110#
A10200 8533#
A10300 8553#
A10400 9460#
A10500 9483#
A10600 9504#
A10700 9526#
A1100 1077#
A11000 9578#
A11100 10691#
A11200 11675#
A11300 12576#
A11400 13072#
A11500 13752#
A11600 13771#
A11700 13786#
A1200 1090#
A12000 14454#
A12100 14468#
A12200 14491#
A12300 14509#
A12400 14527#
A12500 903#
A12600 947#
A12700 939#
A1300 1104#
A13000 8567#
A13100 2034#
A13200 10710#
A13300 9544#
A13400 9562#
A13500 13569#
A13600 13586#
A13700 13603#
A1400 1118#
A14000 13619#
A14100 13636#
A14200 13653#
A14300 13669#
A14400 13686#
A14500 13703#
A14600 13719#
A14700 13736#
A1500 1132#
A15000 918#
A15100 929#
A1600 1146#
A1700 1160#
A200 970#
A2000 1174#
A2100 1188# SEQ 1190
A2200 1201#
A2300 1215#
A2400 1229#
A2500 1243#
A2600 1256#
A2700 1270#
A300 984#
A3000 1284#
A3100 1296#
A3200 2001#
A3300 2019#
A3400 2047#
A3500 2072#
A3600 2090#
A3700 2108#
A400 1000#
A4000 2159#
A4100 2175#
A4200 2320#
A4300 2338#
A4400 2356#
A4500 2123#
A4600 2138#
A4700 2375#
A500 1015#
A5000 2391#
A5100 2407#
A5200 2422#
A5300 2439#
A5400 2459#
A5500 2472#
A5600 2832#
A5700 3196#
A600 1034#
A6000 3212#
A6100 3232#
A6200 3250#
A6300 3271#
A6400 3284#
A6500 4353#
A6600 5133#
A6700 5151#
A700 1049#
A7000 5171#
A7100 5188#
A7200 5204#
A7300 5218#
A7400 5958#
A7500 6883#
A7600 7661#
A7700 7678#
ABORT 97#
AC 2173# 2206 2206# 2207 2207# 2209 2210 2211 2235 2235# 2236 2238 2239 2240 SEQ 1191
2264 2264# 2265 2267 2268 2269 2293 2293# 2294 2296 2297 2298 31449# 31450
31455 31456 31458 31459 31461 31462 31464 31465 31467 31468 31470 31471 31473 31474
31476 31477 31479 31480 31482 31483 31484 50817# 50849# 50881# 50913# 50945# 50977# 51009#
51041#
AC0 692#
ALTMGO 451#
AMCLRB 365#
ANXM 365#
APR 789 790 791 42935 43481 43489 43497 43504 43505 43511 43512 43518 43519 43549
43550 43556 43557 43564 43565 43571 43572 43575 43576 43579 43580 43676 43677 43678
43682 43683 45993 46014 46035 46056 46077 46099 46120 46294 46311 46328 46345 46362
46379 46396 47965 48008 48030 48052 48074 48096 48118 48140 48158 48168 48170 48196
48203 48216 48223 48236 48243 48256 48263 48276 48283 48296 48303 48316 48323 48336
48343 48356 48363 48376 48383 48396 48403 48416 48423 48436 48443 48456 48463 48476
48483 48496 48503 48516 48523 48536 48543 48571 48611 48651 48691 48731 48771 48811
AROV 365# 30453 30650 30654
AROVTP 365#
AROVU 365#
AST 566#
ATSIN 567#
B100 14550#
B1000 14690#
B10000 19505#
B10100 19525#
B10200 19541#
B10300 19556#
B10400 19572#
B10500 19588#
B10700 19616#
B1100 14706#
B11000 19631#
B11100 19647#
B11200 19662#
B11300 19678#
B11500 19696#
B11600 19718#
B11700 19741#
B1200 14722#
B12100 19756#
B12200 19773#
B12300 19793#
B12400 19817#
B12500 19833#
B12600 19852#
B12700 19875#
B1300 14743#
B13000 19892#
B13100 19910#
B13200 19926#
B13300 19952#
B13400 19973#
B13600 19991#
B1400 14764# SEQ 1192
B14000 20007#
B14100 20030#
B14200 20052#
B14400 20076#
B14500 20092#
B14600 20110#
B14700 20125#
B1500 14788#
B15000 20149#
B15400 20170#
B15500 20187#
B15600 20208#
B15700 20224#
B1600 14807#
B16000 20246#
B16100 20261#
B16200 20278#
B16300 20304#
B16400 20326#
B16500 20348#
B16600 20363#
B16700 20387#
B1700 15735#
B17000 20403#
B17300 20421#
B17400 20434#
B17700 20448#
B200 14571#
B2000 16400#
B20000 20460#
B20400 20475#
B20600 20490#
B20700 20505#
B2100 17069#
B21000 20525#
B21100 20546#
B21400 20563#
B21500 20597#
B21600 20614#
B21700 20632#
B2200 17448#
B22200 20649#
B22300 20667#
B22400 20690#
B22500 20708#
B22600 20725#
B22700 20744#
B2300 17828#
B23000 20767#
B23200 20788#
B23400 20805#
B23600 20821#
B23700 20838# SEQ 1193
B2400 18303#
B24000 20853#
B24300 20875#
B24400 20897#
B24500 20914#
B24600 20930#
B24700 20946#
B2500 18783#
B25000 20967#
B25100 20984#
B25200 21000#
B25300 21017#
B25400 21033#
B25500 21050#
B25600 21066#
B25700 21083#
B2600 18807#
B26000 21098#
B26100 21115#
B26200 21130#
B26300 21146#
B26500 21167#
B26600 21188#
B26700 21203#
B2700 18827#
B27000 21224#
B27100 21244#
B27200 21260#
B27300 21275#
B27400 21296#
B27500 21311#
B27600 21327#
B27700 21342#
B300 14596#
B3000 18844#
B30000 21358#
B30100 21373#
B30400 21394#
B30500 21409#
B30600 21430#
B30700 21451#
B3100 18860#
B31000 21467#
B31100 21482#
B31200 21498#
B31300 21513#
B31400 21529#
B31500 21544#
B31600 21560#
B31700 21575#
B3200 18875#
B32000 21591#
B32100 21606# SEQ 1194
B32200 21630#
B32300 21645#
B32600 21666#
B32700 21681#
B3300 18896#
B33000 21704#
B33100 21725#
B33200 21741#
B33300 21757#
B33400 21778#
B33500 21799#
B33600 21815#
B33700 21831#
B34000 21852#
B34100 21868#
B34200 21884#
B34300 21899#
B34400 21915#
B34500 21930#
B34600 21946#
B34700 21961#
B3500 18916#
B35000 21977#
B35500 22000#
B35600 22025#
B35700 22042#
B3600 18939#
B36000 22072#
B36100 22088#
B36200 22109#
B36300 22129#
B36400 22150#
B36500 22170#
B36600 22191#
B3700 18953#
B37100 22211#
B37200 22233#
B37300 22254#
B37400 22270#
B37500 22285#
B37600 22301#
B37700 22316#
B400 14617#
B40000 22332#
B40100 22347#
B40200 22363#
B40300 22379#
B40400 22396#
B40700 22412#
B41000 22434#
B41100 22456#
B41200 22473#
B41500 22489# SEQ 1195
B41600 22511#
B42000 22534#
B42200 22551#
B42300 22567#
B42500 22592#
B42700 22607#
B4300 18968#
B43000 22630#
B43100 22652#
B43400 22669#
B43500 22684#
B43600 22707#
B43700 22727#
B4400 18990#
B44000 22750#
B44100 22766#
B44200 22784#
B44300 22801#
B44500 22824#
B44600 22844#
B44700 22861#
B4500 19008#
B45000 22876#
B45100 22892#
B45200 22907#
B45400 22933#
B45500 22961#
B45600 23721#
B45700 24483#
B4600 19032#
B46000 25278#
B4700 19055#
B500 14633#
B5000 19076#
B5100 19102#
B5200 19130#
B5300 19148#
B5500 19164#
B5600 19188#
B5700 19204#
B600 14653#
B6000 19221#
B6100 19242#
B6200 19258#
B6300 19281#
B6400 19303#
B6500 19320#
B6600 19336#
B6700 19353#
B700 14669#
B7000 19369#
B7100 19393#
B7200 19415# SEQ 1196
B7300 19431#
B7400 19446#
B7500 19462#
B7600 19478#
BEGEND 447# 42923 51175
BEGIN 40 41 378# 735 857 51907
BEGIN1 394# 448
BEGIOT 42914#
BELL 570#
BIGPI1 44632#
BIGPI2 44743#
BIGPI3 44854#
BIGPI4 44965#
BIGPI5 45076#
BIGPI6 45187#
BIGPI7 45298#
BIGPIX 45409#
BIGPIY 45520#
BIGPIZ 45631#
BIS 365# 32723 32732 32747 32751 32765 32771 32786 32791 41426 41432 43702 43705
C100 26082#
C1000 27134#
C10000 30668#
C10100 30690#
C10200 30711#
C10300 30733#
C10400 30751#
C10500 30767#
C1100 27476#
C11200 30783#
C11300 30798#
C11400 30812#
C11500 30827#
C11600 30840#
C11700 30854#
C1200 27492#
C12000 30869#
C12100 30886#
C12200 30922#
C12300 30939#
C12301 30976#
C12600 31014#
C12700 31029#
C1300 27947#
C13100 31043#
C13200 31058#
C13300 31073#
C13400 31110#
C13600 31149#
C13700 31169#
C1400 28405#
C14000 31188#
C14100 31212# SEQ 1197
C14200 31231#
C14500 31258#
C14600 31272#
C14700 31287#
C1500 28421#
C15000 31300#
C15100 31314#
C15200 31329#
C15300 31343#
C15400 31357#
C15500 31375#
C15600 31390#
C15700 31405#
C1600 28876#
C16000 31419#
C16100 31434#
C16200 31449#
C16201 31497#
C16202 31534#
C16400 31573#
C16500 31588#
C16600 31602#
C16700 31617#
C1700 29341#
C17000 31633#
C17100 31655#
C17200 31670#
C17300 31686#
C17400 31700#
C17500 31716#
C17600 31732#
C17700 31748#
C200 26098#
C2000 29573#
C20000 31763#
C20100 31779#
C20200 31793#
C20300 31809#
C20400 31831#
C20500 31847#
C20600 31863#
C20700 31879#
C2100 29803#
C21000 31892#
C21100 31910#
C21200 31930#
C21300 31949#
C21400 31969# 31972 31975
C21500 31989# 31993 31995
C21600 32008# 32011 32012
C21700 32024# 32026 32027
C2200 29819#
C22000 32051 32090# SEQ 1198
C22100 32106#
C22200 32121#
C22300 32137#
C22400 32152#
C22500 32168#
C22600 32184#
C22700 32201#
C23000 32220#
C23100 32242#
C23200 32263#
C23300 32287#
C23400 32308#
C23500 32331#
C23600 32352# 32356
C23700 32374#
C2400 29835#
C24000 32394#
C2410 29844#
C24100 32409#
C24200 32426#
C24300 32441#
C24400 32456#
C24500 32470#
C24600 32487#
C24700 32503#
C25000 32521#
C25100 32538#
C25200 32556#
C25300 32573#
C25400 32591#
C25500 32606#
C25600 32619#
C25700 32634#
C26200 32651#
C26300 32669#
C26400 32685#
C26500 32702#
C26600 32721#
C26700 32745#
C2700 29859#
C27000 32763#
C27001 32784#
C2710 29868#
C27100 32804#
C27200 41120#
C27300 41136#
C27400 41150#
C27500 41166#
C27600 41181#
C27700 41198#
C2A 46418#
C2B 46437 46447#
C2C 46474 46484# SEQ 1199
C2D 46511 46521#
C2E 46548 46558#
C2F 46585 46595#
C2G 46622 46632#
C2H 46659 46669#
C2I 46696 46706#
C2J 46733 46743#
C2K 46770 46780#
C2L 46807 46817#
C2M 46844 46854#
C2N 46881 46891#
C2O 46918 46928#
C2P 46955 46965#
C2Q 46992 47002#
C2R 47029 47039#
C2S 47066 47076#
C2T 47103 47113#
C2U 47140 47150#
C2V 47177 47188#
C300 26112#
C3000 29882#
C30000 41214#
C30100 41232#
C30101 41248#
C30200 41265#
C30300 41284#
C30400 41304#
C30500 41325#
C30600 41342#
C3100 29906#
C31000 41359#
C3110 29923#
C31100 41373#
C31400 41393#
C31500 41407#
C31501 41424#
C31502 41445#
C31600 41463#
C31700 41478#
C3200 29937#
C3210 29946#
C32300 41493#
C32400 41508#
C32500 41525#
C32600 41543#
C3300 29961#
C33100 41560#
C33300 41578#
C33310 41588#
C33400 41601#
C33401 41618#
C33500 41636#
C33600 41652# SEQ 1200
C33700 41667#
C33701 41685#
C3400 29977#
C34000 41703#
C34100 41716#
C34200 41728#
C34300 41744#
C34400 41762#
C34500 41779#
C34600 41796#
C34610 41805#
C34700 41818#
C34710 41825#
C3500 29994#
C35000 41838#
C35100 41855#
C35200 41872#
C35300 41889#
C35400 41904#
C35500 41923#
C35600 41948#
C35700 41971#
C3600 30012#
C36000 41993#
C36100 42017#
C36200 42040#
C36300 42064#
C36400 42087#
C36500 42110#
C36600 42132#
C36700 42156#
C3700 30028#
C37000 42179#
C37100 42203#
C37200 42225#
C37300 42247#
C37400 42269#
C37500 42292#
C37600 42314#
C37700 42337#
C400 26127#
C4000 30044#
C40000 42359#
C40100 42381#
C40200 42403#
C40300 42426#
C40400 42448#
C40500 42471#
C40600 42494#
C40700 42518#
C4100 30062#
C41000 42541#
C41100 42565# SEQ 1201
C41200 42588#
C41300 42612#
C41400 42635#
C41500 42659#
C41600 42682#
C41700 42706#
C4200 30078#
C42000 42729#
C42100 42753#
C42200 42776#
C42300 42800#
C42400 42823#
C42500 42847#
C42600 42870#
C42700 42894#
C4300 30096#
C4400 30114#
C4500 30130#
C4600 30145#
C4700 30160#
C500 26144#
C5000 30177#
C50000 32831#
C50100 32856#
C50110 32879#
C50200 32902#
C50300 32917#
C50301 32941#
C50400 32970#
C50401 32994#
C50410 33023#
C50500 33046#
C50501 33060#
C50600 33075#
C50700 33100#
C50710 33124#
C5100 30193#
C51000 33150#
C51100 33166#
C51101 33189#
C51200 33217#
C51201 33240#
C51300 33272#
C51310 33288#
C51320 33304#
C51400 33321#
C51410 33336#
C51420 33352#
C51500 33368#
C51510 33384#
C51520 33399#
C51600 33415#
C51610 33431# SEQ 1202
C51620 33447#
C51700 33462#
C51710 33478#
C51720 33494#
C5200 30209#
C52000 33510#
C52010 33526#
C52020 33543#
C52100 33562#
C52110 33579#
C52120 33594#
C52200 33612#
C52210 33627#
C52220 33644#
C52300 33661#
C52310 33675#
C52320 33688#
C52400 33703#
C52410 33717#
C52420 33731#
C52500 33750#
C52510 33773#
C52520 33796#
C52600 33821#
C52610 33845#
C52620 33869#
C52700 33893#
C52710 33917#
C52720 33940#
C5300 30226#
C53000 33965#
C53010 33988#
C53020 34012#
C53100 34035#
C53110 34060#
C53120 34083#
C53200 34107#
C53210 34130#
C53220 34155#
C53300 34178#
C53310 34203#
C53320 34227#
C53400 34256#
C53401 34289#
C53410 34326#
C53420 34359#
C53500 34393#
C53510 34426#
C53520 34459#
C53600 34492#
C53610 34525#
C53620 34557#
C53700 34591# SEQ 1203
C53710 34623#
C53720 34656#
C5400 30243#
C54000 34688#
C54010 34722#
C54020 34754#
C54100 34787#
C54110 34819#
C54120 34853#
C54200 34885#
C54210 34919#
C54220 34952#
C54300 34986#
C54310 35010#
C54320 35033#
C54400 35058#
C54410 35082#
C54420 35106#
C54500 35130#
C54510 35154#
C54520 35177#
C54600 35202#
C54610 35225#
C54620 35249#
C54700 35272#
C54710 35297#
C54720 35320#
C5500 30260#
C55000 35344#
C55010 35367#
C55020 35391#
C55100 35415#
C55110 35439#
C55120 35464#
C55200 35493#
C55210 35526#
C55211 35559#
C55220 35597#
C55300 35632#
C55310 35666#
C55320 35699#
C55400 35733#
C55410 35766#
C55420 35798#
C55500 35832#
C55510 35863#
C55520 35896#
C55600 35928#
C55610 35962#
C55620 35994#
C55700 36027#
C55710 36059#
C55720 36093# SEQ 1204
C5600 30279#
C56000 36125#
C56010 36159#
C56020 36192#
C56100 36223#
C56200 36245#
C56300 36266#
C56400 36287#
C56500 36307#
C56600 36329#
C56700 36345#
C56701 36369#
C5700 30297#
C57000 36396#
C57001 36419#
C5701 30314#
C5702 30330#
C57100 36446#
C57200 36463#
C57300 36486#
C57400 36509#
C57500 36523#
C57600 36545#
C57700 36567#
C600 26492#
C6000 30350#
C60000 36584#
C60100 36606#
C60200 36630#
C60300 36651#
C60400 36666#
C60500 36688#
C60600 36704#
C60700 36727#
C6100 30367#
C61000 36743#
C61100 36766#
C61200 36790#
C61300 36806#
C61400 36830#
C61500 36853#
C61600 36870#
C61700 36892#
C6200 30384#
C62000 36916#
C62100 36932#
C62200 36956#
C62300 36979#
C62400 36996#
C62500 37019#
C62600 37043#
C62700 37059#
C6300 30405# SEQ 1205
C63000 37083#
C63100 37106#
C63200 37123#
C63300 37146#
C63400 37170#
C63500 37185#
C63600 37208#
C63700 37234#
C6400 30428#
C64000 37251#
C64010 37274#
C64100 37299#
C64110 37324#
C64200 37348#
C64300 37372#
C64310 37398#
C64400 37421#
C64500 37446#
C64510 37471#
C64600 37495#
C64700 37516#
C6500 30451#
C65000 37538#
C65100 37552#
C65200 37579#
C65210 37604#
C65300 37628#
C65400 37652#
C65410 37678#
C65500 37701#
C65600 37726#
C65610 37751#
C65700 37775#
C6600 30470#
C66000 37799#
C66010 37826#
C66100 37851#
C66110 37876#
C66200 37898#
C66300 37914#
C66301 37936#
C66400 37965#
C66410 37990#
C66411 38015#
C66500 38042#
C66600 38068#
C66610 38092#
C66700 38115#
C6700 30490#
C67000 38136#
C67100 38152#
C67200 38176#
C67210 38202# SEQ 1206
C67300 38227#
C67310 38253#
C67400 38278#
C67410 38304#
C67500 38332#
C67510 38354#
C67600 38376#
C67610 38398#
C67700 38419#
C67710 38440#
C700 26847#
C7000 30507#
C70000 38460#
C70010 38481#
C70100 38501#
C70110 38522#
C70200 38543#
C70210 38564#
C70300 38587#
C70310 38617#
C70400 38646#
C70410 38675#
C70500 38698#
C70510 38728#
C70600 38756#
C70610 38779#
C70700 38801#
C70710 38824#
C7100 30528#
C71000 38848#
C71010 38872#
C71100 38896#
C71110 38920#
C71200 38943#
C71210 38966#
C71300 38988#
C71310 39011#
C71400 39034#
C71410 39058#
C71500 39082#
C71510 39106#
C71600 39129#
C71610 39160#
C71700 39192#
C71710 39224#
C7200 30550#
C72000 39256#
C72010 39288#
C72100 39319#
C72110 39355#
C72200 39384#
C72210 39414#
C72300 39445# SEQ 1207
C72310 39477#
C72400 39509#
C72410 39541#
C72500 39570#
C72510 39593#
C72600 39615#
C72610 39638#
C72700 39662#
C72710 39686#
C7300 30574#
C73000 39710#
C73010 39734#
C73100 39757#
C73110 39780#
C73200 39802#
C73210 39825#
C73300 39848#
C73310 39872#
C73400 39896#
C73410 39920#
C73500 39943#
C73510 39974#
C73600 40006#
C73610 40038#
C73700 40070#
C73710 40096#
C7400 30595#
C74000 40126#
C74100 40156#
C74200 40185#
C74210 40215#
C74300 40246#
C74310 40278#
C74400 40310#
C74410 40342#
C74500 40371#
C74510 40394#
C74600 40416#
C74610 40439#
C74700 40463#
C74710 40487#
C7500 30613#
C75000 40511#
C75010 40535#
C75100 40558#
C75110 40581#
C75200 40603#
C75210 40626#
C75300 40649#
C75310 40673#
C75400 40697#
C75410 40721#
C75500 40746# SEQ 1208
C75510 40778#
C75600 40810#
C75610 40842#
C75700 40873#
C75710 40903#
C7600 30628#
C76000 40932#
C76010 40962#
C76100 40993#
C76110 41025#
C76200 41057#
C76210 41089#
C7700 30647#
CCA 365#
CHAIN 117#
CHNOFF 365# 42937 44665 44730 44776 44841 44887 44952 44998 45063 45109 45174 45220 45285
45331 45396 45442 45507 45553 45618 45664 45729
CHNON 365# 44643 44664 44686 44708 44729 44754 44775 44797 44819 44840 44865 44886 44908
44930 44951 44976 44997 45019 45041 45062 45087 45108 45130 45152 45173 45198 45219
45241 45263 45284 45309 45330 45352 45374 45395 45420 45441 45463 45485 45506 45531
45552 45574 45596 45617 45642 45663 45685 45707 45728 46292 46309 46326 46343 46360
46377 46394 46439 46476 46513 46550 46587 46624 46661 46698 46735 46772 46809 46846
46883 46920 46957 46994 47031 47068 47105 47142 47179 47224 47256 47292 47324 47360
47392 47428 47460 47496 47528 47564 47596 47632 47664 47708 47713 47744 47749 47780
47785 47816 47821 47852 47857 47888 47893 47924 47929 47964 48007 48029 48051 48073
48095 48117 48139 48157 48195 48215 48235 48255 48275 48295 48315 48335 48355 48375
48395 48415 48435 48455 48475 48495 48515 48535
CKCK0 47959#
CKCK1 47981#
CKI01 46149 46158#
CKI02 46167 46176#
CKI03 46185 46194#
CKI04 46203 46212#
CKI05 46221 46230#
CKI06 46239 46248#
CKI07 46257 46266#
CLK 365#
CLKCLR 365#
CLKDIS 365# 43654
CLKENB 365# 43655
CLKU 365#
CLOCKF 433#
CNTLC 450#
CNTRP 365#
COMMA 559#
CONSW 434#
COUNTX 48564# 48564 48585 48604# 48604 48625 48644# 48644 48665 48684# 48684 48705 48724# 48724
48745 48764# 48764 48785 48804# 48804 48825
CPOPJ 454#
CPOPJ1 452#
CRLF 246 247 554#
CRLF2 250 251 556#
CRY0 365# 30387 30530 30671 30675 32222 32244 32265 32289 32310 41267 41286 41306 41375 SEQ 1209
41380
CRY1 365# 30472 30693 30697
CSHFLG 613#
CSHMEM 614#
CTRP 365#
CYCL60 607#
DCK 365# 31214 31218 31233 31242
DDT 694#
DDTLNK 131# 392
DDTSRT 392#
DEBUG 51898
DECVER 5# 12 27 413
DF22F 518#
DIAGMN 381#
DIAGNO 693#
DIAMON 695#
DING 103#
DOLLAR 573#
DONG11 696# 836 852
DSKUPD 418
DTE 700# 836 838 852 854
DTE0 701#
DTE1 702#
DTE2 703#
DTE3 704#
E217 32061# 32091
E217A 32061 32064# 32092 32123
E220 32062# 32107
E220A 32062 32067#
E220B 32063# 32067 32108
E221 32068# 32068 32070 32122
E221A 32064 32069#
E221B 32065# 32069
E222 32070# 32138 32139
E222A 32066# 32075
E223 32078# 32078 32153 32169 32202
E223A 32071# 32082 32154
E224A 32072# 32072 32170
E225 32074# 32074 32185
E225A 32076 32079#
E225B 32077# 32079 32186
E226A 32083# 32083
E226B 32081# 32084 32203
E50301 32943 32944 32952 32961#
E50401 32996 32997 33005 33014#
E51101 33191 33192 33200 33209#
E51201 33242 33243 33250 33259#
E53401 34291 34292 34299 34314#
E55211 35561 35562 35570 35585#
E56701 36370 36372 36379 36388#
E57001 36421 36422 36429 36438#
E66301 37938 37939 37946 37955#
E66411 38017 38018 38026 38035# SEQ 1210
EFIELD 50129# 50158# 50187# 50216# 50245# 50274# 50303# 50332# 50361# 50390# 50419# 50448# 50477# 50506#
50535# 50564# 50593# 50622# 50651# 50679# 50707# 50735#
END 51906#
ENDFIX 687#
ENDIT 51134 51149 51174#
ENDSLD 51896#
ERMORE 467#
ERRPC 438#
ERRTLS 439#
ERSTOP 106#
EXCASB 34# 416
EXCMEM 365#
EXCPFW 365#
EXIOT 365# 51138 51163
FOV 365# 30492 30509 30552 30714 30718 31151
FOVU 365#
FRDLNK 129#
FSELNK 128#
FXU 365# 31171 31175 31190 31199
HALTPI 42932 51194# 51206
HLTCK 51197 51250#
HYPEN 564#
IADBRK 365#
IADEXC 365#
IADSTP 365#
IADUSR 365#
IAPRC1 365#
IAPRE1 365#
IASRTC 365#
IASRTE 365#
IASRTS 365#
ICNSLL 365#
ICNSLR 365#
IDATAF 365#
IEVNPR 365#
IFMMAN 365#
IINSTF 365#
IIOPFC 365#
IIOPFL 365#
IMAINT 365#
IMGINM 365#
IMGNLO 365#
IMGNOF 365#
IMGNON 365#
IMIPGD 365#
IMLAPD 365#
INHCSH 114#
INHPAG 111#
INXCLR 365#
INXM 365#
INXSTP 365#
IOCLR 365# 48158
IOT0 42921 43284# SEQ 1211
IOT1 43293#
IOT10 43405#
IOT11 43418#
IOT12 43436#
IOT13 43443#
IOT14 43445#
IOT15 43456#
IOT15A 43464#
IOT16 43472#
IOT16A 43480#
IOT17 43488#
IOT17A 43496#
IOT18 43503#
IOT18A 43526#
IOT19 43533#
IOT2 43300#
IOT20 43541#
IOT21 43549#
IOT22 43556#
IOT23 43564#
IOT24 43598#
IOT25 43617#
IOT26 43635#
IOT27 43654#
IOT28 43662#
IOT29 43674#
IOT3 43307#
IOT30 43682#
IOT31 43701#
IOT31A 43653 43675 43689#
IOT32 43715#
IOT33B 43716 43719#
IOT34 43727#
IOT35 43734#
IOT36 43742#
IOT38 43756#
IOT39 43763#
IOT4 43314#
IOT40 43771#
IOT41 43778#
IOT42 43785#
IOT43 43792#
IOT44 43800#
IOT45 43807#
IOT46 43815#
IOT47 43822#
IOT48 43830#
IOT49 43837#
IOT5 43320#
IOT50 43845#
IOT51 43852#
IOT6 43331#
IOT7 43349# SEQ 1212
IOT8 43366#
IOT9 43385#
IOTXX 43283#
IOTXXX 43281#
IOTXYZ 43860#
IP50HZ 365#
IPAREN 365#
IPARER 365#
IPRSTP 365#
IPWRFL 365#
IPWRLO 365#
IRQCLR 365#
ISPDOF 365#
ISPDON 365#
ITERAT 86# 411
ITMDIS 365#
ITMENB 365#
ITMOEN 365#
ITMOUT 365#
ITMSET 365#
ITRCH1 471#
ITRCNT 411# 781 810 814 822 823 827
IWRITE 365#
JENDIS 47691#
JOB41 365#
JOBAPR 365#
JOBCNI 365#
JOBDDT 365#
JOBFF 365#
JOBOPC 365#
JOBREL 365#
JOBREN 365#
JOBSA 365#
JOBSYM 365#
JOBTPC 365#
JOBUSY 365#
JOBUUO 365#
JOBVER 365#
KA10 365
KAHZ50 119#
KAIFLG 428#
KI10 36# 365
KL10 37# 365
KL10P0 38# 365
KLFLG 429# 783 801 820
KLOLD 326
KLTYP 645# 782 793 835 837 851 853
KNTRP 365#
KTRP 365#
LAPRAL 365#
LAPRP1 365# 45993
LAPRP2 365# 46014
LAPRP3 365# 46035 SEQ 1213
LAPRP4 365# 46056
LAPRP5 365# 46077
LAPRP6 365# 46099
LAPRP7 365# 46120
LAROVT 365#
LAST 42927# 43314 43315 43320 43321 43349 43350 43366 43367 43386 43419 43437 43703 48197
48217 48237 48257 48277 48297 48317 48337 48357 48377 48397 48417 48437 48457 48477
48497 48517 48537
LCADEN 365#
LCADRP 365#
LCASDE 365#
LCASLD 365#
LCASLO 365#
LCASWB 365#
LCASWD 365# 43483 43552
LCCAER 365# 42936
LCCASD 365# 42935 43550
LCHNOF 365#
LCHNON 365#
LCIOPF 365# 42935 43565
LCNTRP 365# 51087
LCNTXT 365#
LCNXER 365# 42935 43576
LCPAER 365# 42935 43572
LCPWRF 365# 42935 43557
LCSAER 365# 42936
LCSBER 365# 42935 43580
LCSLOA 365#
LCSLOO 365#
LCTRP 365# 51088
LCWSX 365#
LDATAF 365#
LDCAER 365# 42936
LDCASD 365# 42936 48009 48031 48053 48075 48097 48119 48141
LDEXCB 365#
LDIOPF 365# 42936 48008 48030 48052 48074 48096 48118 48140
LDLNK 130# 381 383
LDNXER 365# 42936 48008 48030 48052 48074 48096 48118 48140
LDPAER 365# 42936 48008 48030 48052 48074 48096 48118 48140
LDPWRF 365# 42936 48008 48030 48052 48074 48096 48118 48140
LDSAER 365# 42936
LDSBER 365# 42935 48008 48030 48052 48074 48096 48118 48140
LDUSRB 365#
LEBXMH 365#
LEBXML 365#
LECAER 365#
LECASD 365# 46077 47966
LEIOPF 365# 46056 47965
LENXER 365# 45993 47965
LEPAER 365# 46035 47965
LEPWRF 365# 46099 46120 47965
LESAER 365#
LESBER 365# 46014 46294 46311 46328 46345 46362 46379 46396 47965 48571 48611 48651 48691 SEQ 1214
48731 48771 48811
LEUPFW 365#
LEVNCD 365#
LEVNPA 365#
LEVNPD 365#
LEXCMP 365#
LFLGCL 365#
LFLGDS 365#
LFLGEN 365#
LFLGST 365#
LFP 568#
LINSTF 365#
LINT 365#
LIOCLR 365# 42935
LIOPFE 365# 43499 43567
LIP 365#
LKNTRP 365# 51083
LKTRP 365# 51084
LLACBL 365#
LLDUSB 365#
LLPRCN 365#
LMBXMH 365#
LMBXML 365#
LMUUO 365# 51091 51092 51107 51111
LMUUOP 365#
LNXMEN 365#
LNXMER 365# 43513 43578
LOOPER 105#
LPAREN 365#
LPARER 365# 43506 43574
LPDOVT 365#
LPFWPC 365#
LPGFTR 365#
LPICH1 365#
LPICH2 365#
LPICH3 365#
LPICH4 365#
LPICH5 365#
LPICH6 365#
LPICH7 365#
LPICHA 365#
LPICLR 365#
LPIIP1 365#
LPIIP2 365#
LPIIP3 365#
LPIIP4 365#
LPIIP5 365#
LPIIP6 365#
LPIIP7 365#
LPIOFF 365#
LPION 365#
LPNTRP 365# 51089
LPRCH1 365# SEQ 1215
LPRCH2 365#
LPRCH3 365#
LPRCH4 365#
LPRCH5 365#
LPRCH6 365#
LPRCH7 365#
LPRFMH 365#
LPRFML 365#
LPTRP 365# 51090
LPWRFE 365#
LPWRFL 365# 43491 43559
LREQSE 365#
LRQCLR 365# 42937 47713 47749 47785 47821 47857 47893 47929
LSADEN 365#
LSADRP 365#
LSBSEN 365#
LSBUSE 365# 43520 43582
LSCAER 365#
LSCASD 365# 43481 43549 46077 47966 48009 48031 48053 48075 48097 48119 48141
LSECMO 365#
LSIOPF 365# 43497 43564 46056 47965 48008 48030 48052 48074 48096 48118 48140
LSMODE 365#
LSNTRP 365# 51085
LSNXER 365# 43511 43575 45993 47965 48008 48030 48052 48074 48096 48118 48140
LSPAER 365# 43504 43571 46035 47965 48008 48030 48052 48074 48096 48118 48140
LSPWRF 365# 43489 43556 46099 46120 47965 48008 48030 48052 48074 48096 48118 48140
LSSAER 365#
LSSBER 365# 43518 43579 46014 46294 46311 46328 46345 46362 46379 46396 47965 48008 48030
48052 48074 48096 48118 48140 48571 48611 48651 48691 48731 48771 48811
LSTRP 365# 51086
LTBASH 365#
LTBASL 365#
LTRP3T 365#
LTRPAE 365#
LTRPEN 365#
LUSCMP 365#
LUUO 365#
LUUO1 498 499
LUUO10 498 503
LUUO11 498 503
LUUO12 498 504
LUUO13 498 504
LUUO14 498 505
LUUO15 498 505
LUUO16 498 506
LUUO17 498 506
LUUO2 498 500
LUUO20 498 507
LUUO21 498 507
LUUO22 498 508
LUUO23 498 508
LUUO24 498 509
LUUO25 498 509 SEQ 1216
LUUO26 498 510
LUUO27 498 510
LUUO3 498 500
LUUO30 498 511
LUUO31 498 511
LUUO32 498 512
LUUO33 498 512
LUUO4 498 501
LUUO5 498 501
LUUO6 498 502
LUUO7 498 502
LUUOI 365#
LWRITE 365#
MACHTP 51273# 51290 51291 51292 51293 51294 51295 51296 51297
MAPNEW 519#
MARGIN 441# 43674
MCNVER 4# 12 27 413
MEMLOW 521#
MEMMAP 419
MEMSIZ 522#
MEMTOT 520#
MINUS 563#
MLUUO 48853# 48894# 48935# 48976# 49017# 49058# 49099# 49140# 49181# 49222# 49263# 49304# 49345# 49386#
49427# 49468# 49509# 49550# 49591# 49632# 49673# 49714# 49755# 49796# 49837# 49878# 49919# 49960#
50001# 50042# 50083#
MODDVC 113#
MODDVL 40# 311 414
MODDVU 41# 312 415
MODLNK 132# 378
MONCTL 431# 830 868
MONFLG 430# 775 864 42918 46000 46021 46042 46063 46084 46106 46127 46159 46177 46195
46213 46231 46249 46267 46301 46318 46335 46352 46369 46386 46403 46429 46466 46503
46540 46577 46614 46651 46688 46725 46762 46799 46836 46873 46910 46947 46984 47021
47058 47095 47132 47169 51133 51148 51243
MONTEN 432# 780 816 845
MPVU 365#
MUHLT 51093 51099#
MULT0 46392 46402#
MULT1 46375 46385#
MULT2 46358 46368#
MULT3 46341 46351#
MULT4 46324 46334#
MULT5 46307 46317#
MULT6 46290 46300#
MULTI 46285#
MUUO 365#
MUUOPC 365#
NB5300 19122#
NOPNT 101#
NXMU 365#
OPRSEL 115#
OPTIME 533#
P 158 159 160 161 365# 453 SEQ 1217
PAG 365#
PALERS 107#
PARCLR 365#
PARDIS 365#
PAREA0 79#
PAREA1 80# 409
PAREA2 81# 410
PAREA3 82# 407
PAREA4 83# 408
PAREA5 84# 420
PAREA6 85# 421
PAREA7 420#
PAREA8 421#
PARENB 365#
PARU 365#
PASCNT 435# 809
PDISF 530#
PDLOVU 365#
PDOVTP 365#
PERIOD 560#
PFSTRT 387#
PGFTRP 365#
PGMEND 39# 51905
PGMNAM 412 869 872#
PI 822 42937 43445 43720 43727 43728 43734 43735 43736 43756 43757 43763 43764 43771
43772 43778 43779 43780 43785 43786 43792 43793 43794 43800 43801 43807 43808 43809
43815 43816 43822 43823 43824 43830 43831 43837 43838 43839 43845 43846 43852 43853
43854 43884 43888 43912 43916 43940 43944 43968 43972 43996 44000 44024 44028 44052
44056 44099 44103 44131 44135 44163 44167 44195 44199 44227 44231 44259 44263 44291
44295 44347 44349 44389 44391 44431 44433 44473 44475 44515 44517 44557 44559 44599
44601 44643 44644 44664 44665 44666 44686 44687 44688 44708 44709 44729 44730 44731
44754 44755 44775 44776 44777 44797 44798 44799 44819 44820 44840 44841 44842 44865
44866 44886 44887 44888 44908 44909 44910 44930 44931 44951 44952 44953 44976 44977
44997 44998 44999 45019 45020 45021 45041 45042 45062 45063 45064 45087 45088 45108
45109 45110 45130 45131 45132 45152 45153 45173 45174 45175 45198 45199 45219 45220
45221 45241 45242 45243 45263 45264 45284 45285 45286 45309 45310 45330 45331 45332
45352 45353 45354 45374 45375 45395 45396 45397 45420 45421 45441 45442 45443 45463
45464 45465 45485 45486 45506 45507 45508 45531 45532 45552 45553 45554 45574 45575
45576 45596 45597 45617 45618 45619 45642 45643 45663 45664 45665 45685 45686 45687
45707 45708 45728 45729 45730 45772 45776 45777 45803 45807 45808 45834 45838 45839
45865 45869 45870 45896 45900 45901 45927 45931 45932 45958 45962 45963 45992 46013
46034 46055 46076 46098 46119 46151 46169 46187 46205 46223 46241 46259 46292 46309
46326 46343 46360 46377 46394 46439 46440 46476 46477 46513 46514 46550 46551 46587
46588 46624 46625 46661 46662 46698 46699 46735 46736 46772 46773 46809 46810 46846
46847 46883 46884 46920 46921 46957 46958 46994 46995 47031 47032 47068 47069 47105
47106 47142 47143 47179 47180 47224 47256 47292 47324 47360 47392 47428 47460 47496
47528 47564 47596 47632 47664 47708 47713 47715 47744 47749 47751 47780 47785 47787
47816 47821 47823 47852 47857 47859 47888 47893 47895 47924 47929 47931 47964 48007
48029 48051 48073 48095 48117 48139 48157 48159 48169 48195 48198 48215 48218 48235
48238 48255 48258 48275 48278 48295 48298 48315 48318 48335 48338 48355 48358 48375
48378 48395 48398 48415 48418 48435 48438 48455 48458 48475 48478 48495 48498 48515
48518 48535 48538 48570 48610 48650 48690 48730 48770 48810
PICHN1 365# SEQ 1218
PICHN2 365#
PICHN3 365#
PICHN4 365#
PICHN5 365#
PICHN6 365#
PICHN7 365#
PICHNA 365#
PICLR 365# 42937 44349 44391 44433 44475 44517 44559 44601 44687 44798 44909 45020 45131
45242 45353 45464 45575 45686 45776 45807 45838 45869 45900 45931 45962 48169
PIOFF 365# 42937
PION 365# 43884 43912 43940 43968 43996 44024 44052 45772 45803 45834 45865 45896 45927
45958 46292 46309 46326 46343 46360 46377 46394 46439 46476 46513 46550 46587 46624
46661 46698 46735 46772 46809 46846 46883 46920 46957 46994 47031 47068 47105 47142
47179 47224 47256 47292 47324 47360 47392 47428 47460 47496 47528 47564 47596 47632
47664 47708 47713 47744 47749 47780 47785 47816 47821 47852 47857 47888 47893 47924
47929 47964 48007 48029 48051 48073 48095 48117 48139 48157 48159 48195 48215 48235
48255 48275 48295 48315 48335 48355 48375 48395 48415 48435 48455 48475 48495 48515
48535
PIOT00 43869#
PIOT01 44079#
PIOT02 44319#
PIOT03 45755#
PLIST 599# 599
PLISTE 599 601# 685
PLISTS 600#
PLUS 565#
PNTENB 529#
PNTEXT 408#
PNTFLG 528#
PNTINH 531#
PNTLPT 102#
PNTNAM 407#
PNTRP 365#
PNTSPC 532#
PTRP 365#
PVPAGI 626#
PWFCLR 365#
QUEST 571#
RADIX 574#
RADLSC 576#
RADLSP 575#
RANDBS 409#
REENTR 389#
RELIAB 109#
REPT 365#
REPT1 365#
REPTU 487#
REQSET 365# 44099 44131 44163 44195 44227 44259 44291 44347 44389 44431 44473 44515 44557
44599 45772 45803 45834 45865 45896 45927 45958 46440 46477 46514 46551 46588 46625
46662 46699 46736 46773 46810 46847 46884 46921 46958 46995 47032 47069 47106 47143
47180 47224 47256 47292 47324 47360 47392 47428 47460 47496 47528 47564 47596 47632
47664 47708 47744 47780 47816 47852 47888 47924
RESET1 48154# SEQ 1219
RESET2 48165#
RESET3 48176#
RESRT1 464#
RESRT2 465#
RETURN 396# 818 825 846
RSTART 98#
RTP 569#
RUNFLG 436#
SADR1 67# 385
SADR10 76# 401
SADR11 77# 402
SADR2 68# 387
SADR3 69# 389
SADR4 70#
SADR5 71# 450
SADR6 72# 451
SADR7 73# 398
SADR8 74# 399
SADR9 75# 400
SBINIT 171 395#
SCOPE 488#
SENSE1 365#
SENSE2 365#
SENSE3 365#
SENSE4 365#
SENSE5 365#
SENSE6 365#
SFSTRT 385#
SKIPNO 47203#
SLASH 572#
SMLUSR 365#
SN 1293# 1318 1318# 1337 1337# 1356 1356# 1375 1375# 1394 1394# 1413 1413# 1432
1432# 1451 1451# 1470 1470# 1489 1489# 1508 1508# 1527 1527# 1546 1546# 1565
1565# 1584 1584# 1603 1603# 1622 1622# 1641 1641# 1660 1660# 1679 1679# 1698
1698# 1717 1717# 1736 1736# 1755 1755# 1774 1774# 1793 1793# 1812 1812# 1831
1831# 1850 1850# 1869 1869# 1888 1888# 1907 1907# 1926 1926# 1945 1945# 1964
1964# 1983 1983# 2172# 2205 2205# 2234 2234# 2263 2263# 2292 2292# 2469# 2493
2493# 2512 2512# 2531 2531# 2550 2550# 2569 2569# 2588 2588# 2607 2607# 2626
2626# 2645 2645# 2664 2664# 2683 2683# 2702 2702# 2721 2721# 2740 2740# 2759
2759# 2778 2778# 2797 2797# 2816 2816# 2830# 2854 2854# 2873 2873# 2892 2892#
2911 2911# 2930 2930# 2949 2949# 2968 2968# 2987 2987# 3006 3006# 3025 3025#
3044 3044# 3063 3063# 3082 3082# 3101 3101# 3120 3120# 3139 3139# 3158 3158#
3177 3177# 3281# 3314 3314# 3343 3343# 3372 3372# 3401 3401# 3430 3430# 3459
3459# 3488 3488# 3517 3517# 3546 3546# 3575 3575# 3604 3604# 3633 3633# 3662
3662# 3691 3691# 3720 3720# 3749 3749# 3778 3778# 3807 3807# 3836 3836# 3865
3865# 3894 3894# 3923 3923# 3952 3952# 3981 3981# 4010 4010# 4039 4039# 4068
4068# 4097 4097# 4126 4126# 4155 4155# 4184 4184# 4213 4213# 4242 4242# 4271
4271# 4300 4300# 4329 4329# 4350# 4376 4376# 4397 4397# 4418 4418# 4439 4439#
4460 4460# 4481 4481# 4502 4502# 4523 4523# 4544 4544# 4565 4565# 4586 4586#
4607 4607# 4628 4628# 4649 4649# 4670 4670# 4691 4691# 4712 4712# 4733 4733#
4754 4754# 4775 4775# 4796 4796# 4817 4817# 4838 4838# 4859 4859# 4880 4880#
4901 4901# 4922 4922# 4943 4943# 4964 4964# 4985 4985# 5006 5006# 5027 5027#
5048 5048# 5069 5069# 5090 5090# 5111 5111# 5215# 5240 5240# 5260 5260# 5280 SEQ 1220
5280# 5300 5300# 5320 5320# 5340 5340# 5360 5360# 5380 5380# 5400 5400# 5420
5420# 5440 5440# 5460 5460# 5480 5480# 5500 5500# 5520 5520# 5540 5540# 5560
5560# 5580 5580# 5600 5600# 5620 5620# 5640 5640# 5660 5660# 5680 5680# 5700
5700# 5720 5720# 5740 5740# 5760 5760# 5780 5780# 5800 5800# 5820 5820# 5840
5840# 5860 5860# 5880 5880# 5900 5900# 5920 5920# 5940 5940# 5955# 5985 5985#
6010 6010# 6035 6035# 6060 6060# 6085 6085# 6110 6110# 6135 6135# 6160 6160#
6185 6185# 6210 6210# 6235 6235# 6260 6260# 6285 6285# 6310 6310# 6335 6335#
6360 6360# 6385 6385# 6410 6410# 6435 6435# 6460 6460# 6485 6485# 6510 6510#
6535 6535# 6560 6560# 6585 6585# 6610 6610# 6635 6635# 6660 6660# 6685 6685#
6710 6710# 6735 6735# 6760 6760# 6785 6785# 6810 6810# 6835 6835# 6860 6860#
6880# 6908 6908# 6929 6929# 6950 6950# 6971 6971# 6992 6992# 7013 7013# 7034
7034# 7055 7055# 7076 7076# 7097 7097# 7118 7118# 7139 7139# 7160 7160# 7181
7181# 7202 7202# 7223 7223# 7244 7244# 7265 7265# 7286 7286# 7307 7307# 7328
7328# 7349 7349# 7370 7370# 7391 7391# 7412 7412# 7433 7433# 7454 7454# 7475
7475# 7496 7496# 7517 7517# 7538 7538# 7559 7559# 7580 7580# 7601 7601# 7622
7622# 7643 7643# 7689# 7718 7718# 7740 7740# 7762 7762# 7784 7784# 7806 7806#
7828 7828# 7850 7850# 7872 7872# 7894 7894# 7916 7916# 7938 7938# 7960 7960#
7982 7982# 8004 8004# 8026 8026# 8048 8048# 8070 8070# 8092 8092# 8107# 8136
8136# 8158 8158# 8180 8180# 8202 8202# 8224 8224# 8246 8246# 8268 8268# 8290
8290# 8312 8312# 8334 8334# 8356 8356# 8378 8378# 8400 8400# 8422 8422# 8444
8444# 8466 8466# 8488 8488# 8510 8510# 8564# 8596 8596# 8620 8620# 8644 8644#
8668 8668# 8692 8692# 8716 8716# 8740 8740# 8764 8764# 8788 8788# 8812 8812#
8836 8836# 8860 8860# 8884 8884# 8908 8908# 8932 8932# 8956 8956# 8980 8980#
9004 9004# 9028 9028# 9052 9052# 9076 9076# 9100 9100# 9124 9124# 9148 9148#
9172 9172# 9196 9196# 9220 9220# 9244 9244# 9268 9268# 9292 9292# 9316 9316#
9340 9340# 9364 9364# 9388 9388# 9412 9412# 9436 9436# 9575# 9615 9615# 9645
9645# 9675 9675# 9705 9705# 9735 9735# 9765 9765# 9795 9795# 9825 9825# 9855
9855# 9885 9885# 9915 9915# 9945 9945# 9975 9975# 10005 10005# 10035 10035# 10065
10065# 10095 10095# 10125 10125# 10155 10155# 10185 10185# 10215 10215# 10245 10245# 10275
10275# 10305 10305# 10335 10335# 10365 10365# 10395 10395# 10425 10425# 10455 10455# 10485
10485# 10515 10515# 10545 10545# 10575 10575# 10605 10605# 10635 10635# 10665 10665# 10707#
10743 10743# 10769 10769# 10795 10795# 10821 10821# 10847 10847# 10873 10873# 10899 10899#
10925 10925# 10951 10951# 10977 10977# 11003 11003# 11029 11029# 11055 11055# 11081 11081#
11107 11107# 11133 11133# 11159 11159# 11185 11185# 11211 11211# 11237 11237# 11263 11263#
11289 11289# 11315 11315# 11341 11341# 11367 11367# 11393 11393# 11419 11419# 11445 11445#
11471 11471# 11497 11497# 11523 11523# 11549 11549# 11575 11575# 11601 11601# 11627 11627#
11653 11653# 11672# 11706 11706# 11731 11731# 11756 11756# 11781 11781# 11806 11806# 11831
11831# 11856 11856# 11881 11881# 11906 11906# 11931 11931# 11956 11956# 11981 11981# 12006
12006# 12031 12031# 12056 12056# 12081 12081# 12106 12106# 12131 12131# 12156 12156# 12181
12181# 12206 12206# 12231 12231# 12256 12256# 12281 12281# 12306 12306# 12331 12331# 12356
12356# 12381 12381# 12406 12406# 12431 12431# 12456 12456# 12481 12481# 12506 12506# 12531
12531# 12556 12556# 12572# 12608 12608# 12634 12634# 12660 12660# 12686 12686# 12712 12712#
12738 12738# 12764 12764# 12790 12790# 12816 12816# 12842 12842# 12868 12868# 12894 12894#
12920 12920# 12946 12946# 12972 12972# 12998 12998# 13024 13024# 13050 13050# 13068# 13104
13104# 13130 13130# 13156 13156# 13182 13182# 13208 13208# 13234 13234# 13260 13260# 13286
13286# 13312 13312# 13338 13338# 13364 13364# 13390 13390# 13416 13416# 13442 13442# 13468
13468# 13494 13494# 13520 13520# 13546 13546# 13783# 13805 13805# 13823 13823# 13841 13841#
13859 13859# 13877 13877# 13895 13895# 13913 13913# 13931 13931# 13949 13949# 13967 13967#
13985 13985# 14003 14003# 14021 14021# 14039 14039# 14057 14057# 14075 14075# 14093 14093#
14111 14111# 14129 14129# 14147 14147# 14165 14165# 14183 14183# 14201 14201# 14219 14219#
14237 14237# 14255 14255# 14273 14273# 14291 14291# 14309 14309# 14327 14327# 14345 14345#
14363 14363# 14381 14381# 14399 14399# 14417 14417# 14435 14435# 14804# 14838 14838# 14865
14865# 14892 14892# 14919 14919# 14946 14946# 14973 14973# 15000 15000# 15027 15027# 15054 SEQ 1221
15054# 15081 15081# 15108 15108# 15135 15135# 15162 15162# 15189 15189# 15216 15216# 15243
15243# 15270 15270# 15297 15297# 15344 15344# 15366 15366# 15388 15388# 15410 15410# 15432
15432# 15454 15454# 15476 15476# 15498 15498# 15520 15520# 15542 15542# 15564 15564# 15586
15586# 15608 15608# 15630 15630# 15652 15652# 15674 15674# 15696 15696# 15718 15718# 15732#
15754 15754# 15772 15772# 15790 15790# 15808 15808# 15826 15826# 15844 15844# 15862 15862#
15880 15880# 15898 15898# 15916 15916# 15934 15934# 15952 15952# 15970 15970# 15988 15988#
16006 16006# 16024 16024# 16042 16042# 16060 16060# 16078 16078# 16096 16096# 16114 16114#
16132 16132# 16150 16150# 16168 16168# 16186 16186# 16204 16204# 16222 16222# 16240 16240#
16258 16258# 16276 16276# 16294 16294# 16312 16312# 16330 16330# 16348 16348# 16366 16366#
16384 16384# 16397# 16419 16419# 16437 16437# 16455 16455# 16473 16473# 16491 16491# 16509
16509# 16527 16527# 16545 16545# 16563 16563# 16581 16581# 16599 16599# 16617 16617# 16635
16635# 16653 16653# 16671 16671# 16689 16689# 16707 16707# 16725 16725# 16743 16743# 16761
16761# 16779 16779# 16797 16797# 16815 16815# 16833 16833# 16851 16851# 16869 16869# 16887
16887# 16905 16905# 16923 16923# 16941 16941# 16959 16959# 16977 16977# 16995 16995# 17013
17013# 17031 17031# 17049 17049# 17066# 17091 17091# 17111 17111# 17131 17131# 17151 17151#
17171 17171# 17191 17191# 17211 17211# 17231 17231# 17251 17251# 17271 17271# 17291 17291#
17311 17311# 17331 17331# 17351 17351# 17371 17371# 17391 17391# 17411 17411# 17431 17431#
17445# 17470 17470# 17490 17490# 17510 17510# 17530 17530# 17550 17550# 17570 17570# 17590
17590# 17610 17610# 17630 17630# 17650 17650# 17670 17670# 17690 17690# 17710 17710# 17730
17730# 17750 17750# 17770 17770# 17790 17790# 17810 17810# 17824# 17858 17858# 17883 17883#
17908 17908# 17933 17933# 17958 17958# 17983 17983# 18008 18008# 18033 18033# 18058 18058#
18083 18083# 18108 18108# 18133 18133# 18158 18158# 18183 18183# 18208 18208# 18233 18233#
18258 18258# 18283 18283# 18299# 18333 18333# 18358 18358# 18383 18383# 18408 18408# 18433
18433# 18458 18458# 18483 18483# 18508 18508# 18533 18533# 18558 18558# 18583 18583# 18608
18608# 18633 18633# 18658 18658# 18683 18683# 18708 18708# 18733 18733# 18758 18758# 22958#
22983 22983# 23003 23003# 23023 23023# 23043 23043# 23063 23063# 23083 23083# 23103 23103#
23123 23123# 23143 23143# 23163 23163# 23183 23183# 23203 23203# 23223 23223# 23243 23243#
23263 23263# 23283 23283# 23303 23303# 23323 23323# 23362 23362# 23382 23382# 23402 23402#
23422 23422# 23442 23442# 23462 23462# 23482 23482# 23502 23502# 23522 23522# 23542 23542#
23562 23562# 23582 23582# 23602 23602# 23622 23622# 23642 23642# 23662 23662# 23682 23682#
23702 23702# 23720# 23743 23743# 23763 23763# 23783 23783# 23803 23803# 23823 23823# 23843
23843# 23863 23863# 23883 23883# 23903 23903# 23923 23923# 23943 23943# 23963 23963# 23983
23983# 24003 24003# 24023 24023# 24043 24043# 24063 24063# 24083 24083# 24122 24122# 24142
24142# 24162 24162# 24182 24182# 24202 24202# 24222 24222# 24242 24242# 24262 24262# 24282
24282# 24302 24302# 24322 24322# 24342 24342# 24362 24362# 24382 24382# 24402 24402# 24422
24422# 24442 24442# 24462 24462# 24480# 24507 24507# 24528 24528# 24549 24549# 24570 24570#
24591 24591# 24612 24612# 24633 24633# 24654 24654# 24675 24675# 24696 24696# 24717 24717#
24738 24738# 24759 24759# 24780 24780# 24801 24801# 24822 24822# 24843 24843# 24863 24863#
24902 24902# 24923 24923# 24944 24944# 24965 24965# 24986 24986# 25007 25007# 25028 25028#
25049 25049# 25070 25070# 25091 25091# 25112 25112# 25133 25133# 25154 25154# 25175 25175#
25196 25196# 25217 25217# 25238 25238# 25258 25258# 25275# 25302 25302# 25323 25323# 25344
25344# 25365 25365# 25386 25386# 25407 25407# 25428 25428# 25449 25449# 25470 25470# 25491
25491# 25512 25512# 25533 25533# 25554 25554# 25575 25575# 25596 25596# 25617 25617# 25638
25638# 25659 25659# 25698 25698# 25719 25719# 25740 25740# 25761 25761# 25782 25782# 25803
25803# 25824 25824# 25845 25845# 25866 25866# 25887 25887# 25908 25908# 25929 25929# 25950
25950# 25971 25971# 25992 25992# 26013 26013# 26034 26034# 26055 26055# 26136# 26202 26202#
26220 26220# 26238 26238# 26256 26256# 26274 26274# 26292 26292# 26310 26310# 26328 26328#
26346 26346# 26364 26364# 26382 26382# 26400 26400# 26418 26418# 26436 26436# 26454 26454#
26472 26472# 26484# 26566 26566# 26585 26585# 26604 26604# 26623 26623# 26642 26642# 26661
26661# 26680 26680# 26699 26699# 26718 26718# 26737 26737# 26756 26756# 26775 26775# 26794
26794# 26813 26813# 26832 26832# 26844# 26867 26867# 26885 26885# 26903 26903# 26921 26921#
26939 26939# 26957 26957# 26975 26975# 26993 26993# 27011 27011# 27029 27029# 27047 27047#
27065 27065# 27083 27083# 27101 27101# 27119 27119# 27131# 27159 27159# 27180 27180# 27201 SEQ 1222
27201# 27222 27222# 27243 27243# 27264 27264# 27285 27285# 27306 27306# 27327 27327# 27348
27348# 27369 27369# 27390 27390# 27411 27411# 27432 27432# 27453 27453# 27489# 27520 27520#
27544 27544# 27568 27568# 27592 27592# 27616 27616# 27640 27640# 27664 27664# 27688 27688#
27712 27712# 27736 27736# 27760 27760# 27784 27784# 27808 27808# 27832 27832# 27856 27856#
27880 27880# 27904 27904# 27928 27928# 27944# 27975 27975# 27999 27999# 28023 28023# 28047
28047# 28071 28071# 28095 28095# 28119 28119# 28143 28143# 28167 28167# 28191 28191# 28215
28215# 28239 28239# 28263 28263# 28287 28287# 28311 28311# 28335 28335# 28359 28359# 28383
28383# 28418# 28449 28449# 28473 28473# 28497 28497# 28521 28521# 28545 28545# 28569 28569#
28593 28593# 28617 28617# 28641 28641# 28665 28665# 28689 28689# 28713 28713# 28737 28737#
28761 28761# 28785 28785# 28809 28809# 28833 28833# 28857 28857# 28873# 28904 28904# 28928
28928# 28952 28952# 28976 28976# 29000 29000# 29024 29024# 29048 29048# 29072 29072# 29096
29096# 29120 29120# 29144 29144# 29168 29168# 29192 29192# 29216 29216# 29240 29240# 29264
29264# 29288 29288# 29312 29312# 29330# 29352 29352# 29366 29366# 29380 29380# 29394 29394#
29408 29408# 29422 29422# 29436 29436# 29450 29450# 29464 29464# 29478 29478# 29492 29492#
29506 29506# 29520 29520# 29534 29534# 29548 29548# 29563# 29584 29584# 29598 29598# 29612
29612# 29626 29626# 29640 29640# 29654 29654# 29668 29668# 29682 29682# 29696 29696# 29710
29710# 29724 29724# 29738 29738# 29752 29752# 29766 29766# 29780 29780#
SNTRP 365#
SPACE 561#
SRTDDT 391#
START 379 778 787 802 806 860#
START1 398#
START2 399#
START3 400#
START4 401#
START5 402#
STARTA 67 68 69 70 71 72 73 74 75 76 77 394 804 815
824 831 841 867 870 893#
STRP 365#
SUBLNK 133# 395
SWTEXR 410#
SYSEXR 383#
TAB 562#
TABLE 51282# 51303
TESTPC 437#
TICKS 440#
TN0 365#
TN1 365#
TNUMB 43330# 43330 43339 43348# 43348 43356 43365# 43365 43375 43384# 43384 43395 43404# 43404
43408 43417# 43417 43426 43435# 43435 43588 43597# 43597 43607 43616# 43616 43625 43634#
43634 43643 43652# 43652 43691 43700# 43700 43710 43880# 43880 43893 43908# 43908 43921
43936# 43936 43949 43964# 43964 43977 43992# 43992 44005 44020# 44020 44033 44048# 44048
44061 44095# 44095 44108 44127# 44127 44140 44159# 44159 44172 44191# 44191 44204 44223#
44223 44236 44255# 44255 44268 44287# 44287 44300 44343# 44343 44358 44385# 44385 44400
44427# 44427 44442 44469# 44469 44484 44511# 44511 44526 44553# 44553 44568 44595# 44595
44610 44639# 44639 44650 44659# 44659 44672 44681# 44681 44694 44703# 44703 44715 44724#
44724 44736 44750# 44750 44761 44770# 44770 44783 44792# 44792 44805 44814# 44814 44826
44835# 44835 44847 44861# 44861 44872 44881# 44881 44894 44903# 44903 44916 44925# 44925
44937 44946# 44946 44958 44972# 44972 44983 44992# 44992 45005 45014# 45014 45027 45036#
45036 45048 45057# 45057 45069 45083# 45083 45094 45103# 45103 45116 45125# 45125 45138
45147# 45147 45159 45168# 45168 45180 45194# 45194 45205 45214# 45214 45227 45236# 45236
45249 45258# 45258 45270 45279# 45279 45291 45305# 45305 45316 45325# 45325 45338 45347#
45347 45360 45369# 45369 45381 45390# 45390 45402 45416# 45416 45427 45436# 45436 45449 SEQ 1223
45458# 45458 45471 45480# 45480 45492 45501# 45501 45513 45527# 45527 45538 45547# 45547
45560 45569# 45569 45582 45591# 45591 45603 45612# 45612 45624 45638# 45638 45649 45658#
45658 45671 45680# 45680 45693 45702# 45702 45714 45723# 45723 45735 45768# 45768 45782
45799# 45799 45813 45830# 45830 45844 45861# 45861 45875 45892# 45892 45906 45923# 45923
45937 45954# 45954 45968 46421# 46421 46449 46458# 46458 46486 46495# 46495 46523 46532#
46532 46560 46569# 46569 46597 46606# 46606 46634 46643# 46643 46671 46680# 46680 46708
46717# 46717 46745 46754# 46754 46782 46791# 46791 46819 46828# 46828 46856 46865# 46865
46893 46902# 46902 46930 46939# 46939 46967 46976# 46976 47004 47013# 47013 47041 47050#
47050 47078 47087# 47087 47115 47124# 47124 47152 47161# 47161 47189 47705# 47705 47720
47741# 47741 47756 47777# 47777 47792 47813# 47813 47828 47849# 47849 47864 47885# 47885
47900 47921# 47921 47936 48562# 48562 48575 48602# 48602 48615 48642# 48642 48655 48682#
48682 48695 48722# 48722 48735 48762# 48762 48775 48802# 48802 48815 48857# 48857 48874
48898# 48898 48915 48939# 48939 48956 48980# 48980 48997 49021# 49021 49038 49062# 49062
49079 49103# 49103 49120 49144# 49144 49161 49185# 49185 49202 49226# 49226 49243 49267#
49267 49284 49308# 49308 49325 49349# 49349 49366 49390# 49390 49407 49431# 49431 49448
49472# 49472 49489 49513# 49513 49530 49554# 49554 49571 49595# 49595 49612 49636# 49636
49653 49677# 49677 49694 49718# 49718 49735 49759# 49759 49776 49800# 49800 49817 49841#
49841 49858 49882# 49882 49899 49923# 49923 49940 49964# 49964 49981 50005# 50005 50022
50046# 50046 50063 50087# 50087 50104 50133# 50133 50145 50162# 50162 50174 50191# 50191
50203 50220# 50220 50232 50249# 50249 50261 50278# 50278 50290 50307# 50307 50319 50336#
50336 50348 50365# 50365 50377 50394# 50394 50406 50423# 50423 50435 50452# 50452 50464
50481# 50481 50493 50510# 50510 50522 50539# 50539 50551 50568# 50568 50580 50597# 50597
50609 50626# 50626 50638 50655# 50655 50667 50683# 50683 50695 50711# 50711 50723 50739#
50739 50751 50822# 50822 50836 50854# 50854 50868 50886# 50886 50900 50918# 50918 50932
50950# 50950 50964 50982# 50982 50996 51014# 51014 51028 51046# 51046 51060 51074# 51074
51102 51118 51129# 51129 51143 51155# 51155 51168 51174
TOTALS 99#
TPEND 51228 51230 51232 51234 51236 51238 51240 51241 51243#
TRAPPI 42931 51210# 51222
TRP0A 45990 45999#
TRP1A 46011 46020#
TRP2A 46032 46041#
TRP3A 46053 46062#
TRP3TP 365#
TRP4A 46074 46083#
TRP5A 46096 46105#
TRP6A 46117 46126#
TRPCLR 42933 51182# 51190
TRPENB 365#
TRPFIL 51213 51227#
TRPSET 43284 51299# 51314
TTNBRF 620#
TTYFIL 536#
TTYSPD 537#
TXTINH 110#
UOLIP 365#
UOUSR 365#
USER 427# 771 774 776 777 811 860# 860 863 865 866 42914 42917 42919
42920
USERF 45# 365# 773 862 42916 46003 46024 46045 46066 46087 46109 46130 46138 46162
46180 46198 46216 46234 46252 46270 46304 46321 46338 46355 46372 46389 46406 46432
46469 46506 46543 46580 46617 46654 46691 46728 46765 46802 46839 46876 46913 46950
46987 47024 47061 47098 47135 47172 51076 SEQ 1224
USRASB 35# 417
USRCMP 365#
USRCRF 546#
USRIO0 51077 51126#
USRIO1 51152#
USRLFF 545#
USRPFW 365#
UUO 45988 51272#
UUO01 48848#
UUO02 48869 48889#
UUO03 48910 48930#
UUO04 48951 48971#
UUO05 48992 49012#
UUO06 49033 49053#
UUO07 49074 49094#
UUO10 49115 49135#
UUO11 49156 49176#
UUO12 49197 49217#
UUO13 49238 49258#
UUO14 49279 49299#
UUO15 49320 49340#
UUO16 49361 49381#
UUO17 49402 49422#
UUO20 49443 49463#
UUO21 49484 49504#
UUO22 49525 49545#
UUO23 49566 49586#
UUO24 49607 49627#
UUO25 49648 49668#
UUO26 49689 49709#
UUO27 49730 49750#
UUO30 49771 49791#
UUO31 49812 49832#
UUO32 49853 49873#
UUO33 49894 49914#
UUO34 49935 49955#
UUO35 49976 49996#
UUO36 50017 50037#
UUO37 50058 50078#
UUOBTH 50795#
UUODIS 499#
UUOEXT 455#
UUOIND 50763#
UUOINX 50779#
UUOPC 50099 50118#
UUOPCA 50119#
UUORTN 456#
UUOSKP 453#
X 43861# 43888 43899 43899# 43916 43927 43927# 43944 43955 43955# 43972 43983 43983# 44000
44011 44011# 44028 44039 44039# 44056 44067 44067# 44077# 44103 44114 44114# 44135 44146
44146# 44167 44178 44178# 44199 44210 44210# 44231 44242 44242# 44263 44274 44274# 44295
44306 44306# 44318# 44347 44349 44364 44364# 44389 44391 44406 44406# 44431 44433 44448
44448# 44473 44475 44490 44490# 44515 44517 44532 44532# 44557 44559 44574 44574# 44599 SEQ 1225
44601 44616 44616# 45753# 45777 45788 45788# 45808 45819 45819# 45839 45850 45850# 45870
45881 45881# 45901 45912 45912# 45932 45943 45943# 45963 45974 45974# 47201# 47224 47256
47275 47275# 47292 47324 47343 47343# 47360 47392 47411 47411# 47428 47460 47479 47479#
47496 47528 47547 47547# 47564 47596 47615 47615# 47632 47664 47683 47683# 47689# 47707
47730 47730# 47743 47766 47766# 47779 47802 47802# 47815 47838 47838# 47851 47874 47874#
47887 47910 47910# 47923 47946 47946# 47980# 48009 48017 48017# 48031 48039 48039# 48053
48061 48061# 48075 48083 48083# 48097 48105 48105# 48119 48127 48127# 48141 48149 48149#
48175# 48197 48208 48208# 48217 48228 48228# 48237 48248 48248# 48257 48268 48268# 48277
48288 48288# 48297 48308 48308# 48317 48328 48328# 48337 48348 48348# 48357 48368 48368#
48377 48388 48388# 48397 48408 48408# 48417 48428 48428# 48437 48448 48448# 48457 48468
48468# 48477 48488 48488# 48497 48508 48508# 48517 48528 48528# 48537 48548 48548# 50117#
50129 50136 50140 50151 50151# 50158 50165 50169 50180 50180# 50187 50194 50198 50209
50209# 50216 50223 50227 50238 50238# 50245 50252 50256 50267 50267# 50274 50281 50285
50296 50296# 50303 50310 50314 50325 50325# 50332 50339 50343 50354 50354# 50361 50368
50372 50383 50383# 50390 50397 50401 50412 50412# 50419 50426 50430 50441 50441# 50448
50455 50459 50470 50470# 50477 50484 50488 50499 50499# 50506 50513 50517 50528 50528#
50535 50542 50546 50557 50557# 50564 50571 50575 50586 50586# 50593 50600 50604 50615
50615# 50622 50629 50633 50644 50644# 50646# 50651 50658 50662 50674# 50679 50686 50690
50702# 50707 50714 50718 50730# 50735 50742 50746 50757#
XAC0 51195# 51195 51204 51211# 51211 51220 51300# 51300 51311
XAC1 51196# 51196 51205 51212# 51212 51221 51301# 51301 51312
XAC15 51183# 51183 51189
XAC16 51302# 51302 51313
XMUPC 51082 51101#
XMUUO 51082#
XMUUO0 51096# 51112
XX 22959# 22984 22984# 22985 22985# 22986 22988 23004 23004# 23005 23006 23008 23024 23024#
23025 23026 23028 23044 23044# 23045 23046 23048 23064 23064# 23065 23066 23068 23084
23084# 23085 23086 23088 23104 23104# 23105 23106 23108 23124 23124# 23125 23126 23128
23144 23144# 23145 23146 23148 23164 23164# 23165 23166 23168 23184 23184# 23185 23186
23188 23204 23204# 23205 23206 23208 23224 23224# 23225 23226 23228 23244 23244# 23245
23246 23248 23264 23264# 23265 23266 23268 23284 23284# 23285 23286 23288 23304 23304#
23305 23306 23308 23324 23324# 23325 23326 23328 23338# 23363 23363# 23364 23364# 23365
23367 23383 23383# 23384 23385 23387 23403 23403# 23404 23405 23407 23423 23423# 23424
23425 23427 23443 23443# 23444 23445 23447 23463 23463# 23464 23465 23467 23483 23483#
23484 23485 23487 23503 23503# 23504 23505 23507 23523 23523# 23524 23525 23527 23543
23543# 23544 23545 23547 23563 23563# 23564 23565 23567 23583 23583# 23584 23585 23587
23603 23603# 23604 23605 23607 23623 23623# 23624 23625 23627 23643 23643# 23644 23645
23647 23663 23663# 23664 23665 23667 23683 23683# 23684 23685 23687 23703 23703# 23704
23705 23707 23744 23744# 23745 23745# 23747 23748 23764 23764# 23765 23767 23768 23784
23784# 23785 23787 23788 23804 23804# 23805 23807 23808 23824 23824# 23825 23827 23828
23844 23844# 23845 23847 23848 23864 23864# 23865 23867 23868 23884 23884# 23885 23887
23888 23904 23904# 23905 23907 23908 23924 23924# 23925 23927 23928 23944 23944# 23945
23947 23948 23964 23964# 23965 23967 23968 23984 23984# 23985 23987 23988 24004 24004#
24005 24007 24008 24024 24024# 24025 24027 24028 24044 24044# 24045 24047 24048 24064
24064# 24065 24067 24068 24084 24084# 24085 24087 24088 24098# 24123 24123# 24124 24124#
24126 24127 24143 24143# 24144 24146 24147 24163 24163# 24164 24166 24167 24183 24183#
24184 24186 24187 24203 24203# 24204 24206 24207 24223 24223# 24224 24226 24227 24243
24243# 24244 24246 24247 24263 24263# 24264 24266 24267 24283 24283# 24284 24286 24287
24303 24303# 24304 24306 24307 24323 24323# 24324 24326 24327 24343 24343# 24344 24346
24347 24363 24363# 24364 24366 24367 24383 24383# 24384 24386 24387 24403 24403# 24404
24406 24407 24423 24423# 24424 24426 24427 24443 24443# 24444 24446 24447 24463 24463#
24464 24466 24467 24481# 24508 24508# 24509 24509# 24510 24511 24512 24529 24529# 24530 SEQ 1226
24531 24532 24533 24550 24550# 24551 24552 24553 24554 24571 24571# 24572 24573 24574
24575 24592 24592# 24593 24594 24595 24596 24613 24613# 24614 24615 24616 24617 24634
24634# 24635 24636 24637 24638 24655 24655# 24656 24657 24658 24659 24676 24676# 24677
24678 24679 24680 24697 24697# 24698 24699 24700 24701 24718 24718# 24719 24720 24721
24722 24739 24739# 24740 24741 24742 24743 24760 24760# 24761 24762 24763 24764 24781
24781# 24782 24783 24784 24785 24802 24802# 24803 24804 24805 24806 24823 24823# 24824
24825 24826 24827 24844 24844# 24845 24846 24847 24848 24864 24864# 24865 24866 24876#
24903 24903# 24904 24904# 24905 24906 24907 24924 24924# 24925 24926 24927 24928 24945
24945# 24946 24947 24948 24949 24966 24966# 24967 24968 24969 24970 24987 24987# 24988
24989 24990 24991 25008 25008# 25009 25010 25011 25012 25029 25029# 25030 25031 25032
25033 25050 25050# 25051 25052 25053 25054 25071 25071# 25072 25073 25074 25075 25092
25092# 25093 25094 25095 25096 25113 25113# 25114 25115 25116 25117 25134 25134# 25135
25136 25137 25138 25155 25155# 25156 25157 25158 25159 25176 25176# 25177 25178 25179
25180 25197 25197# 25198 25199 25200 25201 25218 25218# 25219 25220 25221 25222 25239
25239# 25240 25241 25242 25243 25259 25259# 25260 25261 25262 25276# 25303 25303# 25304
25304# 25305 25306 25307 25324 25324# 25325 25326 25327 25328 25345 25345# 25346 25347
25348 25349 25366 25366# 25367 25368 25369 25370 25387 25387# 25388 25389 25390 25391
25408 25408# 25409 25410 25411 25412 25429 25429# 25430 25431 25432 25433 25450 25450#
25451 25452 25453 25454 25471 25471# 25472 25473 25474 25475 25492 25492# 25493 25494
25495 25496 25513 25513# 25514 25515 25516 25517 25534 25534# 25535 25536 25537 25538
25555 25555# 25556 25557 25558 25559 25576 25576# 25577 25578 25579 25580 25597 25597#
25598 25599 25600 25601 25618 25618# 25619 25620 25621 25622 25639 25639# 25640 25641
25642 25643 25660 25660# 25661 25662 25672# 25699 25699# 25700 25700# 25701 25702 25703
25720 25720# 25721 25722 25723 25724 25741 25741# 25742 25743 25744 25745 25762 25762#
25763 25764 25765 25766 25783 25783# 25784 25785 25786 25787 25804 25804# 25805 25806
25807 25808 25825 25825# 25826 25827 25828 25829 25846 25846# 25847 25848 25849 25850
25867 25867# 25868 25869 25870 25871 25888 25888# 25889 25890 25891 25892 25909 25909#
25910 25911 25912 25913 25930 25930# 25931 25932 25933 25934 25951 25951# 25952 25953
25954 25955 25972 25972# 25973 25974 25975 25976 25993 25993# 25994 25995 25996 25997
26014 26014# 26015 26016 26017 26018 26035 26035# 26036 26037 26038 26039 26056 26056#
26057 26058 26059 26060 29332# 29354 29354# 29355 29357 29368 29368# 29369 29371 29382
29382# 29383 29385 29396 29396# 29397 29399 29410 29410# 29411 29413 29424 29424# 29425
29427 29438 29438# 29439 29441 29452 29452# 29453 29455 29466 29466# 29467 29469 29480
29480# 29481 29483 29494 29494# 29495 29497 29508 29508# 29509 29511 29522 29522# 29523
29525 29536 29536# 29537 29539 29550 29550# 29551 29553 29565# 29586 29586# 29587 29588
29600 29600# 29601 29602 29614 29614# 29615 29616 29628 29628# 29629 29630 29642 29642#
29643 29644 29656 29656# 29657 29658 29670 29670# 29671 29672 29684 29684# 29685 29686
29698 29698# 29699 29700 29712 29712# 29713 29714 29726 29726# 29727 29728 29740 29740#
29741 29742 29754 29754# 29755 29756 29768 29768# 29769 29770 29782 29782# 29783 29784
Y 44078# 44099 44115 44115# 44131 44147 44147# 44163 44179 44179# 44195 44211 44211# 44227
44243 44243# 44259 44275 44275# 44291 44307 44307# 45754# 45772 45789 45789# 45803 45820
45820# 45834 45851 45851# 45865 45882 45882# 45896 45913 45913# 45927 45944 45944# 45958
45975 45975# 47202# 47220 47222 47252 47254 47274 47274# 47288 47290 47320 47322 47342
47342# 47356 47358 47388 47390 47410 47410# 47424 47426 47456 47458 47478 47478# 47492
47494 47524 47526 47546 47546# 47560 47562 47592 47594 47614 47614# 47628 47630 47660
47662 47682 47682#
YY 12574# 12609 12609# 12610 12611 12611# 12614 12635 12635# 12636 12637 12640 12661 12661#
12662 12663 12666 12687 12687# 12688 12689 12692 12713 12713# 12714 12715 12718 12739
12739# 12740 12741 12744 12765 12765# 12766 12767 12770 12791 12791# 12792 12793 12796
12817 12817# 12818 12819 12822 12843 12843# 12844 12845 12848 12869 12869# 12870 12871
12874 12895 12895# 12896 12897 12900 12921 12921# 12922 12923 12926 12947 12947# 12948
12949 12952 12973 12973# 12974 12975 12978 12999 12999# 13000 13001 13004 13025 13025#
13026 13027 13030 13051 13051# 13052 13053 13056 13070# 13105 13105# 13106 13107 13107# SEQ 1227
13111 13131 13131# 13132 13133 13137 13157 13157# 13158 13159 13163 13183 13183# 13184
13185 13189 13209 13209# 13210 13211 13215 13235 13235# 13236 13237 13241 13261 13261#
13262 13263 13267 13287 13287# 13288 13289 13293 13313 13313# 13314 13315 13319 13339
13339# 13340 13341 13345 13365 13365# 13366 13367 13371 13391 13391# 13392 13393 13397
13417 13417# 13418 13419 13423 13443 13443# 13444 13445 13449 13469 13469# 13470 13471
13475 13495 13495# 13496 13497 13501 13521 13521# 13522 13523 13527 13547 13547# 13548
13549 13553 17826# 17860 17860# 17862 17862# 17863 17865 17885 17885# 17887 17888 17890
17910 17910# 17912 17913 17915 17935 17935# 17937 17938 17940 17960 17960# 17962 17963
17965 17985 17985# 17987 17988 17990 18010 18010# 18012 18013 18015 18035 18035# 18037
18038 18040 18060 18060# 18062 18063 18065 18085 18085# 18087 18088 18090 18110 18110#
18112 18113 18115 18135 18135# 18137 18138 18140 18160 18160# 18162 18163 18165 18185
18185# 18187 18188 18190 18210 18210# 18212 18213 18215 18235 18235# 18237 18238 18240
18260 18260# 18262 18263 18265 18285 18285# 18287 18288 18290 18301# 18335 18335# 18337
18337# 18338 18340 18360 18360# 18362 18363 18365 18385 18385# 18387 18388 18390 18410
18410# 18412 18413 18415 18435 18435# 18437 18438 18440 18460 18460# 18462 18463 18465
18485 18485# 18487 18488 18490 18510 18510# 18512 18513 18515 18535 18535# 18537 18538
18540 18560 18560# 18562 18563 18565 18585 18585# 18587 18588 18590 18610 18610# 18612
18613 18615 18635 18635# 18637 18638 18640 18660 18660# 18662 18663 18665 18685 18685#
18687 18688 18690 18710 18710# 18712 18713 18715 18735 18735# 18737 18738 18740 18760
18760# 18762 18763 18765
Z1 47690# 47708 47713 47731 47731# 47744 47749 47767 47767# 47780 47785 47803 47803# 47816
47821 47839 47839# 47852 47857 47875 47875# 47888 47893 47911 47911# 47924 47929 47947
47947#
ZZ 1294# 1319 1319# 1320 1320# 1321 1338 1338# 1339 1340 1357 1357# 1358 1359
1376 1376# 1377 1378 1395 1395# 1396 1397 1414 1414# 1415 1416 1433 1433#
1434 1435 1452 1452# 1453 1454 1471 1471# 1472 1473 1490 1490# 1491 1492
1509 1509# 1510 1511 1528 1528# 1529 1530 1547 1547# 1548 1549 1566 1566#
1567 1568 1585 1585# 1586 1587 1604 1604# 1605 1606 1623 1623# 1624 1625
1642 1642# 1643 1644 1661 1661# 1662 1663 1680 1680# 1681 1682 1699 1699#
1700 1701 1718 1718# 1719 1720 1737 1737# 1738 1739 1756 1756# 1757 1758
1775 1775# 1776 1777 1794 1794# 1795 1796 1813 1813# 1814 1815 1832 1832#
1833 1834 1851 1851# 1852 1853 1870 1870# 1871 1872 1889 1889# 1890 1891
1908 1908# 1909 1910 1927 1927# 1928 1929 1946 1946# 1947 1948 1965 1965#
1966 1967 1984 1984# 1985 1986 2470# 2494 2494# 2495 2495# 2497 2513 2513#
2514 2516 2532 2532# 2533 2535 2551 2551# 2552 2554 2570 2570# 2571 2573
2589 2589# 2590 2592 2608 2608# 2609 2611 2627 2627# 2628 2630 2646 2646#
2647 2649 2665 2665# 2666 2668 2684 2684# 2685 2687 2703 2703# 2704 2706
2722 2722# 2723 2725 2741 2741# 2742 2744 2760 2760# 2761 2763 2779 2779#
2780 2782 2798 2798# 2799 2801 2817 2817# 2818 2820 2855 2855# 2857 2874
2874# 2876 2893 2893# 2895 2912 2912# 2914 2931 2931# 2933 2950 2950# 2952
2969 2969# 2971 2988 2988# 2990 3007 3007# 3009 3026 3026# 3028 3045 3045#
3047 3064 3064# 3066 3083 3083# 3085 3102 3102# 3104 3121 3121# 3123 3140
3140# 3142 3159 3159# 3161 3178 3178# 3180 3282# 3315 3315# 3316 3316# 3318
3344 3344# 3345 3347 3373 3373# 3374 3376 3402 3402# 3403 3405 3431 3431#
3432 3434 3460 3460# 3461 3463 3489 3489# 3490 3492 3518 3518# 3519 3521
3547 3547# 3548 3550 3576 3576# 3577 3579 3605 3605# 3606 3608 3634 3634#
3635 3637 3663 3663# 3664 3666 3692 3692# 3693 3695 3721 3721# 3722 3724
3750 3750# 3751 3753 3779 3779# 3780 3782 3808 3808# 3809 3811 3837 3837#
3838 3840 3866 3866# 3867 3869 3895 3895# 3896 3898 3924 3924# 3925 3927
3953 3953# 3954 3956 3982 3982# 3983 3985 4011 4011# 4012 4014 4040 4040#
4041 4043 4069 4069# 4070 4072 4098 4098# 4099 4101 4127 4127# 4128 4130
4156 4156# 4157 4159 4185 4185# 4186 4188 4214 4214# 4215 4217 4243 4243#
4244 4246 4272 4272# 4273 4275 4301 4301# 4302 4304 4330 4330# 4331 4333 SEQ 1228
4351# 4377 4377# 4378 4378# 4379 4398 4398# 4399 4400 4419 4419# 4420 4421
4440 4440# 4441 4442 4461 4461# 4462 4463 4482 4482# 4483 4484 4503 4503#
4504 4505 4524 4524# 4525 4526 4545 4545# 4546 4547 4566 4566# 4567 4568
4587 4587# 4588 4589 4608 4608# 4609 4610 4629 4629# 4630 4631 4650 4650#
4651 4652 4671 4671# 4672 4673 4692 4692# 4693 4694 4713 4713# 4714 4715
4734 4734# 4735 4736 4755 4755# 4756 4757 4776 4776# 4777 4778 4797 4797#
4798 4799 4818 4818# 4819 4820 4839 4839# 4840 4841 4860 4860# 4861 4862
4881 4881# 4882 4883 4902 4902# 4903 4904 4923 4923# 4924 4925 4944 4944#
4945 4946 4965 4965# 4966 4967 4986 4986# 4987 4988 5007 5007# 5008 5009
5028 5028# 5029 5030 5049 5049# 5050 5051 5070 5070# 5071 5072 5091 5091#
5092 5093 5112 5112# 5113 5114 5216# 5241 5241# 5242 5242# 5244 5261 5261#
5262 5264 5281 5281# 5282 5284 5301 5301# 5302 5304 5321 5321# 5322 5324
5341 5341# 5342 5344 5361 5361# 5362 5364 5381 5381# 5382 5384 5401 5401#
5402 5404 5421 5421# 5422 5424 5441 5441# 5442 5444 5461 5461# 5462 5464
5481 5481# 5482 5484 5501 5501# 5502 5504 5521 5521# 5522 5524 5541 5541#
5542 5544 5561 5561# 5562 5564 5581 5581# 5582 5584 5601 5601# 5602 5604
5621 5621# 5622 5624 5641 5641# 5642 5644 5661 5661# 5662 5664 5681 5681#
5682 5684 5701 5701# 5702 5704 5721 5721# 5722 5724 5741 5741# 5742 5744
5761 5761# 5762 5764 5781 5781# 5782 5784 5801 5801# 5802 5804 5821 5821#
5822 5824 5841 5841# 5842 5844 5861 5861# 5862 5864 5881 5881# 5882 5884
5901 5901# 5902 5904 5921 5921# 5922 5924 5941 5941# 5942 5944 5956# 5986
5986# 5987 5987# 5988 6011 6011# 6012 6013 6036 6036# 6037 6038 6061 6061#
6062 6063 6086 6086# 6087 6088 6111 6111# 6112 6113 6136 6136# 6137 6138
6161 6161# 6162 6163 6186 6186# 6187 6188 6211 6211# 6212 6213 6236 6236#
6237 6238 6261 6261# 6262 6263 6286 6286# 6287 6288 6311 6311# 6312 6313
6336 6336# 6337 6338 6361 6361# 6362 6363 6386 6386# 6387 6388 6411 6411#
6412 6413 6436 6436# 6437 6438 6461 6461# 6462 6463 6486 6486# 6487 6488
6511 6511# 6512 6513 6536 6536# 6537 6538 6561 6561# 6562 6563 6586 6586#
6587 6588 6611 6611# 6612 6613 6636 6636# 6637 6638 6661 6661# 6662 6663
6686 6686# 6687 6688 6711 6711# 6712 6713 6736 6736# 6737 6738 6761 6761#
6762 6763 6786 6786# 6787 6788 6811 6811# 6812 6813 6836 6836# 6837 6838
6861 6861# 6862 6863 6881# 6909 6909# 6910 6910# 6911 6912 6930 6930# 6931
6932 6933 6951 6951# 6952 6953 6954 6972 6972# 6973 6974 6975 6993 6993#
6994 6995 6996 7014 7014# 7015 7016 7017 7035 7035# 7036 7037 7038 7056
7056# 7057 7058 7059 7077 7077# 7078 7079 7080 7098 7098# 7099 7100 7101
7119 7119# 7120 7121 7122 7140 7140# 7141 7142 7143 7161 7161# 7162 7163
7164 7182 7182# 7183 7184 7185 7203 7203# 7204 7205 7206 7224 7224# 7225
7226 7227 7245 7245# 7246 7247 7248 7266 7266# 7267 7268 7269 7287 7287#
7288 7289 7290 7308 7308# 7309 7310 7311 7329 7329# 7330 7331 7332 7350
7350# 7351 7352 7353 7371 7371# 7372 7373 7374 7392 7392# 7393 7394 7395
7413 7413# 7414 7415 7416 7434 7434# 7435 7436 7437 7455 7455# 7456 7457
7458 7476 7476# 7477 7478 7479 7497 7497# 7498 7499 7500 7518 7518# 7519
7520 7521 7539 7539# 7540 7541 7542 7560 7560# 7561 7562 7563 7581 7581#
7582 7583 7584 7602 7602# 7603 7604 7605 7623 7623# 7624 7625 7626 7644
7644# 7645 7646 7647 7690# 7719 7719# 7720 7720# 7722 7741 7741# 7742 7744
7763 7763# 7764 7766 7785 7785# 7786 7788 7807 7807# 7808 7810 7829 7829#
7830 7832 7851 7851# 7852 7854 7873 7873# 7874 7876 7895 7895# 7896 7898
7917 7917# 7918 7920 7939 7939# 7940 7942 7961 7961# 7962 7964 7983 7983#
7984 7986 8005 8005# 8006 8008 8027 8027# 8028 8030 8049 8049# 8050 8052
8071 8071# 8072 8074 8093 8093# 8094 8096 8108# 8137 8137# 8138 8138# 8140
8159 8159# 8160 8162 8181 8181# 8182 8184 8203 8203# 8204 8206 8225 8225#
8226 8228 8247 8247# 8248 8250 8269 8269# 8270 8272 8291 8291# 8292 8294
8313 8313# 8314 8316 8335 8335# 8336 8338 8357 8357# 8358 8360 8379 8379# SEQ 1229
8380 8382 8401 8401# 8402 8404 8423 8423# 8424 8426 8445 8445# 8446 8448
8467 8467# 8468 8470 8489 8489# 8490 8492 8511 8511# 8512 8514 8565# 8597
8597# 8598 8598# 8599 8600 8601 8621 8621# 8622 8623 8624 8625 8645 8645#
8646 8647 8648 8649 8669 8669# 8670 8671 8672 8673 8693 8693# 8694 8695
8696 8697 8717 8717# 8718 8719 8720 8721 8741 8741# 8742 8743 8744 8745
8765 8765# 8766 8767 8768 8769 8789 8789# 8790 8791 8792 8793 8813 8813#
8814 8815 8816 8817 8837 8837# 8838 8839 8840 8841 8861 8861# 8862 8863
8864 8865 8885 8885# 8886 8887 8888 8889 8909 8909# 8910 8911 8912 8913
8933 8933# 8934 8935 8936 8937 8957 8957# 8958 8959 8960 8961 8981 8981#
8982 8983 8984 8985 9005 9005# 9006 9007 9008 9009 9029 9029# 9030 9031
9032 9033 9053 9053# 9054 9055 9056 9057 9077 9077# 9078 9079 9080 9081
9101 9101# 9102 9103 9104 9105 9125 9125# 9126 9127 9128 9129 9149 9149#
9150 9151 9152 9153 9173 9173# 9174 9175 9176 9177 9197 9197# 9198 9199
9200 9201 9221 9221# 9222 9223 9224 9225 9245 9245# 9246 9247 9248 9249
9269 9269# 9270 9271 9272 9273 9293 9293# 9294 9295 9296 9297 9317 9317#
9318 9319 9320 9321 9341 9341# 9342 9343 9344 9345 9365 9365# 9366 9367
9368 9369 9389 9389# 9390 9391 9392 9393 9413 9413# 9414 9415 9416 9417
9437 9437# 9438 9439 9440 9441 9576# 9616 9616# 9617 9617# 9618 9620 9646
9646# 9647 9648 9650 9676 9676# 9677 9678 9680 9706 9706# 9707 9708 9710
9736 9736# 9737 9738 9740 9766 9766# 9767 9768 9770 9796 9796# 9797 9798
9800 9826 9826# 9827 9828 9830 9856 9856# 9857 9858 9860 9886 9886# 9887
9888 9890 9916 9916# 9917 9918 9920 9946 9946# 9947 9948 9950 9976 9976#
9977 9978 9980 10006 10006# 10007 10008 10010 10036 10036# 10037 10038 10040 10066
10066# 10067 10068 10070 10096 10096# 10097 10098 10100 10126 10126# 10127 10128 10130
10156 10156# 10157 10158 10160 10186 10186# 10187 10188 10190 10216 10216# 10217 10218
10220 10246 10246# 10247 10248 10250 10276 10276# 10277 10278 10280 10306 10306# 10307
10308 10310 10336 10336# 10337 10338 10340 10366 10366# 10367 10368 10370 10396 10396#
10397 10398 10400 10426 10426# 10427 10428 10430 10456 10456# 10457 10458 10460 10486
10486# 10487 10488 10490 10516 10516# 10517 10518 10520 10546 10546# 10547 10548 10550
10576 10576# 10577 10578 10580 10606 10606# 10607 10608 10610 10636 10636# 10637 10638
10640 10666 10666# 10667 10668 10670 10708# 10744 10744# 10745 10745# 10747 10748 10770
10770# 10771 10773 10774 10796 10796# 10797 10799 10800 10822 10822# 10823 10825 10826
10848 10848# 10849 10851 10852 10874 10874# 10875 10877 10878 10900 10900# 10901 10903
10904 10926 10926# 10927 10929 10930 10952 10952# 10953 10955 10956 10978 10978# 10979
10981 10982 11004 11004# 11005 11007 11008 11030 11030# 11031 11033 11034 11056 11056#
11057 11059 11060 11082 11082# 11083 11085 11086 11108 11108# 11109 11111 11112 11134
11134# 11135 11137 11138 11160 11160# 11161 11163 11164 11186 11186# 11187 11189 11190
11212 11212# 11213 11215 11216 11238 11238# 11239 11241 11242 11264 11264# 11265 11267
11268 11290 11290# 11291 11293 11294 11316 11316# 11317 11319 11320 11342 11342# 11343
11345 11346 11368 11368# 11369 11371 11372 11394 11394# 11395 11397 11398 11420 11420#
11421 11423 11424 11446 11446# 11447 11449 11450 11472 11472# 11473 11475 11476 11498
11498# 11499 11501 11502 11524 11524# 11525 11527 11528 11550 11550# 11551 11553 11554
11576 11576# 11577 11579 11580 11602 11602# 11603 11605 11606 11628 11628# 11629 11631
11632 11654 11654# 11655 11657 11658 11673# 11707 11707# 11708 11708# 11709 11710 11711
11732 11732# 11733 11734 11735 11736 11757 11757# 11758 11759 11760 11761 11782 11782#
11783 11784 11785 11786 11807 11807# 11808 11809 11810 11811 11832 11832# 11833 11834
11835 11836 11857 11857# 11858 11859 11860 11861 11882 11882# 11883 11884 11885 11886
11907 11907# 11908 11909 11910 11911 11932 11932# 11933 11934 11935 11936 11957 11957#
11958 11959 11960 11961 11982 11982# 11983 11984 11985 11986 12007 12007# 12008 12009
12010 12011 12032 12032# 12033 12034 12035 12036 12057 12057# 12058 12059 12060 12061
12082 12082# 12083 12084 12085 12086 12107 12107# 12108 12109 12110 12111 12132 12132#
12133 12134 12135 12136 12157 12157# 12158 12159 12160 12161 12182 12182# 12183 12184
12185 12186 12207 12207# 12208 12209 12210 12211 12232 12232# 12233 12234 12235 12236 SEQ 1230
12257 12257# 12258 12259 12260 12261 12282 12282# 12283 12284 12285 12286 12307 12307#
12308 12309 12310 12311 12332 12332# 12333 12334 12335 12336 12357 12357# 12358 12359
12360 12361 12382 12382# 12383 12384 12385 12386 12407 12407# 12408 12409 12410 12411
12432 12432# 12433 12434 12435 12436 12457 12457# 12458 12459 12460 12461 12482 12482#
12483 12484 12485 12486 12507 12507# 12508 12509 12510 12511 12532 12532# 12533 12534
12535 12536 12557 12557# 12558 12559 12560 12561 12573# 12610 12610# 12612 12612# 12613
12636 12636# 12638 12639 12662 12662# 12664 12665 12688 12688# 12690 12691 12714 12714#
12716 12717 12740 12740# 12742 12743 12766 12766# 12768 12769 12792 12792# 12794 12795
12818 12818# 12820 12821 12844 12844# 12846 12847 12870 12870# 12872 12873 12896 12896#
12898 12899 12922 12922# 12924 12925 12948 12948# 12950 12951 12974 12974# 12976 12977
13000 13000# 13002 13003 13026 13026# 13028 13029 13052 13052# 13054 13055 13069# 13106
13106# 13108 13108# 13109 13132 13132# 13134 13135 13158 13158# 13160 13161 13184 13184#
13186 13187 13210 13210# 13212 13213 13236 13236# 13238 13239 13262 13262# 13264 13265
13288 13288# 13290 13291 13314 13314# 13316 13317 13340 13340# 13342 13343 13366 13366#
13368 13369 13392 13392# 13394 13395 13418 13418# 13420 13421 13444 13444# 13446 13447
13470 13470# 13472 13473 13496 13496# 13498 13499 13522 13522# 13524 13525 13548 13548#
13550 13551 13784# 13806 13806# 13807 13807# 13808 13809 13824 13824# 13825 13826 13827
13842 13842# 13843 13844 13845 13860 13860# 13861 13862 13863 13878 13878# 13879 13880
13881 13896 13896# 13897 13898 13899 13914 13914# 13915 13916 13917 13932 13932# 13933
13934 13935 13950 13950# 13951 13952 13953 13968 13968# 13969 13970 13971 13986 13986#
13987 13988 13989 14004 14004# 14005 14006 14007 14022 14022# 14023 14024 14025 14040
14040# 14041 14042 14043 14058 14058# 14059 14060 14061 14076 14076# 14077 14078 14079
14094 14094# 14095 14096 14097 14112 14112# 14113 14114 14115 14130 14130# 14131 14132
14133 14148 14148# 14149 14150 14151 14166 14166# 14167 14168 14169 14184 14184# 14185
14186 14187 14202 14202# 14203 14204 14205 14220 14220# 14221 14222 14223 14238 14238#
14239 14240 14241 14256 14256# 14257 14258 14259 14274 14274# 14275 14276 14277 14292
14292# 14293 14294 14295 14310 14310# 14311 14312 14313 14328 14328# 14329 14330 14331
14346 14346# 14347 14348 14349 14364 14364# 14365 14366 14367 14382 14382# 14383 14384
14385 14400 14400# 14401 14402 14403 14418 14418# 14419 14420 14421 14436 14436# 14437
14438 14439 14805# 14839 14839# 14840 14840# 14841 14866 14866# 14867 14868 14893 14893#
14894 14895 14920 14920# 14921 14922 14947 14947# 14948 14949 14974 14974# 14975 14976
15001 15001# 15002 15003 15028 15028# 15029 15030 15055 15055# 15056 15057 15082 15082#
15083 15084 15109 15109# 15110 15111 15136 15136# 15137 15138 15163 15163# 15164 15165
15190 15190# 15191 15192 15217 15217# 15218 15219 15244 15244# 15245 15246 15271 15271#
15272 15273 15298 15298# 15299 15300 15316# 15345 15345# 15346 15346# 15347 15367 15367#
15368 15369 15389 15389# 15390 15391 15411 15411# 15412 15413 15433 15433# 15434 15435
15455 15455# 15456 15457 15477 15477# 15478 15479 15499 15499# 15500 15501 15521 15521#
15522 15523 15543 15543# 15544 15545 15565 15565# 15566 15567 15587 15587# 15588 15589
15609 15609# 15610 15611 15631 15631# 15632 15633 15653 15653# 15654 15655 15675 15675#
15676 15677 15697 15697# 15698 15699 15719 15719# 15720 15721 15733# 15755 15755# 15756
15756# 15758 15773 15773# 15774 15776 15791 15791# 15792 15794 15809 15809# 15810 15812
15827 15827# 15828 15830 15845 15845# 15846 15848 15863 15863# 15864 15866 15881 15881#
15882 15884 15899 15899# 15900 15902 15917 15917# 15918 15920 15935 15935# 15936 15938
15953 15953# 15954 15956 15971 15971# 15972 15974 15989 15989# 15990 15992 16007 16007#
16008 16010 16025 16025# 16026 16028 16043 16043# 16044 16046 16061 16061# 16062 16064
16079 16079# 16080 16082 16097 16097# 16098 16100 16115 16115# 16116 16118 16133 16133#
16134 16136 16151 16151# 16152 16154 16169 16169# 16170 16172 16187 16187# 16188 16190
16205 16205# 16206 16208 16223 16223# 16224 16226 16241 16241# 16242 16244 16259 16259#
16260 16262 16277 16277# 16278 16280 16295 16295# 16296 16298 16313 16313# 16314 16316
16331 16331# 16332 16334 16349 16349# 16350 16352 16367 16367# 16368 16370 16385 16385#
16386 16388 16398# 16420 16420# 16421 16421# 16422 16438 16438# 16439 16440 16456 16456#
16457 16458 16474 16474# 16475 16476 16492 16492# 16493 16494 16510 16510# 16511 16512
16528 16528# 16529 16530 16546 16546# 16547 16548 16564 16564# 16565 16566 16582 16582# SEQ 1231
16583 16584 16600 16600# 16601 16602 16618 16618# 16619 16620 16636 16636# 16637 16638
16654 16654# 16655 16656 16672 16672# 16673 16674 16690 16690# 16691 16692 16708 16708#
16709 16710 16726 16726# 16727 16728 16744 16744# 16745 16746 16762 16762# 16763 16764
16780 16780# 16781 16782 16798 16798# 16799 16800 16816 16816# 16817 16818 16834 16834#
16835 16836 16852 16852# 16853 16854 16870 16870# 16871 16872 16888 16888# 16889 16890
16906 16906# 16907 16908 16924 16924# 16925 16926 16942 16942# 16943 16944 16960 16960#
16961 16962 16978 16978# 16979 16980 16996 16996# 16997 16998 17014 17014# 17015 17016
17032 17032# 17033 17034 17050 17050# 17051 17052 17067# 17092 17092# 17093 17093# 17094
17096 17112 17112# 17113 17114 17116 17132 17132# 17133 17134 17136 17152 17152# 17153
17154 17156 17172 17172# 17173 17174 17176 17192 17192# 17193 17194 17196 17212 17212#
17213 17214 17216 17232 17232# 17233 17234 17236 17252 17252# 17253 17254 17256 17272
17272# 17273 17274 17276 17292 17292# 17293 17294 17296 17312 17312# 17313 17314 17316
17332 17332# 17333 17334 17336 17352 17352# 17353 17354 17356 17372 17372# 17373 17374
17376 17392 17392# 17393 17394 17396 17412 17412# 17413 17414 17416 17432 17432# 17433
17434 17436 17446# 17471 17471# 17472 17472# 17473 17475 17491 17491# 17492 17493 17495
17511 17511# 17512 17513 17515 17531 17531# 17532 17533 17535 17551 17551# 17552 17553
17555 17571 17571# 17572 17573 17575 17591 17591# 17592 17593 17595 17611 17611# 17612
17613 17615 17631 17631# 17632 17633 17635 17651 17651# 17652 17653 17655 17671 17671#
17672 17673 17675 17691 17691# 17692 17693 17695 17711 17711# 17712 17713 17715 17731
17731# 17732 17733 17735 17751 17751# 17752 17753 17755 17771 17771# 17772 17773 17775
17791 17791# 17792 17793 17795 17811 17811# 17812 17813 17815 17825# 17859 17859# 17861
17861# 17863 17865 17884 17884# 17886 17888 17890 17909 17909# 17911 17913 17915 17934
17934# 17936 17938 17940 17959 17959# 17961 17963 17965 17984 17984# 17986 17988 17990
18009 18009# 18011 18013 18015 18034 18034# 18036 18038 18040 18059 18059# 18061 18063
18065 18084 18084# 18086 18088 18090 18109 18109# 18111 18113 18115 18134 18134# 18136
18138 18140 18159 18159# 18161 18163 18165 18184 18184# 18186 18188 18190 18209 18209#
18211 18213 18215 18234 18234# 18236 18238 18240 18259 18259# 18261 18263 18265 18284
18284# 18286 18288 18290 18300# 18334 18334# 18336 18336# 18338 18340 18359 18359# 18361
18363 18365 18384 18384# 18386 18388 18390 18409 18409# 18411 18413 18415 18434 18434#
18436 18438 18440 18459 18459# 18461 18463 18465 18484 18484# 18486 18488 18490 18509
18509# 18511 18513 18515 18534 18534# 18536 18538 18540 18559 18559# 18561 18563 18565
18584 18584# 18586 18588 18590 18609 18609# 18611 18613 18615 18634 18634# 18636 18638
18640 18659 18659# 18661 18663 18665 18684 18684# 18686 18688 18690 18709 18709# 18711
18713 18715 18734 18734# 18736 18738 18740 18759 18759# 18761 18763 18765 26137# 26147
26147# 26148 26149 26149# 26150 26151 26151# 26152 26153 26153# 26154 26155 26155# 26156
26157 26157# 26158 26159 26159# 26160 26161 26161# 26162 26163 26163# 26164 26165 26165#
26166 26167 26167# 26168 26169 26169# 26170 26171 26171# 26172 26173 26173# 26174 26175
26175# 26176 26177 26177# 26178 26180# 26203 26203# 26204 26221 26221# 26222 26239 26239#
26240 26257 26257# 26258 26275 26275# 26276 26293 26293# 26294 26311 26311# 26312 26329
26329# 26330 26347 26347# 26348 26365 26365# 26366 26383 26383# 26384 26401 26401# 26402
26419 26419# 26420 26437 26437# 26438 26455 26455# 26456 26473 26473# 26474 26485# 26496
26496# 26497 26498 26499 26499# 26500 26501 26502 26502# 26503 26504 26505 26505# 26506
26507 26508 26508# 26509 26510 26511 26511# 26512 26513 26514 26514# 26515 26516 26517
26517# 26518 26519 26520 26520# 26521 26522 26523 26523# 26524 26525 26526 26526# 26527
26528 26529 26529# 26530 26531 26532 26532# 26533 26534 26535 26535# 26536 26537 26538
26538# 26539 26540 26542# 26567 26567# 26568 26586 26586# 26587 26605 26605# 26606 26624
26624# 26625 26643 26643# 26644 26662 26662# 26663 26681 26681# 26682 26700 26700# 26701
26719 26719# 26720 26738 26738# 26739 26757 26757# 26758 26776 26776# 26777 26795 26795#
26796 26814 26814# 26815 26833 26833# 26834 26845# 26868 26868# 26869 26870 26886 26886#
26887 26888 26904 26904# 26905 26906 26922 26922# 26923 26924 26940 26940# 26941 26942
26958 26958# 26959 26960 26976 26976# 26977 26978 26994 26994# 26995 26996 27012 27012#
27013 27014 27030 27030# 27031 27032 27048 27048# 27049 27050 27066 27066# 27067 27068
27084 27084# 27085 27086 27102 27102# 27103 27104 27120 27120# 27121 27122 27132# 27160 SEQ 1232
27160# 27161 27162 27163 27181 27181# 27182 27183 27184 27202 27202# 27203 27204 27205
27223 27223# 27224 27225 27226 27244 27244# 27245 27246 27247 27265 27265# 27266 27267
27268 27286 27286# 27287 27288 27289 27307 27307# 27308 27309 27310 27328 27328# 27329
27330 27331 27349 27349# 27350 27351 27352 27370 27370# 27371 27372 27373 27391 27391#
27392 27393 27394 27412 27412# 27413 27414 27415 27433 27433# 27434 27435 27436 27454
27454# 27455 27456 27457 27490# 27521 27521# 27522 27522# 27524 27527 27545 27545# 27546
27548 27551 27569 27569# 27570 27572 27575 27593 27593# 27594 27596 27599 27617 27617#
27618 27620 27623 27641 27641# 27642 27644 27647 27665 27665# 27666 27668 27671 27689
27689# 27690 27692 27695 27713 27713# 27714 27716 27719 27737 27737# 27738 27740 27743
27761 27761# 27762 27764 27767 27785 27785# 27786 27788 27791 27809 27809# 27810 27812
27815 27833 27833# 27834 27836 27839 27857 27857# 27858 27860 27863 27881 27881# 27882
27884 27887 27905 27905# 27906 27908 27911 27929 27929# 27930 27932 27935 27945# 27976
27976# 27977 27977# 27979 27982 28000 28000# 28001 28003 28006 28024 28024# 28025 28027
28030 28048 28048# 28049 28051 28054 28072 28072# 28073 28075 28078 28096 28096# 28097
28099 28102 28120 28120# 28121 28123 28126 28144 28144# 28145 28147 28150 28168 28168#
28169 28171 28174 28192 28192# 28193 28195 28198 28216 28216# 28217 28219 28222 28240
28240# 28241 28243 28246 28264 28264# 28265 28267 28270 28288 28288# 28289 28291 28294
28312 28312# 28313 28315 28318 28336 28336# 28337 28339 28342 28360 28360# 28361 28363
28366 28384 28384# 28385 28387 28390 28419# 28450 28450# 28451 28451# 28453 28456 28474
28474# 28475 28477 28480 28498 28498# 28499 28501 28504 28522 28522# 28523 28525 28528
28546 28546# 28547 28549 28552 28570 28570# 28571 28573 28576 28594 28594# 28595 28597
28600 28618 28618# 28619 28621 28624 28642 28642# 28643 28645 28648 28666 28666# 28667
28669 28672 28690 28690# 28691 28693 28696 28714 28714# 28715 28717 28720 28738 28738#
28739 28741 28744 28762 28762# 28763 28765 28768 28786 28786# 28787 28789 28792 28810
28810# 28811 28813 28816 28834 28834# 28835 28837 28840 28858 28858# 28859 28861 28864
28874# 28905 28905# 28906 28906# 28908 28911 28929 28929# 28930 28932 28935 28953 28953#
28954 28956 28959 28977 28977# 28978 28980 28983 29001 29001# 29002 29004 29007 29025
29025# 29026 29028 29031 29049 29049# 29050 29052 29055 29073 29073# 29074 29076 29079
29097 29097# 29098 29100 29103 29121 29121# 29122 29124 29127 29145 29145# 29146 29148
29151 29169 29169# 29170 29172 29175 29193 29193# 29194 29196 29199 29217 29217# 29218
29220 29223 29241 29241# 29242 29244 29247 29265 29265# 29266 29268 29271 29289 29289#
29290 29292 29295 29313 29313# 29314 29316 29319 29331# 29353 29353# 29355 29356 29357
29367 29367# 29369 29370 29371 29381 29381# 29383 29384 29385 29395 29395# 29397 29398
29399 29409 29409# 29411 29412 29413 29423 29423# 29425 29426 29427 29437 29437# 29439
29440 29441 29451 29451# 29453 29454 29455 29465 29465# 29467 29468 29469 29479 29479#
29481 29482 29483 29493 29493# 29495 29496 29497 29507 29507# 29509 29510 29511 29521
29521# 29523 29524 29525 29535 29535# 29537 29538 29539 29549 29549# 29551 29552 29553
29564# 29585 29585# 29587 29588 29589 29599 29599# 29601 29602 29603 29613 29613# 29615
29616 29617 29627 29627# 29629 29630 29631 29641 29641# 29643 29644 29645 29655 29655#
29657 29658 29659 29669 29669# 29671 29672 29673 29683 29683# 29685 29686 29687 29697
29697# 29699 29700 29701 29711 29711# 29713 29714 29715 29725 29725# 29727 29728 29729
29739 29739# 29741 29742 29743 29753 29753# 29755 29756 29757 29767 29767# 29769 29770
29771 29781 29781# 29783 29784 29785
$$420 745#
$$421 746#
$$422 747#
$$423 748#
$$424 749#
$$425 750#
$$426 751#
$$427 752#
$$430 753#
$$431 754# SEQ 1233
$$432 755#
$$433 756#
$$434 757#
$$435 758#
$$436 759#
$$437 760#
$$500 763#
$$501 764#
$$502 765#
$$503 766#
$$BEGI 731#
$$DTE0 797 836#
$$DTE1 798 838#
$$DTE2 799 852#
$$DTE3 800 854#
$$LOC 728# 767
$$MUUO 651#
$$OUTE 657#
$$STAR 731 732 771#
$$TAX1 669#
$$TAX2 670#
$$TOGG 663#
$$UUO 640#
$ACC0 478#
$BEGEN 740#
$BEND1 448#
$BEND2 449#
$CHRIN 539#
$CRLF 541#
$DDT 709#
$DEVCH 365#
$DSKUP 418#
$DTCHR 721#
$DTCI 715#
$DTCLK 714# 795
$DTCMD 718# 833 849
$DTF11 717#
$DTFLG 713# 794 834 839 850 855
$DTMTD 722#
$DTMTI 723#
$DTOPR 720# 796
$DTSEQ 719#
$DTSWR 725#
$DTT11 716#
$DVCH1 365#
$DVOFF 535#
$EMODE 416#
$ENDFX 685# 686
$FFF 543#
$IBUF 591#
$INEXT 593#
$INNM 592#
$ITRHL 459# SEQ 1234
$ITRX1 460#
$LPAPE 51320
$MMAP 419#
$MODVL 414#
$MODVU 415#
$OBUF 582#
$ONETM 442#
$OUTEX 584#
$OUTNM 583#
$PAPER 365
$PARER 466#
$PNAME 412#
$PSHER 470#
$PVER 413#
$RSRTX 462#
$RSRTY 463#
$SPAG1 482#
$SPB1 805 811#
$SPBEN 740 809#
$SPBEX 812 820#
$SPBKL 821 827#
$SPBUS 814#
$SPEC 737 804#
$SPKLD 828 845#
$START 379#
$STD 708# 735#
$STKIL 780#
$STKL 789#
$STL 710#
$STM 711# 737#
$SVAPR 480#
$SVPAG 481#
$SVPI 479#
$SVUPC 485#
$SVUUO 484#
$TABF 542#
$TTCHR 538#
$TWCNT 534#
$TYPNB 540#
$UMODE 417#
$UORTX 457#
$USRHL 461#
$UUOER 458# 499
$VTF 544#
%ACTFL 491#
%ACTUL 492#
%COREC 490#
%CORFL 489#
%DISCR 493#
%ERHI1 632#
%ERHI2 633#
%ERHI3 634#
%X 43328# 43329 43340 43346# 43347 43357 43363# 43364 43376 43382# 43383 43396 43402# 43403 SEQ 1235
43409 43415# 43416 43427 43433# 43434 43589 43595# 43596 43608 43614# 43615 43626 43632#
43633 43644 43650# 43651 43692 43698# 43699 43711 43878# 43879 43894 43906# 43907 43922
43934# 43935 43950 43962# 43963 43978 43990# 43991 44006 44018# 44019 44034 44046# 44047
44062 44093# 44094 44109 44125# 44126 44141 44157# 44158 44173 44189# 44190 44205 44221#
44222 44237 44253# 44254 44269 44285# 44286 44301 44341# 44342 44359 44383# 44384 44401
44425# 44426 44443 44467# 44468 44485 44509# 44510 44527 44551# 44552 44569 44593# 44594
44611 44637# 44638 44651 44657# 44658 44673 44679# 44680 44695 44701# 44702 44716 44722#
44723 44737 44748# 44749 44762 44768# 44769 44784 44790# 44791 44806 44812# 44813 44827
44833# 44834 44848 44859# 44860 44873 44879# 44880 44895 44901# 44902 44917 44923# 44924
44938 44944# 44945 44959 44970# 44971 44984 44990# 44991 45006 45012# 45013 45028 45034#
45035 45049 45055# 45056 45070 45081# 45082 45095 45101# 45102 45117 45123# 45124 45139
45145# 45146 45160 45166# 45167 45181 45192# 45193 45206 45212# 45213 45228 45234# 45235
45250 45256# 45257 45271 45277# 45278 45292 45303# 45304 45317 45323# 45324 45339 45345#
45346 45361 45367# 45368 45382 45388# 45389 45403 45414# 45415 45428 45434# 45435 45450
45456# 45457 45472 45478# 45479 45493 45499# 45500 45514 45525# 45526 45539 45545# 45546
45561 45567# 45568 45583 45589# 45590 45604 45610# 45611 45625 45636# 45637 45650 45656#
45657 45672 45678# 45679 45694 45700# 45701 45715 45721# 45722 45736 45766# 45767 45783
45797# 45798 45814 45828# 45829 45845 45859# 45860 45876 45890# 45891 45907 45921# 45922
45938 45952# 45953 45969 46419# 46420 46450 46456# 46457 46487 46493# 46494 46524 46530#
46531 46561 46567# 46568 46598 46604# 46605 46635 46641# 46642 46672 46678# 46679 46709
46715# 46716 46746 46752# 46753 46783 46789# 46790 46820 46826# 46827 46857 46863# 46864
46894 46900# 46901 46931 46937# 46938 46968 46974# 46975 47005 47011# 47012 47042 47048#
47049 47079 47085# 47086 47116 47122# 47123 47153 47159# 47160 47190 47703# 47704 47721
47739# 47740 47757 47775# 47776 47793 47811# 47812 47829 47847# 47848 47865 47883# 47884
47901 47919# 47920 47937 48560# 48561 48576 48600# 48601 48616 48640# 48641 48656 48680#
48681 48696 48720# 48721 48736 48760# 48761 48776 48800# 48801 48816 48855# 48856 48875
48896# 48897 48916 48937# 48938 48957 48978# 48979 48998 49019# 49020 49039 49060# 49061
49080 49101# 49102 49121 49142# 49143 49162 49183# 49184 49203 49224# 49225 49244 49265#
49266 49285 49306# 49307 49326 49347# 49348 49367 49388# 49389 49408 49429# 49430 49449
49470# 49471 49490 49511# 49512 49531 49552# 49553 49572 49593# 49594 49613 49634# 49635
49654 49675# 49676 49695 49716# 49717 49736 49757# 49758 49777 49798# 49799 49818 49839#
49840 49859 49880# 49881 49900 49921# 49922 49941 49962# 49963 49982 50003# 50004 50023
50044# 50045 50064 50085# 50086 50105 50131# 50132 50146 50160# 50161 50175 50189# 50190
50204 50218# 50219 50233 50247# 50248 50262 50276# 50277 50291 50305# 50306 50320 50334#
50335 50349 50363# 50364 50378 50392# 50393 50407 50421# 50422 50436 50450# 50451 50465
50479# 50480 50494 50508# 50509 50523 50537# 50538 50552 50566# 50567 50581 50595# 50596
50610 50624# 50625 50639 50653# 50654 50668 50681# 50682 50696 50709# 50710 50724 50737#
50738 50752 50820# 50821 50837 50852# 50853 50869 50884# 50885 50901 50916# 50917 50933
50948# 50949 50965 50980# 50981 50997 51012# 51013 51029 51044# 51045 51061 51072# 51073
51103 51119 51127# 51128 51144 51153# 51154 51169
..0001 43881#
..0002 43909#
..0003 43937#
..0004 43965#
..0005 43993#
..0006 44021#
..0007 44049#
..0010 44096#
..0011 44128#
..0012 44160#
..0013 44192#
..0014 44224#
..0015 44256# SEQ 1236
..0016 44288#
..0017 44344#
..0020 44386#
..0021 44428#
..0022 44470#
..0023 44512#
..0024 44554#
..0025 44596#
..0026 44640#
..0027 44751#
..0030 44862#
..0031 44973#
..0032 45084#
..0033 45195#
..0034 45306#
..0035 45417#
..0036 45528#
..0037 45639#
..0040 45769#
..0041 45800#
..0042 45831#
..0043 45862#
..0044 45893#
..0045 45924#
..0046 45955#
..0047 46000#
..0050 46021#
..0051 46042#
..0052 46063#
..0053 46084#
..0054 46106#
..0055 46127#
..0056 46159#
..0057 46177#
..0060 46195#
..0061 46213#
..0062 46231#
..0063 46249#
..0064 46267#
..0065 46294#
..0066 46301#
..0067 46311#
..0070 46318#
..0071 46328#
..0072 46335#
..0073 46345#
..0074 46352#
..0075 46362#
..0076 46369#
..0077 46379#
..0100 46386#
..0101 46396#
..0102 46403# SEQ 1237
..0103 46429#
..0104 46466#
..0105 46503#
..0106 46540#
..0107 46577#
..0110 46614#
..0111 46651#
..0112 46688#
..0113 46725#
..0114 46762#
..0115 46799#
..0116 46836#
..0117 46873#
..0120 46910#
..0121 46947#
..0122 46984#
..0123 47021#
..0124 47058#
..0125 47095#
..0126 47132#
..0127 47169#
..0130 47221 47234#
..0131 47253 47266#
..0132 47289 47302#
..0133 47321 47334#
..0134 47357 47370#
..0135 47389 47402#
..0136 47425 47438#
..0137 47457 47470#
..0140 47493 47506#
..0141 47525 47538#
..0142 47561 47574#
..0143 47593 47606#
..0144 47629 47642#
..0145 47661 47674#
..0146 47706#
..0147 47742#
..0150 47778#
..0151 47814#
..0152 47850#
..0153 47886#
..0154 47922#
..0155 48565 48574# 48581
..0156 48605 48614# 48621
..0157 48645 48654# 48661
..0160 48685 48694# 48701
..0161 48725 48734# 48741
..0162 48765 48774# 48781
..0163 48805 48814# 48821
..0164 48858#
..0165 48899#
..0166 48940#
..0167 48981# SEQ 1238
..0170 49022#
..0171 49063#
..0172 49104#
..0173 49145#
..0174 49186#
..0175 49227#
..0176 49268#
..0177 49309#
..0200 49350#
..0201 49391#
..0202 49432#
..0203 49473#
..0204 49514#
..0205 49555#
..0206 49596#
..0207 49637#
..0210 49678#
..0211 49719#
..0212 49760#
..0213 49801#
..0214 49842#
..0215 49883#
..0216 49924#
..0217 49965#
..0220 50006#
..0221 50047#
..0222 50088#
..0223 50134#
..0224 50137#
..0225 50141#
..0226 50163#
..0227 50166#
..0230 50170#
..0231 50192#
..0232 50195#
..0233 50199#
..0234 50221#
..0235 50224#
..0236 50228#
..0237 50250#
..0240 50253#
..0241 50257#
..0242 50279#
..0243 50282#
..0244 50286#
..0245 50308#
..0246 50311#
..0247 50315#
..0250 50337#
..0251 50340#
..0252 50344#
..0253 50366#
..0254 50369# SEQ 1239
..0255 50373#
..0256 50395#
..0257 50398#
..0260 50402#
..0261 50424#
..0262 50427#
..0263 50431#
..0264 50453#
..0265 50456#
..0266 50460#
..0267 50482#
..0270 50485#
..0271 50489#
..0272 50511#
..0273 50514#
..0274 50518#
..0275 50540#
..0276 50543#
..0277 50547#
..0300 50569#
..0301 50572#
..0302 50576#
..0303 50598#
..0304 50601#
..0305 50605#
..0306 50627#
..0307 50630#
..0310 50634#
..0311 50656#
..0312 50659#
..0313 50663#
..0314 50684#
..0315 50687#
..0316 50691#
..0317 50712#
..0320 50715#
..0321 50719#
..0322 50740#
..0323 50743#
..0324 50747#
..0325 50824 50830#
..0326 50826 50828#
..0327 50856 50862#
..0330 50858 50860#
..0331 50888 50894#
..0332 50890 50892#
..0333 50920 50926#
..0334 50922 50924#
..0335 50952 50958#
..0336 50954 50956#
..0337 50984 50990#
..0340 50986 50988#
..0341 51016 51022# SEQ 1240
..0342 51018 51020#
..0343 51048 51054#
..0344 51050 51052#
.JB41 365#
.JBAPR 365#
.JBCNI 365#
.JBDDT 365#
.JBFF 365#
.JBOPC 365#
.JBREL 365#
.JBREN 365#
.JBSA 365#
.JBSYM 365#
.JBTPC 365#
.JBUSY 365#
.JBUUO 365#
.JBVER 365#
BLURB 42941# 43746 43862 44069 44310 44619 45743 47953
BLURB1 42947# 44330 44372 44414 44456 44498 44540 44582 SEQ 1241
CFLUSH 282#
CINVAL 281#
CLOKOP 276#
CLRAPR 42936# 43480 43488 43496 43503 43510 43517 43524 43882 43910 43938 43966 43994 44022
44050 44097 44129 44161 44193 44225 44257 44289 44345 44387 44429 44471 44513 44555
44597 44641 44661 44683 44705 44726 44752 44772 44794 44816 44837 44863 44883 44905
44927 44948 44974 44994 45016 45038 45059 45085 45105 45127 45149 45170 45196 45216
45238 45260 45281 45307 45327 45349 45371 45392 45418 45438 45460 45482 45503 45529
45549 45571 45593 45614 45640 45660 45682 45704 45725 45770 45801 45832 45863 45894
45925 45956 45987 46005 46026 46047 46068 46089 46111 46142 46147 46165 46183 46201
46219 46237 46255 46274 46286 46409 46434 46471 46508 46545 46582 46619 46656 46693
46730 46767 46804 46841 46878 46915 46952 46989 47026 47063 47100 47137 47174 47195
47216 47235 47248 47267 47284 47303 47316 47335 47352 47371 47384 47403 47420 47439
47452 47471 47488 47507 47520 47539 47556 47575 47588 47607 47624 47643 47656 47675
47726 47762 47798 47834 47870 47906 47942 47960 48003 48025 48047 48069 48091 48113
48135 48155 48166 48193 48213 48233 48253 48273 48293 48313 48333 48353 48373 48393
48413 48433 48453 48473 48493 48513 48533 48568 48588 48608 48628 48648 48668 48688
48708 48728 48748 48768 48788 48808 48828 50764 50780 50796 51080 51131 51157
CLRBT1 43149# 46285 48567 48607 48647 48687 48727 48767 48807
CLRBTH 43145# 43881 43909 43937 43965 43993 44021 44049 44096 44128 44160 44192 44224 44256
44288 44344 44386 44428 44470 44512 44554 44596 44640 44660 44682 44704 44725 44751
44771 44793 44815 44836 44862 44882 44904 44926 44947 44973 44993 45015 45037 45058
45084 45104 45126 45148 45169 45195 45215 45237 45259 45280 45306 45326 45348 45370
45391 45417 45437 45459 45481 45502 45528 45548 45570 45592 45613 45639 45659 45681
45703 45724 45769 45800 45831 45862 45893 45924 45955 46141 46408 46433 46470 46507
46544 46581 46618 46655 46692 46729 46766 46803 46840 46877 46914 46951 46988 47025
47062 47099 47136 47173 47194 47215 47234 47247 47266 47283 47302 47315 47334 47351
47370 47383 47402 47419 47438 47451 47470 47487 47506 47519 47538 47555 47574 47587
47606 47623 47642 47655 47674 47725 47761 47797 47833 47869 47905 47941 47959 48002
48024 48046 48068 48090 48112 48134 48154 48165 48192 48212 48232 48252 48272 48292
48312 48332 48352 48372 48392 48412 48432 48452 48472 48492 48512 48532 48587 48627
48667 48707 48747 48787 48827 50763 50779 50795 51079 51130 51156
CLRPI 42937# 43883 43911 43939 43967 43995 44023 44051 44098 44130 44162 44194 44226 44258
44290 44346 44388 44430 44472 44514 44556 44598 44642 44662 44684 44706 44727 44753
44773 44795 44817 44838 44864 44884 44906 44928 44949 44975 44995 45017 45039 45060
45086 45106 45128 45150 45171 45197 45217 45239 45261 45282 45308 45328 45350 45372
45393 45419 45439 45461 45483 45504 45530 45550 45572 45594 45615 45641 45661 45683
45705 45726 45771 45802 45833 45864 45895 45926 45957 45986 46004 46025 46046 46067
46088 46110 46143 46146 46164 46182 46200 46218 46236 46254 46273 46287 46410 46435
46472 46509 46546 46583 46620 46657 46694 46731 46768 46805 46842 46879 46916 46953
46990 47027 47064 47101 47138 47175 47196 47217 47236 47249 47268 47285 47304 47317
47336 47353 47372 47385 47404 47421 47440 47453 47472 47489 47508 47521 47540 47557
47576 47589 47608 47625 47644 47657 47676 47727 47763 47799 47835 47871 47907 47943
47961 48004 48026 48048 48070 48092 48114 48136 48156 48167 48194 48214 48234 48254
48274 48294 48314 48334 48354 48374 48394 48414 48434 48454 48474 48494 48514 48534
48569 48589 48609 48629 48649 48669 48689 48709 48729 48749 48769 48789 48809 48829
50765 50781 50797 51081 51132 51158
CLRTRP 42933# 46272
CWRTBI 283#
DROPDV 243#
ENDUUO 289# 447
EOPUUO 290# 449
ERLOOP 334# SEQ 1242
ERLP1 335#
ERLP2 336#
ERRHLT 178#
ERROR 343#
ERROR1 355#
ERUUO 333#
EXECUT 43091#
EXIT 817
FATAL 177#
FMUUO 43228# 50811 50843 50875 50907 50939 50971 51003 51035
FRD36 318#
FRD8 319#
FREAD 317#
FSELEC 316#
GET 161#
GO 158#
HALT 163# 468 745 747 748 752 766 857 904 920 931 941 948 960
973 987 1004 1019 1038 1052 1066 1080 1094 1108 1121 1135 1150 1164
1177 1191 1205 1218 1232 1246 1259 1273 1287 1324 1343 1362 1381 1400
1419 1438 1457 1476 1495 1514 1533 1552 1571 1590 1609 1628 1647 1666
1685 1704 1723 1742 1761 1780 1799 1818 1837 1856 1875 1894 1913 1932
1951 1970 1989 2004 2022 2037 2053 2078 2096 2114 2127 2141 2166 2213
2219 2242 2248 2271 2277 2300 2306 2324 2343 2361 2379 2395 2411 2426
2443 2463 2500 2519 2538 2557 2576 2595 2614 2633 2652 2671 2690 2709
2728 2747 2766 2785 2804 2823 2860 2879 2898 2917 2936 2955 2974 2993
3012 3031 3050 3069 3088 3107 3126 3145 3164 3183 3200 3216 3236 3254
3275 3323 3329 3352 3358 3381 3387 3410 3416 3439 3445 3468 3474 3497
3503 3526 3532 3555 3561 3584 3590 3613 3619 3642 3648 3671 3677 3700
3706 3729 3735 3758 3764 3787 3793 3816 3822 3845 3851 3874 3880 3903
3909 3932 3938 3961 3967 3990 3996 4019 4025 4048 4054 4077 4083 4106
4112 4135 4141 4164 4170 4193 4199 4222 4228 4251 4257 4280 4286 4309
4315 4338 4344 4385 4406 4427 4448 4469 4490 4511 4532 4553 4574 4595
4616 4637 4658 4679 4700 4721 4742 4763 4784 4805 4826 4847 4868 4889
4910 4931 4952 4973 4994 5015 5036 5057 5078 5099 5120 5138 5155 5175
5193 5209 5248 5268 5288 5308 5328 5348 5368 5388 5408 5428 5448 5468
5488 5508 5528 5548 5568 5588 5608 5628 5648 5668 5688 5708 5728 5748
5768 5788 5808 5828 5848 5868 5888 5908 5928 5948 5993 6018 6043 6068
6093 6118 6143 6168 6193 6218 6243 6268 6293 6318 6343 6368 6393 6418
6443 6468 6493 6518 6543 6568 6593 6618 6643 6668 6693 6718 6743 6768
6793 6818 6843 6868 6915 6936 6957 6978 6999 7020 7041 7062 7083 7104
7125 7146 7167 7188 7209 7230 7251 7272 7293 7314 7335 7356 7377 7398
7419 7440 7461 7482 7503 7524 7545 7566 7587 7608 7629 7650 7665 7683
7726 7748 7770 7792 7814 7836 7858 7880 7902 7924 7946 7968 7990 8012
8034 8056 8078 8100 8144 8166 8188 8210 8232 8254 8276 8298 8320 8342
8364 8386 8408 8430 8452 8474 8496 8518 8538 8558 8605 8629 8653 8677
8701 8725 8749 8773 8797 8821 8845 8869 8893 8917 8941 8965 8989 9013
9037 9061 9085 9109 9133 9157 9181 9205 9229 9253 9277 9301 9325 9349
9373 9397 9421 9445 9466 9489 9510 9532 9549 9567 9624 9654 9684 9714
9744 9774 9804 9834 9864 9894 9924 9954 9984 10014 10044 10074 10104 10134
10164 10194 10224 10254 10284 10314 10344 10374 10404 10434 10464 10494 10524 10554
10584 10614 10644 10674 10695 10752 10778 10804 10830 10856 10882 10908 10934 10960
10986 11012 11038 11064 11090 11116 11142 11168 11194 11220 11246 11272 11298 11324
11350 11376 11402 11428 11454 11480 11506 11532 11558 11584 11610 11636 11662 11715 SEQ 1243
11740 11765 11790 11815 11840 11865 11890 11915 11940 11965 11990 12015 12040 12065
12090 12115 12140 12165 12190 12215 12240 12265 12290 12315 12340 12365 12390 12415
12440 12465 12490 12515 12540 12565 12618 12644 12670 12696 12722 12748 12774 12800
12826 12852 12878 12904 12930 12956 12982 13008 13034 13060 13114 13140 13166 13192
13218 13244 13270 13296 13322 13348 13374 13400 13426 13452 13478 13504 13530 13556
13575 13592 13609 13625 13642 13659 13675 13692 13709 13725 13740 13757 13775 13812
13830 13848 13866 13884 13902 13920 13938 13956 13974 13992 14010 14028 14046 14064
14082 14100 14118 14136 14154 14172 14190 14208 14226 14244 14262 14280 14298 14316
14334 14352 14370 14388 14406 14424 14442 14458 14472 14494 14512 14531 14553 14576
14599 14622 14636 14658 14673 14695 14710 14726 14746 14767 14792 14845 14872 14899
14926 14953 14980 15007 15034 15061 15088 15115 15142 15169 15196 15223 15250 15277
15304 15351 15373 15395 15417 15439 15461 15483 15505 15527 15549 15571 15593 15615
15637 15659 15681 15703 15725 15760 15778 15796 15814 15832 15850 15868 15886 15904
15922 15940 15958 15976 15994 16012 16030 16048 16066 16084 16102 16120 16138 16156
16174 16192 16210 16228 16246 16264 16282 16300 16318 16336 16354 16372 16390 16425
16443 16461 16479 16497 16515 16533 16551 16569 16587 16605 16623 16641 16659 16677
16695 16713 16731 16749 16767 16785 16803 16821 16839 16857 16875 16893 16911 16929
16947 16965 16983 17001 17019 17037 17055 17098 17118 17138 17158 17178 17198 17218
17238 17258 17278 17298 17318 17338 17358 17378 17398 17418 17438 17477 17497 17517
17537 17557 17577 17597 17617 17637 17657 17677 17697 17717 17737 17757 17777 17797
17817 17867 17892 17917 17942 17967 17992 18017 18042 18067 18092 18117 18142 18167
18192 18217 18242 18267 18292 18342 18367 18392 18417 18442 18467 18492 18517 18542
18567 18592 18617 18642 18667 18692 18717 18742 18767 18786 18810 18830 18848 18864
18879 18900 18920 18942 18956 18972 18994 19012 19036 19059 19080 19106 19134 19152
19168 19192 19208 19225 19246 19262 19285 19307 19324 19340 19357 19373 19397 19419
19435 19450 19466 19482 19509 19529 19545 19560 19576 19592 19620 19635 19651 19666
19682 19700 19722 19745 19759 19777 19797 19821 19837 19857 19880 19897 19915 19931
19957 19978 19996 20012 20035 20057 20081 20097 20115 20130 20154 20175 20192 20213
20227 20250 20265 20282 20307 20330 20351 20366 20390 20406 20425 20438 20451 20463
20479 20493 20509 20529 20550 20567 20601 20618 20636 20653 20671 20694 20712 20729
20748 20771 20792 20809 20825 20842 20857 20879 20901 20918 20934 20950 20971 20988
21004 21021 21037 21054 21070 21087 21102 21119 21134 21150 21171 21192 21207 21228
21248 21264 21279 21300 21315 21331 21346 21362 21377 21398 21413 21434 21455 21471
21486 21502 21517 21533 21548 21564 21579 21595 21610 21634 21649 21670 21685 21708
21729 21745 21761 21782 21803 21819 21835 21856 21872 21888 21903 21919 21934 21950
21965 21981 22005 22030 22047 22077 22092 22113 22133 22154 22174 22195 22215 22237
22258 22274 22289 22305 22320 22336 22351 22367 22383 22400 22416 22438 22460 22477
22493 22515 22538 22555 22571 22596 22611 22634 22656 22673 22688 22710 22731 22754
22770 22788 22805 22828 22847 22864 22879 22895 22912 22938 22990 23010 23030 23050
23070 23090 23110 23130 23150 23170 23190 23210 23230 23250 23270 23290 23310 23330
23369 23389 23409 23429 23449 23469 23489 23509 23529 23549 23569 23589 23609 23629
23649 23669 23689 23709 23750 23770 23790 23810 23830 23850 23870 23890 23910 23930
23950 23970 23990 24010 24030 24050 24070 24090 24129 24149 24169 24189 24209 24229
24249 24269 24289 24309 24329 24349 24369 24389 24409 24429 24449 24469 24514 24535
24556 24577 24598 24619 24640 24661 24682 24703 24724 24745 24766 24787 24808 24829
24850 24869 24909 24930 24951 24972 24993 25014 25035 25056 25077 25098 25119 25140
25161 25182 25203 25224 25245 25265 25309 25330 25351 25372 25393 25414 25435 25456
25477 25498 25519 25540 25561 25582 25603 25624 25645 25665 25705 25726 25747 25768
25789 25810 25831 25852 25873 25894 25915 25936 25957 25978 25999 26020 26041 26062
26086 26101 26115 26130 26206 26224 26242 26260 26278 26296 26314 26332 26350 26368
26386 26404 26422 26440 26458 26476 26570 26589 26608 26627 26646 26665 26684 26703
26722 26741 26760 26779 26798 26817 26836 26872 26890 26908 26926 26944 26962 26980
26998 27016 27034 27052 27070 27088 27106 27124 27165 27186 27207 27228 27249 27270 SEQ 1244
27291 27312 27333 27354 27375 27396 27417 27438 27459 27482 27529 27553 27577 27601
27625 27649 27673 27697 27721 27745 27769 27793 27817 27841 27865 27889 27913 27937
27984 28008 28032 28056 28080 28104 28128 28152 28176 28200 28224 28248 28272 28296
28320 28344 28368 28392 28411 28458 28482 28506 28530 28554 28578 28602 28626 28650
28674 28698 28722 28746 28770 28794 28818 28842 28866 28913 28937 28961 28985 29009
29033 29057 29081 29105 29129 29153 29177 29201 29225 29249 29273 29297 29321 29359
29373 29387 29401 29415 29429 29443 29457 29471 29485 29499 29513 29527 29541 29555
29591 29605 29619 29633 29647 29661 29675 29689 29703 29717 29731 29745 29759 29773
29787 29807 29823 29840 29846 29864 29870 29894 29919 29925 29942 29948 29961 29965
29983 30000 30018 30033 30049 30066 30083 30100 30118 30134 30149 30165 30182 30198
30215 30232 30249 30267 30286 30304 30319 30335 30355 30372 30392 30415 30438 30458
30477 30497 30515 30538 30560 30580 30601 30617 30634 30656 30677 30699 30720 30741
30753 30769 30787 30802 30816 30830 30843 30858 30873 30890 30896 30903 30910 30927
30943 30949 30956 30963 30980 30986 30993 31000 31018 31033 31047 31062 31078 31084
31091 31098 31115 31121 31128 31135 31158 31177 31201 31220 31244 31261 31276 31290
31303 31318 31333 31346 31361 31379 31394 31409 31423 31438 31486 31502 31508 31515
31522 31539 31545 31552 31559 31577 31592 31606 31621 31638 31644 31659 31674 31690
31704 31721 31737 31753 31767 31783 31797 31815 31835 31851 31868 31883 31894 31917
31937 31956 31977 31997 32014 32030 32094 32110 32125 32141 32156 32172 32188 32205
32230 32252 32274 32297 32319 32337 32342 32353 32358 32381 32400 32410 32415 32432
32446 32461 32471 32476 32489 32493 32505 32509 32527 32544 32562 32578 32596 32610
32624 32639 32657 32673 32689 32706 32734 32753 32773 32793 32812 32837 32843 32862
32868 32884 32890 32906 32923 32929 32948 32955 32976 32982 33001 33008 33029 33035
33050 33065 33081 33087 33106 33112 33130 33136 33154 33172 33178 33196 33203 33222
33228 33246 33253 33275 33292 33308 33324 33339 33356 33371 33387 33402 33419 33434
33450 33465 33482 33497 33514 33530 33546 33566 33582 33599 33616 33631 33647 33664
33678 33692 33707 33720 33734 33753 33759 33778 33784 33801 33807 33826 33832 33849
33855 33874 33880 33897 33903 33921 33927 33945 33951 33969 33975 33992 33998 34016
34022 34040 34046 34064 34070 34087 34093 34111 34117 34135 34141 34159 34165 34183
34189 34208 34214 34231 34237 34261 34267 34273 34295 34302 34308 34332 34338 34344
34365 34371 34377 34399 34405 34411 34431 34437 34443 34465 34471 34477 34497 34503
34509 34530 34536 34542 34563 34569 34575 34596 34602 34608 34628 34634 34640 34661
34667 34673 34694 34700 34706 34727 34733 34739 34759 34765 34771 34792 34798 34804
34825 34831 34837 34858 34864 34870 34891 34897 34903 34925 34931 34937 34957 34963
34969 34990 34996 35014 35020 35038 35044 35063 35069 35086 35092 35111 35117 35134
35140 35158 35164 35182 35188 35206 35212 35229 35235 35253 35259 35277 35283 35301
35307 35324 35330 35348 35354 35372 35378 35395 35401 35420 35426 35444 35450 35468
35474 35498 35504 35510 35532 35538 35544 35566 35573 35579 35604 35610 35616 35639
35645 35651 35671 35677 35683 35706 35712 35718 35738 35744 35750 35771 35777 35783
35804 35810 35816 35837 35843 35849 35868 35874 35880 35901 35907 35913 35934 35940
35946 35967 35973 35979 35999 36005 36011 36032 36038 36044 36065 36071 36077 36098
36104 36110 36131 36137 36143 36165 36171 36177 36197 36203 36209 36228 36234 36250
36256 36270 36276 36291 36297 36311 36317 36333 36350 36356 36375 36382 36401 36407
36425 36432 36450 36469 36475 36492 36498 36513 36528 36534 36550 36556 36572 36589
36595 36612 36618 36635 36641 36655 36671 36677 36692 36710 36716 36731 36749 36755
36772 36778 36795 36812 36818 36836 36842 36858 36875 36881 36898 36904 36921 36938
36944 36962 36968 36984 37002 37008 37025 37031 37048 37065 37071 37089 37095 37111
37129 37135 37152 37158 37174 37191 37197 37214 37220 37238 37256 37262 37279 37285
37305 37311 37330 37336 37353 37359 37377 37383 37404 37410 37426 37432 37452 37458
37477 37483 37500 37506 37521 37527 37542 37558 37564 37585 37591 37610 37616 37633
37639 37658 37664 37684 37690 37706 37712 37732 37738 37757 37763 37780 37786 37805
37811 37832 37838 37856 37862 37882 37888 37902 37919 37925 37942 37949 37970 37976
37996 38002 38022 38029 38047 38053 38073 38079 38098 38104 38120 38126 38140 38157 SEQ 1245
38163 38182 38188 38208 38214 38233 38239 38259 38265 38284 38290 38310 38316 38335
38341 38358 38364 38379 38385 38402 38408 38422 38428 38443 38449 38463 38469 38484
38490 38504 38510 38526 38532 38546 38552 38568 38574 38591 38597 38603 38622 38628
38634 38650 38656 38662 38679 38685 38702 38708 38714 38733 38739 38745 38761 38767
38784 38790 38806 38812 38829 38835 38852 38858 38877 38883 38900 38906 38925 38931
38947 38953 38970 38976 38992 38998 39015 39021 39038 39044 39063 39069 39086 39092
39111 39117 39135 39141 39147 39166 39172 39178 39197 39203 39209 39230 39236 39242
39261 39267 39273 39294 39300 39306 39324 39330 39336 39342 39360 39366 39372 39389
39395 39401 39419 39425 39431 39450 39456 39462 39483 39489 39495 39514 39520 39526
39547 39553 39559 39575 39581 39598 39604 39620 39626 39643 39649 39666 39672 39691
39697 39714 39720 39739 39745 39761 39767 39784 39790 39806 39812 39829 39835 39852
39858 39877 39883 39900 39906 39925 39931 39949 39955 39961 39980 39986 39992 40011
40017 40023 40044 40050 40056 40075 40081 40102 40108 40114 40131 40137 40143 40161
40167 40173 40190 40196 40202 40220 40226 40232 40251 40257 40263 40284 40290 40296
40315 40321 40327 40348 40354 40360 40376 40382 40399 40405 40421 40427 40444 40450
40467 40473 40492 40498 40515 40521 40540 40546 40562 40568 40585 40591 40607 40613
40630 40636 40653 40659 40678 40684 40701 40707 40726 40732 40751 40757 40763 40784
40790 40796 40815 40821 40827 40849 40855 40861 40878 40884 40890 40908 40914 40920
40937 40943 40949 40967 40973 40979 40998 41004 41010 41031 41037 41043 41062 41068
41074 41095 41101 41107 41124 41140 41154 41170 41185 41202 41218 41237 41252 41273
41295 41314 41330 41344 41348 41363 41382 41395 41398 41409 41413 41434 41449 41467
41483 41498 41514 41531 41549 41566 41584 41590 41606 41622 41641 41657 41673 41690
41706 41719 41730 41731 41733 41746 41747 41751 41768 41785 41801 41808 41821 41828
41840 41841 41844 41859 41879 41895 41913 41926 41927 41929 41933 41953 41959 41976
41982 41999 42005 42023 42029 42046 42052 42070 42076 42092 42098 42115 42121 42138
42144 42162 42168 42185 42191 42209 42215 42230 42236 42253 42259 42275 42281 42298
42304 42320 42326 42343 42349 42364 42370 42387 42393 42409 42415 42432 42438 42454
42460 42477 42483 42500 42506 42524 42530 42547 42553 42571 42577 42594 42600 42618
42624 42641 42647 42665 42671 42688 42694 42712 42718 42735 42741 42759 42765 42782
42788 42806 42812 42829 42835 42853 42859 42876 42882 42900 42906 43290 43297 43304
43311 43318 43324 43334 43342 43352 43359 43370 43378 43391 43398 43411 43421 43429
43440 43450 43461 43469 43477 43485 43493 43501 43508 43515 43522 43531 43538 43546
43554 43561 43569 43584 43591 43602 43610 43620 43628 43639 43646 43658 43666 43680
43686 43694 43707 43713 43723 43731 43739 43760 43768 43775 43783 43789 43797 43804
43812 43819 43827 43834 43842 43849 43857 43890 43896 43918 43924 43946 43952 43974
43980 44002 44008 44030 44036 44058 44064 44105 44111 44137 44143 44169 44175 44201
44207 44233 44239 44265 44271 44297 44303 44355 44361 44397 44403 44439 44445 44481
44487 44523 44529 44565 44571 44607 44613 44646 44653 44668 44675 44690 44697 44711
44718 44733 44739 44757 44764 44779 44786 44801 44808 44822 44829 44844 44850 44868
44875 44890 44897 44912 44919 44933 44940 44955 44961 44979 44986 45001 45008 45023
45030 45044 45051 45066 45072 45090 45097 45112 45119 45134 45141 45155 45162 45177
45183 45201 45208 45223 45230 45245 45252 45266 45273 45288 45294 45312 45319 45334
45341 45356 45363 45377 45384 45399 45405 45423 45430 45445 45452 45467 45474 45488
45495 45510 45516 45534 45541 45556 45563 45578 45585 45599 45606 45621 45627 45645
45652 45667 45674 45689 45696 45710 45717 45732 45738 45779 45785 45810 45816 45841
45847 45872 45878 45903 45909 45934 45940 45965 45971 46452 46489 46526 46563 46600
46637 46674 46711 46748 46785 46822 46859 46896 46933 46970 47007 47044 47081 47118
47155 47192 47232 47239 47264 47271 47300 47307 47332 47339 47368 47375 47400 47407
47436 47443 47468 47475 47504 47511 47536 47543 47572 47579 47604 47611 47640 47647
47672 47679 47717 47723 47753 47759 47789 47795 47825 47831 47861 47867 47897 47903
47933 47939 47972 48015 48037 48059 48081 48103 48125 48147 48161 48172 48201 48206
48221 48226 48241 48246 48261 48266 48281 48286 48301 48306 48321 48326 48341 48346
48361 48366 48381 48386 48401 48406 48421 48426 48441 48446 48461 48466 48481 48486 SEQ 1246
48501 48506 48521 48526 48541 48546 48573 48578 48583 48613 48618 48623 48653 48658
48663 48693 48698 48703 48733 48738 48743 48773 48778 48783 48813 48818 48823 48861
48865 48871 48877 48902 48906 48912 48918 48943 48947 48953 48959 48984 48988 48994
49000 49025 49029 49035 49041 49066 49070 49076 49082 49107 49111 49117 49123 49148
49152 49158 49164 49189 49193 49199 49205 49230 49234 49240 49246 49271 49275 49281
49287 49312 49316 49322 49328 49353 49357 49363 49369 49394 49398 49404 49410 49435
49439 49445 49451 49476 49480 49486 49492 49517 49521 49527 49533 49558 49562 49568
49574 49599 49603 49609 49615 49640 49644 49650 49656 49681 49685 49691 49697 49722
49726 49732 49738 49763 49767 49773 49779 49804 49808 49814 49820 49845 49849 49855
49861 49886 49890 49896 49902 49927 49931 49937 49943 49968 49972 49978 49984 50009
50013 50019 50025 50050 50054 50060 50066 50091 50095 50101 50107 50137 50142 50148
50166 50171 50177 50195 50200 50206 50224 50229 50235 50253 50258 50264 50282 50287
50293 50311 50316 50322 50340 50345 50351 50369 50374 50380 50398 50403 50409 50427
50432 50438 50456 50461 50467 50485 50490 50496 50514 50519 50525 50543 50548 50554
50572 50577 50583 50601 50606 50612 50630 50635 50641 50659 50664 50670 50687 50692
50698 50715 50720 50726 50743 50748 50754 50770 50774 50786 50790 50802 50806 50828
50833 50839 50860 50865 50871 50892 50897 50903 50924 50929 50935 50956 50961 50967
50988 50993 50999 51020 51025 51031 51052 51057 51063 51097 51098 51099 51100 51105
51109 51114 51121 51140 51146 51165 51171 51241 51246 51251 51253 51255 51257 51259
51261 51263 51265 51272 51273 51274 51275 51276 51277 51278 51279 51280 51282 51284
51285
HALTPI 42932# 43753 44630 45985 46010 46031 46052 46073 46095 46116 46145 46163 46181 46199
46217 46235 46253 46271 46288 46305 46322 46339 46356 46373 46390 46407 46436 46473
46510 46547 46584 46621 46658 46695 46732 46769 46806 46843 46880 46917 46954 46991
47028 47065 47102 47139 47176 47218 47250 47286 47318 47354 47386 47422 47454 47490
47522 47558 47590 47626 47658
INDPI 43250# 48552 48592 48632 48672 48712 48752 48792
JEN 165# 47714 47750 47786 47822 47858 47894 47930 48586 48626 48666 48706 48746 48786
48826
JRSTF 164# 43701 46002 46023 46044 46065 46086 46108 46129 46161 46179 46197 46215 46233
46251 46269 46303 46320 46337 46354 46371 46388 46405 46431 46468 46505 46542 46579
46616 46653 46690 46727 46764 46801 46838 46875 46912 46949 46986 47023 47060 47097
47134 47171 51135 51161 51245
MAPADR 299#
MAPCNK 300#
MAPMEM 296#
MAPPNT 302#
MAPSET 301#
MEMSEG 298#
MEMZRO 297#
MODPCP 309#
MODPCU 308#
MTROP 277#
NAME 9# 12
PBELL 252#
PCRL 246#
PCRL2 250#
PCRL2F 251#
PCRLF 247#
PFORCE 254#
PGMINT 171#
PIDIS 43036# 47698 47734 47770 47806 47842 47878 47914
PIHCLR 43006# 45761 45792 45823 45854 45885 45916 45947 SEQ 1247
PINO 42979# 43872 43900 43928 43956 43984 44012 44040
PIONOF 43019# 44325 44367 44409 44451 44493 44535 44577
PITEST 43053# 44632 44743 44854 44965 45076 45187 45298 45409 45520 45631
PIYES 42992# 44086 44118 44150 44182 44214 44246 44278
PJRST 162#
PMSG 256#
PMSGF 259#
PNT1 212#
PNT11 226#
PNT11F 227#
PNT1F 213#
PNT2 214#
PNT2F 215#
PNT3 216#
PNT3F 217#
PNT4 218#
PNT4F 219#
PNT5 220#
PNT5F 221#
PNT6 222#
PNT6F 223#
PNT7 224#
PNT7F 225#
PNTA 198#
PNTADF 229#
PNTADR 228#
PNTAF 199#
PNTAL 200#
PNTALF 201#
PNTCHF 211#
PNTCHR 210#
PNTCI 208#
PNTCIF 209#
PNTCW 244#
PNTCWF 245#
PNTDCF 237#
PNTDEC 236#
PNTDS 238#
PNTDSF 239#
PNTHW 232#
PNTHWF 233#
PNTMGN 323#
PNTMSF 205#
PNTMSG 204#
PNTNM 240#
PNTOCF 235#
PNTOCS 234#
PNTOCT 230#
PNTOTF 231#
PNTSIX 241#
PNTSXF 242#
PSIXL 202#
PSIXLF 203# SEQ 1248
PSIXM 206#
PSIXMF 207#
PSKPA 43184# 47210 47278 47346 47414 47482 47550 47618
PSKPB 43206# 47242 47310 47378 47446 47514 47582 47650
PSP 248#
PSPF 249#
PUT 160#
REPTUO 337#
RTN 159# 455
S 89# 91 95 124 126 135 138 153 154 156 167 169 173 175
180 184 329 331 365 370 376 403 405 423 425 443 445 474
476 494 496 514 516 524 526 547 552 578 580 587 589 595
597 603 605 609 611 616 618 622 624 628 630 636 638 641
643 647 649 653 655 659 661 665 667 672 677 681 683
SBWAIT 43161# 46293 46310 46327 46344 46361 46378 46395
SFLAG 61# 30385 30407 30430 30451 30470 30490 30507 30528 30550 30648 30669 30691 30712
30733 31149 31169 31188 31193 31212 31231 31236 32220 32242 32263 32287 32308 32331
32721 32726 32745 32763 32784 32804 41265 41284 41304 41373 41424
SIXBTZ 265#
STOP 53# 959 972 986 1003 1018 1037 1051 1065 1079 1093 1107 1120 1134
1149 1163 1176 1190 1204 1217 1231 1245 1258 1272 1286 1323 1342 1361
1380 1399 1418 1437 1456 1475 1494 1513 1532 1551 1570 1589 1608 1627
1646 1665 1684 1703 1722 1741 1760 1779 1798 1817 1836 1855 1874 1893
1912 1931 1950 1969 1988 2003 2021 2036 2052 2077 2095 2113 2126 2140
2165 2212 2218 2241 2247 2270 2276 2299 2305 2323 2342 2360 2378 2394
2410 2425 2442 2462 2499 2518 2537 2556 2575 2594 2613 2632 2651 2670
2689 2708 2727 2746 2765 2784 2803 2822 2859 2878 2897 2916 2935 2954
2973 2992 3011 3030 3049 3068 3087 3106 3125 3144 3163 3182 3199 3215
3235 3253 3274 3322 3328 3351 3357 3380 3386 3409 3415 3438 3444 3467
3473 3496 3502 3525 3531 3554 3560 3583 3589 3612 3618 3641 3647 3670
3676 3699 3705 3728 3734 3757 3763 3786 3792 3815 3821 3844 3850 3873
3879 3902 3908 3931 3937 3960 3966 3989 3995 4018 4024 4047 4053 4076
4082 4105 4111 4134 4140 4163 4169 4192 4198 4221 4227 4250 4256 4279
4285 4308 4314 4337 4343 4384 4405 4426 4447 4468 4489 4510 4531 4552
4573 4594 4615 4636 4657 4678 4699 4720 4741 4762 4783 4804 4825 4846
4867 4888 4909 4930 4951 4972 4993 5014 5035 5056 5077 5098 5119 5137
5154 5174 5192 5208 5247 5267 5287 5307 5327 5347 5367 5387 5407 5427
5447 5467 5487 5507 5527 5547 5567 5587 5607 5627 5647 5667 5687 5707
5727 5747 5767 5787 5807 5827 5847 5867 5887 5907 5927 5947 5992 6017
6042 6067 6092 6117 6142 6167 6192 6217 6242 6267 6292 6317 6342 6367
6392 6417 6442 6467 6492 6517 6542 6567 6592 6617 6642 6667 6692 6717
6742 6767 6792 6817 6842 6867 6914 6935 6956 6977 6998 7019 7040 7061
7082 7103 7124 7145 7166 7187 7208 7229 7250 7271 7292 7313 7334 7355
7376 7397 7418 7439 7460 7481 7502 7523 7544 7565 7586 7607 7628 7649
7664 7682 7725 7747 7769 7791 7813 7835 7857 7879 7901 7923 7945 7967
7989 8011 8033 8055 8077 8099 8143 8165 8187 8209 8231 8253 8275 8297
8319 8341 8363 8385 8407 8429 8451 8473 8495 8517 8537 8557 8604 8628
8652 8676 8700 8724 8748 8772 8796 8820 8844 8868 8892 8916 8940 8964
8988 9012 9036 9060 9084 9108 9132 9156 9180 9204 9228 9252 9276 9300
9324 9348 9372 9396 9420 9444 9465 9488 9509 9531 9548 9566 9623 9653
9683 9713 9743 9773 9803 9833 9863 9893 9923 9953 9983 10013 10043 10073
10103 10133 10163 10193 10223 10253 10283 10313 10343 10373 10403 10433 10463 10493
10523 10553 10583 10613 10643 10673 10694 10751 10777 10803 10829 10855 10881 10907 SEQ 1249
10933 10959 10985 11011 11037 11063 11089 11115 11141 11167 11193 11219 11245 11271
11297 11323 11349 11375 11401 11427 11453 11479 11505 11531 11557 11583 11609 11635
11661 11714 11739 11764 11789 11814 11839 11864 11889 11914 11939 11964 11989 12014
12039 12064 12089 12114 12139 12164 12189 12214 12239 12264 12289 12314 12339 12364
12389 12414 12439 12464 12489 12514 12539 12564 12617 12643 12669 12695 12721 12747
12773 12799 12825 12851 12877 12903 12929 12955 12981 13007 13033 13059 13113 13139
13165 13191 13217 13243 13269 13295 13321 13347 13373 13399 13425 13451 13477 13503
13529 13555 13574 13591 13608 13624 13641 13658 13674 13691 13708 13724 13739 13756
13774 13811 13829 13847 13865 13883 13901 13919 13937 13955 13973 13991 14009 14027
14045 14063 14081 14099 14117 14135 14153 14171 14189 14207 14225 14243 14261 14279
14297 14315 14333 14351 14369 14387 14405 14423 14441 14457 14471 14493 14511 14530
14552 14575 14598 14621 14635 14657 14672 14694 14709 14725 14745 14766 14791 14844
14871 14898 14925 14952 14979 15006 15033 15060 15087 15114 15141 15168 15195 15222
15249 15276 15303 15350 15372 15394 15416 15438 15460 15482 15504 15526 15548 15570
15592 15614 15636 15658 15680 15702 15724 15759 15777 15795 15813 15831 15849 15867
15885 15903 15921 15939 15957 15975 15993 16011 16029 16047 16065 16083 16101 16119
16137 16155 16173 16191 16209 16227 16245 16263 16281 16299 16317 16335 16353 16371
16389 16424 16442 16460 16478 16496 16514 16532 16550 16568 16586 16604 16622 16640
16658 16676 16694 16712 16730 16748 16766 16784 16802 16820 16838 16856 16874 16892
16910 16928 16946 16964 16982 17000 17018 17036 17054 17097 17117 17137 17157 17177
17197 17217 17237 17257 17277 17297 17317 17337 17357 17377 17397 17417 17437 17476
17496 17516 17536 17556 17576 17596 17616 17636 17656 17676 17696 17716 17736 17756
17776 17796 17816 17866 17891 17916 17941 17966 17991 18016 18041 18066 18091 18116
18141 18166 18191 18216 18241 18266 18291 18341 18366 18391 18416 18441 18466 18491
18516 18541 18566 18591 18616 18641 18666 18691 18716 18741 18766 18785 18809 18829
18847 18863 18878 18899 18919 18941 18955 18971 18993 19011 19035 19058 19079 19105
19133 19151 19167 19191 19207 19224 19245 19261 19284 19306 19323 19339 19356 19372
19396 19418 19434 19449 19465 19481 19508 19528 19544 19559 19575 19591 19619 19634
19650 19665 19681 19699 19721 19744 19758 19776 19796 19820 19836 19856 19879 19896
19914 19930 19956 19977 19995 20011 20034 20056 20080 20096 20114 20129 20153 20174
20191 20212 20226 20249 20264 20281 20306 20329 20350 20365 20389 20405 20424 20437
20450 20462 20478 20492 20508 20528 20549 20566 20600 20617 20635 20652 20670 20693
20711 20728 20747 20770 20791 20808 20824 20841 20856 20878 20900 20917 20933 20949
20970 20987 21003 21020 21036 21053 21069 21086 21101 21118 21133 21149 21170 21191
21206 21227 21247 21263 21278 21299 21314 21330 21345 21361 21376 21397 21412 21433
21454 21470 21485 21501 21516 21532 21547 21563 21578 21594 21609 21633 21648 21669
21684 21707 21728 21744 21760 21781 21802 21818 21834 21855 21871 21887 21902 21918
21933 21949 21964 21980 22004 22029 22046 22076 22091 22112 22132 22153 22173 22194
22214 22236 22257 22273 22288 22304 22319 22335 22350 22366 22382 22399 22415 22437
22459 22476 22492 22514 22537 22554 22570 22595 22610 22633 22655 22672 22687 22709
22729 22752 22768 22787 22804 22827 22846 22863 22878 22894 22911 22937 22989 23009
23029 23049 23069 23089 23109 23129 23149 23169 23189 23209 23229 23249 23269 23289
23309 23329 23368 23388 23408 23428 23448 23468 23488 23508 23528 23548 23568 23588
23608 23628 23648 23668 23688 23708 23749 23769 23789 23809 23829 23849 23869 23889
23909 23929 23949 23969 23989 24009 24029 24049 24069 24089 24128 24148 24168 24188
24208 24228 24248 24268 24288 24308 24328 24348 24368 24388 24408 24428 24448 24468
24513 24534 24555 24576 24597 24618 24639 24660 24681 24702 24723 24744 24765 24786
24807 24828 24849 24868 24908 24929 24950 24971 24992 25013 25034 25055 25076 25097
25118 25139 25160 25181 25202 25223 25244 25264 25308 25329 25350 25371 25392 25413
25434 25455 25476 25497 25518 25539 25560 25581 25602 25623 25644 25664 25704 25725
25746 25767 25788 25809 25830 25851 25872 25893 25914 25935 25956 25977 25998 26019
26040 26061 26085 26100 26114 26129 26205 26223 26241 26259 26277 26295 26313 26331
26349 26367 26385 26403 26421 26439 26457 26475 26569 26588 26607 26626 26645 26664 SEQ 1250
26683 26702 26721 26740 26759 26778 26797 26816 26835 26871 26889 26907 26925 26943
26961 26979 26997 27015 27033 27051 27069 27087 27105 27123 27164 27185 27206 27227
27248 27269 27290 27311 27332 27353 27374 27395 27416 27437 27458 27481 27528 27552
27576 27600 27624 27648 27672 27696 27720 27744 27768 27792 27816 27840 27864 27888
27912 27936 27983 28007 28031 28055 28079 28103 28127 28151 28175 28199 28223 28247
28271 28295 28319 28343 28367 28391 28410 28457 28481 28505 28529 28553 28577 28601
28625 28649 28673 28697 28721 28745 28769 28793 28817 28841 28865 28912 28936 28960
28984 29008 29032 29056 29080 29104 29128 29152 29176 29200 29224 29248 29272 29296
29320 29358 29372 29386 29400 29414 29428 29442 29456 29470 29484 29498 29512 29526
29540 29554 29590 29604 29618 29632 29646 29660 29674 29688 29702 29716 29730 29744
29758 29772 29786 29806 29822 29839 29845 29863 29869 29893 29918 29924 29941 29947
29964 29982 29999 30017 30032 30048 30065 30082 30099 30117 30133 30148 30164 30181
30197 30214 30231 30248 30266 30285 30303 30318 30334 30354 30371 30391 30414 30437
30457 30476 30496 30514 30537 30559 30579 30599 30616 30633 30655 30676 30698 30719
30740 30752 30768 30786 30801 30815 30829 30842 30857 30872 30889 30895 30902 30909
30926 30942 30948 30955 30962 30979 30985 30992 30999 31017 31032 31046 31061 31077
31083 31090 31097 31114 31120 31127 31134 31157 31176 31200 31219 31243 31260 31275
31289 31302 31317 31332 31345 31360 31378 31393 31408 31422 31437 31485 31501 31507
31514 31521 31538 31544 31551 31558 31576 31591 31605 31620 31637 31643 31658 31673
31689 31703 31720 31736 31752 31766 31782 31796 31814 31834 31850 31867 31882 31893
31916 31936 31955 31976 31996 32013 32029 32093 32109 32124 32140 32155 32171 32187
32204 32229 32251 32273 32296 32318 32341 32357 32380 32399 32414 32431 32445 32460
32475 32492 32508 32526 32543 32561 32577 32595 32609 32623 32638 32656 32672 32688
32705 32733 32752 32772 32792 32811 32836 32842 32861 32867 32883 32889 32905 32922
32928 32947 32954 32975 32981 33000 33007 33028 33034 33049 33064 33080 33086 33105
33111 33129 33135 33153 33171 33177 33195 33202 33221 33227 33245 33252 33274 33291
33307 33323 33338 33355 33370 33386 33401 33418 33433 33449 33464 33481 33496 33513
33529 33545 33565 33581 33598 33615 33630 33646 33663 33677 33691 33706 33719 33733
33752 33758 33777 33783 33800 33806 33825 33831 33848 33854 33873 33879 33896 33902
33920 33926 33944 33950 33968 33974 33991 33997 34015 34021 34039 34045 34063 34069
34086 34092 34110 34116 34134 34140 34158 34164 34182 34188 34207 34213 34230 34236
34260 34266 34272 34294 34301 34307 34331 34337 34343 34364 34370 34376 34398 34404
34410 34430 34436 34442 34464 34470 34476 34496 34502 34508 34529 34535 34541 34562
34568 34574 34595 34601 34607 34627 34633 34639 34660 34666 34672 34693 34699 34705
34726 34732 34738 34758 34764 34770 34791 34797 34803 34824 34830 34836 34857 34863
34869 34890 34896 34902 34924 34930 34936 34956 34962 34968 34989 34995 35013 35019
35037 35043 35062 35068 35085 35091 35110 35116 35133 35139 35157 35163 35181 35187
35205 35211 35228 35234 35252 35258 35276 35282 35300 35306 35323 35329 35347 35353
35371 35377 35394 35400 35419 35425 35443 35449 35467 35473 35497 35503 35509 35531
35537 35543 35565 35572 35578 35603 35609 35615 35638 35644 35650 35670 35676 35682
35705 35711 35717 35737 35743 35749 35770 35776 35782 35803 35809 35815 35836 35842
35848 35867 35873 35879 35900 35906 35912 35933 35939 35945 35966 35972 35978 35998
36004 36010 36031 36037 36043 36064 36070 36076 36097 36103 36109 36130 36136 36142
36164 36170 36176 36196 36202 36208 36227 36233 36249 36255 36269 36275 36290 36296
36310 36316 36332 36349 36355 36374 36381 36400 36406 36424 36431 36449 36468 36474
36491 36497 36512 36527 36533 36549 36555 36571 36588 36594 36611 36617 36634 36640
36654 36670 36676 36691 36709 36715 36730 36748 36754 36771 36777 36794 36811 36817
36835 36841 36857 36874 36880 36897 36903 36920 36937 36943 36961 36967 36983 37001
37007 37024 37030 37047 37064 37070 37088 37094 37110 37128 37134 37151 37157 37173
37190 37196 37213 37219 37237 37255 37261 37278 37284 37304 37310 37329 37335 37352
37358 37376 37382 37403 37409 37425 37431 37451 37457 37476 37482 37499 37505 37520
37526 37541 37557 37563 37584 37590 37609 37615 37632 37638 37657 37663 37683 37689
37705 37711 37731 37737 37756 37762 37779 37785 37804 37810 37831 37837 37855 37861 SEQ 1251
37881 37887 37901 37918 37924 37941 37948 37969 37975 37995 38001 38021 38028 38046
38052 38072 38078 38097 38103 38119 38125 38139 38156 38162 38181 38187 38207 38213
38232 38238 38258 38264 38283 38289 38309 38315 38334 38340 38357 38363 38378 38384
38401 38407 38421 38427 38442 38448 38462 38468 38483 38489 38503 38509 38525 38531
38545 38551 38567 38573 38590 38596 38602 38621 38627 38633 38649 38655 38661 38678
38684 38701 38707 38713 38732 38738 38744 38760 38766 38783 38789 38805 38811 38828
38834 38851 38857 38876 38882 38899 38905 38924 38930 38946 38952 38969 38975 38991
38997 39014 39020 39037 39043 39062 39068 39085 39091 39110 39116 39134 39140 39146
39165 39171 39177 39196 39202 39208 39229 39235 39241 39260 39266 39272 39293 39299
39305 39323 39329 39335 39341 39359 39365 39371 39388 39394 39400 39418 39424 39430
39449 39455 39461 39482 39488 39494 39513 39519 39525 39546 39552 39558 39574 39580
39597 39603 39619 39625 39642 39648 39665 39671 39690 39696 39713 39719 39738 39744
39760 39766 39783 39789 39805 39811 39828 39834 39851 39857 39876 39882 39899 39905
39924 39930 39948 39954 39960 39979 39985 39991 40010 40016 40022 40043 40049 40055
40074 40080 40101 40107 40113 40130 40136 40142 40160 40166 40172 40189 40195 40201
40219 40225 40231 40250 40256 40262 40283 40289 40295 40314 40320 40326 40347 40353
40359 40375 40381 40398 40404 40420 40426 40443 40449 40466 40472 40491 40497 40514
40520 40539 40545 40561 40567 40584 40590 40606 40612 40629 40635 40652 40658 40677
40683 40700 40706 40725 40731 40750 40756 40762 40783 40789 40795 40814 40820 40826
40848 40854 40860 40877 40883 40889 40907 40913 40919 40936 40942 40948 40966 40972
40978 40997 41003 41009 41030 41036 41042 41061 41067 41073 41094 41100 41106 41123
41139 41153 41169 41184 41201 41217 41236 41251 41272 41294 41313 41329 41347 41362
41381 41397 41412 41433 41448 41466 41482 41497 41513 41530 41548 41565 41583 41589
41605 41621 41640 41656 41672 41689 41705 41718 41732 41750 41767 41784 41800 41807
41820 41827 41843 41858 41878 41893 41912 41932 41952 41958 41975 41981 41998 42004
42022 42028 42045 42051 42069 42075 42091 42097 42114 42120 42137 42143 42161 42167
42184 42190 42208 42214 42229 42235 42252 42258 42274 42280 42297 42303 42319 42325
42342 42348 42363 42369 42386 42392 42408 42414 42431 42437 42453 42459 42476 42482
42499 42505 42523 42529 42546 42552 42570 42576 42593 42599 42617 42623 42640 42646
42664 42670 42687 42693 42711 42717 42734 42740 42758 42764 42781 42787 42805 42811
42828 42834 42852 42858 42875 42881 42899 42905 43098# 43289 43296 43303 43310 43317
43323 43333 43351 43369 43390 43420 43439 43449 43460 43468 43476 43484 43492 43500
43507 43514 43521 43530 43537 43545 43553 43560 43568 43583 43601 43619 43638 43657
43665 43679 43685 43706 43722 43730 43738 43759 43767 43774 43782 43788 43796 43803
43811 43818 43826 43833 43841 43848 43856 43889 43917 43945 43973 44001 44029 44057
44104 44136 44168 44200 44232 44264 44296 44354 44396 44438 44480 44522 44564 44606
44645 44667 44689 44710 44732 44756 44778 44800 44821 44843 44867 44889 44911 44932
44954 44978 45000 45022 45043 45065 45089 45111 45133 45154 45176 45200 45222 45244
45265 45287 45311 45333 45355 45376 45398 45422 45444 45466 45487 45509 45533 45555
45577 45598 45620 45644 45666 45688 45709 45731 45778 45809 45840 45871 45902 45933
45964 47231 47238 47263 47270 47299 47306 47331 47338 47367 47374 47399 47406 47435
47442 47467 47474 47503 47510 47535 47542 47571 47578 47603 47610 47639 47646 47671
47678 47716 47752 47788 47824 47860 47896 47932 47971 48014 48036 48058 48080 48102
48124 48146 48160 48171 48200 48205 48220 48225 48240 48245 48260 48265 48280 48285
48300 48305 48320 48325 48340 48345 48360 48365 48380 48385 48400 48405 48420 48425
48440 48445 48460 48465 48480 48485 48500 48505 48520 48525 48540 48545 48582 48622
48662 48702 48742 48782 48822 50773 50789 50805 50832 50864 50896 50928 50960 50992
51024 51056 51108 51113 51139 51164
STOP1 43102# 48870 48911 48952 48993 49034 49075 49116 49157 49198 49239 49280 49321 49362
49403 49444 49485 49526 49567 49608 49649 49690 49731 49772 49813 49854 49895 49936
49977 50018 50059 50100 50141 50170 50199 50228 50257 50286 50315 50344 50373 50402
50431 50460 50489 50518 50547 50576 50605 50634 50663 50691 50719 50747
STOP2 42960# 43341 43358 43377 43397 43410 43428 43590 43609 43627 43645 43693 43712 43895 SEQ 1252
43923 43951 43979 44007 44035 44063 44110 44142 44174 44206 44238 44270 44302 44360
44402 44444 44486 44528 44570 44612 44652 44674 44696 44717 44738 44763 44785 44807
44828 44849 44874 44896 44918 44939 44960 44985 45007 45029 45050 45071 45096 45118
45140 45161 45182 45207 45229 45251 45272 45293 45318 45340 45362 45383 45404 45429
45451 45473 45494 45515 45540 45562 45584 45605 45626 45651 45673 45695 45716 45737
45784 45815 45846 45877 45908 45939 45970 46451 46488 46525 46562 46599 46636 46673
46710 46747 46784 46821 46858 46895 46932 46969 47006 47043 47080 47117 47154 47191
47722 47758 47794 47830 47866 47902 47938 48577 48617 48657 48697 48737 48777 48817
48876 48917 48958 48999 49040 49081 49122 49163 49204 49245 49286 49327 49368 49409
49450 49491 49532 49573 49614 49655 49696 49737 49778 49819 49860 49901 49942 49983
50024 50065 50106 50147 50176 50205 50234 50263 50292 50321 50350 50379 50408 50437
50466 50495 50524 50553 50582 50611 50640 50669 50697 50725 50753 50838 50870 50902
50934 50966 50998 51030 51062 51104 51120 51145 51170
STUCK 43157# 45994 46015 46036 46057 46078 46100 46121 46152 46170 46188 46206 46224 46242
46260 46295 46312 46329 46346 46363 46380 46397 46441 46478 46515 46552 46589 46626
46663 46700 46737 46774 46811 46848 46885 46922 46959 46996 47033 47070 47107 47144
47181
SWITCH 271#
TBOTH 42974# 43337 43354 43373 43393 43406 43424 43586 43605 43623 43641 43689 44648 44670
44692 44713 44759 44781 44803 44824 44870 44892 44914 44935 44981 45003 45025 45046
45092 45114 45136 45157 45203 45225 45247 45268 45314 45336 45358 45379 45425 45447
45469 45490 45536 45558 45580 45601 45647 45669 45691 45712 46447 46484 46521 46558
46595 46632 46669 46706 46743 46780 46817 46854 46891 46928 46965 47002 47039 47076
47113 47150
TGET 42969# 43338 43355 43374 43394 43407 43425 43587 43606 43624 43642 43690 43709 43892
43920 43948 43976 44004 44032 44060 44107 44139 44171 44203 44235 44267 44299 44357
44399 44441 44483 44525 44567 44609 44649 44671 44693 44714 44735 44760 44782 44804
44825 44846 44871 44893 44915 44936 44957 44982 45004 45026 45047 45068 45093 45115
45137 45158 45179 45204 45226 45248 45269 45290 45315 45337 45359 45380 45401 45426
45448 45470 45491 45512 45537 45559 45581 45602 45623 45648 45670 45692 45713 45734
45781 45812 45843 45874 45905 45936 45967 46448 46485 46522 46559 46596 46633 46670
46707 46744 46781 46818 46855 46892 46929 46966 47003 47040 47077 47114 47151 47188
47719 47755 47791 47827 47863 47899 47935 48574 48614 48654 48694 48734 48774 48814
48873 48914 48955 48996 49037 49078 49119 49160 49201 49242 49283 49324 49365 49406
49447 49488 49529 49570 49611 49652 49693 49734 49775 49816 49857 49898 49939 49980
50021 50062 50103 50144 50173 50202 50231 50260 50289 50318 50347 50376 50405 50434
50463 50492 50521 50550 50579 50608 50637 50666 50694 50722 50750 50835 50867 50899
50931 50963 50995 51027 51059 51101 51117 51142 51167
TRAP 43153# 46148 46166 46184 46202 46220 46238 46256 46289 46306 46323 46340 46357 46374
46391
TRPCHK 43164# 45999 46020 46041 46062 46083 46105 46126 46158 46176 46194 46212 46230 46248
46266 46300 46317 46334 46351 46368 46385 46402 46428 46465 46502 46539 46576 46613
46650 46687 46724 46761 46798 46835 46872 46909 46946 46983 47020 47057 47094 47131
47168
TRPPI 42931# 43868 44076 44317 45752 47962 48005 48027 48049 48071 48093 48115 48137
TSET 42964# 43327 43345 43362 43381 43401 43414 43432 43594 43613 43631 43649 43697 43877
43905 43933 43961 43989 44017 44045 44092 44124 44156 44188 44220 44252 44284 44340
44382 44424 44466 44508 44550 44592 44636 44656 44678 44700 44721 44747 44767 44789
44811 44832 44858 44878 44900 44922 44943 44969 44989 45011 45033 45054 45080 45100
45122 45144 45165 45191 45211 45233 45255 45276 45302 45322 45344 45366 45387 45413
45433 45455 45477 45498 45524 45544 45566 45588 45609 45635 45655 45677 45699 45720
45765 45796 45827 45858 45889 45920 45951 46418 46455 46492 46529 46566 46603 46640
46677 46714 46751 46788 46825 46862 46899 46936 46973 47010 47047 47084 47121 47158 SEQ 1253
47702 47738 47774 47810 47846 47882 47918 48559 48599 48639 48679 48719 48759 48799
48854 48895 48936 48977 49018 49059 49100 49141 49182 49223 49264 49305 49346 49387
49428 49469 49510 49551 49592 49633 49674 49715 49756 49797 49838 49879 49920 49961
50002 50043 50084 50130 50159 50188 50217 50246 50275 50304 50333 50362 50391 50420
50449 50478 50507 50536 50565 50594 50623 50652 50680 50708 50736 50819 50851 50883
50915 50947 50979 51011 51043 51071 51126 51152
TTALTM 193#
TTICHR 186#
TTICNV 191#
TTIDEC 190#
TTINO 188#
TTIOCT 189#
TTIYES 187#
TTLOOK 192#
TTSIXB 194#
TTYINP 195#
WATINT 42956# 43885 43913 43941 43969 43997 44025 44053 44100 44132 44164 44196 44228 44260
44292 44350 44392 44434 44476 44518 44560 44602 45773 45804 45835 45866 45897 45928
45959 45995 46016 46037 46058 46079 46101 46122 46153 46171 46189 46207 46225 46243
46261 46296 46313 46330 46347 46364 46381 46398 46442 46479 46516 46553 46590 46627
46664 46701 46738 46775 46812 46849 46886 46923 46960 46997 47034 47071 47108 47145
47182 47228 47260 47296 47328 47364 47396 47432 47464 47500 47532 47568 47600 47636
47668 47709 47745 47781 47817 47853 47889 47925 47967 48010 48032 48054 48076 48098
48120 48142
XCHN2 43169# 46422 46459 46496 46533 46570 46607 46644 46681 46718 46755 46792 46829 46866
46903 46940 46977 47014 47051 47088 47125 47162
XUUO 43106# 48848 48889 48930 48971 49012 49053 49094 49135 49176 49217 49258 49299 49340
49381 49422 49463 49504 49545 49586 49627 49668 49709 49750 49791 49832 49873 49914
49955 49996 50037 50078
XUUOA 43128# 50125 50154 50183 50212 50241 50270 50299 50328 50357 50386 50415 50444 50473